Движение по координатам (C#) - Общение разработчиков - Программирование для Perfect World, общение и обсуждене разработок
12.01.2014, 21:16
#1
Разведчик
Регистрация: 12.01.2012
Сообщений: 10
Популярность: 10
Сказал(а) спасибо: 3
Поблагодарили 0 раз(а) в 0 сообщениях
Движение по координатам (C#)
Видел много кусков движения по координатам.
Может есть готовый, простой код передвижения по координатам?
т.е. чтобы просто указать координаты и ID перса, например.
из PWFramework сейчас этот кусок вырезан, если он вообще там был.
13.01.2014, 01:13
#2
Старший сержант
Регистрация: 09.04.2010
Сообщений: 204
Популярность: 5518
Сказал(а) спасибо: 49
Поблагодарили 512 раз(а) в 198 сообщениях
Re: Движение по координатам (C#)
А речь про ингейм или оог?..
________________
[
Ссылки могут видеть только зарегистрированные пользователи. ]-cофт и прочее для комфортной игры в PW.
PW Everyday Helper Bot
13.01.2014, 09:00
#3
Разведчик
Регистрация: 12.01.2012
Сообщений: 10
Популярность: 10
Сказал(а) спасибо: 3
Поблагодарили 0 раз(а) в 0 сообщениях
Re: Движение по координатам (C#)
14.01.2014, 20:03
#4
Пехотинец
Регистрация: 02.08.2009
Сообщений: 57
Популярность: 417
Сказал(а) спасибо: 12
Поблагодарили 1 раз в 1 сообщении
Re: Движение по координатам (C#)
phoenixusa , вы о разном мне кажется) ингейм - взаимодействие с клиентом игры(elementclient), ООГ - взаимодействие с сервером игры(сокеты...)).
p.s. не так прочел.... ингейм движение есть иньекции, вам какраз подойдет....
Добавлено через 5 минут
zhyk.ru/forum/showthread.php?t=144558
Цитата:
Код:
procedure AutoPathCall(aPParams:PParams); stdcall;
var
addr:pointer;
x,y:dword;
begin
x:=aPParams^.param1;
y:=aPParams^.Param2;
z:=aPParams^.Param3;
addr := Pointer($00438770);
asm
pushad
MOV EDI,y
MOV ESI,x
MOV EAX,DWORD PTR DS:[$9C0E6C] // base_addr
PUSH 0 // ; /Arg7 = 00000000
PUSH EDI // ; |Arg6
MOV ECX,DWORD PTR DS:[EAX+$1C] // ; |
PUSH ESI // ; |Arg5
PUSH 0 // ; |Arg4 = 00000000
PUSH 0 // ; |Arg3 = 00000000
PUSH 0 // ; |Arg2 = 00000000
PUSH $14A // ; |Arg1 = 0000014A
call addr // ; \elementc.00438770
MOV EDX,DWORD PTR DS:[$9C0E6C] //; elementc.009C14F8
XOR EAX,EAX
MOV AL,0
PUSH 0 //; /Arg7 = 00000000
MOV ECX,DWORD PTR DS:[EDX+$1C] //; |
MOV EDX,z //; |
PUSH EAX //; |Arg6 = 00000000
PUSH EDX //; |Arg5 = Высота полета
PUSH 1 //; |Arg4 = 00000001
PUSH 0 //; |Arg3 = 00000000
PUSH 0 //; |Arg2 = 00000000
PUSH $14A //; |Arg1 = 0000014A
CALL addr //; \elementc.00438770
popad
end;
end;
procedure AutoPath(realcoord_X,realcoord_Y,realcoord_Z:single);
begin
aParams.Param1:=round(realcoord_X);
aParams.Param2:=round(realcoord_Y);
aParams.Param3:=round(realcoord_Z); // высота полета
InjectFunc(aHandle,@AutoPathCall,@aParams,SizeOf(aParams));
end;
Собсно вот оно....
Последний раз редактировалось ToRcH2565; 14.01.2014 в 20:09 .
Причина: Добавлено сообщение
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 07:10 .