Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0" encoding="iso-8859-1"?>
- <!DOCTYPE muclient>
- <!-- Saved on Monday, November 16, 2009, 4:12 PM -->
- <!-- MuClient version 4.40 -->
- <!-- Plugin "Container_Sort" generated by Plugin Wizard -->
- <muclient>
- <plugin
- name="Container_Sort"
- author="Madcatz"
- id="b5fb54e6d638c91a211d96f5"
- language="Lua"
- purpose="Sorts containers. Allows getting and putting of items into container by level."
- date_written="2009-11-16 16:10:52"
- requires="4.33"
- version="1.0"
- >
- <description trim="y">
- <![CDATA[
- lget <container> <min level> <max level> Get all items from <min level> to <max level> from <container>
- lput <container> <min level> <max level> Puts all items from <min level> to <max level> into <container>
- sort <container> Sorts contents of <container>, by level
- ]]>
- </description>
- </plugin>
- <!-- Get our standard constants -->
- <include name="constants.lua"/>
- <!-- Triggers -->
- <triggers>
- <trigger
- group="putget"
- keep_evaluating="y"
- match="^$"
- omit_from_output="y"
- regexp="y"
- sequence="100"
- >
- </trigger>
- <trigger
- group="putget"
- keep_evaluating="y"
- match="sortdone"
- omit_from_output="y"
- script="didput"
- sequence="100"
- >
- </trigger>
- <trigger
- group="lputget"
- keep_evaluating="y"
- match="lgetdone"
- omit_from_output="y"
- script="didlgetput"
- sequence="100"
- >
- </trigger>
- <trigger
- group="lputget"
- keep_evaluating="y"
- match="lputdone"
- omit_from_output="y"
- script="didlgetput"
- sequence="100"
- >
- </trigger>
- <trigger
- group="invdatacap"
- match="^(?P<idnum>\d*)\,(.*?)\,(.*?)\,(?P<level>\d*)\,(.*?)\,(.*?)\,(.*?)\,(.*?)$"
- omit_from_output="y"
- regexp="y"
- script="makelist"
- sequence="100"
- >
- </trigger>
- <trigger
- group="sortsecondary"
- keep_evaluating="y"
- match="^\| Id(\s*)\: (?P<idnum>\d*)(\s*)\|$"
- omit_from_output="y"
- regexp="y"
- script="dosort"
- sequence="100"
- >
- </trigger>
- <trigger
- group="invdatastart"
- match="{/invdata}"
- omit_from_output="y"
- script="invdataend"
- sequence="100"
- >
- </trigger>
- <trigger
- group="putget"
- match="You will now see prompts."
- omit_from_output="y"
- send_to="2"
- sequence="100"
- >
- <send>Sorting done!</send>
- </trigger>
- <trigger
- group="putget"
- match="You will no longer see prompts."
- omit_from_output="y"
- send_to="2"
- sequence="100"
- >
- <send>Sorting...</send>
- </trigger>
- <trigger
- group="invdatastart"
- match="{invdata *}"
- omit_from_output="y"
- script="invdatastart"
- sequence="100"
- >
- </trigger>
- <trigger
- group="invdatastart"
- match="{invdata}"
- omit_from_output="y"
- script="invdatastart"
- sequence="100"
- >
- </trigger>
- <trigger
- group="sortsecondary"
- keep_evaluating="y"
- match="*"
- name="idenon"
- omit_from_output="y"
- sequence="100"
- >
- </trigger>
- <trigger
- group="sortmain"
- match="+-----------------------------------------------------------------+"
- omit_from_output="y"
- script="idenstart"
- sequence="100"
- >
- </trigger>
- <trigger
- group="putget"
- match="You get * from *."
- omit_from_log="y"
- omit_from_output="y"
- sequence="100"
- >
- </trigger>
- <trigger
- group="putget"
- match="You put * into *."
- omit_from_output="y"
- sequence="100"
- >
- </trigger>
- </triggers>
- <!-- Aliases -->
- <aliases>
- <alias
- script="sort"
- match="sort *"
- enabled="y"
- sequence="100"
- >
- </alias>
- <alias
- script="lget"
- match="lget * * *"
- enabled="y"
- sequence="100"
- >
- </alias>
- <alias
- script="lput"
- match="lput * * *"
- enabled="y"
- sequence="100"
- >
- </alias>
- </aliases>
- <!-- Script -->
- <script>
- <![CDATA[
- idencount=0
- itemlist={}
- container=nil
- amsorting=0
- minlgetlev=0
- maxlgetlev=0
- Note(GetPluginInfo(GetPluginID(), 3))
- function sort(name, line, wildcards)
- tempdelay = GetSpeedWalkDelay()
- SetSpeedWalkDelay(125)
- amsorting=1
- EnableTriggerGroup("sortmain")
- SendNoEcho("identify "..wildcards[1])
- end
- function lget(name, line, wildcards)
- if tonumber(wildcards[2]) and tonumber(wildcards[3]) then
- if tonumber(wildcards[2]) <= tonumber(wildcards[3]) then
- tempdelay = GetSpeedWalkDelay()
- SetSpeedWalkDelay(125)
- minlgetlev = tonumber(wildcards[2])
- maxlgetlev = tonumber(wildcards[3])
- amsorting=0
- EnableTriggerGroup("sortmain")
- SendNoEcho("identify "..wildcards[1])
- else
- Note("Max level must be at least min level")
- end
- else
- Note("Syntax: lget <container> <min level> <max level>")
- end
- end
- function lput(name, line, wildcards)
- if tonumber(wildcards[2]) and tonumber(wildcards[3]) then
- if tonumber(wildcards[2]) <= tonumber(wildcards[3]) then
- tempdelay = GetSpeedWalkDelay()
- SetSpeedWalkDelay(125)
- minlgetlev = tonumber(wildcards[2])
- maxlgetlev = tonumber(wildcards[3])
- amsorting=2
- EnableTriggerGroup("sortmain")
- SendNoEcho("identify "..wildcards[1])
- else
- Note("Max level must be at least min level")
- end
- else
- Note("Syntax: lput <container> <min level> <max level>")
- end
- end
- function idenstart(name, line, wildcards)
- if GetTriggerInfo("idenon", 8) then
- if idencount == 1 then
- idencount = 2
- else
- EnableTriggerGroup("sortsecondary", false)
- idencount=0
- EnableTriggerGroup("sortmain", false)
- end
- else
- EnableTriggerGroup("sortsecondary", true)
- idencount=1
- end
- end
- function dosort(name, line, wildcards)
- if amsorting==1 or amsorting==0 then
- SendNoEcho("invdata "..wildcards["idnum"])
- container = wildcards["idnum"]
- EnableTriggerGroup("invdatastart", true)
- else
- SendNoEcho("invdata")
- container = wildcards["idnum"]
- EnableTriggerGroup("invdatastart", true)
- end
- end
- function makelist(name, line, wildcards)
- itemlist[tostring(wildcards["idnum"])]=tonumber(wildcards["level"])
- end
- function invdatastart(name, line, wildcards)
- itemlist={}
- EnableTriggerGroup("invdatacap", true)
- end
- function invdataend(name, line, wildcards)
- EnableTriggerGroup("invdatacap", false)
- EnableTriggerGroup("invdatastart", false)
- if amsorting==1 then
- EnableTriggerGroup("putget", true)
- startsorting()
- elseif amsorting==0 then
- startlget()
- else
- startlput()
- end
- end
- function startsorting()
- listsize = 0
- for i,j in pairs(itemlist) do
- listsize = listsize+1
- end
- SendNoEcho("prompt")
- for count = 1,listsize,1 do
- highestlevel=-1
- highestid=0
- for id,lev in pairs(itemlist) do
- if lev>highestlevel then
- highestlevel = lev
- highestid = id
- end
- end
- itemlist[tostring(highestid)]=-1
- EnableTriggerGroup("putget", true)
- Queue("get "..highestid.." "..container, false)
- Queue("put "..highestid.." "..container, false)
- end
- Queue("prompt", false)
- Queue("echo sortdone", false)
- end
- function didput(name, line, wildcards)
- EnableTriggerGroup("putget", false)
- SetSpeedWalkDelay(tempdelay)
- end
- function startlget()
- EnableTriggerGroup("lputget", true)
- for id, lev in pairs(itemlist) do
- if lev>=minlgetlev and lev<=maxlgetlev then
- Queue("get "..id.." "..container, false)
- end
- end
- Queue("echo lgetdone", false)
- end
- function startlput()
- EnableTriggerGroup("lputget", true)
- for id, lev in pairs(itemlist) do
- if lev>=minlgetlev and lev<=maxlgetlev then
- Queue("put "..id.." "..container, false)
- end
- end
- Queue("echo lputdone", false)
- end
- function didlgetput(name, line, wildcards)
- EnableTriggerGroup("lputget", false)
- SetSpeedWalkDelay(tempdelay)
- end
- ]]>
- </script>
- </muclient>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement