.版本 2
.子程序 秒吸物怪, , , 更新完毕
.局部变量 人物数据, 整数型
.局部变量 地图偏移, 整数型
.局部变量 首地址, 整数型
.局部变量 尾地址, 整数型
.局部变量 怪物阵营, 整数型
.局部变量 怪物数量, 整数型
.局部变量 计次, 整数型
.局部变量 怪物基址, 整数型
.局部变量 怪物类型, 整数型
.局部变量 物品_X轴, 小数型
.局部变量 物品_Y轴, 小数型
.局部变量 物品_Z轴, 小数型
.如果真 (读内存代码 (-1, #人物基址) ≤ 0) ' 判断在不在游戏内的
.如果真结束
.如果真 (读内存代码 (-1, #人物基址 + “+BC”) = 0)'判断角色在不在地图内
返回 ()
.如果真结束
人物数据 = 读内存整数型 (-1, 十六到十 (#人物基址))
地图偏移 = 读内存整数型 (-1, 人物数据 + 188)
首地址 = 读内存整数型 (-1, 地图偏移 + 176)
尾地址 = 读内存整数型 (-1, 地图偏移 + 180)
怪物数量 = (尾地址 - 首地址) ÷ 4'每个数组占4
.计次循环首 (怪物数量, 计次)
怪物基址 = 读内存整数型 (-1, 首地址 + 4 × 计次)'每个数组占4 每次循环 由上次地址+4 意思就是指向下一个数组地址
怪物阵营 = 读内存整数型 (-1, 怪物基址 + 2096)'怪物阵营判断数组在哪边
怪物类型 = 读内存整数型 (-1, 怪物基址 + 148)'判断数组的类型 是否为怪物
.如果真 (怪物阵营 ≠ 读内存整数型 (-1, 人物数据 + 2096))’如果数组不是我们这边的 言外之意就是对面阵营的执行下列操作
.如果真 (怪物类型 = 529 或 怪物类型 = 289 或 怪物类型 = 273)'其实吸怪吸物的差别就在这里 我忘了哪个类型是怪物哪个类型是物品了 其中有两个是
物品_X轴 = 读内存小数型 (-1, 读内存代码 (-1, #人物基址) + 424)'读取人物X/Y/Z轴
物品_Y轴 = 读内存小数型 (-1, 读内存代码 (-1, #人物基址) + 428)
物品_Z轴 = 读内存小数型 (-1, 读内存代码 (-1, #人物基址) + 432)
写内存小数型 (-1, 读内存整数型 (-1, 怪物基址 + 172) + 16, 物品_X轴)
写内存小数型 (-1, 读内存整数型 (-1, 怪物基址 + 172) + 20, 物品_Y轴)
写内存小数型 (-1, 读内存整数型 (-1, 怪物基址 + 172) + 24, 物品_Z轴)
.如果真结束
.如果真结束
.计次循环尾 ()
从上面的代码不难看出,DNF他把所有的地图对象(怪物、物品、建筑&……)都放在了一个数组上面 区分它们的办法就是靠里面的一个类型偏移
所以你会看到吸怪 吸物 等都差不多
然后首先是.如果真 (读内存代码 (-1, #人物基址) ≤ 0) 判断是否在游戏内部 (因为没有进入游戏或者没有开游戏 人物基址是为0的)
.如果真 (读内存代码 (-1, #人物基址 + “+BC”) = 0)'判断角色在不在地图内 BC是是否进入游戏地图的偏移 没有进入为0
地图偏移 = 读内存整数型 (-1, 人物数据 + 188)
首地址 = 读内存整数型 (-1, 地图偏移 + 176)
尾地址 = 读内存整数型 (-1, 地图偏移 + 180)
首地址 尾地址 就是相当于一个数组的第一个 和最后一个
怪物数量 = (尾地址 - 首地址) ÷ 4'每个数组占4
因为每个数组的一个地址占4个字节 所以要除于4 得出了数组的多少(就相当于知道了有多少个对象)
然后我们就开始循环
怪物基址 = 读内存整数型 (-1, 首地址 + 4 × 计次)'每个数组占4 每次循环 由上次地址+4 意思就是指向下一个数组地址
怪物阵营 = 读内存整数型 (-1, 怪物基址 + 2096)'怪物阵营判断数组在哪边
怪物类型 = 读内存整数型 (-1, 怪物基址 + 148)'判断数组的类型 是否为怪物
因为是计次循环 所以每次循环计次+1 然后因为每个地址占4个字节 所以我们的每次循环+4
就相当于说
第一地址:首地址+0
第二个地址:首地址+4x1
第三个地址:首地址+4x2
首地址+4×计次 得出了对象地址
加上相应的类型偏移就知道对象时不是怪物或者物品 然后写入自身X/Y/Z轴就行了~
.版本 2
.程序集 窗口程序集_启动窗口
.程序集变量 对象, 对象数组, , "20"
.子程序 __启动窗口_创建完毕
.局部变量 首地址, 整数型
.局部变量 尾地址, 整数型
首地址 = 对象 [1]
尾地址 = 对象 [20]
.版本 2
.数据类型 对象数组
.成员 地址, 整数型
.成员 怪物类型, 整数型
.成员 血值, 整数型
.成员 X, 整数型
.成员 Y, 整数型
.成员 Z, 整数型
转载自千明论坛
http://www.3d56.net
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课