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
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)
|
|
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>
|