[心得] MushClient检查Trigger资讯的Alias

楼主: rsliang (rsliang)   2015-08-27 20:24:57
嗯,越来越没时间玩mud啦,来把用过的东西整理一下,分享出来。
如标题,因为之前习惯了TinTin++和zmud的接口,所以换到MushClient后超级不习惯的,
很多惯用的指令都没得用,所以就干脆土法炼钢做出来自用囉,如果有bug请告诉我,我
会找时间修改。
用途:启用或停用触发,或是列出所有或是指定的触发资讯(不包含触发的Option资讯)。
语法范例:#tr+ TriggerName->启用Label或Group中名称为TriggerName的触发。
#tr->列出所有的触发资讯。
#tr TriggerName->列出Lable或Group中名称为TriggerName的触发资讯。
语法说明:
1.#tr为必要字串:可用#trigger、#tri两种替代。
2.+/-为选用字串:+为启用;-为停用;不存在则是列出Trigger资讯。
3.TriggerName为选用字串:可以是Label或是Group。若两者同时存在以Label为
主;若不存在则+/-也不能存在,会列出所有的Trigger资讯。
===============================我是分隔线======================================
<alias
match="^\#tr(igger)?(i)?(\+|\-)?(\s)?(.*)$"
enabled="y"
echo_alias="y"
group="CheckTrigger"
regexp="y"
send_to="12"
sequence="100"
>
<send>
world = GetWorldById(GetWorldID())
varname = "%5"
varact = "%3"
if varname == "" and varact == "" then
for keys, values in pairs(world:GetTriggerList()) do
matchpatern = world:GetTriggerInfo(values, 1)
sendpatern = world:GetTriggerInfo(values, 2)
grouppatern = world:GetTriggerInfo(values, 26)
ColourNote("yellow", "blue", "TriggerName: " .. values .. ". Trigger Group: " .. grouppatern .. ".")
ColourNote("cyan", "black","Match: {" .. matchpatern .. "}")
ColourNote("yellow", "black","Send:")
ColourNote("yellow", "black","{")
ColourNote("yellow", "black","" .. sendpatern)
ColourNote("yellow", "black","}")
end
elseif varname == "" and varact ~= "" then
ColourNote("red", "black","Syntax error: Need trigger name or group!")
elseif varname ~= "" and varact == "" then
for keys, values in pairs(world:GetTriggerList()) do
matchpatern = world:GetTriggerInfo(values, 1)
sendpatern = world:GetTriggerInfo(values, 2)
grouppatern = world:GetTriggerInfo(values, 26)
if varname == grouppatern or varname == values then
if varname == grouppatern then
ColourNote("blue", "gray", "TriggerName: " .. values .. ". Trigger Group: " .. grouppatern .. ".")
elseif varname == values then
ColourNote("yellow", "blue", "TriggerName: " .. values .. ". Trigger Group: " .. grouppatern .. ".")
end
ColourNote("cyan", "black","Match: {" .. matchpatern .. "}")
ColourNote("yellow", "black","Send:")
ColourNote("yellow", "black","{")
ColourNote("yellow", "black","" .. sendpatern)
ColourNote("yellow", "black","}")
end
end
elseif varname ~= "" and varact ~= "" then
if varact == "+" then
triact = true
trinote = "enabled"
else
triact = false
trinote = "disabled"
end
if world.IsTrigger(varname) == 0 then
EnableTrigger(varname , triact)
ColourNote("cyan", "black","Trigger “" .. varname .. "” " .. trinote)
else
isgroup = 0
for keys, values in pairs(world:GetTriggerList()) do
grouppatern = world:GetTriggerInfo(values, 26)
if varname == grouppatern then
isgroup = 1
break
end
end
if not isgroup then
ColourNote("red", "gray","No such trigger name or group!")
else
EnableTriggerGroup(varname, triact)
ColourNote("yellow", "gray","Trigger group“" .. varname .. "” " .. trinote)
end
isgroup = 0
end
end
</send>
</alias>
===============================================================================
楼主: rsliang (rsliang)   2015-08-27 21:46:00
见鬼了,竟然复制到旧版的,改了n次XD~

Links booklink

Contact Us: admin [ a t ] ucptt.com