stoneharry

Untitled

Jan 1st, 2012
232
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 8.11 KB | None | 0 0
  1.  
  2. function GossipHello(pUnit, pMisc, plr)
  3.     pUnit:GossipCreateMenu(40002, plr, 0)
  4.     if(plr:HasGMPermissions()) then
  5.       pUnit:GossipMenuAddItem( 0, "Start The Event", 1 )
  6.       pUnit:GossipMenuAddItem( 0, "Close The Event", 2)
  7.       pUnit:GossipSendMenu(plr)
  8.     else
  9.       pUnit:GossipMenuAddItem( 0, "Ho Ho Ho, Merry Christmas",3)
  10.       pUnit:GossipSendMenu(plr)
  11.     end
  12. end
  13.      
  14. function GossipSelectOption(pUnit, pMisc, plr, Id, IntId, Code)
  15.     if IntId == 1 then
  16.         -- mass spawning
  17.         plr:GossipComplete()
  18.     end
  19.     if IntId == 2 then
  20.         plr:GossipComplete()
  21.     end
  22. end
  23.  
  24. function Hellper(pUnit, Event)
  25.     pUnit:SetAllowedToEnterCombat(false)
  26.     pUnit:Root()
  27.     pUnit:DisableMelee()
  28.     pUnit:SetUInt64Value(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE)
  29.     pUnit:RegisterEvent("SendMessages", 20000, 0)
  30. end
  31.  
  32. function SendMessages(pUnit)
  33.     pUnit:SendChatMessage(15, 0, "Merry Christmas Everyone!")
  34.     pUnit:Emote(4, 2000)
  35. end
  36.  
  37. function Deda(pUnit, Event)
  38.     pUnit:SetUInt64Value(UNIT_FIELD_BYTES_1, 4)
  39. end
  40.  
  41. function Snowball(pUnit, Event)
  42.     pUnit:SetAllowedToEnterCombat(false)
  43.     pUnit:Root()
  44.     pUnit:DisableMelee()
  45.     pUnit:SetUInt64Value(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE)
  46.     pUnit:RegisterEvent("Gnome_CastSpells", 10000, 0)
  47. end
  48.  
  49. function Gnome_CastSpells(pUnit)
  50.     local gnome = pUnit:GetCreatureNearestCoords(16279.0f,16273.8f,17.3148f, 15835)
  51.     pUnit:FullCastSpellOnTarget(21343, gnome)
  52. end
  53.  
  54. function Snowber(pUnit, Event)
  55.     pUnit:SetAllowedToEnterCombat(false)
  56.     pUnit:Root()
  57.     pUnit:DisableMelee()
  58.     pUnit:SetUInt64Value(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE)
  59.     pUnit:RegisterEvent("Gnome_CastSpells", 15000, 0)
  60. end
  61.  
  62. function Firework(pUnit, Event)
  63.     pUnit:SetAllowedToEnterCombat(false)
  64.     pUnit:Root()
  65.     pUnit:DisableMelee()
  66.     pUnit:SetUInt64Value(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE)
  67.     pUnit:RegisterEvent("CastFirework", 5000, 0)
  68. end
  69.  
  70. function CastFirework(pUnit)
  71.     pUnit:FullCastSpell(11543)
  72. end
  73.  
  74. function Firework2(pUnit)
  75.     pUnit:SetAllowedToEnterCombat(false)
  76.     pUnit:Root()
  77.     pUnit:DisableMelee()
  78.     pUnit:SetUInt64Value(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE)
  79.     pUnit:RegisterEvent("CastFirework2", 6000, 0)
  80. end
  81.  
  82. function CastFirework2(pUnit)
  83.     pUnit:FullCastSpell(11540)
  84. end
  85.  
  86. function Firework3(pUnit)
  87.     pUnit:SetAllowedToEnterCombat(false)
  88.     pUnit:Root()
  89.     pUnit:DisableMelee()
  90.     pUnit:SetUInt64Value(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE)
  91.     pUnit:RegisterEvent("CastFirework3", 7000, 0)
  92. end
  93.  
  94. function CastFirework3(pUnit)
  95.     pUnit:FullCastSpell(11542)
  96. end
  97.  
  98. function Firework4(pUnit)
  99.     pUnit:SetAllowedToEnterCombat(false)
  100.     pUnit:Root()
  101.     pUnit:DisableMelee()
  102.     pUnit:SetUInt64Value(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE)
  103.     pUnit:RegisterEvent("CastFirework4", 9000, 0)
  104. end
  105.  
  106. function CastFirework4(pUnit)
  107.     pUnit:FullCastSpell(11543)
  108. end
  109.  
  110. function Firework5(pUnit)
  111.     pUnit:SetAllowedToEnterCombat(false)
  112.     pUnit:Root()
  113.     pUnit:DisableMelee()
  114.     pUnit:SetUInt64Value(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE)
  115.     pUnit:RegisterEvent("CastFirework5", 8000, 0)
  116. end
  117.  
  118. function CastFirework5(pUnit)
  119.     pUnit:FullCastSpell(11541)
  120. end
  121.  
  122. function Firework6(pUnit)
  123.     pUnit:SetAllowedToEnterCombat(false)
  124.     pUnit:Root()
  125.     pUnit:DisableMelee()
  126.     pUnit:SetUInt64Value(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE)
  127.     pUnit:RegisterEvent("CastFirework6", 10000, 0)
  128. end
  129.  
  130. function CastFirework6(pUnit)
  131.     pUnit:FullCastSpell(11543)
  132. end
  133.  
  134. function TalkingNpc(pUnit, Event)
  135.     pUnit:SetAllowedToEnterCombat(false)
  136.     pUnit:Root()
  137.     pUnit:DisableMelee()
  138.     pUnit:SetUInt64Value(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE)
  139.     pUnit:RegisterEvent("EmoteTalk", 10000, 0)
  140. end
  141.  
  142. function EmoteTalk(pUnit)
  143.     pUnit:Emote(1, 4000)
  144. end
  145.  
  146. function AgentAtDoor(pUnit, Event)
  147.     if Event == 18 then
  148.         pUnit:RegisterEvent("CheckEveryFive", 5000, 0)
  149.     elseif Event == 4 then
  150.         pUnit:RemoveEvents()
  151.     end
  152. end
  153.  
  154. function CheckEveryFive(pUnit)
  155.     for k,plrs in pairs(pUnit:GetPlayersInRange()) do
  156.         if plrs:HasItemEquipped(34085) and plrs:HasItemEquipped(21254) and plrs:HasItemEquipped(34086) then
  157.         else
  158.             plrs:AddItemToSlot(34085, 1, CHEST)
  159.             plrs:AddItemToSlot(34086, 1, FEET)
  160.             plrs:AddItemToSlot(21254, 1, HEAD)
  161.         end
  162.     end
  163. end
  164.  
  165. function Snowman(pUnit, Event)
  166.     if Event == 18 then
  167.         pUnit:RegisterEvent("Dance_Emote", 5000, 0)
  168.     elseif Event == 4 then
  169.         pUnit:RemoveEvents()
  170.     end
  171. end
  172.  
  173. function Dance_Emote(pUnit)
  174.     for k,plrs in pairs(pUnit:GetInRangePlayers()) do
  175.         plrs:Emote(10, 5000)
  176.     end
  177. end
  178.  
  179. function OnGmIsland(plr)
  180.     plr:PlaySoundToSet(22522)
  181.     local Type = 8
  182.     local grade = 1
  183.     local pack = LuaPack:CreatePacket(SMSG_WEATHER, 9)
  184.     if Type == 0
  185.         pack:WriteUInt(0)
  186.         pack:WriteUInt(0)
  187.         pack:WriteUInt(0)
  188.         pack:WriteUInt(0)
  189.     elseif Type == 1 then
  190.         pack:WriteUInt(Type)
  191.         pack:WriteUInt(0)
  192.         pack:WriteUInt(0)
  193.         pack:WriteUInt(0)
  194.     else
  195.         pack:WriteUInt(Type)
  196.         pack:WriteUInt(0)
  197.         pack:WriteUInt(0)
  198.     end
  199.     plr:SendPacket(pack)
  200.     plr:SendChatMessage(42,0,"Enjoy this christmas party")
  201. end
  202.  
  203. function Reindeer(pUnit, pMisc, plr)
  204.     pUnit:GossipCreateMenu(40002, plr, 0)
  205.     pUnit:GossipMenuAddItem( 0, "I want to transcend back to the chield", 1 )
  206.     pUnit:GossipMenuAddItem( 0, "Nevermind", 2)
  207.     pUnit:GossipSendMenu(plr)
  208. end
  209.  
  210. function GossipSelectOption(pUnit, pMisc, plr, Id, IntId, Code)
  211.     if IntId == 1 then
  212.         local Taxi = LuaTaxi:GetTaxiPath(1985)
  213.         plr:StartTaxi(Taxi, 22724)
  214.         plr:PlaySoundToSet(22523)
  215.     end
  216.     if IntId == 2 then
  217.         plr:GossipComplete()
  218.     end
  219. end
  220.  
  221. function SantaClause(pUnit, pMisc, plr)
  222.     pUnit:GossipCreateMenu(40002, plr, 0)
  223.     pUnit:GossipMenuAddItem( 0, "Tell me what is your wish?", 1 );
  224.     pUnit:GossipMenuAddItem( 0, "1.I wish for a new toy", 2);
  225.     pUnit:GossipMenuAddItem( 0, "2.I wish for a new mount", 3);
  226.     pUnit:GossipMenuAddItem( 0, "3.I wish for a lot of money", 4);
  227.     pUnit:GossipMenuAddItem( 0, "4.I wish to be smart", 5);
  228.     pUnit:GossipMenuAddItem( 0, "5.I wish to be your helper", 6);
  229.     pUnit:GossipSendMenu(plr)
  230. end
  231.  
  232. function GossipSelectOption(pUnit, pMisc, plr, Id, IntId, Code)
  233.     if IntId == 1 then
  234.         plr:RemoveItem(1179, 1)
  235.         plr:RemoveItem(17197, 1)
  236.         plr:RemoveItem(17197, 1)
  237.         plr:RemoveItem(17197, 1)
  238.         plr:RemoveItem(17197, 1)
  239.         plr:RemoveItem(17197, 1)
  240.         plr:AddItem(44606, 1)
  241.         plr:GossipComplete()
  242.     end
  243.     if IntId == 3 then
  244.         plr:RemoveItem(1179, 1)
  245.         plr:RemoveItem(17197, 1)
  246.         plr:RemoveItem(17197, 1)
  247.         plr:RemoveItem(17197, 1)
  248.         plr:RemoveItem(17197, 1)
  249.         plr:RemoveItem(17197, 1)
  250.         plr:CastSpell(25859)
  251.         plr:GossipComplete()      
  252.     if IntId == 4 then
  253.         plr:RemoveItem(1179, 1)
  254.         plr:RemoveItem(17197, 1)
  255.         plr:RemoveItem(17197, 1)
  256.         plr:RemoveItem(17197, 1)
  257.         plr:RemoveItem(17197, 1)
  258.         plr:RemoveItem(17197, 1)
  259.         plr:AddCoinage(500000000)
  260.     end
  261.     if IntId == 5 then
  262.         plr:RemoveItem(1179, 1)
  263.         plr:RemoveItem(17197, 1)
  264.         plr:RemoveItem(17197, 1)
  265.         plr:RemoveItem(17197, 1)
  266.         plr:RemoveItem(17197, 1)
  267.         plr:RemoveItem(17197, 1)
  268.         plr:CastSpell(42259)
  269.         plr:GossipComplete()
  270.     end
  271.     if IntId == 6 then
  272.         plr:RemoveItem(1179, 1)
  273.         plr:RemoveItem(17197, 1)
  274.         plr:RemoveItem(17197, 1)
  275.         plr:RemoveItem(17197, 1)
  276.         plr:RemoveItem(17197, 1)
  277.         plr:RemoveItem(17197, 1)
  278.         plr:SetUInt32Value(UNIT_FIELD_DISPLAYID, 15698)
  279.         plr:GossipComplete()
  280.     end
  281.     if IntId == 7 then
  282.         plr:GossipComplete()
  283.     end
  284. end
  285.  
  286. RegisterGossipEvent(55913, 1, "xmas")
  287. RegisterGossipEvent(55913, 1, "GossipSelectOption")
  288.  
  289. RegisterGossipEvent(24906, 1, "reindeer")
  290. RegisterGossipEvent(24906, 1, "GossipSelectOption")
  291.  
  292. RegisterGossipEvent(13444, 1, "santa"
  293. RegisterGossipEvent(13444, 1, "GossipSelectOption")
  294.  
  295. RegisterUnitEvent(13444, 18, "Deda")
  296.  
  297. RegisterUnitEvent(15746, 18, "Hellper")
  298. RegisterUnitEvent(15838, 18, "Snowball")
  299. RegisterUnitEvent(15835, 18, "Snowber")
  300. RegisterUnitEvent(55915, 18, "AgentAtDoor")
  301. RegisterServerHook(SERVER_HOOK_EVENT_ON_ENTER_WORLD, "OnGMIsland")
  302. RegisterUnitEvent(55916, 18, "Firework")
  303. RegisterUnitEvent(55917, 18, "Firework2")
  304. RegisterUnitEvent(55918, 18, "Firework3")
  305. RegisterUnitEvent(55919, 18, "Firework4")
  306. RegisterUnitEvent(55920, 18, "Firework5")
  307. RegisterUnitEvent(55921, 18, "Firework6")
  308. RegisterUnitEvent(13636, 18, "Snowman")
  309. RegisterUnitEvent(15780, 18, "TalkingNpc")
  310. RegisterUnitEvent(15788, 18, "TalkingNpc")
  311. RegisterUnitEvent(15787, 18, "TalkingNpc")
Advertisement
Add Comment
Please, Sign In to add comment