You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

177 lines
3.7 KiB

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE muclient>
<!-- Saved on Sunday, October 25, 2015, 12:03 PM -->
<!-- MuClient version 4.98 -->
<!-- Plugin "Epic_Not_Here_Counter" generated by Plugin Wizard -->
<muclient>
<plugin
name="Epic_Not_Here_Counter"
author="Arcidayne"
id="e6cd5104e883a1dd9c4362e2"
language="Lua"
purpose="Identifies players not in your current room. Useful for leaders on Epics."
save_state="y"
date_written="2015-10-25 12:00:38"
requires="4.00"
version="1.0"
>
<description trim="y">
<![CDATA[
Simple command. Use 'grhere' to identify people missing from your group in the room, or 'grarea' to find people missing in the area.
]]>
</description>
</plugin>
<!-- Triggers -->
<triggers>
<trigger
group="Epic_Not_Here"
keep_evaluating="y"
match="^Lvl\/Gld\s+Name\s+Hp\s+Mana\s+Moves\s+Align\s+TNL\s+Qt\s+Here\?$"
name="Start_Group"
regexp="y"
send_to="12"
sequence="100"
>
<send>epic_group_not_in_room = {}
EnableTrigger("In_Room",true)
EnableTrigger("End_Group",true)
EnableTrigger("Start_Group",false)</send>
</trigger>
<trigger
group="Epic_Not_Here"
keep_evaluating="y"
match="^(?:200|201)\s.{3}\s+\*?(\w+)\s+\d+/\d+\s+\d+/\d+\s+\d+/\d+\s+-?\d+\s+\d+\s+\d+\s+[\W]$"
name="In_Room"
regexp="y"
send_to="12"
sequence="100"
>
<send>table.insert(epic_group_not_in_room,"%1")</send>
</trigger>
<trigger
group="Epic_Not_Here"
keep_evaluating="y"
match="^$"
name="End_Group"
regexp="y"
send_to="12"
sequence="100"
>
<send>EnableTrigger("In_Room",false)
Send("gt @Y" .. #epic_group_not_in_room .. " @CPlayer(s) Missing: @W" .. table.concat(epic_group_not_in_room, ", ") .. "$C")
EnableTrigger("End_Group",false)</send>
</trigger>
<trigger
group="Epic_Not_Here"
match="^$"
name="End_Area"
regexp="y"
send_to="12"
sequence="100"
>
<send>local not_in_area = {}
EnableTrigger("Get_Names", false)
for k,v in pairs(group_table) do
if v == 0 then
table.insert(not_in_area, k)
end
end
EnableTrigger("End_Area", false)
Send("gt @W" .. #not_in_area .. " @Ymember(s) not in the area: @W" .. table.concat(not_in_area, ", ") .. "$C")</send>
</trigger>
<trigger
group="Epic_Not_Here"
match="^(\w+)\s"
name="Get_Names"
regexp="y"
send_to="12"
sequence="100"
>
<send>if group_table["%1"] then
group_table["%1"] = 1
end</send>
</trigger>
<trigger
group="Epic_Not_Here"
match="^Players near you\:$"
name="PlayersNear"
regexp="y"
send_to="12"
sequence="100"
>
<send>EnableTrigger("Get_Names", true)
EnableTrigger("PlayersNear", false)
EnableTrigger("End_Area", true)</send>
</trigger>
</triggers>
<!-- Aliases -->
<aliases>
<alias
match="^grhere$"
enabled="y"
group="Epic_Not_Here"
regexp="y"
send_to="12"
sequence="100"
>
<send>EnableTrigger("Start_Group",true)
9 years ago
Send("group")
Send("echo ")</send>
</alias>
<alias
match="^grarea$"
enabled="y"
group="Epic_Not_Here"
regexp="y"
send_to="12"
sequence="100"
>
<send>group_table = {}
for _,v in ipairs(epic_group_members) do
group_table[v.name] = 0
end
EnableTrigger("PlayersNear", true)
Send("where")
Send("echo")</send>
</alias>
</aliases>
<!-- Plugin help -->
<aliases>
<alias
script="OnHelp"
match="enhhelp"
enabled="y"
>
</alias>
</aliases>
<script>
<![CDATA[
function OnHelp ()
world.Note (world.GetPluginInfo (world.GetPluginID (), 3))
end
function OnPluginBroadcast(msg, id, name, text)
if (id == '3e7dedbe37e44942dd46d264') and (text == 'group') then
local res, group = CallPlugin("3e7dedbe37e44942dd46d264", "gmcpval", "group.members")
assert( loadstring( "epic_group_members = " .. group or "")) ()
end
end
]]>
</script>
</muclient>