|
版本 2
.支持库 eAPI
.程序集 窗口程序集1
.程序集变量 游戏窗口句柄, 整数型
.程序集变量 游戏进程ID, 整数型
.程序集变量 游戏进程句柄, 整数型
.程序集变量 人物基址, 整数型
.程序集变量 人物一级基址, 整数型
.程序集变量 人物二级基址, 整数型
.程序集变量 人物三级基址, 整数型
.程序集变量 怪物基址, 整数型
.程序集变量 移动人物, 整数型
.子程序 __启动窗口_创建完毕
游戏窗口句柄 = 取窗口句柄 (“CLIENT”, “SRO_Client”)
游戏进程ID = 取窗口进程ID (游戏窗口句柄)
游戏进程句柄 = 打开进程 (游戏进程ID)
.子程序 信息
.局部变量 临时人物, 字节集
.局部变量 人物名称, 文本型
内存_读整数型 (游戏进程句柄, 十六到十 (“924e0c”), 人物基址)
内存_读整数型 (游戏进程句柄, 人物基址 + 十六到十 (“1c”), 人物一级基址)
内存_读整数型 (游戏进程句柄, 人物基址 + 十六到十 (“20”), 人物二级基址)
内存_读整数型 (游戏进程句柄, 人物一级基址 + 十六到十 (“8”), 人物三级基址)
内存_读整数型 (游戏进程句柄, 人物三级基址 + 十六到十 (“24”), 怪物基址)
.子程序 选怪
.局部变量 怪物数量, 整数型
.局部变量 怪物数组最大值, 整数型
.局部变量 怪物列表首地址, 整数型
.局部变量 I, 整数型
.局部变量 怪物偏移, 整数型
.局部变量 怪物信息指针, 整数型
.局部变量 怪物名称地址, 整数型
.局部变量 临时怪物名称, 字节集
.局部变量 怪物名称, 文本型
.局部变量 怪物ID, 整数型
.局部变量 N, 文本型
.局部变量 x, 字节集
.局部变量 y, 字节集
.局部变量 z, 字节集
.局部变量 j, 字节集
.局部变量 怪物x坐标, 整数型
.局部变量 怪物y坐标, 整数型
.局部变量 怪物z坐标, 整数型
.局部变量 怪物距离, 整数型
.局部变量 怪物种类, 整数型
.局部变量 怪物类别, 整数型
.局部变量 最近怪物, 整数型
.局部变量 要攻击的怪物ID, 整数型
.局部变量 对象数量, 整数型
.局部变量 怪物等级, 整数型
.局部变量 怪物当前血, 整数型
.局部变量 怪物最大血, 整数型
.局部变量 时间, 日期时间型
.局部变量 最近距离, 整数型
.局部变量 怪物名称首地址, 整数型
.局部变量 怪物状态, 整数型
最近距离 = 10000
内存_读整数型 (游戏进程句柄, 怪物基址 + 十六到十 (“14”), 怪物数量)
内存_读整数型 (游戏进程句柄, 怪物基址 + 十六到十 (“24”), 怪物数组最大值)
内存_读整数型 (游戏进程句柄, 怪物基址 + 十六到十 (“18”), 怪物列表首地址)
.计次循环首 (怪物数组最大值 - 1, I)
内存_读整数型 (游戏进程句柄, 怪物列表首地址 + 4 × (I - 1), 怪物偏移)
.如果真 (怪物偏移 > 0)
内存_读整数型 (游戏进程句柄, 怪物偏移 + 十六到十 (“4”), 怪物信息指针)
内存_读整数型 (游戏进程句柄, 怪物信息指针 + 十六到十 (“11c”), 怪物ID)
内存_读整数型 (游戏进程句柄, 怪物信息指针 + 十六到十 (“230”), 怪物名称地址)
内存_读字节型 (游戏进程句柄, 怪物名称地址, 80)
怪物名称 = UNICODE转ANSI (临时怪物名称)
内存_读整数型 (游戏进程句柄, 怪物信息指针 + 十六到十 (“12c”), 怪物当前血)
内存_读整数型 (游戏进程句柄, 怪物信息指针 + 十六到十 (“154”), 怪物最大血)
内存_读整数型 (游戏进程句柄, 怪物信息指针 + 十六到十 (“124”), 怪物等级)
内存_读整数型 (游戏进程句柄, 怪物信息指针 + 十六到十 (“B4”), 怪物种类)
内存_读整数型 (游戏进程句柄, 怪物信息指针 + 十六到十 (“120”), 怪物类别)
内存_读整数型 (游戏进程句柄, 怪物信息指针 + 十六到十 (“294”), 怪物状态)
' 怪物种类 6为怪,7为NPC,9为宠物 A为GM
.如果真 (怪物种类 = 6)
N = “[怪]”
.如果真结束
.如果真 (怪物种类 = 7)
N = “[NPC]”
.如果真结束
.如果真 (怪物种类 = 9)
N = “[宠物]”
.如果真结束
.如果真 (怪物种类 = 10)
N = “[GM]”
.如果真结束
内存_读字节集 (游戏进程ID, 怪物信息指针 + 十六到十 (“3c”), x, 8)
怪物x坐标 = 取整 (取字节集数据 (x, #小数型, ) ÷ 10) + 400
内存_读字节集 (游戏进程ID, 怪物信息指针 + 十六到十 (“44”), y, 8)
怪物y坐标 = 取整 (取字节集数据 (y, #小数型, ) ÷ 10) + 550
内存_读字节集 (游戏进程ID, 怪物信息指针 + 十六到十 (“40”), z, 8)
怪物z坐标 = 取整 (取字节集数据 (z, #小数型, ) ÷ 10)
内存_读字节集 (游戏进程ID, 怪物信息指针 + 十六到十 (“254”), j, 8)
怪物距离 = 取整 (取字节集数据 (j, #小数型, ) ÷ 10)
.如果真 (最近距离 ≥ 怪物距离)
最近距离 = 怪物距离
.如果真结束
.如果真 (怪物种类 = 6 且 怪物距离 ≤ 最近距离 且 怪物状态 ≠ 4)
内存_写整数型 (游戏进程ID, 人物二级基址 + 十六到十 (“a18”), 怪物ID)
标签_怪物名称.标题 = 到文本 (怪物ID)
.如果真结束
.如果真结束
.计次循环尾 ()
.子程序 _按钮_开始使用_被单击
选怪 ()
_时钟1_周期事件 ()
.子程序 _时钟1_周期事件
时钟1.时钟周期 = 500
模拟按键 (#键1, , )
模拟按键 (#键2, , )
模拟按键 (#键3, , )
模拟按键 (#键4, , )
模拟按键 (#键5, , ) |
|