From b2be63f5f4a0697216365ea56adb3ce822eac79e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=20Gerg=C5=91?= <69343477+Rav3n95@users.noreply.github.com> Date: Thu, 24 Nov 2022 22:46:35 +0100 Subject: [PATCH 1/4] Fix of the recent fix --- [esx]/esx_textui/TextUI.lua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/[esx]/esx_textui/TextUI.lua b/[esx]/esx_textui/TextUI.lua index 2cc04528..578c9772 100644 --- a/[esx]/esx_textui/TextUI.lua +++ b/[esx]/esx_textui/TextUI.lua @@ -1,12 +1,12 @@ Debug = ESX.GetConfig().EnableDebug ----@param message any ----@param type string -local function TextUI(message, type) +---@param message string +---@param typ string +local function TextUI(message, typ) SendNUIMessage({ action = 'show', message = message and message or 'ESX-TextUI', - type = type ~= 0 and type or 'info' + type = type(typ) == "string" and typ or 'info' }) end From 9716580e7b70a3878d38c9bc4fb52606ce38caf3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=20Gerg=C5=91?= <69343477+Rav3n95@users.noreply.github.com> Date: Thu, 24 Nov 2022 22:48:13 +0100 Subject: [PATCH 2/4] Refactoring peds --- [esx_addons]/esx_banking/client/main.lua | 100 ++++++----------------- [esx_addons]/esx_banking/config.lua | 2 +- [esx_addons]/esx_banking/fxmanifest.lua | 2 +- [esx_addons]/esx_banking/server/main.lua | 54 ++++++++---- 4 files changed, 65 insertions(+), 93 deletions(-) diff --git a/[esx_addons]/esx_banking/client/main.lua b/[esx_addons]/esx_banking/client/main.lua index 342eefb9..e87c5d55 100644 --- a/[esx_addons]/esx_banking/client/main.lua +++ b/[esx_addons]/esx_banking/client/main.lua @@ -1,9 +1,10 @@ -local PlayerData, ActivateBlips, Peds = {}, {}, {} +local ActivateBlips = {} local PlayerLoaded = true local isInMarker, isInAtmMarker, isInMenu, isMarkerShowed = false, false, false, false local _GetEntityCoords, _PlayerPedId -- Functions + -- Listen for keypress while player inside the marker local function Listen4Key() CreateThread(function() @@ -46,57 +47,6 @@ local function RemoveBlips() ActivateBlips = {} end --- Ped Handler -local function PedHandler(ids) - local tmpPeds = {} - - for _, id in pairs(ids) do - if not Peds[id] then - - if not HasModelLoaded(Config.Peds[id].Model) then - RequestModel(Config.Peds[id].Model) - Wait(100) - while not HasModelLoaded(Config.Peds[id].Model) do - Wait(10) - end - end - - local npc = CreatePed(6, Config.Peds[id].Model, Config.Peds[id].Position + vector4(0, 0, -1, 0), false, - false) - TaskStartScenarioInPlace(npc, Config.Peds[id].Scenario, 0, true) - SetEntityInvincible(npc, true) - SetEntityProofs(npc, true, true, true, true, true, true, 1, true) - SetBlockingOfNonTemporaryEvents(npc, true) - FreezeEntityPosition(npc, true) - SetPedDiesWhenInjured(npc, false) - SetEntityCanBeDamaged(npc, false) - SetPedCanRagdollFromPlayerImpact(npc, false) - SetPedCanRagdoll(npc, false) - SetEntityAsMissionEntity(npc, true, true) - SetEntityDynamic(npc, false) - Peds[id] = npc - end - end - - for id, handle in pairs(Peds) do - local del = true - - for i = 1, #ids do - - if ids[i] == id then - del = false - tmpPeds[id] = handle - end - end - - if del then - DeletePed(handle) - end - end - - Peds = tmpPeds -end - function OpenUi(atm) atm = atm or false isInMenu = true @@ -129,7 +79,7 @@ function OpenUi(atm) end local function CloseUi() - SetNuiFocus(false) + SetNuiFocus(false, false) isInMenu = false SendNUIMessage({ showMenu = false @@ -144,8 +94,7 @@ end local function ShowMarker(coord) CreateThread(function() while isMarkerShowed do - DrawMarker(20, coord.x, coord.y, coord.z, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.3, 0.2, 0.2, 187, 255, 0, 255, - false, true, 2, nil, nil, false) + DrawMarker(20, coord.x, coord.y, coord.z, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.3, 0.2, 0.2, 187, 255, 0, 255, false, true, 2, false, nil, nil, false) Wait(0) end end) @@ -159,19 +108,6 @@ local function StartThread() _PlayerPedId = PlayerPedId() _GetEntityCoords = GetEntityCoords(_PlayerPedId) - if Config.EnablePeds then - local closestPed = {} - - for i = 1, #Config.Peds do - local distance = #(_GetEntityCoords - Config.Peds[i].Position.xyz) - if distance <= Config.DrawMarker then - closestPed[#closestPed + 1] = i - end - end - - PedHandler(closestPed) - end - if IsPedOnFoot(PlayerPedId()) then local closestBank = {} @@ -261,6 +197,21 @@ RegisterNetEvent('esx_banking:closebanking', function() CloseUi() end) +RegisterNetEvent('esx_banking:PedHandler', function(netIdTable) + local npc + for i = 1, #netIdTable do + npc = NetworkGetEntityFromNetworkId(netIdTable[i]) + TaskStartScenarioInPlace(npc, Config.Peds[i].Scenario, 0, true) + SetEntityProofs(npc, true, true, true, true, true, true, true, true) + SetBlockingOfNonTemporaryEvents(npc, true) + FreezeEntityPosition(npc, true) + SetPedCanRagdollFromPlayerImpact(npc, false) + SetPedCanRagdoll(npc, false) + SetEntityAsMissionEntity(npc, true, true) + SetEntityDynamic(npc, false) + end +end) + RegisterNetEvent('esx_banking:updateMoneyInUI') AddEventHandler('esx_banking:updateMoneyInUI', function(doingType, bankMoney, money) SendNUIMessage({ @@ -275,23 +226,20 @@ end) -- Resource starting AddEventHandler('onResourceStart', function(resource) - if resource ~= GetCurrentResourceName() then - return - end + if resource ~= GetCurrentResourceName() then return end StartThread() end) -- Enables it on player loaded RegisterNetEvent('esx:playerLoaded', function() StartThread() - end) +end) + -- Resource stopping AddEventHandler('onResourceStop', function(resource) - if resource ~= GetCurrentResourceName() then - return - end + if resource ~= GetCurrentResourceName() then return end RemoveBlips() if isInMenu then CloseUi() end -end) +end) \ No newline at end of file diff --git a/[esx_addons]/esx_banking/config.lua b/[esx_addons]/esx_banking/config.lua index 6c6ba038..045d0276 100644 --- a/[esx_addons]/esx_banking/config.lua +++ b/[esx_addons]/esx_banking/config.lua @@ -2,7 +2,7 @@ Config = { Debug = false, DrawMarker = 10, Locale = GetConvar('esx:locale', 'en'), - EnablePeds = true, + EnablePeds = true, AtmModels = {`prop_fleeca_atm`, `prop_atm_01`, `prop_atm_02`, `prop_atm_03`}, Banks = { { diff --git a/[esx_addons]/esx_banking/fxmanifest.lua b/[esx_addons]/esx_banking/fxmanifest.lua index 25f0e83f..54d199bf 100644 --- a/[esx_addons]/esx_banking/fxmanifest.lua +++ b/[esx_addons]/esx_banking/fxmanifest.lua @@ -4,7 +4,7 @@ game 'gta5' description 'ESX banking' lua54 'yes' -version '1.8.5' +version '1.8.6' shared_scripts { '@es_extended/imports.lua', diff --git a/[esx_addons]/esx_banking/server/main.lua b/[esx_addons]/esx_banking/server/main.lua index 110c19d9..23ca5737 100644 --- a/[esx_addons]/esx_banking/server/main.lua +++ b/[esx_addons]/esx_banking/server/main.lua @@ -1,3 +1,5 @@ +local spawnedPeds, netIdTable = {}, {} + -- get keys utils local function get_key(t) local key @@ -9,28 +11,34 @@ end -- Resource starting AddEventHandler('onResourceStart', function(resourceName) - if (GetCurrentResourceName() ~= resourceName) then - return - end + if (GetCurrentResourceName() ~= resourceName) then return end + if Config.EnablePeds then BANK.CreatePeds() end local twoMonthMs = (os.time() - 5259487) * 1000 MySQL.Sync.fetchScalar('DELETE FROM banking WHERE time < ? ', {twoMonthMs}) end) +AddEventHandler('onResourceStop', function(resourceName) + if (GetCurrentResourceName() ~= resourceName) then return end + if Config.EnablePeds then BANK.DeletePeds() end +end) + +AddEventHandler('esx:playerLoaded', function(playerId, xPlayer) + if not Config.EnablePeds then return end + TriggerClientEvent('esx_banking:PedHandler', playerId, netIdTable) +end) + -- event RegisterServerEvent('esx_banking:doingType') AddEventHandler('esx_banking:doingType', function(typeData) - if source == nil then - return - end - if (typeData == nil) then - return - end + if source == nil then return end + if (typeData == nil) then return end local source = source local xPlayer = ESX.GetPlayerFromId(source) local identifier = xPlayer.getIdentifier() local money = xPlayer.getAccount('money').money local bankMoney = xPlayer.getAccount('bank').money + local amount local key = get_key(typeData) if typeData.deposit then @@ -43,9 +51,7 @@ AddEventHandler('esx_banking:doingType', function(typeData) amount = tonumber(typeData.pincode) end - if not tonumber(amount) then - return - end + if not tonumber(amount) then return end amount = ESX.Math.Round(amount) if amount == nil or (not typeData.pincode and amount <= 0) then @@ -116,6 +122,24 @@ end) -- bank functions BANK = { + CreatePeds = function() + for i = 1, #Config.Peds do + local model = Config.Peds[i].Model + local coords = Config.Peds[i].Position + spawnedPeds[i] = CreatePed(0, model, coords.x, coords.y, coords.z, coords.w, true, true) + netIdTable[i] = NetworkGetNetworkIdFromEntity(spawnedPeds[i]) + while not DoesEntityExist(spawnedPeds[i]) do Wait(50) end + end + + Wait(100) + TriggerClientEvent('esx_banking:PedHandler', -1, netIdTable) + end, + DeletePeds = function() + for i = 1, #spawnedPeds do + DeleteEntity(spawnedPeds[i]) + spawnedPeds[i] = nil + end + end, Withdraw = function(amount, xPlayer) xPlayer.addAccountMoney('money', amount) xPlayer.removeAccountMoney('bank', amount) @@ -132,7 +156,7 @@ BANK = { xPlayer.removeAccountMoney('bank', amount) xTarget.addAccountMoney('bank', amount) - bankMoney = xTarget.getAccount('bank').money + local bankMoney = xTarget.getAccount('bank').money BANK.LogTransaction(xTarget.source, "TRANSFER_RECEIVE", amount, bankMoney) TriggerClientEvent("esx:showNotification", xTarget.source, TranslateCap('receive_transfer', amount, xPlayer.source), "success") @@ -151,5 +175,5 @@ BANK = { MySQL.insert('INSERT INTO banking (identifier, type, amount, time, balance) VALUES (?, ?, ?, ?, ?)', {identifier, logType, amount, os.time() * 1000, bankMoney}) - end -} + end +} \ No newline at end of file From 8a73289a72a26537a8055834756068a1fc53f8e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=20Gerg=C5=91?= <69343477+Rav3n95@users.noreply.github.com> Date: Thu, 24 Nov 2022 23:01:16 +0100 Subject: [PATCH 3/4] Update en.lua --- [esx_addons]/esx_allowlist/locales/en.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/[esx_addons]/esx_allowlist/locales/en.lua b/[esx_addons]/esx_allowlist/locales/en.lua index 55964780..96281f8d 100644 --- a/[esx_addons]/esx_allowlist/locales/en.lua +++ b/[esx_addons]/esx_allowlist/locales/en.lua @@ -1,5 +1,5 @@ Locales['en'] = { - ['allowlist_check'] = 'Checking you are Allowlisted.', + ['allowlist_check'] = 'Checking if you are Allowlisted.', ['not_allowlisted'] = 'You Must be Allowlisted to join this server!', ['allowlist_empty'] = 'There Are no allowlists saved for this server.', ['license_missing'] = 'Error: Your Identifier is missing!', From e615c570b815f4469a3daf9b82ea1c37084d3932 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=20Gerg=C5=91?= <69343477+Rav3n95@users.noreply.github.com> Date: Thu, 24 Nov 2022 23:01:49 +0100 Subject: [PATCH 4/4] Fixed Hungarian locale --- [esx_addons]/esx_allowlist/locales/hu.lua | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/[esx_addons]/esx_allowlist/locales/hu.lua b/[esx_addons]/esx_allowlist/locales/hu.lua index 294a2ede..7bd30405 100644 --- a/[esx_addons]/esx_allowlist/locales/hu.lua +++ b/[esx_addons]/esx_allowlist/locales/hu.lua @@ -1,8 +1,8 @@ Locales['hu'] = { - ['allowlist_check'] = 'Ellenőrzi, hogy fent vagy-e az engedélyezett listára.', + ['allowlist_check'] = 'Ellenőrizzük fent vagy-e a menők listáján.', ['not_allowlisted'] = 'Engedélyezettnek kell lenned ahhoz, hogy csatlakozz ehhez a szerverhez!', - ['allowlist_empty'] = 'Ehhez a szerverhez nincsenek mentett engedélyezési listák.', - ['license_missing'] = 'Hiba: Te Identifier-ed hiányzik!', - ['help_allowlist_add'] = 'jétékos felvéltele a allowlist-re', - ['help_allowlist_load'] = 'allowlist újratöltése', + ['allowlist_empty'] = 'Ehhez a szerverhez nincsenek mentett engedélyezési lista.', + ['license_missing'] = 'Hiba: Te azonosítód hiányzik!', + ['help_allowlist_add'] = 'játékos felvétele az engedélyezettek listájára', + ['help_allowlist_load'] = 'engedélyezési lista újratöltése', }