Перейти к содержанию
Авторизация  
Beliy.IV

Дроп/споил Расчёт Шансов

Рекомендуемые сообщения

Занялся созданием дроп/споил патча своими силами.

Создал список, пришло время добавить кол-во и шансы, пока занимаюсь только спойлом без рейтов, т.е. по тому кол-ву и шансом которые вбиты в базу т.е. х1 рейты.

 

Может кто-то рассказать подробно. Вот есть например

post-7057-0-25765400-1414659705_thumb.png

 

 

 

Правильно ли я понял

1806 - 10,9%

1871 - 9,8%

116 - min = 3 ; max = 4; на max шанс 43%

1786 - 45,3%

1871 - 56,6%

Изменено пользователем Beliy.IV

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

если это дроп без групп или спойл, то да

в дропе с группами расчеты чуть сложнее.

----

upd: а хотя да, забыл что в таком виде, в бд, даже с группами расчет такой же, не по правилам оффа.

Изменено пользователем Gaikotsu

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вопрос возник, рейты х20 (например)

предмет в БД min=13 max=13 шанс=22%

Сервер: 22%*х20=440%

берет min=13*4=52 и их шанс становиться 100%

а остаток %, т.е. 40% кидает на max

в итоге мин=52 шанс 100% , max=52+13=65шт. с шансом 40%

 

так? или

мин=13*4=52 c шансом 100%

max=13*4=52 с шансом 40%

????

Изменено пользователем Beliy.IV

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

от сервера зависит это все - по разному бывает считает

может к примеру еще дополнительно разделить на несколько отдельных групп, если итоговое количество превысит определенное значение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А если без групп. чисто споил.

Я вот тестил мин=13 max=13

то 39 то 52

т.е. он 13*x20 рейты и выдал мне что минимум стал 39

и когда мне везло выпадал max ещё +13

или же он мне выдавал минимум 39 и иногда 60% что выпадет ещё раз минимум.

 

 

Вот вижу отличный пример. мин=1 max=13 шанс=90,93%

Что сервер мне выдаст? при

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ребят, нашёл код в сервере который просчитывает дроп при шансе > 100%

Я во всём вроде разобрался, но на практике.

Вкратце: если ШАНС больше 100% умножается кол-во на ШАНС/100 т.е. 120%/100=1,2

Таким образом Я рассчитал что кол-во = 13 шанс 19% при рейтах х10 получаем ШАНС =190

13*1,9=24,7=25шт с шансом от 19%

На практике 95%=26шт и 5%=13

 

26шт я ещё как-т омогу объяснить но вот откуда 13 шт?

 

 

1132 // Count and chance adjustment for high rate servers
1133 if (dropChance > L2DropData.MAX_CHANCE && !L2Config.PRECISE_DROP_CALCULATION)
1134 {
1135 int multiplier = dropChance / L2DropData.MAX_CHANCE;
1136 if (min < max) itemCount += Rnd.get(min * multiplier, max * multiplier);
1137 else if (min == max) itemCount += min * multiplier;
1138 else itemCount += multiplier;
1139
1140 dropChance = dropChance % L2DropData.MAX_CHANCE;

 

объясните

dropChance = dropChance % L2DropData.MAX_CHANCE;

 

и как округление срабатывает, на сколько

dropChance = Math.round(dropChance);

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

dropChance = dropChance % L2DropData.MAX_CHANCE;

 

в результате остается остаток от деления dropChance на L2DropData.MAX_CHANCE

 

dropChance = Math.round(dropChance);

 

просто отбрасывается вся не целая часть. если хочется получить ближайшее большее или меньшее целое число, то используй Math.floor или Math.ceil

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...