Advertisement
blackwolfsden

Grumbo'z Guild Warz v1n00B

Mar 16th, 2013
379
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 35.69 KB | None | 0 0
  1. -- ************************************************
  2. -- ********** Grumbo'z Guild Warz System **********
  3. -- ** Brought to you by slp13at420 of xx-xxx.org **
  4. -- ************************************************
  5. print("\nGrumbo'z Guild Warz System Loading:\n")
  6. if(GetLuaEngine()~="ALE")then
  7.     print("err: "..GetLuaEngine().." Detected.\n")
  8.     print("LOAD HALTED...idiot")
  9.     return false;
  10.     end
  11. if(GetLuaEngine()=="ALE")then
  12.     print("Approved: ALE Detected.\n")
  13.     end
  14. local table_version = 1.00
  15. local core_version = 5.20
  16. local pigpayz_version = 1.75
  17. local tele_version = 1.75
  18. local pvp_version = 3.75
  19. GWARZ = {
  20.         Entry = {},
  21.         Mapid = {},
  22.         Areaid = {},
  23.         Zoneid = {},
  24.         Guildname = {},
  25.         Team = {},
  26.         X = {},
  27.         Y = {},
  28.         Z = {},
  29.         Buildingcnt = {},
  30.         Pigcnt = {},
  31.         Guardcnt = {},
  32.         Flagid = {}
  33.         }
  34. local function LoadGWtable()
  35.     local Gwsql =  WorldDBQuery("SELECT entry, map_id, area_id, zone_id, guild_name, team, x, y, z, building_count, pig_count, guard_count, flag_id FROM guild_warz.zones;");
  36.     if(Gwsql)then
  37.         repeat
  38.             GWARZ[Gwsql:GetColumn(0):GetULong()] = {
  39.                                                     Entryid = Gwsql:GetColumn(0):GetULong(),
  40.                                                     Mapid = Gwsql:GetColumn(1):GetULong(),
  41.                                                     Areaid = Gwsql:GetColumn(2):GetULong(),
  42.                                                     Zoneid = Gwsql:GetColumn(3):GetULong(),
  43.                                                     Guildname = Gwsql:GetColumn(4):GetString(),
  44.                                                     Team = Gwsql:GetColumn(5):GetULong(),
  45.                                                     X = Gwsql:GetColumn(6):GetFloat(),
  46.                                                     Y = Gwsql:GetColumn(7):GetFloat(),
  47.                                                     Z = Gwsql:GetColumn(8):GetFloat(),
  48.                                                     Buildingcnt = Gwsql:GetColumn(9):GetULong(),
  49.                                                     Pigcnt = Gwsql:GetColumn(10):GetULong(),
  50.                                                     Guardcnt = Gwsql:GetColumn(11):GetULong(),
  51.                                                     Flagid = Gwsql:GetColumn(12):GetULong()
  52.                                                     }
  53.             until not Gwsql:NextRow()
  54.         end
  55. end
  56. LoadGWtable()
  57. print("Guild Warz tables version:"..table_version.."")
  58. local Server = "SERVER"
  59. local commands = ".gcommands"
  60. local info = ".ginfo"
  61. local list = ".glist"
  62. local version = ".gver"
  63. local zcost = 10
  64. local hcost = 5
  65. local pcost = 1
  66. local gcost = 1
  67. local hlimit = 1
  68. local plimit = 20
  69. local glimit = 10
  70. local buyloc = ".gbuy area"
  71. local buyhouse = ".gbuy house"
  72. local buypig = ".gbuy pig"
  73. local buyguard = ".gbuy guard"
  74. local sellloc = ".gsell area"
  75. local sellhouse = ".gsell house"
  76. local sellpig = ".gsell pig"
  77. local sellguard = ".gremove guard"
  78. local reset = ".greset"
  79. local reseth = ".greset house"
  80. local resetp = ".greset pig"
  81. local resetg = ".greset guard"
  82. local returnf = ".gspawn flag"
  83. local details  = ".gloc"
  84. local reload = ".greload table"
  85. local GW_version =  ((table_version+core_version+pigpayz_version+tele_version+pvp_version)/4)
  86. local Currency = 62006 -- item id for guild coin . can be changed to what item id you want
  87. local Currencynamedb = WorldDBQuery("SELECT `name1` FROM `items` WHERE `entry` = '"..Currency.."';"); -- did it this way to make broadcasts a little more proffesional lol
  88. local Currencyname = Currencynamedb:GetColumn(0):GetString()
  89. -- ******************************************************
  90. -- CORE : Guild Master/Member Commands/custom functions
  91. -- ******************************************************
  92. local function GetLocationId(player, unit)
  93. local Locdb=WorldDBQuery("SELECT `entry` FROM guild_warz.zones WHERE `map_id`='"..player:GetMapId().."' AND `area_id`='"..player:GetAreaId().."' and `zone_id`='"..player:GetZoneId().."';");
  94. return Locdb:GetColumn(0):GetULong() or 0;
  95. end
  96. local function CreateLocation(map, area, zone)
  97. local CLentrydb = WorldDBQuery("SELECT `entry` FROM guild_warz.zones;");
  98.         repeat
  99.             CLentry = CLentrydb:GetColumn(0):GetLong()
  100.             until(CLentrydb:NextRow()~=true)
  101.     CLentry=(CLentry+1)
  102.     WorldDBQuery("INSERT INTO guild_warz.zones SET `entry` = '"..CLentry.."';");
  103.     WorldDBQuery("UPDATE guild_warz.zones SET `map_id` = '"..map.."' WHERE `entry` = '"..CLentry.."';");
  104.     WorldDBQuery("UPDATE guild_warz.zones SET `area_id` = '"..area.."' WHERE `entry` = '"..CLentry.."';");
  105.     WorldDBQuery("UPDATE guild_warz.zones SET `zone_id` = '"..zone.."' WHERE `entry` = '"..CLentry.."';");
  106.     WorldDBQuery("UPDATE guild_warz.zones SET `guild_name` = '"..Server.."' WHERE `entry` = '"..CLentry.."';");
  107.     GWARZ[CLentry] = {}
  108.     GWARZ[CLentry].Entryid = CLentry
  109.     GWARZ[CLentry].Mapid = map
  110.     GWARZ[CLentry].Areaid = area
  111.     GWARZ[CLentry].Zoneid = zone
  112.     GWARZ[CLentry].Guildname = Server
  113.     GWARZ[CLentry].Team = 2
  114.     GWARZ[CLentry].Buildingcnt = 0
  115.     GWARZ[CLentry].Pigcnt = 0
  116.     GWARZ[CLentry].Guardcnt = 0
  117.     GWARZ[CLentry].Flagid = 0
  118. print(""..CLentry..": created")
  119. end
  120. function GWcommands(event, pPlayer, msg, type, language)
  121. local Xentrydb = WorldDBQuery("SELECT `entry` FROM guild_warz.zones WHERE `map_id` = '"..pPlayer:GetMapId().."' AND `area_id` = '"..pPlayer:GetAreaId().."' AND `zone_id` = '"..pPlayer:GetZoneId().."';");
  122.     if(Xentrydb==nil)then
  123.         CreateLocation(pPlayer:GetMapId(), pPlayer:GetAreaId(), pPlayer:GetZoneId())
  124.         end
  125. local LocId = GetLocationId(pPlayer)
  126. local Zoneprice=(zcost)+(hcost*GWARZ[LocId].Buildingcnt)+(pcost*GWARZ[LocId].Pigcnt)-- 10 coins for basic zone, 5 coins for building, 1 coin per boar
  127. local yentry = 0
  128. local ypigcnt = 0
  129. local yvalue = 0
  130. local GW_version =  ((table_version+core_version+pigpayz_version+tele_version+pvp_version)/4)
  131. -- **** CORE : Guild Member Commands ********** --
  132. -- ******************************************** --
  133.     if(pPlayer:IsInGuild()==true)then
  134.         if(msg==commands)then
  135.             if(pPlayer:IsInGuild()==true)then
  136.                 pPlayer:SendBroadcastMessage("*************************************")
  137.                 pPlayer:SendBroadcastMessage("Guild Member Commands:")
  138.                 pPlayer:SendBroadcastMessage("|cff00cc00"..commands.."          list guild commands.|r")
  139.                 pPlayer:SendBroadcastMessage("|cff00cc00"..info.."              lists area info.|r")
  140.                 pPlayer:SendBroadcastMessage("|cff00cc00"..list.."             lists areas owned.|r")
  141.                 pPlayer:SendBroadcastMessage("|cff00cc00                    by your guild.|r")
  142.                 pPlayer:SendBroadcastMessage("|cff00cc00.gtele `location`   teleport to area|r")
  143.                 pPlayer:SendBroadcastMessage("|cff00cc00                    by location id.|r")
  144.                 pPlayer:SendBroadcastMessage("*************************************")
  145.                 end
  146.             if(pPlayer:GetGuildLeader()==pPlayer:GetName())then
  147.                 pPlayer:SendBroadcastMessage("Guild Master Commands:")
  148.                 pPlayer:SendBroadcastMessage("|cff00cc00"..buyloc.."         -purchase area.|r")
  149.                 pPlayer:SendBroadcastMessage("|cff00cc00                            for 10 "..Currencyname.."'s.|r")
  150.                 pPlayer:SendBroadcastMessage("|cff00cc00                            base price is 10 "..Currencyname..".|r")
  151.                 pPlayer:SendBroadcastMessage("|cff00cc00                            a house and pigs will change the value.|r")
  152.                 pPlayer:SendBroadcastMessage("|cff00cc00"..sellloc.."         -sell area for its current value.|r")
  153.                 pPlayer:SendBroadcastMessage("|cff00cc00"..buyhouse.."       -purchase a guild house.|r")
  154.                 pPlayer:SendBroadcastMessage("|cff00cc00                            for 5 "..Currencyname.."'s.|r")
  155.                 pPlayer:SendBroadcastMessage("|cff00cc00"..sellhouse.."       -sell guild house.|r")       
  156.                 pPlayer:SendBroadcastMessage("|cff00cc00"..buypig.."           -purchase a pig.|r")
  157.                 pPlayer:SendBroadcastMessage("|cff00cc00                           for 1 "..Currencyname..".|r")
  158.                 pPlayer:SendBroadcastMessage("|cff00cc00"..sellpig.."           -sell a pig to market.|r")     
  159.                 pPlayer:SendBroadcastMessage("|cff00cc00"..buyguard.."       -purchase guard.")
  160.                 pPlayer:SendBroadcastMessage("|cff00cc00                           for 1 "..Currencyname..".|r")
  161.                 pPlayer:SendBroadcastMessage("|cff00cc00"..sellguard.."  -removes a selected guard.|r")
  162.                 pPlayer:SendBroadcastMessage("|cff00cc00                             guards are disposable.|r")
  163.                 pPlayer:SendBroadcastMessage("|cff00cc00                             no chash back.|r")
  164.                 pPlayer:SendBroadcastMessage("*************************************")
  165.                 pPlayer:SendBroadcastMessage("Prices")
  166.                 pPlayer:SendBroadcastMessage("|cff00cc00Zone price: "..zcost..".|r")
  167.                 pPlayer:SendBroadcastMessage("|cff00cc00House price: "..hcost..".|r")
  168.                 pPlayer:SendBroadcastMessage("|cff00cc00Pig price: "..pcost..".|r")
  169.                 pPlayer:SendBroadcastMessage("|cff00cc00Guard price: "..gcost..".|r")
  170.                 pPlayer:SendBroadcastMessage("*************************************")
  171.                 pPlayer:SendBroadcastMessage("Limits")
  172.                 pPlayer:SendBroadcastMessage("|cff00cc00House limit: "..hlimit..".|r")
  173.                 pPlayer:SendBroadcastMessage("|cff00cc00Pig limit: "..plimit..".|r")
  174.                 pPlayer:SendBroadcastMessage("|cff00cc00Guard limit: "..glimit..".|r")
  175.                 pPlayer:SendBroadcastMessage("*************************************")
  176.                 end
  177.             if(pPlayer:GetGmRank()=="cghij")or(pPlayer:GetGmRank()=="az")then
  178.                 pPlayer:SendBroadcastMessage("Game Master Commands:")
  179.                 pPlayer:SendBroadcastMessage("|cff00cc00"..details.."         -location info.|r")
  180.                 pPlayer:SendBroadcastMessage("|cff00cc00"..reset.."           -Resets location to server.|r")
  181.                 pPlayer:SendBroadcastMessage("|cff00cc00"..reload.."          -Reloads GW tables.|r")
  182.                 pPlayer:SendBroadcastMessage("|cff00cc00"..reseth.."          -Resets location house count to 0.|r")
  183.                 pPlayer:SendBroadcastMessage("|cff00cc00"..resetp.."          -Resets location pig count to 0.|r")
  184.                 pPlayer:SendBroadcastMessage("|cff00cc00"..resetg.."          -Resets location guard count to 0.|r")
  185.                 pPlayer:SendBroadcastMessage("|cff00cc00"..returnf.."         -Spawns new flag if current|r")
  186.                 pPlayer:SendBroadcastMessage("|cff00cc00                         flag is missing.|r")
  187.                 pPlayer:SendBroadcastMessage("*************************************")
  188.                 end
  189.             return false;
  190.             end
  191.         if(msg==info)then
  192.             pPlayer:SendBroadcastMessage("**********************************")
  193.             pPlayer:SendBroadcastMessage("|cff00cc00Loc ID: "..GWARZ[LocId].Entryid..".|r")
  194.             pPlayer:SendBroadcastMessage("|cff00cc00Owner: "..GWARZ[LocId].Guildname..".|r")
  195.             pPlayer:SendBroadcastMessage("|cff00cc00Building: "..GWARZ[LocId].Buildingcnt.."|r")
  196.             pPlayer:SendBroadcastMessage("|cff00cc00pigs: "..GWARZ[LocId].Pigcnt.."|r")
  197.             pPlayer:SendBroadcastMessage("|cff00cc00Value: "..Zoneprice.." "..Currencyname.."'s.|r")
  198.                 if(GWARZ[LocId].Team==0)then
  199.                     pPlayer:SendBroadcastMessage("|cff00cc00Faction: Alliance.|r")
  200.                     pPlayer:SendBroadcastMessage("**********************************")
  201.                     return false;
  202.                     end
  203.                 if(GWARZ[LocId].Team==1)then
  204.                     pPlayer:SendBroadcastMessage("|cff00cc00Faction: Horde.|r")
  205.                     pPlayer:SendBroadcastMessage("**********************************")
  206.                     return false;
  207.                     end
  208.                 if(GWARZ[LocId].Team==2)then
  209.                     pPlayer:SendBroadcastMessage("|cff00cc00Faction: None|r")
  210.                     pPlayer:SendBroadcastMessage("**********************************")
  211.                     return false;
  212.                     end
  213.             end
  214.         if(msg==list)then
  215.             local Glocdb = WorldDBQuery("SELECT `entry` FROM guild_warz.zones WHERE `guild_name` = '"..pPlayer:GetGuildName().."';");
  216.                 if(Glocdb==nil)then
  217.                     pPlayer:SendBroadcastMessage("Your guild does not own any land")
  218.                     return false;
  219.                     end
  220.                 if(Glocdb~=nil)then
  221.                         pPlayer:SendBroadcastMessage("**********************************************************************")
  222.                         pPlayer:SendBroadcastMessage("|cff00cc00Entry:       Building:      Guards:       Pigs:            Zone value:|r")
  223.                             repeat
  224.                                 local Gloc = Glocdb:GetColumn(0):GetULong()
  225.                                 local Xzoneprice=(zcost)+(hcost*GWARZ[Gloc].Buildingcnt)+(pcost*GWARZ[Gloc].Pigcnt)
  226.                                 pPlayer:SendBroadcastMessage("|cff00cc00"..Gloc.."               "..GWARZ[Gloc].Buildingcnt.."                   "..GWARZ[Gloc].Guardcnt.."                  "..GWARZ[Gloc].Pigcnt.."                  "..Xzoneprice.."|r")
  227.                                 yentry = yentry+1
  228.                                 ypigcnt = ypigcnt+GWARZ[Gloc].Pigcnt
  229.                                 yvalue = yvalue+Xzoneprice
  230.                                 until Glocdb:NextRow()~=true;
  231.                         pPlayer:SendBroadcastMessage("**********************************************************************")
  232.                         pPlayer:SendBroadcastMessage("|cff00cc00total locations: "..yentry.."      total pigs: "..ypigcnt.."      Total value: "..yvalue.." "..Currencyname.."'s.|r")
  233.                         pPlayer:SendBroadcastMessage("**********************************************************************")
  234.                         return false;
  235.                         end
  236.             end
  237.         if(msg==version)then
  238.             pPlayer:SendBroadcastMessage("*******************************")
  239.             pPlayer:SendBroadcastMessage("|cff00cc00Grumbo'z Guild Warz.|r")
  240.             pPlayer:SendBroadcastMessage("|cff00cc00Core :: "..core_version..".|r")
  241.             pPlayer:SendBroadcastMessage("|cff00cc00PigPayz :: "..pigpayz_version..".|r")
  242.             pPlayer:SendBroadcastMessage("|cff00cc00Teleport :: "..tele_version..".|r")
  243.             pPlayer:SendBroadcastMessage("|cff00cc00PvP :: "..pvp_version..".|r")
  244.             pPlayer:SendBroadcastMessage("*******************************")
  245.             return false;
  246.             end
  247.         end
  248. -- ***** CORE: Guild Master Commands ***** --
  249. -- *************************************** --
  250.     if(pPlayer:GetGuildLeader()==pPlayer:GetName())then
  251. -- ******** Buy commands ********* --
  252.         if(msg==buyloc)then
  253.             if(GWARZ[LocId].Guildname~=Server)then
  254.                 pPlayer:SendBroadcastMessage("You cannot purchase this area.")
  255.                 pPlayer:SendBroadcastMessage(""..GWARZ[LocId].Guildname.." owns this area.")
  256.                 return false;
  257.                 end
  258.             if(GWARZ[LocId].Guildname==Server)then
  259.                 if(pPlayer:GetItemCount(Currency)<Zoneprice)then
  260.                     pPlayer:SendBroadcastMessage("You do not have enough "..Currencyname.."'s.")
  261.                     return false;
  262.                     end
  263.                 if(pPlayer:GetItemCount(Currency)>=Zoneprice)then
  264.                     Gflag = pPlayer:SpawnGameObject(187432+(pPlayer:GetTeam()), pPlayer:GetX(), pPlayer:GetY(), pPlayer:GetZ(), pPlayer:GetO(), 0, 300, 1, 1):GetSpawnId()
  265.                     WorldDBQuery("UPDATE guild_warz.zones SET `guild_name` = '"..pPlayer:GetGuildName().."' WHERE `entry` = '"..LocId.."';");
  266.                     WorldDBQuery("UPDATE guild_warz.zones SET `team` = '"..pPlayer:GetTeam().."' WHERE `entry` = '"..LocId.."';");
  267.                     WorldDBQuery("UPDATE guild_warz.zones SET `x` = '"..pPlayer:GetX().."' WHERE `entry` = '"..LocId.."';");
  268.                     WorldDBQuery("UPDATE guild_warz.zones SET `y` = '"..pPlayer:GetY().."' WHERE `entry` = '"..LocId.."';");
  269.                     WorldDBQuery("UPDATE guild_warz.zones SET `z` = '"..pPlayer:GetZ().."' WHERE `entry` = '"..LocId.."';");
  270.                     WorldDBQuery("UPDATE guild_warz.zones SET `flag_id` = '"..Gflag.."' WHERE `entry` = '"..LocId.."';");
  271.                     GWARZ[LocId].Guildname = pPlayer:GetGuildName()
  272.                     GWARZ[LocId].Team = pPlayer:GetTeam()
  273.                     GWARZ[LocId].X = pPlayer:GetX()
  274.                     GWARZ[LocId].Y = pPlayer:GetY()
  275.                     GWARZ[LocId].Z = pPlayer:GetZ()
  276.                     GWARZ[LocId].Flagid = Gflag
  277.                     pPlayer:RemoveItem(Currency, Zoneprice)
  278.                         if(pPlayer:GetGender()==0)then
  279.                             pPlayer:SendBroadcastMessage("|cff00cc00Congratulations King "..pPlayer:GetName()..". you have expanded "..pPlayer:GetGuildName().."'s land.|r")
  280.                             return false;
  281.                             end
  282.                         if(pPlayer:GetGender()==1)then
  283.                             pPlayer:SendBroadcastMessage("|cff00cc00Congratulations Queen "..pPlayer:GetName()..". you have expanded "..pPlayer:GetGuildName().."'s land.|r")
  284.                             return false;
  285.                             end
  286.                     return false;
  287.                     end
  288.                 end
  289.             end
  290.         if(msg==buyhouse)then
  291.             if(GWARZ[LocId].Guildname~=pPlayer:GetGuildName())then
  292.                 pPlayer:SendBroadcastMessage("Your Guild does not own this land.")
  293.                 return false;
  294.                 end
  295.             if(GWARZ[LocId].Guildname==pPlayer:GetGuildName())then
  296.                 if(pPlayer:GetItemCount(Currency) < hcost)then
  297.                     pPlayer:SendBroadcastMessage("You require more "..Currencyname.."'s.")
  298.                     return false;
  299.                     end
  300.                 if(pPlayer:GetItemCount(Currency)>=hcost)then
  301.                     if(GWARZ[LocId].Buildingcnt>=hlimit)then
  302.                         pPlayer:SendBroadcastMessage("You have  "..GWARZ[LocId].Buildingcnt.." house\'s at this location.")
  303.                         pPlayer:SendBroadcastMessage("You can only purchase "..hlimit.." house per location.")
  304.                         return false;
  305.                         end
  306.                     if(GWARZ[LocId].Buildingcnt < hlimit)then
  307.                         pPlayer:RemoveItem(Currency, hcost)
  308.                         WorldDBQuery("UPDATE guild_warz.zones SET `building_count`=`building_count`+'1' WHERE `entry`='"..LocId.."';");
  309.                         GWARZ[LocId].Buildingcnt = (GWARZ[LocId].Buildingcnt+1)
  310.                         pPlayer:SpawnGameObject(191172, pPlayer:GetX(), pPlayer:GetY(), pPlayer:GetZ(), pPlayer:GetO(), 0, 25, 1, 1)
  311.                         pPlayer:SendBroadcastMessage("|cff00cc00Congratulations Woodcutter "..pPlayer:GetName()..".|r")
  312.                         pPlayer:SendBroadcastMessage("|cff00cc00"..pPlayer:GetGuildName().." has added a Guild house at location: "..LocId..".|r")
  313.                         return false;
  314.                         end
  315.                     end
  316.                 end
  317.             end
  318.         if(msg==buypig)then
  319.             if(GWARZ[LocId].Guildname~=pPlayer:GetGuildName())then
  320.                 pPlayer:SendBroadcastMessage("Your Guild does not own this land.")
  321.                 return false;
  322.                 end
  323.             if(GWARZ[LocId].Guildname==pPlayer:GetGuildName())then
  324.                 if(pPlayer:GetItemCount(Currency) < pcost)then
  325.                     pPlayer:SendBroadcastMessage("Each pig costs "..pcost.." "..Currencyname..".")
  326.                     return false;
  327.                     end
  328.                 if(pPlayer:GetItemCount(Currency)>=pcost)then
  329.                     if(GWARZ[LocId].Pigcnt>=plimit)then
  330.                         pPlayer:SendBroadcastMessage("You have "..GWARZ[LocId].Pigcnt.." pigs at this location.")              
  331.                         pPlayer:SendBroadcastMessage("You can only have "..plimit.." pigs per area.")  
  332.                         return false;
  333.                         end
  334.                     if(GWARZ[LocId].Pigcnt < plimit)then
  335.                         pPlayer:RemoveItem(Currency, pcost)
  336.                         pPlayer:SpawnCreature(49000, pPlayer:GetX(), pPlayer:GetY(),pPlayer:GetZ(), pPlayer:GetO(), 35, 0, 0, 0, 0, 1, 1)
  337.                         WorldDBQuery("UPDATE guild_warz.zones SET `pig_count` = `pig_count`+'1' Where `entry`='"..LocId.."';");
  338.                         GWARZ[LocId].Pigcnt = (GWARZ[LocId].Pigcnt+1)
  339.                         pPlayer:SendBroadcastMessage("|cff00cc00Congradulations!.|r")
  340.                         pPlayer:SendBroadcastMessage("|cff00cc00Farmer "..pPlayer:GetName()..".|r")
  341.                         return false;
  342.                         end
  343.                     end
  344.                 end
  345.             end
  346.         if(msg==buyguard)then
  347.             if(GWARZ[LocId].Guildname~=pPlayer:GetGuildName())then
  348.                 pPlayer:SendBroadcastMessage("Your Guild does not own this land.")
  349.                 return false;
  350.                 end
  351.             if(pPlayer:GetGuildName()==GWARZ[LocId].Guildname)then
  352.                 if(pPlayer:GetItemCount(Currency) < gcost)then
  353.                     pPlayer:SendBroadcastMessage("Each guard costs "..gcost.." "..Currencyname..".")
  354.                     return false;
  355.                     end
  356.                 if(pPlayer:GetItemCount(Currency)>=gcost)then
  357.                     if(GWARZ[LocId].Guardcnt>=glimit)then
  358.                         pPlayer:SendBroadcastMessage("You have "..GWARZ[LocId].Guardcnt.." guards at this location.")
  359.                         pPlayer:SendBroadcastMessage("You can only have 10 per location.")
  360.                         return false;
  361.                         end
  362.                     if(GWARZ[LocId].Guardcnt < glimit)then
  363.                         WorldDBQuery("UPDATE guild_warz.zones SET `guard_count` = `guard_count`+'1' Where `entry` = '"..LocId.."';");
  364.                         pPlayer:SpawnCreature(49001, pPlayer:GetX(), pPlayer:GetY(), pPlayer:GetZ(),  pPlayer:GetO(), 84-pPlayer:GetTeam(), 0, 0, 0, 0, 1, 1)
  365.                         GWARZ[LocId].Guardcnt = (GWARZ[LocId].Guardcnt+1)
  366.                         pPlayer:RemoveItem(Currency, gcost)
  367.                         pPlayer:SendBroadcastMessage("|cff00cc00Guard added by Commander "..pPlayer:GetName()..".|r")
  368.                         return false;
  369.                         end
  370.                     end
  371.                 end
  372.             end
  373. -- ********** Sell commands ********** --
  374.         if(msg==sellloc)then
  375.             if(GWARZ[LocId].Guildname~=pPlayer:GetGuildName())then
  376.                 pPlayer:SendBroadcastMessage("Your guild does not own this land.")
  377.                 return false;
  378.                 end
  379.             if(pPlayer:GetGuildName()==GWARZ[LocId].Guildname)then
  380.                 if(pPlayer:GetGameObjectNearestCoords(GWARZ[LocId].X, GWARZ[LocId].Y, GWARZ[LocId].Z, 187432+(pPlayer:GetTeam()))==nil)then
  381.                     pPlayer:SendBroadcastMessage("You must be next to your guild flag.")
  382.                     pPlayer:SendBroadcastMessage("move closer and try again.")
  383.                     return false;
  384.                     end
  385.                 if(pPlayer:GetGameObjectNearestCoords(GWARZ[LocId].X, GWARZ[LocId].Y, GWARZ[LocId].Z, 187432+(pPlayer:GetTeam()))~=nil)then
  386.                     pPlayer:GetGameObjectNearestCoords(GWARZ[LocId].X, GWARZ[LocId].Y, GWARZ[LocId].Z, 187432+(pPlayer:GetTeam())):Despawn(0, 0)
  387.                     WorldDBQuery("delete from `gameobject_spawns` where `id`='"..GWARZ[LocId].Flagid.."';") -- use this to avoid ghost respawns                        
  388.                     WorldDBQuery("UPDATE guild_warz.zones SET `team` = '2' WHERE `entry` = '"..LocId.."';");
  389.                     WorldDBQuery("UPDATE guild_warz.zones SET `guild_name` = 'SERVER' WHERE `entry` = '"..LocId.."';");
  390.                     WorldDBQuery("UPDATE guild_warz.zones SET `flag_id` = '0' WHERE `entry` = '"..LocId.."';");
  391.                     GWARZ[LocId].Guildname = Server
  392.                     GWARZ[LocId].Team = 2
  393.                     GWARZ[LocId].Flagid = 0
  394.                     pPlayer:AddItem(Currency, Zoneprice)
  395.                     pPlayer:SendBroadcastMessage("|cff00cc00!Congratulations! Realtor "..pPlayer:GetGuildName().." has sold this land. For "..Zoneprice.." "..Currencyname.."'s.|r")
  396.                     return false;
  397.                     end
  398.                 end
  399.             end
  400.         if(msg==sellhouse)then
  401.             if(pPlayer:GetGuildName()~=GWARZ[LocId].Guildname)then
  402.                 pPlayer:SendBroadcastMessage("Your guild does not own this land.")
  403.                 return false;
  404.                 end
  405.             if(pPlayer:GetGuildName()==GWARZ[LocId].Guildname)then
  406.                 if(GWARZ[LocId].Buildingcnt==0)then
  407.                     pPlayer:SendBroadcastMessage("Your guild does not own a house at this location.")
  408.                     return false;
  409.                     end
  410.                 if(GWARZ[LocId].Buildingcnt > 0)then
  411.                     if(pPlayer:GetGameObjectNearestCoords(pPlayer:GetX(), pPlayer:GetY(), pPlayer:GetZ(), 191172)==nil)then
  412.                         pPlayer:SendBroadcastMessage("You must be closer.")
  413.                         return false;
  414.                         end
  415.                     if(pPlayer:GetGameObjectNearestCoords(pPlayer:GetX(), pPlayer:GetY(), pPlayer:GetZ(), 191172)~=nil)then
  416.                         local housespawnid = pPlayer:GetGameObjectNearestCoords(pPlayer:GetX(), pPlayer:GetY(), pPlayer:GetZ(), 191172):GetSpawnId() -- use this to avoid ghost respawns                       
  417.                         WorldDBQuery("delete from `gameobject_spawns` where `id`='"..housespawnid.."';")
  418.                         pPlayer:GetGameObjectNearestCoords(pPlayer:GetX(), pPlayer:GetY(), pPlayer:GetZ(), 191172):Despawn(0, 0)
  419.                         WorldDBQuery("UPDATE guild_warz.zones SET `building_count` = `building_count`-'1' WHERE `entry` = '"..LocId.."';");
  420.                         GWARZ[LocId].Buildingcnt = (GWARZ[LocId].Buildingcnt-1)
  421.                         pPlayer:AddItem(Currency, hcost)
  422.                         pPlayer:SendBroadcastMessage("|cff00cc00!Congratulations! Builder "..pPlayer:GetGuildName().." has sold a guild house. For 5 "..Currencyname.."'s.|r")
  423.                         return false;
  424.                         end
  425.                     end
  426.                 end
  427.             end
  428.         if(msg==sellpig)then
  429.             if(pPlayer:GetGuildName()~=GWARZ[LocId].Guildname)then
  430.                 pPlayer:SendBroadcastMessage("Your guild does not own this land.")
  431.                 return false;
  432.                 end
  433.             if(pPlayer:GetGuildName()==GWARZ[LocId].Guildname)then
  434.                 if(GWARZ[LocId].Pigcnt==0)then
  435.                     pPlayer:SendBroadcastMessage("You DONT have any pigs in this area.")
  436.                     return false;
  437.                     end
  438.                 if(GWARZ[LocId].Pigcnt > 0)then
  439.                     if(pPlayer:GetSelection()==nil)then
  440.                         pPlayer:SendBroadcastMessage("You must select a pig.")
  441.                         return false;
  442.                         end
  443.                     if(pPlayer:GetSelection():GetEntry()~=49000)then
  444.                         pPlayer:SendBroadcastMessage("you must select a guild pig.")
  445.                         return false;
  446.                         end
  447.                     if(pPlayer:GetSelection():GetEntry()==49000)then
  448.                         local pigspawnid = pPlayer:GetSelection():GetSpawnId()
  449.                         pPlayer:GetSelection():RemoveFromWorld()
  450.                         WorldDBQuery("delete from `creature_spawns` where `id`='"..pigspawnid.."';") -- use this to avoid ghost respawns                           
  451.                         GWARZ[LocId].Pigcnt = (GWARZ[LocId].Pigcnt-1)
  452.                         pPlayer:AddItem(Currency, pcost)
  453.                         WorldDBQuery("UPDATE guild_warz.zones SET `pig_count` = `pig_count`-'1' Where `entry` = '"..LocId.."';");
  454.                         pPlayer:SendBroadcastMessage("|cff00cc00Butcher "..pPlayer:GetName().." sold 1 pig to the market.|r")
  455.                         return false;
  456.                         end
  457.                 end
  458.                 end
  459.             end
  460.         if(msg==sellguard)then
  461.             if(pPlayer:GetGuildName()~=GWARZ[LocId].Guildname)then
  462.                 pPlayer:SendBroadcastMessage("Your guild does not own this land.")
  463.                 return false;
  464.                 end
  465.             if(pPlayer:GetGuildName()==GWARZ[LocId].Guildname)then
  466.                 if(GWARZ[LocId].Guardcnt==0)then
  467.                     pPlayer:SendBroadcastMessage("You DONT have any guards in this area.")
  468.                     return false;
  469.                     end
  470.                 if(GWARZ[LocId].Guardcnt > 0)then
  471.                     if(pPlayer:GetSelection()==nil)then
  472.                         pPlayer:SendBroadcastMessage("You must select a guard.")
  473.                             return false;
  474.                             end
  475.                     if(pPlayer:GetSelection():GetEntry()~=49001)then
  476.                         pPlayer:SendBroadcastMessage("You must select a guild guard.")
  477.                         return false;
  478.                         end
  479.                     if(pPlayer:GetSelection():GetEntry()==49001)then
  480.                         WorldDBQuery("UPDATE guild_warz.zones SET `guard_count` = `guard_count`-'1' Where `entry` = '"..LocId.."';");
  481.                         local guardspawnid = pPlayer:GetSelection():GetSpawnId()
  482.                         WorldDBQuery("delete from `creature_spawns` where `id`='"..guardspawnid.."';")
  483.                         pPlayer:GetSelection():RemoveFromWorld()
  484.                         GWARZ[LocId].Guardcnt = (GWARZ[LocId].Guardcnt-1)
  485.                         pPlayer:SendBroadcastMessage("|cff00cc00Guard removed.|r")
  486.                         return false;
  487.                         end
  488.                     end
  489.                 end
  490.         end
  491.     end
  492. --[[ ********** Game Master Commands ********** ]]--
  493. --[[ ****************************************** ]]--
  494.     if(pPlayer:IsGm()==true)then
  495.         if(msg==reset)then
  496.             WorldDBQuery("UPDATE guild_warz.zones SET `guild_name` = 'SERVER' Where `entry` = '"..GWARZ[LocId].Entryid.."';");
  497.             WorldDBQuery("UPDATE guild_warz.zones SET `team` = '2' Where `entry` = '"..GWARZ[LocId].Entryid.."';");
  498.             WorldDBQuery("UPDATE guild_warz.zones SET `flag_id` = '0' Where `entry` = '"..GWARZ[LocId].Entryid.."';");
  499.             WorldDBQuery("delete from `gameobject_spawns` where `id`='"..GWARZ[LocId].Flagid.."';")
  500.             GWARZ[LocId].Guildname = Server
  501.             GWARZ[LocId].Team = 2
  502.             GWARZ[LocId].Flagid = 0
  503.             pPlayer:SendBroadcastMessage("|cff00cc00Area: "..GWARZ[LocId].Entryid.." succesfully reset.|r")
  504.             return false;
  505.             end
  506.         if(msg==reseth)then
  507.             WorldDBQuery("UPDATE guild_warz.zones SET `building_count` = '0' Where `entry` = '"..GWARZ[LocId].Entryid.."';");
  508.             GWARZ[LocId].Buildingcnt = 0
  509.             pPlayer:SendBroadcastMessage("|cff00cc00Area: "..GWARZ[LocId].Entryid.." house count reset.|r")
  510.             return false;
  511.             end
  512.         if(msg==resetp)then
  513.             WorldDBQuery("UPDATE guild_warz.zones SET `pig_count` = '0' Where `entry` = '"..GWARZ[LocId].Entryid.."';");
  514.             GWARZ[LocId].Pigcnt = 0
  515.             pPlayer:SendBroadcastMessage("|cff00cc00Area: "..GWARZ[LocId].Entryid.." pig count reset.|r")
  516.             return false;
  517.             end
  518.         if(msg==resetg)then
  519.             WorldDBQuery("UPDATE guild_warz.zones SET `guard_count` = '0' Where `entry` = '"..GWARZ[LocId].Entryid.."';");
  520.             GWARZ[LocId].Guardcnt = 0
  521.             pPlayer:SendBroadcastMessage("|cff00cc00Area: "..GWARZ[LocId].Entryid.." guard count reset.|r")
  522.             return false;
  523.             end
  524.         if(msg==resetf)then
  525.             WorldDBQuery("UPDATE guild_warz.zones SET `flag_id` = '0' Where `entry` = '"..GWARZ[LocId].Entryid.."';");
  526.             GWARZ[LocId].Flagid = 0
  527.             pPlayer:SendBroadcastMessage("|cff00cc00Area: "..GWARZ[LocId].Entryid.." flag id reset to 0.|r")
  528.             return false;
  529.             end
  530.         if(msg==returnf)then
  531.             returnflag = pPlayer:SpawnGameObject(187432+GWARZ[LocId].Team, pPlayer:GetX(), pPlayer:GetY(), pPlayer:GetZ(), pPlayer:GetO(), 0, 300, 1, 1):GetSpawnId()
  532.             WorldDBQuery("UPDATE guild_warz.zones SET `flag_id` = '"..returnflag.."' WHERE `entry` = '"..LocId.."';");
  533.             GWARZ[LocId].Flagid = returnflag
  534.             pPlayer:SendBroadcastMessage("|cff00cc00New flag spawned for Guild Warz location: "..GWARZ[LocId].Entryid.."|r")
  535.             return false;
  536.             end
  537.         if(msg==details)then
  538.             pPlayer:SendBroadcastMessage("|cff00cc00Location ID: "..GWARZ[LocId].Entryid..".|r")
  539.             pPlayer:SendBroadcastMessage("|cff00cc00Guild Name: "..GWARZ[LocId].Guildname..".|r")
  540.             pPlayer:SendBroadcastMessage("|cff00cc00Team: "..GWARZ[LocId].Team..".|r")
  541.             pPlayer:SendBroadcastMessage("|cff00cc00House count: "..GWARZ[LocId].Buildingcnt..".|r")
  542.             pPlayer:SendBroadcastMessage("|cff00cc00Pig count: "..GWARZ[LocId].Pigcnt..".")
  543.             pPlayer:SendBroadcastMessage("|cff00cc00guard count: "..GWARZ[LocId].Guardcnt..".|r")
  544.             pPlayer:SendBroadcastMessage("|cff00cc00flag spawn id: "..GWARZ[LocId].Flagid..".|r")
  545.             return false;
  546.             end
  547.         if(msg==reload)then
  548.             GWtable = {}
  549.             LoadGWtable()
  550.             pPlayer:SendBroadcastMessage("|cff00cc00Grumbo\'z Guild Warz Tables Reloaded.|r")
  551.             return false;
  552.             end
  553.         end
  554. end
  555. RegisterServerHook(16, "GWcommands")
  556. print ("Guild Warz core version: "..core_version.."")
  557. -- ******************************************************
  558. -- Pig Payz System
  559. -- ******************************************************
  560. local function Payout(player)
  561. local pig = 0
  562. local Glocdb = WorldDBQuery("SELECT `entry` FROM guild_warz.zones WHERE `guild_name` = '"..player:GetGuildName().."';");
  563.     if(Glocdb==nil)then
  564.     player:SendGuildChatMessage("PigPayz: 0 gold.", 0)
  565.     player:SendGuildChatMessage("Your guild does not own any pigs.", 0)
  566.     player:SendGuildChatMessage("Inform Your guild master to start some farms.", 0)
  567.     return false;
  568.     end
  569.     if(Glocdb~=nil)then
  570.         repeat
  571.             local Gloc = Glocdb:GetColumn(0):GetLong()
  572.             local Pigcnt = GWARZ[LocId].Pigcnt
  573.             pig = (pig+Pigcnt)
  574.             until Glocdb:NextRow()~=true;
  575.         Pigpayz=(100000*pig)-- pays 10 gold per pig
  576.         player:DealGoldMerit(Pigpayz)
  577.         player:SendBroadcastMessage("PigPayz: "..Pigpayz / '10000'.." gold.")
  578.         return false;
  579.         end
  580. end
  581. function Pigpay(event, player)
  582.     for _,v in ipairs(GetPlayersInWorld()) do
  583.         if(v:IsInWorld()==true)and(v:IsInGuild()==true)then
  584.             Payout(v)
  585.             end
  586.         if(v:IsInWorld()==true)and(v:IsInGuild()==true)then
  587.             v:SendBroadcastMessage("|cff00cc00Join a guild to earn hourly rewards from Grumbo\'z Guild Warz.|r")
  588.             end
  589.         end
  590. end
  591. RegisterTimedEvent("Pigpay", 1800000, 0) -- fires every 30 mins.
  592. print ("Pig Payz version: "..pigpayz_version.."")
  593. -- ******************************************************
  594. -- Guild Warz teleporter system
  595. -- ******************************************************
  596. function Guildteleport(event, pPlayer, message, type, language)
  597.     local ChatMsg = ".gtele"
  598.     local startpos, endpos = string.find(message, ChatMsg)
  599.         if(startpos == 1) then
  600.             local text = message:gsub(ChatMsg, "")
  601.                 if(pPlayer:IsInGuild()==true)then
  602.                     local Loc = tonumber(text)
  603.                         if(GWARZ[Loc]==nil)then
  604.                             pPlayer:SendBroadcastMessage("|cffcc0000error.... teleport entry doesn't exsist.|r")
  605.                         return false;
  606.                         end
  607.                         if(GWARZ[Loc]~=nil)then
  608.                             if(GWARZ[Loc].Guildname~=pPlayer:GetGuildName())then
  609.                                 pPlayer:SendBroadcastMessage("Your guild doesn't own that area.")
  610.                                 pPlayer:SendBroadcastMessage("You cannot teleport there.")
  611.                             return false;
  612.                             end
  613.                             if(pPlayer:GetGuildName()==GWARZ[Loc].Guildname)then
  614.                                 pPlayer:Teleport(GWARZ[Loc].Mapid, GWARZ[Loc].X, GWARZ[Loc].Y, GWARZ[Loc].Z, 1.0)
  615.                                 pPlayer:SendBroadcastMessage("|cff00cc00Teleport complete.|r")
  616.                             return false;
  617.                             end
  618.                         return false;
  619.                         end
  620.                 return false;
  621.                 end
  622.         end
  623. end
  624. RegisterServerHook(16, "Guildteleport")
  625. print("Teleporter version: "..tele_version.."")
  626. -- ****************************************************
  627. -- GUILD WARZ Action System
  628. -- ****************************************************
  629. -- ********** Guild Warz Flag actions ********** --
  630. function TransferFlag(player, locid, go)
  631.     if(go:GetSpawnId()~=GWARZ[locid].Flagid)then
  632.         player:SendBroadcastMessage("|cffcc0000error.... Phantom flag removed.|r")
  633.         WorldDBQuery("DELETE FROM world.gameobject_spawns WHERE `Entry` = '"..go:GetEntry().."';");
  634.         go:RemoveFromWorld()
  635.         return false;
  636.         end
  637.     if(player:IsInGuild()==false)then
  638.         player:SendBroadcastMessage("|cff00cc00"..GWARZ[locid].Guildname.." own\'s this location "..player:GetName()..".|r")
  639.         player:SendBroadcastMessage("|cff00cc00Join a Guild to participate in Grumbo\'z Guild Warz System.|r")
  640.         player:SendBroadcastMessage("|cff00cc00Brought to you by Grumbo of BloodyWow.com .|r")
  641.         return false;
  642.         end
  643.     if(player:GetTeam()==GWARZ[locid].Team)then
  644.         player:SendBroadcastMessage("|cff00cc00"..GWARZ[locid].Guildname.." own\'s this location.|r")
  645.         player:SendBroadcastMessage("|cff00cc00Grumbo\'z Guild Warz System.|r")
  646.         player:SendBroadcastMessage("|cff00cc00Brought to you by Grumbo of BloodyWow.com .|r")
  647.         return false;
  648.         end
  649.     if(player:GetTeam()~=GWARZ[locid].Team)and(player:IsInGuild()==true)then
  650.         WorldDBQuery("DELETE FROM world.gameobject_spawns WHERE `Entry` = '"..go:GetEntry().."';");
  651.         go:RemoveFromWorld()
  652.         SendWorldMessage("!!-"..player:GetGuildName().." takes location:"..GWARZ[locid].Entryid.." from "..GWARZ[locid].Guildname.."-!!", 1)
  653.         Nflag = player:SpawnGameObject(187432+player:GetTeam(), player:GetX(), player:GetY(), player:GetZ(), player:GetO(), 0, 300, 1, 1):GetSpawnId()
  654.         WorldDBQuery("UPDATE guild_warz.zones SET `guild_name` = '"..player:GetGuildName().."' WHERE `entry` = '"..locid.."';");
  655.         WorldDBQuery("UPDATE guild_warz.zones SET `team` = '"..player:GetTeam().."' WHERE `entry` = '"..locid.."';");
  656.         WorldDBQuery("UPDATE guild_warz.zones SET `x` = '"..player:GetX().."' WHERE `entry` = '"..locid.."';");
  657.         WorldDBQuery("UPDATE guild_warz.zones SET `y` = '"..player:GetY().."' WHERE `entry` = '"..locid.."';");
  658.         WorldDBQuery("UPDATE guild_warz.zones SET `z` = '"..player:GetZ().."' WHERE `entry` = '"..locid.."';");
  659.         WorldDBQuery("UPDATE guild_warz.zones SET `flag_id` = '"..Nflag.."' WHERE `entry` = '"..locid.."';");
  660.         GWARZ[locid].X =player:GetX()
  661.         GWARZ[locid].Y = player:GetY()
  662.         GWARZ[locid].Z = player:GetZ()
  663.         GWARZ[locid].Guildname = player:GetGuildName()
  664.         GWARZ[locid].Team = player:GetTeam()
  665.         GWARZ[locid].Flagid = Nflag
  666.         return false;
  667.         end
  668. end
  669. function Allyflag(go,_,pPlayer)
  670.     local LocId = GetLocationId(pPlayer)
  671.     TransferFlag(pPlayer, LocId, go)
  672. end
  673. RegisterGameObjectEvent(187432,4, "Allyflag")
  674. function Hordeflag(go,_,pPlayer)
  675.     local LocId = GetLocationId(pPlayer)
  676.     TransferFlag(pPlayer, LocId, go)
  677. end
  678. RegisterGameObjectEvent(187433,4, "Hordeflag")
  679. -- ********** Guild Guard combat actions ********** --
  680. function Guardcombat(pUnit, event, pAttacker)
  681. local LocId = GetLocationId(pAttacker, pUnit)
  682. pUnit:CastSpellOnTarget(69155, pUnit:GetMainTank())-- forceful smash
  683.     for _, v in pairs(GetPlayersInWorld()) do
  684.         if(v and v:GetGuildName()==GWARZ[LocId].Guildname) then
  685.             v:SendBroadcastMessage("|cffff0000!!LOCATION "..GWARZ[LocId].Entryid.." IS UNDER ATTACK BY "..pAttacker:GetGuildName().."!!|r")
  686.                 end
  687.             end
  688. end
  689. RegisterUnitEvent(49001, 1, "Guardcombat")
  690. function Guarddied(pUnit, event, pAttacker)
  691. local LocId = GetLocationId(pAttacker, pUnit)
  692. WorldDBQuery("DELETE FROM world.creature_spawns WHERE `id` = '"..pUnit:GetSpawnId().."';")             
  693. pUnit:Despawn(1,0)
  694. WorldDBQuery("UPDATE guild_warz.zones SET `guard_count` = `guard_count`-'1' Where `entry`='"..LocId.."';");
  695. GWARZ[LocId].Guardcnt =(GWARZ[LocId].Guardcnt-1)
  696. local Drop=(math.random(1, 4))
  697.     for _, v in pairs(GetPlayersInWorld()) do
  698.                     if(v and v:GetGuildName()==GWARZ[LocId].Guildname) then
  699.             v:SendBroadcastMessage("|cffcc0000!! I HAVE FAILED AT DEFENDING LOCATION "..LocId.." !!|r")
  700.                 end
  701.             end
  702.     if(Drop==4)then
  703.         pAttacker:AddItem(20558, math.random(1, 4))
  704.         end
  705. end
  706. RegisterUnitEvent(49001, 4, "Guarddied")
  707. function Guardhit(pUnit, event, pTarget, pAmount)
  708. local LocId = GetLocationId(pAttacker, pUnit)
  709. pUnit:CastSpellOnTarget(69155, pUnit:GetMainTank())
  710.     for _, v in pairs(GetPlayersInWorld()) do
  711.         if(v and v:GetGuildName()==GWARZ[LocId].Guildname) then
  712.             v:SendBroadcastMessage("cffff0000!!HURRY!! I NEED ASSISTANCE AT LOCATION "..GWARZ[LocId].Guildname.."...!!HURRY!!|r")
  713.                 end
  714.         end
  715. end
  716. RegisterUnitEvent(49001, 12, "Guardhit")
  717. function Guardkill(pUnit, event, pAttacker)
  718. local LocId = GetLocationId(pAttacker, pUnit)
  719.      for _, v in pairs(GetPlayersInWorld()) do
  720.         if(v and v:GetGuildName()==GWARZ[LocId].Guildname) then
  721.             v:SendBroadcastMessage("|cff00cc00!! I HAVE KILLED AN INTRUDER AT LOCATION "..GWARZ[LocId].Entryid.." !!|r")
  722.             v:SendBroadcastMessage("|cff00cc00I found some gold on him.|r")
  723.             v:DealGoldMerit(math.random(100000, 1000000))
  724.                 end
  725.             end
  726. end
  727. RegisterUnitEvent(49001, 3, "Guardkill")
  728. print ("PVP core: "..pvp_version.."\n")
  729. print ("GUILD WARZ ver: "..GW_version.." LOADED\n")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement