--[[ Mang Admin Notes Writen by: Athrus of Sandoria Website: http://mangadmin.thruhere.net This is an addon i made to help GMs of MangOS servers. Feel free to distrube this for free. If you paid for this, you got ripped off. If you edit anything please leave my name as the creator. That's all :), Enjoy. PS. This is coded in my own unique style. AKA no comments and variable names that will need to be deciphered. Edit this at your own risk of personal health loss and mental instability. <3 Athrus. Special Thanks To: Weedy, for helping me test. Creators of WoW UI Designer www.wowwiki.com wow.mmhell.com www.wowinterface.com ]] Xvalue = "-8913.230469" Yvalue = "554.632996" Zvalue = "93.794403" MAPvalue = "0" Xfor = Xvalue; Yfor = Yvalue; Zfor = Zvalue; Mfor = MAPValue; options={["Supress"]=0, ["Notes"]=0,["PMGreet"]=0,["PMSystem"]=0, ["PMBye"]=0,["PMSystem"]=0,["PMGreetMSG"]="Greetings. I am currently busy with another player. Please wait and I will address you shortly. This is an automated message.",["PMByeMSG"]="Enjoy your travels in Azeroth.",["NotesChan"]="MangAdminDefaultChannel", ["Mini"]=0,["Maplocal"]=45}; PMMessages={}; PMLang={}; PMNames={}; PMNameColors={}; version="0.10a"; PMcheck=false; vertext=""; PMListOffset=0; MessCurUser=""; lastlineno=0; pname=UnitName("player"); pnamelen=string.len(pname); pnameoutlen=2+pnamelen; bypassgps=false; transfer=false; allowtrans=true; TBBarOpen=false; TB_LocationNames={}; TB_LocationNames[1]={"Darnassus","10037.599609","2496.800049","1318.400024", "1"}; TB_LocationNames[2]={"Booty Bay","-14440.948242","487.123627","28.746725", "0"}; TB_LocationNames[3]={"Dustwallow Marsh","-2840.130859","-3338.907715","31.947880", "1"}; TB_LocationNames[4]={"Gadgetzan","-7160.931152","-3816.634766","8.371173", "1"}; TB_LocationNames[5]={"Ironforge","-4981.250000","-881.541992","501.660004", "0"}; TB_LocationNames[6]={"Orgrimmar","1676.209961","-4315.290039","61.529301", "1"}; TB_LocationNames[7]={"Stormwind","-8913.230469","554.632996","93.794403", "0"}; TB_LocationNames[8]={"Undercity","1586.479980","239.561996","-52.148998", "0"}; TB_LocationNames[9]={"Azshara","2711.686523","-3880.104248","102.469734","1"}; TB_LocationNames[10]={"Southshore","-846.814636","-526.218323","10.981694","0"}; IB_Sets={}; IB_Sets[1]={"Netherwind Regalia","210"}; IB_Sets[2]={"Vestments of Transcendence","211"}; IB_Sets[3]={"Nemesis Raiment","212"}; IB_Sets[4]={"Bloodfang Armor","213"}; IB_Sets[5]={"Stormrage Raiment","214"}; IB_Sets[6]={"Dragonstalker Armor","215"}; IB_Sets[7]={"The Ten Storms","216"}; IB_Sets[8]={"Judgement Armor","217"}; IB_Sets[9]={"Battlegear of Wrath","218"}; IB_Sets[10]={"Frostfire Regalia","526"}; IB_Sets[11]={"Vestments of Faith","525"}; IB_Sets[12]={"Plagueheart Raiment","529"}; IB_Sets[13]={"Bonescythe Armor","524"}; IB_Sets[14]={"Dreamwalker Raiment","521"}; IB_Sets[15]={"Cryptstalker Armor","530"}; IB_Sets[16]={"The Earthshatterer","527"}; IB_Sets[17]={"Redemption Armor","528"}; IB_Sets[18]={"Dreadnaught's Battlegear","523"}; IB_Sets[19]={"5 Onyxia Bags","a1","17966","17966","17966","17966","17966"}; IB_SetsDefault=18; IB_Items={}; IB_Items[1]={"Onyxia Hide Backpack","17966"}; IB_Items[2]={"Snowball","17202"}; IB_SetCreator={}; IB_SetiNum=1; IB_MadeNum=0; newSetNum=0; pkey=1; gkey=1; --Key, Username, Leader, Title, Body, Confirmed, Place Number, PostKey, Type ANArray={} ANArray[1]={0,"Athrus","Athrus","Hello","Hello World",0,1,1,"start"}; ANArray[2]={1,"Ziggy","Athrus","RE: Hello","How annoying is this?\nPoop",0,2,1,"reply"}; ANUsers={}; ANUsers["Athrus"]={1,0}; ANUsers["Ziggy"]={1,0}; gkey=3; pkey=3; ANOffset=0; ANSynch=false; chanNum=0; active=false; postKey="`";--DO NOT CHANGE FOR THE LOVE OF GOD --GM Buddy Stuff GMArray={} GMArray["Profs"]={333, 171, 164, 165, 202, 197, 182, 186, 393, 129, 185, 356} GMArray["Weapons"]={43,44,45,46,54,55,95,118,136,160,162,172,173,176,226,228,229,473} GMArray["Armor"]={293, 413, 414, 415, 433} GMArray["Spells"]={674, 2480, 7918, 7919, 5019,7738} GMArray["ProfSpells"]={13920, 13262,11611,9785,10662,12656,12180,2383, 11993, 10248, 2580, 10768, 10846, 18260, 818, 18248} GMArray["Pimp"]={23402,6668,11540,11541,11542,11543,11544,21713,26636,31700,25953,26054,26055,26056} GMArray["Morph"]={} GMArray["Morph"]["Onyxia"]=8570 GMArray["Morph"]["Sheep"]=856 GMArray["Morph"]["Cow"]=1060 GMArray["Morph"]["Bunny"]=328 --Ticket Buddy Stuff tCount=0; tCounter=0; tOffset=0; tNum=0; tInitial=false; tArray={}--[#]={Name, Number, Message} StaticPopupDialogs["ALLOW_TRANS"] = { text = "A user is trying to send you their Teleport Buddy locations?", button1 = "Accept", button2 = "Decline", OnAccept = function() TB_LocAccept("->None<-"); end, timeout = 30, whileDead = 1, hideOnEscape = 1 }; StaticPopupDialogs["ALLOW_IB_TRANS"] = { text = "A user is trying to send you their Item Buddy array(s)?", button1 = "Accept", button2 = "Decline", OnAccept = function() IB_ARRAYAccept("->None<-"); end, timeout = 30, whileDead = 1, hideOnEscape = 1 }; StaticPopupDialogs["TEST_SET"] = { text = "Your new set needs to be tested. MangAdmin will now create each of the items. Were all the items created properly?", button1 = "Yes", button2 = "No", OnAccept = function() SetCreator_Confirm(); end, OnCancel = function () SetCreator_Fail(); end, timeout = 0, whileDead = 1, hideOnEscape = 1 }; local lOriginalChatFrame_OnEvent; function MangAdmin_EventHandler(event) if ( event == "VARIABLES_LOADED" ) then -- if (options)then Map_Pos(); MenuManager("Mini"); tB_Initialize(); -- else -- end end end function MangAdmin_OnLoad() lOriginalChatFrame_OnEvent = ChatFrame_OnEvent; ChatFrame_OnEvent = MA_ChatFrame_OnEvent; SLASH_MANGADMIN1 = "/mangadmin"; SLASH_MANGADMIN2 = "/ma"; SlashCmdList["MANGADMIN"] = function(msg) MangAdmin_SlashCommandHandler(msg); end this:RegisterEvent("CHAT_MSG_SYSTEM"); this:RegisterEvent("CHAT_MSG_WHISPER"); this:RegisterEvent("CHAT_MSG_CHANNEL"); this:RegisterEvent("VARIABLES_LOADED"); outSYS("MangAdmin Loaded v"..version); out("Type .gps to place a bookmark."); end function MangReset() Xvalue = "-8913.230469" Yvalue = "554.632996" Zvalue = "93.794403" MAPvalue = "0" options={["Supress"]=0, ["Notes"]=0,["PMGreet"]=0,["PMSystem"]=0, ["PMBye"]=0,["PMSystem"]=0,["PMGreetMSG"]="Greetings. I am currently busy with another player. Please wait and I will address you shortly. This is an automated message.",["PMByeMSG"]="Enjoy your travels in Azeroth.",["NotesChan"]="MangAdminDefaultChannel", ["Mini"]=0,["Maplocal"]=45 }; PMMessages={}; PMNames={}; PMNameColors={}; PMcheck=false; vertext=""; PMListOffset=0; MessCurUser=""; lastlineno=0; pname=UnitName("player"); pnamelen=string.len(pname); pnameoutlen=2+pnamelen; bypassgps=false; transfer=false; allowtrans=true; TB_LocationNames={}; TB_LocationNames[1]={"Darnassus","10037.599609","2496.800049","1318.400024", "1"}; TB_LocationNames[2]={"Booty Bay","-14440.948242","487.123627","28.746725", "0"}; TB_LocationNames[3]={"Dustwallow Marsh","-2840.130859","-3338.907715","31.947880", "1"}; TB_LocationNames[4]={"Gadgetzan","-7160.931152","-3816.634766","8.371173", "1"}; TB_LocationNames[5]={"Ironforge","-4981.250000","-881.541992","501.660004", "0"}; TB_LocationNames[6]={"Orgrimmar","1676.209961","-4315.290039","61.529301", "1"}; TB_LocationNames[7]={"Stormwind","-8913.230469","554.632996","93.794403", "0"}; TB_LocationNames[8]={"Undercity","1586.479980","239.561996","-52.148998", "0"}; TB_LocationNames[9]={"Azshara","2711.686523","-3880.104248","102.469734","1"}; TB_LocationNames[10]={"Southshore","-846.814636","-526.218323","10.981694","0"}; IB_Sets={}; IB_Sets[1]={"Netherwind Regalia","210"}; IB_Sets[2]={"Vestments of Transcendence","211"}; IB_Sets[3]={"Nemesis Raiment","212"}; IB_Sets[4]={"Bloodfang Armor","213"}; IB_Sets[5]={"Stormrage Raiment","214"}; IB_Sets[6]={"Dragonstalker Armor","215"}; IB_Sets[7]={"The Ten Storms","216"}; IB_Sets[8]={"Judgement Armor","217"}; IB_Sets[9]={"Battlegear of Wrath","218"}; IB_Sets[10]={"Frostfire Regalia","526"}; IB_Sets[11]={"Vestments of Faith","525"}; IB_Sets[12]={"Plagueheart Raiment","529"}; IB_Sets[13]={"Bonescythe Armor","524"}; IB_Sets[14]={"Dreamwalker Raiment","521"}; IB_Sets[15]={"Cryptstalker Armor","530"}; IB_Sets[16]={"The Earthshatterer","527"}; IB_Sets[17]={"Redemption Armor","528"}; IB_Sets[18]={"Dreadnaught's Battlegear","523"}; IB_Sets[19]={"5 Onyxia Bags","a1","17966","17966","17966","17966","17966"}; IB_SetsDefault=18; IB_Items={}; IB_Items[1]={"Onyxia Hide Backpack","17966"}; IB_Items[2]={"Snowball","17202"}; IB_SetCreator={}; IB_SetiNum=1; IB_MadeNum=0; newSetNum=0; end function out(text) DEFAULT_CHAT_FRAME:AddMessage(text); end function outHUD(text) UIErrorsFrame:AddMessage(text, 1.0, 1.0, 0, 1,10); end function outERROR(text) DEFAULT_CHAT_FRAME:AddMessage(text, 1.0, 0.0, 0.0, 1.0); UIErrorsFrame:AddMessage(text, 1.0, 1.0, 0, 1,10); end function outPM(text,recipient) SendChatMessage(text, "WHISPER", nil,recipient); end function outPMSET(text,lang, recipient) SendChatMessage(text, "WHISPER", lang ,recipient); end function outSAY(text) SendChatMessage(text, "SAY", nil,nil); end function outSYS(text) DEFAULT_CHAT_FRAME:AddMessage(text, 1.0, 1.0, 0, 0); end function outNotes(text) SendChatMessage(text, "CHANNEL", nil, chanNum); end function outMESS(text,name) MessengerMainFrame:AddMessage(text); end function MangAdmin_SlashCommandHandler(msg) if (msg == "reload") then ReloadUI(); elseif (msg == "mark" or msg=="back") then MangAdmin_Mark(msg); out("Returning to your bookmarked location."); elseif (msg == "pm") then MangAdminForm4:Show(); elseif (msg == "tele" or msg=="teleport") then MangAdminForm6:Show(); elseif (msg == "item") then MangAdminForm7:Show(); elseif (msg == "help") then MangHelp(); elseif (msg == "info") then MangAdminForm2:Show(); elseif (msg == "options") then MangAdminForm1:Show(); elseif (msg == "menu") then MangAdminForm:Show(); elseif (msg == "reset") then MangReset(); elseif (msg == "gm") then MangAdminForm11:Show(); elseif (msg == "easter") then Secret(); out("What have you found???!"); else MangAdminFrames_Toggle(msg); end end function MangAdminFrames_Toggle(num) local frame = getglobal("MangAdminForm" .. num) if (frame) then if( frame:IsVisible() ) then frame:Hide(); else frame:Show(); end end end function MangAdmin_Mark(arg1) msg=".go "..Xvalue.." "..Yvalue.." "..Zvalue.." "..MAPvalue; outSAY(msg); end function InfoLoad() local vertext="Version "..version; local fs = getglobal("LBLVersion".."Label"); fs:SetText(vertext); end function Tele_Load(item) UIDropDownMenu_ClearAll(CBXGo); UIDropDownMenu_ClearAll(CBXBring); UIDropDownMenu_Initialize(CBXGo, GoButtons); UIDropDownMenu_SetButtonWidth(300,CBXGo); UIDropDownMenu_Initialize(CBXBring, BringButtons); end function GoButtons() local i = 0; local info = {}; info.text = "Available Characters"; info.textHeight = 18; info.isTitle = 1; UIDropDownMenu_AddButton(info); for i = 1, table.getn(PMNames) do info = {}; info.text = PMNames[i]; info.textHeight = 18; info.func = function() UIDropDownMenu_SetSelectedID(CBXGo, this:GetID(), 0); GoBoxAutoChange(); end UIDropDownMenu_AddButton(info); end UIDropDownMenu_SetText("Characters",CBXGo); end function BringButtons() local i = 0; local info = {}; info.text = "Available Characters"; info.textHeight = 18; info.isTitle = 1; UIDropDownMenu_AddButton(info); for i = 1, table.getn(PMNames) do info = {}; info.text = PMNames[i]; info.textHeight = 18; info.func = function() UIDropDownMenu_SetSelectedID(CBXBring, this:GetID(), 0); BringBoxAutoChange(); end UIDropDownMenu_AddButton(info); end UIDropDownMenu_SetText("Characters",CBXBring); end function GoBoxAutoChange() if (UIDropDownMenu_GetText(CBXGo)~="Characters")then BXGo:SetText(UIDropDownMenu_GetText(CBXGo)); end end function BringBoxAutoChange() if (UIDropDownMenu_GetText(CBXBring)~="Characters")then BXBring:SetText(UIDropDownMenu_GetText(CBXBring)); end end function Tele_Event(event) result=""; if (event=="GO" and (BXGo:GetText() and BXGo:GetText()~="")) then result=".goname "..BXGo:GetText(); outSAY(result); end if (event=="BRING" and (BXBring:GetText() and BXBring:GetText()~="")) then result=".namego "..BXBring:GetText(); outSAY(result); end end function PM_Open(arg1) if(options["PMSystem"]==1)then MangAdminForm4:Show(); MangAdminForm:Hide(); else outERROR("Private Message System is not enabled in the options."); end end function OptionsLoad(item) if(item=="CHKNotes") then if(options["Notes"]==1) then CHKNotes:SetChecked(1); end end if(item=="CHKPMGreet") then if(options["PMGreet"]==1) then CHKPMGreet:SetChecked(1); end end if(item=="BXPMGreetMSG") then --if(options["PMGreet"]==1) then BXPMGreetMSG:SetText(options["PMGreetMSG"]); -- end end if(item=="BXPMByeMSG") then BXPMByeMSG:SetText(options["PMByeMSG"]); end if(item=="BXNotesChan") then -- if(options["Notes"]==1) then BXNotesChan:SetText(options["NotesChan"]); -- end end if(item=="CHKPMSupress") then if(options["Supress"]==1) then CHKPMSupress:SetChecked(1); end end if(item=="CHKPMBye") then if(options["PMBye"]==1) then CHKPMBye:SetChecked(1); end end if(item=="CHKPMSystem") then if(options["PMSystem"]==1) then CHKPMSystem:SetChecked(1); CHKPMBye:Show(); CHKPMSupress:Show(); end end if(item=="CHKMini") then if(options["Mini"]==1) then CHKMini:SetChecked(1); end end local Slider=getglobal("SliderLocalSlider"); Slider:SetValue(options["Maplocal"]); end function OptionsSave(arg1) if (CHKPMGreet:GetChecked()) then options["PMGreet"]=1; else options["PMGreet"]=0; end if (CHKPMSystem:GetChecked()) then options["PMSystem"]=1; else options["PMSystem"]=0; end if (CHKPMBye:GetChecked()) then options["PMBye"]=1; else options["PMBye"]=0; end if (CHKPMSupress:GetChecked()) then options["Supress"]=1; else options["Supress"]=0; end if (CHKNotes:GetChecked()) then options["Notes"]=1; else options["Notes"]=0; end local Slider=getglobal("SliderLocalSlider"); options["Maplocal"]=Slider:GetValue(); options["PMGreetMSG"]=BXPMGreetMSG:GetText(); options["PMByeMSG"]=BXPMByeMSG:GetText(); options["NotesChan"]=BXNotesChan:GetText(); if (CHKMini:GetChecked()) then options["Mini"]=1; else options["Mini"]=0; end out("Options Saved"); end function OptionsEvents(event) if (event=="SAVE")then OptionsSave(); elseif (event=="SAVE&CLOSE")then OptionsSave(); MangAdminForm1:Hide(); MangAdminForm:Show(); elseif (event=="CLOSE")then MangAdminForm1:Hide(); MangAdminForm:Show(); end if(event=="PMSYSCLICK")then if (CHKPMSystem:GetChecked()) then CHKPMBye:Show(); CHKPMSupress:Show(); else CHKPMBye:Hide(); CHKPMBye:SetChecked(0); CHKPMSupress:Hide(); CHKPMSupress:SetChecked(0); end end end function PMChecker(arg1,arg2) if (PMcheck == true)then return true; else if (PMNames[arg1]==arg2) then return true; else return false; end end end function PM_AutoGreet(name) outPM(options["PMGreetMSG"],name); end function explode(d,p) t={} ll=0 while true do l=string.find(p,d,ll+1,true) -- find the next d in the string if l~=nil then -- if "not not" found then.. table.insert(t, string.sub(p,ll,l-1)) -- Save it in our array. ll=l+1 -- save just after where we found it for searching next time. else table.insert(t, string.sub(p,ll)) -- Save what's left in our array. break -- Break at end, as it should be, according to the lua manual. end end return t end function MA_ChatFrame_OnEvent(event) CkMsg={} PMcheck=false; shutty=false; local quiet=false; if strsub(event,1,24) == "CHAT_MSG_WHISPER_INFORM" then local msg = arg1; local plr = arg2; local lang = arg3; local num=0; local messNum=0; quiet=true; if ( (msg and msg ~= nil) and (plr and plr ~= nil) and msg~=options["PMByeMSG"] ) then for i=1,table.getn(PMNames) do PMcheck=PMChecker(i,plr); num=i; end num= num +1; if (PMcheck == false) then PMNames[num]=plr; PMMessages[plr]={}; PMLang[plr]=lang; end if (strsub(msg,1,11)=="INCLOCATION" or strsub(msg,1,9)=="TRANSDONE" or strsub(msg,1,15)=="ACCEPTTRANSSEND" or strsub(msg,1,14)=="INCTRANSTBLOCS" or strsub(msg,1,11)=="INCIBARRAYS" or strsub(msg,1,10)=="IBACCEPTED" or strsub(msg,1,13)=="TRANSCOMPLETE" or strsub(msg,1,19)=="RETURNTRANSCOMPLETE" or strsub(msg,1,8)=="INDARRAY" or strsub(msg,1,8)=="SETARRAY") then transfer=true; end messNum=table.getn(PMMessages[plr]) + 1; if (transfer==false)then if (msg~=options["PMByeMSG"])then msg="["..pname.."]: "..msg; PMMessages[plr][messNum]=msg; end end end elseif strsub(event,1,16) == "CHAT_MSG_SYSTEM" then local msg = arg1; local plr = arg2; if ( (msg and msg ~= nil) and (plr and plr ~= nil) ) then --out("Received: "..msg); CkMsg =explode(" ",msg); if (CkMsg[1]=="Map:" and bypassgps==false) then MAPvalue=CkMsg[2]; elseif (CkMsg[1]=="Map:" and bypassgps==true) then Mfor=CkMsg[2]; elseif (CkMsg[1]=="X:" and bypassgps==false) then Xvalue=CkMsg[2]; Yvalue=CkMsg[4]; Zvalue=CkMsg[6]; outHUD("Bookmark Placed. Type /ma mark to return here."); elseif (CkMsg[1]=="X:" and bypassgps==true) then Xfor=CkMsg[2]; Yfor=CkMsg[4]; Zfor=CkMsg[6]; TB_Setter(); elseif (CkMsg[1]=="Tickets" and CkMsg[2]=="count:") then for i=1, 10 do getglobal("BTNTB"..i):Hide(); end tCount=0; tCounter=0; tArray={}; tB_LoadTickets(CkMsg[3]); shutty=true; elseif (CkMsg[1]=="Ticket" and CkMsg[2]=="of") then tb_AddTicket(msg,CkMsg[3],strsub(CkMsg[5],1,1) ); shutty=true; elseif (CkMsg[1]=="New" and CkMsg[2]=="ticket") then outSAY(".ticket"); end end elseif strsub(event,1,16) == "CHAT_MSG_CHANNEL" then local msg = arg1; local plr = arg2; local chanNumber = arg8; --out(event); -- if (chanNumber == chanNum and pname==plr) then -- --transfer=true; -- elseif (chanNumber == chanNum and pname~=plr) then -- local expMsg = explode(postKey,msg); -- if (expMsg[1]== "CLUSTER UPDATEME")then -- if (ANSynch==true and active==false)then -- outNotes("CLUSTER UPDATE AVAILABLE"); -- active=true; -- else -- outNotes("CLUSTER UPDATE BUSY"); -- end -- elseif (expMsg[1]== "CLUSTER UPDATE AVAILABLE" and active==false and ANSynch==false) then -- active=true; -- outPM("NOTES UPDATEME",plr); -- elseif (expMsg[1]== "CLUSTER UPDATE BUSY") then -- -- elseif (expMsg[1]== "CLUSTER POST " and table.getn(expMsg)==9) then -- --out(expMsg[2]); -- AN_GET_Post(expMsg[2],expMsg[3],expMsg[4],expMsg[5],expMsg[6],expMsg[7],expMsg[8],expMsg[9]); -- -- elseif (expMsg[1]== "YOU_JOINED") then -- elseif (expMsg[1]== "YOU_LEFT") then -- else -- out("Invalid AdminNotes command recieved from: "..plr..msg); -- end -- --transfer=true; -- -- -- end elseif strsub(event,1,17) == "CHAT_MSG_WHISPER" then local msg = arg1; local plr = arg2; local chanNumber = arg7; local num=0; local messNum=0; local post=0; local exist=0; quiet=true; -- out(event); if (strsub(msg,1,14)=="NOTES UPDATEME") then local newmsg= explode (",",msg); for j=1, jANArray[8]) then post=1; exist=1; elseif (newmsg[i]==ANArray[j][2]) then exist=1; end i=i+1; end if ((post==1 or exist==0) and plr~=ANArray[j][2]) then outPM("NOTES POST"..postKey..ANArray[j][2]..postKey..ANArray[j][3]..postKey..ANArray[j][4]..postKey..ANArray[j][5]..postKey..ANArray[j][6]..postKey..ANArray[j][7]..postKey..ANArray[j][8]..postKey..ANArray[j][9],plr); end end end if (strsub(msg,1,10)=="NOTES POST") then local newmsg= explode (postKey,msg); AN_GET_Post(newmsg[2],newmsg[3],newmsg[4],newmsg[5],newmsg[6],newmsg[7],newmsg[8],newmsg[9]); end if (strsub(msg,1,14)=="INCTRANSTBLOCS") then --transfer=true; StaticPopupDialogs["ALLOW_TRANS"].text=plr.." is trying to send you Teleport Buddy locations. Do you accept?"; StaticPopupDialogs["ALLOW_TRANS"].OnAccept= function() TB_LocAccept(plr); end; StaticPopup_Show ("ALLOW_TRANS"); end if (strsub(msg,1,15)=="ACCEPTTRANSSEND") then -- transfer=true; TB_SendLocs(plr); end if (strsub(msg,1,9)=="TRANSDONE") then -- transfer=true; out("Transfer Complete"); outHUD("Transfer Complete"); outPM("Transfer Done.",plr) MangAdminScrollBar_Update2(); allowtrans=false; end if (strsub(msg,1,11)=="INCLOCATION") then --transfer=true; local STOP=false; local locals =explode("`",msg); local startnum=table.getn(TB_LocationNames)+1; for i=9,table.getn(TB_LocationNames) do if (locals[2]==TB_LocationNames[i][1]) then STOP=true; end end if (STOP==false) then TB_LocationNames[startnum]={locals[2],locals[3],locals[4],locals[5],locals[6]}; end end if (strsub(msg,1,11)=="INCIBARRAYS") then StaticPopupDialogs["ALLOW_IB_TRANS"].text=plr.." is trying to send you Item Buddy array(s). Do you accept?"; StaticPopupDialogs["ALLOW_IB_TRANS"].OnAccept= function() IB_ARRAYAccept(plr); end; StaticPopup_Show ("ALLOW_IB_TRANS"); end if (strsub(msg,1,10)=="IBACCEPTED") then -- transfer=true; IB_SendArray(plr); end if (strsub(msg,1,13)=="TRANSCOMPLETE") then out("Transfer Complete"); outPM("RETURNTRANSCOMPLETE",plr) end if (strsub(msg,1,19)=="RETURNTRANSCOMPLETE") then out("Transfer Complete"); end if (strsub(msg,1,8)=="INDARRAY") then --transfer=true; local startnum=table.getn(IB_Items)+1; local STOP=false local locals =explode("`",msg); for i=1,table.getn(IB_Items) do if (locals[2]==IB_Items[i][1]) then STOP=true; end end if (STOP==false) then IB_Items[startnum]={locals[2],locals[3]}; end end if (strsub(msg,1,8)=="SETARRAY") then local locals =explode("`",msg); local IB_MadeNums=0; local taken=false; local startnum=table.getn(IB_Sets)+1; for i=1,table.getn(IB_Sets) do if(strsub(IB_Sets[i][2],0,1)=="a") then IB_MadeNums=IB_MadeNums+1; end if (locals[2]==IB_Sets[i][1])then taken=true; end end IB_MadeNums=IB_MadeNums+1; if (taken==false) then IB_SetiNum=1; local label = getglobal("LBLiNum".."Label") IB_Sets[startnum]={}; IB_Sets[startnum][1]="New"--locals[2]; IB_Sets[startnum][2]="a"..IB_MadeNums; for i=3, table.getn(locals) do IB_Sets[startnum][i]=locals[i+1] end end --transfer=true; end if ( (msg and msg ~= nil) and (plr and plr ~= nil) and msg~=options["PMByeMSG"] ) then for i=1,table.getn(PMNames) do PMcheck=PMChecker(i,plr); num=i; end if (PMcheck == false) then num= num +1; PMNames[num]=plr; PMMessages[plr]={}; PMLang[plr]=GetDefaultLanguage("player"); if (options["PMGreet"]~=0) then PM_AutoGreet(plr,num); end end messNum=table.getn(PMMessages[plr]); messNum=messNum+1; if (strsub(msg,1,11)=="INCLOCATION" or strsub(msg,1,9)=="TRANSDONE" or strsub(msg,1,15)=="ACCEPTTRANSSEND" or strsub(msg,1,14)=="INCTRANSTBLOCS" or strsub(msg,1,11)=="INCIBARRAYS" or strsub(msg,1,10)=="IBACCEPTED" or strsub(msg,1,13)=="TRANSCOMPLETE" or strsub(msg,1,19)=="RETURNTRANSCOMPLETE" or strsub(msg,1,8)=="INDARRAY" or strsub(msg,1,8)=="SETARRAY") then transfer=true; end if (transfer==false)then PMMessages[plr][messNum]=msg; PMNameColors[plr]="green"; if (MessCurUser~=plr and options["Supress"]==1)then PlaySound("MapPing"); end end end end --End hook, return event to original function. if ((options["Supress"]==1 and quiet==true)or transfer==true or shutty==true)then transfer=false; return; else lOriginalChatFrame_OnEvent(event); end end function PMList_OnLoad() this:RegisterForDrag("LeftButton"); this:RegisterEvent("NAME_LIST_UPDATE"); end function Secret() BTNPimp:Show(); end function PMList_OnEvent() if ( event == "NAME_LIST_UPDATE" ) then PMList_Update(); end end function PMList_OnDragStart() MangAdminForm4:StartMoving() end function PMList_OnDragStop() MangAdminForm4:StopMovingOrSizing() end function PMMess_OnDragStart() MangAdminForm5:StartMoving() end function PMMess_OnDragStop() MangAdminForm5:StopMovingOrSizing() end function PMMess_OnLoad() this:RegisterForDrag("LeftButton"); end function PMList_Set(i) local lable = getglobal ("Name"..i); local button= getglobal ("NameButton"..i); lable:SetText(PMNames[i + PMListOffset]); if (PMNameColors[PMNames[i + PMListOffset]]=="white" or PMNames[i + PMListOffset]==MessCurUser) then lable:SetTextColor(1,1,1); PMNameColors[PMNames[i + PMListOffset]]="white"; else lable:SetTextColor(0,0.9,0); end button:Show(); lable:Show(); end function PMList_Hide(i) local lable = getglobal ("Name"..i); local button= getglobal ("NameButton"..i); button:Hide(); lable:Hide(); end function PMList_Update() if (options["PMSystem"]==0) then MangAdminForm4:Hide(); end local name="Test"; local messageNum=0; PMList_Button(); if ( table.getn(PMNames) == 0 ) then NoNamesText:Show(); else NoNamesText:Hide(); end -- if (table.getn(PMNames) < 10) then for i=1, 10 do PMList_Set(i); end -- else -- for i=1, 10 do --- PMList_Set(i+PMListOffset); -- end -- end for i=table.getn(PMNames)+1, 10 do PMList_Hide(i) end end function PM_Pressed(lableNum) MessengerMainFrame:Clear(); local plr=""; local lable= getglobal("Name"..lableNum); local uName= getglobal("PMUser".."Label"); plr=lable:GetText(); PMNameColors[plr]="white"; uName:SetText(plr); MessCurUser=plr; MangAdminForm5:Show(); for i=1, table.getn(PMMessages[plr]) do if(strsub(PMMessages[plr][i],1,pnameoutlen)=="["..pname.."]")then outMESS(PMMessages[plr][i]); lastlineno=i; else outMESS("["..plr.."]: "..PMMessages[plr][i]); lastlineno=i; end end end function PMMessenger_Update() local plr = MessCurUser; UIDropDownMenu_SetText(PMLang[plr], LangBox); if (lastlineno < table.getn(PMMessages[plr])) then lastlineno= lastlineno+1; if(strsub(PMMessages[plr][lastlineno],1,pnameoutlen)=="["..pname.."]")then outMESS(PMMessages[plr][lastlineno]); else outMESS("["..plr.."]: "..PMMessages[plr][lastlineno]); end end end function PMMessenger_Send() local PMtext= BXMessengerSend:GetText(); BXMessengerSend:SetText(""); if (PMtext and PMtext ~=nil) then -- if (PMLang[plr] and PMLang[plr]~="unset")then outPMSET(PMtext,PMLang[MessCurUser],MessCurUser); --out(PMLang[MessCurUser]); -- else --out(PMLang[plr]); -- outPM(PMtext,MessCurUser); -- end end end function PMMessenger_Close() MessCurUser=""; end function MangAdminScrollBar_Update2() local line; -- 1 through 5 of our window to scroll local lineplusoffset; -- an index into our data calculated from the scroll offset local total= table.getn(TB_LocationNames)-10; FauxScrollFrame_Update(MangAdminScrollBar2,total,8,14); if (total >10) then total=10; end for line=1,total do lineplusoffset = line + FauxScrollFrame_GetOffset(MangAdminScrollBar2); if lineplusoffset < 9 then getglobal("Text1"..line):SetText(TB_LocationNames[lineplusoffset+10][1]); getglobal("MangAdminEntry1"..line):Show(); else getglobal("Text1"..line):SetText(TB_LocationNames[lineplusoffset+10][1]); getglobal("MangAdminEntry1"..line):Show(); end end end function MangAdminScrollBar_Update() local line; -- 1 through 5 of our window to scroll local lineplusoffset; -- an index into our data calculated from the scroll offset FauxScrollFrame_Update(MangAdminScrollBar,10,8,14); for line=1,8 do lineplusoffset = line + FauxScrollFrame_GetOffset(MangAdminScrollBar); if lineplusoffset < 11 then getglobal("Text"..line):SetText(TB_LocationNames[lineplusoffset][1]); getglobal("MangAdminEntry"..line):Show(); else getglobal("MangAdminEntry"..line):Hide(); end end end function TB_Send() outPM("INCTRANSTBLOCS If you do not have MangAdmin installed, ignore this message and inform the sender.",BXUser:GetText()); end function TB_SetText(int) local txt=getglobal("Text"..int):GetText(); lblGoThere:SetText(txt); end function TB_GoThere() local name=lblGoThere:GetText(); x,y,z,m = ""; for i=1, table.getn(TB_LocationNames) do if (name==TB_LocationNames[i][1]) then x=TB_LocationNames[i][2]; y=TB_LocationNames[i][3]; z=TB_LocationNames[i][4]; m=TB_LocationNames[i][5]; end end local msg=".go "..x.." "..y.." "..z.." "..m; outSAY(msg); end function TB_Make() bypassgps=true; outSAY(".gps"); end function TB_Setter() local number = table.getn(TB_LocationNames) + 1; TB_LocationNames[number]={BXLocation:GetText(),Xfor,Yfor,Zfor,Mfor}; bypassgps=false; MangAdminScrollBar_Update2(); end function TB_LocAccept(plr) allowtrans=true; transfer=true; outPM("ACCEPTTRANSSEND",plr) end function TB_SendLocs(plr) for i=11, table.getn(TB_LocationNames) do outPM("INCLOCATION`"..TB_LocationNames[i][1].."`"..TB_LocationNames[i][2].."`"..TB_LocationNames[i][3].."`"..TB_LocationNames[i][4].."`"..TB_LocationNames[i][5], plr) end outPM("TRANSDONE",plr); end function ItemBuddy_SpawnSet() local id=0; if(strsub(BXItemSets:GetText(),0,1)=="a") then id=strsub(BXItemSets:GetText(),2); out("Creating the '"..IB_Sets[id+IB_SetsDefault][1].."' set"); for i=3, table.getn(IB_Sets[id+IB_SetsDefault])do ItemBuddy_CallItem(IB_Sets[id+IB_SetsDefault][i]); end else msg=".additemset "..BXItemSets:GetText(); outSAY(msg); end BXItemSets:SetText(""); end function ItemBuddy_SpawnItem() ItemBuddy_CallItem(BXIndID:GetText()); BXIndName:SetText(""); BXIndID:SetText(""); end function ItemBuddy_CallItem(iID) msg=".additem "..iID; outSAY(msg); end function ItemBuddy_Load(item) UIDropDownMenu_ClearAll(CBXItemSets); UIDropDownMenu_Initialize(CBXItemSets, ItemBuddy_Sets); UIDropDownMenu_ClearAll(CBXIndItems); UIDropDownMenu_Initialize(CBXIndItems, ItemBuddy_Ind); end function ItemBuddy_Sets() local i = 0; local info = {}; info.text = "Available Sets"; info.textHeight = 18; info.isTitle = 1; UIDropDownMenu_AddButton(info); for i = 1, table.getn(IB_Sets) do info = {}; info.text = IB_Sets[i][1]; info.textHeight = 18; info.func = function() UIDropDownMenu_SetSelectedID(CBXItemSets, this:GetID(), 0); SetBoxAutoChange(); end UIDropDownMenu_AddButton(info); end UIDropDownMenu_SetText("Item Sets",CBXItemSets); end function SetBoxAutoChange() local id; for i = 1, table.getn(IB_Sets) do if (UIDropDownMenu_GetText(CBXItemSets)==IB_Sets[i][1])then id=IB_Sets[i][2] end end if (UIDropDownMenu_GetText(CBXItemSets)~="Item Sets")then BXItemSets:SetText(id); end end function ItemBuddy_Ind() local i = 0; local info = {}; info.text = "Available Items"; info.textHeight = 18; info.isTitle = 1; UIDropDownMenu_AddButton(info); for i = 1, table.getn(IB_Items) do info = {}; info.text = IB_Items[i][1]; info.textHeight = 18; info.func = function() UIDropDownMenu_SetSelectedID(CBXIndItems, this:GetID(), 0); IndBoxAutoChange(); end UIDropDownMenu_AddButton(info); end UIDropDownMenu_SetText("Individual Items",CBXIndItems); end function IndBoxAutoChange() local id; for i = 1, table.getn(IB_Items) do if (UIDropDownMenu_GetText(CBXIndItems)==IB_Items[i][1])then id=IB_Items[i][2] end end if (UIDropDownMenu_GetText(CBXIndItems)~="Item Sets")then BXIndName:SetText(UIDropDownMenu_GetText(CBXIndItems)); BXIndID:SetText(id); end end function ItemBuddy_AddInd() local addnum=1; local taken=false; if ((BXIndName:GetText() and BXIndName:GetText()~="") and (BXIndID:GetText() and BXIndID:GetText()~="")) then for i=1,table.getn(IB_Items) do if (BXIndName:GetText()==IB_Items[i][1])then taken = true; end end if (taken==true)then outERROR("You have already added this item.") else addnum=table.getn(IB_Items) +1; IB_Items[addnum]={BXIndName:GetText(), BXIndID:GetText()}; BXIndName:SetText(""); BXIndID:SetText(""); end else outERROR("There was a problem adding the item.") end end function SetCreator_Step1() IB_SetCreator={}; IB_MadeNum=0; local taken=false; if (BXSetName:GetText() and BXSetName:GetText()~="") then for i=1,table.getn(IB_Sets) do if(strsub(IB_Sets[i][2],0,1)=="a") then IB_MadeNum=IB_MadeNum+1; end if (BXSetName:GetText()==IB_Sets[i][1])then taken=true; end end IB_MadeNum=IB_MadeNum+1; if (taken==false) then IB_SetiNum=1; local label = getglobal("LBLiNum".."Label") label:SetText("Item #"..IB_SetiNum); IB_SetCreator[1]=BXSetName:GetText(); IB_SetCreator[2]="a"..IB_MadeNum; BXSetName:SetText(""); MangAdminForm8:Hide(); MangAdminForm9:Show(); end else outERROR("Error with set name"); end end function SetCreator_Next() if (BXCreatorID:GetText() and BXCreatorID:GetText()~="") then IB_SetCreator[IB_SetiNum+2]=BXCreatorID:GetText(); BXCreatorID:SetText(""); IB_SetiNum=IB_SetiNum+1; local label = getglobal("LBLiNum".."Label") label:SetText("Item #"..IB_SetiNum); BTNFinish:Enable(); else outERROR("There was a problem with the ID you entered") BXCreatorID:SetText(""); end end function SetCreator_Finish() if(BXCreatorID:GetText()=="" and IB_SetiNum < 3) then outERROR("You have not added enough items to make this a set."); else if (BXCreatorID:GetText() and BXCreatorID:GetText()~="")then IB_SetCreator[IB_SetiNum+2]=BXCreatorID:GetText(); SetCreator_Finalize(); IB_SetiNum=IB_SetiNum+1; else SetCreator_Finalize(); end end BXCreatorID:SetText(""); end function SetCreator_Finalize() local entries = table.getn(IB_SetCreator); newSetNum = table.getn(IB_Sets)+1; if (entries >2)then IB_Sets[newSetNum]={} for i=1,entries do IB_Sets[newSetNum][i]=IB_SetCreator[i]; end MangAdminForm9:Hide(); StaticPopup_Show ("TEST_SET"); out("Set Name: "..IB_Sets[newSetNum][1]); out("Set ID: "..IB_Sets[newSetNum][2]); for i=3,entries do ItemBuddy_CallItem(IB_Sets[newSetNum][i]) end else outERROR("There has been a problem with the finalization of the set.") end end function SetCreator_Confirm() out("Set Created"); end function SetCreator_Fail() IB_Sets[newSetNum]=nil; newSetNum=0; outERROR("Set Creation Failed"); end function ItemBuddy_Send() if (CHKInd:GetChecked()==nil and CHKSet:GetChecked()==nil) then outERROR("Please select at least 1 of the Item Buddy arrays to send."); elseif (BXIBUser:GetText()=="" or BXIBUser:GetText()==nil)then outERROR("Please enter a user to send the Item Buddy array(s) to."); else outPM("INCIBARRAYS If you do not have MangAdmin installed, ignore this message and inform the sender.",BXIBUser:GetText()) end end function IB_ARRAYAccept(plr) outPM("IBACCEPTED",plr); end function IB_SendArray(plr) local message="SETARRAY`"; if (CHKInd:GetChecked()==1) then for i=2, table.getn(IB_Items)do outPM("INDARRAY`"..IB_Items[i][1].."`"..IB_Items[i][2],plr); end end if (CHKSet:GetChecked()==1)then for i=19, table.getn(IB_Sets)do message="SETARRAY`"; for ii=1,table.getn(IB_Sets[i]) do message=message..IB_Sets[i][ii].."`"; end outPM(message,plr); end end outPM("TRANSCOMPLETE",plr); end function MangHelp() outSYS("Welcome to MangAdmin version "..version); outSYS("Allowed commands are: help, menu, info, options, pm, tele, items, gm and reset"); end function PMMessenger_End() local plr = MessCurUser; MangAdminForm5:Hide(); throughVar=1; for i=1,table.getn(PMNames) do if (PMNames[i]==plr)then outSYS("Your conversation with "..plr.." has been terminated."); if (options["PMBye"]==1)then outPMSET (options["PMByeMSG"],PMLang[MessCurUser],plr); end PMMessages[plr]=nil; PMNames[i]=nil; else PMNames[throughVar]=PMNames[i]; throughVar=throughVar+1; end end PMNames[throughVar]=nil; PMList_Update(); end function PMList_Down() PMListOffset=PMListOffset + 1; if (PMListOffset > table.getn(PMNames)-10)then PMListOffset = table.getn(PMNames)-10; end end function PMList_Up() PMListOffset= PMListOffset - 1; if (PMListOffset<0 and table.getn(PMNames) > 10) then PMListOffset=0; end end function PMList_Button() if (table.getn(PMNames) <=10)then PMDownButton:Hide(); PMUpButton:Hide(); else PMDownButton:Show(); PMUpButton:Show(); end end function PMMess_LangEdit() PMLang[MessCurUser]=UIDropDownMenu_GetText(LangBox); end --btnAN3 function AN_LOAD() -- if (GetChannelName(options["NotesChan"]) == 0)then -- JoinChannelByName(options["NotesChan"], nil, DEFAULT_CHAT_FRAME:GetID()); -- end -- chanNum= GetChannelName(options["NotesChan"]); -- AN_UPDATE(); end function AN_UPDATE() if (table.getn(ANArray)<=8) then for i=1,table.getn(ANArray) do local labelEdit=getglobal("lblTitle"..i.."Label"); local label=getglobal("lblTitle"..i); local button=getglobal("btnAN"..i); button:Show(); labelEdit:SetText(ANArray[i][4]); label:Show(); labelEdit=getglobal("lblUser"..i.."Label"); label=getglobal("lblUser"..i); labelEdit:SetText(ANArray[i][2]); label:Show(); end else for i=1,8 do end end end function AN_Click(num) postNum=num+ANOffset; local TitleLabel=getglobal("lblANTitle".."Label"); TitleLabel:SetText(ANArray[postNum][4]); local UserLabel=getglobal("lblANUser".."Label"); UserLabel:SetText(ANArray[postNum][2]); local BodyBox=getglobal("mebANBody".."Edit"); BodyBox:SetText(ANArray[postNum][5]); end function AN_Open() if (GetChannelName(options["NotesChan"]) == 0)then -- JoinChannelByName(options["NotesChan"], nil, DEFAULT_CHAT_FRAME:GetID()); end --chanNum= GetChannelName(options["NotesChan"]); if (ANSynch==false and active==false)then -- outNotes("CLUSTER UPDATEME"); end end --Key, Username, Leader, Title, Body, Confirmed, Place Number, PostKey, Type function AN_Post() local title=NotesTitle:GetText(); local body=getglobal("ANMEBBody".."Edit"):GetText(); ANArray[gkey]={gkey,pname,pname,title,body,0,1,pkey,"Start"}; outNotes("CLUSTER POST "..postKey..ANArray[gkey][2]..postKey..ANArray[gkey][3]..postKey..ANArray[gkey][4]..postKey..ANArray[gkey][5]..postKey..ANArray[gkey][6]..postKey..ANArray[gkey][7]..postKey..ANArray[gkey][8]..postKey..ANArray[gkey][9]); pkey=pkey+1; gkey=gkey+1; AN_UPDATE(); end function AN_GET_Post(a1,a2,a3,a4,a5,a6,a7,a8) ANArray[gkey]={gkey,a1,a2,a3,a4,a5,a6,a7,a8}; gkey=gkey+1; AN_UPDATE(); out("New AdminNotes Message"); end function GMBuddy(fxn) if (fxn=="lang")then outSAY(".learn all_lang"); elseif (fxn=="armor")then for i=1, table.getn(GMArray["Armor"]) do outSAY(".learnsk "..GMArray["Armor"][i].. " 300 300"); end elseif (fxn=="weap")then out(table.getn(GMArray["Weapons"])); for i=1, table.getn(GMArray["Weapons"]) do outSAY(".learnsk "..GMArray["Weapons"][i].. " 300 300"); end for i=1, 5 do outSAY(".learn "..GMArray["Spells"][i]); end elseif (fxn=="pimp")then for i=1, table.getn(GMArray["Pimp"]) do outSAY(".learn "..GMArray["Pimp"][i]); end elseif (fxn=="skill")then outSAY(".learn all_myclass"); elseif (fxn=="max")then outSAY(".maxskill"); elseif (fxn=="ench")then outSAY(".learnsk "..GMArray["Profs"][1].." 300 300"); outSAY(".learn "..GMArray["ProfSpells"][1]); outSAY(".learn "..GMArray["ProfSpells"][2]); elseif (fxn=="alch")then outSAY(".learnsk "..GMArray["Profs"][2].." 300 300"); outSAY(".learn "..GMArray["ProfSpells"][3]); elseif (fxn=="blac")then outSAY(".learnsk "..GMArray["Profs"][3].." 300 300"); outSAY(".learn "..GMArray["ProfSpells"][4]); elseif (fxn=="leat")then outSAY(".learnsk "..GMArray["Profs"][4].." 300 300"); outSAY(".learn "..GMArray["ProfSpells"][5]); elseif (fxn=="engi")then outSAY(".learnsk "..GMArray["Profs"][5].." 300 300"); outSAY(".learn "..GMArray["ProfSpells"][6]); elseif (fxn=="tail")then outSAY(".learnsk "..GMArray["Profs"][6].." 300 300"); outSAY(".learn "..GMArray["ProfSpells"][7]); elseif (fxn=="herb")then outSAY(".learnsk "..GMArray["Profs"][7].." 300 300"); outSAY(".learn "..GMArray["ProfSpells"][8]); outSAY(".learn "..GMArray["ProfSpells"][9]); elseif (fxn=="mini")then outSAY(".learnsk "..GMArray["Profs"][8].." 300 300"); outSAY(".learn "..GMArray["ProfSpells"][10]); outSAY(".learn "..GMArray["ProfSpells"][11]); elseif (fxn=="skin")then outSAY(".learnsk "..GMArray["Profs"][9].." 300 300"); outSAY(".learn "..GMArray["ProfSpells"][12]); elseif (fxn=="firs")then outSAY(".learnsk "..GMArray["Profs"][10].." 300 300"); outSAY(".learn "..GMArray["ProfSpells"][13]); elseif (fxn=="cook")then outSAY(".learnsk "..GMArray["Profs"][11].." 300 300"); outSAY(".learn "..GMArray["ProfSpells"][14]); outSAY(".learn "..GMArray["ProfSpells"][15]); elseif (fxn=="fish")then outSAY(".learnsk "..GMArray["Profs"][12].." 300 300"); outSAY(".learn "..GMArray["ProfSpells"][16]); elseif (fxn=="anno")then outSAY(".announce "..EBAnn:GetText()); elseif (fxn=="morp")then outSAY(".morph "..GMArray["Morph"][UIDropDownMenu_GetText(CBXMorph)]); elseif (fxn=="demo")then outSAY(".demorph"); elseif (fxn=="leve")then outSAY(".levelup "..EBlvl:GetText()); elseif (fxn=="gm")then outSAY(".recall gm"); end end function tBuddy_OnLoad() MangAdminForm14:ClearAllPoints(); MangAdminForm14:SetPoint("TOPRIGHT",Minimap,"TOPLEFT",-10,10); end function tBuddyUpdate() --local lbltCount=getglobal("LBLtCount".."Label"); --lbltCount:SetText("0"); end function Mini_OnLoad() this:RegisterForDrag("LeftButton"); end function Mini_OnDragStart() MangAdminForm13:StartMoving() end function Mini_OnDragStop() MangAdminForm13:StopMovingOrSizing() end function MiniMenu(fxn) if (fxn=="Admin")then GameTooltip:SetOwner(this, "ANCHOR_LEFT",-15,-30); GameTooltip:SetText("Admin Notes", 1.0, 0, 0); elseif (fxn=="PMB")then GameTooltip:SetOwner(this, "ANCHOR_LEFT",-15,-30); GameTooltip:SetText("PM Buddy", 1.0, 1.0, 1.0); elseif (fxn=="Tele")then GameTooltip:SetOwner(this, "ANCHOR_LEFT",-15,-30); GameTooltip:SetText("Teleport Buddy", 1.0, 1.0, 1.0); elseif (fxn=="Item")then GameTooltip:SetOwner(this, "ANCHOR_LEFT",-15,-30); GameTooltip:SetText("Item Buddy", 1.0, 1.0, 1.0); elseif (fxn=="GM")then GameTooltip:SetOwner(this, "ANCHOR_LEFT",-15,-30); GameTooltip:SetText("GM Buddy", 1.0, 1.0, 1.0); elseif (fxn=="Ticket")then GameTooltip:SetOwner(this, "ANCHOR_LEFT",-15,-30); GameTooltip:SetText("Ticket Buddy", 1.0, 1.0, 1.0); elseif (fxn=="Options")then GameTooltip:SetOwner(this, "ANCHOR_LEFT",-15,-30); GameTooltip:SetText("Options", 1.0, 1.0, 1.0); elseif (fxn=="Map")then GameTooltip:SetOwner(this, "ANCHOR_LEFT",-15,-30); GameTooltip:SetText("MangAdmin", 1.0, 1.0, 1.0); elseif (fxn=="Hide")then GameTooltip:Hide(); end end function MenuManager(box) if (box=="Main" and options["Mini"]==1)then MangAdminForm:Hide(); elseif (box=="Mini" and options["Mini"]==0)then MangAdminForm13:Hide(); end end function MiniShowHide() if (CHKMini:GetChecked()) then options["Mini"]=1; MangAdminForm13:Show(); else options["Mini"]=0; MangAdminForm13:Hide(); end end function Map_Pos() MinimapButton:SetPoint("TOPLEFT","Minimap","TOPLEFT",52-(80*cos(options["Maplocal"])),(80*sin(options["Maplocal"]))-52) end function MapPos_Change() local Slider=getglobal("SliderLocalSlider"); options["Maplocal"]=Slider:GetValue(); MinimapButton:SetPoint("TOPLEFT","Minimap","TOPLEFT",52-(80*cos(options["Maplocal"])),(80*sin(options["Maplocal"]))-52) end function tB_Initialize() outSAY(".ticket"); tInitial=true; BTNBBCode:Disable(); BTNDel:Disable(); BTNTBSol:Disable(); prob = getglobal("EBoxProbEdit"); sol = getglobal("EBoxSolEdit"); prob:SetText("No Ticket Selected."); sol:ClearFocus(); end function tB_Toggle() if (tCounter==0)then tB_Initialize(); end if (TBBarOpen==true)then MangAdminForm14:Hide(); TBBarOpen=false; else MangAdminForm14:Show(); TBBarOpen=true; end end function tB_LoadTickets(tNum) if (tNum ~= "0")then TBBarOpen=true; MangAdminForm14:Show(); end local lbltCount=getglobal("LBLtCount".."Label"); lbltCount:SetText(tNum); for i=1, tNum do outSAY(".ticket "..i); end outSYS("Current ticket count: "..tNum); end function tb_AddTicket(fTicket, tName, tCat) lblNoTicket:Hide(); tCounter=tCounter + 1; fullString = fTicket nulString = "Ticket of "..tName.." (Category: "..tCat.."):"; newString = strsub(fullString, string.len (nulString)+2, string.len (fullString) ) tArray[tCounter]={tName, tCat, newString, ""} if (tCounter < 11) then local tBB = getglobal ("BTNTB"..tCounter); tBB:SetText(tName.." - Category: "..tCat); tBB:Show(); end if (tCounter > 10)then BTNTBDown:Show(); else BTNTBDown:Hide(); BTNTBUp:Hide(); end end function tB_ShowTicket(tNumber) tB_Reset() tCount=tNumber + tOffset; local tbName=getglobal("lblTBNameLabel"); local tbCat=getglobal("lblTBCatLabel"); tbName:SetText(tArray[tNumber + tOffset][1]); tbCat:SetText(tB_Cat(tArray[tNumber + tOffset][2])); prob:SetText(tArray[tNumber + tOffset][3]); sol:SetText(tArray[tNumber + tOffset][4]); end function tB_Cat(cNumber) local strCat=""; if (cNumber == "0") then strCat="Item Issue"; elseif (cNumber == "1") then strCat="Harassment"; elseif (cNumber == "2") then strCat="Guild Issue"; elseif (cNumber == "3") then strCat="Character Issue"; elseif (cNumber == "4") then strCat="Non-Quest/Creep Issue"; elseif (cNumber == "5") then strCat="Stuck"; elseif (cNumber == "6") then strCat="Environmental Issue"; elseif (cNumber == "7") then strCat="Quest/Quest NPC Issue"; else strCat="Unknown Issue"; end return strCat; end function tB_BBCode() compiledCode=""; BTNTBSol:Enable(); BTNDel:Enable(); tbSolCode=getglobal("lblSolCodeLabel"); tbSolCode:SetText("BBCode:"); tArray[tCount][4]=sol:GetText(); compiledCode="User: [color=red]"..tArray[tCount][1].."[/color]\nCatagory: [color=red]"..tB_Cat(tArray[tCount][2]).."[/color]\nProblem: "..tArray[tCount][3].."Solution: "..tArray[tCount][4]; sol:SetText(compiledCode); end function tB_SolCheck() local tbName=getglobal("lblTBNameLabel"); if (sol:GetText() ~="" and tbName:GetText()~="Name") then BTNBBCode:Enable(); end end function tB_Reset() if (tCount~=0)then tArray[tCount][4]=sol:GetText(); end tOffset=0; tCount=0; BTNBBCode:Disable(); BTNDel:Disable(); BTNTBSol:Disable(); prob:SetText("No Ticket Selected."); sol:SetText(""); tbSolCode=getglobal("lblSolCodeLabel"); tbSolCode:SetText("Solution:"); end function tB_ShowSol() tbSolCode=getglobal("lblSolCodeLabel"); tbSolCode:SetText("Solution:"); sol:SetText(tArray[tCount][4]); end function tb_Del() outSAY(".delticket "..tArray[tCount][1]); outSAY(".ticket"); end function tB_Up() if (tOffset==0 or tCounter < 11) then else tOffset=tOffset-1; if (tOffset==0)then BTNTBUp:Hide(); end end tB_Redraw(); end function tB_Down() if (tOffset==tCounter-10 or tCounter < 11) then else tOffset=tOffset+1; if (tOffset==tCounter-10) then BTNTBDown:Hide(); end end tB_Redraw(); end function tB_Redraw() if (tOffset~=tCounter-10 and tCounter > 10) then BTNTBDown:Show(); elseif (tOffset~=0 and tCounter > 10) then BTNTBUp:Show(); end for i=1, 10 do if (i <= tCounter)then local tBB = getglobal ("BTNTB"..i); tBB:SetText(tArray[i+tOffset][1].." - Category: "..tArray[i+tOffset][2]); tBB:Show(); else local tBB = getglobal ("BTNTB"..i); tBB:Hide(); end end end