天天挂茶馆

1100 发表于 2019-5-26 22:30:23

新战国英雄全图NPC

本帖最后由 1100 于 2019-8-5 20:33 编辑

任务大厅的不会教学 不会录视频.版本 2
.支持库 spec

.程序集 程序集1
.程序集变量 进程ID, 整数型
.程序集变量 进程句柄, 整数型
.程序集变量 全图NPC基址, 整数型

.子程序 _启动子程序, 整数型, , 本子程序在程序启动后最先执行
.局部变量 文本, 文本型

进程ID = 进程_进程名取ID (“7hero.exe”)
进程句柄 = 进程_打开进程 (进程ID)
文本 = 内存_搜索特征码2 (进程ID, “7hero.exe”, “68 ED 45 00 00”, “-12”, 2)
全图NPC基址 = 转换_十六到十 (文本)
调试输出 (进程ID, 进程句柄, 文本)
遍历全图NPC ()
返回 (0)' 可以根据您的需要返回任意数值

.子程序 遍历全图NPC
.局部变量 首地址, 整数型
.局部变量 尾地址, 整数型
.局部变量 地图, 文本型
.局部变量 名称, 文本型
.局部变量 X, 整数型
.局部变量 Y, 整数型

首地址 = 内存_读整数型 (进程句柄, 全图NPC基址)
尾地址 = 内存_读整数型 (进程句柄, _加法 (全图NPC基址, 4))
.判断循环首 (首地址 < 尾地址)
    地图 = 读文本 (_加法 (首地址, 4))
    名称 = 读文本 (_加法 (首地址, 32))' 20
    X = 内存_读整数型 (进程句柄, _加法 (首地址, 56))' 38
    Y = 内存_读整数型 (进程句柄, _加法 (首地址, 60))' 3C
    调试输出 (取十六进制文本 (首地址), 名称, 地图, “(” + 到文本 (X) + “,” + 到文本 (Y) + “)”)
    首地址 = _加法 (首地址, 64)' 040
.判断循环尾 ()

.子程序 读文本, 文本型
.参数 文本地址, 整数型
.局部变量 长度, 整数型

长度 = 内存_读整数型 (进程句柄, _加法 (文本地址, 16))
.如果真 (长度 > 15)
    文本地址 = 内存_读整数型 (进程句柄, 文本地址)
.如果真结束
返回 (内存_读文本型 (进程句柄, 文本地址, 长度))

页: [1]
查看完整版本: 新战国英雄全图NPC