craz 发表于 2016-1-27 11:42:12

hpbrief变量超10个怎么抓取?新人求助mush

hpbrief变量超10个怎么抓取?求助
触发
^#(.*),(\d+),(\d+),(\d+),(\d+),(\d+)$\n#(\d+),(\d+),(\d+),(\d+),(\d+),(\d+)$
匹配成功
SetVariable ("jinshen","%12")
SetVariable ("jinshen_max","%10")
SetVariable("jinshen_percent","%11")
但10%以后均为"nil"

如何表达

北大侠客行MUD,中国最好的MUD

feehoo 发表于 2016-1-27 11:43:15

SetVariable ("jinshen","<%12>")
加上尖角括号即可。

creat 发表于 2016-1-27 13:08:41

本帖最后由 creat 于 2016-1-27 06:00 AM 编辑

hpbrief这种值……。
没有必要写进mcl里面吧,拿来直接运算就好了。而且脚本运算更加简单,触发里面不用写括号都可以
比如
^\#\d*\.*\d*(?:\w*)\,\d*,\d*,\d*,\d*,\d*\n\#\d*,\d*,\d*,\d*,\d*,\d*$
function hpbrief (n,l,w)
local _,_,xp,pot,max_neili,neili,max_jingli,jingli,full_qi,max_qi,qi,full_jing,max_jing,jing=string.find (w,"(%d*%.?%d*K?M?),(%d+),(%d+),(%d+),(%d+),(%d+)%\n%#(%d+),(%d+),(%d+),(%d+),(%d+),(%d+)")

print ("xp:",xp,"pot:",pot,"max_neili:",max_neili,"neili:",neili,"max_jingli:",max_jingli,"jingli:",jingli,"full_qi:",full_qi,"max_qi:",max_qi,"qi:",qi,"full_jing:",full_jing,"max_jing:",max_jing,"jing:",jing)
end
然后写进一个表里还是写进mcl里都可以随便处理,不用受mush的数量限制

craz 发表于 2016-1-28 10:45:03

跪谢各位大侠!!!

craz 发表于 2016-1-28 11:11:10

再请问(%d*%.?%d*K?M?)怎么理解?

creat 发表于 2016-1-28 11:13:50

回复 5# craz


    可能有不知道几个数字 可能有一个. 可能有不知道几个数字 可能有一个K 可能有一个M

emyt 发表于 2016-1-29 20:56:23

建议使用mush的触发模式,看看这个帖子
http://www.pkuxkx.net/forum/viewthread.php?tid=23433

ppkas 发表于 2017-7-9 12:41:11

回复 2# feehoo


尖括号<位置错了,应该是 %<11> ,只括数字
页: [1]
查看完整版本: hpbrief变量超10个怎么抓取?新人求助mush