qianye 发表于 2017-6-19 20:33:22

这个是我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

oolong 发表于 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

qianye 发表于 2017-6-20 05:15:22

回复 2# oolong


    谢谢,搞定啦。

qianye 发表于 2017-6-20 05:45:34

本帖最后由 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

oolong 发表于 2017-6-23 13:29:09

回复 4# qianye

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

其他触发可以用了就删除,是#untrigger
不是#t-。
虽然没有源码,但是个人猜测及时#t-了其实触发还是参与循环比对信息了。只是没action而已。
最佳应对就是用了就删除,另外alias 变量好像不影响机器运行。
我以前导入过10000+变量好像462运行也很快。只是打开加载时候略慢。
页: [1]
查看完整版本: 这个是我462的版本问题么