исправил,но всё так же ничего не происходит...ведь должен хотя б вылететь клиент если что-то не так? а у меня просто ничего не происходит
Ничего не происходит - это на самом деле хороший результат. Это говорит о том, что функция правильная, но значения не правильные. Для того, чтобы открыть диалог с NPC его сначала нужно выделить. Определить его WID (по значению TargetWID в структуре персонажа). А затем передать этот параметр в функцию TalkToNPC. И чтобы нам было проще помочь - делать это все нужно в исходниках на которые я давал ссылку. Чтобы кто то, кто понимает в этом, мог открыть реальный проект, отловить баги и сказать где у тебя ошибка.
________________
-------------------------------------------- PerfectAutoLogin v 7.4 - Совершенный автологин для Perfect World [RUOFF, PWI, Фришек 1.4.4 - 1.4.5]
-------------------------------------------- [for 1.4.6] PW Patcher 12.0 - Патч на Горны, Красный (да и любой) чат, Анфриз, Бесконечный зум, Моментальный разгон на полете для RUOFF, PWI и прочих 1.4.6 и фришек 1.4.4, 1.4.5.
-------------------------------------------- InGamePatcher 1.2 - патчер для серверов 1.4.5 и 1.4.4 работающий с включенной игрой.
--------------------------------------------
А код разве не в файлах *.pas хранится? Где они?
И давай пожалуйста все таки аккуратнее. Потому что от того на сколько читаемо и понятно зависит и твое понимание того что ты делаешь и других людей.
________________
-------------------------------------------- PerfectAutoLogin v 7.4 - Совершенный автологин для Perfect World [RUOFF, PWI, Фришек 1.4.4 - 1.4.5]
-------------------------------------------- [for 1.4.6] PW Patcher 12.0 - Патч на Горны, Красный (да и любой) чат, Анфриз, Бесконечный зум, Моментальный разгон на полете для RUOFF, PWI и прочих 1.4.6 и фришек 1.4.4, 1.4.5.
-------------------------------------------- InGamePatcher 1.2 - патчер для серверов 1.4.5 и 1.4.4 работающий с включенной игрой.
--------------------------------------------
вот.....[Ссылки могут видеть только зарегистрированные пользователи. ]
Извини, но в твоем коде черт ногу сломит. Ты сам не понимаешь что там, поэтому не можешь отловить баги. Постарайся писать более понятно и каждую строчку комментировать.
Для примера - вот как может выглядеть функция WalkTo: [Ссылки могут видеть только зарегистрированные пользователи. ]
Далее, чтобы починить функцию TolkToNPC, тебе нужно написать функцию возвращающую WID цели персонажа. Чтобы передавать результат в функцию TolkToNPC.
________________
-------------------------------------------- PerfectAutoLogin v 7.4 - Совершенный автологин для Perfect World [RUOFF, PWI, Фришек 1.4.4 - 1.4.5]
-------------------------------------------- [for 1.4.6] PW Patcher 12.0 - Патч на Горны, Красный (да и любой) чат, Анфриз, Бесконечный зум, Моментальный разгон на полете для RUOFF, PWI и прочих 1.4.6 и фришек 1.4.4, 1.4.5.
-------------------------------------------- InGamePatcher 1.2 - патчер для серверов 1.4.5 и 1.4.4 работающий с включенной игрой.
--------------------------------------------
Помогите никак не пойму: В процедуре ( procedure StrToByte(Packet:string; var aParams:TParams); )
Вот строчка >>> aParams.Packet[i]:=strtoint('$'+bytecode[i*2+1]+bytecode[i*2+2]);
В ней мне не ясно откуда взялся bytecode[i*2+1]+bytecode[i*2+2] (с чем он связан?)
NikitaVer, эта функция переводит строку в массив байтов, причём строка должна быть записана, например, так:
'90EB' .
Цикл бежит по всей строке и берёт по два символа подряд, переводя их в шестнадцатеричные числа. Т.е. берутся два символа, к ним приписывается значок '$' и результат переводится в число.
На первой итерации цикла будет так:
'$' + '9' + '0' -> число $90.
На второй так:
'$' + 'E' + 'B' -> число $EB.
________________
Принимаю реквесты на статьи, программы. Всё будет запилено в лучшем виде :3
спасибо за пример,но почему не работает перемещение по Z? (
Ну там есть такой параметр как WalkMode - 1 полет, 0 пешком.
В примере используется WalkMode = 0 - пешком.
Так вот нужно активировать полет и поменять WalkMode на 1.
________________
-------------------------------------------- PerfectAutoLogin v 7.4 - Совершенный автологин для Perfect World [RUOFF, PWI, Фришек 1.4.4 - 1.4.5]
-------------------------------------------- [for 1.4.6] PW Patcher 12.0 - Патч на Горны, Красный (да и любой) чат, Анфриз, Бесконечный зум, Моментальный разгон на полете для RUOFF, PWI и прочих 1.4.6 и фришек 1.4.4, 1.4.5.
-------------------------------------------- InGamePatcher 1.2 - патчер для серверов 1.4.5 и 1.4.4 работающий с включенной игрой.
--------------------------------------------
где 00924E0C - baseaddr
WID моба смотрю через консоль-> d_npcid, тобиш wid правильный.
С ошибкой не вылетает всё нормально, но не атакует - где я накосячил? пол дня голову ломаю
Ребят помогите пытаюсь послать пакет на медитацию (пробую с малого) , но т.к. я мало в этом понимаю, то прошу помощи в поиске ошибки . Ситуация такая : сервер на посыл пакета либо никак не отвечает, либо выбрасывает из клиента (второе чаще).
P.S. Форум смотрел и изучал внимательно (и pwlab- тоже). Но ответ на вопрос (Почему клиент вылетает ???) не нашел. [Ссылки могут видеть только зарегистрированные пользователи. ]
Но ответ на вопрос (Почему клиент вылетает ???) не нашел. [Ссылки могут видеть только зарегистрированные пользователи. ]
Клиент вылетает потому, что не может исполнить функцию, которую ты пытаешь в него заинжектить . Поставь брейк-поинты и отследи какие значения грузятся в переменные.
UPD:
Ну а тут рабочий инжект на Delphi и исходники. http://zhyk.ru/forum/showpost.php?p=...&postcount=164
Измени под свою задачу. Лучше переделывать то, что уже работает.
И начни разбираться с комментирования кода.
________________
-------------------------------------------- PerfectAutoLogin v 7.4 - Совершенный автологин для Perfect World [RUOFF, PWI, Фришек 1.4.4 - 1.4.5]
-------------------------------------------- [for 1.4.6] PW Patcher 12.0 - Патч на Горны, Красный (да и любой) чат, Анфриз, Бесконечный зум, Моментальный разгон на полете для RUOFF, PWI и прочих 1.4.6 и фришек 1.4.4, 1.4.5.
-------------------------------------------- InGamePatcher 1.2 - патчер для серверов 1.4.5 и 1.4.4 работающий с включенной игрой.
--------------------------------------------
Последний раз редактировалось krukovis; 12.07.2012 в 18:35.
люди вот процедура из этого топика при компиляции дельфин выдает ошибку что неизвестна вот эта штука bytecode что с ней делать
что это за массив где его объявлять
Код:
procedure StrToByte(Packet:string; var aParams:TParams);
var
i:integer;
begin
i:=(length(Packet) div 2)-1;
aParams.Param1:=i+1;
for i:=0 to i do
aParams.Packet[i]:=strtoint('$'+bytecode[i*2+1]+bytecode[i*2+2]);
end;