设为首页收藏本站积分充值
易大漠学习基地
易辅客栈模块更新下载麒麟广告联盟--你精明的选择
快为你的软件加上吧!
简单设主页,15秒立赚6.3元手游专用模拟器
 下载app日赚50+,Q群618444074 
城通网盘 - 注册就送5元现金
快速领取论坛金钱免费获取易辅VIP会员
论坛资源失效举报链接景安得免费主机并送168元代金卷
广告位出租50元/每月
每天只要用手机电脑,天天稳定领工资,注册即得2元!
精彩课程推荐

[未解决] 多线程寻路坐标问题。。死活找不着人物当前坐标

[复制链接]
查看: 215|回复: 4
发表于 2018-2-12 13:33:51 | 显示全部楼层 |阅读模式
200金钱
本帖最后由 411606037 于 2018-2-12 13:35 编辑
易语言里粘贴即可');" value="复制代码" class="pnpnc"/>  
窗口程序集名保 留  保 留备 注
主程序集   
变量名类 型数组备 注
主线程句柄整数型  

子程序名返回值类型公开备 注
__启动窗口_创建完毕  
变量名类 型静态数组备 注
启动返回整数型  
停止返回整数型  
如果真 (大漠注册 (取运行目录 ()“\dm.dll”))
信息框 (“注册大漠插件到系统失败!”, 0, )
返回 ()
全局大漠.创建对象 ()
全局大漠.注册VIP (“”)
启动返回 = 热键_注册 (取窗口句柄 (), , 键值确定 (组合框_启动键.内容), &启动脚本)
停止返回 = 热键_注册 (取窗口句柄 (), , 键值确定 (组合框_停止键.内容), &停止脚本)
调试输出 (启动返回, 停止返回)
如果真 (启动返回 ≠ 0 停止返回 ≠ 0)
调试输出 (“热键注册成功!”, 0, )
如果真 (启动返回 = 0 停止返回 ≠ 0)
信息框 (“启动热键设置失败,请更换按键,并单击按钮保存配置”, 0, )
如果真 (启动返回 ≠ 0 停止返回 = 0)
信息框 (“停止热键设置失败,请更换按键,并单击按钮保存配置”, 0, )
如果真 (启动返回 = 0 停止返回 = 0)
信息框 (“启动热键与停止热键设置失败,请更换按键,并单击按钮保存配置”, 0, )
全局大漠.置全局路径 (取运行目录 ())
全局大漠.字库_置文件 (0, “坐标寻路字库.txt”)
调试输出 (全局大漠.取插件版本 ())
许可证 = 线程_创建许可证 ()
全局大漠.置全局路径 (取运行目录 ())
子程序名返回值类型公开备 注
启动脚本  
线程_启动 (&启动脚本线程, , 主线程句柄)
子程序名返回值类型公开备 注
启动脚本线程  
变量名类 型静态数组备 注
i整数型  
初始化COM库 ()
i = 线程_找空余位置 ()
调试输出 (i)
大漠多线程信息 [i].窗口句柄 = 全局大漠.窗口_取鼠标指向句柄 ()
如果 (大漠多线程信息 [i].大漠.创建对象 ())
调试输出 (“取鼠标指向句柄失败”, 0, )
调试输出 (“取鼠标指向句柄绑定成功”, 0, )

如果 (线程_启动 (&初始化, i, 大漠多线程信息 [i].线程句柄))
调试输出 (“线程启动失败”, 0, )
调试输出 (“线程”到文本 (i)“启动成功”, 0, )

子程序名返回值类型公开备 注
停止脚本  
全局大漠.解绑 ()
线程_结束 (主线程句柄)
热键_卸载 ()
子程序名返回值类型公开备 注
_按钮_保存配置_被单击  
变量名类 型静态数组备 注
启动返回整数型  
停止返回整数型  
热键_卸载 ()
启动返回 = 热键_注册 (取窗口句柄 (), , 键值确定 (组合框_启动键.内容), &启动脚本)
停止返回 = 热键_注册 (取窗口句柄 (), , 键值确定 (组合框_停止键.内容), &停止脚本)
调试输出 (启动返回, 停止返回)
如果真 (启动返回 ≠ 0 停止返回 ≠ 0)
信息框 (“热键注册成功!”, 0, )
如果真 (启动返回 = 0 停止返回 ≠ 0)
信息框 (“启动热键设置失败,请更换按键,并单击按钮保存配置”, 0, )
如果真 (启动返回 ≠ 0 停止返回 = 0)
信息框 (“停止热键设置失败,请更换按键,并单击按钮保存配置”, 0, )
如果真 (启动返回 = 0 停止返回 = 0)
信息框 (“启动热键与停止热键设置失败,请更换按键,并单击按钮保存配置”, 0, )

子程序名返回值类型公开备 注
__启动窗口_将被销毁  
全局大漠.解绑 ()
热键_卸载 ()
线程_强制结束 (主线程句柄)
子程序名返回值类型公开备 注
初始化  
参数名类 型参考可空数组备 注
i整数型   
变量名类 型静态数组备 注
大漠大漠中文版  
初始化COM库 ()
大漠.置全局路径 (取运行目录 ())
大漠.字库_置文件 (0, “坐标寻路字库.txt”)
辅助延时 (500)
绑定游戏 (i)
主程序 (i)
辅助延时 (200)
子程序名返回值类型公开备 注
绑定游戏  
参数名类 型参考可空数组备 注
i整数型   
变量名类 型静态数组备 注
大漠大漠中文版  
句柄整数型  
大漠 = 大漠多线程信息 [i].大漠
句柄 = 大漠多线程信息 [i].窗口句柄
如果 (大漠.绑定Ex (句柄, “dx2”, “normal”, “dx.keypad.input.lock.api|dx.keypad.state.api|dx.keypad.api”, “dx.public.active.api|dx.public.active.message”, 0) = 1)
调试输出 (“线程”到文本 (i)“绑定成功”)
调试输出 (“线程”到文本 (i)“绑定失败”, 0, )

. ' 如果 (大漠.绑定Ex (句柄, “normal”, “windows”, “windows”, “windows”, 0) = 1)
' 调试输出 (“线程” + 到文本 (i) + “绑定成功”)
' 调试输出 (“线程” + 到文本 (i) + “绑定失败”, 0, )

子程序名返回值类型公开备 注
主程序  
参数名类 型参考可空数组备 注
i整数型   
变量名类 型静态数组备 注
大漠大漠中文版  
坐标1文本型  
坐标2文本型  
当前坐标人物坐标  
大漠 = 大漠多线程信息 [i].大漠
' 坐标1 = 大漠多线程信息 [i].文本参数一
' 坐标2 = 大漠多线程信息 [i].文本参数二
. ' 如果 (当前地图 = 挂机地图)
' 大地图寻路 (i, “”, 挂机地点)
' 寻路判断 (大漠)
' 调试输出 (“到达”)
. ' 如果 (当前地图 = “”)
' 大地图寻路 (i, “”, 挂机地图)
' 寻路判断 (大漠)




' 线程_进入许可区 (许可证)
计次循环首 (2, )
大漠.键盘_按键 ( #B键 )
辅助延时 (200)
计次循环尾 ()
辅助延时 (300)
' 自定义路线寻路 (“110,95|118,95”, i)
辅助延时 (200)
' 线程_退出许可区 (许可证)
子程序名返回值类型公开备 注
_按钮_录制_被单击  
参数名类 型参考可空数组备 注
i整数型   
变量名类 型静态数组备 注
坐标人物坐标  
路径整数型  
大漠大漠中文版  
大漠 = 大漠多线程信息 [i].大漠
坐标 = 人物当前坐标读取 (i)
如果 (编辑框1.内容 = “”)
编辑框1.内容 = 到文本 (坐标.X)“,”到文本 (坐标.Y)
编辑框1.内容 = 编辑框1.内容 + “|”到文本 (坐标.X)“,”到文本 (坐标.Y)


i支持库列表   支持库注释   
spec特殊功能支持库



然后下面这段是寻路代码

  
窗口程序集名保 留  保 留备 注
调用程序集   
子程序名返回值类型公开备 注
定时程序逻辑型 
参数名类 型参考可空数组备 注
起始时间日期时间型   
CD时间整数型   
如果 (取时间间隔 (取现行时间 (), 起始时间, #秒 ) > CD时间)
起始时间 = 取现行时间 ()
返回 ()
返回 ()

子程序名返回值类型公开备 注
开始寻路  
变量名类 型静态数组备 注
点阵1文本型  
点阵2文本型  
大漠大漠中文版  
i整数型  
大漠 = 大漠多线程信息 [i].大漠
判断循环首 (1 = 1)
点阵1 = 大漠.点阵_提取 (895, 21, 963, 39, “dc7338-000000”, “信息”)
辅助延时 (2000)
点阵2 = 大漠.点阵_提取 (895, 21, 963, 39, “dc7338-000000”, “信息”)
如果真 (点阵1 = 点阵2)
输出调试文本 (“角色停止了,准备跳出循环”)
跳出循环 ()
输出调试文本 (“我在寻路中”)
判断循环尾 ()
子程序名返回值类型公开备 注
坐标寻路  
参数名类 型参考可空数组备 注
目的X坐标整数型   
目的Y坐标整数型   
i整数型   
变量名类 型静态数组备 注
控制逻辑型  
左右移动整数型  
上下移动整数型  
当前坐标人物坐标  
启动时间日期时间型  
坐标1文本型  
坐标2文本型  
当前坐标2人物坐标  
校对x逻辑型  
校对y逻辑型  
大漠大漠中文版  
大漠 = 大漠多线程信息 [i].大漠
当前坐标 = 人物当前坐标读取 ()
调试输出 (当前坐标.X, 当前坐标.Y)
如果真 (目的X坐标 > 当前坐标.X)
左右移动 = #D键
大漠.键盘_按住 (左右移动)
调试输出 (“人物需要向右移动,按D键”)
如果真 (目的X坐标 < 当前坐标.X)
左右移动 = #A键
大漠.键盘_按住 (左右移动)
调试输出 (“人物需要向左移动,按A键”)
如果真 (目的Y坐标 > 当前坐标.Y)
上下移动 = #S键
大漠.键盘_按住 (上下移动)
调试输出 (“人物需要向下移动,按S键”)
如果真 (目的Y坐标 < 当前坐标.Y)
上下移动 = #W键
大漠.键盘_按住 (上下移动)
调试输出 (“人物需要向上移动,按W键”)
辅助延时 (100)
启动时间 = 取现行时间 ()
判断循环首 (控制 = )
当前坐标 = 人物当前坐标读取 ()
' 进行微调,防止走过坐标
如果真 (目的X坐标 > 当前坐标.X 校对x = )
左右移动 = #D键
大漠.键盘_按住 (左右移动)
校对x = 真
如果真 (目的X坐标 < 当前坐标.X 校对x = )
左右移动 = #A键
大漠.键盘_按住 (左右移动)
校对x = 真
如果真 (目的Y坐标 > 当前坐标.Y 校对y = )
上下移动 = #S键
大漠.键盘_按住 (上下移动)
校对y = 真
如果真 (目的Y坐标 < 当前坐标.Y 校对y = )
上下移动 = #W键
大漠.键盘_按住 (上下移动)
校对y = 真

' 以下的内容是寻路结束
如果真 (目的X坐标 = 当前坐标.X)
大漠.键盘_弹起 (左右移动)
辅助延时 (50)
调试输出 (“X坐标到达”)
校对x = 真
如果真 (目的Y坐标 = 当前坐标.Y)
大漠.键盘_弹起 (上下移动)
辅助延时 (50)
调试输出 (“Y坐标到达”)
校对y = 真
如果真 (当前坐标.X = 目的X坐标 当前坐标.Y = 目的Y坐标)
调试输出 (“到达指定位置”)
跳出循环 ()
' 以下的内容是防止卡键的
如果 (定时程序 (启动时间, 3))
调试输出 (“到达时间了”)
当前坐标2 = 人物当前坐标读取 ()
如果 (当前坐标2.X = 当前坐标.X 当前坐标2.Y = 当前坐标.Y)
调试输出 (“卡键了”)
大漠.键盘_弹起 (左右移动)
辅助延时 (20)
大漠.键盘_弹起 (上下移动)
辅助延时 (20)
如果真 (目的X坐标 > 当前坐标.X)
左右移动 = #D键
大漠.键盘_按住 (左右移动)
调试输出 (“人物需要向右移动,按D键”)
如果真 (目的X坐标 < 当前坐标.X)
左右移动 = #A键
大漠.键盘_按住 (左右移动)
调试输出 (“人物需要向左移动,按A键”)
如果真 (目的Y坐标 > 当前坐标.Y)
上下移动 = #S键
大漠.键盘_按住 (上下移动)
调试输出 (“人物需要向下移动,按S键”)
如果真 (目的Y坐标 < 当前坐标.Y)
上下移动 = #W键
大漠.键盘_按住 (上下移动)
调试输出 (“人物需要向上移动,按W键”)

调试输出 (当前坐标.X, 当前坐标2.X)




辅助延时 (50)
判断循环尾 ()
子程序名返回值类型公开备 注
人物当前坐标读取人物坐标 
参数名类 型参考可空数组备 注
i整数型   
变量名类 型静态数组备 注
x文本型  
y文本型  
当前坐标人物坐标  
大漠大漠中文版  
大漠 = 大漠多线程信息 [i].大漠
' 1通过范围来确定X坐标以及Y坐标
' 2通过全部读取,然后进行分割来返回x和y坐标
x = 大漠.识字 (896, 22, 927, 39, “dc7338-000000”, 1)
y = 大漠.识字 (931, 22, 964, 40, “dc7338-000000”, 1)
调试输出 (x, y)
如果 (x ≠ “” y ≠ “”)
当前坐标.X = 到整数 (x)
当前坐标.Y = 到整数 (y)
返回 (当前坐标)
当前坐标.X = 0
当前坐标.Y = 0
返回 (当前坐标)

子程序名返回值类型公开备 注
寻路判断  
参数名类 型参考可空数组备 注
i整数型   
变量名类 型静态数组备 注
坐标1文本型  
坐标2文本型  
当前时间日期时间型  
大漠大漠中文版  
大漠 = 大漠多线程信息 [i].大漠
当前时间 = 取现行时间 ()
判断循环首 (1 = 1)
坐标1 = 大漠.点阵_提取 (896, 21, 957, 39, “dc7338-000000”, “坐标”)
辅助延时 (1000)
坐标2 = 大漠.点阵_提取 (896, 21, 957, 39, “dc7338-000000”, “坐标”)
如果真 (坐标1 = 坐标2)
跳出循环 ()
如果真 (定时程序 (当前时间, 300))
跳出循环 ()

判断循环尾 ()
调试输出 (“寻路结束”)
子程序名返回值类型公开备 注
自定义路线寻路  
参数名类 型参考可空数组备 注
寻路路线文本型   
i整数型   线程ID
变量名类 型静态数组备 注
坐标数组文本型 0
坐标文本型 0
n整数型  
大漠大漠中文版  
大漠 = 大漠多线程信息 [i].大漠
坐标数组 = 分割文本 (寻路路线, “|”, )
如果真 (取数组成员数 (坐标数组) > 0)
计次循环首 (取数组成员数 (坐标数组), n)
坐标 = 分割文本 (坐标数组 [n], “,”, )
坐标寻路 (到整数 (坐标 [1]), 到整数 (坐标 [2]), i)
辅助延时 (200)
计次循环尾 ()


i支持库列表   支持库注释   
spec特殊功能支持库

签到天数: 26 天

连续签到: 1 天

[LV.4]偶尔看看III

1

主题

77

帖子

640

积分

易辅VIP

Rank: 7Rank: 7Rank: 7

积分
640
易辅学院--欢迎你,有你更出众。 易辅做最真最好的服务 www.eyy168.com
 楼主| 发表于 2018-2-12 13:37:18 | 显示全部楼层
大哥们帮忙看下。。一直找不着问题在哪

签到天数: 26 天

连续签到: 1 天

[LV.4]偶尔看看III

1

主题

77

帖子

640

积分

易辅VIP

Rank: 7Rank: 7Rank: 7

积分
640
易辅学院--欢迎你,有你更出众。 易辅做最真最好的服务 www.eyy168.com
回复

使用道具 举报

点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩 点赞

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

易辅解答服务
 
 
VIP咨询
VIP咨询办理
易辅交流4群:
【易辅客栈】脚本4群
易辅交流5群:
【易辅客栈】交流5群
易辅交流6群:
【易辅客栈】交流6群
工作时间:
10:00-22:00

商务合作

客服热线:930858978
点击这里给我发消息
Copyright;  ©2015-2016  易辅客栈  Powered byDiscuz!       360网站安全检测平台   ( 苏ICP备16014788号 )