[求解决]新人求教MUSH抓取颜色的问题
本帖最后由 feehoo 于 2013-3-29 02:09 AM 编辑拜读了maper前辈抓取颜色的教程,实际操作中出现了一些问题。如武当炼丹
脚本的内容是这样的:
function lu_fire(name, line, wildcards, styles)
local fire_line_num = GetLinesInBufferCount()
local fire_styles_num = GetLineInfo(fire_line_num,11)
for i_fire = 1, fire_styles_num do
if GetStyleInfo(fire_line_num,i_fire,1) == "\\^\\^\\^\\^\\^" then
Fire_color = GetStyleInfo(fire_line_num,i_fire,14)
Fire_color_ch = RGBColourToName (Fire_color) --文本色(前景色)
Note( "文字颜色 = " .. Fire_color);
Note( "文字颜色中文 = " .. Fire_color_ch);
break
end
end--后面暂时注释掉
--if
--textC == 255 and backC == 12632256 and blinkC == true
--then
--Execute("hit drum")
--Execute("knock bell")
--end
end
跟踪的情况是TRACE: Matched trigger "^.+\^\^\^\^\^.*$"
但是没有任何想要的结果。
求教各位前辈帮忙!
北大侠客行MUD,中国最好的MUD 自己顶一下,别沉了 亲们 停机这么久了 木有高手来指点啊? 今天利用测试站调试了一下脚本,发现可能是if后面的语句有问题。怀疑是^造成的。但是无论用\\还是\都没用。是否还有其他地方有问题呢?拜托大神指点。不胜感激。 你把lu_fire()写在那个文本框里的话,它是接收不到后面那几个参数的。应该把发送框留空,在脚本那个文本框里填lu_fire,注意不带括号。手机上的论坛,其他有没有bug就不知道了 回复 5# cappuccino
还是没有搞定。修改后的截图
为了方便脚本调试,修改后的是:
function lu_fire(name, line, wildcards, styles)
Note( "函数正常运行");
local line_num = GetLinesInBufferCount()
Note( "line_num正常运行");
local styles_num = GetLineInfo(line_num, 11)
Note( "styles_num正常运行");
for i = 1, styles_num do
if GetStyleInfo(line_num, i, 1) == "\\^" then
Note( "判断正常运行");
Fire_color = GetStyleInfo(line_num, i, 14)
Fire_color_ch = RGBColourToName (Fire_color)
print( "文字颜色 = " .. Fire_color);
print( "文字颜色中文 = " .. Fire_color_ch);
break
else
Note( "判断异常");
print( "i="..i);
end
跟踪和输出的结果是:
TRACE: Matched trigger "^[>]*\s*\*{7}\^\*{6}.*$"
TRACE: 正在执行 trigger 脚本 "lu_fire"
函数正常运行
line_num正常运行
styles_num正常运行
判断异常
i=1
请大神指点!{:7_275:}
页:
[1]