北大侠客行MUD论坛

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

这个是我462的版本问题么

[复制链接]
发表于 2017-6-19 20:33:22 | 显示全部楼层 |阅读模式
462编辑困难,大家都知道。

我想建立一个别名,实现一个功能,比如说:getroom,这个别名实现抓房间名字,房间长描述,房间出口信息,在这个别名里面包含了,建立几个触发器,然后删除这几个触发器。也即是用完就删。

但是实际用起来出问题了,别名里的#tri命令中有%1,但是在建立的触发里面%1都不见了。

  1. #al getroom {#TRIGGER {^(*)%s-%s$} {#va room %1;#t+ 0-long;};#TRIGGER {「盛夏」:} {#t- room-long;#say @room_long};#TRIGGER {(*)$} {#va room_long %concat(@room_long,%1)} {room-long} 548;#TRIGGER {%s这里明显的出口是(*)。} {#va room_exit "%1";#va room_exit %replace(@room_exit,、,|);#va room_exit %replace(@room_exit,和,|);#va room_exit_temp "";#forall @room_exit {#if %null(@room_exit_temp) {#va room_exit_temp %trim(%i)} {#va room_exit_temp %concat(@room_exit_temp,|,%trim(%i))}};#va room_exit @room_exit_temp;#unvar room_exit_temp};look;bb {#untri {^(*)%s-%s$};#untri {「盛夏」:};#untri {(*)$} {room-long};#untri {%s这里明显的出口是(*)。}}}
复制代码



我又设置了一个简单的别名来测试,也不行,具体如下:


#al 11 {#tri {这是一个测试(*)} {#show %1};#show 这是一个测试题目}




这个到底是怎么回事啊,为什么这个%1不见了。。

真的要放弃462了么?舍不得啊。

北大侠客行MUD,中国最好的MUD

本帖子中包含更多资源

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

x
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2017-6-19 21:42:25 | 显示全部楼层
回复 1# qianye

你没明白%1 的意义。
alias里面%1 表示alias后面的参数
比如
#al getroom {#sh %1;#sh %2}
getroom aa bb
这些是getroom的参数。
如果你要alias里面写trigger,用%%1
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2017-6-20 05:15:22 | 显示全部楼层
回复 2# oolong


    谢谢,搞定啦。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2017-6-20 05:45:34 | 显示全部楼层
本帖最后由 qianye 于 2017-6-19 09:50 PM 编辑

回复 2# oolong


但是还有一个问题。
  1. #al getroom {#TRIGGER {^(*)%s-%s$} {#va room %%1;#t+ room-long;};#TRIGGER {「仲夏」:} {#t- room-long;#say @room_long};#TRIGGER {(*)$} {#va room_long %concat(@room_long,%%1)} {room-long} 548;#TRIGGER {%s这里明显的出口是(*)。} {#va room_exit "%%1";#va room_exit %replace(@room_exit,、,|);#va room_exit %replace(@room_exit,和,|);#va room_exit_temp "";#forall @room_exit {#if %null(@room_exit_temp) {#va room_exit_temp %trim(%i)} {#va room_exit_temp %concat(@room_exit_temp,|,%trim(%i))}};#va room_exit @room_exit_temp;#unvar room_exit_temp};look;bb {#untri {^(*)%s-%s$};#untri {「仲夏」:};#untri {(*)$} {room-long};#untri {%s这里明显的出口是(*)。}}}
复制代码




我在扬州北大街的运行结果,@room 北大街 @room_exit north|south|east|southeast|west,这两个没问题,但是@room_long有问题,显示为

"北大街 -     你走在一条繁忙的街道上,看着操着南腔北调的人们行色匆匆,许多人都往南边走去,那里有一个热闹的广场。东边是一家生意兴隆的客栈,来自各地的人们进进出出,据说也是情人们的幽会地点。东南边新开了一个比武场,可以见到各式各样的江湖人物走动。西边是一家钱庄,可以听到叮叮当当的金银声音。"

这里为什么把房间名“北大街 -   
”这一行也加到@room_long里面去了啊??



备注:


  1. #alias bb {#t+ 0check_busy;#al busy_next {%-1};checkbusy}

  2. #TRIGGER {^??你不忙} {#wa 100;#t- 0check_busy;busy_next;} {0check_busy} 548
  3. #TRIGGER {^??你正忙} {#wa 500;checkbusy} {0check_busy} 548
复制代码

北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2017-6-23 13:29:09 | 显示全部楼层
回复 4# qianye

zmud触发资源应该节约使用,but
建议以下触发常开不管闭。
别人杀你的
hp
房间信息
房间物品

其他触发可以用了就删除,是#untrigger
不是#t-。
虽然没有源码,但是个人猜测及时#t-了其实触发还是参与循环比对信息了。只是没action而已。
最佳应对就是用了就删除,另外alias 变量好像不影响机器运行。
我以前导入过10000+变量好像462运行也很快。只是打开加载时候略慢。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-1 09:29 AM , Processed in 0.014930 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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