Advertisement
Guest User

LevelUp (Fixed Version)

a guest
Dec 28th, 2014
447
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 10.73 KB | None | 0 0
  1.                          --------------------------
  2.                          --####### ARCEMU #######--
  3.                          --------------------------
  4.               --/////////////////////////////////////////////////--
  5.               -----------------------------------------------------
  6.               -----                                           -----
  7.               -----          Level up Gossiper                -----
  8.               -----         A Dreamwork Script                -----
  9.               -----  Credits go to its rightfully creator     -----
  10.               -----------------------------------------------------
  11.               --/////////////////////////////////////////////////--
  12.                   -- ------------------------------------------
  13.                   -- To activate an option set it to true    --
  14.                   -- To deactivate an option set it to false --
  15.                   ---------------------------------------------
  16.              
  17.              
  18. local NpcId = 19112
  19. local TokenId = 15116
  20.  
  21.  
  22. local RankProtection = false  -- <<----- Disable for use to non ranked players if true else usable for everyone.
  23.  
  24. local Token = true   -- <<---- true for token cost, false for free.
  25.  
  26. local TokenAmt1 = 80
  27. local TokenAmt2 = 40
  28. local TokenAmt3 = 25
  29. local TokenAmt4 = 10
  30. local TokenAmt5 = 5
  31.  
  32.  
  33.  
  34.  
  35. function HELLO(event, player, pUnit)
  36.  if(RankProtection ~= false) and (player:GetGmRank() == '') then
  37.    player:SendBroadcastMessage("[Server Notification] You don't have access to this NPC.")
  38.    player:GossipComplete()
  39.     else
  40.       pUnit:GossipCreateMenu(100, player, 0)
  41.       pUnit:GossipMenuAddItem(3, "Level me up to 80!", 1, 0)
  42.       pUnit:GossipMenuAddItem(3, "Grant me 40 levels!", 2, 0)
  43.       pUnit:GossipMenuAddItem(3, "Grant me 25 levels!", 3, 0)
  44.       pUnit:GossipMenuAddItem(3, "Grant me 10 levels!", 4, 0)
  45.       pUnit:GossipMenuAddItem(3, "Grant me 5 levels!", 5, 0)
  46.       pUnit:GossipSendMenu(player)
  47.      end
  48. end
  49.  
  50.  function SELECT(event, player, pUnit, sender, intid, code)
  51.  
  52.  
  53. local sql = "SELECT * FROM items WHERE entry = "..TokenId..""
  54. local result = WorldDBQuery(sql)
  55.  
  56.  
  57. if(intid == 1) then
  58.   pUnit:GossipCreateMenu(100, player, 0)
  59. if(result:GetColumn(3):GetString() == nil) then return end
  60.   if(Token ~= false) then
  61.    pUnit:GossipMenuAddItem(5, "Leveling you up to 80 costs "..TokenAmt1.." "..(result:GetColumn(3):GetString()).."'s!", 1, 0)
  62.     else
  63.         pUnit:GossipMenuAddItem(5, "Level up to 80 for free!", 1, 0)
  64.     end
  65.         pUnit:SendBroadcastMessage("[Server Notification] Do you really want to continue?")
  66.         pUnit:GossipMenuAddItem(5, "Yes", 100, 0)
  67.         pUnit:GossipMenuAddItem(5, "No", 999, 0)
  68.         pUnit:GossipMenuAddItem(5, "Back", 999, 0)
  69.         pUnit:GossipSendMenu(player)
  70. end
  71.  
  72.  
  73. if(intid == 2) then
  74. pUnit:GossipCreateMenu(100, player, 0)
  75. if(result:GetColumn(3):GetString() == nil) then return end
  76.   if(Token ~= false) then
  77.    pUnit:GossipMenuAddItem(5, "Granting you 40 levels costs "..TokenAmt2.." "..(result:GetColumn(3):GetString()).."'s!", 2, 0)
  78.     else
  79.         pUnit:GossipMenuAddItem(5, "Granting 40 levels for free", 1, 0)
  80.     end
  81.    pUnit:SendBroadcastMessage("[Server Notification] Do you really want to continue?")
  82.    pUnit:GossipMenuAddItem(5, "Yes", 200, 0)
  83.    pUnit:GossipMenuAddItem(5, "No", 999, 0)
  84.    pUnit:GossipMenuAddItem(5, "Back", 999, 0)
  85.    pUnit:GossipSendMenu(player)
  86. end
  87.  
  88. if(intid == 3) then
  89. pUnit:GossipCreateMenu(100, player, 0)
  90. if(result:GetColumn(3):GetString() == nil) then return end
  91.   if(Token ~= false) then
  92.    pUnit:GossipMenuAddItem(5, "Granting you 25 levels costs "..TokenAmt3.." "..(result:GetColumn(3):GetString()).."'s!", 3, 0)
  93.     else
  94.         pUnit:GossipMenuAddItem(5, "Granting 25 levels for free!", 1, 0)
  95.     end
  96.    pUnit:SendBroadcastMessage("[Server Notification] Do you really want to continue?")
  97.    pUnit:GossipMenuAddItem(5, "Yes", 300, 0)
  98.    pUnit:GossipMenuAddItem(5, "No", 999, 0)
  99.    pUnit:GossipMenuAddItem(5, "Back", 999, 0)
  100.    pUnit:GossipSendMenu(player)
  101. end
  102.  
  103. if(intid == 4) then
  104. player:GossipCreateMenu(100, player, 0)
  105. if(result:GetColumn(3):GetString() == nil) then return end
  106.   if(Token ~= false) then
  107.    pUnit:GossipMenuAddItem(5, "Granting you 10 levels costs "..TokenAmt4.." "..(result:GetColumn(3):GetString()).."'s!", 4, 0)
  108.     else
  109.         pUnit:GossipMenuAddItem(5, "Granting 10 levels for free!", 1, 0)
  110.     end
  111.    pUnit:SendBroadcastMessage("[Server Notification] Do you really want to continue?")
  112.    pUnit:GossipMenuAddItem(5, "Yes", 400, 0)
  113.    pUnit:GossipMenuAddItem(5, "No", 999, 0)
  114.    pUnit:GossipMenuAddItem(5, "Back", 999, 0)
  115.    pUnit:GossipSendMenu(player)
  116. end
  117.  
  118. if(intid == 5) then
  119. pUnit:GossipCreateMenu(100, player, 0)
  120. if(result:GetColumn(3):GetString() == nil) then return end
  121.   if(Token ~= false) then
  122.    pUnit:GossipMenuAddItem(5, "Granting you 5 levels costs "..TokenAmt5.." "..(result:GetColumn(3):GetString()).."'s!", 5, 0)
  123.     else
  124.         pUnit:GossipMenuAddItem(5, "Granting 5 levels for free!", 1, 0)
  125.     end
  126.    pUnit:SendBroadcastMessage("[Server Notification] Do you really want to continue?")
  127.    pUnit:GossipMenuAddItem(5, "Yes", 500, 0)
  128.    pUnit:GossipMenuAddItem(5, "No", 999, 0)
  129.    pUnit:GossipMenuAddItem(5, "Back", 999, 0)
  130.    pUnit:GossipSendMenu(player)
  131. end
  132.  
  133. ------------------------------LEVELING-UP-SECTION----------------------------------
  134.  
  135.  
  136. if(intid == 100) then
  137.  if(player:GetLevel() < 80) then
  138.   if(Token ~= false) then
  139.    if(player:GetItemByEntry(TokenId) >= TokenAmt1) then
  140.     player:SetLevel(80)
  141.     player:RemoveItem(TokenId, TokenAmt1)
  142.     else
  143.      player:SendBroadcastMessage("[Server Notification] You don't have enough "..(result:GetColumn(3):GetString())..".") return end
  144.       else
  145.        player:GiveLevel(80)
  146.         end
  147.          else
  148.            player:SendBroadcastMessage("[Server Notification] You are already max leveled.") return end
  149.     pUnit:GossipCreateMenu(100, player, 0)
  150.     pUnit:GossipMenuAddItem(5, "Back", 999, 0)
  151.     pUnit:GossipMenuAddItem(5, "Exit Menu", 1000, 0)
  152.     pUnit:GossipSendMenu(player)
  153. end
  154.  
  155.  
  156.  
  157. if(intid == 200) then
  158.   if(player:GetLevel() < 80) and (player:GetLevel() > 40) then
  159.    if(Token ~= false) then
  160.     if(player:GetItemByEntry(TokenId) >= TokenAmt2) then
  161.      player:SetLevel(80)
  162.      player:RemoveItem(TokenId, TokenAmt2)
  163.       else
  164.        player:SendBroadcastMessage("[Server Notification] You don't have enough "..(result:GetColumn(3):GetString())..".") return end
  165.         else
  166.          player:SetLevel(80)
  167.          end
  168.            else
  169.             if(player:GetLevel() < 80) then
  170.               if(Token ~= false) then
  171.                if(player:GetItemByEntry(TokenId) >= TokenAmt2) then
  172.                 player:SetLevel(player:GetLevel()+40)
  173.                  player:RemoveItem(TokenId, TokenAmt2)
  174.          else
  175.      player:SendBroadcastMessage("[Server Notification] You don't have enough "..(result:GetColumn(3):GetString())..".") return end
  176.   else
  177.   player:SetLevel(player:GetLevel()+40)
  178.   end
  179. else
  180. player:SendBroadcastMessage("[Server Notification] You are already max leveled.") return end
  181. end
  182.     pUnit:GossipCreateMenu()
  183.     pUnit:GossipMenuAddItem(5, "Back", 999, 0)
  184.     pUnit:GossipMenuAddItem(5, "Exit Menu", 1000, 0)
  185.     pUnit:GossipSendMenu(player)
  186. end
  187.  
  188. if(intid == 300) then      
  189.   if(player:GetLevel() < 80) and (player:GetLevel() > 55) then
  190.    if(Token ~= false) then
  191.     if(player:GetItemByEntry(TokenId) >= TokenAmt3) then
  192.      player:SetLevel(80)
  193.      player:RemoveItem(TokenId, TokenAmt3)
  194.       else
  195.        player:SendBroadcastMessage("[Server Notification] You don't have enough "..(result:GetColumn(3):GetString())..".") return end
  196.         else
  197.          player:SetLevel(80)
  198.          end
  199.            else
  200.             if(player:GetLevel() < 80) then
  201.               if(Token ~= false) then
  202.                if(player:GetItemByEntry(TokenId) >= TokenAmt3) then
  203.                 player:SetLevel(player:GetLevel()+25)
  204.                  player:RemoveItem(TokenId, TokenAmt3)
  205.          else
  206.      player:SendBroadcastMessage("[Server Notification] You don't have enough "..(result:GetColumn(3):GetString())..".") return end
  207.   else
  208.   player:SetLevel(player:GetLevel()+25)
  209.   end
  210. else
  211. player:SendBroadcastMessage("[Server Notification] You are already max leveled.") return end
  212. end
  213.     pUnit:GossipCreateMenu()
  214.     pUnit:GossipMenuAddItem(5, "Back", 999, 0)
  215.     pUnit:GossipMenuAddItem(5, "Exit Menu", 1000, 0)
  216.     pUnit:GossipSendMenu(player)
  217. end    
  218.  
  219. if(intid == 400) then
  220.    if(player:GetLevel() < 80) and (player:GetLevel() > 70) then
  221.    if(Token ~= false) then
  222.     if(player:GetItemByEntry(TokenId) >= TokenAmt4) then
  223.      player:SetLevel(80)
  224.      player:RemoveItem(TokenId, TokenAmt4)
  225.       else
  226.        player:SendBroadcastMessage("[Server Notification] You don't have enough "..(result:GetColumn(3):GetString())..".") return end
  227.         else
  228.          player:SetLevel(80)
  229.          end
  230.            else
  231.             if(player:GetLevel() < 80) then
  232.               if(Token ~= false) then
  233.                if(player:GetItemByEntry(TokenId) >= TokenAmt4) then
  234.                 player:SetLevel(player:GetLevel()+10)
  235.                  player:RemoveItem(TokenId, TokenAmt4)
  236.          else
  237.      player:SendBroadcastMessage("[Server Notification] You don't have enough "..(result:GetColumn(3):GetString())..".") return end
  238.   else
  239.   player:SetLevel(player:GetLevel()+10)
  240.   end
  241. else
  242. player:SendBroadcastMessage("[Server Notification] You are already max leveled.") return end
  243. end
  244.     pUnit:GossipCreateMenu()
  245.     pUnit:GossipMenuAddItem(5, "Back", 999, 0)
  246.     pUnit:GossipMenuAddItem(5, "Exit Menu", 1000, 0)
  247.     pUnit:GossipSendMenu(player)
  248. end    
  249.  
  250. if(intid == 500) then
  251.    if(player:GetLevel() < 80) and (player:GetLevel() > 75) then
  252.    if(Token ~= false) then
  253.     if(player:GetItemByEntry(TokenId) >= TokenAmt5) then
  254.      player:SetLevel(80)
  255.      player:RemoveItem(TokenId, TokenAmt5)
  256.       else
  257.        player:SendBroadcastMessage("[Server Notification] You don't have enough "..(result:GetColumn(3):GetString())..".") return end
  258.         else
  259.          player:SetLevel(80)
  260.          end
  261.            else
  262.             if(player:GetLevel() < 80) then
  263.               if(Token ~= false) then
  264.                if(player:GetItemByEntry(TokenId) >= TokenAmt5) then
  265.                 player:SetLevel(player:GetLevel()+5)
  266.                  player:RemoveItem(TokenId, TokenAmt5)
  267.          else
  268.      player:SendBroadcastMessage("[Server Notification] You don't have enough "..(result:GetColumn(3):GetString())..".") return end
  269.   else
  270.   player:SetLevel(player:GetLevel()+5)
  271.   end
  272. else
  273. player:SendBroadcastMessage("[Server Notification] You are already max leveled.") return end
  274. end
  275.     pUnit:GossipCreateMenu()
  276.     pUnit:GossipMenuAddItem(5, "Back", 999, 0)
  277.     pUnit:GossipMenuAddItem(5, "Exit Menu", 1000, 0)
  278.     pUnit:GossipSendMenu(player)
  279. end    
  280.  
  281.  
  282.  
  283. if(intid == 1000) then
  284. player:GossipComplete()
  285. end
  286.  
  287. if(intid == 999) then
  288.       pUnit:GossipCreateMenu(100, player, 0)
  289.       pUnit:GossipMenuAddItem(3, "Level me up to 80!", 1, 0)
  290.       pUnit:GossipMenuAddItem(3, "Grant me 40 levels!", 2, 0)
  291.       pUnit:GossipMenuAddItem(3, "Grant me 25 levels!", 3, 0)
  292.       pUnit:GossipMenuAddItem(3, "Grant me 10 levels!", 4, 0)
  293.       pUnit:GossipMenuAddItem(3, "Grant me 5 levels!", 5, 0)
  294.       pUnit:GossipSendMenu(player)
  295. end
  296.  
  297. end
  298.  
  299. RegisterCreatureGossipEvent(NpcId, 1, HELLO)
  300. RegisterCreatureGossipEvent(NpcId, 2, SELECT)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement