Опишу в общем весь процесс и как я его понял, чтоб было понятнее.
P.S. с серверами не работал с 2012, поэтому много не помню и если написал что-то некорректно - прошу меня простить )
За основу для разбора в итоге взял 26 квест на белок - который имеет разную награду на 4 класса и + 1 квест продолжения цепочки - скрин чуть ниже.
Из важных параметров, что я нашел в самом скрипте (которые как я понял имеют существенное влияние на работу квеста):
1. Самая первая колонка -
некий номер квеста (QuestName на сркине)
2.
Уровень квеста (колонка Level на скрине)(или лучше назвать сложность квеста, так как при изменения данного параметра как я думал в 26 квесте на 30 и в сервере и клиенте, квест все равно взялся на 26, только подсвечивался красным)
3.
Тип квеста (ObjectType на скрине) (убить/собрать/достичь уровня)
4.
Цель задания (QuestObject на скрине)
5.
Количество (Quantity на скрине)
6.
% учета (Drop Chance на скрине)
Далее столбы 3-6 повторяются несколько раз
7.
Max Lvl Change - (как я понял) используется только на распечатках и ограничивает уровень прокачки персонажа.
8. Далее идут столбы с наградами
(Bonus ###) что дать/сколько дать
Где встречается столб
Reward Quantity - который обозначает возможность/не возможность выбора награды (0/1)
9. После наград идет колонка
NextQuest ( которых кстати 5) - как я понял можно вписать несколько квестов, которые откроются после прохождения (или выпадет один на рандоме?:) - честно не успел протестировать)
10. и некая последняя колонка lable - которая как и многие скрипты - дублирует первую)
Описал все выше происходящее, чтобы вы поняли, как это видел я) может где ошибаюсь - поправьте.
Так вот, перейду к сути вопроса и к тому, что я пробовал.
В родном скрипте было предусмотрено по 10 строк на каждый уровень, из них к примеру у белок на 26 занято 5 строк:
4 квеста на разные классы
1 квест - продолжение цепочки
Пытался найти некий фактор отличия в данных четырех строках - нашел его только в наградах. Остальное все одинаковое - может что упустил.
На том же 30 у белок квест один на всех
Думал изменить уровень квеста на примере 26 на 30 уровень, взял родные строки - сверил, число 26 в них встречалось 4 раза:
1. в первой строке Quest Name
2. в столбце Level
3. в столбце NextQuest
4. в последней столбце label
Изменение 2 пункта - ни к чему не привело, уже описывал ранее.
Изменение 3 пункта - логично понятно (хотя, чтобы не прерывать цепочку)
По логике выяснил, что уровень квеста вшит в некое его название Q004260
Q004261
Q004262
где 26 - это уровень, когда квест будет получен - а последняя цифра - порядковый номер квеста.
В квесте на 26 уровень - было предусмотрено 5 квеста №1 - для ближнего боя, номер №2 для дальнего боя, №3 для магов, №4 для спецов, №5 - продолжение/завершение цепочки
При изменение данных значений с 26 на 30 соответсвенно:
Q004260 - Q004300
Q004261 - Q004301
Q004262 - Q004302
Q004263 - Q004303
Q004264 - Q004304
квест перенеся на 30 уровень, только стал общим для всех 4 классов, в награду всем выдавался только сет ближнего боя.
Пол дня бился и не мог понять - как реализовать 4 разных награды на разные классы на тех уровнях, где они не были реализованы ранее.
Вот собственно весь мой рассказ))