Advertisement
Rochet2

Example mount vendor

Jun 7th, 2014
396
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.79 KB | None | 0 0
  1. local T =
  2. {
  3.     {
  4.         Name = "Ground",
  5.         Token = 123123,
  6.         Mounts = {
  7.         --  {"Name", cost, mount},
  8.             {"Name", 10, 123123},
  9.         },
  10.     },
  11.     {
  12.         Name = "Water",
  13.         Token = 123123,
  14.         Mounts = {
  15.         --  {"Name", cost, mount},
  16.             {"Name", 10, 123123},
  17.         },
  18.     },
  19.     {
  20.         Name = "Flying",
  21.         Token = 123123,
  22.         Mounts = {
  23.         --  {"Name", cost, mount},
  24.             {"Name", 10, 123123},
  25.         },
  26.     },
  27. }
  28.  
  29. local function OnHello(event, player, creature)
  30.     for k,v in ipairs(T) do
  31.         player:GossipMenuAddItem(3, v.Name, k, 0)
  32.     end
  33.     player:GossipSendMenu(100, creature)
  34. end
  35.  
  36. local function OnSelect(event, player, creature, sender, action, code)
  37.     if(T[sender]) then
  38.         if (T[sender].Mounts[action]) then
  39.             if (playerHasItem(T[sender].Token, T[sender].Mounts[action][2], false)) then
  40.                 -- learn mount
  41.                 player:RemoveItem(T[sender].Token, T[sender].Mounts[action][2])
  42.                 player:LearnSpell(T[sender].Mounts[action][3])
  43.             else
  44.                 -- not enough tokens
  45.                 player:SendNotification("Not enough tokens")
  46.             end
  47.             OnSelect(event, player, creature, sender, 0, code) -- show mount menu again
  48.         else
  49.             -- show mounts
  50.             for k,v in ipairs(T[sender].Mounts) do
  51.                 player:GossipMenuAddItem(4, v[1], sender, k, false, "This mount costs "..v[2].." "..GetItemLink(T[sender].Token, player:GetDbLocaleIndex()))
  52.             end
  53.             player:GossipSendMenu(100, creature)
  54.         end
  55.         return
  56.     end
  57.     player:GossipComplete()
  58. end
  59.  
  60. RegisterCreatureGossipEvent(123123, 1, OnHello)
  61. RegisterCreatureGossipEvent(123123, 2, OnSelect)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement