walk几个问题重启后的修复
这个帖子本来最合适放在公告里,但是公告版玩家没法回复反馈新问题,就放在这里。以便修复其他问题。1.walk迷路之后不能继续使用
这里我用到快速行走且walk没执行完就加入新命令,造成目标房间不一致,迷路的情况
修复如下,回到起点walk可以正常使用
2.玩家希望拼接walk xxx;部分自定义方向再walk yyy的情况
这里有2种办法解决,一是把walk xxx;e;n;w;s;walk yyy定义为node,主站已经可以这样解决
如果实在希望用自己的alias
需要特殊方式把非walk部分用{}括起来,例如
执行情况
箭头部分可以看出达到曲阜鼓楼之后(walk qufu)有个n;s执行再走回扬州(walk yangzhou)的部分,括号{}的作用是告诉walk,这是路径的一部分,不是普通命令,必须按顺序执行
括号方式重启后才会生效
注:{}只有在walk之后才需要, {e;w};walk qufu 是没有意义的,{e;w}会被丢弃掉不执行
walk qufu;{e;w}则在达到曲阜后往东一步,往西一步
3.什么时候在含有walk的alias中不需要用括号?
一些对环境没有依赖的命令,比如hp之类
今天上午又在和walk搏斗,即使在walk_speed=-1时,walk路径较长时,walk期间后面的指令也会先执行,要么走不到,要么迷路。我没有用论坛里的插件,都是自己写的alias,接任务都是先几个walk,再加一些方向指令到npc那里,现在都没用了。
比如下面的指令应该怎么改:
walk aaa;
walk bbb;
w;n;ask xxx about quest;
walk还没走完,后面的w;n;ask xxx about quest;就执行了,难道要一路触发过去?
不知道其他人有没有遇到这样的问题,请赐教! holygb 发表于 2022-9-11 10:44 AM
今天上午又在和walk搏斗,即使在walk_speed=-1时,walk路径较长时,walk期间后面的指令也会先执行,要么走 ...
按照上面zine的恢复,在walk之后的命令前后加上大括号试试啊 icer 发表于 2022-9-11 11:45 AM
按照上面zine的恢复,在walk之后的命令前后加上大括号试试啊
但是zmud解析命令时不会把{}发送出去,在alias里的walk qufu;{s;n};walk yangzhou和walk qufu;s;n;walk yangzhou是一样的 我记得加个~就可以不解析 中午重启后测试下walk后面加{}的情况,还是出错了。又试了下不加{},依旧迷路了,但是比以前好,回到扬州walk可以继续用。
holygb 发表于 2022-9-10 09:43 PM
中午重启后测试下walk后面加{}的情况,还是出错了。又试了下不加{},依旧迷路了,但是比以前好,回到扬州wa ...
这是你自己问题,信阳就没直通南阳的walk.
┌───信阳─────────┬─────────────┐
│目的地 │拼音名称 │
├──────────────┼─────────────┤
│汉口镇 │hankou │
│濠州府 │haozhou │
│长江渡口[江州] │jiangzhou │
│荆州府 │jingzhou │
│往生堂 │shashou │
│襄阳 │xiangyang │
│许昌 │xuchang │
│扬州 │yangzhou │
我打赌你第二个walk改成正常节点中任何一个就没问题了
简单数了下,有一百多个alias是walk+自定义命令的组合,修改工作量好大,心太累,简直劝退。而且改完还不知道以后会不会又变更机制,不如抛弃walk,全部用常规路径,这样只要处理命令缓存、走路绊倒、走不动的情况了。 zine 发表于 2022-9-11 12:52 PM
这是你自己问题,信阳就没直通南阳的walk.
┌───信阳─────────┬───────────── ...
是我搞错了,试了下walk xinyang;walk xiangyang;{e;e};是可以的。但是这种模式只适合简单指令,不适用判断指令,比如:
walk jiangzhou;{s;e;e;#if (@jobdone=1) {ask han about finish;};}
walk后面的if语句不会被解析,直接原文发出去了,walk系统肯定是不认的。
walk就是走路,你非得搞判断
页:
[1]
2