.版本 2
.子程序 遍历顺图, , , 24号已更新
.参数 方向, 整数型, , 1上,2下,3左,4右
.局部变量 人物数据, 整数型
.局部变量 图内数据, 整数型
.局部变量 OBJ首, 整数型
.局部变量 OBJ尾, 整数型
.局部变量 OBJ数量, 整数型
.局部变量 OBJ计次, 整数型
.局部变量 OBJ类型, 整数型
.局部变量 OBJ数据, 整数型
.局部变量 OBJ名称, 文本型
.局部变量 OBJ代码, 整数型
.局部变量 OBJ坐标X, 整数型
.局部变量 OBJ坐标Y, 整数型
进程ID = 取进程ID (“DNF.exe”)
人物数据 = 读内存整数型 (进程ID, 十六到十 (#人物基址))
图内数据 = 读内存整数型 (进程ID, 人物数据 + 184) ' B8
.如果真 (图内数据 > 1)
.如果真结束
OBJ首 = 读内存整数型 (进程ID, 图内数据 + 192) ' C0
OBJ尾 = 读内存整数型 (进程ID, 图内数据 + 196) ' C4
OBJ数量 = (OBJ尾 - OBJ首) ÷ 4
.计次循环首 (OBJ数量, OBJ计次)
OBJ数据 = 读内存整数型 (进程ID, OBJ首 + OBJ计次 × 4 - 4)
OBJ类型 = 读内存整数型 (进程ID, OBJ数据 + 148) ' 94
.如果真 (OBJ类型 = 4129)
OBJ代码 = 读内存整数型 (进程ID, OBJ数据 + 868)
OBJ坐标X = 读内存小数型 (进程ID, OBJ数据 + 432) ' 1B0
OBJ坐标Y = 读内存小数型 (进程ID, OBJ数据 + 436) ' 1B4
OBJ名称 = 转换Unicode转Ansi (读内存字节集 (进程ID, 读内存整数型 (进程ID, OBJ数据 + 872) + 0, 28))
.如果真 (方向 = 1)
.如果真 (OBJ代码 < 6104 且 OBJ代码 > 6064 或 OBJ代码 < 69096 且 OBJ代码 > 69058)
.如果 (OBJ代码 = 6101 或 OBJ代码 = 6071 或 OBJ代码 = 6072 或 OBJ代码 = 6091 或 OBJ代码 = 6092 或 OBJ代码 = 6081 或 OBJ代码 = 69051 或 OBJ代码 = 69055 或 OBJ代码 = 69059 或 OBJ代码 = 69063 或 OBJ代码 = 69067 或 OBJ代码 = 69071 或 OBJ代码 = 69075 或 OBJ代码 = 69079 或 OBJ代码 = 69083 或 OBJ代码 = 69087 或 OBJ代码 = 69091 或 OBJ代码 = 69095)
顺图坐标CALL (人物数据, OBJ坐标X, OBJ坐标Y + 60, 0)
延时 (100)
顺图坐标CALL (人物数据, OBJ坐标X, OBJ坐标Y + 15, 0)
跳出循环 ()
.否则
到循环尾 ()
.如果结束
.如果真结束
.如果真 (寻找文本 (OBJ名称, 到文本 ({ 201, 207, 178, 224, 195, 197 }), , 假) > 1 或 寻找文本 (OBJ名称, 到文本 ({ 201, 207, 178, 224, 193, 236, 214, 247, 195, 197 }), , 假) > 1 或 寻找文本 (OBJ名称, 到文本 ({ 201, 207, 183, 189, 195, 197 }), , 假) > 1 或 寻找文本 (OBJ名称, 到文本 ({ 201, 207, 183, 189, 193, 236, 214, 247, 195, 197 }), , 假) > 1 或 寻找文本 (OBJ名称, 到文本 ({ 201, 207, 178, 224, 181, 196, 195, 197 }), , 假) > 1 或 寻找文本 (OBJ名称, 到文本 ({ 201, 207, 178, 224, 181, 196, 193, 236, 214, 247, 195, 197 }), , 假) > 1 或 寻找文本 (OBJ名称, 到文本 ({ 207, 194, 178, 224, 193, 236, 214, 247, 195, 197 }), , 假) > 1 或 OBJ代码 = 5566 或 OBJ代码 = 5567 或 OBJ代码 = 8967 或 OBJ代码 = 8968 或 OBJ代码 = 69051 或 OBJ代码 = 69055) ' “上侧门”“上侧领主门”“上方门”“上方领主门”“上侧的门”“上侧的领主门”“下侧领主门”
.如果真 (OBJ坐标Y < 1000)
.如果真 (OBJ坐标Y < 300 或 OBJ坐标Y = 355 或 OBJ坐标Y = 413) ' 白色上门 Y 355 '斯卡萨之巢 Y 413
顺图坐标CALL (人物数据, OBJ坐标X, OBJ坐标Y + 60, 0)
延时 (100)
顺图坐标CALL (人物数据, OBJ坐标X, OBJ坐标Y + 15, 0)
跳出循环 ()
.如果真结束
.如果真结束
.如果真结束
.如果真结束
.如果真 (方向 = 2)
.如果真 (OBJ代码 < 6104 且 OBJ代码 > 6064 或 OBJ代码 > 69051 且 OBJ代码 < 69097)
.如果 (OBJ代码 = 6103 或 OBJ代码 = 6073 或 OBJ代码 = 6074 或 OBJ代码 = 6093 或 OBJ代码 = 6094 或 OBJ代码 = 6083 或 OBJ代码 = 69052 或 OBJ代码 = 69056 或 OBJ代码 = 69060 或 OBJ代码 = 69064 或 OBJ代码 = 69068 或 OBJ代码 = 69072 或 OBJ代码 = 69076 或 OBJ代码 = 69080 或 OBJ代码 = 69084 或 OBJ代码 = 69088 或 OBJ代码 = 69092 或 OBJ代码 = 69096)
顺图坐标CALL (人物数据, OBJ坐标X, OBJ坐标Y - 60, 0)
延时 (100)
顺图坐标CALL (人物数据, OBJ坐标X, OBJ坐标Y - 15, 0)
跳出循环 ()
.否则
到循环尾 ()
.如果结束
.如果真结束
.如果真 (寻找文本 (OBJ名称, 到文本 ({ 207, 194, 178, 224, 195, 197 }), , 假) > 1 或 寻找文本 (OBJ名称, 到文本 ({ 207, 194, 178, 224, 193, 236, 214, 247, 195, 197 }), , 假) > 1 或 寻找文本 (OBJ名称, 到文本 ({ 207, 194, 183, 189, 195, 197 }), , 假) > 1 或 寻找文本 (OBJ名称, 到文本 ({ 207, 194, 183, 189, 193, 236, 214, 247, 195, 197 }), , 假) > 1 或 寻找文本 (OBJ名称, 到文本 ({ 207, 194, 178, 224, 181, 196, 195, 197 }), , 假) > 1 或 寻找文本 (OBJ名称, 到文本 ({ 207, 194, 178, 224, 181, 196, 193, 236, 214, 247, 195, 197 }), , 假) > 1 或 寻找文本 (OBJ名称, 到文本 ({ 201, 207, 178, 224, 193, 236, 214, 247, 195, 197 }), , 假) > 1 或 OBJ代码 = 69052 或 OBJ代码 = 69056) ' “下侧门”“下侧领主门”“下方门”“下方领主门”“下侧的门”“下侧的领主门”“上侧领主门”
.如果真 (OBJ坐标Y < 1000)
.如果真 (OBJ坐标Y > 260 或 OBJ坐标Y = 231) ' 瘟疫之源Y231
顺图坐标CALL (人物数据, OBJ坐标X, OBJ坐标Y - 60, 0)
延时 (100)
顺图坐标CALL (人物数据, OBJ坐标X, OBJ坐标Y - 15, 0)
跳出循环 ()
.如果真结束
.如果真结束
.如果真结束
.如果真结束
.如果真 (方向 = 3)
.如果真 (OBJ代码 < 6104 且 OBJ代码 > 6064 或 OBJ代码 > 69052 且 OBJ代码 < 69098)
.如果 (OBJ代码 = 6095 或 OBJ代码 = 6096 或 OBJ代码 = 6065 或 OBJ代码 = 6066 或 OBJ代码 = 6085 或 OBJ代码 = 6075 或 OBJ代码 = 6076 或 OBJ代码 = 69053 或 OBJ代码 = 69057 或 OBJ代码 = 69061 或 OBJ代码 = 69065 或 OBJ代码 = 69069 或 OBJ代码 = 69073 或 OBJ代码 = 69077 或 OBJ代码 = 69081 或 OBJ代码 = 69085 或 OBJ代码 = 69089 或 OBJ代码 = 69093 或 OBJ代码 = 69097)
顺图坐标CALL (人物数据, OBJ坐标X + 160, OBJ坐标Y - 30, 0)
延时 (100)
顺图坐标CALL (人物数据, OBJ坐标X + 80, OBJ坐标Y - 30, 0)
跳出循环 ()
.否则
到循环尾 ()
.如果结束
.如果真结束
.如果真 (寻找文本 (OBJ名称, 到文本 ({ 215, 243, 178, 224, 195, 197 }), , 假) > 1 或 寻找文本 (OBJ名称, 到文本 ({ 215, 243, 178, 224, 193, 236, 214, 247, 195, 197 }), , 假) > 1 或 寻找文本 (OBJ名称, 到文本 ({ 215, 243, 177, 223, 195, 197 }), , 假) > 1 或 寻找文本 (OBJ名称, 到文本 ({ 215, 243, 177, 223, 193, 236, 214, 247, 195, 197 }), , 假) > 1 或 寻找文本 (OBJ名称, 到文本 ({ 215, 243, 178, 224, 181, 196, 195, 197 }), , 假) > 1 或 寻找文本 (OBJ名称, 到文本 ({ 215, 243, 178, 224, 181, 196, 193, 236, 214, 247, 195, 197 }), , 假) > 1 或 OBJ代码 = 69053 或 OBJ代码 = 69057) ' “左侧门”“左侧领主门”“左边门”“左边领主门”“左侧的门”“左侧的领主门”
.如果真 (OBJ坐标Y < 1000)
顺图坐标CALL (人物数据, OBJ坐标X + 160, OBJ坐标Y - 30, 0)
延时 (100)
顺图坐标CALL (人物数据, OBJ坐标X + 80, OBJ坐标Y - 30, 0)
跳出循环 ()
.如果真结束
.如果真结束
.如果真结束
.如果真 (方向 = 4)
.如果真 (OBJ代码 < 6104 且 OBJ代码 > 6064 或 OBJ代码 < 69099 且 OBJ代码 > 69053)
.如果 (OBJ代码 = 6098 或 OBJ代码 = 6099 或 OBJ代码 = 6068 或 OBJ代码 = 6069 或 OBJ代码 = 6088 或 OBJ代码 = 6078 或 OBJ代码 = 6079 或 OBJ代码 = 69054 或 OBJ代码 = 69058 或 OBJ代码 = 69062 或 OBJ代码 = 69066 或 OBJ代码 = 69070 或 OBJ代码 = 69074 或 OBJ代码 = 69078 或 OBJ代码 = 69082 或 OBJ代码 = 69086 或 OBJ代码 = 69090 或 OBJ代码 = 69094 或 OBJ代码 = 69098)
顺图坐标CALL (人物数据, OBJ坐标X - 160, OBJ坐标Y + 30, 0)
延时 (100)
顺图坐标CALL (人物数据, OBJ坐标X - 80, OBJ坐标Y + 30, 0)
跳出循环 ()
.否则
到循环尾 ()
.如果结束
.如果真结束
.如果真 (OBJ代码 < 69050)
.如果真 (寻找文本 (OBJ名称, 到文本 ({ 211, 210, 178, 224, 195, 197 }), , 假) > 1 或 寻找文本 (OBJ名称, 到文本 ({ 211, 210, 178, 224, 193, 236, 214, 247, 195, 197 }), , 假) > 1 或 寻找文本 (OBJ名称, 到文本 ({ 211, 210, 177, 223, 195, 197 }), , 假) > 1 或 寻找文本 (OBJ名称, 到文本 ({ 211, 210, 177, 223, 193, 236, 214, 247, 195, 197 }), , 假) > 1 或 寻找文本 (OBJ名称, 到文本 ({ 211, 210, 178, 224, 181, 196, 195, 197 }), , 假) > 1 或 寻找文本 (OBJ名称, 到文本 ({ 211, 210, 178, 224, 181, 196, 193, 236, 214, 247, 195, 197 }), , 假) > 1 或 OBJ代码 = 5563 或 OBJ代码 = 8971) ' “右侧门”“右侧领主门”“右边门”“右边领主门”“右侧的门”“右侧的领主门”
.如果真 (OBJ坐标Y < 1000)
顺图坐标CALL (人物数据, OBJ坐标X - 160, OBJ坐标Y + 30, 0)
延时 (100)
顺图坐标CALL (人物数据, OBJ坐标X - 80, OBJ坐标Y + 30, 0)
跳出循环 ()
.如果真结束
.如果真结束
.如果真结束
.如果真结束
.如果真结束
.计次循环尾 ()