Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require "resources/essentialmode/lib/MySQL"
- MySQL:open(database.host, database.name, database.username, database.password)
- RegisterServerEvent("item:getItems")
- RegisterServerEvent("item:updateQuantity")
- RegisterServerEvent("item:setItem")
- RegisterServerEvent("item:reset")
- RegisterServerEvent("item:sell")
- local items = {}
- AddEventHandler("item:getItems", function()
- items = {}
- local player = getPlayerID(source)
- local executed_query = MySQL:executeQuery("SELECT * FROM user_inventory JOIN items ON `user_inventory`.`item_id` = `items`.`id` WHERE user_id = '@username'", { ['@username'] = player })
- local result = MySQL:getResults(executed_query, { 'quantity', 'libelle', 'item_id' }, "item_id")
- if (result) then
- for _, v in ipairs(result) do
- t = { ["quantity"] = v.quantity, ["libelle"] = v.libelle }
- table.insert(items, tonumber(v.item_id), t)
- end
- end
- TriggerClientEvent("gui:getItems", source, items)
- end)
- AddEventHandler("item:setItem", function(item, quantity)
- local player = getPlayerID(source)
- MySQL:executeQuery("INSERT INTO user_inventory (`user_id`, `item_id`, `quantity`) VALUES ('@player', @item, @qty)",
- { ['@player'] = user.identifier, ['@item'] = item, ['@qty'] = quantity })
- end)
- AddEventHandler("item:updateQuantity", function(qty, id)
- local player = getPlayerID(source)
- MySQL:executeQuery("UPDATE user_inventory SET `quantity` = @qty WHERE `user_id` = '@username' AND `item_id` = @id", { ['@username'] = player, ['@qty'] = tonumber(qty), ['@id'] = tonumber(id) })
- end)
- AddEventHandler("item:reset", function()
- local player = getPlayerID(source)
- local executed_query = MySQL:executeQuery("SELECT * FROM user_inventory JOIN items ON `user_inventory`.`item_id` = `items`.`id` WHERE user_id = '@username'", { ['@username'] = player })
- local result = MySQL:getResults(executed_query, { 'quantity', 'libelle', 'item_id' }, "item_id")
- if (result) then
- for _, v in ipairs(result) do
- 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) })
- end
- end
- end)
- AddEventHandler("item:sell", function(id, qty, price)
- local player = getPlayerID(source)
- MySQL:executeQuery("UPDATE user_inventory SET `quantity` = @qty WHERE `user_id` = '@username' AND `item_id` = @id", { ['@username'] = player, ['@qty'] = tonumber(qty), ['@id'] = tonumber(id) })
- user:addMoney(tonumber(price))
- end)
- -- get's the player id without having to use bugged essentials
- function getPlayerID(source)
- local identifiers = GetPlayerIdentifiers(source)
- local player = getIdentifiant(identifiers)
- return player
- end
- -- gets the actual player id unique to the player,
- -- independent of whether the player changes their screen name
- function getIdentifiant(id)
- for _, v in ipairs(id) do
- return v
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement