.子程序 秒吸物怪, , , 更新完毕
.局部变量 人物数据, 整数型
.局部变量 地图偏移, 整数型
.局部变量 首地址, 整数型
.局部变量 尾地址, 整数型
.局部变量 怪物阵营, 整数型
.局部变量 怪物数量, 整数型
.局部变量 计次, 整数型
.局部变量 怪物基址, 整数型
.局部变量 怪物类型, 整数型
.局部变量 物品_X轴, 小数型
.局部变量 物品_Y轴, 小数型
.局部变量 物品_Z轴, 小數型
.如果真 (读内存代码 (-1, #人物基址 + “+BC”) = 0)'判断角色在不在地图内
人物数据 = 读内存整数型 (-1, 十六到十 (#人物基址))
地图偏移 = 读内存整数型 (-1, 人物數据 + 188)
首地址 = 读内存整数型 (-1, 地图偏移 + 176)
尾地址 = 读内存整数型 (-1, 地图偏移 + 180)
怪物数量 = (尾地址 - 首地址) ÷ 4'每个数组占4
.计次循环首 (怪物数量, 計次)
.如果真 (怪物阵营 ≠ 读内存整数型 (-1, 人物数据 + 2096))’如果数组不是我们这边的 言外之意就是对面阵营的执行下列操作
从上面的代码不难看出DNF他把所有的地图对象(怪物、物品、建筑&……)都放在了一个数组上面 区分它们的办法就是靠里面的一个类型偏移
所以你会看到吸怪 吸物 等嘟差不多
然后首先是.如果真 (读内存代码 (-1, #人物基址) ≤ 0) 判断是否在游戏内部 (因为没有进入游戏或者没有开游戏 人物基址是为0的)
.如果真 (读内存代码 (-1, #人物基址 + “+BC”) = 0)'判断角色在不在地图内 BC是是否进入游戏地图的偏移 没有进入为0
地图偏移 = 读内存整数型 (-1, 人物数据 + 188)
首地址 = 读内存整数型 (-1, 地图偏移 + 176)
尾地址 = 读内存整数型 (-1, 地图偏移 + 180)
首地址 尾地址 就是相当于一个数组的第一个 和最后一个
因为每个数组的一个地址占4個字节 所以要除于4 得出了数组的多少(就相当于知道了有多少个对象)
怪物基址 = 读内存整数型 (-1, 首地址 + 4 × 计次)'每个数组占4 每次循环 由上佽地址+4 意思就是指向下一个数组地址
因为是计次循环 所以每次循环计次+1 然后因为每个地址占4个字节 所以我们的每次循环+4
第二个地址:首地址+4x1
第三个地址:首地址+4x2
首地址+4×计次 得出了对象地址
加上相应的类型偏移就知道对象时不是怪物或者物品 然后写入自身X/Y/Z轴就行了~
.程序集 窗ロ程序集_启动窗口
.子程序 __启动窗口_创建完毕
.局部变量 首地址, 整数型
.局部变量 尾地址, 整数型
仔细看能看到他在不停的自轉在黑森林一共就两颗,上去打死就能开辟一条隐藏道路
就像他的名字一样,着了魔法拥有了生命特征。如此可见黑森林的魔法能量是多么强大!
还有些值查找不出来的话先别急
因为那些值存放方法不知道,
所以可能会查找起来比较麻烦
不知道存放方法的值可以先分析
分析数据中会得到很多数据比如有些游戏存放坐标不是
数据型,而是把数据改后存为文本型
后或需要用到坐标数据的
时就可以获得需要查找的值了。这些下面再说
先说下模糊查找会模糊查找,确定值查找也就会了不过确定值查找需要选择查找的
下面画红圈的地方注意看
进制,这样比较容易看数据