|
发表于 2011-6-20 15:20:37
|
显示全部楼层
四川省自贡市
呀嘿。还可以这样? 我来试下。
[e].版本 2
.子程序 遍历怪物
.局部变量 怪物基址, 整数型
.局部变量 怪物偏移, 整数型
.局部变量 怪物列表首地址, 整数型
.局部变量 怪物列表, 整数型
.局部变量 怪物列表最大值, 整数型
.局部变量 怪物对象指针, 整数型
.局部变量 怪物当前血, 整数型
.局部变量 人与怪的距离, 整数型
.局部变量 怪物ID, 整数型
.局部变量 怪物类型, 整数型, , , 6为怪 7为NPC
.局部变量 怪物名字1, 整数型
.局部变量 怪物名字2, 字节集
.局部变量 怪物名字3, 文本型
.局部变量 计次1, 整数型
怪物列表框.清空 ()
怪物基址 = 内存读整数 (进程ID, 一级基址 + 8)
怪物偏移 = 内存读整数 (进程ID, 怪物基址 + 十六到十 (“28”))
怪物列表首地址 = 内存读整数 (进程ID, 怪物偏移 + 十六到十 (“18”))
怪物列表最大值 = 内存读整数 (进程ID, 怪物偏移 + 十六到十 (“24”))
.计次循环首 (怪物列表最大值, 计次1)
计次1 = 计次1 - 1
怪物列表 = 内存读整数 (进程ID, 怪物列表首地址 + 计次1 × 4)
怪物对象指针 = 内存读整数 (进程ID, 怪物列表 + 4)
怪物当前血 = 内存读整数 (进程ID, 怪物对象指针 + 十六到十 (“134”))
' 怪物ID = 内存读整数 (进程ID, 怪物对象指针 + 十六到十 (“11c”))
怪物类型 = 内存读整数 (进程ID, 怪物对象指针 + 十六到十 (“B4”))
人与怪的距离 = 内存读小数型 (进程ID, 怪物对象指针 + 十六到十 (“2C0”)) ' 查出为:2C0
怪物名字1 = 内存读整数 (进程ID, 怪物对象指针 + 十六到十 (“294”)) ' 查出为:294
怪物名字2 = 内存读字节集 (进程ID, 怪物名字1 + 0, 30)
怪物名字3 = Unicode转Ansi (怪物名字2)
.如果真 (怪物名字3 ≠ “” 且 怪物类型 = 6)
怪物列表框.加入项目 (怪物名字3, )
怪物列表框.加入项目 (“ 与怪距离:” + 到文本 (人与怪的距离), )
怪物列表框.加入项目 (“ 怪物HP:” + 到文本 (怪物当前血), )
.如果真结束
.如果真 (怪物名字3 ≠ “” 且 怪物类型 = 7)
NPC列表框.加入项目 (怪物名字3, )
NPC列表框.加入项目 (“ 与NPC距离:” + 到文本 (人与怪的距离), )
.如果真结束
.计次循环尾 ()
[/e] |
|