北大侠客行MUD论坛

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

问个问题

[复制链接]
发表于 2010-1-11 17:15:02 | 显示全部楼层 |阅读模式
#tri {你的任务是去(*)守门。} {#t- job;%1} {job}
这句在5.55里正常应用,但是
我想把上面的语句应用在4.62上,
可执行的时候,这个语句激发不了命令
(*)取不到多隆给的命令里的XX门的数值

所以请高手指点下迷津,怎么修改才能在4.62里执行成功
谢谢
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2010-1-11 19:55:35 | 显示全部楼层
尝试一下这样的写法(要留意检查一下其他触发语句有没有合理的重开job组,#t+ job):
#t- job;
#var do_where %1;
@do_where
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2010-1-11 23:02:44 | 显示全部楼层
原帖由 hba 于 2010-1-11 07:55 PM 发表
尝试一下这样的写法(要留意检查一下其他触发语句有没有合理的重开job组,#t+ job):
#t- job;
#var do_where %1;
@do_where


其他语句应该都没有错误的,在5.55下正常使用,是根据论坛上的机器人扫盲贴改的。
只有这个(*)的语句不触发,抓取不到数据
一会试试去,谢谢
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 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秒再打开。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 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
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2010-1-12 17:35:00 | 显示全部楼层
谢谢
我都改进去了,现在去测试看看
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2010-1-12 18:48:16 | 显示全部楼层

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

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

#tri {*对着(*)大喝道:挡我者死!} {#if (%1!=你) {#t- 守门;退出}} {守门}
#t- 守门;
#var tmp %1;
#if @tmp!="壮汉" {退出} {#t+守门}
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2010-1-13 12:03:08 | 显示全部楼层
原帖由 clfb 于 2010-1-12 06:48 PM 发表
壮汉对着你大喝道:挡我者死!
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的目录下。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2010-1-13 15:47:39 | 显示全部楼层

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

这个给变量赋值还挺有意思的
后面有一部分判断盗宝人的地方还有点小问题
可能是我的网络太慢了
等回家后我好好测试一个看看。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 07:38 AM , Processed in 0.012060 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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