Есть чар в таргете, мы должы следоваьт за ним(всегда).
Как такое реализовать?(C#)
Хоть намек :)
N00bSa1b0t
09.05.2012, 22:48
Берешь исходники FlyWQ и смотришь как там сделано движение по точкам.
Потом переписываешь всё на шарп.
Мои боты в иксах исправно ходили на мной. Могу кинуть код, но он под 1.4.4, я оффсеты еще не правил.
Ну а координаты цели узнаем по оффсетам.
zaparca
09.05.2012, 23:07
Структура / Список игроков рядом:
GA +8 +20 +18 +[I*4] + (+0)^J +4: (I in [0..300])
Бег к NPC. Честно говоря, не тестировал на игроках, но я уверен, что прокатит.
Meg(0)
20.05.2012, 15:16
procedure Walk(x,y,z:single);
var aParams: TParams;
begin
ReadProcessMemory(aHandle,ptr(BaseWalkMode),@WalkM ode,1,readwrite); //BaseWalkMode = GA +20 +61C
if WalkMode = 0 then aParams.Param1:=0 else aParams.Param1:=1;
aParams.Param3:=x;
aParams.Param4:=y;
aParams.Param5:=z;
InjectFunc(aHandle,@WalkCall,@aParams,SizeOf(aPara ms));
end;
почему в readwrite показывает ошибку? как его обозначить?
и BaseWalkMode = GA +20 +61C я правильно записал?
var
WalkMode1,WalkMode2,WalkMode3: dword;
...
ReadProcessMemory(KlientWindow,Pointer($A571E0),@W alkMode1,1,readwrite);
ReadProcessMemory(KlientWindow,Pointer(BUM+$20),@W alkMode2,1,readwrite);
ReadProcessMemory(KlientWindow,Pointer(BUM+$61c),@ WalkMod3,1,readwrite);
и когда создаю такую процедуру,показывается ошибка в конце PParams
procedure WalkCall(aPParams:PParams);Stdcall;
krysun
24.05.2012, 05:25
procedure Walk(x,y,z:single);
var aParams: TParams;
begin
ReadProcessMemory(aHandle,ptr(BaseWalkMode),@WalkM ode,1,readwrite); //BaseWalkMode = GA +20 +61C
if WalkMode = 0 then aParams.Param1:=0 else aParams.Param1:=1;
aParams.Param3:=x;
aParams.Param4:=y;
aParams.Param5:=z;
InjectFunc(aHandle,@WalkCall,@aParams,SizeOf(aPara ms));
end;
почему в readwrite показывает ошибку? как его обозначить?
и BaseWalkMode = GA +20 +61C я правильно записал?
var
WalkMode1,WalkMode2,WalkMode3: dword;
...
ReadProcessMemory(KlientWindow,Pointer($A571E0),@W alkMode1,1,readwrite);
ReadProcessMemory(KlientWindow,Pointer(BUM+$20),@W alkMode2,1,readwrite);
ReadProcessMemory(KlientWindow,Pointer(BUM+$61c),@ WalkMod3,1,readwrite);
и когда создаю такую процедуру,показывается ошибка в конце PParams
procedure WalkCall(aPParams:PParams);Stdcall;
readwrite -обычный dword;
ReadProcessMemory(KlientWindow,Pointer(BUM+$20),@W alkMode2,1,readwrite);
- тут не $20 а $34 - начало структуры персонажа
-вместо 1 поставил бы - SizeOf(WalkMode2)
PParams - типы для инжекта
нуно добить это:
TYPE
PParams = ^TParams; //типы инжектов
TParams = packed record
Param4,Param5,Param6:Single;
end;
Вот рабочий Walk с исправленными адрессами ([Ссылки могут видеть только зарегистрированные и активированные пользователи])