易语言地下城与勇士拾取卖物功能类源码
DNF辅助功能类
仅供学习参考,禁止商业用途
.版本 2
.程序集 功能
.子程序 自动攻击
.局部变量 A, 整数型
.局部变量 数值, 整数型
.判断循环首 (A = 0)
置随机数种子 ()
数值 = 取随机数 (0, 2)
.如果真 (是否有怪物 () = 真)
.如果真 (数值 = 0)
内存按键 (#X键)
.如果真结束
.如果真 (数值 = 1)
内存按键 (#Z键)
.如果真结束
.如果真 (数值 = 2)
内存按键 (#X键)
.如果真结束
.如果真结束
超级延时 (200)
.判断循环尾 ()
.子程序 跳过动画
汇编_写整数型 (汇编_加 (汇编_读整数型 (#动画基址), #动画偏移), 1)
.子程序 卖出遍历
.局部变量 背包指针, 整数型
.局部变量 首地址, 整数型
.局部变量 物品指针, 整数型
.局部变量 异常, 整数型
.局部变量 装备栏首地址, 整数型
.局部变量 装备指针, 整数型
.局部变量 I, 整数型
.局部变量 装备属性, 整数型
.局部变量 装备名称, 文本型
.局部变量 次数, 整数型
背包指针 = 汇编_读整数型 (#背包基址)
首地址 = 汇编_读整数型 (背包指针 + 88)
装备栏首地址 = 首地址 + 36
.计次循环首 (56, I)
装备指针 = 汇编_读整数型 (装备栏首地址 + (I - 1) × 4)
.如果真 (装备指针 ≠ 0)
装备属性 = 汇编_读整数型 (装备指针 + 368)
装备名称 = Unicode转Ansi (汇编_读字节集 (汇编_读整数型 (装备指针 + 36), 52))
.如果真 (取文本左边 (装备名称, 4) = “传承”)
到循环尾 ()
.如果真结束
.如果真 (装备属性 = 0 或 装备属性 = 1)
卖物Call (汇编_加 (装备指针, 8))
延时 (50)
处理事件 ()
.如果真结束
.如果真 (装备属性 = 2)
.如果真 (寻找文本 (装备名称, “密制”, , 假) ≠ -1)
卖物Call (汇编_加 (装备指针, 8))
延时 (50)
处理事件 ()
.如果真结束
.如果真结束
.如果真结束
.计次循环尾 ()
.子程序 装备处理
.局部变量 异步, 逻辑型, 静态
.局部变量 卖物, 卖物遍历
.局部变量 J, 整数型
.如果真 (异步 = 真)
返回 ()
.如果真结束
异步 = 真
卖物.背包指针 = 汇编_读整数型 (#背包基址)
卖物.首地址 = 汇编_读整数型 (汇编_加 (卖物.背包指针, 88))
卖物.装备栏首地址 = 汇编_加 (卖物.首地址, 36)
.计次循环首 (56, 卖物.I)
卖物.装备指针 = 汇编_读整数型 (汇编_加 (卖物.装备栏首地址, 汇编_减 (汇编_乘 (卖物.I, 4), 4)))
.如果真 (卖物.装备指针 ≠ 0)
卖物.装备属性 = 汇编_读整数型 (汇编_加 (卖物.装备指针, #背包属性偏移))
卖物.名称 = Unicode转Ansi (汇编_读字节集 (汇编_读整数型 (汇编_加 (卖物.装备指针, 36)), 52))
.如果真 (卖物.装备属性 = 0 或 卖物.装备属性 = 1 或 卖物.装备属性 = 2)
.如果真 (寻找文本 (卖物.名称, “传承”, , 假) = -1 或 寻找文本 (卖物.名称, “周年”, , 假) = -1 或 寻找文本 (卖物.名称, “纹”, , 假) = -1 或 寻找文本 (卖物.名称, “异界”, , 假) = -1 或 寻找文本 (卖物.名称, “三英雄”, , 假) = -1 或 寻找文本 (卖物.名称, “活动”, , 假) = -1)
.如果真 (卖物.装备属性 = 0)
卖物.白装 = 汇编_加 (卖物.白装, 1)
.如果真结束
.如果真 (卖物.装备属性 = 1)
卖物.蓝装 = 汇编_加 (卖物.蓝装, 1)
.如果真结束
.如果真 (卖物.装备属性 = 2)
卖物.紫装 = 汇编_加 (卖物.紫装, 1)
.如果真结束
.如果真 (文件读配置 (“装备处理”) = 1)
分解Call (汇编_加 (卖物.I, 8))
.如果真结束
.如果真 (文件读配置 (“装备处理”) = 2)
分解Call (汇编_加 (卖物.I, 8))
.如果真结束
J = J + 1
.如果真结束
.如果真结束
.如果真结束
.计次循环尾 ()
异步 = 假
组包_整理背包 ()
系统公告 (“处理白装 [ ” + 到文本 (卖物.白装) + “ ] 蓝装 [ ” + 到文本 (卖物.蓝装) + “ ] 紫装 [ ” + 到文本 (卖物.紫装) + “ ]”)
.子程序 不死秒杀
.局部变量 秒杀, 遍历类型
.如果真 (取游戏状态 () = 1)
返回 ()
.如果真结束
.如果真 (取游戏状态 () = 3)
秒杀.触发指针 = 汇编_读整数型 (#人物基址)
秒杀.首地址 = 汇编_取偏移地址 (#人物基址, { #地图偏移, #首地址, 0 })
秒杀.尾地址 = 汇编_取偏移地址 (#人物基址, { #地图偏移, #尾地址, 0 })
秒杀.遍历数量 = 汇编_减 (秒杀.尾地址, 秒杀.首地址) ÷ 4
.计次循环首 (秒杀.遍历数量, 秒杀.遍历计次)
秒杀.遍历指针 = 汇编_读整数型 (汇编_加 (秒杀.首地址, 秒杀.遍历计次 × 4))
秒杀.遍历类型 = 汇编_读整数型 (汇编_加 (秒杀.遍历指针, #类型偏移))
秒杀.遍历阵营 = 汇编_读整数型 (汇编_加 (秒杀.遍历指针, #阵营偏移))
秒杀.遍历血量 = 汇编_读整数型 (汇编_加 (秒杀.遍历指针, #怪物血量))
.如果真 (秒杀.遍历类型 = 529 或 秒杀.遍历类型 = 273 或 秒杀.遍历类型 = 545)
.如果真 (秒杀.遍历阵营 ≠ 0 且 秒杀.遍历指针 ≠ 秒杀.触发指针 且 秒杀.遍历血量 > 0)
' ' ' 消失Call (秒杀.首地址 + 4 × 秒杀.遍历计次, 到整数 (12))
超级加密 (汇编_加 (秒杀.遍历指针, #不死偏移), 1) ' 不死偏移
' 无形Call (秒杀.遍历指针)
' 模拟秒杀 (秒杀.遍历指针)
' 血量Call (0, 秒杀.触发指针, 秒杀.遍历指针)
' 内存扣血Call (秒杀.触发指针, 秒杀.遍历指针, -秒杀.遍历血量, 100)
.如果真结束
.如果真结束
.计次循环尾 ()
.如果真结束
系统公告 (“无形秒杀”)
.子程序 无形秒杀
全局_消息反馈 = 12
.子程序 拾取遍历
.局部变量 人物地址, 整数型
.局部变量 地图, 整数型
.局部变量 首地址, 整数型
.局部变量 尾地址, 整数型
.局部变量 数量, 整数型
.局部变量 i, 整数型
.局部变量 地址, 整数型
.局部变量 类型, 整数型
.局部变量 阵营, 整数型
.局部变量 X, 整数型
.局部变量 Y, 整数型
人物地址 = 汇编_读整数型 (#人物基址)
地图 = 汇编_读整数型 (汇编_加 (人物地址, #地图偏移))
首地址 = 汇编_读整数型 (汇编_加 (地图, #首地址))
尾地址 = 汇编_读整数型 (汇编_加 (地图, #尾地址))
数量 = (尾地址 - 首地址) ÷ 4
.计次循环首 (数量, i)
地址 = 汇编_读整数型 (汇编_加 (首地址, 4 × i))
类型 = 汇编_读整数型 (汇编_加 (地址, #类型偏移))
.如果真 (类型 = 289)
X = 汇编_读小数型 (汇编_加 (人物地址, #X坐标))
Y = 汇编_读小数型 (汇编_加 (人物地址, #Y坐标))
组包拾取1 (超级解密 (汇编_加 (地址, 172)), X, Y)
.如果真结束
.计次循环尾 ()
.子程序 遍历入包
全局_消息反馈 = 7
.子程序 遍历卖物
全局_消息反馈 = 10
总结
以上是 易语言地下城与勇士拾取卖物功能类源码 的全部内容, 来源链接: utcz.com/z/356805.html