MOTR logo
    • Категории
    • Последние
    • Популярные
    • Метки
    • Пользователи
    • Группы
    • Зарегистрироваться
    • Войти

    Механика Охотника

    Запланировано Прикреплена Закрыта Перенесена Архивы Лагеря Лучников
    130 Сообщения 29 Posters 14.2k Просмотры
    Загружаем больше сообщений
    • Сначала старые
    • Сначала новые
    • По количеству голосов
    Ответить
    • Ответить, создав новую тему
    Авторизуйтесь, чтобы ответить
    Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
    • GrifG Не в сети
      Grif
      отредактировано

      unnamed01, Замечательный пределcode:1655a0j8^N = exp(NLn(1-p)) ~ exp(N(-p))[/code:1655a0j8] Экспонетну лучше считать, чем 0.9999^10000.

      1 ответ Последний ответ Ответить Цитировать 0
      • U Не в сети
        unnamed01
        отредактировано

        я же сказал, что при больших кол-вах лучше использовать распределения,
        кроме того не всегда "Р" стремиться к нулю...

        (я нуб, уже забыл как пределы считать, а про теорию вероятностей лучше и не спрашивать)

        1 ответ Последний ответ Ответить Цитировать 0
        • King of LamersK Не в сети
          King of Lamers
          отредактировано

          Cенькс это по научному, а по простому? 🙂 Типа, по закону джунглей...

          например вещь падаеет 1\4000 или вещь падает 1\1500, или вещь падает с шансом 0.01% как мне надо считать?

          Я не понял слово exp, означает что это надо брать в квадрате?

          Я просто запутался, например хочу узнать сколько надо завалить мобов чтобы выпала карточка, и считаю по формуле:
          1-exp(-pN)=1-exp(-0.000110 000)=1-exp(-1)=0

          Что я делаю не так? и зачем в формуле минус?

          1 ответ Последний ответ Ответить Цитировать 0
          • GrifG Не в сети
            Grif
            отредактировано

            exp - это экспонента, exp(x) значит e^x ("е" в степени "х"), e = 2.718281828459

            1-exp(0) = 0 = 0% 😃
            1-exp(-0.5) = 0.393 = 39.3%
            1-exp(-1) = 0.632 = 63.2%
            1-exp(-2) = 0.865 = 86.5%
            1-exp(-3) = 0.950 = 95.0%

            unnamed01, шанс выбить силк робу или карту, мал. Вопрос в том, сколько надо замочить тар, чтоб выбить карту ? 10 000 мобов - это всего 2/3 шанса получить долгожданную вешь. Я не спорю, ты абсолютно прав, что шанс (1-q^N), но это считать не удобно.

            P.S. блин, сейчас опять психом обзовут из-за формул.

            1 ответ Последний ответ Ответить Цитировать 0
            • U Не в сети
              unnamed01
              отредактировано

              Grif, ты знаешь что ты псих? 😃
              2/3 шанса получить одну единственную карту, а еще есть какой-то, отличный от нуля, шанс получить две или три карты или даже 10 000 карт)))
              К сожалению больше 10 000 карт из 10 000 мобов получить невозможно 😞

              1 ответ Последний ответ Ответить Цитировать 0
              • GrifG Не в сети
                Grif
                отредактировано

                unnamed01, в РО можно. С лутеров, съевших еще кучу карт.
                Нет, я себя психом не считаю. Просто на игровых форумах не принято заниматься математикой.

                1 ответ Последний ответ Ответить Цитировать 0
                • RampageR Не в сети
                  Rampage
                  отредактировано

                  2/3 полчить именно одну карту?) Или больше 0?
                  При 0,04 10к мобов... что б мне в аду гореть 1 карта) хотя б 3-4)

                  1 ответ Последний ответ Ответить Цитировать 0
                  • rilinorR Не в сети
                    rilinor
                    отредактировано

                    Пытаюсь понять как расставлены скобки в этой формуле:

                    функция: Damage = (([({(DEX + [DEX/10]^2 + [STR/5] + [LUK/5] + UpgradeBonus + ImpositioManus + ATKCards + (rnd(ATK/100min(ATK, dex(0.8+0.2WeaponLevel)), max(ATK, ATK/100min(ATK, dex*(0.8+0.2*WeaponLevel)) + rnd(0, ArrowATK - 1)) * SizeModifier) * SkillModifiers * (1 - DEF/100) - VitDEF + BaneSkill + Upgrades} + EnvenomSkill) * ElementalModifier * DamageBonusModifiers * DamageReductionModifiers] * NumberOfMultiHits) - KyrieEleisonEffect) / NumberOfMultiHits

                    Развернул формулу:
                    [code:2uk0rbnb]Damage =
                    (
                    (
                    [
                    (
                    {
                    (
                    DEX + [DEX/10]^2 + [STR/5] + [LUK/5] + UpgradeBonus + ImpositioManus + ATKCards +
                    (
                    rnd
                    (
                    ATK/100min
                    (
                    ATK, dex
                    (0.8+0.2WeaponLevel)
                    ), max
                    (
                    ATK, ATK/100
                    min
                    (
                    ATK, dex*(0.8+0.2*WeaponLevel)
                    ) + rnd(0, ArrowATK - 1)
                    ) * SizeModifier
                    ) * SkillModifiers * (1 - DEF/100) - VitDEF + BaneSkill + Upgrades
                    } + EnvenomSkill
                    ) * ElementalModifier * DamageBonusModifiers * DamageReductionModifiers
                    ] * NumberOfMultiHits
                    ) - KyrieEleisonEffect
                    )[/code:2uk0rbnb]

                    В результате двух закрывающихся скобок не хватает. Где ошибка?

                    1 ответ Последний ответ Ответить Цитировать 0
                    • rilinorR Не в сети
                      rilinor
                      отредактировано

                      имхо должно быть так:
                      [code:3rix679p]
                      Damage =
                      (
                      (
                      [
                      (
                      {
                      (
                      DEX + [DEX/10]^2 + [STR/5] + [LUK/5] + UpgradeBonus + ImpositioManus + ATKCards +
                      (
                      (
                      rnd
                      (
                      ATK/100min
                      (
                      ATK, Dex
                      (0.8+0.2WEAPON_LEVEL)
                      ), max
                      (
                      ATK, ATK/100
                      min
                      (
                      ATK, Dex*(0.8+0.2*WEAPON_LEVEL)
                      )
                      )
                      )
                      ) + rnd(0, ARROW_ATK - 1)
                      ) * SizeModifiers
                      ) * SkillModifiers * (1 - DEF/100) - VitDEF + BaneSkill + Upgrades
                      } + EnvenomSkill
                      ) * ElementalModifier * DamageBonusModifiers * $DamageReductionModifiers
                      ] * NumberOfMultiHits
                      ) - KyrieEleisonEffect
                      ) / NumberOfMultiHits
                      [/code:3rix679p]

                      Или в свернутом виде:
                      Damage = (([({(DEX + [DEX/10]^2 + [STR/5] + [LUK/5] + UpgradeBonus + ImpositioManus + ATKCards + ((rnd(ATK/100min(ATK, Dex(0.8+0.2WEAPON_LEVEL)), max(ATK, ATK/100min(ATK, Dex*(0.8+0.2*WEAPON_LEVEL))))) + rnd(0, ARROW_ATK - 1)) * SizeModifiers) * SkillModifiers * (1 - DEF/100) - VitDEF + BaneSkill + Upgrades} + EnvenomSkill) * ElementalModifier * DamageBonusModifiers * $DamageReductionModifiers] * NumberOfMultiHits) - KyrieEleisonEffect) / NumberOfMultiHits

                      1 ответ Последний ответ Ответить Цитировать 0
                      • GrifG Не в сети
                        Grif
                        отредактировано

                        Ответ спустя пару месяцев.
                        Мне больше всего нравится такой вид, который мне кажется наиболее близким к реальности:

                        Damage = Damage_init * ElementalModifier * DamageBonusModifiers * DamageReductionModifiers * NumberOfMultiHits - KyrieEleisonEffect

                        Damage_init = Damage_dummy * SizeModifiers * SkillModifiers * (1-DEF/100) + BaneSkill + Upgrades - VitDEF

                        Damage_dummy = DEX + [DEX/10]^2 + [STR/5] + [LUK/5] + UpgradeBonus + ATKCards + rnd(A, max(A, ATK)) + rnd(0, ARROW_ATK - 1)

                        A = ATK/100 * min(ATK, DEX * (0.8+0.2*WEAPON_LEVEL))


                        Куда идет ImpositioManus сейчас не знаю, но вроде б увеличивает ATK а не Damage_dummy.
                        Еще куда-то нужно вставить добавку класса бонуса от ВВС, сферок, нибелунгов, и прочих, которые называются "ничем не режется"

                        1 ответ Последний ответ Ответить Цитировать 0
                        • Первое сообщение
                          Последнее сообщение