clfb 发表于 2010-1-11 17:15:02

问个问题

#tri {你的任务是去(*)守门。} {#t- job;%1} {job}
这句在5.55里正常应用,但是
我想把上面的语句应用在4.62上,
可执行的时候,这个语句激发不了命令
(*)取不到多隆给的命令里的XX门的数值

所以请高手指点下迷津,怎么修改才能在4.62里执行成功
谢谢

hba 发表于 2010-1-11 19:55:35

尝试一下这样的写法(要留意检查一下其他触发语句有没有合理的重开job组,#t+ job):
#t- job;
#var do_where %1;
@do_where

clfb 发表于 2010-1-11 23:02:44

原帖由 hba 于 2010-1-11 07:55 PM 发表 http://www.pkuxkx.com/forum/images/common/back.gif
尝试一下这样的写法(要留意检查一下其他触发语句有没有合理的重开job组,#t+ job):
#t- job;
#var do_where %1;
@do_where

其他语句应该都没有错误的,在5.55下正常使用,是根据论坛上的机器人扫盲贴改的。
只有这个(*)的语句不触发,抓取不到数据
一会试试去,谢谢

clfb 发表于 2010-1-11 23:45:17

再谢谢一次,成功了

能帮忙看看下面这几句怎么改么,大概明白你写的意思,但是对下面的不知道该怎么弄了

#tri {*对着(*)大喝道:挡我者死!} {#if (%1!=你) {#t- 守门;退出}} {守门}
#tri {江湖汉子一言不发,陡然向(*)发难。} {#if (%1!=你) {#t- 守门;退出}} {守门}
//其他玩家也在同一个地方守门,受到干扰,退出游戏

#tri {官兵拦住(*)说道:看告示了没有?您想进带着*进城呐?先问问*大人吧!} {#if (%1!="壮汉") {#var name %1;look}} {守门}
//官兵可能拦住壮汉,也可能拦住玩家蒙面杀手盗宝人,如果是后者,把名字保存到name中,同时用look来抓去玩家蒙面杀手或者盗宝人的id
#tri {@name~((*)~)} {#t- allow;#alarm +2 {#t+ allow};#var id %lower(%1);allow %lower(%1)} {allow}
//除去壮汉之外的所有人全部放行。有时候玩家可能会疯狂闯门,为了避免输入allow命令过多导致守门失败,在这个trigger触发之后短暂的关闭2秒再打开。

hba 发表于 2010-1-12 10:41:36

情况都是一样的,也就是说5.55应该可以直接引用%1来执行命令,而4.62需要先赋值给变量,再由变量来执行命令或判断,估计是这样,我也很长时间没用zMud了,大约七、八年前比较过4,5,7版的zMud,大约印象好像是这样。
不过你列出的触发其实都有些不完善,实际运行中会容易出错,也因此可能导致编程高手都懒得出手指教了。我就你的触发语句不能执行的问题简单说一下吧(也不一定准确,我才回到泥巴世界几天,对zMud很多都在摸索回忆中),其他不完善的地方你在实践中慢慢体会。

#tri {*对着(*)大喝道:挡我者死!} {#if (%1!=你) {#t- 守门;退出}} {守门}
#t- 守门;
#var tmp %1;
#if @tmp!="壮汉" {退出} {#t+守门}
//这里我修改了一个地方,如果按你原来的语句,你在5.55中虽然能正常执行,但如果同时有几个人或一个人同时发出“对着(*)大喝道:挡我者死!”的命令,你的“退出”命令将被触发多次。另外用“*对着.....”来触发,也会很容易被误触发,如果有人有意或无意用chat频道发一句“【闲聊】胡一刀:张三丰对着达摩大喝道:挡我者死!”,也会激发了你的触发器。


#tri {江湖汉子一言不发,陡然向(*)发难。} {#if (%1!=你) {#t- 守门;退出}} {守门}
同样改法:
#t- 守门;
#var tmp %1;
#if @tmp!="你" {退出} {#t+守门}
//不记得zMud 462的判断语句后面的字符要不要加引号了,要是不能执行就改为#if @tmp!=你 {退出} {#t+守门}


#tri {官兵拦住(*)说道:看告示了没有?您想进带着*进城呐?先问问*大人吧!} {#if (%1!="壮汉") {#var name %1;look}} {守门}
#t- 守门;
#var tmp %1;
#if @tmp!="壮汉" {#var name %1;look} {#t+守门}

#tri {@name~((*)~)} {#t- allow;#alarm +2 {#t+ allow};#var id %lower(%1);allow %lower(%1)} {allow}
#t- allow;
#alarm +2 {#t+ allow};
#var id %lower(%1);
allow @id

clfb 发表于 2010-1-12 17:35:00

谢谢
我都改进去了,现在去测试看看

clfb 发表于 2010-1-12 18:48:16

一触发就退出,我把壮汉改成“你”也退出

壮汉对着你大喝道:挡我者死!
halt
quit

#tri {*对着(*)大喝道:挡我者死!} {#if (%1!=你) {#t- 守门;退出}} {守门}
#t- 守门;
#var tmp %1;
#if @tmp!="壮汉" {退出} {#t+守门}

hba 发表于 2010-1-13 12:03:08

原帖由 clfb 于 2010-1-12 06:48 PM 发表 http://pkuxkx.com/forum/images/common/back.gif
壮汉对着你大喝道:挡我者死!
halt
quit

#tri {*对着(*)大喝道:挡我者死!} {#if (%1!=你) {#t- 守门;退出}} {守门}
#t- 守门;
#var tmp %1;
#if @tmp!="壮汉" {退出} {#t+守门}

如果是这个触发,那我建议你修改为:
语句:
^??壮汉对着(%x)大喝道:挡我者死!
指令:
#t- 守门;
#var tmp %1;
#if @tmp=你 {#t+守门;
#mes 开战了} {退出}

//我测试了一下,zMud462判断语句后面是不需要带引号的,因此,上面的那些"你"、"壮汉"都应改为你、壮汉
//另外,要是你不喜欢弹出窗口的提示,也可以改为语音警报,“#mes 开战了”这句改为#play alert.wav。抄一个你喜欢的wav语音文件(改名为alert.wav)到你放*.mud的目录下。

clfb 发表于 2010-1-13 15:47:39

好的,我再测试测试,谢谢

这个给变量赋值还挺有意思的
后面有一部分判断盗宝人的地方还有点小问题
可能是我的网络太慢了
等回家后我好好测试一个看看。
页: [1]
查看完整版本: 问个问题