mirror of
https://github.com/esx-framework/esx_core.git
synced 2026-09-04 16:23:21 +00:00
Minor code improvements
This commit is contained in:
+10
-11
@@ -41,36 +41,36 @@ ESX.SavePlayer = function(xPlayer, cb)
|
||||
xPlayer.setLastPosition(xPlayer.getCoords())
|
||||
|
||||
-- User accounts
|
||||
for i=1, #xPlayer.accounts, 1 do
|
||||
if ESX.LastPlayerData[xPlayer.source].accounts[xPlayer.accounts[i].name] ~= xPlayer.accounts[i].money then
|
||||
for k,v in ipairs(xPlayer.accounts) do
|
||||
if ESX.LastPlayerData[xPlayer.source].accounts[v.name] ~= v.money then
|
||||
table.insert(asyncTasks, function(cb)
|
||||
MySQL.Async.execute('UPDATE user_accounts SET money = @money WHERE identifier = @identifier AND name = @name', {
|
||||
['@money'] = xPlayer.accounts[i].money,
|
||||
['@money'] = v.money,
|
||||
['@identifier'] = xPlayer.identifier,
|
||||
['@name'] = xPlayer.accounts[i].name
|
||||
['@name'] = v.name
|
||||
}, function(rowsChanged)
|
||||
cb()
|
||||
end)
|
||||
end)
|
||||
|
||||
ESX.LastPlayerData[xPlayer.source].accounts[xPlayer.accounts[i].name] = xPlayer.accounts[i].money
|
||||
ESX.LastPlayerData[xPlayer.source].accounts[v.name] = v.money
|
||||
end
|
||||
end
|
||||
|
||||
-- Inventory items
|
||||
for i=1, #xPlayer.inventory, 1 do
|
||||
if ESX.LastPlayerData[xPlayer.source].items[xPlayer.inventory[i].name] ~= xPlayer.inventory[i].count then
|
||||
for k,v in ipairs(xPlayer.inventory) do
|
||||
if ESX.LastPlayerData[xPlayer.source].items[v.name] ~= v.count then
|
||||
table.insert(asyncTasks, function(cb)
|
||||
MySQL.Async.execute('UPDATE user_inventory SET count = @count WHERE identifier = @identifier AND item = @item', {
|
||||
['@count'] = xPlayer.inventory[i].count,
|
||||
['@count'] = v.count,
|
||||
['@identifier'] = xPlayer.identifier,
|
||||
['@item'] = xPlayer.inventory[i].name
|
||||
['@item'] = v.name
|
||||
}, function(rowsChanged)
|
||||
cb()
|
||||
end)
|
||||
end)
|
||||
|
||||
ESX.LastPlayerData[xPlayer.source].items[xPlayer.inventory[i].name] = xPlayer.inventory[i].count
|
||||
ESX.LastPlayerData[xPlayer.source].items[v.name] = v.count
|
||||
end
|
||||
end
|
||||
|
||||
@@ -135,7 +135,6 @@ ESX.GetPlayers = function()
|
||||
return sources
|
||||
end
|
||||
|
||||
|
||||
ESX.GetPlayerFromId = function(source)
|
||||
return ESX.Players[tonumber(source)]
|
||||
end
|
||||
|
||||
+20
-31
@@ -24,19 +24,16 @@ AddEventHandler('es:playerLoaded', function(source, _player)
|
||||
|
||||
-- Get accounts
|
||||
table.insert(tasks, function(cb)
|
||||
MySQL.Async.fetchAll('SELECT * FROM user_accounts WHERE identifier = @identifier', {
|
||||
MySQL.Async.fetchAll('SELECT name, money FROM user_accounts WHERE identifier = @identifier', {
|
||||
['@identifier'] = player.getIdentifier()
|
||||
}, function(accounts)
|
||||
for i=1, #Config.Accounts, 1 do
|
||||
for j=1, #accounts, 1 do
|
||||
if accounts[j].name == Config.Accounts[i] then
|
||||
table.insert(userData.accounts, {
|
||||
name = accounts[j].name,
|
||||
money = accounts[j].money,
|
||||
label = Config.AccountLabels[accounts[j].name]
|
||||
})
|
||||
break
|
||||
end
|
||||
for k,v in ipairs(accounts) do
|
||||
if Config.Accounts[v.name] then
|
||||
table.insert(userData.accounts, {
|
||||
name = v.name,
|
||||
money = v.money,
|
||||
label = Config.AccountLabels[v.name]
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
@@ -50,12 +47,14 @@ AddEventHandler('es:playerLoaded', function(source, _player)
|
||||
MySQL.Async.fetchAll('SELECT item, count FROM user_inventory WHERE identifier = @identifier', {
|
||||
['@identifier'] = player.getIdentifier()
|
||||
}, function(inventory)
|
||||
local tasks2 = {}
|
||||
local tasks2, foundItems = {}, {}
|
||||
|
||||
for k,v in ipairs(inventory) do
|
||||
local item = ESX.Items[v.item]
|
||||
|
||||
if item then
|
||||
foundItems[v.item] = true
|
||||
|
||||
table.insert(userData.inventory, {
|
||||
name = v.item,
|
||||
count = v.count,
|
||||
@@ -70,25 +69,16 @@ AddEventHandler('es:playerLoaded', function(source, _player)
|
||||
end
|
||||
end
|
||||
|
||||
for k,v in pairs(ESX.Items) do
|
||||
local found = false
|
||||
|
||||
for j=1, #userData.inventory do
|
||||
if userData.inventory[j].name == k then
|
||||
found = true
|
||||
break
|
||||
end
|
||||
end
|
||||
|
||||
if not found then
|
||||
for itemName,item in pairs(ESX.Items) do
|
||||
if not foundItems[itemName] then
|
||||
table.insert(userData.inventory, {
|
||||
name = k,
|
||||
name = itemName,
|
||||
count = 0,
|
||||
label = ESX.Items[k].label,
|
||||
weight = ESX.Items[k].weight,
|
||||
usable = ESX.UsableItemsCallbacks[k] ~= nil,
|
||||
rare = ESX.Items[k].rare,
|
||||
canRemove = ESX.Items[k].canRemove
|
||||
label = item.label,
|
||||
weight = item.weight,
|
||||
usable = ESX.UsableItemsCallbacks[itemName] ~= nil,
|
||||
rare = item.rare,
|
||||
canRemove = item.canRemove
|
||||
})
|
||||
|
||||
local scope = function(item, identifier)
|
||||
@@ -103,9 +93,8 @@ AddEventHandler('es:playerLoaded', function(source, _player)
|
||||
end)
|
||||
end
|
||||
|
||||
scope(k, player.getIdentifier())
|
||||
scope(itemName, player.getIdentifier())
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
Async.parallelLimit(tasks2, 5, function(results) end)
|
||||
|
||||
Reference in New Issue
Block a user