|
|
.版本 2
.程序集 窗口程序集1
.程序集变量 基址, 整数型
.程序集变量 进程标示符, 整数型
.子程序 _按钮1_被单击
.局部变量 索引, 整数型
.局部变量 二级地址, 整数型
.局部变量 怪物基址, 整数型
.局部变量 怪物数组的最大值, 整数型
.局部变量 怪物列表的首地址, 整数型
.局部变量 怪物ID, 整数型
.局部变量 怪物HP下限, 整数型
.局部变量 当前怪地址, 整数型
.局部变量 怪物X坐标, 整数型
.局部变量 怪物Y坐标, 整数型
.局部变量 人物X坐标, 整数型
.局部变量 人物Y坐标, 整数型
.局部变量 距离X坐标, 整数型
.局部变量 距离Y坐标, 整数型
.局部变量 怪物名字地址, 整数型
.局部变量 怪物名字字节集, 字节集
.局部变量 怪物名字, 文本型
.局部变量 怪物HP上限, 整数型
.局部变量 人物X坐标字节集, 字节集
.局部变量 人物Y坐标字节集, 字节集
.局部变量 怪物X坐标字节集, 字节集
.局部变量 怪物Y坐标字节集, 字节集
.局部变量 距离合, 整数型
二级地址 = 读整型内存 (进程标示符, 读整型内存 (进程标示符, 基址) + 36)
读字节集内存 (进程标示符, 二级地址 + 60, 人物X坐标字节集, 10)
读字节集内存 (进程标示符, 二级地址 + 68, 人物Y坐标字节集, 10)
人物X坐标 = 绝对取整 (到小数 (取字节集数据 (人物X坐标字节集, #小数型, )))
人物Y坐标 = 绝对取整 (到小数 (取字节集数据 (人物Y坐标字节集, #小数型, )))
怪物基址 = 读整型内存 (进程标示符, 读整型内存 (进程标示符, 读整型内存 (进程标示符, 基址) + 8) + 32)
怪物数组的最大值 = 读整型内存 (进程标示符, 怪物基址 + 36)
怪物列表的首地址 = 读整型内存 (进程标示符, 怪物基址 + 24)
列表框1.清空 ()
.变量循环首 (1, 怪物数组的最大值 - 1, 1, 索引)
当前怪地址 = 读整型内存 (进程标示符, 怪物列表的首地址 + 4 × 索引)
.如果真 (当前怪地址 > 0)
当前怪地址 = 读整型内存 (进程标示符, 当前怪地址 + 4)
怪物ID = 读整型内存 (进程标示符, 当前怪地址 + 284)
怪物HP下限 = 读整型内存 (进程标示符, 当前怪地址 + 308)
怪物HP上限 = 读整型内存 (进程标示符, 当前怪地址 + 332)
读字节集内存 (进程标示符, 当前怪地址 + 60, 怪物X坐标字节集, 10)
读字节集内存 (进程标示符, 当前怪地址 + 68, 怪物Y坐标字节集, 10)
怪物X坐标 = 绝对取整 (到小数 (取字节集数据 (怪物X坐标字节集, #小数型, )))
怪物Y坐标 = 绝对取整 (到小数 (取字节集数据 (怪物Y坐标字节集, #小数型, )))
距离X坐标 = 人物X坐标 - 怪物X坐标
距离Y坐标 = 人物Y坐标 - 怪物Y坐标
距离合 = 求平方根 (距离X坐标 × 距离X坐标 + 距离Y坐标 × 距离Y坐标)
怪物名字地址 = 读整型内存 (进程标示符, 当前怪地址 + 528)
读字节集内存 (进程标示符, 怪物名字地址, 怪物名字字节集, 64)
怪物名字 = 删尾空 (到文本 (UNICODE转ANSI (到字节集 (取字节集数据 (怪物名字字节集, #文本型, )))))
列表框1.加入项目 (“怪名字=” + 怪物名字 + “ | ” + “怪ID=” + 到文本 (怪物ID) + “ | ” + “当前血量=” + 到文本 (怪物HP下限) + “/” + 到文本 (怪物HP上限) + “ | ” + “怪坐标=” + 到文本 (怪物X坐标) + “,” + 到文本 (怪物Y坐标) + “ | ” + “与角色的距离=” + 到文本 (距离合), )
.如果真结束
.变量循环尾 ()
.子程序 __启动窗口_创建完毕
进程标示符 = 取程序进程ID (0, “elementclient.exe”)
.如果真 (进程标示符 > 0)
基址 = 到整数 (编辑框1.内容)
返回 ()
.如果真结束
信息框 (“没有找到游戏!!”, 0, )
返回 ()
http://yunpan.cn/QXMagnZXh88c9 |
|