[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Перекресток миров » Интересное » Корейский рандом
Корейский рандом
ЭлениэльДата: Понедельник, 07 Января 2008, 13.55.19 | Сообщение # 1
Светлое чудо
Группа: Феникс
Сообщений: 928
Награды: 3
Репутация: 109
Статус:
В связи с множественными вопросами на эту тему,мы решили расписать все подробно,дабы было понятно,как все-таки расчитывается шанс выпадения той или иной вещи с моба.

Как высчитывается дроп с моба:
на примере Карика:
npc_begin warrior 629 [karik] level=70
additional_make_multi_list={{{{[adena];8636;17570;100}};70};
{{{[sealed_dark_crystal_shield];1;1;3134};{[sealed_dark_crystal_shield_fragment];1;1;40.1469};
{[sealed_dark_crystal_helmet];1;1;0.2197};{[sealed_dark_crystal_helmet_design];1;1;29.5501};
{[sealed_tallum_bonnet];1;1;0.2197};{[sealed_tallum_bonnet_design];1;1;29.5502}};5.5138};
{{{[silver_nugget];2;6;10.6783};{[thread];3;9;35.5944};{[mithril_ore];1;1;21.3566};
{[metallic_fiber];1;1;30.5095};{[enria];1;1;1.7797};{[rp_bellion_cestus_i];1;1;0.0815}};98.7136}}

--------------------------------------------

npc_begin warrior 629 [karik] level=70

additional_make_multi_list={Первая группа;Вторая группа;Третья группа}

Немного теории :

Убивая монстра мы вызываем эффект (корейский рэндом), который позволяет рассчитать вероятности выпадения итемов из моба.
Этот эффект срабатывает каждый раз , когда моба убивают.
Дроп состоит из групп итемов, одновременно может выпасть несколько групп в зависимости от их шанса. внутри группы сумма шансов итемов всегда 100%, т.е. если выпала одна группа например куски на шмот, то сразу несколько разных кусков не выпадет, только один из них, в зависимости от процентажа внутри группы.

Как это выглядит:

формат записи:

общий вид
additional_make_multi_list={{{{[итем1];мин_кол-во;макс_кол-во;шанс_итема}};шанс_группы1};
{{{[итем1];1;1;0.3134};{[итем2];1;1;40.1469};{[итем3];1;1;0.2197};
{[итем4];1;1;29.5501};{[итем5];1;1;0.2197};{[итем6];1;1;29.5502}};5.5138-шанс_группы2};
{{{[silver_nugget];2;6;10.6783};{[thread];3;9;35.5944};{[mithril_ore];1;1;21.3566};
{[metallic_fiber];1;1;30.5095};{[enria];1;1;1.7797};{[rp_bellion_cestus_i];1;1;0.0815}};98.7136}}

т.е. указывается группа, шанс на группу, шанс на итем в группе, сумма шансов итемов в группе всегда равна 100%.

Как это работает.

Игрок убивает монстра.
Кидается виртуальный многогранный кубик из 100(редко, обычно граней много больше, в районе 10000) граней.
На самом деле там не грани а используется некая функфия типа :

if (Rand(1000000)>шанс_группы) {drop_item where Rand(1000000)=шанс_итема and drop_rate<>шанс_итема }

Сначала обрабатывается первая группа, обычно это адена с шансом 70%
т.е. если при обработке команды Rand(1000000); выпадает число меньшее чем 700001 то упадет аденка. в диапазоне от минимального до максимального числа указаного у моба.

Потом обрабатывается вторая группа, обычно это куски на крафт.

например группе стоит шанс 5.5138%
обрабатывается опять операция : Rand(1000000); и если выпало число меньшее чем 55139 из 1000000
то ОБЯЗАТЕЛЬНО выпадет какая либо вещь из этой группы.
А вот какая вешь решает запуск операции Rand(1000000); миллион комбинаций это всего лишь 100%.
идёт выбор как в строке выше :
0.3134+40.1469+0.2197+29.5501+0.2197+29.5502=100%
при работе функции идёт такой алгоритм :
если выпало число от 0 до 3134 то выпадет первый итем.
если выпало число от 3135 до 404603 то выпадет второй итем
если выпало число от 404604 до 406800 то выпадет третий итем
если выпало число от 406801 до 702301 то выпадет четвертый итем
если выпало число от 702302 до 704498 то выпадет пятый итем
если выпало число от 704499 до 999999 то выпадет шестой итем.
Итогово это покрывает 100% вероятности в группе итемов.

Точно так же обрабатываются и остальные группы.
т.е. сначала первая потом кубик для второй, третьей и т.д. сколько их есть.

--------------------------------------------------------------------------------------------------------------------------
Воть smile
Сама я едва 1/5 текста поняла,ибо сложно.

 
SagrasДата: Понедельник, 07 Января 2008, 14.39.13 | Сообщение # 2
Группа: Пользователи
Сообщений: 268
Награды: 0
Репутация: 14
Статус:
ну вообщем обзавем все это безобразие корейским рандомом))

Казад Дyма pаспyщена. Моpией pyководит ОpкКомитет
 
SceptiCДата: Понедельник, 07 Января 2008, 14.53.55 | Сообщение # 3
Группа: Пользователи
Сообщений: 720
Награды: 0
Репутация: 14
Статус:
Короче как с вероятностью встретить динозаврика на Невском проспекте - либо встретишь, либо не встретишь, т.е. 50х50. biggrin

Сила в движении, разум в единстве!
 
MerclesДата: Понедельник, 07 Января 2008, 15.06.58 | Сообщение # 4
Группа: Пользователи
Сообщений: 257
Награды: 0
Репутация: 11
Статус:
угу...
если у тебя шанс меньше 30, то это будет травоядный
если меньше 20 - хищник
если меньше 10 - Ultimate динозавр...
dry

если тебе-таки повезло и твой шанс меньше 5 - ура, с этой рептилии выпадет что-нить оооочень фкусненькое wink


Подставлю ладони -
Их болью своей наполни.
Hаполни печалью,
Стpахом гyлкой темноты.
И ты не yзнаешь,
Как небо в огне сгоpает!
И жизнь pазбивает
Все надежды и мечты...
 
Форум » Перекресток миров » Интересное » Корейский рандом
  • Страница 1 из 1
  • 1
Поиск:

Copyright MyCorp © 2024 Используются технологии uCoz