Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[
- LookingForGroup System
- By WodaN'
- ]]
- local lfgmsg = "#lfg"
- local lfmmsg = "#lfm"
- local leavemsg = "#leave"
- local team
- local playername
- function LFG_system(_, pPlayer, msg)
- local msg = msg:lower()
- if (msg:find(lfgmsg.." ") == 1) then
- local _, e = msg:find(lfgmsg.." ")
- local spec = msg:sub(e + 1, msg:len())
- local name = pPlayer:GetName()
- local class = pPlayer:GetPlayerClass()
- if(class == "Shaman") then
- playername = "|cFF0000FF"..name.."|r"
- elseif(class == "Warrior") then
- playername = "|cFF663300"..name.."|r"
- elseif(class == "Death Knight") then
- playername = "|cFF660000"..name.."|r"
- elseif(class == "Paladin") then
- playername = "|cFFFF3399"..name.."|r"
- elseif(class == "Mage") then
- playername = "|cFF00FFFF"..name.."|r"
- elseif(class == "Warlock") then
- playername = "|cFF9966CC"..name.."|r"
- elseif(class == "Priest") then
- playername = "|cFFFFFFFF"..name.."|r"
- elseif(class == "Druid") then
- playername = "|cFFFF9900"..name.."|r"
- elseif(class == "Hunter") then
- playername = "|cFF006600"..name.."|r"
- elseif(class == "Rogue") then
- playername = "|cFFFFFF00"..name.."|r"
- end
- if(IsPlayerListed(playername) == false) then
- if (spec == "healer") or (spec == "dps") or (spec == "tank") then
- WorldDBQuery(string.format("INSERT INTO lfg_system(name, spec, team) VALUES ('%s', '%s', '%s')", playername, spec, pPlayer:GetTeam()))
- pPlayer:SendBroadcastMessage(string.format("You are now queued to all raids! Say %q to leave the queue.", leavemsg))
- else
- pPlayer:SendBroadcastMessage(string.format("%q is not a valid speciallization. You can choose \"healer\", \"tank\" or \"dps\"", spec))
- end
- else
- pPlayer:SendBroadcastMessage(string.format("You are already queued! To re-queue, type %q and then join again.", leavemsg))
- end
- return 0
- elseif (msg:find(lfmmsg.." ") == 1) then
- local _, e = msg:find(lfmmsg.." ")
- local spec = msg:sub(e + 1, msg:len())
- team = pPlayer:GetTeam()
- local name = WorldDBQuery("SELECT name FROM lfg_system WHERE spec='"..spec.."' AND team='"..team.."'")
- if(name == nil) then
- pPlayer:SendBroadcastMessage(string.format("There are no players currently queued as %s.", spec))
- else
- pPlayer:SendBroadcastMessage(string.format("Players queued as %s:", spec))
- for i = 1, name:GetRowCount() do
- local nameplr = name:GetColumn(0):GetString()
- pPlayer:SendBroadcastMessage(nameplr)
- nameplr = name:NextRow()
- end
- end
- return 0
- elseif (msg == leavemsg) then
- local name = pPlayer:GetName()
- local class = pPlayer:GetPlayerClass()
- if(class == "Shaman") then
- playername = "|cFF0000FF"..name.."|r"
- elseif(class == "Warrior") then
- playername = "|cFF663300"..name.."|r"
- elseif(class == "Death Knight") then
- playername = "|cFF660000"..name.."|r"
- elseif(class == "Paladin") then
- playername = "|cFFFF3399"..name.."|r"
- elseif(class == "Mage") then
- playername = "|cFF00FFFF"..name.."|r"
- elseif(class == "Warlock") then
- playername = "|cFF9966CC"..name.."|r"
- elseif(class == "Priest") then
- playername = "|cFFFFFFFF"..name.."|r"
- elseif(class == "Druid") then
- playername = "|cFFFF6600"..name.."|r"
- elseif(class == "Hunter") then
- playername = "|cFF006600"..name.."|r"
- elseif(class == "Rogue") then
- playername = "|cFFFFFF00"..name.."|r"
- end
- WorldDBQuery("DELETE FROM lfg_system WHERE name='"..playername.."'")
- pPlayer:SendBroadcastMessage("You have been removed from the raid queue.")
- return 0
- end
- end
- RegisterServerHook(16, "LFG_system")
- function IsPlayerListed(playername)
- local islisted = WorldDBQuery(string.format("SELECT name FROM lfg_system WHERE name='%s'", playername))
- if(islisted == nil) then
- return false
- else
- return true
- end
- end
- function group_check(event, pPlayer)
- local plrs = GetPlayersInWorld()
- for k,v in pairs(plrs)do
- if (v == nil) then
- else
- if (v:IsInGroup() or v:IsInRaid() == true) then
- local name = v:GetName()
- local class = v:GetPlayerClass()
- if(class == "Shaman") then
- playername = "|cFF0000FF"..name.."|r"
- elseif(class == "Warrior") then
- playername = "|cFF663300"..name.."|r"
- elseif(class == "Death Knight") then
- playername = "|cFF660000"..name.."|r"
- elseif(class == "Paladin") then
- playername = "|cFFFF3399"..name.."|r"
- elseif(class == "Mage") then
- playername = "|cFF00FFFF"..name.."|r"
- elseif(class == "Warlock") then
- playername = "|cFF9966CC"..name.."|r"
- elseif(class == "Priest") then
- playername = "|cFFFFFFFF"..name.."|r"
- elseif(class == "Druid") then
- playername = "|cFFFF9900"..name.."|r"
- elseif(class == "Hunter") then
- playername = "|cFF006600"..name.."|r"
- elseif(class == "Rogue") then
- playername = "|cFFFFFF00"..name.."|r"
- end
- local name = WorldDBQuery("SELECT name FROM lfg_system WHERE name='"..playername.."'")
- if(name ~= nil) then
- v:SendBroadcastMessage("You have been removed from the LFG queue.")
- WorldDBQuery("DELETE FROM lfg_system WHERE name = '"..playername.."'")
- end
- end
- end
- end
- end
- RegisterTimedEvent("group_check", 5000, 0, event, player)
- function lfg_logout(event, pPlayer)
- local name = pPlayer:GetName()
- local class = pPlayer:GetPlayerClass()
- if(class == "Shaman") then
- playername = "|cFF0000FF"..name.."|r"
- elseif(class == "Warrior") then
- playername = "|cFF663300"..name.."|r"
- elseif(class == "Death Knight") then
- playername = "|cFF660000"..name.."|r"
- elseif(class == "Paladin") then
- playername = "|cFFFF3399"..name.."|r"
- elseif(class == "Mage") then
- playername = "|cFF00FFFF"..name.."|r"
- elseif(class == "Warlock") then
- playername = "|cFF9966CC"..name.."|r"
- elseif(class == "Priest") then
- playername = "|cFFFFFFFF"..name.."|r"
- elseif(class == "Druid") then
- playername = "|cFFFF9900"..name.."|r"
- elseif(class == "Hunter") then
- playername = "|cFF006600"..name.."|r"
- elseif(class == "Rogue") then
- playername = "|cFFFFFF00"..name.."|r"
- end
- WorldDBQuery(string.format("DELETE FROM lfg_system WHERE name = '%s'", playername))
- end
- RegisterServerHook(13, "lfg_logout")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement