易语言地下城与勇士辅助剧情类源码

DNF辅助剧情类源码

仅供学习参考,禁止商业用途

.版本 2
.支持库 EThread
.程序集 剧情
.子程序 跳过call
.局部变量 任务地址, 整数型
.局部变量 跳过CALL, 整数型
任务地址 = #任务基址
跳过CALL = #跳过CALL
置入代码 ({ 139, 77, 252, 139, 9, 106, 255, 106, 1, 255, 85, 248 })
.子程序 匹配副本
.局部变量 角色等级, 整数型
角色等级 = 汇编_读整数型 (#角色等级)
.判断开始 (角色等级 = 1)
  全局_剧情ID = 3 ' 幽暗密林
.判断 (角色等级 = 3)
  全局_剧情ID = 5 ' 雷鸣废墟
.判断 (角色等级 = 5)
  全局_剧情ID = 6 ' 猛毒雷鸣废墟
.判断 (角色等级 = 8)
  全局_剧情ID = 9 ' 冰霜幽暗密林
.判断 (角色等级 = 11)
  全局_剧情ID = 7 ' 格拉卡
.判断 (角色等级 = 13)
  全局_剧情ID = 8 ' 烈焰格拉卡
.判断 (角色等级 = 16)
  全局_剧情ID = 1000 ' 暗黑雷鸣废墟
.判断 (角色等级 = 17)
  全局_剧情ID = 10 ' 龙人之塔
.判断 (角色等级 = 18)
  全局_剧情ID = 11
.判断 (角色等级 = 19)
  全局_剧情ID = 12 ' 人偶玄关
.判断 (角色等级 = 20)
  全局_剧情ID = 13 ' 石巨人塔
.判断 (角色等级 = 21)
  全局_剧情ID = 14 ' 黑暗玄廊
.判断 (角色等级 = 22)
  全局_剧情ID = 17 ' 悬空城
.判断 (角色等级 = 23)
  全局_剧情ID = 15 ' 城主宫殿
.判断 (角色等级 = 24)
  全局_剧情ID = 21 ' 神殿外围
.判断 (角色等级 = 25)
  全局_剧情ID = 22 ' 树精丛林
.判断 (角色等级 = 26)
  全局_剧情ID = 23 ' 炼狱
.判断 (角色等级 = 27)
  全局_剧情ID = 24 ' 极昼
.判断 (角色等级 = 28)
  全局_剧情ID = 25 ' 第一脊椎
.判断 (角色等级 = 29)
  全局_剧情ID = 26 ' 第二脊椎
.判断 (角色等级 = 30)
  全局_剧情ID = 27 ' 天帷禁地
.判断 (角色等级 = 30)
  全局_剧情ID = 31 ' 浅栖之地
.判断 (角色等级 = 31)
  全局_剧情ID = 32 ' 蜘蛛洞穴
.判断 (角色等级 = 32)
  全局_剧情ID = 150 ' 蜘蛛王国
.判断 (角色等级 = 33)
  全局_剧情ID = 151 ' 英雄冢
.判断 (角色等级 = 34)
  全局_剧情ID = 35 ' 暗精灵墓地
.判断 (角色等级 = 35)
  全局_剧情ID = 34 ' 熔岩穴
.判断 (角色等级 = 36)
  全局_剧情ID = 36 ' 暗黑城入口
.判断 (角色等级 = 36)
  全局_剧情ID = 152 ' 暴君的祭坛
.判断 (角色等级 = 37)
  全局_剧情ID = 153 ' 黄金矿洞
.判断 (角色等级 = 38)
  全局_剧情ID = 154 ' 远古墓穴深处
.判断 (角色等级 = 39)
  全局_剧情ID = 154 ' 远古墓穴深处
.判断 (角色等级 = 40)
  全局_剧情ID = 40 ' 山脊
.判断 (角色等级 = 41)
  全局_剧情ID = 41 ' 冰心少年
.判断 (角色等级 = 42)
  全局_剧情ID = 42 ' 利库天井
.判断 (角色等级 = 43)
  全局_剧情ID = 43 ' 白色废墟
.判断 (角色等级 = 44)
  全局_剧情ID = 141 ' 布万加的修炼场
.判断 (角色等级 = 45)
  全局_剧情ID = 141 ' 绿都格罗兹尼
.判断 (角色等级 = 46)
  全局_剧情ID = 61 ' 绿都格罗兹尼
.判断 (角色等级 = 47)
  全局_剧情ID = 50 ' 堕落的盗贼
.判断 (角色等级 = 47)
  全局_剧情ID = 7146 ' 秘密村庄
.判断 (角色等级 = 48)
  全局_剧情ID = 51 ' 迷乱之村哈穆林
.判断 (角色等级 = 48)
  全局_剧情ID = 52 ' 血蝴蝶之舞
.判断 (角色等级 = 49)
  全局_剧情ID = 53 ' 疑惑之村
.判断 (角色等级 = 50)
  全局_剧情ID = 144 ' 炽晶森林
.判断 (角色等级 = 51)
  全局_剧情ID = 145 ' 冰晶森林
.判断 (角色等级 = 51)
  全局_剧情ID = 7147 ' 精灵之森
.判断 (角色等级 = 52)
  全局_剧情ID = 146 ' 水晶矿脉
.判断 (角色等级 = 53)
  全局_剧情ID = 148 ' 幽冥监狱
.判断 (角色等级 = 54)
  全局_剧情ID = 156 ' 蘑菇庄园
.判断 (角色等级 = 55)
  全局_剧情ID = 157 ' 蚁后的巢穴
.判断 (角色等级 = 56)
  全局_剧情ID = 7148 ' 地下水道
.判断 (角色等级 = 57)
  全局_剧情ID = 158 ' 腐烂之地
.判断 (角色等级 = 57)
  全局_剧情ID = 159 ' 赫顿玛尔旧街区
.判断 (角色等级 = 57)
  全局_剧情ID = 160 ' 绝望的棋局
.判断 (角色等级 = 58)
  全局_剧情ID = 161 ' 鲨鱼栖息地
.判断 (角色等级 = 59)
  全局_剧情ID = 162 ' 人鱼国度
.判断 (角色等级 = 60)
  全局_剧情ID = 163 ' GBL女神殿
.判断 (角色等级 = 60)
  全局_剧情ID = 7149 ' 天空岛
.判断 (角色等级 = 61)
  全局_剧情ID = 164 ' 树精繁殖地
.判断 (角色等级 = 62)
  全局_剧情ID = 164 ' 树精繁殖地
.判断 (角色等级 = 63)
  全局_剧情ID = 80 ' 根特外围
.判断 (角色等级 = 64)
  全局_剧情ID = 81 ' 根特东门
.判断 (角色等级 = 65)
  全局_剧情ID = 82 ' 根特南门
.判断 (角色等级 = 65)
  全局_剧情ID = 7150 ' 哈尔特山
.判断 (角色等级 = 66)
  全局_剧情ID = 88 ' 根特北门
.判断 (角色等级 = 67)
  全局_剧情ID = 89 ' 根特防御战
.判断 (角色等级 = 68)
  全局_剧情ID = 83 ' 夜间袭击战
.判断 (角色等级 = 69)
  全局_剧情ID = 84 ' 补给线阻断战
.判断 (角色等级 = 70)
  全局_剧情ID = 85 ' 追击歼灭战
.判断 (角色等级 = 71)
  全局_剧情ID = 86 ' 列车上的海贼
.判断 (角色等级 = 72)
  全局_剧情ID = 87 ' 夺回西部线
.判断 (角色等级 = 72)
  全局_剧情ID = 7151 ' 海上航线
.判断 (角色等级 = 73)
  全局_剧情ID = 92 ' 雾都赫伊斯
.判断 (角色等级 = 74)
  全局_剧情ID = 93 ' 阿登高地
.判断 (角色等级 = 75)
  全局_剧情ID = 70 ' 格兰之火
.判断 (角色等级 = 76)
  全局_剧情ID = 71 ' 瘟疫之源
.判断 (角色等级 = 77)
  全局_剧情ID = 72 ' 卡勒特之初
.判断 (角色等级 = 77)
  全局_剧情ID = 7152 ' 时间界限
.判断 (角色等级 = 78)
  全局_剧情ID = 74 ' 绝密区域
.判断 (角色等级 = 79)
  全局_剧情ID = 75 ' 昔日悲鸣
.判断 (角色等级 = 80)
  全局_剧情ID = 76 ' 凛冬
.判断 (角色等级 = 80)
  全局_剧情ID = 77 ' 谜之觉悟
.判断 (角色等级 = 81)
  全局_剧情ID = 101 ' 克雷发电站
.判断 (角色等级 = 81)
  全局_剧情ID = 102 ' 普鲁兹发电站
.判断 (角色等级 = 81)
  全局_剧情ID = 7153 ' 控制塔
.判断 (角色等级 = 82)
  全局_剧情ID = 103 ' 特伦斯发电站
.判断 (角色等级 = 83)
  全局_剧情ID = 104 ' 格兰迪发电站
.判断 (角色等级 = 84)
  全局_剧情ID = 3200 ' 纳特拉的复仇
.判断 (角色等级 = 84)
  全局_剧情ID = 3201 ' 双子巨人的背叛
.判断 (角色等级 = 84)
  全局_剧情ID = 3202 ' 圣地 : 龙之魂
.判断 (角色等级 = 85)
  全局_剧情ID = 190 ' 倒悬的瞭望台
.判断 (角色等级 = 85)
  全局_剧情ID = 191 ' 卢克的聚光镜
.判断 (角色等级 = 85)
  全局_剧情ID = 192 ' 钢铁之臂
.判断 (角色等级 = 85)
  全局_剧情ID = 7154 ' 不灭回廊
.判断 (角色等级 = 86)
  全局_剧情ID = 193 ' 能源熔炉
.判断 (角色等级 = 86)
  全局_剧情ID = 194 ' 光之舞会
.判断 (角色等级 = 87)
  全局_剧情ID = 310 ' 时间广场
.判断 (角色等级 = 87)
  全局_剧情ID = 311 ' 兽人峡谷
.判断 (角色等级 = 88)
  全局_剧情ID = 312 ' 恐怖的栖息地
.判断 (角色等级 = 88)
  全局_剧情ID = 313 ' 疾风地带
.判断 (角色等级 = 88)
  全局_剧情ID = 7155 ' 血色防线
.判断 (角色等级 = 89)
  全局_剧情ID = 314 ' 红色魔女之森
.默认
.判断结束
区域 = 地图id转区域Call (全局_剧情ID)
组包_城镇移动 (区域.大区域, 区域.小区域, 区域.X坐标, 区域.Y坐标)
延时 (500)
组包_选出图 (1)
延时 (1000)
.如果 (角色等级 > 16)
  .如果 (角色等级 > 30)
    .如果 (角色等级 > 50)
      .如果 (角色等级 > 70)
        组包_进图 (全局_剧情ID, 4)
        组包_进图 (全局_剧情ID, 3)
        组包_进图 (全局_剧情ID, 2)
        组包_进图 (全局_剧情ID, 1)
        组包_进图 (全局_剧情ID, 0)
      .否则
        组包_进图 (全局_剧情ID, 3)
        组包_进图 (全局_剧情ID, 2)
        组包_进图 (全局_剧情ID, 1)
        组包_进图 (全局_剧情ID, 0)
      .如果结束
    .否则
      组包_进图 (全局_剧情ID, 2)
      组包_进图 (全局_剧情ID, 1)
      组包_进图 (全局_剧情ID, 0)
    .如果结束
  .否则
    组包_进图 (全局_剧情ID, 1)
    组包_进图 (全局_剧情ID, 0)
  .如果结束
.否则
  组包_进图 (全局_剧情ID, 0)
.如果结束
.子程序 任务是否完成, 整数型
.局部变量 首地址, 整数型
.局部变量 尾地址, 整数型
.局部变量 数量, 整数型
.局部变量 次数, 整数型
.局部变量 任务类型, 整数型
.局部变量 任务地址, 整数型
.局部变量 任务完成, 整数型
首地址 = 汇编_读整数型 (汇编_读整数型 (#任务基址) + 8)
尾地址 = 汇编_读整数型 (汇编_读整数型 (#任务基址) + 12)
数量 = (尾地址 - 首地址) ÷ 4
.计次循环首 (数量, 次数)
  任务地址 = 汇编_读整数型 (首地址 + (次数 - 1) × 4)
  任务类型 = 汇编_读整数型 (任务地址 + 308)
  .如果真 (任务类型 = 0)
    任务完成 = 超级解密 (首地址 + 次数 × 4)
    延时 (100)
    返回 (任务完成)
  .如果真结束
.计次循环尾 ()
返回 (0)
.子程序 任务是否需要材料, 逻辑型
.局部变量 遍历, 遍历结构
遍历.一级偏移 = 汇编_读整数型 (#任务基址)
遍历.首地址 = 汇编_读整数型 (汇编_加 (遍历.一级偏移, 104))
遍历.尾地址 = 汇编_读整数型 (汇编_加 (遍历.一级偏移, 108))
遍历.怪物数量 = 汇编_减 (遍历.尾地址, 遍历.首地址) ÷ 4
.计次循环首 (遍历.怪物数量, 遍历.次数)
  遍历.怪物地址 = 汇编_读整数型 (汇编_加 (遍历.首地址, 汇编_减 (遍历.次数, 1) × 4))
  .判断开始 (寻找文本 (Unicode转Ansi (汇编_读字节集 (汇编_加 (遍历.怪物地址, 8), 100)), 到文本 ({ 63 }), 1, 假) = -1)
    遍历.任务名称 = Unicode转Ansi (汇编_读字节集 (汇编_加 (遍历.怪物地址, 8), 100))
  .默认
    遍历.任务名称 = Unicode转Ansi (汇编_读字节集 (汇编_读整数型 (汇编_加 (遍历.怪物地址, 8)), 100))
  .判断结束
  .如果真 (取文本长度 (遍历.任务名称) ≤ 1)
    ' 到循环尾 ()
  .如果真结束
  .如果真 (汇编_读整数型 (汇编_加 (遍历.怪物地址, #任务类型)) = 0)
    .如果真 (汇编_读整数型 (遍历.怪物地址 + #任务材料) ≠ 0)
      返回 (真)
    .如果真结束
  .如果真结束
.计次循环尾 ()
返回 (假)
.子程序 任务是否存在, 逻辑型
.参数 任务编号ID, 整数型
.局部变量 遍历, 遍历结构
遍历.一级偏移 = 汇编_读整数型 (#任务基址)
遍历.首地址 = 汇编_读整数型 (汇编_加 (遍历.一级偏移, 104))
遍历.尾地址 = 汇编_读整数型 (汇编_加 (遍历.一级偏移, 108))
遍历.怪物数量 = 汇编_减 (遍历.尾地址, 遍历.首地址) ÷ 4
.计次循环首 (遍历.怪物数量, 遍历.次数)
  遍历.怪物地址 = 汇编_读整数型 (汇编_加 (遍历.首地址, 汇编_减 (遍历.次数, 1) × 4))
  遍历.任务ID = 汇编_读整数型 (遍历.怪物地址)
  .如果真 (遍历.任务ID = 任务编号ID)
    返回 (真)
  .如果真结束
.计次循环尾 ()
返回 (假)
.子程序 接受任务主线, 整数型
.局部变量 遍历, 遍历结构
遍历.首地址 = 汇编_读整数型 (汇编_加 (汇编_读整数型 (#任务基址), 104))
遍历.尾地址 = 汇编_读整数型 (汇编_加 (汇编_读整数型 (#任务基址), 108))
遍历.怪物数量 = 汇编_减 (遍历.尾地址, 遍历.首地址) ÷ 4
.计次循环首 (遍历.怪物数量, 遍历.次数)
  遍历.怪物地址 = 汇编_读整数型 (汇编_加 (遍历.首地址, 汇编_减 (遍历.次数, 1) × 4))
  遍历.任务ID = 汇编_读整数型 (遍历.怪物地址)
  .如果真 (汇编_读整数型 (汇编_加 (遍历.怪物地址, 308)) = 0)
    接受Call (遍历.任务ID)
    延时 (100)
    接受Call (遍历.任务ID)
    返回 (遍历.任务ID)
  .如果真结束
.计次循环尾 ()
返回 (0)
.子程序 处理提交任务
.局部变量 局_基址, 整数型
.局部变量 局_首部, 整数型
.局部变量 局_尾部, 整数型
.局部变量 局_数量, 整数型
.局部变量 局_指针, 整数型
.局部变量 局_类型, 整数型
.局部变量 局_次数, 整数型
.局部变量 局_计次, 整数型
局_基址 = 汇编_读整数型 (#任务基址)
局_首部 = 汇编_读整数型 (局_基址 + 8)
局_尾部 = 汇编_读整数型 (局_基址 + 12)
局_数量 = (局_尾部 - 局_首部) ÷ 12
.计次循环首 (局_数量, 局_计次)
  局_指针 = 汇编_读整数型 (局_首部 + (局_计次 - 1) × 12)
  局_类型 = 汇编_读整数型 (局_指针 + 308)
  局_次数 = 超级解密 (局_首部 + (局_计次 - 1) × 12 + 4)
  .如果真 (局_类型 = 0 且 局_次数 = 0)
    延时 (100)
    提交Call (汇编_读整数型 (局_指针))
  .如果真结束
.计次循环尾 ()
返回 ()
.子程序 获取主线任务, 整数型
.局部变量 局_基址, 整数型
.局部变量 局_首部, 整数型
.局部变量 局_尾部, 整数型
.局部变量 局_数量, 整数型
.局部变量 局_计次, 整数型
.局部变量 局_指针, 整数型
.局部变量 局_类型, 整数型
局_基址 = 汇编_读整数型 (#任务基址)
局_首部 = 汇编_读整数型 (局_基址 + 104)
局_尾部 = 汇编_读整数型 (局_基址 + 108)
局_数量 = (局_尾部 - 局_首部) ÷ 4
.计次循环首 (局_数量, 局_计次)
  局_指针 = 汇编_读整数型 (局_首部 + (局_计次 - 1) × 4)
  局_类型 = 汇编_读整数型 (局_指针 + 308)
  .如果真 (局_类型 = 0) ' 0=主线任务
    返回 (汇编_读整数型 (局_指针))
  .如果真结束
.计次循环尾 ()
返回 (-1)
.子程序 任务是否相同, 逻辑型
.参数 参_编号, 整数型
.局部变量 局_基址, 整数型
.局部变量 局_首部, 整数型
.局部变量 局_尾部, 整数型
.局部变量 局_数量, 整数型
.局部变量 局_计次, 整数型
.局部变量 局_指针, 整数型
.局部变量 局_类型, 整数型
局_基址 = 汇编_读整数型 (#任务基址)
局_首部 = 汇编_读整数型 (局_基址 + 8)
局_尾部 = 汇编_读整数型 (局_基址 + 12)
局_数量 = (局_尾部 - 局_首部) ÷ 4
.计次循环首 (局_数量, 局_计次)
  局_指针 = 汇编_读整数型 (局_首部 + (局_计次 - 1) × 12)
  局_类型 = 汇编_读整数型 (局_指针 + 308)
  .如果真 (局_类型 = 0) ' 0=主线任务
    .如果真 (汇编_读整数型 (局_指针) = 参_编号)
      返回 (真)
    .如果真结束
  .如果真结束
.计次循环尾 ()
返回 (假)
.子程序 获取任务次数, 整数型
.参数 参_编号, 整数型
.局部变量 局_基址, 整数型
.局部变量 局_首部, 整数型
.局部变量 局_尾部, 整数型
.局部变量 局_数量, 整数型
.局部变量 局_计次, 整数型
.局部变量 局_指针, 整数型
.局部变量 局_类型, 整数型
.局部变量 局_次数, 整数型
局_基址 = 汇编_读整数型 (#任务基址)
局_首部 = 汇编_读整数型 (局_基址 + 8)
局_尾部 = 汇编_读整数型 (局_基址 + 12)
局_数量 = (局_尾部 - 局_首部) ÷ 12
.计次循环首 (局_数量, 局_计次)
  局_指针 = 汇编_读整数型 (局_首部 + (局_计次 - 1) × 12)
  局_类型 = 汇编_读整数型 (局_指针 + 308)
  .如果真 (局_类型 = 0 且 汇编_读整数型 (局_指针) = 参_编号) ' 0=主线任务
    局_次数 = 超级解密 (局_首部 + (局_计次 - 1) × 12 + 4)
    返回 (局_次数)
  .如果真结束
.计次循环尾 ()
返回 (-1)
.子程序 获取任务副本, 整数型
.参数 参_编号, 整数型
.局部变量 局_基址, 整数型
.局部变量 局_首部, 整数型
.局部变量 局_尾部, 整数型
.局部变量 局_数量, 整数型
.局部变量 局_计次, 整数型
.局部变量 局_指针, 整数型
.局部变量 局_类型, 整数型
局_基址 = 汇编_读整数型 (#任务基址)
局_首部 = 汇编_读整数型 (局_基址 + 8)
局_尾部 = 汇编_读整数型 (局_基址 + 12)
局_数量 = (局_尾部 - 局_首部) ÷ 12
.计次循环首 (局_数量, 局_计次)
  局_指针 = 汇编_读整数型 (局_首部 + (局_计次 - 1) × 12)
  局_类型 = 汇编_读整数型 (局_指针 + 308)
  .如果真 (局_类型 = 0 且 汇编_读整数型 (局_指针) = 参_编号) ' 0=主线任务
    返回 (汇编_读整数型 (汇编_读整数型 (局_指针 + 696)))
  .如果真结束
.计次循环尾 ()
返回 (-1)
.子程序 获取任务要求, 文本型
.参数 参_编号, 整数型
.局部变量 局_基址, 整数型
.局部变量 局_首部, 整数型
.局部变量 局_尾部, 整数型
.局部变量 局_数量, 整数型
.局部变量 局_计次, 整数型
.局部变量 局_指针, 整数型
.局部变量 局_类型, 整数型
局_基址 = 汇编_读整数型 (#任务基址)
局_首部 = 汇编_读整数型 (局_基址 + 8)
局_尾部 = 汇编_读整数型 (局_基址 + 12)
局_数量 = (局_尾部 - 局_首部) ÷ 12
.计次循环首 (局_数量, 局_计次)
  局_指针 = 汇编_读整数型 (局_首部 + (局_计次 - 1) × 12)
  局_类型 = 汇编_读整数型 (局_指针 + 308)
  .如果真 (局_类型 = 0 且 汇编_读整数型 (局_指针) = 参_编号) ' 0=主线任务
    返回 (Unicode转Ansi (汇编_读字节集 (汇编_读整数型 (局_指针 + 720), 100))) ' 256
  .如果真结束
.计次循环尾 ()
返回 (“”)
.子程序 获取主线名称, 文本型
.参数 参_编号, 整数型
.局部变量 局_基址, 整数型
.局部变量 局_首部, 整数型
.局部变量 局_尾部, 整数型
.局部变量 局_数量, 整数型
.局部变量 局_计次, 整数型
.局部变量 局_指针, 整数型
.局部变量 局_类型, 整数型
.局部变量 局_长度, 整数型
局_基址 = 汇编_读整数型 (#任务基址)
局_首部 = 汇编_读整数型 (局_基址 + 8)
局_尾部 = 汇编_读整数型 (局_基址 + 12)
局_数量 = (局_尾部 - 局_首部) ÷ 12
.计次循环首 (局_数量, 局_计次)
  局_指针 = 汇编_读整数型 (局_首部 + (局_计次 - 1) × 12)
  局_类型 = 汇编_读整数型 (局_指针 + 308)
  局_长度 = 汇编_读整数型 (局_指针 + 28)
  .如果真 (局_类型 = 0 且 汇编_读整数型 (局_指针) = 参_编号) ' 0=主线任务
    .如果 (局_长度 > 7)
      返回 (Unicode转Ansi (汇编_读字节集 (汇编_读整数型 (局_指针 + 8), 100)))
    .否则
      返回 (Unicode转Ansi (汇编_读字节集 (局_指针 + 8, 100)))
    .如果结束
  .如果真结束
.计次循环尾 ()
返回 (“”)
.子程序 获取任务材料, 逻辑型
.参数 参_编号, 整数型
.局部变量 局_基址, 整数型
.局部变量 局_首部, 整数型
.局部变量 局_尾部, 整数型
.局部变量 局_数量, 整数型
.局部变量 局_计次, 整数型
.局部变量 局_指针, 整数型
.局部变量 局_类型, 整数型
.局部变量 局_条件, 整数型
局_基址 = 汇编_读整数型 (#任务基址)
局_首部 = 汇编_读整数型 (局_基址 + 8)
局_尾部 = 汇编_读整数型 (局_基址 + 12)
局_数量 = (局_尾部 - 局_首部) ÷ 12
.计次循环首 (局_数量, 局_计次)
  局_指针 = 汇编_读整数型 (局_首部 + (局_计次 - 1) × 12)
  局_类型 = 汇编_读整数型 (局_指针 + 308)
  .如果真 (局_类型 = 0 且 汇编_读整数型 (局_指针) = 参_编号)
    局_条件 = 汇编_读整数型 (局_指针 + 1424)
    .如果真 (局_条件 ≠ 0)
      返回 (真)
    .如果真结束
  .如果真结束
.计次循环尾 ()
返回 (假)
.子程序 获取任务数据, 任务数据型
.局部变量 首地址, 整数型
.局部变量 尾地址, 整数型
.局部变量 数量, 整数型
.局部变量 次数, 整数型
.局部变量 任务地址, 整数型
.局部变量 任务条件, 文本型
.局部变量 任务类型, 整数型
.局部变量 任务数据, 任务数据型
.局部变量 任务大小, 整数型
.局部变量 任务材料, 整数型
连续赋值 (0, 任务数据.任务ID, 任务数据.任务通过, 任务数据.任务副本, 任务数据.任务完成)
任务数据.任务名称 = “”
首地址 = 汇编_读整数型 (汇编_读整数型 (#任务基址) + 104)
尾地址 = 汇编_读整数型 (汇编_读整数型 (#任务基址) + 108)
数量 = (尾地址 - 首地址) ÷ 4
.计次循环首 (数量, 次数)
  任务地址 = 汇编_读整数型 (首地址 + (次数 - 1) × 4)
  任务类型 = 汇编_读整数型 (任务地址 + 308)
  .如果真 (任务类型 = 0)
    任务数据.任务ID = 汇编_读整数型 (任务地址)
    任务数据.任务副本 = 汇编_读整数型 (汇编_读整数型 (任务地址 + 696)) ' 624--656
    任务大小 = 汇编_读整数型 (任务地址 + 28)
    .如果 (任务大小 > 7)
      任务数据.任务名称 = Unicode转Ansi (汇编_读字节集 (汇编_读整数型 (任务地址 + 8), 50))
    .否则
      任务数据.任务名称 = Unicode转Ansi (汇编_读字节集 (任务地址 + 8, 100))
    .如果结束
    任务条件 = Unicode转Ansi (汇编_读字节集 (汇编_读整数型 (任务地址 + 720), 100)) ' 668--700
    .判断开始 (寻找文本 (任务条件, “quest”, , 假) ≠ -1)
      任务数据.任务通过 = 4
    .默认
      任务数据.任务通过 = 3
    .判断结束
  .如果真结束
.计次循环尾 ()
延时 (100)
返回 (任务数据)
.子程序 智能计算任务
.局部变量 局_循环, 逻辑型
.局部变量 局_次数, 整数型
.局部变量 局_要求, 文本型
.局部变量 局_完成, 整数型, , "3"
.局部变量 任务数据, 任务数据型
进入许可区 (剧情_许可)
局_循环 = 取反 (局_循环)
.判断循环首 (局_循环)
  处理提交任务 ()
  延时 (500)
  局_任务 = 获取主线任务 ()
  .如果 (局_任务 > 0)
    接受Call (局_任务)
    .如果真 (任务是否相同 (局_任务) = 假)
      到循环尾 ()
    .如果真结束
    局_次数 = 获取任务次数 (局_任务)
    剧情副本ID = 获取任务副本 (局_任务)
    局_要求 = 获取任务要求 (局_任务)
    任务数据 = 获取任务数据 ()
    .如果真 (任务数据.任务通过 = 4)
      .如果 (任务是否完成 () < 100 且 任务是否完成 () > 0)
        完成Call (局_任务)
        延时 (500)
      .否则
        延时 (500)
        完成Call (局_任务)
      .如果结束
      系统公告 (“卡任务了,自动重新选择角色~”)
      提交Call (局_任务)
      延时 (300)
      角色位置 = 汇编_取偏移地址 (#角色基址, { 200, 200, 0 }) ' 汇编_取偏移地址 (#角色基址, { 176, 264, 0 })
      延时 (300)
      组包_选择界面 ()
      延时 (2000)
      组包_选择角色 (角色位置)
      延时 (4000)
      到循环尾 ()
    .如果真结束
    .如果真 (局_要求 = “[hunt enemy]” 或 局_要求 = “[meet npc]” 或 局_要求 = “[hunt monster]” 或 局_要求 = “[seek n meet npc]” 或 局_要求 = “[question]” 或 局_要求 = “[quest clear]” 或 局_要求 = “[reach the range]” 或 局_要求 = “[look cinematic]”)
      .如果真 (局_次数 = 512)
        局_次数 = 1
      .如果真结束
      局_完成 [1] = 取整 (局_次数 % 512) ' 第一排
      局_完成 [2] = 取整 (局_次数 ÷ 512) ' 第二排
      局_完成 [3] = 取整 (局_次数 ÷ 262144) ' 第三排
      数组排序 (局_完成, 假)
      .如果真 (局_完成 [1] = 0)
        局_完成 [1] = 1
      .如果真结束
      .计次循环首 (局_完成 [1], )
        完成Call (局_任务)
        延时 (300)
      .计次循环尾 ()
      延时 (500)
      提交Call (局_任务)
      延时 (500)
      提交Call (局_任务)
      到循环尾 ()
    .如果真结束
    .如果真 (剧情副本ID > 0)
      .如果真 (局_要求 = “[condition under clear]” 或 局_要求 = “[seeking]” 或 局_要求 = “[clear map]”)
        系统公告 (“任务[” + 获取主线名称 (局_任务) + “]主线ID[” + 到文本 (局_任务) + “]”)
        区域 = 地图id转区域Call (剧情副本ID)
        组包_城镇移动 (区域.大区域, 区域.小区域, 区域.X坐标, 区域.Y坐标)
        延时 (500)
        全局_消息反馈 = 2
        延时 (1000)
        组包_剧情进图 (剧情副本ID, 0, 局_任务)
        超级延时 (3500)
        全局_消息反馈 = 19 ' 透明评分
        局_循环 = 取反 (局_循环)
        到循环尾 ()
      .如果真结束
    .如果真结束
    .如果真 (获取任务材料 (局_任务))
      .如果真 (局_要求 = “[seeking]”)
        系统公告 (“当前任务需购买材料-请自己购买”)
        延时 (500)
        跳过call ()
        延时 (200)
        智能计算任务 ()
        局_循环 = 取反 (局_循环)
        到循环尾 ()
      .如果真结束
    .如果真结束
  .否则
    .如果真 (局_任务 = -1)
      延时 (2000)
      .如果真 (取游戏状态 () = 1)
        局_任务 = 获取主线任务 ()
        延时 (200)
        接受Call (局_任务)
        延时 (200)
        .如果真 (局_任务 < 0)
          系统公告 (“无主线任务 - 执行升级”)
          匹配副本 ()
          超级延时 (300)
        .如果真结束
        延时 (300)
        智能计算任务 ()
      .如果真结束
      局_循环 = 取反 (局_循环)
      到循环尾 ()
    .如果真结束
  .如果结束
.判断循环尾 ()
退出许可区 (剧情_许可)

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

(0)

相关推荐

  • 易语言做游戏辅助的方法

    学会易语言做辅助,就要先学会用CE来寻找游戏的基址,当然新手要从小游戏开始,我电脑没有什么大游戏,我就以超级玛丽奥为列 1,打开游戏和CE 2,打开游戏进程. 3,首次未知数值扫描 4,吃个蘑菇变大,选择变动的数值进行扫描 5,让人物变小,在选变动的数值扫描 6,这样反复搜索,最后得出 变小值为0 变大值为 1 6,打开易语言进行写挂 用一个时钟来控制无敌 7.编译,OK试试外挂 8.测试OK,碰到怪物就变大, 我这只是个列子,希望对你有用

  • 易语言制作国王的勇士辅助步骤

    用易语言制作国王的勇士辅助 1.打开易语言,双击windows窗口程序,这样就进去了 2.进去之后,左边有属性,调整高度和宽度,比国王的勇士窗口大就行.然后在菜单栏找到工具  支持配置库  全选 然后确定 3.在右边找到超文本浏览框 然后放在你的启动窗口里,然后在左边的地址里输入游戏的网址,然后把超文本框拉平,覆盖全屏 4.然后在右边找到选择夹放到你认为合适的地方,然后拉大. 5.然后在左边找到状态条,然后放在一个你觉得合适的地方,然后右击,找到项目设置,进去之后,先插入,点击插入的空白,在内容

  • 易语言地下城与勇士辅助自动刷图类源码

    DNF辅助自动刷图类 仅供学习参考,禁止商业用途 .版本 2 .支持库 EThread .支持库 spec .程序集 自动 .子程序 自动刷图 .判断开始 (全局_总开关.自动刷图开关 = 假) 全局_总开关.自动刷图开关 = 真 .判断开始 (文件读配置 ("刷图模式") = 1) 系统公告 ("自动刷图 - 开启") .判断 (文件读配置 ("刷图模式") = 2) 系统公告 ("自动剧情 - 开启") .判断 (文件读配

  • 易语言制作英雄联盟辅助的源码

    LOL辅助 此功能需要加载超级模块7.3 .版本 2 .程序集 窗口程序集_启动窗口 .程序集变量 pid, 整数型 .子程序 __启动窗口_创建完毕 pid = 取进程ID ("League of Legends.exe") 监视热键 (&开启无限视距, #F5键) 监视热键 (&关闭无限视距, #F6键) 监视热键 (&开启普攻范围, #F2键) 监视热键 (&关闭普攻范围, #F1键) 监视热键 (&开启炮塔范围, #F4键) 监视热键 (

  • 易语言地下城与勇士辅助顺图类源码

    DNF辅助顺图类源码 仅供学习参考,禁止商业用途 .版本 2 .程序集 顺图 .子程序 顺图结构 .参数 方向ID, 整数型 .局部变量 一级偏移, 整数型 .局部变量 二级偏移, 整数型 .局部变量 临时数据, 整数型 .局部变量 坐标结构, 整数型 .局部变量 x, 整数型 .局部变量 y, 整数型 .局部变量 xF, 整数型 .局部变量 yF, 整数型 .局部变量 cx, 整数型 .局部变量 cy, 整数型 一级偏移 = 汇编_读整数型 (#人物基址) 二级偏移 = 汇编_读整数型 (一级

  • 易语言地下城与勇士辅助剧情类源码

    DNF辅助剧情类源码 仅供学习参考,禁止商业用途 .版本 2 .支持库 EThread .程序集 剧情 .子程序 跳过call .局部变量 任务地址, 整数型 .局部变量 跳过CALL, 整数型 任务地址 = #任务基址 跳过CALL = #跳过CALL 置入代码 ({ 139, 77, 252, 139, 9, 106, 255, 106, 1, 255, 85, 248 }) .子程序 匹配副本 .局部变量 角色等级, 整数型 角色等级 = 汇编_读整数型 (#角色等级) .判断开始 (角色

  • 易语言制作欢乐斗牛单机版游戏源码

    DLL命令表 .版本 2 .DLL命令 复制内存_复制位图信息头到字节集, , , "RtlMoveMemory" .参数 Dest, 字节型, 传址 .参数 Src, BITMAPINFOHEADER .参数 len, 整数型 .DLL命令 复制内存_复制位图文件头到字节集, , , "RtlMoveMemory" .参数 Dest, 字节型, 传址 .参数 Src, 文件头信息_ .参数 len, 整数型 .DLL命令 复制内存_字节集到字节集, , , &qu

  • 易语言HOSTS式反钓鱼拦截源码

    HOSTS式钓鱼拦截源码 利用HOSTS来拦截SMTP,再次提醒搭建小心钓鱼软件,对于未知的程序尽量在虚拟机里使用 .版本 2 .支持库 shell .程序集 窗口程序集1 .程序集变量 IP, 文本型 .程序集变量 host路径, 文本型 .程序集变量 原hosts是否存在, 逻辑型 .程序集变量 客户, 文本型 .程序集变量 是否为账号, 逻辑型 .程序集变量 是否为密码, 逻辑型 .程序集变量 账号, 文本型 .程序集变量 密码, 文本型 .子程序 列表框_加入提示 .参数 提示, 文本型

  • 易语言地下城与勇士拾取卖物功能类源码

    DNF辅助功能类 仅供学习参考,禁止商业用途 .版本 2 .程序集 功能 .子程序 自动攻击 .局部变量 A, 整数型 .局部变量 数值, 整数型 .判断循环首 (A = 0) 置随机数种子 () 数值 = 取随机数 (0, 2) .如果真 (是否有怪物 () = 真) .如果真 (数值 = 0) 内存按键 (#X键) .如果真结束 .如果真 (数值 = 1) 内存按键 (#Z键) .如果真结束 .如果真 (数值 = 2) 内存按键 (#X键) .如果真结束 .如果真结束 超级延时 (200)

  • 易语言Ex_DirectUI自绘扫雷游戏源码

    MineMartix .版本 2 .支持库 spec .程序集 MineMartix, Ex_控件基类, , ExDUI扩展组件_扫雷按钮 .程序集变量 m_颜色, 整数型 .程序集变量 m_透明度, 整数型 .程序集变量 m_Rect, RectF .程序集变量 m_hIcon, 整数型, , , 图像句柄 .程序集变量 m_单击回调指针, 整数型 .程序集变量 m_Mine, 逻辑型 .程序集变量 m_Pos, PointF .程序集变量 m_Num, 整数型, , , 周围雷数量 .程序集

  • flutter图片组件核心类源码解析

    目录 导语 问题 Image的核心类图及其关系 网络图片的加载过程 网络图片数据的回调和展示过程 补上图片内存缓存的源码分析 如何支持图片的磁盘缓存 总结 导语 在使用flutter 自带图片组件的过程中,大家有没有考虑过flutter是如何加载一张网络图片的? 以及对自带的图片组件我们可以做些什么优化? 问题 flutter 网络图片是怎么请求的? 图片请求成功后是这么展示的? gif的每一帧是怎么支持展示的? 如何支持图片的磁盘缓存? 接下来,让我们带着问题一起探究flutter 图片组件的

  • java.lang.Void类源码解析

    在一次源码查看ThreadGroup的时候,看到一段代码,为以下: /* * @throws NullPointerException if the parent argument is {@code null} * @throws SecurityException if the current thread cannot create a * thread in the specified thread group. */ private static Void checkParentAcc

  • PHP通过反射动态加载第三方类和获得类源码的实例

    使用反射动态加载第三方类 用反射加载第三方类用处在于: 使用XML或其他配文件配置要加载的类,从而和系统源代码分离. 对加载的类进行类检查,是加载的类符合自己定义的结构. <?php abstract class Module { #核心Module类库 function baseFunc() { echo "I am baseFunc"; } abstract function execute(); } class ModuleRunner { private $configD

随机推荐