yr46369532 发表于 2011-7-15 23:02:14

这样能选怪么?应该怎样弄

.版本 2
.程序集 窗口程序集1
.程序集变量 游戏窗口句柄, 整数型
.程序集变量 游戏进程ID, 整数型
.程序集变量 游戏进程句柄, 整数型
.程序集变量 人物基址, 整数型
.程序集变量 人物一级基址, 整数型
.程序集变量 人物二级基址, 整数型
.程序集变量 人物三级基址, 整数型
.程序集变量 怪物基址, 整数型
.子程序 __启动窗口_创建完毕
游戏窗口句柄 = 窗口_取窗口句柄 (“CLIENT”, “SRO_Client”)
游戏进程ID = 取窗口进程ID (游戏窗口句柄)
游戏进程句柄 = 打开进程 (游戏进程ID)
内存_读整数型 (游戏进程句柄, 十六到十 (“F1DED4”), 人物基址)
内存_读整数型 (游戏进程句柄, 人物基址 + 十六到十 (“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 = “”
      .如果真结束
      .如果真 (怪物种类 = 9)
            N = “[宠物]”
      .如果真结束
      .如果真 (怪物种类 = 10)
            N = “”
      .如果真结束
      内存_读字节集 (游戏进程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)
      .如果真结束
    .如果真结束
.计次循环尾 ()

.子程序 _按钮1_被单击
选怪 ()

tang1230654 发表于 2011-7-15 23:43:48

呵呵晕你哟,还不得行呀

qq553445424 发表于 2011-7-20 16:33:16

楼主这个源码 一看就不是丝路的 想选丝路的怪....无语

clong 发表于 2011-8-15 10:00:25

呵呵,同感,只改了个窗口标题 {:1_88:}
页: [1]
查看完整版本: 这样能选怪么?应该怎样弄