【脚本】LUA中的模式匹配(取不同串)

LUA作者走一波,至少少走10天弯路,LUA中的模式匹配(取不同串)

下载完的大神们 欢迎给评论一波 666
开不开心 快不快乐
少走多少弯路,自己细细品

function zxlhsxex(zs,xz)	
	local biao_t = {	
		------蓝色	
		{"经验达人",100},--1
		{"练武达人",100},--2
		{"防御达人",100},--3
		{"生命达人",100},--4			
		{"打怪达人",100},--5
		{"自愈达人",100},--6
		{"升级达人",100},--7
		{"正义之师",100},--8
		{"富甲一方",100},--9
		{"死亡之怒",100},--10
		{"拼死一击",100},--11
		{"巫蛊之术",100},--12
		{"反戈一击",100},--13
		{"逍遥法外",100},--14
		{"嗜血屠夫",100},--15
		{"有德之士",100},--16
		{"水火不容",100},--17		
		{"杀戮成性",100},--18
		{"身强体健",100},--19
		{"荼毒生灵",100},--20						
		------粉色	
		{"盗亦有道",100},--21
		{"生财有道",100},--22
		{"佛光普照",100},--23
		{"潜能爆发",100},--24
		{"诅咒之王",100},--25
		{"嗜酒如命",100},--26
		{"经脉逆转",100},--27
		{"奉天承运",100},--28
		{"全胜之势",100},--29
		{"以德报怨",100},--30
		{"幸运之星",100},--31				
		-------橙色
		{"百炼之躯",100},--32
		{"魔神之躯",100},--33
		{"武圣之躯",100},--34
		{"百毒不侵",100},--35
		{"刮骨疗毒",100},--36
		{"雷霆之怒",100},--37
		{"怪物克星",100},--38
		{"嗜血狂魔",100},--39
		{"斗转星移",100},--40
		{"等级压制",100},--41
		{"钱能通神",100},--42
		{"峰回路转",100},--43
		{"死而复生",100},--44
		{"坚韧不拔",100},--45
		{"老而弥坚",100},--46
		{"金刚不坏",100},--47
		{"极寒风暴",100},--48	
		-------红色		
		{"暴走狂徒",10},--49
		{"神力无敌",10},--50
		{"党同伐异",10},--51
		{"快如闪电",10},--52
		{"龙之召唤",10},--53
		{"死亡凝视",10},--54
		{"风驰电掣",10},--55
		{"蛛网束缚",10},--56
		{"百折不挠",10},--57
		{"金刚护体",10},--58
		{"血脉压制",10},--59
		{"神圣之力",10},--60
		{"破釜沉舟",10},--61
		{"浴血奋战",10},--62
		{"天神庇佑",10},--63
		{"冰封千里",10},--64
		{"渡劫之王",10},--65
		{"故技重施",10},--66			
	}
	
	local z1 = ""
	local z2 = ""
	local z3 = ""
	local sum = 0
	local lh_t = biao_t
	for i=1,#biao_t do
		sum = sum + biao_t[i][2]
		lh_t[i][2] = sum		
	end
	
	local r1 = math.random(1,sum)
	local js_t1 = {}
	local idx = 0	
	for i=1,#lh_t do
		if r1 <= lh_t[i][2] then
			js_t1 = lh_t[i]
			local t1 = string.match(zs,js_t1[1])	
			if t1 == nil then
				zs = zs.."#"..js_t1[1]
				idx = i
				print("idx1="..idx)
				break;
			end				
		end
	end		
	print("zs1="..zs)	
	
	local r2 = math.random(1,sum)
	local js_t2 = {}
	local idx = 0	
	for i=1,#lh_t do
		if r2 <= lh_t[i][2] then
			js_t2 = lh_t[i]
			local t1 = string.match(zs,js_t2[1])	
			if t1 == nil then
				zs = zs.."#"..js_t2[1]
				idx = i
				print("idx2="..idx)
				break;
			end				
		end
	end	
	
	print("zs2="..zs)
	
	local r3 = math.random(1,sum)
	local js_t3 = {}
	local idx = 0	
	for i=1,#lh_t do
		if r3 <= lh_t[i][2] then
			js_t3 = lh_t[i]
			local t1 = string.match(zs,js_t3[1])	
			if t1 == nil then
				zs = zs.."#"..js_t3[1]
				idx = i
				print("idx3="..idx)
				break;
			end				
		end
	end	
	
	print("zs3="..zs)
	print("r1="..r1.."  r2="..r2.."  r3="..r3.."   |sum="..sum)
	return zs
end
local zs = "经验达人蓝|练武达人蓝|防御达人粉"
local zz = zxlhsxex(zs,param)
print("----------------------------------分割线------------------------------------")
print("zzz="..zz)

 

感谢996传奇三端引擎论坛:2297567183分享
下载地址
百度云盘
提取码:n572
THE END