Решил систематизировать уже известные баги на сдачу квестов без выполнения и повторную сдачу квестов, для тех кто в танке, чтоб не осталось вопросов. Само собой используем L2PHX.
[Ссылки могут видеть только зарегистрированные пользователи. ]
Тут выбираем квесты на повторы.
Кстати, 6ой пакет периодически меняется с 00 на 01.(Поэтому очень важен пакет взятия квеста, ибо при его не совпадении не сработает.)
Итоговые пакеты(Которые вышли у меня):
xx 57 5B xx xx 00 00 F4 03 01 00 F3 03 xx xx 00 00 00
xx 57 5B xx xx 00 00 EF 03 01 00 F4 03 xx xx 00 00 00 00
xx 57 5B xx xx 00 00 EA 03 01 00 04 00 xx xx 00 00 00 00
xx 57 5B xx xx 00 00 19 00 01 00 0A 00 xx xx 00 00 00 00
xx 57 5B xx xx 00 00 F1 03 01 00 48 05 xx xx 00 00 00 00
xx 57 5B xx xx 00 00 11 00 01 00 05 00 xx xx 00 00 00 00
Пакеты диалогов(лишние, но при мониторинге квестов, лично я бы прописал их присутствие, радует что пока такого нету на сервах в качстве защиты)
Пакет взятия квеста(именно с него копируем данные xx)
Пакет выполнения условий задания(на охоте)
Пакет получения награды
57 5B - Указывается локация, изменять не надо, квесты можно сдавать в любой локации(брал в арешурате, сдавал около продавца в фоэте, аналогично за асмов проделывал(брал в белуслане, сдавал в панде). Т.е. совсем не влияет.
1ый xx - зависит от версии сервера
2,3ий xx - локация непися и сам непись(НПЦ). sarlanar :
Цитата:
- это контрольная сумма от первого байта, и для определенного ID пакета всегда постоянное число.
Всё же мне кажется не верно, я не влезал в исходники, может не прав, но я писал фак на основании опытов на нескольких сервах, получалась именно такая зависимость. Впринципе не суть, всё равно их проще поймать и скопировать, чем высчитывать(Где-то видел в нете тему, про сдачу квестов не проходя по требованиям).
последние пакеты - номер задания(если одно становится доступно по выполнению другого, то 4ый вроде не меняется). Опять же sarlanar
Цитата:
14 и 15(может еще и 16 и 17) - ID квеста который можна посмотреть в базе, он для одного квеста постоянный.
Тут спорить не буду
Вроде всё понятно, для особо одарённых, все xx берутся с пойманного пакета диалога о квесте.
П.С. Для ускорения сдачи квеста 255 раз с переполнением инвентаря, рекомендую брать квест и топать до ближайшего магазина. Алгоритм прост, жмём часики, ждём заполнение инвентаря, останавливаем часы, в магазине скидываем хлам, повторяем процедуру пока не выполним квест максимум раз))
П.П.С. Есть ли возможность заставить ПНХ выкидывать сундуки при сдаче квеста пакетами? А то вместо 1 минуты уходит 5-10.
Последний раз редактировалось AHTuK; 01.03.2011 в 04:57.
сейчас опробую, но тема самое оно))
ток на нашем сервере монеты переделали в дейли(( (раз в сутки).
Так что будем искать что то другое)
что то не особо. пробывал с кв на убийства мобов и кв предметы с них..никатит. либо перебор пакетов..либо хз.. я в этом не особо..
убрал последний пакет на принятие, пробывал руками награду взять, тож не получается.
Последний раз редактировалось Death-note; 25.02.2011 в 18:50.
Автор исправь свой пост.
Первый байт это ID пакета, зависит от версии сервера.
2 и 3 - это контрольная сумма от первого байта, и для определенного ID пакета всегда постоянное число.
4 и 5 вместе с 6 и 7 это временный ID НПЦ, меняется после перезагрузки сервера.
14 и 15(может еще и 16 и 17) - ID квеста который можна посмотреть в базе, он для одного квеста постоянный.
на ньюайон частичный фикс. Квест можно сдать только через минуту.
Например квесты с монетами:
Ловим пакет принятия, делаем пакет выполнения, ловим пакет награды. Располагаем пакеты в такой последовательности - сдача квеста, награда, взятие квеста. Ставим таймаут 60.00, настройки на минимум, оконный режим, сворачиваем и оставляем часа на 4.
Последний раз редактировалось WWEERRT; 25.02.2011 в 22:39.
П.П.С. Есть ли возможность заставить ПНХ выкидывать сундуки при сдаче квеста пакетами? А то вместо 1 минуты уходит 5-10.
Да, есть
Код:
// script by zombiee
procedure Init;
begin
end;
procedure Free;
begin
end;
procedure RemoveItem(ID: integer);
begin
buf:=HStr('DA 57 99');
WriteD(ID);
SendToServer;
end;
var
itemID: integer;
begin
if((FromClient) and (pck[1]=#$32)) then begin
itemID:=ReadD(4);
RemoveItem(itemID);
end;
end.
Данный скрипт удаляет предмет, который появляется у Вас в инвентаре.
Использовать осторожно, т.к если взять что-то со склада или снять шмотку, она тоже будет удалена
Так же (возможно), необходимо будет заменить DA 57 99 на свои, т.е отловить пакет выкидывания какой-либо вещи и просто заменить три байта DA 57 99 на первые три байта из вашего пакета.
________________
Хакер - не преступник.
Взлом - для искусства.
Смысл - в свободе.
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
[Ссылки могут видеть только зарегистрированные пользователи. ] Progress - [Ссылки могут видеть только зарегистрированные пользователи. ] / [Ссылки могут видеть только зарегистрированные пользователи. ]
на ньюайон частичный фикс. Квест можно сдать только через минуту.
Например квесты с монетами:
Ловим пакет принятия, делаем пакет выполнения, ловим пакет награды. Располагаем пакеты в такой последовательности - сдача квеста, награда, взятие квеста. Ставим таймаут 60.00, настройки на минимум, оконный режим, сворачиваем и оставляем часа на 4.
Что за чушь ты несёшь? Я играю на х75 и всё работает, никакого кд на сдачу кв нету!
________________
Помог? Тыкни спасибо.
Если хотите помощи, в асю