马上加入TC
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
找技能call,套路都是这样:
先遍历周围的怪物对象_地址。
在游戏中,有怪物类,怪物对象。
怪物类 叫基因模块,它是隐态的,只有一个。
怪物对象 是基因模块的批量实体化。实体化后,储存在怪物对象_数组里面。这种对象是拥有多个的。
一个对象被打死后,可以重新实体化出另一个。所以说玩家打怪 是很弱智的,用脚本打怪刷金 还算比较正常。
调用技能call,如果某个怪物对象_死亡后,
对写call的怪物对象_的结构体地址,需要更新为下一个。
例如 植物大战僵尸的发炮call。
植物数组,玉米炮植物对象,发炮call调用后,
下一次调用发炮call,需更新为下一个 玉米炮植物对象。
每一个植物对象 都有行数、列数、血量、是否存在、图片…………需要储存,假设每一个植物对象都占据40字节,用龙龙内存遍历工具,就可以看到所有植物对象 的详细情况。
第1个植物对象,首地址N.
第2个植物对象,首地址N+i*40, i=1
第3个植物对象,首地址N+i*40, i=2
第4个植物对象,首地址N+i*40, i=3
=======================================================
push 技能状态
//0不使用, 1开始使用, 2技能释放过程。释放技能后 它有60秒的冷却期.
push 技能编号
push 怪物对象 //的结构体地址
mov ecx, [玩家基址] //区分哪个玩家在打怪.
call 技能子程序()
OD窗口。
┏━━━━━━━┓
┃ ┃ 普通寄存器
┃ ┃
┃Alt+C窗口, ┃ 标志寄存器
┃ ┃
┃ ┃
┗━━━━━━━┛
“数据显示窗口”, 栈单元窗口,
“数据窗口”, 栈单元窗口,
在OD窗口,
选中要测试call的上一行,F2下断点。
F9运行游戏。
回到游戏窗口,调用这个技能子程序,游戏窗口会停,OD窗口会断下来。
回到OD窗口,按F7单步步进,就可以调试 这个技能子程序的代码。
关于技能call,参数3:boss对象的结构体地址。
push 怪物对象的结构体 //F8单步调试,执行到这一行代码,
在“数据显示窗口”中,鼠标右键单击,
再在右键菜单中,选择“数据窗口中跟随数值”。
.
这样在“数据窗口”,就可查看到boss对象的结构体信息,例如
boss 序号,
boss 座标x,
boss 座标y,
boss 血量,
boss 图片结构.
OD,都用16进制数来显示.
=======================================================
怎样查看call有几个参数,几个局部变量
|