Advertisement
Guest User

zero

a guest
Dec 26th, 2009
235
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 5.90 KB | None | 0 0
  1. --[ Vote Reward NPC for Spells by Ground Zero ]--
  2. --[ Do not claim as your own, if you wish to re-release this then ask my permission ]--
  3.  
  4. print ("Vote Reward NPC Loaded!")
  5.  
  6. local enabled = 1 -- 0 = Disabled 1 = Enabled
  7. local voteid = 80000 -- Change to your Vote Token/Reward ID.
  8. local servername = "Server name" -- Server name
  9. local npcid = 80000 -- Vote NPC Spawn ID.
  10. local rewid1 = 9999 -- Change to your Spell Reward ID's (Recommended Spell Display Visuals only)
  11. local rewid2 = 9999
  12. local rewid3 = 9999
  13. local rewid4 = 9999
  14. local rewid5 = 9999
  15. local rewid6 = 9999
  16. local status = "Enabled"
  17.  
  18. function votenpc_onGossip(unit, event, player)
  19.     unit:GossipCreateMenu(3912, player, 0)
  20.     if (player:IsGm() == true) then
  21.     unit:GossipMenuAddItem(9, "Currently: "..status.."", 306, 0)
  22.     unit:GossipMenuAddItem(9, "Disable this Unit(GM)", 307, 0)
  23.     unit:GossipMenuAddItem(9, "Activate this Unit(GM)", 308, 0)
  24.     unit:GossipMenuAddItem(6, "Reward 1", 300, 0)
  25.     unit:GossipMenuAddItem(6, "Reward 2", 301, 0)
  26.     unit:GossipMenuAddItem(6, "Reward 3", 302, 0)
  27.     unit:GossipMenuAddItem(6, "Reward 4", 303, 0)
  28.     unit:GossipMenuAddItem(6, "Reward 5", 304, 0)
  29.     unit:GossipMenuAddItem(6, "Reward 6", 305, 0)
  30.     unit:GossipMenuAddItem(2, "Nevermind", 306, 0)
  31.     unit:GossipSendMenu(player)
  32.     else
  33.     unit:GossipMenuAddItem(9, "Status: "..status.."", 306, 0)
  34.     unit:GossipMenuAddItem(6, "Reward 1", 300, 0)
  35.     unit:GossipMenuAddItem(6, "Reward 2", 301, 0)
  36.     unit:GossipMenuAddItem(6, "Reward 3", 302, 0)
  37.     unit:GossipMenuAddItem(6, "Reward 4", 303, 0)
  38.     unit:GossipMenuAddItem(6, "Reward 5", 304, 0)
  39.     unit:GossipMenuAddItem(6, "Reward 6", 305, 0)
  40.     unit:GossipMenuAddItem(2, "Nevermind", 306, 0)
  41.     unit:GossipSendMenu(player)
  42.     end
  43. end
  44.  
  45. function votenpc_onSelect(pUnit, event, player, id, intid, code)
  46.  
  47.     if enabled == 1 then
  48.     if(intid == 300) then
  49.         if player:HasItem(voteid, 1) then
  50.             if (player:HasSpell(rewid1) == false) then
  51.             player:LearnSpell(rewid1)
  52.             player:SendBroadcastMessage("Thank you for voting for "..servername.." and have a nice day!")
  53.             player:GossipComplete()
  54.             player:RemoveItem(voteid, 1)
  55.             else
  56.             player:SendAreaTriggerMessage("You already have this reward!")
  57.             player:GossipComplete()
  58.             end
  59.         else
  60.         player:SendAreaTriggerMessage("You don't have enough tokens!")
  61.         end
  62.     end
  63.    
  64.     if(intid == 301) then
  65.         if player:HasItem(voteid, 1) then
  66.             if (player:HasSpell(rewid2) == false) then
  67.             player:LearnSpell(rewid2)
  68.             player:SendBroadcastMessage("Thank you for voting for "..servername.." and have a nice day!")
  69.             player:GossipComplete()
  70.             player:RemoveItem(voteid, 1)
  71.             else
  72.             player:SendAreaTriggerMessage("You already have this reward!")
  73.             player:GossipComplete()
  74.             end
  75.         else
  76.         player:SendAreaTriggerMessage("You don't have enough tokens!")
  77.         end
  78.     end
  79.    
  80.     if(intid == 302) then
  81.         if player:HasItem(voteid, 1) then
  82.             if (player:HasSpell(rewid3) == false) then
  83.             player:LearnSpell(rewid3)
  84.             player:SendBroadcastMessage("Thank you for voting for "..servername.." and have a nice day!")
  85.             player:GossipComplete()
  86.             player:RemoveItem(voteid, 1)
  87.             else
  88.             player:SendAreaTriggerMessage("You already have this reward!")
  89.             player:GossipComplete()
  90.             end
  91.         else
  92.         player:SendAreaTriggerMessage("You don't have enough tokens!")
  93.         end
  94.     end
  95.    
  96.     if(intid == 303) then
  97.         if player:HasItem(voteid, 1) then
  98.             if (player:HasSpell(rewid4) == false) then
  99.             player:LearnSpell(rewid4)
  100.             player:SendBroadcastMessage("Thank you for voting for "..servername.." and have a nice day!")
  101.             player:GossipComplete()
  102.             player:RemoveItem(voteid, 1)
  103.             else
  104.             player:SendAreaTriggerMessage("You already have this reward!")
  105.             player:GossipComplete()
  106.             end
  107.             else
  108.             player:SendAreaTriggerMessage("You don't have enough tokens!")
  109.         end
  110.     end
  111.    
  112.     if(intid == 304) then
  113.         if player:HasItem(voteid, 1) then
  114.             if (player:HasSpell(rewid5) == false) then
  115.             player:LearnSpell(rewid5)
  116.             player:SendBroadcastMessage("Thank you for voting for "..servername.." and have a nice day!")
  117.             player:GossipComplete()
  118.             player:RemoveItem(voteid, 1)
  119.             else
  120.             player:SendAreaTriggerMessage("You already have this reward!")
  121.             player:GossipComplete()
  122.             end
  123.             else
  124.             player:SendAreaTriggerMessage("You don't have enough tokens!")
  125.         end
  126.     end
  127.    
  128.     if(intid == 305) then
  129.         if player:HasItem(voteid, 1) then
  130.             if (player:HasSpell(rewid6) == false) then
  131.             player:LearnSpell(rewid6)
  132.             player:SendBroadcastMessage("Thank you for voting for "..servername.." and have a nice day!")
  133.             player:GossipComplete()
  134.             player:RemoveItem(voteid, 1)
  135.             else
  136.             player:SendAreaTriggerMessage("You already have this reward!")
  137.             player:GossipComplete()
  138.             end
  139.             else
  140.             player:SendAreaTriggerMessage("You don't have enough tokens!")
  141.         end
  142.     end
  143.    
  144.     if(intid == 306) then
  145.         player:GossipComplete()
  146.     end
  147.     else
  148.     if (player:IsGm() == true) then
  149.     player:GossipComplete()
  150.     else
  151.     player:SendBroadcastMessage("Sorry, this feature is currently disabled by a Member of Staff.")
  152.     end
  153.     end
  154.    
  155.     if(intid == 307) then
  156.         if(player:IsGm() == true) then
  157.             if enabled == 0 then
  158.             player:SendBroadcastMessage("This unit is already disabled!")
  159.             player:GossipComplete()
  160.             else
  161.             enabled = 0
  162.             player:SendBroadcastMessage("Unit Successfully Deactivated!")
  163.             player:GossipComplete()
  164.             status = "Disabled"
  165.             end
  166.         else
  167.         player:SendBroadcastMessage("You need to be a GM to use this Feature!")
  168.         end
  169.     end
  170.    
  171.     if(intid == 308) then
  172.         if(player:IsGm() == true) then
  173.             if enabled == 1 then
  174.             player:SendBroadcastMessage("This unit is already activated!")
  175.             player:GossipComplete()
  176.             else
  177.             enabled = 1
  178.             player:SendBroadcastMessage("Unit Successfully Activated!")
  179.             status = "Enabled"
  180.             player:GossipComplete()
  181.             end
  182.         else
  183.         player:SendBroadcastMessage("You need to be a GM to use this Feature!")
  184.         end
  185.     end
  186. end
  187.  
  188. RegisterUnitGossipEvent(npcid, 1, "votenpc_onGossip")
  189. RegisterUnitGossipEvent(npcid, 2, "votenpc_onSelect")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement