Ап - 2.2.3.2
Столкнулся с некой проблемой при написание квестов, нужно заложить некую логику по классам (как была с получением брони до 30 - у каждого класса своя награда). При работе с квестами, допустим 26 уровня - где выдают по дефолту 27 броню все нормально, как только меняешь уровень данных 4х строк квестов на 30 - сразу остаётся только 1 квест с наградой на ближний бой. В чем логика - пока что не понял, сидел сверял строки, ни к чем не пришёл, окончательно мои успехи разбились при изменение рабочего на 26 квеста на 30.
Буду благодарен если кто-то поможет разобраться.
Опишу в общем весь процесс и как я его понял, чтоб было понятнее.
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 разных награды на разные классы на тех уровнях, где они не были реализованы ранее.
Вот собственно весь мой рассказ))
Последний раз редактировалось CONSTRFO; 04.07.2017 в 19:56.
Господи ты боже мой. На дворе 2017 год, а народ продолжает пользоваться для сервера не понятными структурами. Чем вам не угодили 100% структуры из хидер файла зоны?
В Quest нет условий получения квеста, там только сам квест и награда за него. Условия получения квестов находятся в Quest*Event (структура QuestHappenEvent) файлах, для чего какой файл можно понять из названия.
Рекомендую:
На мнения, что положительные, что отрицательные - не отвечаю!
0 | ... | -13000 | -14000 | -15000
Господи ты боже мой. На дворе 2017 год, а народ продолжает пользоваться для сервера не понятными структурами. Чем вам не угодили 100% структуры из хидер файла зоны?
В Quest нет условий получения квеста, там только сам квест и награда за него. Условия получения квестов находятся в Quest*Event (структура QuestHappenEvent) файлах, для чего какой файл можно понять из названия.
Пользовался тем, что было в 2012 на компе) залез сюда в первый раз.
Спасибо за информацию, на днях попробую все поправить, если вдруг что-то не выйдет - вернусь)
Добавлено через 1 час 33 минуты
Не до конца понял все равно) там похожая информация только в QuestLvUpEvent.dat. В нем строки получается надо править с дополнением новых строк по классам? там обозначения все идут BWB0; BRB0; BFB0; BSB0 остальные расы по аналогии работают?
Добавлено через 1 час 37 минут
Простите, туплю, кажется разобрался)))
Последний раз редактировалось CONSTRFO; 06.07.2017 в 20:57.
Причина: Добавлено сообщение