Code:
local npcid = 55555
function WarpNPC_OnGossipTalk(pUnit, event, player, pMisc)
pUnit:GossipCreateMenu(100, player, 0)
local race=player:GetPlayerRace()
if race==1 or race==3 or race==4 or race==7 or race==11 then
pUnit:GossipMenuAddItem(0, "Alliance Locations", 1, 0)
end
local race=player:GetPlayerRace()
if race==2 or race==5 or race==6 or race==8 or race==10 then
pUnit:GossipMenuAddItem(0, "Horde Locations", 2, 0)
end
pUnit:GossipMenuAddItem(0, "Outland Locations", 3, 0)
pUnit:GossipMenuAddItem(0, "Instances", 4, 0)
pUnit:GossipMenuAddItem(0, "Neutral/Event Areas", 80, 0)
pUnit:GossipMenuAddItem(5, "Buff me up.", 57, 0)
pUnit:GossipMenuAddItem(9, "Remove Rez Sickness", 58, 0)
pUnit:GossipSendMenu(player)
end
function WarpNPC_OnGossipSelect(pUnit, event, player, id, intid, code, pMisc)
if (intid == 1) then
pUnit:GossipCreateMenu(99, player, 0)
pUnit:GossipMenuAddItem(2, "Stormwind", 9, 0)
pUnit:GossipMenuAddItem(2, "Ironforge", 10, 0)
pUnit:GossipMenuAddItem(2, "Darnassus", 11, 0)
pUnit:GossipMenuAddItem(2, "Exodar", 12, 0)
pUnit:GossipMenuAddItem(2, "Alliance Mall", 65, 0)
pUnit:GossipSendMenu(player)
end
if (intid == 2) then
pUnit:GossipCreateMenu(99, player, 0)
pUnit:GossipMenuAddItem(2, "Orgrimar", 5, 0)
pUnit:GossipMenuAddItem(2, "UnderCity", 6, 0)
pUnit:GossipMenuAddItem(2, "Thunder Bluff", 7, 0)
pUnit:GossipMenuAddItem(2, "Silvermoon", 8, 0)
pUnit:GossipMenuAddItem(2, "Horde Mall", 66, 0)
pUnit:GossipSendMenu(player)
end
if (intid == 3) then
pUnit:GossipCreateMenu(99, player, 0)
pUnit:GossipMenuAddItem(2, "Shattrath", 13, 0)
pUnit:GossipMenuAddItem(2, "Blade's Edge Mountains", 53, 0)
pUnit:GossipMenuAddItem(2, "Hellfire Peninsula/The Dark Portal", 50, 0)
pUnit:GossipMenuAddItem(2, "Nagrand", 52, 0)
pUnit:GossipMenuAddItem(2, "Netherstorm", 54, 0)
pUnit:GossipMenuAddItem(2, "Shadowmoon Valley", 55, 0)
pUnit:GossipMenuAddItem(2, "Terokkar Forest", 51, 0)
pUnit:GossipMenuAddItem(2, "Zangarmarsh", 56, 0)
pUnit:GossipSendMenu(player)
end
if (intid == 4) then
pUnit:GossipCreateMenu(99, player, 0)
pUnit:GossipMenuAddItem(0, "Eastern Kingdom Instances", 14, 0)
pUnit:GossipMenuAddItem(0, "Kalimdor Instances", 15, 0)
pUnit:GossipMenuAddItem(0, "Outland Instances", 16, 0)
pUnit:GossipSendMenu(player)
end
if (intid == 80) then
pUnit:GossipCreateMenu(99, player, 0)
pUnit:GossipMenuAddItem(2, "PVP Event Arena", 71, 0)
pUnit:GossipSendMenu(player)
end
if (intid == 14) then
pUnit:GossipCreateMenu(99, player, 0)
pUnit:GossipMenuAddItem(2, "Blackrock Mountains", 17, 0)
pUnit:GossipMenuAddItem(2, "The Deadmines", 18, 0)
pUnit:GossipMenuAddItem(2, "Gnomeregan", 19, 0)
pUnit:GossipMenuAddItem(2, "Karazhan", 20, 0)
pUnit:GossipMenuAddItem(2, "Naxxramas", 22, 0)
pUnit:GossipMenuAddItem(2, "Scholomance", 23, 0)
pUnit:GossipMenuAddItem(2, "Shadowfang Keep", 24, 0)
pUnit:GossipMenuAddItem(2, "Scarlet Monastery", 25, 0)
pUnit:GossipMenuAddItem(2, "The Stockade", 26, 0)
pUnit:GossipMenuAddItem(2, "Stratholme", 27, 0)
pUnit:GossipMenuAddItem(2, "The Sunken Temple", 28, 0)
pUnit:GossipMenuAddItem(2, "Uldaman", 30, 0)
pUnit:GossipMenuAddItem(2, "Zul'Gurub", 32, 0)
pUnit:GossipSendMenu(player)
end
if (intid == 15) then
pUnit:GossipCreateMenu(99, player, 0)
pUnit:GossipMenuAddItem(2, "Ahn'Qiraj", 33, 0)
pUnit:GossipMenuAddItem(2, "Blackfathom Deeps", 34, 0)
pUnit:GossipMenuAddItem(2, "Caverns of Time", 35, 0)
pUnit:GossipMenuAddItem(2, "Dire Maul", 36, 0)
pUnit:GossipMenuAddItem(2, "Maraudon", 37, 0)
pUnit:GossipMenuAddItem(2, "Onyxia's Lair", 38, 0)
pUnit:GossipMenuAddItem(2, "Ragefire Chasm", 39, 0)
pUnit:GossipMenuAddItem(2, "Razorfen Downs", 40, 0)
pUnit:GossipMenuAddItem(2, "Razorfen Kraul", 41, 0)
pUnit:GossipMenuAddItem(2, "Wailing Caverns", 42, 0)
pUnit:GossipMenuAddItem(2, "Zul'Farrak", 43, 0)
pUnit:GossipSendMenu(player)
end
if (intid == 16) then
pUnit:GossipCreateMenu(99, player, 0)
pUnit:GossipMenuAddItem(2, "Auchindoun", 44, 0)
pUnit:GossipMenuAddItem(2, "Black Temple", 45, 0)
pUnit:GossipMenuAddItem(2, "Coilfang Reservoir", 46, 0)
pUnit:GossipMenuAddItem(2, "Gruul's Lair", 47, 0)
pUnit:GossipMenuAddItem(2, "Hellfire Citadel", 48, 0)
pUnit:GossipMenuAddItem(2, "Magisters' Terrace", 21, 0)
pUnit:GossipMenuAddItem(2, "Tempest Keep", 49, 0)
pUnit:GossipMenuAddItem(2, "Sunwell Plateau", 29, 0)
pUnit:GossipMenuAddItem(2, "Zul'Aman", 31, 0)
pUnit:GossipSendMenu(player)
end
if (intid == 57) then
pUnit:GossipCreateMenu(99, player, 0)
pUnit:GossipMenuAddItem(3, "Agility", 59, 0)
pUnit:GossipMenuAddItem(3, "Intellect", 60, 0)
pUnit:GossipMenuAddItem(3, "Protection", 61, 0)
pUnit:GossipMenuAddItem(3, "Spirit", 62, 0)
pUnit:GossipMenuAddItem(3, "Stamina", 63, 0)
pUnit:GossipMenuAddItem(3, "Strength", 64, 0)
pUnit:GossipSendMenu(player)
end
if (intid == 5) then
player:Teleport(1, 1502.709961, -4415.419922, 21.552465) -- Orgrimar
end
if (intid == 6) then
player:Teleport(0, 1831.260010, 238.529999, 60.520752) -- UnderCity
end
if (intid == 7) then
player:Teleport(1, -1285.420044, 176.522995, 129.994247) -- Thunder Bluff
end
if (intid == 8) then
player:Teleport(530, 9414.179688, -7278.970215, 14.202394) -- Silvermoon
end
if (intid == 9) then
player:Teleport(0, -8913.230469, 554.632996, 93.794456) -- Stormwind
end
if (intid == 10) then
player:Teleport(0, -4981.250000, -881.541992, 501.659729) -- Ironforge
end
if (intid == 11) then
player:Teleport(1, 9946.370117, 2613.149902, 1316.239990) -- Darnassus
end
if (intid == 12) then
player:Teleport(530, -4014.080078, -11895.799805, 1.990692) -- Exodar
end
if (intid == 13) then
player:Teleport(530, -1887.510010, 5359.379883, -12.427300) -- Shattrath
end
if (intid == 17) then
player:Teleport(0, -7491.719238, -1074.845947, 265.089935) -- Blackrock Mountains
end
if (intid == 18) then
player:Teleport(0, -11067.506836, 1527.711304, 43.282364) -- The Deadmines
end
if (intid == 19) then
player:Teleport(0, -5182.464355, 607.487427, 408.965881) -- Gnomeregan
end
if (intid == 20) then
player:Teleport(0, -11121.247070, -2012.714355, 47.096985) -- Karazahn
end
if (intid == 21) then
player:Teleport(530, 12889.763672, -7326.697266, 65.491798) -- Magisters' Terrace
end
if (intid == 22) then
player:Teleport(0, 3164.131592, -3747.983887, 132.852615) -- Naxxramas
end
if (intid == 23) then
player:Teleport(0, 1230.314575, -2599.220703, 88.976143) -- Scholomance
end
if (intid == 24) then
player:Teleport(0, -246.683914, 1532.607666, 77.124901) -- Shadowfang Keep
end
if (intid == 25) then
player:Teleport(0, 2843.495605, -692.977295, 139.330276) -- Scarlet Monastery
end
if (intid == 26) then
player:Teleport(0, -8772.176758, 840.297913, 91.003372) -- The Stockade
end
if (intid == 27) then
player:Teleport(0, 3343.937744, -3379.550781, 144.775574) -- Stratholme
end
if (intid == 28) then
player:Teleport(0, -10449.789063, -3823.687988, 18.066645) -- The Sunken Temple
end
if (intid == 29) then
player:Teleport(530, 12588.159180, -6775.057617, 15.091800) -- Sunwell Plateau
end
if (intid == 30) then
player:Teleport(0, -6071.516133, -2955.536377, 209.783035) -- Uldaman
end
if (intid == 31) then
player:Teleport(530, 6851.177246, -7946.305664, 170) -- Zul'Aman
end
if (intid == 32) then
player:Teleport(0, -11915.947266, -1187.432007, 85.137840) -- Zul'Gurub
end
if (intid == 33) then
player:Teleport(1, -8166.177734, 1531.099487, 4.195099) -- Ahn'Qiraj
end
if (intid == 34) then
player:Teleport(1, 4247.057129, 741.940735, -25.184605) -- Blackfathom Deeps
end
if (intid == 35) then
player:Teleport(1, -8369.945313, -4253.909820, -204.333389) -- Caverns of Time
end
if (intid == 36) then
player:Teleport(1, -3520.068848, 1113.661337, 161.026123) -- Dire Maul
end
if (intid == 37) then
player:Teleport(1, -1421.904297, 2910.345703, 137.410583) -- Maraudon
end
if (intid == 38) then
player:Teleport(1, -4672.532227, -3702.960693, 46.147873) -- Onyxia's Lair
end
if (intid == 39) then
player:Teleport(1, 1809.329834, -4404.645508, -18.714394) -- Ragfire Chasm
end
if (intid == 40) then
player:Teleport(1, -4651.700684, -2500.510254, 81.400879) -- Razorfen Downs
end
if (intid == 41) then
player:Teleport(1, -4473.704102, -1683.995361, 80.525322) -- Razorfen Kraul
end
if (intid == 42) then
player:Teleport(1, -740.448181, -2215.664063, 16.156469) -- Wailing Caverns
end
if (intid == 43) then
player:Teleport(1, -6808.160645, -2890.859131, 8.885407) -- Zul'Farrak
end
if (intid == 44) then
player:Teleport(530, -3329.651855, 4936.043457, -90.39930) -- Auchindoun
end
if (intid == 45) then
player:Teleport(530, -3624.857910, 315.062836, 38.903099) -- Black Temple
end
if (intid == 46) then
player:Teleport(530, 730.947876, 6866.012695, -70.749023) -- Coilfang Reservoir
end
if (intid == 47) then
player:Teleport(530, 3523.798340, 5153.760742, -1.424888) -- Gruul's Lair
end
if (intid == 48) then
player:Teleport(530, -575.380798, 3119.677734, 5.5155335) -- Hellfire Citadel
end
if (intid == 49) then
player:Teleport(530, 3098.487793, 1513.052124, 190.300110) -- Tempest Keep
end
if (intid == 50) then
player:Teleport(530, -248.431702, 939.013367, 84.379822) -- Hellfire Peninsula/ The Dark Portal
end
if (intid == 51) then
player:Teleport(530, -1176.588989, 5336.273926, 29.897034) -- Terokkar Forest
end
if (intid == 52) then
player:Teleport(530, -526, 8440, 47.426472) -- Nagrand
end
if (intid == 53) then
player:Teleport(530, 1114.010254, 7090.967285, 122.127274) -- Blade's Edge Mountains
end
if (intid == 54) then
player:Teleport(530, 2315.689209, 2535.836670, 119.271622) -- Netherstorm
end
if (intid == 55) then
player:Teleport(530, -2847.810791, 3190.677246, 8.136728) -- Shadowmoon Valley
end
if (intid == 56) then
player:Teleport(530, 30.284981, 6983.303711, 148.666779) -- Zangarmarsh
end
if (intid == 66) then
player:Teleport(1, 2123.473633, -4730.416016, 49.909050) -- Horde Mall
end
if (intid == 65) then
player:Teleport(0, -8340.418945, 614.543457, 99.602043) -- Alliance Mall
end
if (intid == 71) then
player:Teleport(1, -3787.889893, 1084.719971, 131.970001) -- PVP Arena
end
if (intid == 58) then
player:LearnSpell(15007) -- Remove Resurrection Sickness
player:UnlearnSpell(15007)
pUnit:SendChatMessage(12, 0, "Nub...lulz")
pUnit:GossipComplete(player)
end
if (intid == 59) then
pUnit:FullCastSpellOnTarget(33077, player)
pUnit:GossipComplete(player)
end
if (intid == 60) then
pUnit:FullCastSpellOnTarget(33078, player)
pUnit:GossipComplete(player)
end
if (intid == 61) then
pUnit:FullCastSpellOnTarget(33079, player)
pUnit:GossipComplete(player)
end
if (intid == 62) then
pUnit:FullCastSpellOnTarget(33080, player)
pUnit:GossipComplete(player)
end
if (intid == 63) then
pUnit:FullCastSpellOnTarget(33081, player)
pUnit:GossipComplete(player)
end
if (intid == 64) then
pUnit:FullCastSpellOnTarget(33082, player)
pUnit:GossipComplete(player)
end
end
RegisterUnitGossipEvent(npcid, 1, "WarpNPC_OnGossipTalk")
RegisterUnitGossipEvent(npcid, 2, "WarpNPC_OnGossipSelect")