{
for(i=0;i<9;i++) st_value=st_value.replace(" ",""); -----[[这里为什么要用循环?这个不是抓状态么...]]
st_name=st_name.replace("-","_");
world.setVariable(st_name,st_value);
}
function set_var(st_name,st_value)
{
world.setVariable(st_name,st_value);
}
这段出现在sure的朱熹答题脚本中...请问谁能把这段解释一下...
另外 请问我通过trigger抓取的变量如何发送给脚本?
打个比方说
^[> ]*(.*)两银子\(\bSilver\b\)$
%1是xx两银子,如何把这个%1赋值给脚本里的变量number?
选项里选择发送给脚本解析器这个我知道...
我问的是命令行里要如何书写?
setvariable ("number",%1)这个不行...
问题很简单 请别笑话...(闭门研究了几天mush和lua的入门,连游戏都停下来专心啃书)ttk_09 正则表达式,我也刚刚明白一点。
一两白银(Silver)
的正则表达式我是这么做的:
(?P<silver_num>\D+)两白银\(Silver\).*
如果是发送到变量里,给你上张图:
如果是发送到脚本里,脚本里要用GetTriggerWildcard()函数,JScript为例:
var silver_num = world.GetTriggerWildcard("silver","silver_num");
其中"silver"是这个Trigger的Lable,"silver_num"是Trigger中设定的变量名。我不喜欢用%1%2 ……,所以全用(?P<var_name>)标识出来。
这样取到的应该是中文的数字“一”。脚本里要有其它的操作才能转换成数值。
以上也是我研究了两天的成果啊!yct63
[ 本帖最后由 ddid 于 2009-5-4 05:30 AM 编辑 ] 你贴的那段程序,主要就是为了去除变量中有干扰作用的乱字符,去除之后,再给变量重新赋值。 原帖由 ddid 于 2009-4-28 00:19 发表 不好意,不知为什么,右括号都变成小叉子了…… 自己测试一下Discuz!的右括号问题……)()(a.b.c.d e f.g.h)yct1()))else do_after(1,"ask hongdou about test");
[ 本帖最后由 ddid 于 2009-5-4 09:39 PM 编辑 ] 原帖由 hualai 于 2009-5-4 04:41 AM 发表 http://pkuxkx.net/forum/images/common/back.gif
function set_state(st_name,st_value)
{
for(i=0;i ]*(.*)两银子\(\bSilver\b\)$
%1是xx两银子,如何把这个%1赋值给脚本里的变量number?
选项里选择发送给脚本解析器这个我知道...
我问的是命令行里要如何 ...
我那段是为了剔除变量值里面的空格,其实应该用while的,一直用着没问题,就不改了。
页:
1
[2]