北大侠客行MUD论坛

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

walk几个问题重启后的修复

[复制链接]
发表于 2022-9-11 02:29:38 | 显示全部楼层 |阅读模式
这个帖子本来最合适放在公告里,但是公告版玩家没法回复反馈新问题,就放在这里。以便修复其他问题。

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之类

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2022-9-11 10:44:01 | 显示全部楼层
今天上午又在和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;就执行了,难道要一路触发过去?
不知道其他人有没有遇到这样的问题,请赐教!
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2022-9-11 11:45:38 | 显示全部楼层
holygb 发表于 2022-9-11 10:44 AM
今天上午又在和walk搏斗,即使在walk_speed=-1时,walk路径较长时,walk期间后面的指令也会先执行,要么走 ...

按照上面zine的恢复,在walk之后的命令前后加上大括号试试啊
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2022-9-11 12:13:19 | 显示全部楼层
icer 发表于 2022-9-11 11:45 AM
按照上面zine的恢复,在walk之后的命令前后加上大括号试试啊

但是zmud解析命令时不会把{}发送出去,在alias里的walk qufu;{s;n};walk yangzhou和walk qufu;s;n;walk yangzhou是一样的
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2022-9-11 12:16:02 | 显示全部楼层
我记得加个~就可以不解析
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2022-9-11 12:43:48 | 显示全部楼层
中午重启后测试下walk后面加{}的情况,还是出错了。又试了下不加{},依旧迷路了,但是比以前好,回到扬州walk可以继续用。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2022-9-11 12:52:00 | 显示全部楼层
holygb 发表于 2022-9-10 09:43 PM
中午重启后测试下walk后面加{}的情况,还是出错了。又试了下不加{},依旧迷路了,但是比以前好,回到扬州wa ...

这是你自己问题,信阳就没直通南阳的walk.

┌───信阳─────────┬─────────────┐
│目的地                      │拼音名称                  │
├──────────────┼─────────────┤
│汉口镇                      │hankou                    │
│濠州府                      │haozhou                   │
│长江渡口[江州]              │jiangzhou                 │
│荆州府                      │jingzhou                  │
│往生堂                      │shashou                   │
│襄阳                        │xiangyang                 │
│许昌                        │xuchang                   │
│扬州                        │yangzhou                  │


我打赌你第二个walk改成正常节点中任何一个就没问题了
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2022-9-11 12:55:45 | 显示全部楼层
简单数了下,有一百多个alias是walk+自定义命令的组合,修改工作量好大,心太累,简直劝退。而且改完还不知道以后会不会又变更机制,不如抛弃walk,全部用常规路径,这样只要处理命令缓存、走路绊倒、走不动的情况了。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2022-9-11 13:11:40 | 显示全部楼层
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系统肯定是不认的。


北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2022-9-11 13:19:01 | 显示全部楼层
walk就是走路,你非得搞判断
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-26 12:15 AM , Processed in 0.010292 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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