北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 5007|回复: 9

#ok和timeout value的问题

[复制链接]
发表于 2010-12-18 22:19:55 | 显示全部楼层 |阅读模式
请问下#ok怎么用?
看说明上是沿定义的路径移动时放慢脚步
实例:
#TRIGGER {的出口是} {#OK}
当前一步被确认时,允许下一步的行动
理解不了 - - 求高手详细讲解下

另外还有个问题slowwalk的timeout value有控制参数么,直接用cmd控制的?
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2010-12-18 22:36:17 | 显示全部楼层
#ok功能是maper老大先提出来的,但maper老大没有给出比较详细的解释,我来简单说一下

其核心的思路是----
1 先设定一条路径(可以是先设置好,也可以是计算出来的,如果得到路径不讨论)
2 每行走一步,就检查该走行走是否成功,
2.1 如成功,则继续下一步
2.2 如不成功,重复上一步路径
3 行走结束后,继续后面的动作

具体代码可以参考maper的领悟机器人,里面有.
我记得,在我修改的maper版的领悟增加版中,可能有更多的注释

另外,据hba研究后的结果,#ok功能本身有一定的问题,他的建议是长路径行走,用#ok功能可能会出错,我个人米能完全理解他的结论
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2010-12-18 23:02:21 | 显示全部楼层
#TRIGGER {^??%s这里*出口是%s(*)。} {exit=%1;#ok}

这样能控制一些存在busy的地方的高效率行走的问题。

不过好像只能在#path里面用,alias没效果的。


另外还有个问题slowwalk的timeout value有控制参数么,直接用cmd控制的?

这个在7.21里面可以打开perferences 里面可以自己设定的,1000= 1 sec

[ 本帖最后由 zywhat 于 2010-12-18 11:20 PM 编辑 ]
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2010-12-18 23:28:34 | 显示全部楼层
我的实际情况是这样的:做了个path+slowwalk的推车机器人,path就是11个任务的遍历,direction用两套,推完车切换到走路状态,考虑到每个房间都要遇见贼,timeout value设成4秒,车停4秒后没贼就继续走,有贼#pause打架,搞定#step继续遍历,完成任务后继续走完路径,#re回程。实践下是可行的,就是没啥效率。主要问题是有时候网速卡,斜刺里劫镖的npc例如李莫愁倭寇之流的会导致机器人失灵,我总结了下,本质就是非战斗状态的检查太弱智了。因此我隐约觉得#ok还是有用的。

根据小刀你的解释结合我的实际情况再咨询下:
1 我的路径已经设好
2 检查得分两种情况,无战斗或有战斗的战斗结束,这个问题我费了些实践,最终用的是yun lifeheal,无战斗跟战斗中的反馈是不同,因为匪是同时进入战斗状态,所以多少匪都没问题了,但是匪跟捣乱npc不一定同时进入战斗状态,因此会出现乱触发的情况。
我的问题是#ok能否实现对无战斗状态以及有多次战斗的战斗最终结束状态的检查?(据我所知,#step貌似有你上文提到的2.2的功能?比如战斗中推车匪会出现拦住你的提示,这个时候tri个#step应该会实现2.2的功能)
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2010-12-18 23:30:41 | 显示全部楼层
原帖由 zywhat 于 2010-12-18 11:02 PM 发表
#TRIGGER {^??%s这里*出口是%s(*)。} {exit=%1;#ok}

这样能控制一些存在busy的地方的高效率行走的问题。

不过好像只能在#path里面用,alias没效果的。


另外还有个问题slowwalk的timeout value有控制参数么 ...


这个操作我是会了,人太懒,想问问有没指令直接控制,是想用tri直接触发,战斗的时候用4秒无所谓,回程每格用4秒我觉得很崩溃。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2010-12-18 23:32:19 | 显示全部楼层
原帖由 lzkd 于 2010-12-18 10:36 PM 发表
#ok功能是maper老大先提出来的,但maper老大没有给出比较详细的解释,我来简单说一下

其核心的思路是----
1 先设定一条路径(可以是先设置好,也可以是计算出来的,如果得到路径不讨论)
2 每行走一步,就检查该走行走 ...


翻各位前辈的机器人代码说明好好恶补下 - -
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2010-12-19 08:24:14 | 显示全部楼层
原帖由 afact 于 2010-12-18 11:28 PM 发表
我的实际情况是这样的:做了个path+slowwalk的推车机器人,path就是11个任务的遍历,direction用两套,推完车切换到走路状态,考虑到每个房间都要遇见贼,timeout value设成4秒,车停4秒后没贼就继续走,有贼#pause打 ...


1、#ok功能,就是确认行走正确与否。可以考虑自定义触发来替代"这里的出口*",这样的触发。以免因为网络问题出现卡机。
2、NPC是否在场,可以考虑用“shou robber”,这样的命令。即收NPC为徒弟。NPC在场的确认触发是:“*你想要收(*)为弟子*”;
不在场的触发:^*(这里没有这个人。|你要向谁求教?|这里没有你要攻击的对象。|你想收谁作弟子?)
遇到不在场的触发,给一个不在场变量控制比如npcishere=0,一般开始的时候设置npcishere=1(即在场)。这样就可以判定是否在场了。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2010-12-19 11:20:32 | 显示全部楼层
原帖由 littleknife 于 2010-12-19 08:24 AM 发表


1、#ok功能,就是确认行走正确与否。可以考虑自定义触发来替代"这里的出口*",这样的触发。以免因为网络问题出现卡机。
2、NPC是否在场,可以考虑用“shou robber”,这样的命令。即收NPC为徒弟。NPC在场的确认 ...


给力,听君一席话,胜读十年书,娃哈哈,马上投产
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2010-12-23 13:20:28 | 显示全部楼层
原帖由 afact 于 2010-12-19 11:20 AM 发表


给力,听君一席话,胜读十年书,娃哈哈,马上投产


不需要设置time out吧,刷刷的跑,见到你要的人就停。
在#ok前面加@walktime,
一般路径walktime=0,特殊路径walktime=XXXX,设置walktime可以在地图的door里面设置。比如进去一个房间需要等待2000
door里面写walktime=2000出去的时候walktime=0
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2010-12-23 14:19:11 | 显示全部楼层
路过一下
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-11-1 11:26 PM , Processed in 0.010559 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表