/*--------函数功能:自动寻路------------------------------------*/
/*--------参数:DWORD RoleBaseAdr:人物基址[[0x0012F82C]+0x24]---*/
/*------------: DWORD MapIndex:地图索引-------------------------*/
/*------------: CCOODI pDstCoodi:目标坐标----------------------*/
int AutoSearchBar(DWORD RoleBaseAdr,DWORD MapIndex,PCOODI pDstCoodi)
{
DWORD Adr = 0x00429F60;
PCOODI pCoodi;
pCoodi = new COODI;
pCoodi->x = GetRolXpix();
pCoodi->y = GetRolYpix();
pCoodi->z = GetRolZpix();
_asm
{
pushad
mov eax,pDstCoodi
mov edx,dword ptr ds:[eax]
mov dword ptr ds:[0x00902568],edx
mov edx,dword ptr ds:[eax+4]
mov dword ptr ds:[0x0090256c],edx
mov edx,dword ptr ds:[eax+8]
mov dword ptr ds:[0x00902570],edx
mov ebx,MapIndex
push ebx
push 0x00902568
push pCoodi
mov ecx,0x008FC810
call Adr
popad
}
delete pCoodi;
return 1;
}
/*以上是武林的自动寻路CALL,用VC写的。
可以自动寻路,但是很乱。有的时候到达的目的地和预先设置的不一样,有的时候
是能到达目的地,但是要先到地图上的某个地(假设为C),再转向目的地,如果
出发点和C点之间有阻挡,则人物会被挡住,永远也无法到达目的地。有没有人遇到
过类似的情况?大家讨论一下。*/
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/pzhccy/archive/2007/08/26/1759744.aspx