--[[ Pocket Town
Made by Kzan, and Remus.
First released at www.ac-web.org
Each thing spawned useing this only lasts 2 minutes then it despawns
So many functions only cause it keep me organized.
]]
local ItemID = ItemID Here -- Your desired item's EntryID here.
local race = :GetPlayerRace()
function Item_OnClick(pUnit, event, player)
if race == 1, race == 3, race == 4, race == 7, race == 11 then -- Horde
Item:GossipCreateMenu(100, player, 0)
Item:MenuAddItem(4, "Inkeepers", 1)
Item:MenuAddItem(4, "Merchants", 3)
Item:MenuAddItem(4, "TownsPeople", 4)
Item:MenuAddItem(4, "Done", 5)
else
if race == 2, race == 5, race == 6, race == 8, race == 9, race == 10 then -- Allaince
Item:GossipCreateMenu(100, player, 0)
Item:MenuAddItem(4, "Inkeepers", 6)
Item:MenuAddItem(4, "Merchants", 8)
Item:MenuAddItem(4, "TownsPeople", 9)
Item:MenuAddItem(4, "Done", 5)
Item:GossipSendMenu()
end
end
end
function Item_OnSelect(pUnit, event, player) -- Horde
if(intid == 1) then
Item:GossipCreateMenu(100, player, 0)
Item:MenuAddItem(4, "Inkeeper 1", 200)
Item:MenuAddItem(4, "Inkeeper 2", 201)
Item:MenuAddItem(4, "Inkeeper 3", 202)
Item:MenuAddItem(4, "Inkeeper 4", 203)
Item:MenuAddItem(4, "Done", 5)
Item:GossipSendMenu()
else
if(indid == 6) then
Item:GossipCreateMenu(100, player, 0) -- Allaince
Item:MenuAddItem(4, "Inkeeper 1", 100)
Item:MenuAddItem(4, "Inkeeper 2", 101)
Item:MenuAddItem(4, "Inkeeper 3", 102)
Item:MenuAddItem(4, "Inkeeper 4", 103)
Item:MenuAddItem(4, "Done", 5)
Item:GossipSendMenu()
end
end
end
function Item_OnSelectHorde1(pUnit, event, player) -- Horde inkeepers
local PlyrX = player:GetX()
local PlyrY = player:GetY()
local PlyrZ = player:GetZ()
local PlyrO = player:GetO()
if(intid == 200) then
player:SpawnCreature(24208, PlyrX, PlyrY, PlyrZ, PlyrO, 34, 200000)
else
if(intid == 201) then
player:SpawnCreature(26680, PlyrX, PlyrY, PlyrZ, PlyrO, 34, 200000)
else
if(intid == 202) then
player:SpawnCreature(24149, PlyrX, PlyrY, PlyrZ, PlyrO, 34, 200000)
else
if(intid == 203) then
player:SpawnCreature(18957, PlyrX, PlyrY, PlyrZ, PlyrO, 34, 200000)
elseif (intid == 5) then
Item:GossipComplete()
end
end
end
end
end
function Item_OnSelectAllaince1(pUnit, Event, player) -- Allaince inkeepers
local PlyrX = player:GetX()
local PlyrY = player:GetY()
local PlyrZ = player:GetZ()
local PlyrO = player:GetO()
if(intid == 100) then
player:SpawnCreature(18251, PlyrX, PlyrY, PlyrZ, PlyrO, 34, 200000)
else
if(intid == 101) then
player:SpawnCreature(8931, PlyrX, PlyrY, PlyrZ, PlyrO, 34, 200000)
else
if(intid == 102) then
player:SpawnCreature(6790, PlyrX, PlyrY, PlyrZ, PlyrO, 34, 200000)
else
if(intid == 103) then
player:SpawnCreature(11103, PlyrX, PlyrY, PlyrZ, PlyrO, 34, 200000)
elseif (intid == 5) then
Item:GossipComplete()
end
end
end
end
end
function Item_OnSelectHorde2(pUnit, event, player) -- Horde Merchants list
local PlyrX = player:GetX()
local PlyrY = player:GetY()
local PlyrZ = player:GetZ()
local PlyrO = player:GetO()
if(intid == 3) then
Item:GossipCreateMenu(100, player, 0)
Item:MenuAddItem(4, "Merchant 1", 204)
Item:MenuAddItem(4, "Merchant 2", 205)
Item:MenuAddItem(4, "Merchant 3", 206)
Item:MenuAddItem(4, "Merchant 4", 207)
Item:MenuAddItem(4, "Done", 5)
Item:GossipSendMenu()
end
end
function Item_OnSelectAllaince2(pUnit, event, player) -- Allaince Merchants list
local PlyrX = player:GetX()
local PlyrY = player:GetY()
local PlyrZ = player:GetZ()
local PlyrO = player:GetO()
if(intid == 8) then
Item:GossipCreateMenu(100, player, 0)
Item:MenuAddItem(4, "Merchant 1", 104)
Item:MenuAddItem(4, "Merchant 2", 105)
Item:MenuAddItem(4, "Merchant 3", 106)
Item:MenuAddItem(4, "Merchant 4", 107)
Item:MenuAddItem(4, "Done", 5)
Item:GossipSendMenu()
end
end
function Item_OnSelectHorde3(pUnit, event, player)
if(intid == 204) then
player:SpawnCreature(24347, PlyrX, PlyrY, PlyrZ, PlyrO, 34, 200000)
elseif(intid == 205) then
player:SpawnCreature(19383, PlyrX, PlyrY, PlyrZ, PlyrO, 34, 200000)
elseif(intid == 206) then
player:SpawnCreature(26567, PlyrX, PlyrY, PlyrZ, PlyrO, 34, 200000)
elseif(intid == 207) then
player:SpawnCreature(30239, PlyrX, PlyrY, PlyrZ, PlyrO, 34, 200000)
elseif(intid == 5) then
Item:GossipComplete()
end
end
function Item_OnSelectAllaince3(pUnit, event, player)
local PlyrX = player:GetX()
local PlyrY = player:GetY()
local PlyrZ = player:GetZ()
local PlyrO = player:GetO()
if(intid == 104) then
player:SpawnCreature(17246, PlyrX, PlyrY, PlyrZ, PlyrO, 34, 200000)
elseif(intid == 105) then
player:SpawnCreature(4191, PlyrX, PlyrY, PlyrZ, PlyrO, 34, 200000)
elseif(intid == 106) then
player:SpawnCreature(29923, PlyrX, PlyrY, PlyrZ, PlyrO, 34, 200000)
elseif(intid == 107) then
player:SpawnCreature(225, PlyrX, PlyrY, PlyrZ, PlyrO, 34, 200000)
elseif(intid == 5) then
Item:GossipComplete()
end
end
function Item_OnSelectHorde4(pUnit, event, player)
if(intid == 4) then
Item:GossipCreateMenu(100, player, 0)
Item:MenuAddItem(4, "Towns Person 1", 208)
Item:MenuAddItem(4, "Towns Person 2", 209)
Item:MenuAddItem(4, "Towns Person 3", 210)
Item:MenuAddItem(4, "Towns Person 4", 211)
Item:MenuAddItem(4, "Done", 5)
end
end
function Item_OnSelectAllaince4(pUnit, event, player)
if(intid == 9) then
Item:GossipCreateMenu(100, player, 0)
Item:MenuAddItem(4, "Towns Person 1", 108)
Item:MenuAddItem(4, "Towns Person 2", 109)
Item:MenuAddItem(4, "Towns Person 3", 110)
Item:MenuAddItem(4, "Towns Person 4", 111)
Item:MenuAddItem(4, "Done", 5)
end
end
function Item_OnSelectHorde5(pUnit, event, player) -- Horde townspeople
local PlyrX = player:GetX()
local PlyrY = player:GetY()
local PlyrZ = player:GetZ()
local PlyrO = player:GetO()
if(intid == 208) then
player:SpawnCreature(17100, PlyrX, PlyrY, PlyrZ, PlyrO, 34, 200000)
elseif(intid == 209) then
player:SpawnCreature(31430, PlyrX, PlyrY, PlyrZ, PlyrO, 34, 200000)
elseif(intid == 210) then
player:SpawnCreature(18744, PlyrX, PlyrY, PlyrZ, PlyrO, 34, 200000)
elseif(intid == 211) then
player:SpawnCreature(15683, PlyrX, PlyrY, PlyrZ, PlyrO, 34, 200000)
elseif(intid == 5) then
Item:GossipComplete()
end
end
function Item_OnSelectAllaince5(pUnit, event, player)
local PlyrX = player:GetX()
local PlyrY = player:GetY()
local PlyrZ = player:GetZ()
local PlyrO = player:GetO()
if(intid == 108) then
player:SpawnCreature(1478, PlyrX, PlyrY, PlyrZ, PlyrO, 34, 200000)
elseif(intid == 109) then
player:SpawnCreature(1370, PlyrX, PlyrY, PlyrZ, PlyrO, 34, 200000)
elseif(intid == 110) then
player:SpawnCreature(4959, PlyrX, PlyrY, PlyrZ, PlyrO, 34, 200000)
elseif(intid == 111) then
player:SpawnCreature(11219, PlyrX, PlyrY, PlyrZ, PlyrO, 34, 200000)
elseif(intid == 5) then
Item:GossipComplete()
end
end
RegisterUnitGossipEvent(ItemID, 1, "Item_OnClick")
RegisterUnitGossipEvent(ItemID, 2, "Item_OnSelect")