这个是我462的版本问题么
462编辑困难,大家都知道。我想建立一个别名,实现一个功能,比如说:getroom,这个别名实现抓房间名字,房间长描述,房间出口信息,在这个别名里面包含了,建立几个触发器,然后删除这几个触发器。也即是用完就删。
但是实际用起来出问题了,别名里的#tri命令中有%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 回复 1# qianye
你没明白%1 的意义。
alias里面%1 表示alias后面的参数
比如
#al getroom {#sh %1;#sh %2}
getroom aa bb
这些是getroom的参数。
如果你要alias里面写trigger,用%%1 回复 2# oolong
谢谢,搞定啦。 本帖最后由 qianye 于 2017-6-19 09:50 PM 编辑
回复 2# oolong
但是还有一个问题。
#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里面去了啊??
备注:
#alias bb {#t+ 0check_busy;#al busy_next {%-1};checkbusy}
#TRIGGER {^??你不忙} {#wa 100;#t- 0check_busy;busy_next;} {0check_busy} 548
#TRIGGER {^??你正忙} {#wa 500;checkbusy} {0check_busy} 548
回复 4# qianye
zmud触发资源应该节约使用,but
建议以下触发常开不管闭。
别人杀你的
hp
房间信息
房间物品
其他触发可以用了就删除,是#untrigger
不是#t-。
虽然没有源码,但是个人猜测及时#t-了其实触发还是参与循环比对信息了。只是没action而已。
最佳应对就是用了就删除,另外alias 变量好像不影响机器运行。
我以前导入过10000+变量好像462运行也很快。只是打开加载时候略慢。
页:
[1]