miaoxijie
发表于 2024-7-24 21:15:43
xsxxj 发表于 2024-7-22 10:46 PM
岳灵珊巡山任务 part 1任务解析第一阶段 (exp: 0-30k)任务npc: 岳灵珊位置:lm 客厅;任务种类:华山巡弋
...
我把楼主的都拷贝到一个文件,也LM了,为什么很快就巡山回来了,根本没有反应
jinger
发表于 2024-7-24 21:17:37
miaoxijie 发表于 2024-7-24 09:15 PM
我把楼主的都拷贝到一个文件,也LM了,为什么很快就巡山回来了,根本没有反应 ...
因为论坛不允许直接分享新手任务机器人,需要自己弄懂才行
xsxxj
发表于 2024-7-24 22:58:34
miaoxijie 发表于 2024-7-24 09:15 PM
我把楼主的都拷贝到一个文件,也LM了,为什么很快就巡山回来了,根本没有反应 ...
理论上来说是可以复制 直接用的.
为了避免混淆,把岳灵珊任务、宁则中任务放到两个不同的文件里;
需要用到岳灵珊任务就RLM 岳灵珊的文件; 注意看是不是有复制时候问出来问题的报错;
然后站在岳灵珊那里输入 qhs.on
laba
发表于 2024-7-24 23:01:13
#action {^你在%1巡弋,尚未发现敌踪。} { #math xunshan_done[%1] {$xunshan_done[%1]+1}; #delay walk.Resume {path.Walk.Resume} 0.5;};
这个xunshan_done是什么?
xsxxj
发表于 2024-7-24 23:06:03
laba 发表于 2024-7-24 11:01 PM
#action {^你在%1巡弋,尚未发现敌踪。} { #math xunshan_done[%1] {$xunshan_done[%1]+1}; #delay w ...
第一部分:设计变量:
1.1帮助我们记录已经巡弋的房间信息
#var xunshan_done {};
复制代码
这里我用一个列表变量来记录;
5楼做了说明,存储已经巡弋的房间名 和 巡弋次数
laba
发表于 2024-7-24 23:09:18
xsxxj 发表于 2024-7-24 11:06 PM
第一部分:设计变量:
1.1帮助我们记录已经巡弋的房间信息
#var xunshan_done {};
豁然开朗{:7_277:}
感谢指点
icesea
发表于 2024-8-13 15:15:20
只要练习室里有人占着不能进,就会出错。
xinwuyou
发表于 2024-12-7 19:28:32
感谢大佬的攻略,请问一下第一个任务的第五部分的reload-module qhs;是什么意思啊?
sldztoutie
发表于 2024-12-7 21:35:59
深受启发,感谢分享
nnanfeng
发表于 2025-4-21 08:22:30
本帖最后由 nnanfeng 于 2025-4-21 08:24 AM 编辑
xsxxj 发表于 2024-7-22 10:49 PM
岳灵珊巡山任务 part 3
解决难点“不能过快移动的问题”设计每一步巡弋要做的事情
路径更新后不能用了,还有就是路径中更新了几个没有干扰的房间(且帖子的路径随着版本更新也少了几步),然后机器人就会卡在没有干扰的房间,我的解决办法是等5秒没有产生干扰的房间直接resume恢复继续行路,完整代码如下。
#var xunshan_done {};
#var xunshan_paths {n;n;e;sd;sd;sd;nu;nu;nu;w;nd;eu;wd;nu;n;nd;wu;ed;nw;nd;nd;nu;sd;wd;nd;wd;nd;nw;n;s;se;su;eu;su;eu;su;su;se;su;s;sd;su;s;s};
#class hs_xs open;
#alias {qhstest} {
#delay 1 {okLog 1秒后开始巡逻.....};
#delay 2 {
path.WalkSteps {$xunshan_paths} {#delay 2 xs_submit};
};
} {5};
#action {^岳灵珊对你说道:最近华山颇不安宁,你带着这块令牌去巡逻一下吧。}
{
#delay 1 {okLog 1秒后开始巡逻.....};
#delay 2 {
path.WalkSteps {$xunshan_paths} {#delay 2 xs_submit};
};
};
#action {^你给岳灵珊一块令牌。} {
#delay {xs_ask} {qhs.on} 1;};
#action {^这么快就回来了?肯定偷懒了吧?} {
dazuo 10;
#delay {xs_fm} {xs_submit} 5;};
#action {^岳灵珊说道:「你刚刚做过任务,先去休息一会吧。」}{
dazuo 10;
#delay {xs_ask} {qhs.on} 5;};
#action {^岳灵珊说道:「你上次任务还没有完成呢!」} {
#delay {3} {drop ling};
#delay {3} {
ask yue lingshan about fail
};
#delay {xs_ask} {qhs.on} 5;
}{5};
#action {^你在%1巡弋,尚未发现敌踪。} {
#math xunshan_done[%1] {$xunshan_done[%1]+1};
#delay walk.Resume {path.Walk.Resume} 0.5;};
#alias walk_time {
#if {"$gGMCP[房间名]" == "客厅"} {
path.end;
#return;
};
path.Walk.Stop;
#if {"$gGMCP[房间名]" == "后山小路"} {
#if {$xunshan_done[$gGMCP[房间名]] == 2} {
#var walk_timeout_triggered 1;
#delay walk.Resume {path.Walk.Resume} 0.2;
};
};
#elseif {@isTrue{$xunshan_done[$gGMCP[房间名]]}} {
#var walk_timeout_triggered 1;
#delay walk.Resume {path.Walk.Resume} 0.2;
};
<font color="#ff0000"> #var walk_timeout_triggered 0;
#delay walk_timeout {
#if {!$walk_timeout_triggered} {
okLog 【超时恢复】未收到巡逻消息,自动继续行走;
#var walk_timeout_triggered 1;
#delay walk.Resume {path.Walk.Resume} 0.2;
};
} 5;</font>
}
#alias qhs.on {
reload-module qhs;
#var xunshan_done {};
#if {"$gMapRoom" != "客厅"} {
errLog "请在华山派-客厅 岳灵珊的地方待命";
#return;
};
event.Handle {GMCP.Move} {path.Walk} {$MODULE} {walk_time};
ask yue lingshan about job;
};
#alias qhs.off {
event.UnHandle {GMCP.Move} {path.Walk};
#undelay {xs_ask};
#undelay {xs_fm};
#class hs_xs kill;
};
#alias xs_submit {
give ling to yue lingshan;
okLog 【任务完成】马上开始学习;
xue lu dayou for force 15;
};
#action {^岳灵珊说道:「你的功夫不错了,找我娘看看有什么任务交给你。」} {
reload-module nzz;
nzz.on;
qhs.off;
};