Дроп

 
+
-
edit
 

Diamond

втянувшийся

Вот этот алгоритм выборки 1 предмета из группы мне очень не нравится (возможно я неправ):

code text
  1.                 // iterate each item in group and check chance
  2.                 chance = Rnd.get(L2Drop.MAX_CHANCE);
  3.                 for(L2DropData i : _items)
  4.                 {
  5.                         if(chance > i.getChance())
  6.                         {
  7.                                 chance -= i.getChance();
  8.                                 continue;
  9.                         }
  10.  
  11.                         ItemToDrop t = new ItemToDrop(i.getItemId());
  12.                         // well, we have our drop-item now, let's get count
  13.                         int count = 0;
  14.  
  15.                         if(i.getMinDrop() >= i.getMaxDrop())
  16.                                 count = i.getMinDrop();
  17.                         else
  18.                                 count = Rnd.get(i.getMinDrop(), i.getMaxDrop());
  19.                         if(_isAdena)
  20.                                 count *= adenarate;
  21.                         t.count = count;
  22.                         t.isAdena = _isAdena;
  23.                         return t;
  24.                 }
  25.                 // can it be?
  26.                 return null;

Это подтверждается многочисленными жалобами игроков. Например у предмета шанс 0.5 и не выпадает за пару суток, вместе с этим выпадает штук 5 предметов с шансами 0.05 и ниже.
 
+
-
edit
 

Diamond

втянувшийся

Проверили алгоритм, с теоретической точки зрения работать должен отлично. А на практике почему-то работает криво :(
 

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru