From f0eb42bc3cb02aab49028ad1c653954f34dd3ebc Mon Sep 17 00:00:00 2001 From: Gellipapa Date: Sun, 16 Jun 2024 13:37:35 +0200 Subject: [PATCH 1/6] :wrench: Added manual run option to lint github action --- .github/workflows/lint.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 2fb4d83b..0536c873 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -1,5 +1,8 @@ name: Lint -on: [push, pull_request] +on: + push: + pull_request: + workflow_dispatch: jobs: lint: name: Lint Resource From f69a16e38a4227a44dec6e3e4950a215ff5240c4 Mon Sep 17 00:00:00 2001 From: Gellipapa Date: Sun, 16 Jun 2024 14:05:16 +0200 Subject: [PATCH 2/6] :pencil2: Fix lint errors --- [core]/es_extended/client/main.lua | 2 +- [core]/es_extended/server/main.lua | 5 ++-- [core]/esx_context/main.lua | 4 +-- [core]/esx_multicharacter/client/main.lua | 30 +++++++++++------------ [core]/esx_skin/client/main.lua | 4 +-- 5 files changed, 23 insertions(+), 22 deletions(-) diff --git a/[core]/es_extended/client/main.lua b/[core]/es_extended/client/main.lua index 476e4f99..7da04a24 100644 --- a/[core]/es_extended/client/main.lua +++ b/[core]/es_extended/client/main.lua @@ -72,7 +72,7 @@ AddEventHandler("esx:playerLoaded", function(xPlayer, _, skin) local timer = GetGameTimer() while not HaveAllStreamingRequestsCompleted(ESX.PlayerData.ped) and (GetGameTimer() - timer) < 2000 do Wait(0) - end + end if Config.EnablePVP then SetCanAttackFriendly(ESX.PlayerData.ped, true, false) diff --git a/[core]/es_extended/server/main.lua b/[core]/es_extended/server/main.lua index e268ec80..439ebf10 100644 --- a/[core]/es_extended/server/main.lua +++ b/[core]/es_extended/server/main.lua @@ -164,7 +164,7 @@ function loadESXPlayer(identifier, playerId, isNew) job, grade = "unemployed", "0" end - jobObject, gradeObject = ESX.Jobs[job], ESX.Jobs[job].grades[grade] + local jobObject, gradeObject = ESX.Jobs[job], ESX.Jobs[job].grades[grade] userData.job = { id = jobObject.id, @@ -509,7 +509,8 @@ if not Config.OxInventory then if xPlayer.hasWeapon(itemName) then local _, weapon = xPlayer.getWeapon(itemName) local _, weaponObject = ESX.GetWeapon(itemName) - local components, pickupLabel = ESX.Table.Clone(weapon.components) + local pickupLabel = "" + local components = ESX.Table.Clone(weapon.components) xPlayer.removeWeapon(itemName) if weaponObject.ammo and weapon.ammo > 0 then diff --git a/[core]/esx_context/main.lua b/[core]/esx_context/main.lua index ebf6a253..16a6b446 100644 --- a/[core]/esx_context/main.lua +++ b/[core]/esx_context/main.lua @@ -12,11 +12,11 @@ function Post(fn, ...) end function Open(position, eles, onSelect, onClose, canClose) - local canClose = canClose == nil and true or canClose + local canCloseMenu = canClose == nil and true or canClose activeMenu = { position = position, eles = eles, - canClose = canClose, + canClose = canCloseMenu, onSelect = onSelect, onClose = onClose, } diff --git a/[core]/esx_multicharacter/client/main.lua b/[core]/esx_multicharacter/client/main.lua index 556ccfe3..5ef90719 100644 --- a/[core]/esx_multicharacter/client/main.lua +++ b/[core]/esx_multicharacter/client/main.lua @@ -21,7 +21,7 @@ if ESX.GetConfig().Multichar then end) local canRelog, cam, spawned = true, nil, nil - local Characters = {} + local Characters , hidePlayers = {} , false RegisterNetEvent("esx_multicharacter:SetupCharacters") AddEventHandler("esx_multicharacter:SetupCharacters", function() @@ -147,7 +147,7 @@ if ESX.GetConfig().Multichar then }) end - function CharacterDeleteConfirmation(Characters, slots, SelectedCharacter, value) + function CharacterDeleteConfirmation(characters, slots, SelectedCharacter, value) local elements = { { title = TranslateCap("char_delete_confirmation"), icon = "fa-solid fa-users", description = TranslateCap("char_delete_confirmation_description"), unselectable = true }, { title = TranslateCap("char_delete"), icon = "fa-solid fa-xmark", description = TranslateCap("char_delete_yes_description"), action = "delete", value = value }, @@ -160,17 +160,17 @@ if ESX.GetConfig().Multichar then TriggerServerEvent("esx_multicharacter:DeleteCharacter", Action.value) spawned = false elseif Action.action == "return" then - CharacterOptions(Characters, slots, SelectedCharacter) + CharacterOptions(characters, slots, SelectedCharacter) end end, nil, false) end - function CharacterOptions(Characters, slots, SelectedCharacter) + function CharacterOptions(characters, slots, SelectedCharacter) local elements = { - { title = TranslateCap("character", Characters[SelectedCharacter.value].firstname .. " " .. Characters[SelectedCharacter.value].lastname), icon = "fa-regular fa-user", unselectable = true }, + { title = TranslateCap("character", characters[SelectedCharacter.value].firstname .. " " .. Characters[SelectedCharacter.value].lastname), icon = "fa-regular fa-user", unselectable = true }, { title = TranslateCap("return"), unselectable = false, icon = "fa-solid fa-arrow-left", description = TranslateCap("return_description"), action = "return" }, } - if not Characters[SelectedCharacter.value].disabled then + if not characters[SelectedCharacter.value].disabled then elements[3] = { title = TranslateCap("char_play"), description = TranslateCap("char_play_description"), icon = "fa-solid fa-play", action = "play", value = SelectedCharacter.value } else elements[3] = { title = TranslateCap("char_disabled"), value = SelectedCharacter.value, icon = "fa-solid fa-xmark", description = TranslateCap("char_disabled_description") } @@ -186,17 +186,17 @@ if ESX.GetConfig().Multichar then ESX.CloseContext() TriggerServerEvent("esx_multicharacter:CharacterChosen", Action.value, false) elseif Action.action == "delete" then - CharacterDeleteConfirmation(Characters, slots, SelectedCharacter, Action.value) + CharacterDeleteConfirmation(characters, slots, SelectedCharacter, Action.value) elseif Action.action == "return" then - SelectCharacterMenu(Characters, slots) + SelectCharacterMenu(characters, slots) end end, nil, false) end - function SelectCharacterMenu(Characters, slots) - local Character = next(Characters) + function SelectCharacterMenu(characters, slots) + local Character = next(characters) local elements = { { title = TranslateCap("select_char"), icon = "fa-solid fa-users", description = TranslateCap("select_char_description"), unselectable = true } } - for k, v in pairs(Characters) do + for k, v in pairs(characters) do if not v.model and v.skin then if v.skin.model then v.model = v.skin.model @@ -210,7 +210,7 @@ if ESX.GetConfig().Multichar then SetupCharacter(Character) end local label = v.firstname .. " " .. v.lastname - if Characters[k].disabled then + if characters[k].disabled then elements[#elements + 1] = { title = label, icon = "fa-regular fa-user", value = v.id } else elements[#elements + 1] = { title = label, icon = "fa-regular fa-user", value = v.id } @@ -225,7 +225,7 @@ if ESX.GetConfig().Multichar then ESX.CloseContext() local GetSlot = function() for i = 1, slots do - if not Characters[i] then + if not characters[i] then return i end end @@ -240,7 +240,7 @@ if ESX.GetConfig().Multichar then action = "closeui", }) else - CharacterOptions(Characters, slots, SelectedCharacter) + CharacterOptions(characters, slots, SelectedCharacter) SetupCharacter(SelectedCharacter.value) local playerPed = PlayerPedId() SetPedAoBlobRendering(playerPed, true) @@ -359,6 +359,6 @@ if ESX.GetConfig().Multichar then canRelog = true end) end - end) + end,false) end end diff --git a/[core]/esx_skin/client/main.lua b/[core]/esx_skin/client/main.lua index 83485da9..2d239398 100644 --- a/[core]/esx_skin/client/main.lua +++ b/[core]/esx_skin/client/main.lua @@ -90,7 +90,7 @@ function OpenMenu(submitCb, cancelCb, restrict) cancelCb(data, menu) end end, function(data, menu) - local skin, components, maxVals + local skin, maxVals TriggerEvent("skinchanger:getSkin", function(getSkin) skin = getSkin @@ -105,7 +105,7 @@ function OpenMenu(submitCb, cancelCb, restrict) -- Update max values TriggerEvent("skinchanger:getData", function(comp, max) - components, maxVals = comp, max + maxVals = max end) local newData = {} From 18e32440f9294e45871e6515b11256610a23e31a Mon Sep 17 00:00:00 2001 From: Gellipapa Date: Sun, 16 Jun 2024 14:08:04 +0200 Subject: [PATCH 3/6] :pencil2: fix typo --- [core]/esx_multicharacter/client/main.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/[core]/esx_multicharacter/client/main.lua b/[core]/esx_multicharacter/client/main.lua index 5ef90719..4f6655cd 100644 --- a/[core]/esx_multicharacter/client/main.lua +++ b/[core]/esx_multicharacter/client/main.lua @@ -167,7 +167,7 @@ if ESX.GetConfig().Multichar then function CharacterOptions(characters, slots, SelectedCharacter) local elements = { - { title = TranslateCap("character", characters[SelectedCharacter.value].firstname .. " " .. Characters[SelectedCharacter.value].lastname), icon = "fa-regular fa-user", unselectable = true }, + { title = TranslateCap("character", characters[SelectedCharacter.value].firstname .. " " .. characters[SelectedCharacter.value].lastname), icon = "fa-regular fa-user", unselectable = true }, { title = TranslateCap("return"), unselectable = false, icon = "fa-solid fa-arrow-left", description = TranslateCap("return_description"), action = "return" }, } if not characters[SelectedCharacter.value].disabled then From 0f0d48587b87723a3e7c9353d0f1c02fb9e7be9f Mon Sep 17 00:00:00 2001 From: Gellipapa Date: Sun, 16 Jun 2024 14:15:24 +0200 Subject: [PATCH 4/6] :pencil2: fix esx_skin lint errors --- [core]/esx_skin/client/main.lua | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/[core]/esx_skin/client/main.lua b/[core]/esx_skin/client/main.lua index 2d239398..243d30ec 100644 --- a/[core]/esx_skin/client/main.lua +++ b/[core]/esx_skin/client/main.lua @@ -90,7 +90,7 @@ function OpenMenu(submitCb, cancelCb, restrict) cancelCb(data, menu) end end, function(data, menu) - local skin, maxVals + local skin, tempMaxVals TriggerEvent("skinchanger:getSkin", function(getSkin) skin = getSkin @@ -105,14 +105,13 @@ function OpenMenu(submitCb, cancelCb, restrict) -- Update max values TriggerEvent("skinchanger:getData", function(comp, max) - maxVals = max + tempMaxVals = max end) local newData = {} for i = 1, #elements, 1 do - newData = {} - newData.max = maxVals[elements[i].name] + newData.max = tempMaxVals[elements[i].name] if elements[i].textureof ~= nil and data.current.name == elements[i].textureof then newData.value = 0 From ba6744e58051762a9cb61c077e5a014f74faf491 Mon Sep 17 00:00:00 2001 From: Gellipapa Date: Sun, 16 Jun 2024 14:26:06 +0200 Subject: [PATCH 5/6] :pencil2: fix es_extended lint errors --- [core]/es_extended/imports.lua | 2 ++ [core]/es_extended/locale.lua | 1 + [core]/es_extended/server/main.lua | 8 ++++---- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/[core]/es_extended/imports.lua b/[core]/es_extended/imports.lua index a81a71ef..ffb7d4bf 100644 --- a/[core]/es_extended/imports.lua +++ b/[core]/es_extended/imports.lua @@ -1,5 +1,7 @@ ESX = exports["es_extended"]:getSharedObject() +OnPlayerData = function (key, val, last) end + if not IsDuplicityVersion() then -- Only register this event for the client AddEventHandler("esx:setPlayerData", function(key, val, last) if GetInvokingResource() == "es_extended" then diff --git a/[core]/es_extended/locale.lua b/[core]/es_extended/locale.lua index 98a323db..f9a29e9b 100644 --- a/[core]/es_extended/locale.lua +++ b/[core]/es_extended/locale.lua @@ -25,4 +25,5 @@ function TranslateCap(str, ...) -- Translate string first char uppercase end _ = Translate +-- luacheck: ignore _U _U = TranslateCap diff --git a/[core]/es_extended/server/main.lua b/[core]/es_extended/server/main.lua index 439ebf10..640debbe 100644 --- a/[core]/es_extended/server/main.lua +++ b/[core]/es_extended/server/main.lua @@ -509,20 +509,20 @@ if not Config.OxInventory then if xPlayer.hasWeapon(itemName) then local _, weapon = xPlayer.getWeapon(itemName) local _, weaponObject = ESX.GetWeapon(itemName) - local pickupLabel = "" + local weaponPickupLabel = "" local components = ESX.Table.Clone(weapon.components) xPlayer.removeWeapon(itemName) if weaponObject.ammo and weapon.ammo > 0 then local ammoLabel = weaponObject.ammo.label - pickupLabel = ("%s [%s %s]"):format(weapon.label, weapon.ammo, ammoLabel) + weaponPickupLabel = ("%s [%s %s]"):format(weapon.label, weapon.ammo, ammoLabel) xPlayer.showNotification(TranslateCap("threw_weapon_ammo", weapon.label, weapon.ammo, ammoLabel)) else - pickupLabel = ("%s"):format(weapon.label) + weaponPickupLabel = ("%s"):format(weapon.label) xPlayer.showNotification(TranslateCap("threw_weapon", weapon.label)) end - ESX.CreatePickup("item_weapon", itemName, weapon.ammo, pickupLabel, playerId, components, weapon.tintIndex) + ESX.CreatePickup("item_weapon", itemName, weapon.ammo, weaponPickupLabel, playerId, components, weapon.tintIndex) end end end) From d74f997aaabb9baf900b2b0154f1bafba998f35e Mon Sep 17 00:00:00 2001 From: Gellipapa Date: Sun, 16 Jun 2024 14:31:48 +0200 Subject: [PATCH 6/6] :pencil2: fix es_extended lint problems --- [core]/es_extended/server/main.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/[core]/es_extended/server/main.lua b/[core]/es_extended/server/main.lua index 640debbe..fbfd7897 100644 --- a/[core]/es_extended/server/main.lua +++ b/[core]/es_extended/server/main.lua @@ -509,6 +509,7 @@ if not Config.OxInventory then if xPlayer.hasWeapon(itemName) then local _, weapon = xPlayer.getWeapon(itemName) local _, weaponObject = ESX.GetWeapon(itemName) + -- luacheck: ignore weaponPickupLabel local weaponPickupLabel = "" local components = ESX.Table.Clone(weapon.components) xPlayer.removeWeapon(itemName)