Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local npcid = 12 -- Changethis to your NPC Entry
- local Alliance = -- Listing alliance race IDs
- {
- [1] = true,
- [3] = true,
- [4] = true,
- [7] = true,
- [11] = true,
- }
- local T = -- Teleports
- {
- -- [intid] = {map, x, y, z, o},
- [300] = {0, -4924, -952, 501, 0},
- [301] = {0, -8839, 639, 95, 0},
- [302] = {1, 9947, 2480, 1316, 0},
- [303] = {530, -4014, -11895, -1, 0},
- [304] = {1, 1553, -4418, 8, 0},
- [305] = {530, 9351, -7278, 14, 0},
- [306] = {0, 1791, 238, 60, 0},
- [307] = {1, -1277, 138, 132, 0},
- [308] = {0, -13192, 289, 21, 0},
- [309] = {530, -2001, 6583, 11, 0},
- [311] = {530, 2869, 5900, 12, 0},
- [312] = {1, -6483, 3011, 8, 0},
- [313] = {1, 4629, 3836, 943, 0},
- [314] = {1, 5225, -1233, 1374, 0},
- -- [315] = {map, x, y, z, o},
- [316] = {1, -6699, -2898, 8, 0},
- [317] = {0, -1853, -4114, 12, 0},
- -- [318] = {map, x, y, z, o},
- -- [320] = {map, x, y, z, o},
- [900] = {1, -7172, -3801, 8, 0},
- [901] = {1, -6725, -4650, 720, 0},
- [902] = {0, -14297, 526, 8, 0},
- [903] = {530, -1887, 5417, -12, 0},
- [904] = {530, 12898, -6925, 3, 0},
- }
- local function WarpNPC_OnGossipTalk(pUnit, event, player)
- if (player:IsInCombat()) then
- player:SendAreatriggerMessage("You are in combat!")
- else
- pUnit:GossipCreateMenu(3544, player, 0)
- if (Alliance[player:GetPlayerRace()]) then
- pUnit:GossipMenuAddItem(3, "Cities", 1, 0)
- else
- pUnit:GossipMenuAddItem(3, "Cities", 2, 0)
- end
- pUnit:GossipMenuAddItem(3, "Arenas", 3, 0)
- pUnit:GossipMenuAddItem(3, "Leveling Zones", 4, 0)
- pUnit:GossipMenuAddItem(3, "Lvl 255", 5, 0)
- pUnit:GossipMenuAddItem(3, "VIP", 6, 0)
- if(player:IsInGuild()) then
- pUnit:GossipMenuAddItem(3, "Guilds", 7, 0)
- end
- pUnit:GossipMenuAddItem(3, "Special Events", 8, 0)
- pUnit:GossipMenuAddItem(3, "Instance Lvl 1-60", 9, 0)
- pUnit:GossipMenuAddItem(3, "Instance Lvl 60+", 10, 0)
- pUnit:GossipMenuAddItem(3, "Instance Lvl 70+", 11, 0)
- pUnit:GossipSendMenu(player)
- end
- end
- local function WarpNPC_OnGossipSelect(pUnit, event, player, id, intid, code)
- if(intid == 999) then
- WarpNPC_OnGossipTalk(pUnit, event, player)
- return
- elseif(intid == 1) then
- pUnit:GossipCreateMenu(99, player, 0)
- pUnit:GossipMenuAddItem(1, "Ironforge", 300, 0)
- pUnit:GossipMenuAddItem(1, "Stormwind", 301, 0)
- pUnit:GossipMenuAddItem(1, "Darnassus", 302, 0)
- pUnit:GossipMenuAddItem(1, "Exodar", 303, 0)
- pUnit:GossipMenuAddItem(1, "Gadgetzan", 900, 0)
- pUnit:GossipMenuAddItem(1, "Everlook", 901, 0)
- pUnit:GossipMenuAddItem(1, "Booty Bay", 902, 0)
- pUnit:GossipMenuAddItem(1, "Shattrath", 903, 0)
- pUnit:GossipMenuAddItem(1, "Isle of Quel'Danas", 904, 0)
- pUnit:GossipMenuAddItem(0, "[Main Menu]", 999, 0)
- pUnit:GossipSendMenu(player)
- return
- elseif(intid == 2) then
- pUnit:GossipCreateMenu(99, player, 0)
- pUnit:GossipMenuAddItem(1, "Orgrimmar", 304, 0)
- pUnit:GossipMenuAddItem(1, "Silvermoon", 305, 0)
- pUnit:GossipMenuAddItem(1, "Undercity", 306, 0)
- pUnit:GossipMenuAddItem(1, "Thunder Bluff", 307, 0)
- pUnit:GossipMenuAddItem(1, "Gadgetzan", 900, 0)
- pUnit:GossipMenuAddItem(1, "Everlook", 901, 0)
- pUnit:GossipMenuAddItem(1, "Booty Bay", 902, 0)
- pUnit:GossipMenuAddItem(1, "Shattrath", 903, 0)
- pUnit:GossipMenuAddItem(1, "Isle of Quel'Danas", 904, 0)
- pUnit:GossipMenuAddItem(0, "[Main Menu]", 999, 0)
- pUnit:GossipSendMenu(player)
- return
- elseif(intid == 3) then
- pUnit:GossipCreateMenu(99, player, 0)
- pUnit:GossipMenuAddItem(1, "Gurubashi Arena", 308, 0)
- pUnit:GossipMenuAddItem(1, "The Ring Of Trials", 309, 0)
- pUnit:GossipMenuAddItem(1, "The Maul", 310, 0)
- pUnit:GossipMenuAddItem(1, "Circle of Blood Arena", 311, 0)
- pUnit:GossipMenuAddItem(0, "[Main Menu]", 999, 0)
- pUnit:GossipSendMenu(player)
- return
- elseif(intid == 4)then
- pUnit:GossipCreateMenu(99, player, 0)
- pUnit:GossipMenuAddItem(1, "The Insle of Horror (1-100)", 312, 0)
- pUnit:GossipMenuAddItem(1, "Hyjal Road 1 (100-150)", 313, 0)
- pUnit:GossipMenuAddItem(1, "Hyjal Road 2 (150-180)", 314, 0)
- pUnit:GossipMenuAddItem(1, "Azhara Crater (180-225)", 315, 0)
- pUnit:GossipMenuAddItem(1, "Acnun's Lair (225-255)", 316, 0)
- pUnit:GossipMenuAddItem(0, "[Main Menu]", 999, 0)
- pUnit:GossipSendMenu(player)
- return
- elseif(intid == 5)then
- pUnit:GossipCreateMenu(99, player, 0)
- pUnit:GossipMenuAddItem(1, "PVP Area", 317, 0)
- pUnit:GossipMenuAddItem(1, "X", 318, 0)
- pUnit:GossipMenuAddItem(0, "[Main Menu]", 999, 0)
- pUnit:GossipSendMenu(player)
- return
- elseif(intid == 6)then
- if (player:CanUseCommand("a")) then -- Not sure what you wanted here
- pUnit:GossipCreateMenu(99, player, 0)
- pUnit:GossipMenuAddItem(3, "Buff", 319, 0)
- pUnit:GossipMenuAddItem(3, "Boss Teleport", 320, 0)
- pUnit:GossipMenuAddItem(0, "[Main Menu]", 999, 0)
- pUnit:GossipSendMenu(player)
- return
- end
- elseif(intid == 7)then
- if (player:GetGuildId() == 2)then
- pUnit:GossipCreateMenu(99, player, 0)
- pUnit:GossipMenuAddItem(3, "Guild House", 321, 0)
- pUnit:GossipMenuAddItem(0, "[Main Menu]", 999, 0)
- pUnit:GossipSendMenu(player)
- return
- end
- elseif(intid == 8)then
- pUnit:GossipCreateMenu(99, player, 0)
- pUnit:GossipMenuAddItem(0, "[Main Menu]", 999, 0)
- pUnit:GossipSendMenu(player)
- return
- elseif(intid == 9)then
- pUnit:GossipCreateMenu(99, player, 0)
- pUnit:GossipMenuAddItem(0, "[Main Menu]", 999, 0)
- pUnit:GossipSendMenu(player)
- return
- elseif(intid == 10)then
- pUnit:GossipCreateMenu(99, player, 0)
- pUnit:GossipMenuAddItem(0, "[Main Menu]", 999, 0)
- pUnit:GossipSendMenu(player)
- return
- elseif(intid == 11)then
- pUnit:GossipCreateMenu(99, player, 0)
- pUnit:GossipMenuAddItem(0, "[Main Menu]", 999, 0)
- pUnit:GossipSendMenu(player)
- return
- elseif(intid == 319) then
- pUnit:CastSpellOnTarget(33077, player)
- pUnit:CastSpellOnTarget(33078, player)
- pUnit:CastSpellOnTarget(33079, player)
- pUnit:CastSpellOnTarget(33080, player)
- pUnit:CastSpellOnTarget(33081, player)
- pUnit:CastSpellOnTarget(33082, player)
- elseif(intid == 321) then
- if(player:GetGuildId() == 2) then
- player:Teleport(1, -10734, 2475, 6)
- end
- elseif(T[intid]) then
- player:Teleport(T[intid][1], T[intid][2], T[intid][3], T[intid][4], T[intid][5])
- end
- player:GossipComplete()
- end
- RegisterUnitGossipEvent(npcid, 1, "WarpNPC_OnGossipTalk") -- Using string form for old cores
- RegisterUnitGossipEvent(npcid, 2, "WarpNPC_OnGossipSelect")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement