Advertisement
blackwolfsden

Eluna Grumboz Guild Warz

Jan 2nd, 2014
414
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 58.47 KB | None | 0 0
  1. -- **g****************************************s***
  2. -- ********* Grumbo'z Guild Warz System™ *********   
  3. -- **** Brought to you by Grumbo of BloodyWoW *l**
  4. -- **r*************** slp13at420 ****p************
  5. -- ***Foereaper***  Ty Eluna guyz  ****Rochet2****
  6. -- *************** Ty Emudevs.com  *********1*****
  7. -- **u******************♠*********3***************
  8. -- *********************♠*************************
  9. -- ********** This is NOT a C++ SCRIPT **a********
  10. -- ***m***********  This is For  *****************
  11. -- ************* TRINITY/ELUNA ONLY *t************
  12. -- *♠*******************4***********************♠*
  13. -- *b* Please Do Not Remove any of the credits ***
  14. -- ****** or attempt to repost as your own **2****
  15. -- ***o********************************0**********
  16.  
  17. print("\n-----------------------------------")
  18. print("Grumbo'z Guild Warz System Loading:\n")
  19.  
  20.     if(GetLuaEngine()~="ElunaEngine")then
  21.         print("err: "..GetLuaEngine().." Detected.\n")
  22.         print("!!..LOAD HALTED..?!!")
  23.         return false;
  24.     else
  25.         print("Approved: Eluna Detected.\n")
  26.     end
  27.  
  28. local table_version = 1.80
  29. local core_version = 6.40
  30. local pigpayz_version = 2.50
  31. local tele_version = 1.50
  32. local pvp_version = 4.50
  33.  
  34. local Server = "SERVER"
  35.  
  36. GWCOMM = {};
  37. GWARZ = {};
  38. GWHELP = {};
  39. GGW = {};
  40.  
  41. local function LoadGWtable()
  42.  
  43. local Ghsql =  WorldDBQuery("SELECT * FROM guild_warz.help;");
  44.     if(Ghsql)then
  45.         repeat
  46.         GWHELP[Ghsql:GetUInt32(0)] = {
  47.             entry = Ghsql:GetUInt32(0),
  48.             command = Ghsql:GetString(1),
  49.             description = Ghsql:GetString(2),
  50.             example = Ghsql:GetString(3),
  51.             command_level = Ghsql:GetUInt32(4),
  52.                         };
  53.         until not Ghsql:NextRow()
  54.     end
  55.  
  56. local Gcsql =  WorldDBQuery("SELECT * FROM guild_warz.commands;");
  57.     if(Gcsql)then
  58.         repeat
  59.         GWCOMM[Gcsql:GetString(0)] = {
  60.             guild = Gcsql:GetString(0),
  61.             commands = Gcsql:GetString(1),
  62.             info_loc = Gcsql:GetString(2),
  63.             list_loc = Gcsql:GetString(3),
  64.             tele = Gcsql:GetString(4),
  65.             version = Gcsql:GetString(5),
  66.             loc = Gcsql:GetString(6),
  67.             farm = Gcsql:GetString(7),
  68.             barrack = Gcsql:GetString(8),
  69.             hall = Gcsql:GetString(9),
  70.             pig = Gcsql:GetString(10),
  71.             guard = Gcsql:GetString(11),
  72.             GLD_lvlb = Gcsql:GetUInt32(12),
  73.             GLD_lvls = Gcsql:GetUInt32(13),
  74.             respawn_flag = Gcsql:GetString(14),
  75.             details_loc = Gcsql:GetString(15),
  76.             table = Gcsql:GetString(16),
  77.             GM_admin = Gcsql:GetUInt32(17),
  78.             GM_minimum = Gcsql:GetUInt32(18),
  79.             currency = Gcsql:GetUInt32(19),
  80.             loc_cost = Gcsql:GetUInt32(20),
  81.             farm_cost = Gcsql:GetUInt32(21),
  82.             barrack_cost = Gcsql:GetUInt32(22),
  83.             hall_cost = Gcsql:GetUInt32(23),
  84.             pig_cost = Gcsql:GetUInt32(24),
  85.             guard_cost = Gcsql:GetUInt32(25),
  86.             farm_L = Gcsql:GetUInt32(26),
  87.             barrack_L = Gcsql:GetUInt32(27),
  88.             hall_L = Gcsql:GetUInt32(28),
  89.             pig_L = Gcsql:GetUInt32(29),
  90.             guard_L = Gcsql:GetUInt32(30),
  91.             pig_payz = Gcsql:GetUInt32(31),
  92.             pig_payz_timer = Gcsql:GetUInt32(32),
  93.             gift_count = Gcsql:GetUInt32(33),
  94.             flag_require = Gcsql:GetUInt32(34),
  95.             Server = Gcsql:GetString(35),
  96.             flag_id = Gcsql:GetUInt32(36),
  97.             farm_id = Gcsql:GetUInt32(37),
  98.             barrack_id = Gcsql:GetUInt32(38),
  99.             hall_id = Gcsql:GetUInt32(39),
  100.             pig_id = Gcsql:GetUInt32(40),
  101.             guard_id = Gcsql:GetUInt32(41),
  102.             x1 = Gcsql:GetUInt32(42),
  103.             x2 = Gcsql:GetUInt32(43),
  104.             x3 = Gcsql:GetUInt32(44),
  105.             command_set = Gcsql:GetString(45),
  106.             anarchy = Gcsql:GetUInt32(46),         
  107.             flag_timer = Gcsql:GetUInt32(47),
  108.             spawn_timer = Gcsql:GetUInt32(48),
  109.             guild_id = Gcsql:GetUInt32(49),
  110.             guild_invite = Gcsql:GetUInt32(50),
  111.                         };
  112.         until not Gcsql:NextRow()
  113.     end
  114.  
  115.     local Gwsql =  WorldDBQuery("SELECT * FROM guild_warz.zones;");
  116.  
  117.     if(Gwsql)then
  118.         repeat
  119.             GWARZ[Gwsql:GetUInt32(0)] = {
  120.                 entry = Gwsql:GetUInt32(0),
  121.                 map_id = Gwsql:GetUInt32(1),
  122.                 area_id = Gwsql:GetUInt32(2),
  123.                 zone_id = Gwsql:GetUInt32(3),
  124.                 guild_name = Gwsql:GetString(4),
  125.                 team = Gwsql:GetUInt32(5),
  126.                 x = Gwsql:GetFloat(6),
  127.                 y = Gwsql:GetFloat(7),
  128.                 z = Gwsql:GetFloat(8),
  129.                 farm_count = Gwsql:GetUInt32(9),
  130.                 barrack_count = Gwsql:GetUInt32(10),
  131.                 hall_count = Gwsql:GetUInt32(11),
  132.                 pig_count = Gwsql:GetUInt32(12),
  133.                 guard_count = Gwsql:GetUInt32(13),
  134.                 flag_id = Gwsql:GetUInt32(14),
  135.                 spawn_time = Gwsql:GetUInt32(15),
  136.                 guild_id = Gwsql:GetUInt32(16),
  137.                             };
  138.         until not Gwsql:NextRow()
  139.     end
  140. end
  141.  
  142. LoadGWtable()
  143.  
  144. print("Guild Warz tables version: "..table_version.."")
  145.  
  146. local Currencynamedb = WorldDBQuery("SELECT `name` FROM `item_template` WHERE `entry` = '"..GWCOMM["SERVER"].currency.."';");
  147. local Currencyname = Currencynamedb:GetString(0)
  148.  
  149. -- ******************************************************
  150. -- ************** CORE : custom functions ***************
  151. -- ******************************************************
  152.  
  153. local function GetLocationId(player)
  154.     for i = 1, #GWARZ do
  155.         if(GWARZ[i].map_id == player:GetMapId() and GWARZ[i].area_id == player:GetAreaId() and GWARZ[i].zone_id == player:GetZoneId()) then
  156.             return i;
  157.         end
  158.     end
  159. end
  160.  
  161. local function PreparedStatements(key, ...)
  162.     local Query = {
  163.         [1] = "UPDATE guild_warz.zones SET `%s` = '%s' WHERE `entry` = '%s';",
  164.         [2] = "DELETE FROM %s WHERE `guid` = '%s';",
  165.         [3] = "UPDATE guild_warz.commands SET `%s` = '%s' WHERE `guild` = '%s';"
  166.     }
  167.    
  168.     if(key == 1) then
  169.         local subtable, value, loc = ...
  170.         local qs = string.format(Query[key], ...)
  171.         WorldDBQuery(qs)
  172.         GWARZ[loc][subtable] = value;
  173.     end
  174.     if(key == 2) then
  175.         local qs = string.format(Query[key], ...)
  176.         WorldDBQuery(qs)
  177.         LoadGWtable()
  178.     end
  179.     if(key == 3) then
  180.         local qs = string.format(Query[key], ...)
  181.         WorldDBQuery(qs)
  182.         LoadGWtable()
  183.     end
  184. end
  185.  
  186. function CreateLocation(map, area, zone)
  187.     local CLentry = (#GWARZ+1)
  188.     WorldDBQuery("INSERT INTO guild_warz.zones SET `entry` = '"..CLentry.."';");
  189.     LoadGWtable()
  190.     print("Location: "..CLentry.." : created.")
  191.    
  192.     -- Push values to Table Update after creation
  193.     PreparedStatements(1, "map_id", map, CLentry)
  194.     PreparedStatements(1, "area_id", area, CLentry)
  195.     PreparedStatements(1, "zone_id", zone, CLentry)
  196.     PreparedStatements(1, "guild_name", Server, CLentry)
  197.     PreparedStatements(1, "team", 2, CLentry)
  198.     PreparedStatements(1, "x", 0, CLentry)
  199.     PreparedStatements(1, "y", 0, CLentry)
  200.     PreparedStatements(1, "z", 0, CLentry)
  201.     PreparedStatements(1, "farm_count", 0, CLentry)
  202.     PreparedStatements(1, "pig_count", 0, CLentry)
  203.     PreparedStatements(1, "guard_count", 0, CLentry)
  204.     PreparedStatements(1, "flag_id", 0, CLentry)
  205.     return CLentry;
  206. end
  207.  
  208. function CreateGcommands(guild, name)
  209.     local gid = guild:GetId()
  210.     local CLentry = (#GWCOMM+1) -- should create varchar entry of guild name
  211.     WorldDBQuery("INSERT INTO guild_warz.commands SET `guild` = '"..name.."';");
  212.     PreparedStatements(3, "guild_id", gid, name)
  213.     print("commands for: "..guild.." : created.")  
  214.     LoadGWtable()
  215.     return guild;
  216. end
  217.  
  218. local GW_version =  ((table_version+core_version+pigpayz_version+tele_version+pvp_version)/4)
  219.  
  220. function Newguildgift(eventId, guild, leader, name) -- idea provided by creativextent . wrote by BlackWolf
  221.     CreateGcommands(guild, name)
  222.     leader:AddItem(GWCOMM["SERVER"].currency, GWCOMM["SERVER"].gift_count)
  223.     SendWorldMessage("|cffFF0000The Guild "..name.." lead by "..leader:GetName().." has entered exsistance..!! NOW Prepair to hold your lands!!|r")
  224. end
  225.  
  226. RegisterGuildEvent(5, Newguildgift)
  227.  
  228. function PlrFaction(eventId, player)
  229.  
  230.     local xFaction = player:GetFaction()
  231.    
  232.     GGW[player:GetAccountId()] = {
  233.             faction = xFaction
  234.                 };
  235.            
  236.     if(player:GetGuildName())then
  237.        
  238.         local Guildname = ""..player:GetGuildName()..""
  239.  
  240.             if(GWCOMM[Guildname])then
  241.                 player:SendBroadcastMessage("|cff00cc00Use '/guild "..GWCOMM[Guildname].commands.." for a list of GGW commands.")  
  242.             end
  243.     end
  244. end
  245.                                
  246. RegisterPlayerEvent(3, PlrFaction)
  247.  
  248. -- ****************************************************
  249. -- ******************* CORE ENGINE ********************
  250. -- ****************************************************
  251.  
  252. function GWcommands(event, player, msg, type, language)
  253. local k = 0
  254. local ChatCache = {}
  255.  
  256.     for word in string.gmatch(msg, "[%w_]+") do
  257.             k = k+1
  258.             ChatCache[k] = word
  259.     end
  260.  
  261. math.randomseed(tonumber(os.time()*os.time()))
  262.  
  263. local guild_id = player:GetGuildId()
  264. local LocId = GetLocationId(player)
  265.    
  266.     if(LocId == nil)then
  267.         LocId = CreateLocation(player:GetMapId(), player:GetAreaId(), player:GetZoneId())
  268.     end
  269.    
  270. local Guildname = ""..player:GetGuildName()..""
  271.  
  272.     if(GWCOMM[Guildname]==nil)then
  273.         Gcommands = CreateGcommands(player:GetGuild(), player:GetGuildName())
  274.     end
  275.    
  276.     if(GWCOMM[Guildname]==nil)then
  277.         Gcommands = CreateGcommands(player:GetGuildName())
  278.     end
  279.            
  280.     local Zoneprice=(GWCOMM["SERVER"].loc_cost)+(GWCOMM["SERVER"].farm_cost*GWARZ[LocId].farm_count)+(GWCOMM["SERVER"].barrack_cost*GWARZ[LocId].barrack_count)+(GWCOMM["SERVER"].hall_cost*GWARZ[LocId].hall_count)+(GWCOMM["SERVER"].pig_cost*GWARZ[LocId].pig_count)
  281.     local yentry = 0
  282.     local ypigcnt = 0
  283.     local yvalue = 0
  284.    
  285. -- ****************************************************
  286. -- ************** CORE : Guild Commands ***************
  287. -- ****************************************************
  288.  
  289.     if(player:IsInGuild()==true)then
  290.        
  291.         if(ChatCache[1]==GWCOMM[player:GetGuildName()].commands)then
  292.             player:SendBroadcastMessage("*************************************")
  293.             player:SendBroadcastMessage("(Name: "..player:GetName()..") (Guild Rank: "..player:GetGuildRank()..") (Game Rank: "..player:GetGMRank()..")")
  294.             player:SendBroadcastMessage("*************************************")
  295.             player:SendBroadcastMessage("Guild Member Commands:")
  296.             player:SendBroadcastMessage("|cff00cc00"..GWCOMM[Guildname].commands.."          list guild commands.|r")
  297.             player:SendBroadcastMessage("|cff00cc00"..GWCOMM[Guildname].info_loc.."              lists area info.|r")
  298.             player:SendBroadcastMessage("|cff00cc00"..GWCOMM[Guildname].list_loc.."             lists areas owned.|r")
  299.             player:SendBroadcastMessage("|cff00cc00                    by your guild.|r")
  300.             player:SendBroadcastMessage("|cff00cc00"..GWCOMM[Guildname].tele.." `location`   teleport to area|r")
  301.             player:SendBroadcastMessage("|cff00cc00                    by location id.|r")
  302.             player:SendBroadcastMessage("|cff00cc00"..GWCOMM[Guildname].version.."              -displays Core versions.|r")
  303.             player:SendBroadcastMessage("*************************************")
  304.  
  305.             if(player:GetGuildRank() <= GWCOMM[player:GetGuildName()].GLD_lvlb)then
  306.                 player:SendBroadcastMessage("(buy) Guild Master level Commands:Rank: "..GWCOMM[player:GetGuildName()].GLD_lvlb.." access.")
  307.                 player:SendBroadcastMessage("|cff00cc00buy "..GWCOMM[Guildname].loc.."         -purchase area.|r")
  308.                 player:SendBroadcastMessage("|cff00cc00                            base price is "..GWCOMM["SERVER"].loc_cost.." "..Currencyname..".|r")
  309.                 player:SendBroadcastMessage("|cff00cc00                            a farm and pigs will change the value.|r")
  310.                 player:SendBroadcastMessage("|cff00cc00buy "..GWCOMM[Guildname].farm.."       -purchase a guild farm.|r")
  311.                 player:SendBroadcastMessage("|cff00cc00buy "..GWCOMM[Guildname].barrack.."       -purchase a barracks for guards.|r")
  312.                 player:SendBroadcastMessage("|cff00cc00buy "..GWCOMM[Guildname].hall.."       -purchase a guild hall.|r")
  313.                 player:SendBroadcastMessage("|cff00cc00                            for "..GWCOMM["SERVER"].farm_cost.." "..Currencyname.."'s.|r")
  314.                 player:SendBroadcastMessage("|cff00cc00buy "..GWCOMM[Guildname].pig.."           -purchase a pig.|r")
  315.                 player:SendBroadcastMessage("|cff00cc00                           for "..GWCOMM["SERVER"].pig_cost.." "..Currencyname..".|r")
  316.                 player:SendBroadcastMessage("|cff00cc00buy "..GWCOMM[Guildname].guard.."       -purchase guard.")
  317.                 player:SendBroadcastMessage("|cff00cc00                           for "..GWCOMM["SERVER"].guard_cost.." "..Currencyname..".|r")
  318.                 player:SendBroadcastMessage("*************************************")
  319.             end
  320.            
  321.             if(player:GetGuildRank()<=GWCOMM[player:GetGuildName()].GLD_lvls)then
  322.                 player:SendBroadcastMessage("(sell) Guild Master level Commands:Rank: "..GWCOMM[player:GetGuildName()].GLD_lvls.." access.")
  323.                 player:SendBroadcastMessage("|cff00cc00sell "..GWCOMM[Guildname].loc.."         -sell area for its current value.|r")
  324.                 player:SendBroadcastMessage("|cff00cc00sell "..GWCOMM[Guildname].farm.."       -sell farm.|r")     
  325.                 player:SendBroadcastMessage("|cff00cc00sell "..GWCOMM[Guildname].barrack.."       -sell barracks.|r")      
  326.                 player:SendBroadcastMessage("|cff00cc00sell "..GWCOMM[Guildname].hall.."       -sell hall.|r")     
  327.                 player:SendBroadcastMessage("|cff00cc00sell "..GWCOMM[Guildname].pig.."           -sell a pig to market.|r")       
  328.                 player:SendBroadcastMessage("|cff00cc00sell "..GWCOMM[Guildname].guard.."  -removes a selected guard.|r")
  329.                 player:SendBroadcastMessage("|cff00cc00                             guards are disposable.|r")
  330.                 player:SendBroadcastMessage("|cff00cc00                             no chash back.|r")
  331.                 player:SendBroadcastMessage("*************************************")
  332.             end
  333.            
  334.             if(player:GetGuildRank()==0)then
  335.                 player:SendBroadcastMessage("Guild Master settings:")
  336.                 player:SendBroadcastMessage("|cff00cc00Guild Buy. minimum required guild rank:|r "..GWCOMM[player:GetGuildName()].GLD_lvlb.."")
  337.                 player:SendBroadcastMessage("|cff00cc00Guild Sell. minimum required guild rank:|r "..GWCOMM[player:GetGuildName()].GLD_lvls.."")
  338.                 player:SendBroadcastMessage("|cff00cc00guild invite system: |r"..GWCOMM[Guildname].guild_invite..".         |cff00cc00 0 = off 1 = on.|r")
  339.                 player:SendBroadcastMessage("*************************************")
  340.             end
  341.  
  342.             if(player:GetGuildRank()==0)or(player:GetGMRank()==GWCOMM["SERVER"].GM_admin)then
  343.                 player:SendBroadcastMessage("Guild Master/Game Master/Admin special Commands:")
  344.                 player:SendBroadcastMessage("|cff00cc00"..GWCOMM["SERVER"].command_set.."      used to modify commands and settings.|r")
  345.                 player:SendBroadcastMessage("|cff00cc00help "..GWCOMM["SERVER"].command_set.."    lists commands and settings you may change.|r")
  346.                 player:SendBroadcastMessage("*************************************")
  347.             end
  348.            
  349.             if(player:GetGuildRank()<=GWCOMM[player:GetGuildName()].GLD_lvlb)or(player:GetGMRank()>=GWCOMM["SERVER"].GM_minimum)then
  350.                 player:SendBroadcastMessage("Prices in "..Currencyname.."'s")
  351.                 player:SendBroadcastMessage("|cff00cc00Zone price:|r "..GWCOMM["SERVER"].loc_cost.."|cff00cc00 base location price.|r")
  352.                 player:SendBroadcastMessage("|cff00cc00Farm price:|r "..GWCOMM["SERVER"].farm_cost.."")
  353.                 player:SendBroadcastMessage("|cff00cc00Barracks price:|r "..GWCOMM["SERVER"].barrack_cost.."")
  354.                 player:SendBroadcastMessage("|cff00cc00Hall price:|r "..GWCOMM["SERVER"].hall_cost.."")
  355.                 player:SendBroadcastMessage("|cff00cc00Pig price:|r "..GWCOMM["SERVER"].pig_cost.."")
  356.                 player:SendBroadcastMessage("|cff00cc00Guard price:|r "..GWCOMM["SERVER"].guard_cost.."|cff00cc00 disposable.|r")
  357.                 player:SendBroadcastMessage("*************************************")
  358.                 player:SendBroadcastMessage("Limits")
  359.                 player:SendBroadcastMessage("|cff00cc00Farm limit:|r "..GWCOMM["SERVER"].farm_L.."|cff00cc00 per location.|r")
  360.                 player:SendBroadcastMessage("|cff00cc00Pig limit:|r "..GWCOMM["SERVER"].pig_L.."|cff00cc00 per farm.|r")
  361.                 player:SendBroadcastMessage("|cff00cc00Barrack limit:|r "..GWCOMM["SERVER"].barrack_L.."|cff00cc00 per farm.|r")
  362.                 player:SendBroadcastMessage("|cff00cc00Guard limit:|r "..GWCOMM["SERVER"].guard_L.."|cff00cc00 per barrack.|r")
  363.                 player:SendBroadcastMessage("|cff00cc00Hall limit:|r "..GWCOMM["SERVER"].hall_L.."|cff00cc00 per location.|r")
  364.                 player:SendBroadcastMessage("*************************************")
  365.             end
  366.            
  367.             if(player:GetGMRank()>=GWCOMM["SERVER"].GM_minimum)then
  368.                 player:SendBroadcastMessage("Game Master Commands:")
  369.                 player:SendBroadcastMessage("|cff00cc00"..GWCOMM["SERVER"].details_loc.."         -location info.|r")
  370.                 player:SendBroadcastMessage("|cff00cc00reset "..GWCOMM["SERVER"].loc.."           -Resets location to server.|r")
  371.                 player:SendBroadcastMessage("|cff00cc00reload "..GWCOMM["SERVER"].table.."          -Reloads GW tables.|r")
  372.                 player:SendBroadcastMessage("|cff00cc00reset "..GWCOMM["SERVER"].farm.."          -Resets location farm count to 0.|r")
  373.                 player:SendBroadcastMessage("|cff00cc00reset "..GWCOMM["SERVER"].barrack.."          -Resets location barrack count to 0.|r")
  374.                 player:SendBroadcastMessage("|cff00cc00reset "..GWCOMM["SERVER"].hall.."          -Resets location hall count to 0.|r")
  375.                 player:SendBroadcastMessage("|cff00cc00reset "..GWCOMM["SERVER"].pig.."          -Resets location pig count to 0.|r")
  376.                 player:SendBroadcastMessage("|cff00cc00reset "..GWCOMM["SERVER"].guard.."          -Resets location guard count to 0.|r")
  377.                 player:SendBroadcastMessage("|cff00cc00"..GWCOMM["SERVER"].respawn_flag.."         -Spawns new flag if current|r")
  378.                 player:SendBroadcastMessage("|cff00cc00                         flag is missing.|r")
  379.                 player:SendBroadcastMessage("|cff00cc00lock "..GWCOMM["SERVER"].loc.."         -locks a location from purchase.|r")
  380.                 player:SendBroadcastMessage("*************************************")
  381.                 player:SendBroadcastMessage("ADMIN settings")
  382.                 player:SendBroadcastMessage("|cff00cc00ADMIN Level Access:|r "..GWCOMM["SERVER"].GM_admin.."")
  383.                 player:SendBroadcastMessage("|cff00cc00Minimum GM Level Access:|r "..GWCOMM["SERVER"].GM_minimum.."")
  384.                 player:SendBroadcastMessage("|cff00cc00Pig Payz:|r "..GWCOMM["SERVER"].pig_payz.."|cff00cc00 copper.|r")
  385.                 player:SendBroadcastMessage("|cff00cc00New Guild Gift amount:|r "..GWCOMM["SERVER"].gift_count.."")
  386.                 player:SendBroadcastMessage("|cff00cc00Flag require:|r "..GWCOMM["SERVER"].flag_require.."")
  387.                 player:SendBroadcastMessage("|cff00cc00Anarchy:|r "..GWCOMM["SERVER"].anarchy.."")
  388.                 player:SendBroadcastMessage("|cff00cc00No-Tag-Flag:|r "..GWCOMM["SERVER"].flag_timer.."")
  389.                 player:SendBroadcastMessage("|cff00cc00No-Tag-Flag-Timer:|r "..GWCOMM["SERVER"].spawn_timer.."")
  390.                 player:SendBroadcastMessage("*************************************")
  391.             end
  392.         return false;
  393.         end
  394.        
  395.         if(ChatCache[1]==GWCOMM[Guildname].info_loc)then
  396.             player:SendBroadcastMessage("*************************************")
  397.             player:SendBroadcastMessage("|cff00cc00Loc ID:|r "..GWARZ[LocId].entry.."")
  398.             player:SendBroadcastMessage("|cff00cc00Owner:|r "..GWARZ[LocId].guild_name.."")
  399.             player:SendBroadcastMessage("|cff00cc00Farms:|r "..GWARZ[LocId].farm_count.."")
  400.             player:SendBroadcastMessage("|cff00cc00Hall:|r "..GWARZ[LocId].hall_count.."")
  401.             player:SendBroadcastMessage("|cff00cc00pigs:|r "..GWARZ[LocId].pig_count.."")
  402.             player:SendBroadcastMessage("|cff00cc00Value:|r "..Zoneprice.."|cff00cc00 "..Currencyname.."'s.|r")
  403.            
  404.             if(GWARZ[LocId].team==0)then
  405.                 player:SendBroadcastMessage("|cff00cc00Faction: Alliance.|r")
  406.                 player:SendBroadcastMessage("*************************************")
  407.             end
  408.            
  409.             if(GWARZ[LocId].team==1)then
  410.                 player:SendBroadcastMessage("|cff00cc00Faction: Horde.|r")
  411.                 player:SendBroadcastMessage("*************************************")
  412.             end
  413.            
  414.             if(GWARZ[LocId].team==2)then
  415.                 player:SendBroadcastMessage("|cff00cc00Faction: For Sale.|r")
  416.                 player:SendBroadcastMessage("*************************************")
  417.             end
  418.  
  419.             if(GWARZ[LocId].team==3)then
  420.                 player:SendBroadcastMessage("|cff00cc00Faction:|r LOCKED")
  421.                 player:SendBroadcastMessage("*************************************")
  422.             end
  423.             return false;
  424.         end
  425.        
  426.         if(ChatCache[1]==GWCOMM[Guildname].list_loc)then
  427.             local Glocdb = WorldDBQuery("SELECT `entry` FROM guild_warz.zones WHERE `guild_name` = '"..player:GetGuildName().."';");
  428.            
  429.             if(Glocdb==nil)then
  430.                 player:SendBroadcastMessage("Your guild does not own any land")
  431.             end
  432.            
  433.             if(Glocdb~=nil)then
  434.                 player:SendBroadcastMessage("**********************************************************************")
  435.                 player:SendBroadcastMessage("|cff00cc00LOCid:     farm:     barracks:     Hall:     Guards:     Pigs:          Zone value:|r")
  436.                
  437.                 repeat
  438.                     local Gloc = Glocdb:GetUInt32(0)
  439.                     local Xzoneprice=(GWCOMM["SERVER"].loc_cost)+(GWCOMM["SERVER"].farm_cost*GWARZ[Gloc].farm_count)+(GWCOMM["SERVER"].barrack_cost*GWARZ[Gloc].barrack_count)+(GWCOMM["SERVER"].hall_cost*GWARZ[Gloc].hall_count)+(GWCOMM["SERVER"].pig_cost*GWARZ[Gloc].pig_count)
  440.                     player:SendBroadcastMessage("|cff00cc00 "..Gloc.."             "..GWARZ[Gloc].farm_count.."             "..GWARZ[Gloc].barrack_count.."             "..GWARZ[Gloc].hall_count.."             "..GWARZ[Gloc].guard_count.."             "..GWARZ[Gloc].pig_count.."                  "..Xzoneprice.."|r")
  441.                     yentry = yentry+1
  442.                     ypigcnt = ypigcnt+GWARZ[Gloc].pig_count
  443.                     yvalue = yvalue+Xzoneprice
  444.                 until Glocdb:NextRow()~=true;
  445.                
  446.                 player:SendBroadcastMessage("**********************************************************************")
  447.                 player:SendBroadcastMessage("|cff00cc00total locations: "..yentry.."      total pigs: "..ypigcnt.."      Total value: "..yvalue.." "..Currencyname.."'s.|r")
  448.                 player:SendBroadcastMessage("**********************************************************************")
  449.             end
  450.             return false;
  451.         end
  452.        
  453.         if(ChatCache[1]==GWCOMM[Guildname].version)then
  454.             player:SendBroadcastMessage("*******************************")
  455.             player:SendBroadcastMessage("|cff00cc00Grumbo'z Guild Warz. VER : "..GW_version.."|r")
  456.             player:SendBroadcastMessage("|cff00cc00Core :: "..core_version..".|r")
  457.             player:SendBroadcastMessage("|cff00cc00PigPayz :: "..pigpayz_version..".|r")
  458.             player:SendBroadcastMessage("|cff00cc00Teleport :: "..tele_version..".|r")
  459.             player:SendBroadcastMessage("|cff00cc00PvP :: "..pvp_version..".|r")
  460.             player:SendBroadcastMessage("*******************************")
  461.             return false;
  462.         end
  463.    
  464.         if (ChatCache[1] == GWCOMM["SERVER"].command_set) then
  465.    
  466.             for i = 1, #GWHELP do
  467.    
  468.                 if(ChatCache[2]==tostring(GWHELP[i].command))then
  469.    
  470.                     if(GWHELP[i].command_level<=4)and(player:GetGuildRank()==0)then
  471.                         PreparedStatements(3, ChatCache[2], ChatCache[3], player:GetGuildName())
  472.                         player:SendBroadcastMessage("guild cmd "..ChatCache[2].." set to "..ChatCache[3]..".")
  473.                     return false;
  474.                     end
  475.        
  476.                     if(GWHELP[i].command_level<=6)and(GWHELP[i].command_level>=5)and(player:GetGMRank()==GWCOMM["SERVER"].GM_admin)then
  477.                         PreparedStatements(3, ChatCache[2], ChatCache[3], "SERVER")
  478.                         player:SendBroadcastMessage("GM cmd "..ChatCache[2].." set to "..ChatCache[3]..".")
  479.                     return false;
  480.                     end
  481.                 end
  482.             end
  483.         player:SendBroadcastMessage("err...")
  484.         return false;
  485.         end
  486.    
  487.         if (ChatCache[1] == "help")then
  488.        
  489.             for i = 1, #GWHELP do
  490.                
  491.                 if(ChatCache[2] == GWCOMM["SERVER"].command_set)and(ChatCache[3]==nil)then
  492.                     player:SendBroadcastMessage("command id      -     description")
  493.                        
  494.                         for b = 1, #GWHELP do
  495.  
  496.                             if((player:GetGuildRank()==0)and(GWHELP[b].command_level<=4))then
  497.                                 player:SendBroadcastMessage(GWHELP[b].command.."     -     |cff00cc00"..GWHELP[b].description.."|r")
  498.                             end
  499.                            
  500.                             if(player:GetGMRank()==GWCOMM["SERVER"].GM_admin)and(GWHELP[b].command_level>=5)and(GWHELP[b].command_level<=6)then
  501.                                 player:SendBroadcastMessage(GWHELP[b].command.."     -     |cff00cc00"..GWHELP[b].description.."|r")
  502.                             end
  503.                         end
  504.                 return false;
  505.                 end
  506.                
  507.                 if(ChatCache[3] == tostring(GWHELP[i].command))then
  508.                
  509.                     if(player:GetGuildRank()==0)and(GWHELP[i].command_level<=4)then
  510.                         player:SendBroadcastMessage(GWHELP[i].command.."      -      |cff00cc00"..GWHELP[i].description.."|r")
  511.                         player:SendBroadcastMessage("|cff00cc00Example:|r /g "..GWHELP[i].example.."")
  512.                         player:SendBroadcastMessage("|cff00cc00Current:|r "..GWCOMM[Guildname][GWHELP[i].command].."")
  513.                         return false;
  514.                     end
  515.                    
  516.                     if(player:GetGMRank()==GWCOMM["SERVER"].GM_admin)and(GWHELP[i].command_level>=5)and(GWHELP[i].command_level<=6)then
  517.                         player:SendBroadcastMessage(GWHELP[i].command.."      -      |cff00cc00"..GWHELP[i].description.."|r")
  518.                         player:SendBroadcastMessage("|cff00cc00Example:|r /g "..GWHELP[i].example.."")
  519.                         player:SendBroadcastMessage("|cff00cc00Current:|r "..GWCOMM[Guildname][GWHELP[i].command].."")
  520.                         return false;
  521.                     end
  522.                 end
  523.             end
  524.         player:SendBroadcastMessage("err...")
  525.         return false;
  526.         end
  527.  
  528. -- ****************************************************
  529. -- ************ CORE: Guild Master Commands ***********
  530. -- ****************************************************
  531.  
  532.         if(player:GetGuildRank() <= GWCOMM[Guildname].GLD_lvlb and ChatCache[1] == "buy")then
  533.  
  534. -- ******************* Buy commands *******************
  535.  
  536.             if(ChatCache[2] == GWCOMM[Guildname].loc)then
  537.        
  538.                 if(GWARZ[LocId].guild_name ~= Server)then
  539.                     player:SendBroadcastMessage("You cannot purchase this area.")
  540.                     player:SendBroadcastMessage(""..GWARZ[LocId].guild_name.." owns this area.")
  541.                 else
  542.                     if(player:GetItemCount(GWCOMM["SERVER"].currency) < Zoneprice)then
  543.                         player:SendBroadcastMessage("You do not have enough "..Currencyname.."'s.")
  544.                     else
  545.                         if(GWARZ[LocId].team==3)then
  546.                             player:SendBroadcastMessage("THIS AREA IS OFF LIMITS")
  547.                         else
  548.                             Gflag = PerformIngameSpawn(2, GWCOMM["SERVER"].flag_id+(player:GetTeam()), player:GetMapId(), 0, player:GetX(), player:GetY(), player:GetZ(), player:GetO(), 1, 0, 1):GetGUIDLow()
  549.                             PreparedStatements(1, "guild_name", player:GetGuildName(), LocId)
  550.                             PreparedStatements(1, "team", player:GetTeam(), LocId)
  551.                             PreparedStatements(1, "x", player:GetX(), LocId)
  552.                             PreparedStatements(1, "y", player:GetY(), LocId)
  553.                             PreparedStatements(1, "z", player:GetZ(), LocId)
  554.                             PreparedStatements(1, "flag_id", Gflag, LocId)
  555.                             PreparedStatements(1, "fs_time", GetGameTime(), LocId)                         
  556.                             PreparedStatements(1, "guild_id", guild_id, LocId)
  557.                             player:RemoveItem(GWCOMM["SERVER"].currency, Zoneprice)
  558.                        
  559.                             if(player:GetGender()==0)then
  560.                                 player:SendBroadcastMessage("|cff00cc00Congratulations King "..player:GetName()..". you have expanded "..player:GetGuildName().."'s land.|r")
  561.                             else
  562.                                 player:SendBroadcastMessage("|cff00cc00Congratulations Queen "..player:GetName()..". you have expanded "..player:GetGuildName().."'s land.|r")
  563.                             end
  564.                         end
  565.                     end
  566.                 end
  567.             return false;
  568.             end
  569.    
  570.             if(ChatCache[2] == GWCOMM[Guildname].farm)then
  571.  
  572.                 if(GWARZ[LocId].guild_name ~= player:GetGuildName())then
  573.                     player:SendBroadcastMessage("Your Guild does not own this land.")
  574.                 else
  575.                     if(player:GetItemCount(GWCOMM["SERVER"].currency) < GWCOMM["SERVER"].farm_cost)then
  576.                         player:SendBroadcastMessage("You require more "..Currencyname.."'s.")
  577.                     else
  578.                         if(GWARZ[LocId].farm_count >= GWCOMM["SERVER"].farm_L)then
  579.                             player:SendBroadcastMessage("You have  "..GWARZ[LocId].farm_count.." farm\'s at this location.")
  580.                             player:SendBroadcastMessage("You can only purchase "..GWCOMM["SERVER"].farm_L.." house per location.")
  581.                         else
  582.                             if(GWARZ[LocId].pig_count < (GWARZ[LocId].farm_count * GWCOMM["SERVER"].pig_L))then
  583.                                 player:SendBroadcastMessage("you still need to finish populating your other farm.")
  584.                             else
  585.                                 PerformIngameSpawn(2, GWCOMM["SERVER"].farm_id+GWARZ[LocId].team, player:GetMapId(), 0, player:GetX(), player:GetY(), player:GetZ(), player:GetO(), 1, 0, 1)
  586.                                 PreparedStatements(1, "farm_count", GWARZ[LocId].farm_count+1, LocId)
  587.                                 player:RemoveItem(GWCOMM["SERVER"].currency, GWCOMM["SERVER"].farm_cost)
  588.                                 player:SendBroadcastMessage("|cff00cc00Congratulations Grunt "..player:GetName()..".|r")
  589.                                 player:SendBroadcastMessage("|cff00cc00"..player:GetGuildName().." has added a farm at location: "..LocId..".|r")
  590.                             end
  591.                         end
  592.                     end
  593.                 end
  594.             return false;
  595.             end
  596.            
  597.             if(ChatCache[2] == GWCOMM[Guildname].barrack)then
  598.            
  599.                 if(GWARZ[LocId].guild_name ~= player:GetGuildName())then
  600.                     player:SendBroadcastMessage("Your Guild does not own this land.")
  601.                 else
  602.                     if(player:GetItemCount(GWCOMM["SERVER"].currency) < GWCOMM["SERVER"].barrack_cost)then
  603.                         player:SendBroadcastMessage("You require more "..Currencyname.."'s.")
  604.                     else
  605.                         if(GWARZ[LocId].barrack_count >= GWCOMM["SERVER"].farm_L)then
  606.                             player:SendBroadcastMessage("You have  "..GWARZ[LocId].barrack_count.." barrack\'s at this location.")
  607.                             player:SendBroadcastMessage("You can only purchase "..GWCOMM["SERVER"].barrack_L.." barrack\'s per location.")
  608.                         else
  609.                             if(GWARZ[LocId].barrack_count >= GWARZ[LocId].farm_count)then
  610.                                 player:SendBroadcastMessage("You need at least 1 farm to support a single barracks.")
  611.                             else
  612.                                 PerformIngameSpawn(2, GWCOMM["SERVER"].barrack_id+GWARZ[LocId].team, player:GetMapId(), 0, player:GetX(), player:GetY(), player:GetZ(), player:GetO(), 1, 0, 1)
  613.                                 PreparedStatements(1, "barrack_count", GWARZ[LocId].barrack_count+1, LocId)
  614.                                 player:RemoveItem(GWCOMM["SERVER"].currency, GWCOMM["SERVER"].barrack_cost)
  615.                                 player:SendBroadcastMessage("|cff00cc00Congratulations Commander "..player:GetName()..".|r")
  616.                                 player:SendBroadcastMessage("|cff00cc00"..player:GetGuildName().." has added a barracks at location: "..LocId..".|r")
  617.                             end
  618.                         end
  619.                     end
  620.                 end
  621.             return false;
  622.             end
  623.            
  624.             if(ChatCache[2] == GWCOMM[Guildname].hall)then
  625.                 if(player:GetGuildName() ~= GWARZ[LocId].guild_name)then
  626.                     player:SendBroadcastMessage("Your Guild does not own this land.")
  627.                 else
  628.                     if(player:GetItemCount(GWCOMM["SERVER"].currency) < GWCOMM["SERVER"].hall_cost)then
  629.                         player:SendBroadcastMessage("Each hall costs "..GWCOMM["SERVER"].hall_cost.." "..Currencyname..".")
  630.                     else
  631.                         if(GWARZ[LocId].hall_count >= GWCOMM["SERVER"].hall_L)then
  632.                             player:SendBroadcastMessage("You have "..GWARZ[LocId].hall_count.." hall at this location.")               
  633.                             player:SendBroadcastMessage("You can only have "..GWCOMM["SERVER"].hall_L.." hall per area.")  
  634.                         else
  635.                             if(GWARZ[LocId].hall_count == GWARZ[LocId].barrack_count)then
  636.                                 player:SendBroadcastMessage("Each Hall require's 1 barracks per Hall to provide guards for defensive support.")
  637.                                 player:SendBroadcastMessage("Gotta protect your HQ.")
  638.                             else
  639.                                 PerformIngameSpawn(2, GWCOMM["SERVER"].hall_id+GWARZ[LocId].team, player:GetMapId(), 0, player:GetX(), player:GetY(), player:GetZ(), player:GetO(), 1, 0, 1)
  640.                                 PreparedStatements(1, "hall_count", GWARZ[LocId].hall_count+1, LocId)
  641.                                 player:RemoveItem(GWCOMM["SERVER"].currency, GWCOMM["SERVER"].hall_cost)
  642.                                 player:SendBroadcastMessage("|cff00cc00Congradulations!.|r")
  643.                                 player:SendBroadcastMessage("|cff00cc00Commandant "..player:GetName()..".|r")
  644.                             end
  645.                         end
  646.                     end
  647.                 end
  648.             return false;
  649.             end
  650.            
  651.             if(ChatCache[2] == GWCOMM[Guildname].pig)then
  652.                 if(GWARZ[LocId].guild_name ~= player:GetGuildName())then
  653.                     player:SendBroadcastMessage("Your Guild does not own this land.")
  654.                 else
  655.                     if(player:GetItemCount(GWCOMM["SERVER"].currency) < GWCOMM["SERVER"].pig_cost)then
  656.                         player:SendBroadcastMessage("Each pig costs "..GWCOMM["SERVER"].pig_cost.." "..Currencyname..".")
  657.                     else
  658.                         if(GWARZ[LocId].pig_count >= (GWCOMM["SERVER"].pig_L * GWCOMM["SERVER"].farm_L))then
  659.                             player:SendBroadcastMessage("You have "..(GWARZ[LocId].pig_count*GWCOMM["SERVER"].farm_L).." pigs at this location.")              
  660.                             player:SendBroadcastMessage("You can only have "..GWCOMM["SERVER"].pig_L.." pig's per farm and "..GWCOMM["SERVER"].farm_L.." farm's per location.")
  661.                         else
  662.                             if(GWARZ[LocId].pig_count < GWCOMM["SERVER"].pig_L)and(GWARZ[LocId].farm_count==0)then
  663.                                 player:SendBroadcastMessage("You must first have a farm here before you can add pigs.")
  664.                                 player:SendBroadcastMessage("Piggies gotta live somewhere...")
  665.                             else
  666.                                 if(GWARZ[LocId].pig_count >= (GWARZ[LocId].farm_count * GWCOMM["SERVER"].pig_L))then
  667.                                     player:SendBroadcastMessage("You require another farm before you can add any more pigs.")
  668.                                 else                               
  669.                                     PerformIngameSpawn(1, GWCOMM["SERVER"].pig_id+GWARZ[LocId].team, player:GetMapId(), 0, player:GetX(), player:GetY(), player:GetZ(), player:GetO(), 1, 0, 1)
  670.                                     PreparedStatements(1, "pig_count", GWARZ[LocId].pig_count+1, LocId)
  671.                                     player:RemoveItem(GWCOMM["SERVER"].currency, GWCOMM["SERVER"].pig_cost)
  672.                                     player:SendBroadcastMessage("|cff00cc00Congradulations!.|r")
  673.                                     player:SendBroadcastMessage("|cff00cc00Farmer "..player:GetName()..".|r")
  674.                                 end
  675.                             end
  676.                         end
  677.                     end
  678.                 end
  679.             return false;
  680.             end
  681.            
  682.             if(ChatCache[2] == GWCOMM[Guildname].guard)then
  683.                 if(GWARZ[LocId].guild_name ~= player:GetGuildName())then
  684.                     player:SendBroadcastMessage("Your Guild does not own this land.")
  685.                 else
  686.                     if(player:GetItemCount(GWCOMM["SERVER"].currency) < GWCOMM["SERVER"].guard_cost)then
  687.                         player:SendBroadcastMessage("Each guard costs "..GWCOMM["SERVER"].guard_cost.." "..Currencyname..".")
  688.                     else
  689.                         if(GWARZ[LocId].guard_count >= (GWCOMM["SERVER"].guard_L * (GWCOMM["SERVER"].barrack_L * GWCOMM["SERVER"].farm_L)))then
  690.                             player:SendBroadcastMessage("You have "..GWARZ[LocId].guard_count.." guards at this location.")
  691.                             player:SendBroadcastMessage("You can only have "..(GWCOMM["SERVER"].guard_L*GWCOMM["SERVER"].farm_L).." per location.")
  692.                         else
  693.                             if(GWARZ[LocId].guard_count >= (GWARZ[LocId].barrack_count * GWCOMM["SERVER"].guard_L))then
  694.                                 player:SendBroadcastMessage("You must add another barracks to produce more guards.")
  695.                             else
  696.                                 PerformIngameSpawn(1, GWCOMM["SERVER"].guard_id+GWARZ[LocId].team, player:GetMapId(), 0, player:GetX(), player:GetY(), player:GetZ(), player:GetO(), 1, 0, 1)
  697.                                 PreparedStatements(1, "guard_count", GWARZ[LocId].guard_count+1, LocId)
  698.                                 player:RemoveItem(GWCOMM["SERVER"].currency, GWCOMM["SERVER"].guard_cost)
  699.                                 player:SendBroadcastMessage("|cff00cc00Guard added by Commander "..player:GetName()..".|r")
  700.                             end
  701.                         end
  702.                     end
  703.                 end
  704.             return false;
  705.             end
  706.         end
  707.  
  708. -- ******************* Sell commands ******************
  709.  
  710.         if(player:GetGuildRank() <= GWCOMM[Guildname].GLD_lvls)and(ChatCache[1] == "sell")then
  711.        
  712.             if(ChatCache[2]==GWCOMM[Guildname].loc)then
  713.            
  714.                 if(GWARZ[LocId].guild_name~=player:GetGuildName())then
  715.                     player:SendBroadcastMessage("Your guild does not own this land.")
  716.                 else
  717.                     if(player:GetNearestGameObject(1, GWCOMM["SERVER"].flag_id+GWARZ[LocId].team)==nil)then
  718.                         player:SendBroadcastMessage("You must be next to your guild flag.")
  719.                         player:SendBroadcastMessage("move closer and try again.")
  720.                     else
  721.                         local flagid = player:GetNearestGameObject(1, (GWCOMM["SERVER"].flag_id+GWARZ[LocId].team)):GetGUIDLow()
  722.                         player:GetNearestGameObject(2, (GWCOMM["SERVER"].flag_id+GWARZ[LocId].team)):Despawn()
  723.                         PreparedStatements(1, "guild_name", Server, LocId)
  724.                         PreparedStatements(1, "team", 2, LocId)
  725.                         PreparedStatements(1, "flag_id", 0, LocId)
  726.                         PreparedStatements(1, "fs_time", 0, LocId)
  727.                         PreparedStatements(1, "guild_id", 0, LocId)
  728.                         player:AddItem(GWCOMM["SERVER"].currency, Zoneprice)
  729.                         player:SendBroadcastMessage("|cff00cc00!Congratulations! Realtor "..player:GetName().." has sold this land. For "..Zoneprice.." "..Currencyname.."'s.|r")
  730.                     end
  731.                 end
  732.             return false;
  733.             end
  734.            
  735.             if(ChatCache[2] == GWCOMM[Guildname].farm)then
  736.                 if(player:GetGuildName() ~= GWARZ[LocId].guild_name)then
  737.                     player:SendBroadcastMessage("Your guild does not own this land.")
  738.                 end
  739.                 if(player:GetGuildName() == GWARZ[LocId].guild_name)then
  740.                     if(GWARZ[LocId].farm_count == 0)then
  741.                         player:SendBroadcastMessage("Your guild does not own a house at this location.")
  742.                     else
  743.                         if(GWARZ[LocId].pig_count > ((GWCOMM["SERVER"].pig_L) * (GWARZ[LocId].farm_count-1)))then
  744.                             player:SendBroadcastMessage("You must sell off all the pigs first before removing there housing.")
  745.                         else   
  746.                             if(player:GetNearestGameObject(10, GWCOMM["SERVER"].farm_id+GWARZ[LocId].team) == nil)then
  747.                                 player:SendBroadcastMessage("You must be closer.")
  748.                             else
  749.                                 local farmspawnid = player:GetNearestGameObject(10, GWCOMM["SERVER"].farm_id+GWARZ[LocId].team):GetGUIDLow() -- use this to avoid ghost respawns                       
  750.                                 player:GetNearestGameObject(10, (GWCOMM["SERVER"].farm_id+GWARZ[LocId].team)):Despawn()
  751.                                 PreparedStatements(2, "gameobject", farmspawnid)
  752.                                 PreparedStatements(1, "farm_count", GWARZ[LocId].farm_count-1, LocId)
  753.                                 player:AddItem(GWCOMM["SERVER"].currency, GWCOMM["SERVER"].farm_cost)
  754.                                 player:SendBroadcastMessage("|cff00cc00!Congratulations!"..player:GetGuildName().." has sold a guild farm. For "..GWCOMM["SERVER"].farm_cost.." "..Currencyname.."'s.|r")
  755.                             end
  756.                         end
  757.                     end
  758.                 end
  759.             return false;
  760.             end
  761.            
  762.             if(ChatCache[2] == GWCOMM[Guildname].barrack)then
  763.                 if(player:GetGuildName() ~= GWARZ[LocId].guild_name)then
  764.                     player:SendBroadcastMessage("Your guild does not own this land.")
  765.                 end
  766.                 if(player:GetGuildName() == GWARZ[LocId].guild_name)then
  767.                     if(GWARZ[LocId].barrack_count == 0)then
  768.                         player:SendBroadcastMessage("Your guild does not own a barracks at this location.")
  769.                     else
  770.                         if(GWARZ[LocId].guard_count > ((GWCOMM["SERVER"].guard_L) * (GWARZ[LocId].barrack_count-1)))then
  771.                             player:SendBroadcastMessage("You must remove more guards before removing there housing.")
  772.                         else   
  773.                             if(player:GetNearestGameObject(10, GWCOMM["SERVER"].barrack_id+GWARZ[LocId].team) == nil)then
  774.                                 player:SendBroadcastMessage("You must be closer.")
  775.                             else
  776.                                 local barrackspawnid = player:GetNearestGameObject(10, GWCOMM["SERVER"].barrack_id+GWARZ[LocId].team):GetGUIDLow() -- use this to avoid ghost respawns                     
  777.                                 player:GetNearestGameObject(10, GWCOMM["SERVER"].barrack_id+GWARZ[LocId].team):Despawn()
  778.                                 PreparedStatements(2, "gameobject", barrackspawnid)
  779.                                 PreparedStatements(1, "barrack_count", GWARZ[LocId].barrack_count-1, LocId)
  780.                                 player:AddItem(GWCOMM["SERVER"].currency, GWCOMM["SERVER"].barrack_cost)
  781.                                 player:SendBroadcastMessage("|cff00cc00!Congratulations! Builder "..player:GetGuildName().." has sold a garrison. For "..GWCOMM["SERVER"].barrack_cost.." "..Currencyname.."'s.|r")
  782.                             end
  783.                         end
  784.                     end
  785.                 end
  786.             return false;
  787.             end
  788.            
  789.             if(ChatCache[2] == GWCOMM[Guildname].hall)then
  790.                 if(player:GetGuildName() ~= GWARZ[LocId].guild_name)then
  791.                     player:SendBroadcastMessage("Your guild does not own this land.")
  792.                 end
  793.                 if(player:GetGuildName() == GWARZ[LocId].guild_name)then
  794.                     if(GWARZ[LocId].hall_count <= 0)then
  795.                         player:SendBroadcastMessage("Your guild does not own a hall at this location.")
  796.                     else
  797.                         if(player:GetNearestGameObject(45, GWCOMM["SERVER"].hall_id+GWARZ[LocId].team) == nil)then
  798.                             player:SendBroadcastMessage("You must be near to your hall to sell it.")
  799.                         else
  800.                             local hallspawnid = player:GetNearestGameObject(45, GWCOMM["SERVER"].hall_id+GWARZ[LocId].team):GetGUIDLow() -- use this to avoid ghost respawns                       
  801.                             player:GetNearestGameObject(45, GWCOMM["SERVER"].hall_id+GWARZ[LocId].team):RemoveFromWorld() -- :Despawn()
  802.                             PreparedStatements(2, "gameobject", hallspawnid)
  803.                             PreparedStatements(1, "hall_count", GWARZ[LocId].hall_count-1, LocId)
  804.                             player:AddItem(GWCOMM["SERVER"].currency, GWCOMM["SERVER"].hall_cost)
  805.                             player:SendBroadcastMessage("|cff00cc00!Congratulations!"..player:GetGuildName().." has sold a Hall. For "..GWCOMM["SERVER"].hall_cost.." "..Currencyname.."'s.|r")
  806.                         end
  807.                     end
  808.                 end
  809.             return false;
  810.             end
  811.            
  812.             if(ChatCache[2] == GWCOMM[Guildname].pig)then
  813.                 if(player:GetGuildName() ~= GWARZ[LocId].guild_name)then
  814.                     player:SendBroadcastMessage("Your guild does not own this land.")
  815.                 else
  816.                     if(GWARZ[LocId].pig_count == 0)then
  817.                         player:SendBroadcastMessage("You DONT have any pigs in this area.")
  818.                     else
  819.                         if(player:GetSelection() == nil)then
  820.                             player:SendBroadcastMessage("You must select a pig.")
  821.                         else
  822.                             if(player:GetSelection():GetEntry() ~= GWCOMM["SERVER"].pig_id+GWARZ[LocId].team)then
  823.                                 player:SendBroadcastMessage("you must select a guild pig.")
  824.                             else
  825.                                 local pigspawnid = player:GetSelection():GetGUIDLow()
  826.                                 player:GetSelection():DespawnOrUnsummon()
  827.                                 PreparedStatements(2, "creature", pigspawnid)
  828.                                 PreparedStatements(1, "pig_count", GWARZ[LocId].pig_count-1, LocId)
  829.                                 player:AddItem(GWCOMM["SERVER"].currency, GWCOMM["SERVER"].pig_cost)
  830.                                 player:SendBroadcastMessage("|cff00cc00Butcher "..player:GetName().." sold 1 pig to the market.|r")
  831.                             end
  832.                         end
  833.                     end
  834.                 end
  835.             return false;
  836.             end
  837.            
  838.             if(ChatCache[2] == GWCOMM[Guildname].guard)then
  839.  
  840.                 if(player:GetGuildName()~=GWARZ[LocId].guild_name)then
  841.                     player:SendBroadcastMessage("Your guild does not own this land.")
  842.                 else
  843.                     if(GWARZ[LocId].guard_count == 0)then
  844.                         player:SendBroadcastMessage("You DONT have any guards in this area.")
  845.                     else
  846.                         if(player:GetSelection() == nil)then
  847.                             player:SendBroadcastMessage("You must select a guard.")
  848.  
  849.                         else
  850.                             if(player:GetSelection():GetEntry()~=GWCOMM["SERVER"].guard_id+GWARZ[LocId].team)then
  851.                                 player:SendBroadcastMessage("You must select a guild guard.")
  852.  
  853.                             else
  854.                                 local guardspawnid = player:GetSelection():GetGUIDLow()
  855.                                 player:GetSelection():DespawnOrUnsummon()
  856.                                 PreparedStatements(2, "creature", guardspawnid)
  857.                                 PreparedStatements(1, "guard_count", GWARZ[LocId].guard_count-1, LocId)
  858.                                 player:SendBroadcastMessage("|cff00cc00Guard removed.|r")
  859.                             end
  860.                         end
  861.                     end
  862.                 end
  863.             end
  864.         return false;
  865.         end
  866.        
  867. -- ****************************************************
  868. -- **************** Game Master Commands **************
  869. -- ****************************************************
  870.        
  871.         if(player:GetGMRank() >= GWCOMM["SERVER"].GM_minimum)then
  872.        
  873.             if(ChatCache[1] == "lock")and(ChatCache[2] == GWCOMM["SERVER"].loc)then
  874.                 PreparedStatements(1, "guild_name", Server, LocId)
  875.                 PreparedStatements(1, "team", 3, LocId)
  876.                 PreparedStatements(1, "flag_id", 0, LocId)
  877.                 PreparedStatements(1, "fs_time", 0, LocId)
  878.                 player:SendBroadcastMessage("|cff00cc00Area: "..GWARZ[LocId].entry.." succesfully |r|cffcc0000LOCKED.|r")
  879.             return false;
  880.             end
  881.        
  882.             if(ChatCache[1] == "reset")and(ChatCache[2] == GWCOMM["SERVER"].loc)then
  883.                 PreparedStatements(1, "guild_name", Server, LocId)
  884.                 PreparedStatements(1, "team", 2, LocId)
  885.                 PreparedStatements(1, "flag_id", 0, LocId)
  886.                 PreparedStatements(1, "fs_time", 0, LocId)
  887.                 player:SendBroadcastMessage("|cff00cc00Area: "..GWARZ[LocId].entry.." succesfully reset.|r")
  888.             return false;
  889.             end
  890.            
  891.             if(ChatCache[1] == "reset")and(ChatCache[2] == GWCOMM["SERVER"].farm)then
  892.                 PreparedStatements(1, "farm_count", 0, LocId)
  893.                 player:SendBroadcastMessage("|cff00cc00Area: "..GWARZ[LocId].entry.." house count reset.|r")
  894.             return false;
  895.             end
  896.            
  897.             if(ChatCache[1] == "reset")and(ChatCache[2] == GWCOMM["SERVER"].barrack)then
  898.                 PreparedStatements(1, "barrack_count", 0, LocId)
  899.                 player:SendBroadcastMessage("|cff00cc00Area: "..GWARZ[LocId].entry.." barrack count reset.|r")
  900.             return false;
  901.             end
  902.            
  903.             if(ChatCache[1] == "reset")and(ChatCache[2] == GWCOMM["SERVER"].hall)then
  904.                 PreparedStatements(1, "hall_count", 0, LocId)
  905.                 player:SendBroadcastMessage("|cff00cc00Area: "..GWARZ[LocId].entry.." hall count reset.|r")
  906.             return false;
  907.             end
  908.            
  909.             if(ChatCache[1] == "reset")and(ChatCache[2] == GWCOMM["SERVER"].pig)then
  910.                 PreparedStatements(1, "pig_count", 0, LocId)
  911.                 player:SendBroadcastMessage("|cff00cc00Area: "..GWARZ[LocId].entry.." pig count reset.|r")
  912.             return false;
  913.             end
  914.            
  915.             if(ChatCache[1] == "reset")and(ChatCache[2] == GWCOMM["SERVER"].guard)then
  916.                 PreparedStatements(1, "guard_count", 0, LocId)
  917.                 player:SendBroadcastMessage("|cff00cc00Area: "..GWARZ[LocId].entry.." guard count reset.|r")
  918.             return false;
  919.             end
  920.  
  921.             if(ChatCache[1] == "reload")and(ChatCache[2] == GWCOMM["SERVER"].table)then
  922.                 GWtable = {}
  923.                 LoadGWtable()
  924.                 player:SendBroadcastMessage("|cff00cc00Grumbo\'z Guild Warz Tables Reloaded.|r")
  925.             return false;
  926.             end
  927.  
  928.             if((ChatCache[1]=="spawn")and(ChatCache[2]=="flag"))then
  929.                 GMFlagid = PerformIngameSpawn(2, GWCOMM["SERVER"].flag_id+GWARZ[LocId].team, player:GetMapId(), 0, player:GetX(), player:GetY(), player:GetZ(), player:GetO(), 1, 0, 1):GetGUIDLow() -- no flag spawns +GWARZ[LocId].Team
  930.                 PreparedStatements(1, "flag_id", GMFlagid, LocId)
  931.                 PreparedStatements(1, "fs_time", GMFlagid, LocId)
  932.                 player:SendBroadcastMessage("|cff00cc00New flag spawned for Guild Warz location: "..GWARZ[LocId].entry.."|r")
  933.             return false;
  934.             end
  935.            
  936.             if(ChatCache[1] == GWCOMM["SERVER"].details_loc)then
  937.                 player:SendBroadcastMessage("*************************************")
  938.                 player:SendBroadcastMessage("|cff00cc00Location ID: "..GWARZ[LocId].entry..".|r")
  939.                 player:SendBroadcastMessage("|cff00cc00Guild Name: "..GWARZ[LocId].guild_name..".|r")
  940.                 player:SendBroadcastMessage("|cff00cc00Team: "..GWARZ[LocId].team..".|r")
  941.                 player:SendBroadcastMessage("|cff00cc00Farm count: "..GWARZ[LocId].farm_count..".|r")
  942.                 player:SendBroadcastMessage("|cff00cc00Barrack count: "..GWARZ[LocId].barrack_count..".|r")
  943.                 player:SendBroadcastMessage("|cff00cc00Hall count: "..GWARZ[LocId].hall_count..".|r")
  944.                 player:SendBroadcastMessage("|cff00cc00Pig count: "..GWARZ[LocId].pig_count..".")
  945.                 player:SendBroadcastMessage("|cff00cc00guard count: "..GWARZ[LocId].guard_count..".|r")
  946.                 player:SendBroadcastMessage("|cff00cc00flag spawn id: "..GWARZ[LocId].flag_id..".|r")
  947.                 player:SendBroadcastMessage("|cff00cc00flag spawn time: "..GWARZ[LocId].spawn_time..".|r")
  948.                 player:SendBroadcastMessage("|cff00cc00Guild ID: "..GWARZ[LocId].guild_id..".|r")
  949.                 player:SendBroadcastMessage("*************************************")
  950.             return false;
  951.             end
  952.         end
  953.     end
  954. end
  955.    
  956. RegisterPlayerEvent(21, GWcommands)
  957.  
  958. print ("Guild Warz core version: "..core_version.."")
  959.  
  960. -- ****************************************************
  961. -- Pig Payz System -- Ty rochet2 of EmuDevs.com
  962. -- ****************************************************
  963.  
  964. local function pig_payz(eventid, timer, cycles, player)
  965.  
  966.     if(player:IsInGuild() == true)then
  967.        
  968.         local pig = 0
  969.         local Glocdb = WorldDBQuery("SELECT `entry` FROM guild_warz.zones WHERE `guild_name` = '"..player:GetGuildName().."' AND `pig_count` > '0';");
  970.  
  971.         if(Glocdb==nil)then
  972.             player:SendBroadcastMessage("PigPayz: 0 gold.", 0)
  973.             player:SendBroadcastMessage("Zorkster says:Your guild does not own any pigs.", 0)
  974.             player:SendBroadcastMessage("Zorkster says:Inform Your guild master to start some farms.", 0)
  975.         else
  976.             repeat
  977.                 local Gloc = Glocdb:GetUInt32(0)
  978.                 local Pigcnt = GWARZ[Gloc].pig_count
  979.                 pig = (pig+Pigcnt)
  980.  
  981.             until Glocdb:NextRow()~=true;
  982.  
  983.             Pigpayz=(GWCOMM["SERVER"].pig_payz*pig)
  984.             player:ModifyMoney(Pigpayz)
  985.             player:SendBroadcastMessage("DemiiGods whispers:|cff00cc00Your Guild\'s hard work pays off.|r")
  986.             player:SendBroadcastMessage("|cff00cc00PigPayz: "..Pigpayz / '10000'.." gold.|r")
  987.         end
  988.         return false;
  989.     else
  990.         player:SendBroadcastMessage("Requin shouts:|cffff0000Join a guild to earn hourly rewards from Grumbo\'z Guild Warz.|r")
  991.     end
  992. end
  993.  
  994. local function pig_payz_timer(eventid, player)
  995.  
  996.     player:RegisterEvent(pig_payz, GWCOMM["SERVER"].pig_payz_timer, 0)
  997.  
  998. end
  999.  
  1000. RegisterPlayerEvent(3, pig_payz_timer)
  1001.  
  1002. print ("Pig Payz version: "..pigpayz_version.."")
  1003.  
  1004. -- ****************************************************
  1005. -- ********** Guild Warz teleporter system ************
  1006. -- ** a mild mutation of Grandelf1's guild teleporter *
  1007. -- ****************************************************
  1008.  
  1009. function Guildteleport(event, player, message, type, language)
  1010.  
  1011. local ChatMsg = GWCOMM[player:GetGuildName()].tele
  1012. local startpos, endpos = string.find(message, ChatMsg)
  1013.  
  1014.     if(startpos == 1) then
  1015.         local text = message:gsub(ChatMsg, "")
  1016.         if(player:IsInGuild()==true)then
  1017.             local Loc = tonumber(text)
  1018.             if(GWARZ[Loc]==nil)then
  1019.                 player:SendBroadcastMessage("Grumbo says:|cffcc0000error.... teleport entry doesn't exsist.|r")
  1020.             else
  1021.                 if(GWARZ[Loc].guild_name~=player:GetGuildName())then
  1022.                     player:SendBroadcastMessage("Raider says:Your guild doesn't own that area.")
  1023.                     player:SendBroadcastMessage("Raider says:You cannot teleport there.")
  1024.                 else
  1025.                     player:Teleport(GWARZ[Loc].map_id, GWARZ[Loc].x, GWARZ[Loc].y, GWARZ[Loc].z, 1.0)
  1026.                     player:SendBroadcastMessage("DeadByDawn says:|cff00cc00Teleport complete.|r")
  1027.                 end
  1028.             end
  1029.         end
  1030.     return false;
  1031.     end
  1032. end
  1033.  
  1034. RegisterPlayerEvent(21, Guildteleport)
  1035.  
  1036. print("Teleporter version: "..tele_version.."")
  1037.  
  1038. -- ****************************************************
  1039. -- *************** GUILD WARZ PvP System **************
  1040. -- ****************************************************
  1041.  
  1042. -- ************* Guild Warz Flag actions **************
  1043.  
  1044. function TransferFlag(player, locid, go)
  1045.     if(go:GetGUIDLow()~=GWARZ[locid].flag_id)then
  1046.         go:Despawn()
  1047.         player:SendBroadcastMessage("|cffcc0000error.... Phantom flag removed.|r")
  1048.         PreparedStatements(2, "gameobject", go:GetGUIDLow())
  1049.         return false;
  1050.     end
  1051.    
  1052.     if(player:IsInGuild()==false)then
  1053.        
  1054.         if(GWCOMM[GWARZ[locid].guild_name].guild_invite == 1)then
  1055.             player:SendBroadcastMessage("|cff00cc00Grumbo\'z Guild Warz System:|r")
  1056.             player:SendBroadcastMessage("|cff00cc00"..GWARZ[locid].guild_name.." own\'s this location "..player:GetName()..".|r")
  1057.             player:SendBroadcastMessage("|cff00cc00Join a Guild to participate in Grumbo\'z Guild Warz System.|r")
  1058.             player:SendBroadcastMessage("|cff00cc00Brought to you by Grumbo of BloodyWow.|r")
  1059.             Gwarz_Guild_Flag_Hello(1, player, go)
  1060.             return false;
  1061.         else
  1062.             player:SendBroadcastMessage("|cff00cc00Grumbo\'z Guild Warz System:|r")
  1063.             player:SendBroadcastMessage("|cff00cc00"..GWARZ[locid].guild_name.." own\'s this location "..player:GetName()..".|r")
  1064.             player:SendBroadcastMessage("|cff00cc00Join a Guild to participate in Grumbo\'z Guild Warz System.|r")
  1065.             player:SendBroadcastMessage("|cff00cc00Brought to you by Grumbo of BloodyWow.|r")
  1066.             player:SendBroadcastMessage("|cff00cc00This Guild Master has disabled the guild\'s invite system.|r")
  1067.             return false;
  1068.         end
  1069.     end
  1070.    
  1071.     if((player:GetGuildName()==GWARZ[locid].guild_name)or((GWCOMM["SERVER"].anarchy==0)and(player:GetTeam()==GWARZ[locid].team)))then
  1072.         player:SendBroadcastMessage("|cff00cc00"..GWARZ[locid].guild_name.." own\'s this location.|r")
  1073.         player:SendBroadcastMessage("|cff00cc00Grumbo\'z Guild Warz System.|r")
  1074.         return false;
  1075.     end
  1076.    
  1077.     if((player:GetTeam()~=GWARZ[locid].team)and(player:IsInGuild()==true))or((player:GetTeam()==GWARZ[locid].team)and(player:IsInGuild()==true)and(GWCOMM["SERVER"].anarchy==1))then
  1078.  
  1079.         if(GWARZ[locid].spawn_time+GWCOMM["SERVER"].spawn_timer > GetGameTime())and(GWCOMM["SERVER"].flag_timer==1)then
  1080.             player:SendBroadcastMessage("|cffff0000!!..Cooldown Timer in Affect..!!|r")
  1081.            
  1082.         else
  1083.             if(GWARZ[locid].guard_count~=0)and(GWCOMM["SERVER"].flag_require==1)then  -- this lil check added to make it tougher to take the land. idea by renatokeys
  1084.                 player:SendBroadcastMessage("!!..You must clear ALL guards..!!")
  1085.    
  1086.             else
  1087.                 if(((GWARZ[locid].guard_count==0)and(GWCOMM["SERVER"].flag_require==1))or(GWCOMM["SERVER"].flag_require==0))then
  1088.                     player:GetNearestGameObject(2, (GWCOMM["SERVER"].flag_id+GWARZ[locid].team)):Despawn()
  1089.                     Nflag = (PerformIngameSpawn(2, (GWCOMM["SERVER"].flag_id)+(player:GetTeam()), player:GetMapId(), 0, player:GetX(), player:GetY(), player:GetZ(), player:GetO(), 1, 0, 1):GetGUIDLow())
  1090.                     PreparedStatements(2, "gameobject", go:GetGUIDLow())
  1091.                     SendWorldMessage("|cffff0000!! "..player:GetGuildName().." takes location:"..GWARZ[locid].entry.." from "..GWARZ[locid].guild_name.." !!|r", 1)
  1092.                     PreparedStatements(1, "guild_name", player:GetGuildName(), locid)
  1093.                     PreparedStatements(1, "team", player:GetTeam(), locid)
  1094.                     PreparedStatements(1, "x", player:GetX(), locid)
  1095.                     PreparedStatements(1, "y", player:GetY(), locid)
  1096.                     PreparedStatements(1, "z", player:GetZ(), locid)
  1097.                     PreparedStatements(1, "flag_id", Nflag, locid)
  1098.                     PreparedStatements(1, "flag_id", Nflag, locid)
  1099.                     PreparedStatements(1, "fs_time", GetGameTime(), locid)
  1100.                     PreparedStatements(1, "guild_id", player:GetGuildId(), locid)
  1101.                 end
  1102.             end
  1103.         end
  1104.     end
  1105.     return false;
  1106. end
  1107.  
  1108. function Allyflag(event, go, _, player)
  1109.     if(player~=nil)then
  1110.         local LocId = GetLocationId(player)
  1111.         TransferFlag(player, LocId, go)
  1112.     end
  1113. end
  1114.  
  1115. RegisterGameObjectEvent(187432, 9, Allyflag)
  1116.  
  1117. function Hordeflag(event, go, _, player)
  1118.     if(player ~= nil)then
  1119.         local LocId = GetLocationId(player)
  1120.         TransferFlag(player, LocId, go)
  1121.     end
  1122. end
  1123.  
  1124. RegisterGameObjectEvent(187433, 9, Hordeflag)
  1125.  
  1126. -- *********** Guild Invite Flag Action ***********
  1127.  
  1128. function Gwarz_Guild_Flag_Hello(eventid, player, object)
  1129.     local locid = GetLocationId(player)
  1130.     player:GossipClearMenu()
  1131.     player:GossipMenuAddItem(1,"Join "..GWARZ[locid].guild_name..".",0,10)
  1132.     player:GossipMenuAddItem(1,"Nevermind.",0,11)
  1133.     player:GossipSendMenu(1, object)
  1134. end
  1135.  
  1136. function Gwarz_Guild_Flag_Select(eventid, player, object, sender, intid, code)
  1137. local locid = GetLocationId(player)
  1138.     if (intid == 10) then
  1139.         GetGuildByName(GWARZ[locid].guild_name):AddMember(player, 255) -- attempts to add the new member at lowest(255) guild level.
  1140.     end
  1141.     if (intid == 11) then
  1142.     end
  1143. player:GossipComplete()
  1144. end
  1145.  
  1146. RegisterGameObjectGossipEvent(187432, 2, Gwarz_Guild_Flag_Select)
  1147. RegisterGameObjectGossipEvent(187433, 2, Gwarz_Guild_Flag_Select)
  1148.  
  1149. -- *********** Guild Guard combat actions *************
  1150. -- these are just basic scripts for the guards. if some one can script a good guard script with the idea in mind to keep them from the flag. I would love to add it.
  1151.  
  1152. local function FactionReset(event, timer, cycle, player)
  1153.    
  1154.     player:SetFaction(GGW[player:GetAccountId()].faction)
  1155. end
  1156.  
  1157. local function GetTeam(player)
  1158.     if(player:IsAlliance()==true)then
  1159.         return 0;
  1160.     else
  1161.         return 1;
  1162.     end
  1163. end
  1164.  
  1165. function PigWatch(eventid, creature, player)
  1166.  
  1167. local LocId = GetLocationId(player)
  1168.    
  1169.     if(LocId == nil)then
  1170.         LocId = CreateLocation(player:GetMapId(), player:GetAreaId(), player:GetZoneId())
  1171.     end
  1172.    
  1173.     if(player:GetObjectType()=="Player")then
  1174.  
  1175.         if(GWCOMM["SERVER"].anarchy==1)then
  1176.                
  1177.             if(player:IsInGuild()==true)then
  1178.            
  1179.                 if(player:GetGuildName()~=GWARZ[LocId].guild_name)then
  1180.    
  1181.                     if(GWARZ[LocId].team < 2)then
  1182.    
  1183.                         if(creature:IsWithinDistInMap(player, 40))then
  1184.                            
  1185.                             if(GWARZ[LocId].team==0)then -- ally faction 84 team 0 ::  horde faction 83 team 1
  1186.                                 player:SetFaction(83)
  1187.                                 local faction_reset = player:RegisterEvent(FactionReset, 10000, 1)
  1188.                             else
  1189.                                 player:SetFaction(84)
  1190.                                 local faction_reset = player:RegisterEvent(FactionReset, 10000, 1)
  1191.                             end
  1192.                         end
  1193.                     else
  1194.                     end
  1195.                 else
  1196.                     FactionReset(1, 1, 1, player)
  1197.                 end
  1198.             else
  1199.             end
  1200.         else
  1201.         end
  1202.     else
  1203.     end
  1204. end
  1205.  
  1206. RegisterCreatureEvent(49000, 27, PigWatch)
  1207. RegisterCreatureEvent(49001, 27, PigWatch)
  1208.  
  1209. function Guardffa(eventid, creature, player)
  1210.  
  1211. local LocId = GetLocationId(player)
  1212.  
  1213.     if(player:GetObjectType()=="Player")then
  1214.  
  1215.         if(player:IsInGuild()==true)then
  1216.        
  1217.             if(player:GetGuildName()~=GWARZ[LocId].guild_name)then
  1218.  
  1219.                 if(creature:IsWithinDistInMap(player, 40))then
  1220.                
  1221.                     if(GWCOMM["SERVER"].anarchy==1)then
  1222.                    
  1223.                         if(player:GetGuildName()~=GWARZ[LocId].guild_name)then
  1224.                             creature:AttackStart(player)
  1225.                         end
  1226.                     end
  1227.                    
  1228.                     if(GetTeam(player) ~= GWARZ[LocId].team)then
  1229.                         creature:AttackStart(player)
  1230.                     end
  1231.                 end
  1232.             end
  1233.         end
  1234.     end
  1235. end
  1236.  
  1237. RegisterCreatureEvent(49002, 27, Guardffa)
  1238. RegisterCreatureEvent(49003, 27, Guardffa)
  1239.  
  1240. function Guardcombat(eventid, creature, player)
  1241.  
  1242.     if(player:GetObjectType()=="Player")then
  1243.  
  1244.         local LocId = GetLocationId(creature)
  1245.        
  1246.         if(LocId == nil)then
  1247.             LocId = CreateLocation(creature:GetMapId(), creature:GetAreaId(), creature:GetZoneId())
  1248.         end
  1249.        
  1250.         for _, v in ipairs(GetPlayersInWorld()) do
  1251.    
  1252.             if(v and v:GetGuildName()==GWARZ[LocId].guild_name) then
  1253.                 v:SendBroadcastMessage("|cffff0000!!LOCATION "..GWARZ[LocId].entry.." IS UNDER ATTACK!!|r")
  1254.             end
  1255.         end
  1256.     end
  1257. end
  1258.  
  1259. RegisterCreatureEvent(49002, 1, Guardcombat)
  1260. RegisterCreatureEvent(49003, 1, Guardcombat)
  1261.  
  1262. function Guarddied(eventid, creature, player)
  1263.    
  1264.     local LocId = GetLocationId(creature)
  1265.    
  1266.     PreparedStatements(2, "creature", creature:GetGUIDLow())
  1267.     PreparedStatements(1, "guard_count", GWARZ[LocId].guard_count-1, LocId)
  1268.    
  1269.     local Drop = (math.random(1, 4))
  1270.    
  1271.     for _, v in ipairs(GetPlayersInWorld()) do
  1272.        
  1273.         if(v and v:GetGuildName()==GWARZ[LocId].guild_name) then
  1274.             v:SendBroadcastMessage("|cffcc0000!! I HAVE FAILED AT DEFENDING LOCATION "..LocId.." !!|r")
  1275.         end
  1276.     end
  1277.    
  1278.     if(Drop==4)then
  1279.         player:AddItem(20558, math.random(1, 4))
  1280.     end
  1281.    
  1282.     creature:DespawnOrUnsummon()
  1283. end
  1284.  
  1285. RegisterCreatureEvent(49002, 4, Guarddied)
  1286. RegisterCreatureEvent(49003, 4, Guarddied)
  1287.  
  1288. function Guardhit(eventid, creature, attacker, damage)
  1289.  
  1290.     if(attacker:GetObjectType()=="Player")then
  1291.  
  1292.         local LocId = GetLocationId(creature)
  1293.    
  1294.         if(LocId == nil)then
  1295.             LocId = CreateLocation(creature:GetMapId(), creature:GetAreaId(), creature:GetZoneId())
  1296.         end
  1297.    
  1298.         if(attacker:GetObjectType()=="Player")then
  1299.             local a = (math.random(1, 4))
  1300.            
  1301.             if(a==4)then
  1302.                
  1303.                 for _, v in ipairs(GetPlayersInWorld()) do
  1304.                    
  1305.                     if(v and v:GetGuildName()==GWARZ[LocId].guild_name) then
  1306.                         v:SendBroadcastMessage("|cffff0000!!HURRY!! I NEED ASSISTANCE AT LOCATION "..LocId.."...!!HURRY!!|r")
  1307.                     end
  1308.                 end
  1309.             end
  1310.         end
  1311.     end
  1312. end
  1313.  
  1314. RegisterCreatureEvent(49002, 9, Guardhit)
  1315. RegisterCreatureEvent(49003, 9, Guardhit)
  1316.  
  1317. function Guardkill(eventid, creature, victim)
  1318.    
  1319.     local LocId = GetLocationId(creature)
  1320.    
  1321.     for _, v in ipairs(GetPlayersInWorld()) do
  1322.        
  1323.         if(v and v:GetGuildName()==GWARZ[LocId].guild_name) then
  1324.            
  1325.             v:SendBroadcastMessage("|cff00cc00!! I HAVE KILLED A "..victim:GetObjectType().." INTRUDEING AT LOCATION "..GWARZ[LocId].entry.." !!|r")
  1326.             v:SendBroadcastMessage("|cff00cc00I found some gold on him.|r")
  1327.             v:ModifyMoney(math.random(100000, 1000000))
  1328.         end
  1329.     end
  1330. end
  1331.  
  1332. RegisterCreatureEvent(49002, 3, Guardkill)
  1333. RegisterCreatureEvent(49003, 3, Guardkill)
  1334.  
  1335. -- ****************************************************
  1336. -- ******************** End OF Line *******************
  1337. -- ****************************************************
  1338.  
  1339. print ("PVP core: "..pvp_version.."")
  1340. print ("GUILD WARZ ver: "..GW_version.." Loaded.")
  1341. print("-----------------------------------\n")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement