Спойл

Сообщение LDiablo[Zone] » 21 окт 2011, 00:24

при включенном PreciseDropCalculation

int random = Rnd.get(L2DropData.MAX_CHANCE);
while (random < dropChance)
{
// Get the item quantity dropped
if (minCount < maxCount)
itemCount += Rnd.get(minCount, maxCount);
else if (minCount == maxCount)
itemCount += minCount;
else itemCount++;

// Prepare for next iteration if dropChance > L2DropData.MAX_CHANCE
dropChance -= L2DropData.MAX_CHANCE;
}

L2DropData.MAX_CHANCE = 1 000 000 (100%)
Возьмём для примера вешь с вероятностью дропа 70% (700 000) в количестве строго 1 , рейты x5.

1) На 1 входе while имеем random = от 1 до 1 000 000, dropChance = 700 000 * 5 = 3 500 000 - условие (random < dropChance) выполняется, игроку начисляется 1 итем, dropChance = dropChance -= L2DropData.MAX_CHANCE = 2 500 000

2) 1 000 000 < 2 500 000, игроку начисляется ещё 1 итем, dropChance = 1 500 000

3) 1 000 000 < 1 500 000, игроку начисляется ещё 1 итем, dropChance = 500 000

4) зависит от рандома. С вероятностью в 50% начислится ещё 1 итем.

Итого для итема с 70% дропом в количестве 1 шт. при рейте x1 составит 100% 3, а в половине случаев 4 при рейте x5
Аватара пользователя
LDiablo[Zone]
Путешественник
Путешественник
 
Сообщения: 248
Зарегистрирован:
28 мар 2003, 14:45
Has thanked: 7 times
Have thanks: 10 times

Сообщение LDiablo[Zone] » 21 окт 2011, 17:38

Юра, если есть возможность, выдай файлы с настройками как рейтов, так и формул. Честно не помню как они называются.
Аватара пользователя
LDiablo[Zone]
Путешественник
Путешественник
 
Сообщения: 248
Зарегистрирован:
28 мар 2003, 14:45
Has thanked: 7 times
Have thanks: 10 times

Сообщение LDiablo[Zone] » 23 окт 2011, 21:18

Работы какие-то ведутся? Хотелось бы слышать что вообще происходит. 3 дня уже тишина....
Аватара пользователя
LDiablo[Zone]
Путешественник
Путешественник
 
Сообщения: 248
Зарегистрирован:
28 мар 2003, 14:45
Has thanked: 7 times
Have thanks: 10 times

Сообщение Korben » 25 окт 2011, 14:06

Вчера замелил в фоге небольшое улучшение спойла, небольшое это значит лучше чем было, но не то что должно быть
Юра проинформируй пожалуйста, что меняли? Тк динамика положительная это факт, но не то что должно быть
Шото написано должно быть оО
Аватара пользователя
Korben
Обыватель
Обыватель
 
Сообщения: 986
Зарегистрирован:
18 апр 2007, 20:51
Откуда: Днепр
Has thanked: 0 time
Have thanks: 5 times

Сообщение midav » 25 окт 2011, 15:20

Есть такой дядька на "allcheats" с ником "METAJIJI", любитель профессионально писать патчи для серверов с различными рейтами.
Так вот, он когда-то опубликовал формулу расчета дропа/спойла с учетом рейтов сервера.
Поскольку из меня программер как из Корба балерина, то и в ней я мало чего могу понять,
но интуитивно догадываюсь, что с ее помощью можно поправить хотя бы дроп АА и адены, а может и спойл :pray: :tolkne:
Если нуб и опозорился, прошу сильно ногами не бить...
Код: Выделить всё
#perl -w

$rate_x=5;   #рейты
$MAX_CHANCE=1000000;   #100% шанс


$Chance=700000*$rate_x;   #Значение из таблицы `droplist`, столбец `chance`
$minCount=765;   #Значение из таблицы `droplist`, столбец `min`
$maxCount=1528;   #Значение из таблицы `droplist`, столбец `max`

$flag=0;   #Флаг нужен для случая, когда WHILE не сработает

$dropChance=$Chance-$MAX_CHANCE; # пропускаем первую иттерацию
$itemCountMax=$maxCount;   # первая иттерация
$itemCountMin=$minCount;   # первая иттерация


while ($MAX_CHANCE < $dropChance)
{
# рассчет количества выпавших итемов
if ($minCount == $maxCount)
{
   $itemCountMin = $itemCountMin   $minCount;
   $itemCount = $itemCountMin;
}
else
{
   $itemCountMax = $itemCountMax   $maxCount;
   $itemCountMin = $itemCountMin   $minCount;
   $itemCount='['.$itemCountMin.'-'.$itemCountMax.']';
}

   
# Подготавливаемся к следующей итерации, если было условие $dropChance > $MAX_CHANCE
$dropChance = $dropChance-$MAX_CHANCE;   # Немного упростил код, чтобы было всем понятнее как это происходит :)
$flag=1;
}

if($flag==0)
{
   if ($minCount == $maxCount)
   {
      $itemCount = $itemCountMin;
   }
   else
   {
      $itemCount='['.$itemCountMin.'-'.$itemCountMax.']';
   }
}

if($Chance>$MAX_CHANCE){$Chance=$MAX_CHANCE}

print $itemCount."\t"."$Chance"/"10000".'%'."\n";

в итоге получаем:
Код: Выделить всё
[2295-4584]     100%


P.S. и забаньте memberlist.php?mode=viewprofile&u=120095 этого урода наконец
Последний раз редактировалось midav 25 окт 2011, 15:22, всего редактировалось 1 раз.
Аватара пользователя
midav
Новичок
Новичок
 
Сообщения: 117
Зарегистрирован:
10 июл 2005, 08:44
Откуда: Планета TheМля
Has thanked: 1 time
Have thanks: 4 times

Сообщение LDiablo[Zone] » 25 окт 2011, 15:26

С чего ты взял, что он профи? ))) Он просил на форуме помочь ему настроить рейты на его сервер)
Аватара пользователя
LDiablo[Zone]
Путешественник
Путешественник
 
Сообщения: 248
Зарегистрирован:
28 мар 2003, 14:45
Has thanked: 7 times
Have thanks: 10 times

Сообщение midav » 25 окт 2011, 17:55

LDiablo[Zone] писал(а):С чего ты взял, что он профи? ))) Он просил на форуме помочь ему настроить рейты на его сервер)


нет у него никакого сервера, он просто под заказ пишет патчи под разные сервера и все что он делает, выглядит довольно профессионально...

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

хз, я ему верю и мне этого достаточно...
Последний раз редактировалось midav 25 окт 2011, 17:56, всего редактировалось 1 раз.
Аватара пользователя
midav
Новичок
Новичок
 
Сообщения: 117
Зарегистрирован:
10 июл 2005, 08:44
Откуда: Планета TheМля
Has thanked: 1 time
Have thanks: 4 times

Сообщение LDiablo[Zone] » 25 окт 2011, 19:14

ты хоть посты его читал? (((
Аватара пользователя
LDiablo[Zone]
Путешественник
Путешественник
 
Сообщения: 248
Зарегистрирован:
28 мар 2003, 14:45
Has thanked: 7 times
Have thanks: 10 times

Сообщение midav » 25 окт 2011, 21:53

конечно читал и не только на allcheats...
данная тема поднималась в феврале 2010 года, поверь за полтора года он сильно вырос и вопрос на самом деле не в нем и не во мне, а в спойле на нашем сервере, кто-нибудь хоть что-нибудь делает в этом направлении?
Аватара пользователя
midav
Новичок
Новичок
 
Сообщения: 117
Зарегистрирован:
10 июл 2005, 08:44
Откуда: Планета TheМля
Has thanked: 1 time
Have thanks: 4 times

Сообщение Korben » 25 окт 2011, 22:03

мб оффтоп
раза в 4 стали хуже падать итемы в стокато нест, неделю назад били стабильно 1моб 1 итем, сегодня 2-3 моба 1 итем, что фиксили и главное зачем?
Шото написано должно быть оО
Аватара пользователя
Korben
Обыватель
Обыватель
 
Сообщения: 986
Зарегистрирован:
18 апр 2007, 20:51
Откуда: Днепр
Has thanked: 0 time
Have thanks: 5 times

Пред.

Вернуться в Underground

Кто сейчас на конференции

Посетителей: 3, из них зарегистрированных: 0, скрытых: 0 и гостей: 3 (находятся на конференции)
Этот раздел просматривают: нет зарегистрированных пользователей и гости: 3