Replaced for i= loops with ipairs

This commit is contained in:
ElPumpo
2019-08-04 14:55:04 +02:00
parent 44c05b8fae
commit 06d3ee286f
2 changed files with 69 additions and 82 deletions
+28 -37
View File
@@ -8,15 +8,15 @@ AddEventHandler('esx:playerLoaded', function(xPlayer)
ESX.PlayerData = xPlayer
if Config.EnableHud then
for i=1, #xPlayer.accounts, 1 do
local accountTpl = '<div><img src="img/accounts/' .. xPlayer.accounts[i].name .. '.png"/>&nbsp;{{money}}</div>'
for k,v in ipairs(xPlayer.accounts) do
local accountTpl = '<div><img src="img/accounts/' .. v.name .. '.png"/>&nbsp;{{money}}</div>'
ESX.UI.HUD.RegisterElement('account_' .. xPlayer.accounts[i].name, i-1, 0, accountTpl, {
ESX.UI.HUD.RegisterElement('account_' .. v.name, k - 1, 0, accountTpl, {
money = 0
})
ESX.UI.HUD.UpdateElement('account_' .. xPlayer.accounts[i].name, {
money = ESX.Math.GroupDigits(xPlayer.accounts[i].money)
ESX.UI.HUD.UpdateElement('account_' .. v.name, {
money = ESX.Math.GroupDigits(v.money)
})
end
@@ -81,22 +81,21 @@ AddEventHandler('esx:restoreLoadout', function()
RemoveAllPedWeapons(playerPed, true)
for i=1, #ESX.PlayerData.loadout, 1 do
local weaponName = ESX.PlayerData.loadout[i].name
for k,v in ipairs(ESX.PlayerData.loadout) do
local weaponName = v.name
local weaponHash = GetHashKey(weaponName)
GiveWeaponToPed(playerPed, weaponHash, 0, false, false)
local ammoType = GetPedAmmoTypeFromWeapon(playerPed, weaponHash)
for j=1, #ESX.PlayerData.loadout[i].components, 1 do
local weaponComponent = ESX.PlayerData.loadout[i].components[j]
local componentHash = ESX.GetWeaponComponent(weaponName, weaponComponent).hash
for k2,v2 in ipairs(v.components) do
local componentHash = ESX.GetWeaponComponent(weaponName, v2).hash
GiveWeaponComponentToPed(playerPed, weaponHash, componentHash)
end
if not ammoTypes[ammoType] then
AddAmmoToPed(playerPed, weaponHash, ESX.PlayerData.loadout[i].ammo)
AddAmmoToPed(playerPed, weaponHash, v.ammo)
ammoTypes[ammoType] = true
end
end
@@ -106,9 +105,9 @@ end)
RegisterNetEvent('esx:setAccountMoney')
AddEventHandler('esx:setAccountMoney', function(account)
for i=1, #ESX.PlayerData.accounts, 1 do
if ESX.PlayerData.accounts[i].name == account.name then
ESX.PlayerData.accounts[i] = account
for k,v in ipairs(ESX.PlayerData.accounts) do
if v.name == account.name then
ESX.PlayerData.accounts[k] = account
break
end
end
@@ -127,9 +126,9 @@ end)
RegisterNetEvent('esx:addInventoryItem')
AddEventHandler('esx:addInventoryItem', function(item, count)
for i=1, #ESX.PlayerData.inventory, 1 do
if ESX.PlayerData.inventory[i].name == item.name then
ESX.PlayerData.inventory[i] = item
for k,v in ipairs(ESX.PlayerData.inventory) do
if v.name == item.name then
ESX.PlayerData.inventory[k] = item
break
end
end
@@ -143,9 +142,9 @@ end)
RegisterNetEvent('esx:removeInventoryItem')
AddEventHandler('esx:removeInventoryItem', function(item, count)
for i=1, #ESX.PlayerData.inventory, 1 do
if ESX.PlayerData.inventory[i].name == item.name then
ESX.PlayerData.inventory[i] = item
for k,v in ipairs(ESX.PlayerData.inventory) do
if v.name == item.name then
ESX.PlayerData.inventory[k] = item
break
end
end
@@ -411,18 +410,17 @@ Citizen.CreateThread(function()
isLoadoutLoaded = false
end
for i=1, #Config.Weapons do
local weaponName = Config.Weapons[i].name
for k,v in ipairs(Config.Weapons) do
local weaponName = v.name
local weaponHash = GetHashKey(weaponName)
local weaponComponents = {}
if HasPedGotWeapon(playerPed, weaponHash, false) and weaponName ~= 'WEAPON_UNARMED' then
local ammo = GetAmmoInPedWeapon(playerPed, weaponHash)
local components = Config.Weapons[i].components
for j=1, #components do
if HasPedGotWeaponComponent(playerPed, weaponHash, components[j].hash) then
table.insert(weaponComponents, components[j].name)
for k2,v2 in ipairs(v.components) do
if HasPedGotWeaponComponent(playerPed, weaponHash, v2.hash) then
table.insert(weaponComponents, v2.name)
end
end
@@ -435,7 +433,7 @@ Citizen.CreateThread(function()
table.insert(loadout, {
name = weaponName,
ammo = ammo,
label = Config.Weapons[i].label,
label = v.label,
components = weaponComponents
})
else
@@ -480,7 +478,7 @@ if Config.DisableWantedLevel then
end)
end
-- pickups
-- Pickups
Citizen.CreateThread(function()
while true do
Citizen.Wait(0)
@@ -518,23 +516,16 @@ end)
Citizen.CreateThread(function()
while true do
Citizen.Wait(1000)
local playerPed = PlayerPedId()
if ESX.PlayerLoaded and isPlayerSpawned then
local playerPed = PlayerPedId()
local coords = GetEntityCoords(playerPed)
local coords = GetEntityCoords(playerPed)
if not IsEntityDead(playerPed) then
ESX.PlayerData.lastPosition = {x = coords.x, y = coords.y, z = coords.z}
end
end
end
end)
Citizen.CreateThread(function()
while true do
Citizen.Wait(1000)
local playerPed = PlayerPedId()
if IsEntityDead(playerPed) and isPlayerSpawned then
isPlayerSpawned = false
end