北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
12
返回列表 发新帖
楼主: cying

一个由zmud转入mush的初学者的小体会

[复制链接]
发表于 2010-11-9 09:10:56 | 显示全部楼层
原帖由 cying 于 2010-11-9 07:59 AM 发表
谢谢大家的支持和帮助
我第一个疑问其实是为了弄明白变量赋值的问题,通过前辈的解释我的理解为这个变量t只是一个临时的变量,和变量表中的变量不同,如果要存入变量表中还需要赋值(把%1发送给变量t),这样如果一个 ...



你的理解有误:t并不是临时变量,而是触发器中参数的自定义名称。
首先,在触发器里定义(?P/d+) 其意义是给括号内的触发一个人为的参数命名,而%1,%2这样的参数名是1和2,是系统默认的。你的触发里为自定义参数名称。要想使用触发器里的参数,可以采用以下几种方式:
1、用自定义参数传递变量。发送框内容里输入,诸如abc="%1"的方式,选脚本解析器传递变量。
2、用下方脚本函数的方式传递变量。但此函数必须采用特殊格式,xxx=function(name,line,wildcards)。在最下方的脚本函数中引用。只需写上函数名称即可
(1)其中,参数%1就是wildcards[1],默认表示触发中的%1,依此类推。
在脚本函数的使用方式如下:
xxx=function(name,line,wildcards)
abc=wildcards[1]
end
这与在发送框内输入abc="%1"完全一致。
(2)若有自定义名称的参数,比如楼主的(?P/d+),首先就需要给触发一个名字,如ttt。在这个名为ttt的触发里参数t的传递如下:
xxx=function(name,line,wildcards)
abc=GetTriggerWildcard ("ttt", "t")
end

[ 本帖最后由 littleknife 于 2010-11-9 09:25 AM 编辑 ]
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2010-11-9 14:23:25 | 显示全部楼层
oh
了解了,谢谢
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2010-11-9 15:09:44 | 显示全部楼层
原帖由 littleknife 于 2010-11-9 09:10 发表



你的理解有误:t并不是临时变量,而是触发器中参数的自定义名称。
首先,在触发器里定义(?P/d+) 其意义是给括号内的触发一个人为的参数命名,而%1,%2这样的参数名是1和2,是系统默认的。你的触发里为自定义 ...


北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2010-11-9 15:36:25 | 显示全部楼层
关于简单信息在 mini window 中输出,可以看我刚发的新贴:
http://pkuxkx.com/forum/thread-17090-1-1.html
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2010-11-10 17:26:00 | 显示全部楼层
已经看到了,赶快学习一下,可惜我玩的不是北侠,要不然应该接受的快一点
也有好处 所有的东西都要自己弄,理解的更透彻
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2010-11-11 11:09:02 | 显示全部楼层
受教了~我也是从zmud转型到mush的,开始学的时候也很有一种无所适从的感觉,很喜欢这种文章
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 03:54 AM , Processed in 0.008659 second(s), 12 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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