L2-scripts Форум

L2-scripts Форум (http://l2-scripts.ru/forum/index.php)
-   Archive High Five (http://l2-scripts.ru/forum/forumdisplay.php?f=104)
-   -   кривой вусмерть квест _456 (http://l2-scripts.ru/forum/showthread.php?t=4948)

ankam26 19.12.2014 15:19

кривой вусмерть квест _456
 
квест _456_DontKnowDontCare чуть не сфейлил сервер. получается за 5 лет никто его не правил. (((
итак квест ежедневный.
через 2 недели после старта сервера все начали резко сдавать этот квест каждый день . оказалось что бижа, стволы 84 и броня падали всегда и всем..... каждый день.....

Причина - ошибка в коде квеста:
Код:

if(Rnd.chance(30))
    st.giveItems(weapons[Rnd.get(weapons.length)], 1, false, false);
  else if(Rnd.chance(50))
    st.giveItems(armors[Rnd.get(armors.length)], 1, false, false);
  else
    st.giveItems(accessory[Rnd.get(accessory.length)], 1, false, false);

  if(Rnd.chance(30))
    st.giveItems(scrolls[Rnd.get(scrolls.length)], 1, false, false);
  if(Rnd.chance(70))
    st.giveItems(reward_attr_crystal[Rnd.get(reward_attr_crystal.length)], 1, false, false);
  st.giveItems(gemstone_s, 3, false, false);

А ВОТ ТАК ДОЛЖНО БЫТЬ КАК МИНИМУМ:
Код:

if(Rnd.chance(1))
    st.giveItems(weapons[Rnd.get(weapons.length)], 1, false, false);
  else if(Rnd.chance(5))
    st.giveItems(armors[Rnd.get(armors.length)], 1, false, false);
  else if(Rnd.chance(10))
    st.giveItems(accessory[Rnd.get(accessory.length)], 1, false, false);
  else if(Rnd.chance(15))
    st.giveItems(scrolls[Rnd.get(scrolls.length)], 1, false, false);
  else
    st.giveItems(reward_attr_crystal[Rnd.get(reward_attr_crystal.length)], 1, false, false);
 
  st.giveItems(gemstone_s, 3, false, false);


только поправили это, удалили у 60 рыл итемы, в том числе и рпаспечатанные и перезачли им квесты, тут опять трабла с квестом этим же:

по квесту просто дается квестовый непонятный кристал, вместо нужного атрибута
вот сижу думаю как им теперь обменять на нужный ( ПРАВИЛЬНЫЙ ТО ЕСТЬ)
скрипт сделать может на автообмен? у вас private static final int[] reward_attr_crystal = {4342, 4343, 4344, 4345, 4346, 4347};
кристалы атрибута что ли?!!!! это квестовые неизвестные итемы парни
а кристалы атрибута 9552, ..... и т.д. мне нужен скрипт чтобы заменить в базе все эти неизвестные на то что должно быть - на 9552 и т.д.
по типу:

4342 = 9553
4343 = 9552
4344 = 9555
4345 = 9554
4346 = 9556
4347 = 9557

Игорь - сделай плиз логирование наград с квестов иначе никак не найти когда он сдал и получил и скока раз ...

Scorpius 19.12.2014 19:40

ув. ankam26, а вы свои шансы откуда взяли?

Проблема в этом квесте только с кристаллами, и только ленивый это не исправил вовремя. :)

iqman 19.12.2014 23:48

По квестам все сделал, по поводу логирования, теперь ведутся 3 вида логов -> когда заканчиваешь дневной квест, когда заканчиваешь обычный квест и когда получаешь вещь с квеста. Все виды окончания и получемые айтемы идут в отельных файлах. (кроме аборта)


Часовой пояс GMT +4, время: 17:55.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot