Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2017
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.99 KB | None | 0 0
  1. require "resources/essentialmode/lib/MySQL"
  2. MySQL:open(database.host, database.name, database.username, database.password)
  3.  
  4. RegisterServerEvent("item:getItems")
  5. RegisterServerEvent("item:updateQuantity")
  6. RegisterServerEvent("item:setItem")
  7. RegisterServerEvent("item:reset")
  8. RegisterServerEvent("item:sell")
  9.  
  10. local items = {}
  11.  
  12.  
  13. AddEventHandler("item:getItems", function()
  14.     items = {}
  15.     local player = getPlayerID(source)
  16.     local executed_query = MySQL:executeQuery("SELECT * FROM user_inventory JOIN items ON `user_inventory`.`item_id` = `items`.`id` WHERE user_id = '@username'", { ['@username'] = player })
  17.     local result = MySQL:getResults(executed_query, { 'quantity', 'libelle', 'item_id' }, "item_id")
  18.     if (result) then
  19.         for _, v in ipairs(result) do
  20.             t = { ["quantity"] = v.quantity, ["libelle"] = v.libelle }
  21.             table.insert(items, tonumber(v.item_id), t)
  22.         end
  23.     end
  24.     TriggerClientEvent("gui:getItems", source, items)
  25. end)
  26.  
  27. AddEventHandler("item:setItem", function(item, quantity)
  28.     local player = getPlayerID(source)
  29.     MySQL:executeQuery("INSERT INTO user_inventory (`user_id`, `item_id`, `quantity`) VALUES ('@player', @item, @qty)",
  30.             { ['@player'] = user.identifier, ['@item'] = item, ['@qty'] = quantity })
  31. end)
  32.  
  33. AddEventHandler("item:updateQuantity", function(qty, id)
  34.     local player = getPlayerID(source)
  35.     MySQL:executeQuery("UPDATE user_inventory SET `quantity` = @qty WHERE `user_id` = '@username' AND `item_id` = @id", { ['@username'] = player, ['@qty'] = tonumber(qty), ['@id'] = tonumber(id) })
  36. end)
  37.  
  38. AddEventHandler("item:reset", function()
  39.     local player = getPlayerID(source)
  40.     local executed_query = MySQL:executeQuery("SELECT * FROM user_inventory JOIN items ON `user_inventory`.`item_id` = `items`.`id` WHERE user_id = '@username'", { ['@username'] = player })
  41.     local result = MySQL:getResults(executed_query, { 'quantity', 'libelle', 'item_id' }, "item_id")
  42.     if (result) then
  43.         for _, v in ipairs(result) do
  44.             MySQL:executeQuery("UPDATE user_inventory SET `quantity` = @qty WHERE `user_id` = '@username' AND `item_id` = @id", { ['@username'] = player, ['@qty'] = 0, ['@id'] = tonumber(v.item_id) })
  45.         end
  46.     end
  47. end)
  48.  
  49. AddEventHandler("item:sell", function(id, qty, price)
  50.     local player = getPlayerID(source)
  51.     MySQL:executeQuery("UPDATE user_inventory SET `quantity` = @qty WHERE `user_id` = '@username' AND `item_id` = @id", { ['@username'] = player, ['@qty'] = tonumber(qty), ['@id'] = tonumber(id) })
  52.     user:addMoney(tonumber(price))
  53. end)
  54.  
  55. -- get's the player id without having to use bugged essentials
  56. function getPlayerID(source)
  57.     local identifiers = GetPlayerIdentifiers(source)
  58.     local player = getIdentifiant(identifiers)
  59.     return player
  60. end
  61.  
  62. -- gets the actual player id unique to the player,
  63. -- independent of whether the player changes their screen name
  64. function getIdentifiant(id)
  65.  
  66.     for _, v in ipairs(id) do
  67.         return v
  68.     end
  69.  
  70. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement