Advertisement
Guest User

Laurea

a guest
Aug 12th, 2010
378
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 73.39 KB | None | 0 0
  1. --[[
  2. #################################
  3. #                               #
  4. #                               #
  5. #        Made by Laurea         #
  6. #                               #
  7. #                               #
  8. #################################
  9.  
  10. How to use:
  11. Create the item in items.
  12. Fill in required data in bindings_items.
  13. Add the items name in a gossip menu.
  14. Done.
  15. Note:
  16. Do not add more than 24 items to each gossip menu, else the Back button will stop functioning.
  17. ]]
  18.  
  19. Prof = {}
  20. Prof.Anvil = {}
  21. Prof.Binder = {}
  22.  
  23. local anvilid = 89003 --Id of anvil
  24. local binderid = 89002 --Id of the npc you get the tome of binding from
  25. local tomeid = 89001 --Id of tome of binding
  26. local minlevel = 80 --Minimum level to start the profession. Default: 80
  27. local enabletransmute = 1 --Enables transmuting resources (1 = enable, 0 = disable)
  28. local itemspertransmute = 2 --How many of 1 item you need to transmute into another. Default: 2
  29.  
  30. --Ids of resources
  31. local Thread = 88001
  32. local Cloth = 88002
  33. local Leather = 88003
  34. local Metal = 88004
  35. local Gems = 88005
  36. local Scrolls = 88006
  37. local Tears = 88007
  38. local Scales = 88008
  39.  
  40. function Prof.Anvil.Gossip(object, event, player)
  41.     if player:HasItem(tomeid) == true then
  42.         object:GossipCreateMenu(100, player, 0)
  43.         object:GossipMenuAddItem(0, "Weapon Binds", 10, 0)
  44.         object:GossipMenuAddItem(0, "Armor Binds", 20, 0)
  45.         object:GossipMenuAddItem(0, "Bind Item", 2, 3)
  46.         object:GossipMenuAddItem(0, "Bind Info", 3, 3)
  47.         if enabletransmute == 1 then
  48.             object:GossipMenuAddItem(0, "Transmute", 4, 0)
  49.         end
  50.         object:GossipSendMenu(player)
  51.     else
  52.         player:SendBroadcastMessage("You do not have any Tome of Binding")
  53.     end
  54. end
  55.  
  56. function Prof.Anvil.Select(object, event, player, id, intid, code)
  57. --Weapon names
  58.     if (intid == 1111) then --One handed maces
  59.         object:GossipCreateMenu(100, player, 0)
  60.         object:GossipMenuAddItem(0, "Back", 111, 0)
  61.         object:GossipSendMenu(player)
  62.     elseif (intid == 1112) then --Two handed maces
  63.         object:GossipCreateMenu(100, player, 0)
  64.         object:GossipMenuAddItem(0, "Back", 111, 0)
  65.         object:GossipSendMenu(player)
  66.     elseif (intid == 1121) then --One handed swords
  67.         object:GossipCreateMenu(100, player, 0)
  68.         object:GossipMenuAddItem(0, "Back", 112, 0)
  69.         object:GossipSendMenu(player)
  70.     elseif (intid == 1122) then --Two handed swords
  71.         object:GossipCreateMenu(100, player, 0)
  72.         object:GossipMenuAddItem(0, "Back", 112, 0)
  73.         object:GossipSendMenu(player)
  74.     elseif (intid == 1131) then --One handed axes
  75.         object:GossipCreateMenu(100, player, 0)
  76.         object:GossipMenuAddItem(0, "Back", 113, 0)
  77.         object:GossipSendMenu(player)
  78.     elseif (intid == 1132) then --Two handed axes
  79.         object:GossipCreateMenu(100, player, 0)
  80.         object:GossipMenuAddItem(0, "Back", 113, 0)
  81.         object:GossipSendMenu(player)
  82.     elseif (intid == 1142) then --Staves
  83.         object:GossipCreateMenu(100, player, 0)
  84.         object:GossipMenuAddItem(0, "Back", 114, 0)
  85.         object:GossipSendMenu(player)
  86.     elseif (intid == 1152) then --Polearms
  87.         object:GossipCreateMenu(100, player, 0)
  88.         object:GossipMenuAddItem(0, "Back", 115, 0)
  89.         object:GossipSendMenu(player)
  90.     elseif (intid == 1161) then --Fist weapons
  91.         object:GossipCreateMenu(100, player, 0)
  92.         object:GossipMenuAddItem(0, "Back", 116, 0)
  93.         object:GossipSendMenu(player)
  94.     elseif (intid == 1171) then --Daggers
  95.         object:GossipCreateMenu(100, player, 0)
  96.         object:GossipMenuAddItem(0, "Back", 117, 0)
  97.         object:GossipSendMenu(player)
  98.     elseif (intid == 1213) then --Bows
  99.         object:GossipCreateMenu(100, player, 0)
  100.         object:GossipMenuAddItem(0, "Back", 121, 0)
  101.         object:GossipSendMenu(player)
  102.     elseif (intid == 1223) then --Crossbows
  103.         object:GossipCreateMenu(100, player, 0)
  104.         object:GossipMenuAddItem(0, "Back", 122, 0)
  105.         object:GossipSendMenu(player)
  106.     elseif (intid == 1233) then --Guns
  107.         object:GossipCreateMenu(100, player, 0)
  108.         object:GossipMenuAddItem(0, "Back", 123, 0)
  109.         object:GossipSendMenu(player)
  110.     elseif (intid == 1243) then --Wands
  111.         object:GossipCreateMenu(100, player, 0)
  112.         object:GossipMenuAddItem(0, "Back", 124, 0)
  113.         object:GossipSendMenu(player)
  114.     elseif (intid == 1253) then --Thrown
  115.         object:GossipCreateMenu(100, player, 0)
  116.         object:GossipMenuAddItem(0, "Back", 125, 0)
  117.         object:GossipSendMenu(player)
  118. --Armor/misc names
  119.     elseif (intid == 211) then --Cloth head
  120.         object:GossipCreateMenu(100, player, 0)
  121.         object:GossipMenuAddItem(0, "Back", 21, 0)
  122.         object:GossipSendMenu(player)
  123.     elseif (intid == 212) then --Cloth shoulders
  124.         object:GossipCreateMenu(100, player, 0)
  125.         object:GossipMenuAddItem(0, "Back", 21, 0)
  126.         object:GossipSendMenu(player)
  127.     elseif (intid == 213) then --Cloth chest
  128.         object:GossipCreateMenu(100, player, 0)
  129.         object:GossipMenuAddItem(0, "Back", 21, 0)
  130.         object:GossipSendMenu(player)
  131.     elseif (intid == 214) then --Cloth wrists
  132.         object:GossipCreateMenu(100, player, 0)
  133.         object:GossipMenuAddItem(0, "Back", 21, 0)
  134.         object:GossipSendMenu(player)
  135.     elseif (intid == 215) then --Cloth hands
  136.         object:GossipCreateMenu(100, player, 0)
  137.         object:GossipMenuAddItem(0, "Back", 21, 0)
  138.         object:GossipSendMenu(player)
  139.     elseif (intid == 216) then --Cloth waist
  140.         object:GossipCreateMenu(100, player, 0)
  141.         object:GossipMenuAddItem(0, "Back", 21, 0)
  142.         object:GossipSendMenu(player)
  143.     elseif (intid == 217) then --Cloth legs
  144.         object:GossipCreateMenu(100, player, 0)
  145.         object:GossipMenuAddItem(0, "Back", 21, 0)
  146.         object:GossipSendMenu(player)
  147.     elseif (intid == 218) then --Cloth feet
  148.         object:GossipCreateMenu(100, player, 0)
  149.         object:GossipMenuAddItem(0, "Back", 21, 0)
  150.         object:GossipSendMenu(player)
  151.     elseif (intid == 221) then --Leather head
  152.         object:GossipCreateMenu(100, player, 0)
  153.         object:GossipMenuAddItem(0, "Back", 22, 0)
  154.         object:GossipSendMenu(player)
  155.     elseif (intid == 222) then --Leather shoulders
  156.         object:GossipCreateMenu(100, player, 0)
  157.         object:GossipMenuAddItem(0, "Back", 22, 0)
  158.         object:GossipSendMenu(player)
  159.     elseif (intid == 223) then --Leather chest
  160.         object:GossipCreateMenu(100, player, 0)
  161.         object:GossipMenuAddItem(0, "Back", 22, 0)
  162.         object:GossipSendMenu(player)
  163.     elseif (intid == 224) then --Leather wrists
  164.         object:GossipCreateMenu(100, player, 0)
  165.         object:GossipMenuAddItem(0, "Back", 22, 0)
  166.         object:GossipSendMenu(player)
  167.     elseif (intid == 225) then --Leather hands
  168.         object:GossipCreateMenu(100, player, 0)
  169.         object:GossipMenuAddItem(0, "Back", 22, 0)
  170.         object:GossipSendMenu(player)
  171.     elseif (intid == 226) then --Leather waist
  172.         object:GossipCreateMenu(100, player, 0)
  173.         object:GossipMenuAddItem(0, "Back", 22, 0)
  174.         object:GossipSendMenu(player)
  175.     elseif (intid == 227) then --Leather legs
  176.         object:GossipCreateMenu(100, player, 0)
  177.         object:GossipMenuAddItem(0, "Back", 22, 0)
  178.         object:GossipSendMenu(player)
  179.     elseif (intid == 228) then --Leather feet
  180.         object:GossipCreateMenu(100, player, 0)
  181.         object:GossipMenuAddItem(0, "Back", 22, 0)
  182.         object:GossipSendMenu(player)
  183.     elseif (intid == 231) then --Mail head
  184.         object:GossipCreateMenu(100, player, 0)
  185.         object:GossipMenuAddItem(0, "Back", 23, 0)
  186.         object:GossipSendMenu(player)
  187.     elseif (intid == 232) then --Mail shoulders
  188.         object:GossipCreateMenu(100, player, 0)
  189.         object:GossipMenuAddItem(0, "Back", 23, 0)
  190.         object:GossipSendMenu(player)
  191.     elseif (intid == 233) then --Mail chest
  192.         object:GossipCreateMenu(100, player, 0)
  193.         object:GossipMenuAddItem(0, "Back", 23, 0)
  194.         object:GossipSendMenu(player)
  195.     elseif (intid == 234) then --Mail wrists
  196.         object:GossipCreateMenu(100, player, 0)
  197.         object:GossipMenuAddItem(0, "Back", 23, 0)
  198.         object:GossipSendMenu(player)
  199.     elseif (intid == 235) then --Mail hands
  200.         object:GossipCreateMenu(100, player, 0)
  201.         object:GossipMenuAddItem(0, "Back", 23, 0)
  202.         object:GossipSendMenu(player)
  203.     elseif (intid == 236) then --Mail waist
  204.         object:GossipCreateMenu(100, player, 0)
  205.         object:GossipMenuAddItem(0, "Back", 23, 0)
  206.         object:GossipSendMenu(player)
  207.     elseif (intid == 237) then --Mail legs
  208.         object:GossipCreateMenu(100, player, 0)
  209.         object:GossipMenuAddItem(0, "Back", 23, 0)
  210.         object:GossipSendMenu(player)
  211.     elseif (intid == 238) then --Mail feet
  212.         object:GossipCreateMenu(100, player, 0)
  213.         object:GossipMenuAddItem(0, "Back", 23, 0)
  214.         object:GossipSendMenu(player)
  215.     elseif (intid == 241) then --Plate head
  216.         object:GossipCreateMenu(100, player, 0)
  217.         object:GossipMenuAddItem(0, "Back", 24, 0)
  218.         object:GossipSendMenu(player)
  219.     elseif (intid == 242) then --Plate shoulders
  220.         object:GossipCreateMenu(100, player, 0)
  221.         object:GossipMenuAddItem(0, "Back", 24, 0)
  222.         object:GossipSendMenu(player)
  223.     elseif (intid == 243) then --Plate chest
  224.         object:GossipCreateMenu(100, player, 0)
  225.         object:GossipMenuAddItem(0, "Back", 24, 0)
  226.         object:GossipSendMenu(player)
  227.     elseif (intid == 244) then --Plate wrists
  228.         object:GossipCreateMenu(100, player, 0)
  229.         object:GossipMenuAddItem(0, "Back", 24, 0)
  230.         object:GossipSendMenu(player)
  231.     elseif (intid == 245) then --Plate hands
  232.         object:GossipCreateMenu(100, player, 0)
  233.         object:GossipMenuAddItem(0, "Back", 24, 0)
  234.         object:GossipSendMenu(player)
  235.     elseif (intid == 246) then --Plate waist
  236.         object:GossipCreateMenu(100, player, 0)
  237.         object:GossipMenuAddItem(0, "Back", 24, 0)
  238.         object:GossipSendMenu(player)
  239.     elseif (intid == 247) then --Plate legs
  240.         object:GossipCreateMenu(100, player, 0)
  241.         object:GossipMenuAddItem(0, "Back", 24, 0)
  242.         object:GossipSendMenu(player)
  243.     elseif (intid == 248) then --Plate feet
  244.         object:GossipCreateMenu(100, player, 0)
  245.         object:GossipMenuAddItem(0, "Back", 24, 0)
  246.         object:GossipSendMenu(player)
  247.     elseif (intid == 251) then --Cloaks
  248.         object:GossipCreateMenu(100, player, 0)
  249.         object:GossipMenuAddItem(0, "Back", 25, 0)
  250.         object:GossipSendMenu(player)
  251.     elseif (intid == 252) then --Relics
  252.         object:GossipCreateMenu(100, player, 0)
  253.         object:GossipMenuAddItem(0, "Back", 25, 0)
  254.         object:GossipSendMenu(player)
  255.     elseif (intid == 253) then --Totems
  256.         object:GossipCreateMenu(100, player, 0)
  257.         object:GossipMenuAddItem(0, "Back", 25, 0)
  258.         object:GossipSendMenu(player)
  259.     elseif (intid == 254) then --Librams
  260.         object:GossipCreateMenu(100, player, 0)
  261.         object:GossipMenuAddItem(0, "Back", 25, 0)
  262.         object:GossipSendMenu(player)
  263.     elseif (intid == 255) then --Sigils
  264.         object:GossipCreateMenu(100, player, 0)
  265.         object:GossipMenuAddItem(0, "Back", 25, 0)
  266.         object:GossipSendMenu(player)
  267.     elseif (intid == 256) then --Necks
  268.         object:GossipCreateMenu(100, player, 0)
  269.         object:GossipMenuAddItem(0, "Back", 25, 0)
  270.         object:GossipSendMenu(player)
  271.     elseif (intid == 257) then --Rings
  272.         object:GossipCreateMenu(100, player, 0)
  273.         object:GossipMenuAddItem(0, "Back", 25, 0)
  274.         object:GossipSendMenu(player)
  275.     elseif (intid == 258) then --Trinkets
  276.         object:GossipCreateMenu(100, player, 0)
  277.         object:GossipMenuAddItem(0, "Back", 25, 0)
  278.         object:GossipSendMenu(player)
  279. --[[
  280. ################################################
  281. #                                              #
  282. #   DO NOT EDIT ANYTHING BEYOND THIS POINT!    #
  283. #                                              #
  284. ################################################
  285. ]]
  286. --Bind Item
  287.     elseif (intid == 2) then
  288.         local item = WorldDBQuery("SELECT `item_name`, `item_id`, `required_recipe`, `required_quest`,  `required_level`, `thread`, `cloth`, `leather`, `metal`, `gems`, `imbued scrolls`, `dragon tears`, `scales`, `levelup_orange`, `levelup_yellow`, `levelup_green`, `levelup_gray` FROM `world`.`binding_items` WHERE `item_name`='"..code.."'")
  289.         if item == nil then
  290.             player:SendBroadcastMessage("That item does not exist")
  291.             player:GossipComplete()
  292.         else
  293.             local playerlevel = WorldDBQuery("SELECT `player_name`, `binding_level` FROM `world`.`binding_levels` WHERE `player_name`='"..player:GetName().."'")
  294.             local level = tonumber(playerlevel:GetColumn(1):GetString())
  295.             local requiredlevel = tonumber(item:GetColumn(4):GetString())
  296.             if level < requiredlevel then
  297.                 player:SendBroadcastMessage("Your binding level is too low for you to bind this item")
  298.                 player:GossipComplete()
  299.             else
  300.                 local quest = tonumber(item:GetColumn(3):GetString())
  301.                 local recipe = tonumber(item:GetColumn(2):GetString())
  302.                 if quest ~= 0 then
  303.                     if player:HasFinishedQuest(quest) == false then
  304.                         player:SendBroadcastMessage("You have not completed the required quest to bind this item")
  305.                     else
  306.                         if recipe ~= 0 then
  307.                             if player:HasItem(recipe) == false then
  308.                                 player:SendBroadcastMessage("You do not have the required recipe to bind this item")
  309.                                 player:GossipComplete()
  310.                             else
  311.                                 local threadneeded = tonumber(item:GetColumn(5):GetString())
  312.                                 local clothneeded = tonumber(item:GetColumn(6):GetString())
  313.                                 local leatherneeded = tonumber(item:GetColumn(7):GetString())
  314.                                 local metalneeded = tonumber(item:GetColumn(8):GetString())
  315.                                 local gemsneeded = tonumber(item:GetColumn(9):GetString())
  316.                                 local scrollsneeded = tonumber(item:GetColumn(10):GetString())
  317.                                 local tearsneeded = tonumber(item:GetColumn(11):GetString())
  318.                                 local scalesneeded = tonumber(item:GetColumn(12):GetString())
  319.                                 if player:GetItemCount(Thread) >= threadneeded and player:GetItemCount(Cloth) >= clothneeded and player:GetItemCount(Leather) >= leatherneeded and player:GetItemCount(Metal) >= metalneeded and player:GetItemCount(Gems) >= gemsneeded and player:GetItemCount(Scrolls) >= scrollsneeded and player:GetItemCount(Tears) >= tearsneeded and player:GetItemCount(Scales) >= scalesneeded then
  320.                                     if player:AddItem(itemid, 1) then
  321.                                         player:RemoveItem(Thread, threadneeded)
  322.                                         player:RemoveItem(Cloth, clothneeded)
  323.                                         player:RemoveItem(Leather, leatherneeded)
  324.                                         player:RemoveItem(Metal, metalneeded)
  325.                                         player:RemoveItem(Gems, gemsneeded)
  326.                                         player:RemoveItem(Scrolls, scrollsneeded)
  327.                                         player:RemoveItem(Tears, tearsneeded)
  328.                                         player:RemoveItem(Scales, scalesneeded)
  329.                                         player:RemoveItem(recipe, 1)
  330.                                         player:CastSpell()
  331.                                         player:SendBroadcastMessage("You succesfully bind the item, but the recipe mysteriously disappears. A slowly fading presence of magic can be felt in the air..")
  332.                                         local orange = tonumber(item:GetColumn(13):GetString())
  333.                                         local yellow = tonumber(item:GetColumn(14):GetString())
  334.                                         local green = tonumber(item:GetColumn(15):GetString())
  335.                                         local gray = tonumber(item:GetColumn(16):GetString())
  336.                                         if level >= orange and level < yellow then
  337.                                             level = level+1
  338.                                             player:SendBroadcastMessage("|cff4747FFYou skill in Binding has increased to "..level..".|r")
  339.                                             WorldDBQuery("UPDATE `binding_levels` SET `binding_level`="..level.." WHERE `player_name`='"..player:GetName().."'")
  340.                                         elseif level >= yellow and level < green then
  341.                                             local chance = math.random(1, 2)
  342.                                             if chance == 1 then
  343.                                                 level = level+1
  344.                                                 player:SendBroadcastMessage("|cff4747FFYou skill in Binding has increased to "..level..".|r")
  345.                                                 WorldDBQuery("UPDATE `binding_levels` SET `binding_level`="..level.." WHERE `player_name`='"..player:GetName().."'")
  346.                                             end
  347.                                         elseif level >= green and level < gray then
  348.                                             local chance = math.random(1, 10)
  349.                                             if chance == 1 then
  350.                                                 level = level+1
  351.                                                 player:SendBroadcastMessage("|cff4747FFYou skill in Binding has increased to "..level..".|r")
  352.                                                 WorldDBQuery("UPDATE `binding_levels` SET `binding_level`="..level.." WHERE `player_name`='"..player:GetName().."'")
  353.                                             end
  354.                                         end
  355.                                     end
  356.                                     player:SendBroadcastMessage("You do not have enought bag space")
  357.                                     player:GossipComplete()
  358.                                 else
  359.                                 player:SendBroadcastMessage("You do not have enought resources to bind this item")
  360.                                 player:GossipComplete()
  361.                                 end
  362.                             end
  363.                         elseif recipe == 0 then
  364.                             local threadneeded = tonumber(item:GetColumn(5):GetString())
  365.                             local clothneeded = tonumber(item:GetColumn(6):GetString())
  366.                             local leatherneeded = tonumber(item:GetColumn(7):GetString())
  367.                             local metalneeded = tonumber(item:GetColumn(8):GetString())
  368.                             local gemsneeded = tonumber(item:GetColumn(9):GetString())
  369.                             local scrollsneeded = tonumber(item:GetColumn(10):GetString())
  370.                             local tearsneeded = tonumber(item:GetColumn(11):GetString())
  371.                             local scalesneeded = tonumber(item:GetColumn(12):GetString())
  372.                             if player:GetItemCount(Thread) >= threadneeded and player:GetItemCount(Cloth) >= clothneeded and player:GetItemCount(Leather) >= leatherneeded and player:GetItemCount(Metal) >= metalneeded and player:GetItemCount(Gems) >= gemsneeded and player:GetItemCount(Scrolls) >= scrollsneeded and player:GetItemCount(Tears) >= tearsneeded and player:GetItemCount(Scales) >= scalesneeded then
  373.                                 local itemid = tonumber(item:GetColumn(1):GetString())
  374.                                 player:RemoveItem(Thread, threadneeded)
  375.                                 player:RemoveItem(Cloth, clothneeded)
  376.                                 player:RemoveItem(Leather, leatherneeded)
  377.                                 player:RemoveItem(Metal, metalneeded)
  378.                                 player:RemoveItem(Gems, gemsneeded)
  379.                                 player:RemoveItem(Scrolls, scrollsneeded)
  380.                                 player:RemoveItem(Tears, tearsneeded)
  381.                                 player:RemoveItem(Scales, scalesneeded)
  382.                                 player:RemoveItem(recipe, 1)
  383.                                 player:AddItem(itemid, 1)
  384.                                 local orange = tonumber(item:GetColumn(13):GetString())
  385.                                 local yellow = tonumber(item:GetColumn(14):GetString())
  386.                                 local green = tonumber(item:GetColumn(15):GetString())
  387.                                 local gray = tonumber(item:GetColumn(16):GetString())
  388.                                 if level >= orange and level < yellow then
  389.                                     level = level+1
  390.                                     player:SendBroadcastMessage("|cff4747FFYou skill in Binding has increased to "..level..".|r")
  391.                                     WorldDBQuery("UPDATE `binding_levels` SET `binding_level`="..level.." WHERE `player_name`='"..player:GetName().."'")
  392.                                 elseif level >= yellow and level < green then
  393.                                     local chance = math.random(1, 2)
  394.                                     if chance == 1 then
  395.                                         level = level+1
  396.                                         player:SendBroadcastMessage("|cff4747FFYou skill in Binding has increased to "..level..".|r")
  397.                                         WorldDBQuery("UPDATE `binding_levels` SET `binding_level`="..level.." WHERE `player_name`='"..player:GetName().."'")
  398.                                     end
  399.                                 elseif level >= green and level < gray then
  400.                                     local chance = math.random(1, 10)
  401.                                     if chance == 1 then
  402.                                         level = level+1
  403.                                         player:SendBroadcastMessage("|cff4747FFYou skill in Binding has increased to "..level..".|r")
  404.                                         WorldDBQuery("UPDATE `binding_levels` SET `binding_level`="..level.." WHERE `player_name`='"..player:GetName().."'")
  405.                                     end
  406.                                 end
  407.                                 player:GossipComplete()
  408.                             else
  409.                                 player:SendBroadcastMessage("You do not have enought resources to bind this item")
  410.                                 player:GossipComplete()
  411.                             end
  412.                         end
  413.                     end
  414.                 elseif quest == 0 then
  415.                     if recipe ~= 0 then
  416.                         if player:HasItem(recipe) == false then
  417.                             player:SendBroadcastMessage("You do not have the required recipe to bind this item")
  418.                             player:GossipComplete()
  419.                         else
  420.                             local threadneeded = tonumber(item:GetColumn(5):GetString())
  421.                             local clothneeded = tonumber(item:GetColumn(6):GetString())
  422.                             local leatherneeded = tonumber(item:GetColumn(7):GetString())
  423.                             local metalneeded = tonumber(item:GetColumn(8):GetString())
  424.                             local gemsneeded = tonumber(item:GetColumn(9):GetString())
  425.                             local scrollsneeded = tonumber(item:GetColumn(10):GetString())
  426.                             local tearsneeded = tonumber(item:GetColumn(11):GetString())
  427.                             local scalesneeded = tonumber(item:GetColumn(12):GetString())
  428.                             if player:GetItemCount(Thread) >= threadneeded and player:GetItemCount(Cloth) >= clothneeded and player:GetItemCount(Leather) >= leatherneeded and player:GetItemCount(Metal) >= metalneeded and player:GetItemCount(Gems) >= gemsneeded and player:GetItemCount(Scrolls) >= scrollsneeded and player:GetItemCount(Tears) >= tearsneeded and player:GetItemCount(Scales) >= scalesneeded then
  429.                                 local itemid = tonumber(item:GetColumn(1):GetString())
  430.                                 player:RemoveItem(Thread, threadneeded)
  431.                                 player:RemoveItem(Cloth, clothneeded)
  432.                                 player:RemoveItem(Leather, leatherneeded)
  433.                                 player:RemoveItem(Metal, metalneeded)
  434.                                 player:RemoveItem(Gems, gemsneeded)
  435.                                 player:RemoveItem(Scrolls, scrollsneeded)
  436.                                 player:RemoveItem(Tears, tearsneeded)
  437.                                 player:RemoveItem(Scales, scalesneeded)
  438.                                 player:RemoveItem(recipe, 1)
  439.                                 player:AddItem(itemid, 1)
  440.                                 player:SendBroadcastMessage("You succesfully bind the item, but the recipe mysteriously disappears. A slowly fading presence of magic can be felt in the air..")
  441.                                 local orange = tonumber(item:GetColumn(13):GetString())
  442.                                 local yellow = tonumber(item:GetColumn(14):GetString())
  443.                                 local green = tonumber(item:GetColumn(15):GetString())
  444.                                 local gray = tonumber(item:GetColumn(16):GetString())
  445.                                 if level >= orange and level < yellow then
  446.                                     level = level+1
  447.                                     player:SendBroadcastMessage("|cff4747FFYou skill in Binding has increased to "..level..".|r")
  448.                                     WorldDBQuery("UPDATE `binding_levels` SET `binding_level`="..level.." WHERE `player_name`='"..player:GetName().."'")
  449.                                 elseif level >= yellow and level < green then
  450.                                     local chance = math.random(1, 2)
  451.                                     if chance == 1 then
  452.                                         level = level+1
  453.                                         player:SendBroadcastMessage("|cff4747FFYou skill in Binding has increased to "..level..".|r")
  454.                                         WorldDBQuery("UPDATE `binding_levels` SET `binding_level`="..level.." WHERE `player_name`='"..player:GetName().."'")
  455.                                     end
  456.                                 elseif level >= green and level < gray then
  457.                                     local chance = math.random(1, 10)
  458.                                     if chance == 1 then
  459.                                         level = level+1
  460.                                         player:SendBroadcastMessage("|cff4747FFYou skill in Binding has increased to "..level..".|r")
  461.                                         WorldDBQuery("UPDATE `binding_levels` SET `binding_level`="..level.." WHERE `player_name`='"..player:GetName().."'")
  462.                                     end
  463.                                 end
  464.                                 player:GossipComplete()
  465.                             else
  466.                                 player:SendBroadcastMessage("You do not have enought resources to bind this item")
  467.                             player:GossipComplete()
  468.                             end
  469.                         end
  470.                     elseif recipe == 0 then
  471.                         local threadneeded = tonumber(item:GetColumn(5):GetString())
  472.                         local clothneeded = tonumber(item:GetColumn(6):GetString())
  473.                         local leatherneeded = tonumber(item:GetColumn(7):GetString())
  474.                         local metalneeded = tonumber(item:GetColumn(8):GetString())
  475.                         local gemsneeded = tonumber(item:GetColumn(9):GetString())
  476.                         local scrollsneeded = tonumber(item:GetColumn(10):GetString())
  477.                         local tearsneeded = tonumber(item:GetColumn(11):GetString())
  478.                         local scalesneeded = tonumber(item:GetColumn(12):GetString())
  479.                         if player:GetItemCount(Thread) >= threadneeded and player:GetItemCount(Cloth) >= clothneeded and player:GetItemCount(Leather) >= leatherneeded and player:GetItemCount(Metal) >= metalneeded and player:GetItemCount(Gems) >= gemsneeded and player:GetItemCount(Scrolls) >= scrollsneeded and player:GetItemCount(Tears) >= tearsneeded and player:GetItemCount(Scales) >= scalesneeded then
  480.                             local itemid = tonumber(item:GetColumn(1):GetString())
  481.                             player:RemoveItem(Thread, threadneeded)
  482.                             player:RemoveItem(Cloth, clothneeded)
  483.                             player:RemoveItem(Leather, leatherneeded)
  484.                             player:RemoveItem(Metal, metalneeded)
  485.                             player:RemoveItem(Gems, gemsneeded)
  486.                             player:RemoveItem(Scrolls, scrollsneeded)
  487.                             player:RemoveItem(Tears, tearsneeded)
  488.                             player:RemoveItem(Scales, scalesneeded)
  489.                             player:RemoveItem(recipe, 1)
  490.                             player:AddItem(itemid, 1)
  491.                             local orange = tonumber(item:GetColumn(13):GetString())
  492.                             local yellow = tonumber(item:GetColumn(14):GetString())
  493.                             local green = tonumber(item:GetColumn(15):GetString())
  494.                             local gray = tonumber(item:GetColumn(16):GetString())
  495.                             if level >= orange and level < yellow then
  496.                                 level = level+1
  497.                                 player:SendBroadcastMessage("|cff4747FFYou skill in Binding has increased to "..level..".|r")
  498.                                 WorldDBQuery("UPDATE `binding_levels` SET `binding_level`="..level.." WHERE `player_name`='"..player:GetName().."'")
  499.                             elseif level >= yellow and level < green then
  500.                                 local chance = math.random(1, 2)
  501.                                 if chance == 1 then
  502.                                     level = level+1
  503.                                     player:SendBroadcastMessage("|cff4747FFYou skill in Binding has increased to "..level..".|r")
  504.                                     WorldDBQuery("UPDATE `binding_levels` SET `binding_level`="..level.." WHERE `player_name`='"..player:GetName().."'")
  505.                                 end
  506.                             elseif level >= green and level < gray then
  507.                                 local chance = math.random(1, 10)
  508.                                 if chance == 1 then
  509.                                     level = level+1
  510.                                     player:SendBroadcastMessage("|cff4747FFYou skill in Binding has increased to "..level..".|r")
  511.                                     WorldDBQuery("UPDATE `binding_levels` SET `binding_level`="..level.." WHERE `player_name`='"..player:GetName().."'")
  512.                                 end
  513.                             end
  514.                             player:GossipComplete()
  515.                         else
  516.                             player:SendBroadcastMessage("You do not have enought resources to bind this item")
  517.                             player:GossipComplete()
  518.                         end
  519.                     end
  520.                 end
  521.             end
  522.         end
  523. --Recipe Info
  524.     elseif (intid == 3) then
  525.         local name = code:lower()
  526.         local item = WorldDBQuery("SELECT `item_name`, `item_id`, `required_recipe`, `required_quest`, `required_level`, `thread`, `cloth`, `leather`, `metal`, `gems`, `imbued scrolls`, `dragon tears`, `scales`, `levelup_orange`, `levelup_yellow`, `levelup_green`, `levelup_gray` FROM `world`.`binding_items` WHERE `item_name`='"..name.."'")
  527.         if item == nil then
  528.             player:SendBroadcastMessage("That item does not exist")
  529.             player:GossipComplete()
  530.         else
  531.             local itemname = item:GetColumn(0):GetString()
  532.             local recipe = tonumber(item:GetColumn(2):GetString())
  533.             if recipe ~= 0 then
  534.                 recipeitem = WorldDBQuery("SELECT `name1` FROM `world`.`items` WHERE `entry`="..recipe)
  535.                 recipeneeded = recipeitem:GetColumn(0):GetString()
  536.             end
  537.             local quest = tonumber(item:GetColumn(3):GetString())
  538.             if quest ~= 0 then
  539.                 questquery = WorldDBQuery("SELECT `Title` FROM `world`.`quests` WHERE `entry`="..quest)
  540.                 questneeded = questquery:GetColumn(0):GetString()
  541.             end
  542.             local levelreq = tonumber(item:GetColumn(4):GetString())
  543.             local orange = tonumber(item:GetColumn(13):GetString())
  544.             local yellow = tonumber(item:GetColumn(14):GetString())
  545.             local green = tonumber(item:GetColumn(15):GetString())
  546.             local gray = tonumber(item:GetColumn(16):GetString())
  547.             local threadneeded = tonumber(item:GetColumn(5):GetString())
  548.             local clothneeded = tonumber(item:GetColumn(6):GetString())
  549.             local leatherneeded = tonumber(item:GetColumn(7):GetString())
  550.             local metalneeded = tonumber(item:GetColumn(8):GetString())
  551.             local gemsneeded = tonumber(item:GetColumn(9):GetString())
  552.             local scrollsneeded = tonumber(item:GetColumn(10):GetString())
  553.             local tearsneeded = tonumber(item:GetColumn(11):GetString())
  554.             local scalesneeded = tonumber(item:GetColumn(12):GetString())
  555.             object:GossipCreateMenu(100, player, 0)
  556.             object:GossipMenuAddItem(0, "Binding info for "..itemname, 0, 0)
  557.             if recipe ~= 0 then
  558.                 object:GossipMenuAddItem(0, recipeneeded, 0, 0)
  559.             else
  560.                 object:GossipMenuAddItem(0, "No recipe needed", 0, 0)
  561.             end
  562.             if quest ~= 0 then
  563.                 object:GossipMenuAddItem(0, "Quest - "..questneeded, 0, 0)
  564.             else
  565.                 object:GossipMenuAddItem(0, "No quest required", 0, 0)
  566.             end
  567.             object:GossipMenuAddItem(0, "Thread: "..threadneeded, 0, 0)
  568.             object:GossipMenuAddItem(0, "Cloth: "..clothneeded, 0, 0)
  569.             object:GossipMenuAddItem(0, "Leather: "..leatherneeded, 0, 0)
  570.             object:GossipMenuAddItem(0, "Metal: "..metalneeded, 0, 0)
  571.             object:GossipMenuAddItem(0, "Gems: "..gemsneeded, 0, 0)
  572.             object:GossipMenuAddItem(0, "Imbued Scrolls: "..scrollsneeded, 0, 0)
  573.             object:GossipMenuAddItem(0, "Dragon Tears: "..tearsneeded, 0, 0)
  574.             object:GossipMenuAddItem(0, "Scales: "..scalesneeded, 0, 0)
  575.             object:GossipMenuAddItem(0, "Binding level required: "..levelreq, 0, 0)
  576.             object:GossipMenuAddItem(0, "Orange: "..orange, 0, 0)
  577.             object:GossipMenuAddItem(0, "Yellow: "..yellow, 0, 0)
  578.             object:GossipMenuAddItem(0, "Green: "..green, 0, 0)
  579.             object:GossipMenuAddItem(0, "Gray: "..gray, 0, 0)
  580.             recipeitem = nil
  581.             recipeneeded = nil
  582.             questquery = nil
  583.             questneeded = nil
  584.             object:GossipSendMenu(player)
  585.         end
  586. --Transmuting
  587.     elseif (intid == 4) then
  588.         object:GossipCreateMenu(100, player, 0)
  589.         object:GossipMenuAddItem(0, "Thread", 41, 0)
  590.         object:GossipMenuAddItem(0, "Cloth", 42, 0)
  591.         object:GossipMenuAddItem(0, "Leather", 43, 0)
  592.         object:GossipMenuAddItem(0, "Metal", 44, 0)
  593.         object:GossipMenuAddItem(0, "Gems", 45, 0)
  594.         object:GossipMenuAddItem(0, "Imbued Scrolls", 46, 0)
  595.         object:GossipMenuAddItem(0, "Dragon Tears", 47, 0)
  596.         object:GossipMenuAddItem(0, "Scales", 48, 0)
  597.         object:GossipMenuAddItem(0, "Back", 9, 0)
  598.         object:GossipSendMenu(player)
  599.     elseif (intid == 41) then
  600.         object:GossipCreateMenu(100, player, 0)
  601.         object:GossipMenuAddItem(0, "from Cloth", 412, 3)
  602.         object:GossipMenuAddItem(0, "from Leather", 413, 3)
  603.         object:GossipMenuAddItem(0, "from Metal", 414, 3)
  604.         object:GossipMenuAddItem(0, "from Gems", 415, 3)
  605.         object:GossipMenuAddItem(0, "from Imbued Scrolls", 416, 3)
  606.         object:GossipMenuAddItem(0, "from Dragon Tears", 417, 3)
  607.         object:GossipMenuAddItem(0, "from Scales", 418, 3)
  608.         object:GossipMenuAddItem(0, "Back", 4, 0)
  609.         object:GossipSendMenu(player)
  610.     elseif (intid == 412) then
  611.         check = {}
  612.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  613.         if check[1] ~= nil then
  614.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  615.             player:GossipComplete()
  616.         else
  617.             if player:GetItemCount(Cloth) >= (code*itemspertransmute) then
  618.                 player:RemoveItem(Cloth, code*itemspertransmute)
  619.                 player:AddItem(Thread, code)
  620.                 player:GossipComplete()
  621.             else
  622.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  623.                 player:GossipComplete()
  624.             end
  625.         end
  626.     elseif (intid == 413) then
  627.         check = {}
  628.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  629.         if check[1] ~= nil then
  630.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  631.             player:GossipComplete()
  632.         else
  633.             if player:GetItemCount(Leather) >= (code*itemspertransmute) then
  634.                 player:RemoveItem(Leather, code*itemspertransmute)
  635.                 player:AddItem(Thread, code)
  636.                 player:GossipComplete()
  637.             else
  638.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  639.                 player:GossipComplete()
  640.             end
  641.         end
  642.     elseif (intid == 414) then
  643.         check = {}
  644.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  645.         if check[1] ~= nil then
  646.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  647.             player:GossipComplete()
  648.         else
  649.             if player:GetItemCount(Metal) >= (code*itemspertransmute) then
  650.                 player:RemoveItem(Metal, code*itemspertransmute)
  651.                 player:AddItem(Thread, code)
  652.                 player:GossipComplete()
  653.             else
  654.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  655.                 player:GossipComplete()
  656.             end
  657.         end
  658.     elseif (intid == 415) then
  659.         check = {}
  660.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  661.         if check[1] ~= nil then
  662.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  663.             player:GossipComplete()
  664.         else
  665.             if player:GetItemCount(Gems) >= (code*itemspertransmute) then
  666.                 player:RemoveItem(Gems, code*itemspertransmute)
  667.                 player:AddItem(Thread, code)
  668.                 player:GossipComplete()
  669.             else
  670.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  671.                 player:GossipComplete()
  672.             end
  673.         end
  674.     elseif (intid == 416) then
  675.         check = {}
  676.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  677.         if check[1] ~= nil then
  678.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  679.             player:GossipComplete()
  680.         else
  681.             if player:GetItemCount(Scrolls) >= (code*itemspertransmute) then
  682.                 player:RemoveItem(Scrolls, code*itemspertransmute)
  683.                 player:AddItem(Thread, code)
  684.                 player:GossipComplete()
  685.             else
  686.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  687.                 player:GossipComplete()
  688.             end
  689.         end
  690.     elseif (intid == 417) then
  691.         check = {}
  692.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  693.         if check[1] ~= nil then
  694.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  695.             player:GossipComplete()
  696.         else
  697.             if player:GetItemCount(Tears) >= (code*itemspertransmute) then
  698.                 player:RemoveItem(Tears, code*itemspertransmute)
  699.                 player:AddItem(Thread, code)
  700.                 player:GossipComplete()
  701.             else
  702.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  703.                 player:GossipComplete()
  704.             end
  705.         end
  706.     elseif (intid == 418) then
  707.         check = {}
  708.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  709.         if check[1] ~= nil then
  710.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  711.             player:GossipComplete()
  712.         else
  713.             if player:GetItemCount(Scales) >= (code*itemspertransmute) then
  714.                 player:RemoveItem(Scales, code*itemspertransmute)
  715.                 player:AddItem(Thread, code)
  716.                 player:GossipComplete()
  717.             else
  718.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  719.                 player:GossipComplete()
  720.             end
  721.         end
  722.     elseif (intid == 42) then
  723.         object:GossipCreateMenu(100, player, 0)
  724.         object:GossipMenuAddItem(0, "from Thread", 421, 3)
  725.         object:GossipMenuAddItem(0, "from Leather", 423, 3)
  726.         object:GossipMenuAddItem(0, "from Metal", 424, 3)
  727.         object:GossipMenuAddItem(0, "from Gems", 425, 3)
  728.         object:GossipMenuAddItem(0, "from Imbued Scrolls", 426, 3)
  729.         object:GossipMenuAddItem(0, "from Dragon Tears", 427, 3)
  730.         object:GossipMenuAddItem(0, "from Scales", 428, 3)
  731.         object:GossipMenuAddItem(0, "Back", 4, 0)
  732.         object:GossipSendMenu(player)
  733.     elseif (intid == 421) then
  734.         check = {}
  735.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  736.         if check[1] ~= nil then
  737.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  738.             player:GossipComplete()
  739.         else
  740.             if player:GetItemCount(Thread) >= (code*itemspertransmute) then
  741.                 player:RemoveItem(Thread, code*itemspertransmute)
  742.                 player:AddItem(Cloth, code)
  743.                 player:GossipComplete()
  744.             else
  745.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  746.                 player:GossipComplete()
  747.             end
  748.         end
  749.     elseif (intid == 423) then
  750.         check = {}
  751.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  752.         if check[1] ~= nil then
  753.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  754.             player:GossipComplete()
  755.         else
  756.             if player:GetItemCount(Leather) >= (code*itemspertransmute) then
  757.                 player:RemoveItem(Leather, code*itemspertransmute)
  758.                 player:AddItem(Cloth, code)
  759.                 player:GossipComplete()
  760.             else
  761.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  762.                 player:GossipComplete()
  763.             end
  764.         end
  765.     elseif (intid == 424) then
  766.         check = {}
  767.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  768.         if check[1] ~= nil then
  769.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  770.             player:GossipComplete()
  771.         else
  772.             if player:GetItemCount(Metal) >= (code*itemspertransmute) then
  773.                 player:RemoveItem(Metal, code*itemspertransmute)
  774.                 player:AddItem(Cloth, code)
  775.                 player:GossipComplete()
  776.             else
  777.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  778.                 player:GossipComplete()
  779.             end
  780.         end
  781.     elseif (intid == 425) then
  782.         check = {}
  783.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  784.         if check[1] ~= nil then
  785.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  786.             player:GossipComplete()
  787.         else
  788.             if player:GetItemCount(Gems) >= (code*itemspertransmute) then
  789.                 player:RemoveItem(Gems, code*itemspertransmute)
  790.                 player:AddItem(Cloth, code)
  791.                 player:GossipComplete()
  792.             else
  793.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  794.                 player:GossipComplete()
  795.             end
  796.         end
  797.     elseif (intid == 426) then
  798.         check = {}
  799.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  800.         if check[1] ~= nil then
  801.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  802.             player:GossipComplete()
  803.         else
  804.             if player:GetItemCount(Scrolls) >= (code*itemspertransmute) then
  805.                 player:RemoveItem(Scrolls, code*itemspertransmute)
  806.                 player:AddItem(Cloth, code)
  807.                 player:GossipComplete()
  808.             else
  809.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  810.                 player:GossipComplete()
  811.             end
  812.         end
  813.     elseif (intid == 427) then
  814.         check = {}
  815.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  816.         if check[1] ~= nil then
  817.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  818.             player:GossipComplete()
  819.         else
  820.             if player:GetItemCount(Tears) >= (code*itemspertransmute) then
  821.                 player:RemoveItem(Tears, code*itemspertransmute)
  822.                 player:AddItem(Cloth, code)
  823.                 player:GossipComplete()
  824.             else
  825.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  826.                 player:GossipComplete()
  827.             end
  828.         end
  829.     elseif (intid == 428) then
  830.         check = {}
  831.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  832.         if check[1] ~= nil then
  833.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  834.             player:GossipComplete()
  835.         else
  836.             if player:GetItemCount(Scales) >= (code*itemspertransmute) then
  837.                 player:RemoveItem(Scales, code*itemspertransmute)
  838.                 player:AddItem(Cloth, code)
  839.                 player:GossipComplete()
  840.             else
  841.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  842.                 player:GossipComplete()
  843.             end
  844.         end
  845.     elseif (intid == 43) then
  846.         object:GossipCreateMenu(100, player, 0)
  847.         object:GossipMenuAddItem(0, "from Thread", 431, 3)
  848.         object:GossipMenuAddItem(0, "from Cloth", 432, 3)
  849.         object:GossipMenuAddItem(0, "from Metal", 434, 3)
  850.         object:GossipMenuAddItem(0, "from Gems", 435, 3)
  851.         object:GossipMenuAddItem(0, "from Imbued Scrolls", 436, 3)
  852.         object:GossipMenuAddItem(0, "from Dragon Tears", 437, 3)
  853.         object:GossipMenuAddItem(0, "from Scales", 438, 3)
  854.         object:GossipMenuAddItem(0, "Back", 4, 0)
  855.         object:GossipSendMenu(player)
  856.     elseif (intid == 431) then
  857.         check = {}
  858.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  859.         if check[1] ~= nil then
  860.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  861.             player:GossipComplete()
  862.         else
  863.             if player:GetItemCount(Thread) >= (code*itemspertransmute) then
  864.                 player:RemoveItem(Thread, code*itemspertransmute)
  865.                 player:AddItem(Leather, code)
  866.                 player:GossipComplete()
  867.             else
  868.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  869.                 player:GossipComplete()
  870.             end
  871.         end
  872.     elseif (intid == 432) then
  873.         check = {}
  874.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  875.         if check[1] ~= nil then
  876.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  877.             player:GossipComplete()
  878.         else
  879.             if player:GetItemCount(Cloth) >= (code*itemspertransmute) then
  880.                 player:RemoveItem(Cloth, code*itemspertransmute)
  881.                 player:AddItem(Leather, code)
  882.                 player:GossipComplete()
  883.             else
  884.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  885.                 player:GossipComplete()
  886.             end
  887.         end
  888.     elseif (intid == 434) then
  889.         check = {}
  890.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  891.         if check[1] ~= nil then
  892.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  893.             player:GossipComplete()
  894.         else
  895.             if player:GetItemCount(Metal) >= (code*itemspertransmute) then
  896.                 player:RemoveItem(Metal, code*itemspertransmute)
  897.                 player:AddItem(Leather, code)
  898.                 player:GossipComplete()
  899.             else
  900.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  901.                 player:GossipComplete()
  902.             end
  903.         end
  904.     elseif (intid == 435) then
  905.         check = {}
  906.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  907.         if check[1] ~= nil then
  908.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  909.             player:GossipComplete()
  910.         else
  911.             if player:GetItemCount(Gems) >= (code*itemspertransmute) then
  912.                 player:RemoveItem(Gems, code*itemspertransmute)
  913.                 player:AddItem(Leather, code)
  914.                 player:GossipComplete()
  915.             else
  916.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  917.                 player:GossipComplete()
  918.             end
  919.         end
  920.     elseif (intid == 436) then
  921.         check = {}
  922.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  923.         if check[1] ~= nil then
  924.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  925.             player:GossipComplete()
  926.         else
  927.             if player:GetItemCount(Scrolls) >= (code*itemspertransmute) then
  928.                 player:RemoveItem(Scrolls, code*itemspertransmute)
  929.                 player:AddItem(Leather, code)
  930.                 player:GossipComplete()
  931.             else
  932.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  933.                 player:GossipComplete()
  934.             end
  935.         end
  936.     elseif (intid == 437) then
  937.         check = {}
  938.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  939.         if check[1] ~= nil then
  940.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  941.             player:GossipComplete()
  942.         else
  943.             if player:GetItemCount(Tears) >= (code*itemspertransmute) then
  944.                 player:RemoveItem(Tears, code*itemspertransmute)
  945.                 player:AddItem(Leather, code)
  946.                 player:GossipComplete()
  947.             else
  948.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  949.                 player:GossipComplete()
  950.             end
  951.         end
  952.     elseif (intid == 438) then
  953.         check = {}
  954.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  955.         if check[1] ~= nil then
  956.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  957.             player:GossipComplete()
  958.         else
  959.             if player:GetItemCount(Scales) >= (code*itemspertransmute) then
  960.                 player:RemoveItem(Scales, code*itemspertransmute)
  961.                 player:AddItem(Leather, code)
  962.                 player:GossipComplete()
  963.             else
  964.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  965.                 player:GossipComplete()
  966.             end
  967.         end
  968.     elseif (intid == 44) then
  969.         object:GossipCreateMenu(100, player, 0)
  970.         object:GossipMenuAddItem(0, "from Thread", 441, 3)
  971.         object:GossipMenuAddItem(0, "from Cloth", 442, 3)
  972.         object:GossipMenuAddItem(0, "from Leather", 443, 3)
  973.         object:GossipMenuAddItem(0, "from Gems", 445, 3)
  974.         object:GossipMenuAddItem(0, "from Imbued Scrolls", 446, 3)
  975.         object:GossipMenuAddItem(0, "from Dragon Tears", 447, 3)
  976.         object:GossipMenuAddItem(0, "from Scales", 448, 3)
  977.         object:GossipMenuAddItem(0, "Back", 4, 0)
  978.         object:GossipSendMenu(player)
  979.     elseif (intid == 441) then
  980.         check = {}
  981.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  982.         if check[1] ~= nil then
  983.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  984.             player:GossipComplete()
  985.         else
  986.             if player:GetItemCount(Thread) >= (code*itemspertransmute) then
  987.                 player:RemoveItem(Thread, code*itemspertransmute)
  988.                 player:AddItem(Metal, code)
  989.                 player:GossipComplete()
  990.             else
  991.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  992.                 player:GossipComplete()
  993.             end
  994.         end
  995.     elseif (intid == 442) then
  996.         check = {}
  997.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  998.         if check[1] ~= nil then
  999.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  1000.             player:GossipComplete()
  1001.         else
  1002.             if player:GetItemCount(Cloth) >= (code*itemspertransmute) then
  1003.                 player:RemoveItem(Cloth, code*itemspertransmute)
  1004.                 player:AddItem(Metal, code)
  1005.                 player:GossipComplete()
  1006.             else
  1007.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  1008.                 player:GossipComplete()
  1009.             end
  1010.         end
  1011.     elseif (intid == 443) then
  1012.         check = {}
  1013.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  1014.         if check[1] ~= nil then
  1015.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  1016.             player:GossipComplete()
  1017.         else
  1018.             if player:GetItemCount(Leather) >= (code*itemspertransmute) then
  1019.                 player:RemoveItem(Leather, code*itemspertransmute)
  1020.                 player:AddItem(Metal, code)
  1021.                 player:GossipComplete()
  1022.             else
  1023.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  1024.                 player:GossipComplete()
  1025.             end
  1026.         end
  1027.     elseif (intid == 445) then
  1028.         check = {}
  1029.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  1030.         if check[1] ~= nil then
  1031.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  1032.             player:GossipComplete()
  1033.         else
  1034.             if player:GetItemCount(Gems) >= (code*itemspertransmute) then
  1035.                 player:RemoveItem(Gems, code*itemspertransmute)
  1036.                 player:AddItem(Metal, code)
  1037.                 player:GossipComplete()
  1038.             else
  1039.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  1040.                 player:GossipComplete()
  1041.             end
  1042.         end
  1043.     elseif (intid == 446) then
  1044.         check = {}
  1045.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  1046.         if check[1] ~= nil then
  1047.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  1048.             player:GossipComplete()
  1049.         else
  1050.             if player:GetItemCount(Scrolls) >= (code*itemspertransmute) then
  1051.                 player:RemoveItem(Scrolls, code*itemspertransmute)
  1052.                 player:AddItem(Metal, code)
  1053.                 player:GossipComplete()
  1054.             else
  1055.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  1056.                 player:GossipComplete()
  1057.             end
  1058.         end
  1059.     elseif (intid == 447) then
  1060.         check = {}
  1061.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  1062.         if check[1] ~= nil then
  1063.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  1064.             player:GossipComplete()
  1065.         else
  1066.             if player:GetItemCount(Tears) >= (code*itemspertransmute) then
  1067.                 player:RemoveItem(Tears, code*itemspertransmute)
  1068.                 player:AddItem(Metal, code)
  1069.                 player:GossipComplete()
  1070.             else
  1071.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  1072.                 player:GossipComplete()
  1073.             end
  1074.         end
  1075.     elseif (intid == 448) then
  1076.         check = {}
  1077.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  1078.         if check[1] ~= nil then
  1079.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  1080.             player:GossipComplete()
  1081.         else
  1082.             if player:GetItemCount(Scales) >= (code*itemspertransmute) then
  1083.                 player:RemoveItem(Scales, code*itemspertransmute)
  1084.                 player:AddItem(Metal, code)
  1085.                 player:GossipComplete()
  1086.             else
  1087.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  1088.                 player:GossipComplete()
  1089.             end
  1090.         end
  1091.     elseif (intid == 45) then
  1092.         object:GossipCreateMenu(100, player, 0)
  1093.         object:GossipMenuAddItem(0, "from Thread", 451, 3)
  1094.         object:GossipMenuAddItem(0, "from Cloth", 452, 3)
  1095.         object:GossipMenuAddItem(0, "from Leather", 453, 3)
  1096.         object:GossipMenuAddItem(0, "from Metal", 454, 3)
  1097.         object:GossipMenuAddItem(0, "from Imbued Scrolls", 456, 3)
  1098.         object:GossipMenuAddItem(0, "from Dragon Tears", 457, 3)
  1099.         object:GossipMenuAddItem(0, "from Scales", 458, 3)
  1100.         object:GossipMenuAddItem(0, "Back", 4, 0)
  1101.         object:GossipSendMenu(player)
  1102.     elseif (intid == 451) then
  1103.         check = {}
  1104.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  1105.         if check[1] ~= nil then
  1106.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  1107.             player:GossipComplete()
  1108.         else
  1109.             if player:GetItemCount(Thread) >= (code*itemspertransmute) then
  1110.                 player:RemoveItem(Thread, code*itemspertransmute)
  1111.                 player:AddItem(Gems, code)
  1112.                 player:GossipComplete()
  1113.             else
  1114.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  1115.                 player:GossipComplete()
  1116.             end
  1117.         end
  1118.     elseif (intid == 452) then
  1119.         check = {}
  1120.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  1121.         if check[1] ~= nil then
  1122.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  1123.             player:GossipComplete()
  1124.         else
  1125.             if player:GetItemCount(Cloth) >= (code*itemspertransmute) then
  1126.                 player:RemoveItem(Cloth, code*itemspertransmute)
  1127.                 player:AddItem(Gems, code)
  1128.                 player:GossipComplete()
  1129.             else
  1130.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  1131.                 player:GossipComplete()
  1132.             end
  1133.         end
  1134.     elseif (intid == 453) then
  1135.         check = {}
  1136.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  1137.         if check[1] ~= nil then
  1138.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  1139.             player:GossipComplete()
  1140.         else
  1141.             if player:GetItemCount(Leather) >= (code*itemspertransmute) then
  1142.                 player:RemoveItem(Leather, code*itemspertransmute)
  1143.                 player:AddItem(Gems, code)
  1144.                 player:GossipComplete()
  1145.             else
  1146.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  1147.                 player:GossipComplete()
  1148.             end
  1149.         end
  1150.     elseif (intid == 454) then
  1151.         check = {}
  1152.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  1153.         if check[1] ~= nil then
  1154.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  1155.             player:GossipComplete()
  1156.         else
  1157.             if player:GetItemCount(Metal) >= (code*itemspertransmute) then
  1158.                 player:RemoveItem(Metal, code*itemspertransmute)
  1159.                 player:AddItem(Gems, code)
  1160.                 player:GossipComplete()
  1161.             else
  1162.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  1163.                 player:GossipComplete()
  1164.             end
  1165.         end
  1166.     elseif (intid == 456) then
  1167.         check = {}
  1168.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  1169.         if check[1] ~= nil then
  1170.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  1171.             player:GossipComplete()
  1172.         else
  1173.             if player:GetItemCount(Scrolls) >= (code*itemspertransmute) then
  1174.                 player:RemoveItem(Scrolls, code*itemspertransmute)
  1175.                 player:AddItem(Gems, code)
  1176.                 player:GossipComplete()
  1177.             else
  1178.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  1179.                 player:GossipComplete()
  1180.             end
  1181.         end
  1182.     elseif (intid == 457) then
  1183.         check = {}
  1184.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  1185.         if check[1] ~= nil then
  1186.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  1187.             player:GossipComplete()
  1188.         else
  1189.             if player:GetItemCount(Tears) >= (code*itemspertransmute) then
  1190.                 player:RemoveItem(Tears, code*itemspertransmute)
  1191.                 player:AddItem(Gems, code)
  1192.                 player:GossipComplete()
  1193.             else
  1194.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  1195.                 player:GossipComplete()
  1196.             end
  1197.         end
  1198.     elseif (intid == 458) then
  1199.         check = {}
  1200.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  1201.         if check[1] ~= nil then
  1202.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  1203.             player:GossipComplete()
  1204.         else
  1205.             if player:GetItemCount(Scales) >= (code*itemspertransmute) then
  1206.                 player:RemoveItem(Scales, code*itemspertransmute)
  1207.                 player:AddItem(Gems, code)
  1208.                 player:GossipComplete()
  1209.             else
  1210.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  1211.                 player:GossipComplete()
  1212.             end
  1213.         end
  1214.     elseif (intid == 46) then
  1215.         object:GossipCreateMenu(100, player, 0)
  1216.         object:GossipMenuAddItem(0, "from Thread", 461, 3)
  1217.         object:GossipMenuAddItem(0, "from Cloth", 462, 3)
  1218.         object:GossipMenuAddItem(0, "from Leather", 463, 3)
  1219.         object:GossipMenuAddItem(0, "from Metal", 464, 3)
  1220.         object:GossipMenuAddItem(0, "from Gems", 465, 3)
  1221.         object:GossipMenuAddItem(0, "from Dragon Tears", 467, 3)
  1222.         object:GossipMenuAddItem(0, "from Scales", 468, 3)
  1223.         object:GossipMenuAddItem(0, "Back", 4, 0)
  1224.         object:GossipSendMenu(player)
  1225.     elseif (intid == 461) then
  1226.         check = {}
  1227.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  1228.         if check[1] ~= nil then
  1229.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  1230.             player:GossipComplete()
  1231.         else
  1232.             if player:GetItemCount(Thread) >= (code*itemspertransmute) then
  1233.                 player:RemoveItem(Thread, code*itemspertransmute)
  1234.                 player:AddItem(Scrolls, code)
  1235.                 player:GossipComplete()
  1236.             else
  1237.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  1238.                 player:GossipComplete()
  1239.             end
  1240.         end
  1241.     elseif (intid == 462) then
  1242.         check = {}
  1243.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  1244.         if check[1] ~= nil then
  1245.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  1246.             player:GossipComplete()
  1247.         else
  1248.             if player:GetItemCount(Cloth) >= (code*itemspertransmute) then
  1249.                 player:RemoveItem(Cloth, code*itemspertransmute)
  1250.                 player:AddItem(Scrolls, code)
  1251.                 player:GossipComplete()
  1252.             else
  1253.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  1254.                 player:GossipComplete()
  1255.             end
  1256.         end
  1257.     elseif (intid == 463) then
  1258.         check = {}
  1259.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  1260.         if check[1] ~= nil then
  1261.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  1262.             player:GossipComplete()
  1263.         else
  1264.             if player:GetItemCount(Leather) >= (code*itemspertransmute) then
  1265.                 player:RemoveItem(Leather, code*itemspertransmute)
  1266.                 player:AddItem(Scrolls, code)
  1267.                 player:GossipComplete()
  1268.             else
  1269.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  1270.                 player:GossipComplete()
  1271.             end
  1272.         end
  1273.     elseif (intid == 464) then
  1274.         check = {}
  1275.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  1276.         if check[1] ~= nil then
  1277.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  1278.             player:GossipComplete()
  1279.         else
  1280.             if player:GetItemCount(Metal) >= (code*itemspertransmute) then
  1281.                 player:RemoveItem(Metal, code*itemspertransmute)
  1282.                 player:AddItem(Scrolls, code)
  1283.                 player:GossipComplete()
  1284.             else
  1285.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  1286.                 player:GossipComplete()
  1287.             end
  1288.         end
  1289.     elseif (intid == 465) then
  1290.         check = {}
  1291.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  1292.         if check[1] ~= nil then
  1293.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  1294.             player:GossipComplete()
  1295.         else
  1296.             if player:GetItemCount(Gems) >= (code*itemspertransmute) then
  1297.                 player:RemoveItem(Gems, code*itemspertransmute)
  1298.                 player:AddItem(Scrolls, code)
  1299.                 player:GossipComplete()
  1300.             else
  1301.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  1302.                 player:GossipComplete()
  1303.             end
  1304.         end
  1305.     elseif (intid == 467) then
  1306.         check = {}
  1307.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  1308.         if check[1] ~= nil then
  1309.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  1310.             player:GossipComplete()
  1311.         else
  1312.             if player:GetItemCount(Tears) >= (code*itemspertransmute) then
  1313.                 player:RemoveItem(Tears, code*itemspertransmute)
  1314.                 player:AddItem(Scrolls, code)
  1315.                 player:GossipComplete()
  1316.             else
  1317.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  1318.                 player:GossipComplete()
  1319.             end
  1320.         end
  1321.     elseif (intid == 468) then
  1322.         check = {}
  1323.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  1324.         if check[1] ~= nil then
  1325.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  1326.             player:GossipComplete()
  1327.         else
  1328.             if player:GetItemCount(Scales) >= (code*itemspertransmute) then
  1329.                 player:RemoveItem(Scales, code*itemspertransmute)
  1330.                 player:AddItem(Scrolls, code)
  1331.                 player:GossipComplete()
  1332.             else
  1333.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  1334.                 player:GossipComplete()
  1335.             end
  1336.         end
  1337.     elseif (intid == 47) then
  1338.         object:GossipCreateMenu(100, player, 0)
  1339.         object:GossipMenuAddItem(0, "from Thread", 471, 3)
  1340.         object:GossipMenuAddItem(0, "from Cloth", 472, 3)
  1341.         object:GossipMenuAddItem(0, "from Leather", 473, 3)
  1342.         object:GossipMenuAddItem(0, "from Metal", 474, 3)
  1343.         object:GossipMenuAddItem(0, "from Gems", 475, 3)
  1344.         object:GossipMenuAddItem(0, "from Imbued Scrolls", 476, 3)
  1345.         object:GossipMenuAddItem(0, "from Scales", 478, 3)
  1346.         object:GossipMenuAddItem(0, "Back", 4, 0)
  1347.         object:GossipSendMenu(player)
  1348.     elseif (intid == 471) then
  1349.         check = {}
  1350.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  1351.         if check[1] ~= nil then
  1352.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  1353.             player:GossipComplete()
  1354.         else
  1355.             if player:GetItemCount(Thread) >= (code*itemspertransmute) then
  1356.                 player:RemoveItem(Thread, code*itemspertransmute)
  1357.                 player:AddItem(Tears, code)
  1358.                 player:GossipComplete()
  1359.             else
  1360.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  1361.                 player:GossipComplete()
  1362.             end
  1363.         end
  1364.     elseif (intid == 472) then
  1365.         check = {}
  1366.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  1367.         if check[1] ~= nil then
  1368.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  1369.             player:GossipComplete()
  1370.         else
  1371.             if player:GetItemCount(Cloth) >= (code*itemspertransmute) then
  1372.                 player:RemoveItem(Cloth, code*itemspertransmute)
  1373.                 player:AddItem(Tears, code)
  1374.                 player:GossipComplete()
  1375.             else
  1376.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  1377.                 player:GossipComplete()
  1378.             end
  1379.         end
  1380.     elseif (intid == 473) then
  1381.         check = {}
  1382.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  1383.         if check[1] ~= nil then
  1384.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  1385.             player:GossipComplete()
  1386.         else
  1387.             if player:GetItemCount(Leather) >= (code*itemspertransmute) then
  1388.                 player:RemoveItem(Leather, code*itemspertransmute)
  1389.                 player:AddItem(Tears, code)
  1390.                 player:GossipComplete()
  1391.             else
  1392.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  1393.                 player:GossipComplete()
  1394.             end
  1395.         end
  1396.     elseif (intid == 474) then
  1397.         check = {}
  1398.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  1399.         if check[1] ~= nil then
  1400.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  1401.             player:GossipComplete()
  1402.         else
  1403.             if player:GetItemCount(Metal) >= (code*itemspertransmute) then
  1404.                 player:RemoveItem(Metal, code*itemspertransmute)
  1405.                 player:AddItem(Tears, code)
  1406.                 player:GossipComplete()
  1407.             else
  1408.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  1409.                 player:GossipComplete()
  1410.             end
  1411.         end
  1412.     elseif (intid == 475) then
  1413.         check = {}
  1414.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  1415.         if check[1] ~= nil then
  1416.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  1417.             player:GossipComplete()
  1418.         else
  1419.             if player:GetItemCount(Gems) >= (code*itemspertransmute) then
  1420.                 player:RemoveItem(Gems, code*itemspertransmute)
  1421.                 player:AddItem(Tears, code)
  1422.                 player:GossipComplete()
  1423.             else
  1424.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  1425.                 player:GossipComplete()
  1426.             end
  1427.         end
  1428.     elseif (intid == 476) then
  1429.         check = {}
  1430.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  1431.         if check[1] ~= nil then
  1432.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  1433.             player:GossipComplete()
  1434.         else
  1435.             if player:GetItemCount(Scrolls) >= (code*itemspertransmute) then
  1436.                 player:RemoveItem(Scrolls, code*itemspertransmute)
  1437.                 player:AddItem(Tears, code)
  1438.                 player:GossipComplete()
  1439.             else
  1440.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  1441.                 player:GossipComplete()
  1442.             end
  1443.         end
  1444.     elseif (intid == 478) then
  1445.         check = {}
  1446.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  1447.         if check[1] ~= nil then
  1448.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  1449.             player:GossipComplete()
  1450.         else
  1451.             if player:GetItemCount(Scales) >= (code*itemspertransmute) then
  1452.                 player:RemoveItem(Scales, code*itemspertransmute)
  1453.                 player:AddItem(Tears, code)
  1454.                 player:GossipComplete()
  1455.             else
  1456.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  1457.                 player:GossipComplete()
  1458.             end
  1459.         end
  1460.     elseif (intid == 48) then
  1461.         object:GossipCreateMenu(100, player, 0)
  1462.         object:GossipMenuAddItem(0, "from Thread", 481, 3)
  1463.         object:GossipMenuAddItem(0, "from Cloth", 482, 3)
  1464.         object:GossipMenuAddItem(0, "from Leather", 483, 3)
  1465.         object:GossipMenuAddItem(0, "from Metal", 484, 3)
  1466.         object:GossipMenuAddItem(0, "from Gems", 485, 3)
  1467.         object:GossipMenuAddItem(0, "from Imbued Scrolls", 486, 3)
  1468.         object:GossipMenuAddItem(0, "from Dragon Tears", 487, 3)
  1469.         object:GossipMenuAddItem(0, "Back", 4, 0)
  1470.         object:GossipSendMenu(player)
  1471.     elseif (intid == 481) then
  1472.         check = {}
  1473.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  1474.         if check[1] ~= nil then
  1475.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  1476.             player:GossipComplete()
  1477.         else
  1478.             if player:GetItemCount(Thread) >= (code*itemspertransmute) then
  1479.                 player:RemoveItem(Thread, code*itemspertransmute)
  1480.                 player:AddItem(Scales, code)
  1481.                 player:GossipComplete()
  1482.             else
  1483.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  1484.                 player:GossipComplete()
  1485.             end
  1486.         end
  1487.     elseif (intid == 482) then
  1488.         check = {}
  1489.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  1490.         if check[1] ~= nil then
  1491.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  1492.             player:GossipComplete()
  1493.         else
  1494.             if player:GetItemCount(Cloth) >= (code*itemspertransmute) then
  1495.                 player:RemoveItem(Cloth, code*itemspertransmute)
  1496.                 player:AddItem(Scales, code)
  1497.                 player:GossipComplete()
  1498.             else
  1499.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  1500.                 player:GossipComplete()
  1501.             end
  1502.         end
  1503.     elseif (intid == 483) then
  1504.         check = {}
  1505.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  1506.         if check[1] ~= nil then
  1507.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  1508.             player:GossipComplete()
  1509.         else
  1510.             if player:GetItemCount(Leather) >= (code*itemspertransmute) then
  1511.                 player:RemoveItem(Leather, code*itemspertransmute)
  1512.                 player:AddItem(Scales, code)
  1513.                 player:GossipComplete()
  1514.             else
  1515.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  1516.                 player:GossipComplete()
  1517.             end
  1518.         end
  1519.     elseif (intid == 484) then
  1520.         check = {}
  1521.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  1522.         if check[1] ~= nil then
  1523.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  1524.             player:GossipComplete()
  1525.         else
  1526.             if player:GetItemCount(Metal) >= (code*itemspertransmute) then
  1527.                 player:RemoveItem(Metal, code*itemspertransmute)
  1528.                 player:AddItem(Scales, code)
  1529.                 player:GossipComplete()
  1530.             else
  1531.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  1532.                 player:GossipComplete()
  1533.             end
  1534.         end
  1535.     elseif (intid == 485) then
  1536.         check = {}
  1537.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  1538.         if check[1] ~= nil then
  1539.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  1540.             player:GossipComplete()
  1541.         else
  1542.             if player:GetItemCount(Gems) >= (code*itemspertransmute) then
  1543.                 player:RemoveItem(Gems, code*itemspertransmute)
  1544.                 player:AddItem(Scales, code)
  1545.                 player:GossipComplete()
  1546.             else
  1547.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  1548.                 player:GossipComplete()
  1549.             end
  1550.         end
  1551.     elseif (intid == 486) then
  1552.         check = {}
  1553.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  1554.         if check[1] ~= nil then
  1555.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  1556.             player:GossipComplete()
  1557.         else
  1558.             if player:GetItemCount(Scrolls) >= (code*itemspertransmute) then
  1559.                 player:RemoveItem(Scrolls, code*itemspertransmute)
  1560.                 player:AddItem(Scales, code)
  1561.                 player:GossipComplete()
  1562.             else
  1563.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  1564.                 player:GossipComplete()
  1565.             end
  1566.         end
  1567.     elseif (intid == 487) then
  1568.         check = {}
  1569.         string.gsub(code, "([^%d]+)", function(c) table.insert(check, c) end)
  1570.         if check[1] ~= nil then
  1571.             player:SendBroadcastMessage("Please only use numbers while transmuting items")
  1572.             player:GossipComplete()
  1573.         else
  1574.             if player:GetItemCount(Tears) >= (code*itemspertransmute) then
  1575.                 player:RemoveItem(Tears, code*itemspertransmute)
  1576.                 player:AddItem(Scales, code)
  1577.                 player:GossipComplete()
  1578.             else
  1579.                 player:SendBroadcastMessage("You dont have enought resources to transmute that much")
  1580.                 player:GossipComplete()
  1581.             end
  1582.         end
  1583. --Weapon menues start here
  1584.     elseif (intid == 10) then
  1585.         object:GossipCreateMenu(100, player, 0)
  1586.         object:GossipMenuAddItem(0, "Melee weapons", 11, 0)
  1587.         object:GossipMenuAddItem(0, "Ranged weapons", 12, 0)
  1588.         object:GossipMenuAddItem(0, "Back", 9, 0)
  1589.         object:GossipSendMenu(player)
  1590.     elseif (intid == 11) then
  1591.         object:GossipCreateMenu(100, player, 0)
  1592.         object:GossipMenuAddItem(0, "Maces", 111, 0)
  1593.         object:GossipMenuAddItem(0, "Swords", 112, 0)
  1594.         object:GossipMenuAddItem(0, "Axes", 113, 0)
  1595.         object:GossipMenuAddItem(0, "Staves", 1142, 0) --Staves are only 2h
  1596.         object:GossipMenuAddItem(0, "Polearms", 1152, 0) --Polearms are only 2h
  1597.         object:GossipMenuAddItem(0, "Fist weapons", 1161, 0) --Fist weapons are only 1h
  1598.         object:GossipMenuAddItem(0, "Daggers", 1171, 0) --Daggers are only 1h
  1599.         object:GossipMenuAddItem(0, "Back", 10, 0)
  1600.         object:GossipSendMenu(player)
  1601.     elseif (intid == 12) then
  1602.         object:GossipCreateMenu(100, player, 0) --Ranged weapons are only.. ranged
  1603.         object:GossipMenuAddItem(0, "Bows", 1213, 0)
  1604.         object:GossipMenuAddItem(0, "Crossbows", 1223, 0)
  1605.         object:GossipMenuAddItem(0, "Guns", 1233, 0)
  1606.         object:GossipMenuAddItem(0, "Wands", 1243, 0)
  1607.         object:GossipMenuAddItem(0, "Thrown", 1253, 0)
  1608.         object:GossipMenuAddItem(0, "Back", 10, 0)
  1609.         object:GossipSendMenu(player)
  1610.     elseif (intid == 111) then
  1611.         object:GossipCreateMenu(100, player, 0) --Maces
  1612.         object:GossipMenuAddItem(0, "One-handed", 1111, 0)
  1613.         object:GossipMenuAddItem(0, "Two-handed", 1112, 0)
  1614.         object:GossipMenuAddItem(0, "Back", 11, 0)
  1615.         object:GossipSendMenu(player)
  1616.     elseif (intid == 112) then
  1617.         object:GossipCreateMenu(100, player, 0) --Swords
  1618.         object:GossipMenuAddItem(0, "One-handed", 1121, 0)
  1619.         object:GossipMenuAddItem(0, "Two-handed", 1122, 0)
  1620.         object:GossipMenuAddItem(0, "Back", 11, 0)
  1621.         object:GossipSendMenu(player)
  1622.     elseif (intid == 113) then
  1623.         object:GossipCreateMenu(100, player, 0) --Axes
  1624.         object:GossipMenuAddItem(0, "One-handed", 1131, 0)
  1625.         object:GossipMenuAddItem(0, "Two-handed", 1132, 0)
  1626.         object:GossipMenuAddItem(0, "Back", 11, 0)
  1627.         object:GossipSendMenu(player)
  1628. --Armors menues start here
  1629.     elseif (intid == 20) then
  1630.         object:GossipCreateMenu(100, player, 0)
  1631.         object:GossipMenuAddItem(0, "Cloth armor", 21, 0)
  1632.         object:GossipMenuAddItem(0, "Leather armor", 22, 0)
  1633.         object:GossipMenuAddItem(0, "Mail armor", 23, 0)
  1634.         object:GossipMenuAddItem(0, "Plate armor", 24, 0)
  1635.         object:GossipMenuAddItem(0, "Misc", 25, 0)
  1636.         object:GossipMenuAddItem(0, "Back", 9, 0)
  1637.         object:GossipSendMenu(player)
  1638.     elseif (intid == 21) then --Cloth
  1639.         object:GossipCreateMenu(100, player, 0)
  1640.         object:GossipMenuAddItem(0, "Head", 211, 0)
  1641.         object:GossipMenuAddItem(0, "Shoulder", 212, 0)
  1642.         object:GossipMenuAddItem(0, "Chest", 213, 0)
  1643.         object:GossipMenuAddItem(0, "Wrists", 214, 0)
  1644.         object:GossipMenuAddItem(0, "Hands", 215, 0)
  1645.         object:GossipMenuAddItem(0, "Waist", 216, 0)
  1646.         object:GossipMenuAddItem(0, "Legs", 217, 0)
  1647.         object:GossipMenuAddItem(0, "Feet", 218, 0)
  1648.         object:GossipMenuAddItem(0, "Back", 20, 0)
  1649.         object:GossipSendMenu(player)
  1650.     elseif (intid == 22) then --Leather
  1651.         object:GossipCreateMenu(100, player, 0)
  1652.         object:GossipMenuAddItem(0, "Head", 221, 0)
  1653.         object:GossipMenuAddItem(0, "Shoulder", 222, 0)
  1654.         object:GossipMenuAddItem(0, "Chest", 223, 0)
  1655.         object:GossipMenuAddItem(0, "Wrists", 224, 0)
  1656.         object:GossipMenuAddItem(0, "Hands", 225, 0)
  1657.         object:GossipMenuAddItem(0, "Waist", 226, 0)
  1658.         object:GossipMenuAddItem(0, "Legs", 227, 0)
  1659.         object:GossipMenuAddItem(0, "Feet", 228, 0)
  1660.         object:GossipMenuAddItem(0, "Back", 20, 0)
  1661.         object:GossipSendMenu(player)
  1662.     elseif (intid == 23) then --Mail
  1663.         object:GossipCreateMenu(100, player, 0)
  1664.         object:GossipMenuAddItem(0, "Head", 231, 0)
  1665.         object:GossipMenuAddItem(0, "Shoulder", 232, 0)
  1666.         object:GossipMenuAddItem(0, "Chest", 233, 0)
  1667.         object:GossipMenuAddItem(0, "Wrists", 234, 0)
  1668.         object:GossipMenuAddItem(0, "Hands", 235, 0)
  1669.         object:GossipMenuAddItem(0, "Waist", 236, 0)
  1670.         object:GossipMenuAddItem(0, "Legs", 237, 0)
  1671.         object:GossipMenuAddItem(0, "Feet", 238, 0)
  1672.         object:GossipMenuAddItem(0, "Back", 20, 0)
  1673.         object:GossipSendMenu(player)
  1674.     elseif (intid == 24) then --Plate
  1675.         object:GossipCreateMenu(100, player, 0)
  1676.         object:GossipMenuAddItem(0, "Head", 241, 0)
  1677.         object:GossipMenuAddItem(0, "Shoulder", 242, 0)
  1678.         object:GossipMenuAddItem(0, "Chest", 243, 0)
  1679.         object:GossipMenuAddItem(0, "Wrists", 244, 0)
  1680.         object:GossipMenuAddItem(0, "Hands", 245, 0)
  1681.         object:GossipMenuAddItem(0, "Waist", 246, 0)
  1682.         object:GossipMenuAddItem(0, "Legs", 247, 0)
  1683.         object:GossipMenuAddItem(0, "Feet", 248, 0)
  1684.         object:GossipMenuAddItem(0, "Back", 20, 0)
  1685.         object:GossipSendMenu(player)
  1686.     elseif (intid == 25) then --Misc
  1687.         object:GossipCreateMenu(100, player, 0)
  1688.         object:GossipMenuAddItem(0, "Cloaks", 251, 0)
  1689.         object:GossipMenuAddItem(0, "Relics", 252, 0)
  1690.         object:GossipMenuAddItem(0, "Totems", 253, 0)
  1691.         object:GossipMenuAddItem(0, "Librams", 254, 0)
  1692.         object:GossipMenuAddItem(0, "Sigil", 255, 0)
  1693.         object:GossipMenuAddItem(0, "Necks", 256, 0)
  1694.         object:GossipMenuAddItem(0, "Rings", 257, 0)
  1695.         object:GossipMenuAddItem(0, "Trinkets", 258, 0)
  1696.         object:GossipMenuAddItem(0, "Back", 20, 0)
  1697.         object:GossipSendMenu(player)
  1698.     elseif (intid == 9) then --Back to start menu
  1699.         object:GossipCreateMenu(100, player, 0)
  1700.         object:GossipMenuAddItem(0, "Weapon Binds", 10, 0)
  1701.         object:GossipMenuAddItem(0, "Armor Binds", 20, 0)
  1702.         object:GossipMenuAddItem(0, "Bind Item", 2, 3)
  1703.         object:GossipMenuAddItem(0, "Bind Info", 3, 3)
  1704.         object:GossipMenuAddItem(0, "Transmute", 4, 0)
  1705.         object:GossipSendMenu(player)
  1706.     end
  1707. end
  1708.  
  1709. function Prof.Binder.Gossip(pUnit, event, player)
  1710.     pUnit:GossipCreateMenu(100, player, 0)
  1711.     pUnit:GossipMenuAddItem(0, "Lend me a tome of binding", 1, 0)
  1712.     pUnit:GossipSendMenu(player)
  1713. end
  1714.  
  1715. function Prof.Binder.Select(pUnit, event, player, id, intid, code)
  1716.     if (intid == 1) then
  1717.         local name = player:GetName()
  1718.         if player:GetPlayerLevel() >= minlevel then
  1719.             if player:GetItemCount(tomeid) == 0 then
  1720.                 player:AddItem(tomeid, 1)
  1721.                 local query = WorldDBQuery("SELECT `player_name`, `binding_level` FROM `world`.`binding_levels` WHERE `player_name`='"..name.."'")
  1722.                 if query == nil then
  1723.                     WorldDBQuery("INSERT INTO `binding_levels` (`player_name`, `binding_level`) VALUES ('"..name.."', 1)")
  1724.                 end
  1725.                 player:GossipComplete()
  1726.             else
  1727.                 pUnit:SendChatMessage(12, 0, "You already have a tome "..name..".")
  1728.                 player:GossipComplete()
  1729.             end
  1730.         else
  1731.             pUnit:SendChatMessage(12, 0, "You are not high enought level to learn the secrets of binding "..name..".")
  1732.             player:GossipComplete()
  1733.         end
  1734.     end
  1735. end
  1736.  
  1737. function Prof.OnCreate(event, name, race, class)
  1738.     local check = WorldDBQuery("SELECT `player_name`, `binding_level` FROM `world`.`binding_levels` WHERE `player_name`='"..name.."'")
  1739.     if check ~= nil then
  1740.         WorldDBQuery("DELETE FROM `binding_levels` WHERE (`player_name`='"..name.."')")
  1741.     end
  1742. end
  1743.  
  1744. function Prof.OnEnter(event, player)
  1745.     local name = player:GetName()
  1746.     local check = WorldDBQuery("SELECT `player_name`, `binding_level` FROM `world`.`binding_levels` WHERE `player_name`='"..name.."'")
  1747.     if check == nil then
  1748.         WorldDBQuery("INSERT INTO `binding_levels` (`player_name`, `binding_level`) VALUES ('"..name.."', 1)")
  1749.     end
  1750. end
  1751.  
  1752. local luaengine = GetLuaEngine()
  1753.  
  1754. if luaengine ~= "LuaHypArc" then
  1755.     RegisterTimedEvent("Prof.Invalid", 1000, 1)
  1756. else
  1757.     RegisterTimedEvent("Prof.Success", 1000, 1)
  1758.     RegisterGameObjectEvent(anvilid, 4, "Prof.Anvil.Gossip")
  1759.     RegisterGOGossipEvent(anvilid, 2, "Prof.Anvil.Select")
  1760.     RegisterUnitGossipEvent(binderid, 1, "Prof.Binder.Gossip")
  1761.     RegisterUnitGossipEvent(binderid, 2, "Prof.Binder.Select")
  1762.     RegisterServerHook(1, "Prof.OnCreate")
  1763.     RegisterServerHook(4, "Prof.OnEnter")
  1764. end
  1765.  
  1766. function Prof.Invalid()
  1767.     print ("Binding script not loaded. Database tables required are missing/invalid or you dont have LuaHypArc")
  1768. end
  1769.  
  1770. function Prof.Success()
  1771.     print ("Binding script loaded successfully")
  1772. end
  1773.  
  1774. local tmpquery = WorldDBQuery("SELECT `player_name`, `binding_level` FROM `world`.`binding_levels`")
  1775. if tmpquery == nil then
  1776.     world = GetPlayersInWorld()
  1777.     for _, v in pairs(world) do
  1778.         local name = v:GetName()
  1779.         WorldDBQuery("INSERT INTO `binding_levels` (`player_name`, `binding_level`) VALUES ('"..name.."', 1)")
  1780.     end
  1781. end
  1782. tmpquery = nil
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement