|

提醒:若下载的软件是收费的"请不要付款",可能是骗子,请立即联系本站举报,执意要付款被骗后本站概不负责。(任何交易请走第三方中介,请勿直接付款交易以免被骗!切记).
选择最近的怪物的一些思路
void ReadMonsterID()
{
DWORD id=0; //存储怪物ID
int i=0; //存储角色周围怪物数量
char *PDistance=NULL;
float ReadTrueDistance; //存储程序读出的角色与怪物的距离 //INTUserConfigDistance是 界面玩家设置的距离,全局变量.
float *ff;
char buff[4]={0};
byte anns;
_asm
{
mov eax,0x0F20DA8
mov eax,[eax]
mov i,eax //取出角色身边怪物数量
}
i=i-1; //减去角色自己
_asm
{
mov eax,0xEFB43C
mov ebx,0xEFB444
mov eax,[eax]
mov [ebx],eax
}
for(int j=0;j<i;j++)
{
_asm
{
mov eax,0xEFB444
mov ebx,0xEFB444
mov eax,[eax]
mov eax,[eax+0xc]
mov [ebx],eax
lea esi,[eax-0xdc]
mov edi,esi
add edi,0x254 //取怪物与角色距离
mov PDistance,edi
mov bl,byte ptr [esi+1ch] //取怪物死活状态
mov anns,bl
add esi,0xF8 //取怪物ID
mov esi,[esi]
mov id,esi
}
buff[0]=PDistance[0];
buff[1]=PDistance[1];
buff[2]=PDistance[2];
buff[3]=PDistance[3];
ff=(float*)&buff[0];
ReadTrueDistance=*ff; //取出浮点型距离变量
if (anns==1) //如果怪物是活的
{
if ((ReadTrueDistance<INTUserConfigDistance)&&(id!=0)) //如果怪物与角色的距离小于玩家设置的距离,并且怪物ID不等于0
{
ChooesTheMonster(id); //选怪函数
break;
}
}
}
}
以上代码无误有效,但不会选择离角色最近的怪物。
求大神帮助提供一个思路来实现选择离角色最近的怪物。
我个人的想法是遍历怪物的“ID”和“怪物角色的距离”分别存储到一个二维数组内,
然后使用冒泡排序找出最小的距离,再取出对应的怪物ID传给选怪函数,
联系我时,请说是在 挂海论坛 上看到的,谢谢! |
上一篇: 笑傲江湖门徒卖物CALL ,没反应的解决办法下一篇: 诛仙3 ID选怪call dephi写法
免责声明:
1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关。一切关于该内容及资源商业行为与www.52ghai.com无关。
2、本站提供的一切资源内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。
3、本站信息来自第三方用户,非本站自制,版权归原作者享有,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
4、如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵犯你版权的,请邮件与我们联系删除(邮箱:xhzlw@foxmail.com),本站将立即改正。
|