From d6fe06d9f5726ce9ecf99fcfab3546c71a38cdf9 Mon Sep 17 00:00:00 2001 From: Csoki Date: Sun, 22 Jan 2023 13:02:06 +0100 Subject: [PATCH 01/18] feat(modules): add npwd support --- [SQL]/legacy.sql | 3 +- [core]/es_extended/client/modules/npwd.lua | 55 ++++++++++++++++++++++ [core]/es_extended/fxmanifest.lua | 17 +++---- [core]/es_extended/server/modules/npwd.lua | 49 +++++++++++++++++++ 4 files changed, 113 insertions(+), 11 deletions(-) create mode 100644 [core]/es_extended/client/modules/npwd.lua create mode 100644 [core]/es_extended/server/modules/npwd.lua diff --git a/[SQL]/legacy.sql b/[SQL]/legacy.sql index 39e24040..2ba76874 100644 --- a/[SQL]/legacy.sql +++ b/[SQL]/legacy.sql @@ -402,7 +402,8 @@ CREATE TABLE `users` ( `disabled` TINYINT(1) NULL DEFAULT '0', `last_property` varchar(255) DEFAULT NULL, `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP, - `last_seen` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP + `last_seen` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP, + `phone_number` VARCHAR(20) DEFAULT NULL ) ENGINE=InnoDB; -- -------------------------------------------------------- diff --git a/[core]/es_extended/client/modules/npwd.lua b/[core]/es_extended/client/modules/npwd.lua new file mode 100644 index 00000000..fb04f356 --- /dev/null +++ b/[core]/es_extended/client/modules/npwd.lua @@ -0,0 +1,55 @@ +local npwd = GetResourceState('npwd'):find('start') and exports.npwd or nil + +local function checkPhone() + if not npwd then + return + end + + npwd:setPhoneDisabled((ESX.SearchInventory('phone').count or 0) <= 0) +end +RegisterNetEvent('esx:playerLoaded', checkPhone) + +AddEventHandler('onClientResourceStart', function(resource) + if resource ~= 'npwd' then + return + end + + npwd = GetResourceState('npwd'):find('start') and exports.npwd or nil + + if ESX.PlayerLoaded then + checkPhone() + end +end) + +AddEventHandler('onClientResourceStop', function(resource) + if resource == 'npwd' then + npwd = nil + end +end) + +RegisterNetEvent('esx:onPlayerLogout', function() + if not npwd then + return + end + + npwd:setPhoneVisible(false) + npwd:setPhoneDisabled(true) +end) + +RegisterNetEvent('esx:removeInventoryItem', function(item, count) + if not npwd then + return + end + + if item == 'phone' and count == 0 then + npwd:setPhoneDisabled(true) + end +end) + +RegisterNetEvent('esx:addInventoryItem', function(item) + if not npwd or item ~= 'phone' then + return + end + + npwd:setPhoneDisabled(false) +end) \ No newline at end of file diff --git a/[core]/es_extended/fxmanifest.lua b/[core]/es_extended/fxmanifest.lua index 1c9c63be..0f5ca570 100644 --- a/[core]/es_extended/fxmanifest.lua +++ b/[core]/es_extended/fxmanifest.lua @@ -27,9 +27,9 @@ server_scripts { 'server/main.lua', 'server/commands.lua', - 'common/modules/math.lua', - 'common/modules/table.lua', - 'common/functions.lua' + 'common/modules/*.lua', + 'common/functions.lua', + 'server/modules/*.lua' } client_scripts { @@ -37,14 +37,11 @@ client_scripts { 'client/functions.lua', 'client/wrapper.lua', 'client/main.lua', + + 'common/modules/*.lua', + 'common/functions.lua', - 'client/modules/death.lua', - 'client/modules/scaleform.lua', - 'client/modules/streaming.lua', - - 'common/modules/math.lua', - 'common/modules/table.lua', - 'common/functions.lua' + 'client/modules/*.lua' } ui_page { diff --git a/[core]/es_extended/server/modules/npwd.lua b/[core]/es_extended/server/modules/npwd.lua new file mode 100644 index 00000000..3e0c1ffc --- /dev/null +++ b/[core]/es_extended/server/modules/npwd.lua @@ -0,0 +1,49 @@ +local npwd = GetResourceState('npwd'):find('start') and exports.npwd or nil + +AddEventHandler('onServerResourceStart', function(resource) + if resource ~= 'npwd' then + return + end + + npwd = GetResourceState('npwd'):find('start') and exports.npwd or nil + + for _, xPlayer in pairs(ESX.Players) do + npwd:newPlayer({ + source = xPlayer.source, + identifier = xPlayer.identifier, + firstname = xPlayer.get('firstName'), + lastname = xPlayer.get('lastName') + }) + end +end) + +AddEventHandler('onServerResourceStop', function(resource) + if resource == 'npwd' then + npwd = nil + end +end) + +AddEventHandler('esx:playerLoaded', function(playerId, xPlayer) + if not npwd then + return + end + + if not xPlayer then + xPlayer = ESX.GetPlayerFromId(playerId) + end + + npwd:newPlayer({ + source = playerId, + identifier = xPlayer.identifier, + firstname = xPlayer.get('firstName'), + lastname = xPlayer.get('lastName') + }) +end) + +AddEventHandler('esx:playerLogout', function(playerId) + if not npwd then + return + end + + npwd:unloadPlayer(playerId) +end) \ No newline at end of file From 5e5c3020690da33d64dd059c6c81762b3c364b72 Mon Sep 17 00:00:00 2001 From: TheFarFantomas Date: Mon, 23 Jan 2023 23:02:54 +0100 Subject: [PATCH 02/18] ESX.OneSync.SpawnVehicle and Command rewrite --- [core]/es_extended/config.lua | 2 +- [core]/es_extended/server/commands.lua | 56 +++++++++++++++++--------- [core]/es_extended/server/onesync.lua | 42 +++++++++---------- 3 files changed, 60 insertions(+), 40 deletions(-) diff --git a/[core]/es_extended/config.lua b/[core]/es_extended/config.lua index 50c57ea3..177a64d7 100644 --- a/[core]/es_extended/config.lua +++ b/[core]/es_extended/config.lua @@ -60,7 +60,7 @@ Config.RemoveHudCommonents = { [22] = false, --HUD_WEAPONS } -Config.MaxAdminVehicles = false -- admin vehicles spawn with max vehcle settings +Config.MaxAdminVehicles = true -- admin vehicles spawn with max vehcle settings Config.CustomAIPlates = 'ESX.A111' -- Custom plates for AI vehicles -- Pattern string format --1 will lead to a random number from 0-9. diff --git a/[core]/es_extended/server/commands.lua b/[core]/es_extended/server/commands.lua index 1ebe1754..7028b6d2 100644 --- a/[core]/es_extended/server/commands.lua +++ b/[core]/es_extended/server/commands.lua @@ -23,29 +23,49 @@ end, true, {help = TranslateCap('command_setjob'), validate = true, arguments = {name = 'grade', help = TranslateCap('command_setjob_grade'), type = 'number'} }}) +local upgrades = Config.MaxAdminVehicles and + { + plate = "ADMINCAR", + modEngine = 3, + modBrakes = 2, + modTransmission = 2, + modSuspension = 3, + modArmor = true, + windowTint = 1 + } or {} + ESX.RegisterCommand('car', 'admin', function(xPlayer, args, showError) - local GameBuild = tonumber(GetConvar("sv_enforceGameBuild", 1604)) - if not args.car then args.car = GameBuild >= 2699 and "draugur" or "prototipo" end + local playerPed = GetPlayerPed(xPlayer.source) + local playerCoords = GetEntityCoords(playerPed) + local playerHeading = GetEntityHeading(playerPed) + local playerVehicle = GetVehiclePedIsIn(playerPed) + + if not args.car or type(args.car) ~= 'string' then + args.car = 'adder' + end + + if playerVehicle then + DeleteEntity(playerVehicle) + end + ESX.DiscordLogFields("UserActions", "/car Triggered", "pink", { {name = "Player", value = xPlayer.name, inline = true}, {name = "ID", value = xPlayer.source, inline = true}, - {name = "Vehicle", value = args.car, inline = true} + {name = "Vehicle", value = args.car, inline = true} }) - local upgrades = Config.MaxAdminVehicles and { - plate = "ADMINCAR", - modEngine = 3, - modBrakes = 2, - modTransmission = 2, - modSuspension = 3, - modArmor = true, - windowTint = 1, - } or {} - local coords = xPlayer.getCoords(true) - local PlayerPed = GetPlayerPed(xPlayer.source) - ESX.OneSync.SpawnVehicle(args.car, coords - vector3(0,0, 0.9), GetEntityHeading(PlayerPed), upgrades, function(networkId) - local vehicle = NetworkGetEntityFromNetworkId(networkId) - Wait(250) - TaskWarpPedIntoVehicle(PlayerPed, vehicle, -1) + + ESX.OneSync.SpawnVehicle(args.car, playerCoords, playerHeading, upgrades, function(networkId) + if networkId then + local vehicle = NetworkGetEntityFromNetworkId(networkId) + for i = 1, 20 do + Wait(0) + SetPedIntoVehicle(playerPed, vehicle, -1) + + if GetVehiclePedIsIn(playerPed, false) == vehicle then + break + end + end + end end) end, false, {help = TranslateCap('command_car'), validate = false, arguments = { {name = 'car',validate = false, help = TranslateCap('command_car_car'), type = 'string'} diff --git a/[core]/es_extended/server/onesync.lua b/[core]/es_extended/server/onesync.lua index 2ede0ff2..21e979c9 100644 --- a/[core]/es_extended/server/onesync.lua +++ b/[core]/es_extended/server/onesync.lua @@ -61,29 +61,29 @@ end ---@param heading number ---@param Properties table ---@param cb function - function ESX.OneSync.SpawnVehicle(model, coords, heading, Properties, cb) - local veh_model = type(model) == 'string' and joaat(model) or model - Properties = Properties or {} - local vector = type(coords) == "vector3" and coords or vec(coords.x, coords.y, coords.z) - TriggerClientEvent("esx:requestModel", -1, model) - CreateThread(function() - local xPlayer = ESX.OneSync.GetClosestPlayer(vector, 300) - ESX.GetVehicleType(veh_model, xPlayer.id, function(Type) - if Type then - local SpawnedEntity = CreateVehicleServerSetter(veh_model, Type, vector, heading) - local NetworkId = NetworkGetNetworkIdFromEntity(SpawnedEntity) - while not DoesEntityExist(SpawnedEntity) do - Wait(100) - end - Properties.NetId = NetworkId - Entity(SpawnedEntity).state:set('VehicleProperties', Properties, true) - cb(NetworkId) - else - print(('[^1ERROR^7] Tried to spawn invalid vehicle - ^5%s^7!'):format(model)) +function ESX.OneSync.SpawnVehicle(model, coords, heading, properties, cb) + local vehicleModel = joaat(model) + local vehicleProperties = properties + + CreateThread(function() + local xPlayer = ESX.OneSync.GetClosestPlayer(coords, 300) + ESX.GetVehicleType(vehicleModel, xPlayer.id, function(vehicleType) + if vehicleType then + local createdVehicle = CreateVehicleServerSetter(vehicleModel, vehicleType, coords, heading) + if DoesEntityExist(createdVehicle) then + local networkId = NetworkGetNetworkIdFromEntity(createdVehicle) + vehicleProperties.NetId = networkId + Entity(createdVehicle).state:set('VehicleProperties', vehicleProperties, true) + cb(networkId) + else + print('[^1ERROR^7] Unfortunately, this vehicle has not spawned') end - end) + else + print(('[^1ERROR^7] Tried to spawn invalid vehicle - ^5%s^7!'):format(model)) + end end) - end + end) +end ---@param model number|string From 3e549be14c2062af702cb121518a2de66b140fe0 Mon Sep 17 00:00:00 2001 From: TheFarFantomas Date: Mon, 23 Jan 2023 23:17:27 +0100 Subject: [PATCH 03/18] Change variable name --- [core]/es_extended/config.lua | 2 +- [core]/es_extended/server/commands.lua | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/[core]/es_extended/config.lua b/[core]/es_extended/config.lua index 177a64d7..46daa5dd 100644 --- a/[core]/es_extended/config.lua +++ b/[core]/es_extended/config.lua @@ -60,7 +60,7 @@ Config.RemoveHudCommonents = { [22] = false, --HUD_WEAPONS } -Config.MaxAdminVehicles = true -- admin vehicles spawn with max vehcle settings +Config.SpawnVehMaxUpgrades = true -- admin vehicles spawn with max vehcle settings Config.CustomAIPlates = 'ESX.A111' -- Custom plates for AI vehicles -- Pattern string format --1 will lead to a random number from 0-9. diff --git a/[core]/es_extended/server/commands.lua b/[core]/es_extended/server/commands.lua index 7028b6d2..79925ec3 100644 --- a/[core]/es_extended/server/commands.lua +++ b/[core]/es_extended/server/commands.lua @@ -23,7 +23,7 @@ end, true, {help = TranslateCap('command_setjob'), validate = true, arguments = {name = 'grade', help = TranslateCap('command_setjob_grade'), type = 'number'} }}) -local upgrades = Config.MaxAdminVehicles and +local upgrades = Config.SpawnVehMaxUpgrades and { plate = "ADMINCAR", modEngine = 3, From ab6dc52f5a76ec3f95aa83651bda5b8ac05531e7 Mon Sep 17 00:00:00 2001 From: TheFarFantomas Date: Mon, 23 Jan 2023 23:19:36 +0100 Subject: [PATCH 04/18] Generic error message --- [core]/es_extended/server/commands.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/[core]/es_extended/server/commands.lua b/[core]/es_extended/server/commands.lua index 79925ec3..e3c63e0e 100644 --- a/[core]/es_extended/server/commands.lua +++ b/[core]/es_extended/server/commands.lua @@ -65,6 +65,9 @@ ESX.RegisterCommand('car', 'admin', function(xPlayer, args, showError) break end end + if GetVehiclePedIsIn(playerPed, false) ~= vehicle then + print('[^1ERROR^7] The player could not be seated in the vehicle') + end end end) end, false, {help = TranslateCap('command_car'), validate = false, arguments = { From df51c5215143a7e1b8e0f9e29befb52990cf61e5 Mon Sep 17 00:00:00 2001 From: TheFarFantomas Date: Mon, 23 Jan 2023 23:20:34 +0100 Subject: [PATCH 05/18] xPlayer value check --- [core]/es_extended/server/commands.lua | 62 ++++++++++++++------------ 1 file changed, 33 insertions(+), 29 deletions(-) diff --git a/[core]/es_extended/server/commands.lua b/[core]/es_extended/server/commands.lua index e3c63e0e..3b8f42b9 100644 --- a/[core]/es_extended/server/commands.lua +++ b/[core]/es_extended/server/commands.lua @@ -35,41 +35,45 @@ local upgrades = Config.SpawnVehMaxUpgrades and } or {} ESX.RegisterCommand('car', 'admin', function(xPlayer, args, showError) - local playerPed = GetPlayerPed(xPlayer.source) - local playerCoords = GetEntityCoords(playerPed) - local playerHeading = GetEntityHeading(playerPed) - local playerVehicle = GetVehiclePedIsIn(playerPed) + if xPlayer then + local playerPed = GetPlayerPed(xPlayer.source) + local playerCoords = GetEntityCoords(playerPed) + local playerHeading = GetEntityHeading(playerPed) + local playerVehicle = GetVehiclePedIsIn(playerPed) - if not args.car or type(args.car) ~= 'string' then - args.car = 'adder' - end + if not args.car or type(args.car) ~= 'string' then + args.car = 'adder' + end - if playerVehicle then - DeleteEntity(playerVehicle) - end + if playerVehicle then + DeleteEntity(playerVehicle) + end - ESX.DiscordLogFields("UserActions", "/car Triggered", "pink", { - {name = "Player", value = xPlayer.name, inline = true}, - {name = "ID", value = xPlayer.source, inline = true}, - {name = "Vehicle", value = args.car, inline = true} - }) + ESX.DiscordLogFields("UserActions", "/car Triggered", "pink", { + {name = "Player", value = xPlayer.name, inline = true}, + {name = "ID", value = xPlayer.source, inline = true}, + {name = "Vehicle", value = args.car, inline = true} + }) - ESX.OneSync.SpawnVehicle(args.car, playerCoords, playerHeading, upgrades, function(networkId) - if networkId then - local vehicle = NetworkGetEntityFromNetworkId(networkId) - for i = 1, 20 do - Wait(0) - SetPedIntoVehicle(playerPed, vehicle, -1) - - if GetVehiclePedIsIn(playerPed, false) == vehicle then - break + ESX.OneSync.SpawnVehicle(args.car, playerCoords, playerHeading, upgrades, function(networkId) + if networkId then + local vehicle = NetworkGetEntityFromNetworkId(networkId) + for i = 1, 20 do + Wait(0) + SetPedIntoVehicle(playerPed, vehicle, -1) + + if GetVehiclePedIsIn(playerPed, false) == vehicle then + break + end + end + if GetVehiclePedIsIn(playerPed, false) ~= vehicle then + print('[^1ERROR^7] The player could not be seated in the vehicle') end end - if GetVehiclePedIsIn(playerPed, false) ~= vehicle then - print('[^1ERROR^7] The player could not be seated in the vehicle') - end - end - end) + end) + else + print('[^1ERROR^7] The xplayer value is nil') + end end, false, {help = TranslateCap('command_car'), validate = false, arguments = { {name = 'car',validate = false, help = TranslateCap('command_car_car'), type = 'string'} }}) From a75b6257164501ce127fa1245d7f2df1c9233f70 Mon Sep 17 00:00:00 2001 From: TheFarFantomas Date: Mon, 23 Jan 2023 23:43:26 +0100 Subject: [PATCH 06/18] Reverse notify logic --- [core]/es_extended/server/commands.lua | 64 +++++++++++++------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/[core]/es_extended/server/commands.lua b/[core]/es_extended/server/commands.lua index 3b8f42b9..b89ae36a 100644 --- a/[core]/es_extended/server/commands.lua +++ b/[core]/es_extended/server/commands.lua @@ -35,45 +35,45 @@ local upgrades = Config.SpawnVehMaxUpgrades and } or {} ESX.RegisterCommand('car', 'admin', function(xPlayer, args, showError) - if xPlayer then - local playerPed = GetPlayerPed(xPlayer.source) - local playerCoords = GetEntityCoords(playerPed) - local playerHeading = GetEntityHeading(playerPed) - local playerVehicle = GetVehiclePedIsIn(playerPed) + if not xPlayer then + return print('[^1ERROR^7] The xPlayer value is nil') + end + + local playerPed = GetPlayerPed(xPlayer.source) + local playerCoords = GetEntityCoords(playerPed) + local playerHeading = GetEntityHeading(playerPed) + local playerVehicle = GetVehiclePedIsIn(playerPed) - if not args.car or type(args.car) ~= 'string' then - args.car = 'adder' - end + if not args.car or type(args.car) ~= 'string' then + args.car = 'adder' + end - if playerVehicle then - DeleteEntity(playerVehicle) - end + if playerVehicle then + DeleteEntity(playerVehicle) + end - ESX.DiscordLogFields("UserActions", "/car Triggered", "pink", { - {name = "Player", value = xPlayer.name, inline = true}, - {name = "ID", value = xPlayer.source, inline = true}, - {name = "Vehicle", value = args.car, inline = true} - }) + ESX.DiscordLogFields("UserActions", "/car Triggered", "pink", { + {name = "Player", value = xPlayer.name, inline = true}, + {name = "ID", value = xPlayer.source, inline = true}, + {name = "Vehicle", value = args.car, inline = true} + }) - ESX.OneSync.SpawnVehicle(args.car, playerCoords, playerHeading, upgrades, function(networkId) - if networkId then - local vehicle = NetworkGetEntityFromNetworkId(networkId) - for i = 1, 20 do - Wait(0) - SetPedIntoVehicle(playerPed, vehicle, -1) + ESX.OneSync.SpawnVehicle(args.car, playerCoords, playerHeading, upgrades, function(networkId) + if networkId then + local vehicle = NetworkGetEntityFromNetworkId(networkId) + for i = 1, 20 do + Wait(0) + SetPedIntoVehicle(playerPed, vehicle, -1) - if GetVehiclePedIsIn(playerPed, false) == vehicle then - break - end - end - if GetVehiclePedIsIn(playerPed, false) ~= vehicle then - print('[^1ERROR^7] The player could not be seated in the vehicle') + if GetVehiclePedIsIn(playerPed, false) == vehicle then + break end end - end) - else - print('[^1ERROR^7] The xplayer value is nil') - end + if GetVehiclePedIsIn(playerPed, false) ~= vehicle then + print('[^1ERROR^7] The player could not be seated in the vehicle') + end + end + end) end, false, {help = TranslateCap('command_car'), validate = false, arguments = { {name = 'car',validate = false, help = TranslateCap('command_car_car'), type = 'string'} }}) From ee730ee036f838f15b5502c18463606d48f83735 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=20Gerg=C5=91?= Date: Tue, 24 Jan 2023 18:40:46 +0100 Subject: [PATCH 07/18] feat(actions) --- [core]/es_extended/client/modules/actions.lua | 102 ++++++++++++++++++ [core]/es_extended/server/modules/actions.lua | 34 ++++++ 2 files changed, 136 insertions(+) create mode 100644 [core]/es_extended/client/modules/actions.lua create mode 100644 [core]/es_extended/server/modules/actions.lua diff --git a/[core]/es_extended/client/modules/actions.lua b/[core]/es_extended/client/modules/actions.lua new file mode 100644 index 00000000..aecda7f9 --- /dev/null +++ b/[core]/es_extended/client/modules/actions.lua @@ -0,0 +1,102 @@ +local isInVehicle, isEnteringVehicle, isJumping = false, false, false +local currentVehicle, currentSeat = 0, 0 +local playerPed = PlayerPedId() + +local function GetPedVehicleSeat(ped, vehicle) + for i = -1, 16 do + if (GetPedInVehicleSeat(vehicle, i) == ped) then return i end + end + return -1 +end + +local function GetData(vehicle) + local model = GetEntityModel(currentVehicle) + local displayName = GetDisplayNameFromVehicleModel(model) + local netId = VehToNet(vehicle) + return displayName, netId +end + +CreateThread(function() + while true do + + if playerPed ~= PlayerPedId() then + playerPed = PlayerPedId() + TriggerEvent('esx:playerPedChanged', playerPed) + TriggerServerEvent('esx:playerPedChanged', PedToNet(playerPed)) + end + + if IsPedJumping(playerPed) and not isJumping then + isJumping = true + TriggerEvent('esx:playerJumping') + TriggerServerEvent('esx:playerJumping') + elseif not IsPedJumping(playerPed) and isJumping then + isJumping = false + end + + if not isInVehicle and not IsPlayerDead(PlayerId()) then + if DoesEntityExist(GetVehiclePedIsTryingToEnter(playerPed)) and not isEnteringVehicle then + -- trying to enter a vehicle! + local vehicle = GetVehiclePedIsTryingToEnter(playerPed) + local seat = GetSeatPedIsTryingToEnter(playerPed) + local displayName, netId = GetData(vehicle) + isEnteringVehicle = true + TriggerEvent('esx:playerEnteringVehicle', vehicle, seat, netId) + TriggerServerEvent('esx:playerEnteringVehicle', vehicle, seat, netId) + elseif not DoesEntityExist(GetVehiclePedIsTryingToEnter(playerPed)) and + not IsPedInAnyVehicle(playerPed, true) and isEnteringVehicle then + -- vehicle entering aborted + TriggerEvent('esx:playerEnteringVehicleAborted') + TriggerServerEvent('esx:playerEnteringVehicleAborted') + isEnteringVehicle = false + elseif IsPedInAnyVehicle(playerPed, false) then + -- suddenly appeared in a vehicle, possible teleport + isEnteringVehicle = false + isInVehicle = true + currentVehicle = GetVehiclePedIsUsing(playerPed) + currentSeat = GetPedVehicleSeat(playerPed, currentVehicle) + local displayName, netId = GetData(currentVehicle) + TriggerEvent('esx:playerEnteredVehicle', currentVehicle, currentSeat, displayName, netId) + TriggerServerEvent('esx:playerEnteredVehicle', currentVehicle, currentSeat, displayName, netId) + end + elseif isInVehicle then + if not IsPedInAnyVehicle(playerPed, false) or IsPlayerDead(PlayerId()) then + -- bye, vehicle + local displayName, netId = GetData(currentVehicle) + TriggerEvent('esx:playerExitedVehicle', currentVehicle, currentSeat, displayName, netId) + TriggerServerEvent('esx:playerExitedVehicle', currentVehicle, currentSeat, displayName, netId) + isInVehicle = false + currentVehicle = 0 + currentSeat = 0 + end + end + Wait(200) + end +end) + +if Config.EnableDebug then + + AddEventHandler('esx:playerPedChanged', function(netId) + print('esx:playerPedChanged', netId) + end) + + AddEventHandler('esx:playerJumping', function() + print('esx:playerJumping') + end) + + AddEventHandler('esx:playerEnteringVehicle', function(vehicle, seat, netId) + print('esx:playerEnteringVehicle', 'vehicle', vehicle, 'seat', seat, 'netId', netId) + end) + + AddEventHandler('esx:playerEnteringVehicleAborted', function() + print('esx:playerEnteringVehicleAborted') + end) + + AddEventHandler('esx:playerEnteredVehicle', function(vehicle, seat, displayName, netId) + print('esx:playerEnteredVehicle', 'vehicle', vehicle, 'seat', seat, 'displayName', displayName, 'netId', netId) + end) + + AddEventHandler('esx:playerExitedVehicle', function(vehicle, seat, displayName, netId) + print('esx:playerExitedVehicle', 'vehicle', vehicle, 'seat', seat, 'displayName', displayName, 'netId', netId) + end) + +end \ No newline at end of file diff --git a/[core]/es_extended/server/modules/actions.lua b/[core]/es_extended/server/modules/actions.lua new file mode 100644 index 00000000..83eecbc3 --- /dev/null +++ b/[core]/es_extended/server/modules/actions.lua @@ -0,0 +1,34 @@ +RegisterServerEvent('esx:playerPedChanged') +RegisterServerEvent('esx:playerJumping') +RegisterServerEvent('esx:playerEnteringVehicle') +RegisterServerEvent('esx:playerEnteringVehicleAborted') +RegisterServerEvent('esx:playerEnteredVehicle') +RegisterServerEvent('esx:playerExitedVehicle') + +if Config.EnableDebug then + + AddEventHandler('esx:playerPedChanged', function(netId) + print('esx:playerPedChanged', source, netId) + end) + + AddEventHandler('esx:playerJumping', function() + print('esx:playerJumping', source) + end) + + AddEventHandler('esx:playerEnteringVehicle', function(vehicle, seat, netId) + print('esx:playerEnteringVehicle', 'source', source, 'vehicle', vehicle, 'seat', seat, 'netId', netId) + end) + + AddEventHandler('esx:playerEnteringVehicleAborted', function() + print('esx:playerEnteringVehicleAborted', source) + end) + + AddEventHandler('esx:playerEnteredVehicle', function(vehicle, seat, displayName, netId) + print('esx:playerEnteredVehicle', 'source', source, 'vehicle', vehicle, 'seat', seat, 'displayName', displayName, 'netId', netId) + end) + + AddEventHandler('esx:playerExitedVehicle', function(vehicle, seat, displayName, netId) + print('esx:playerExitedVehicle', 'source', source, 'vehicle', vehicle, 'seat', seat, 'displayName', displayName, 'netId', netId) + end) + +end \ No newline at end of file From 3497eb6bcac0c853c34b5cfa3fe14efbb5641c49 Mon Sep 17 00:00:00 2001 From: Csoki Date: Tue, 24 Jan 2023 19:05:57 +0100 Subject: [PATCH 08/18] BREAKING CHANGE(es_extended): remove ESX.UI.HUD and hud functions --- [core]/es_extended/client/functions.lua | 70 ----------- [core]/es_extended/client/main.lua | 58 --------- [core]/es_extended/config.lua | 1 - [core]/es_extended/fxmanifest.lua | 4 - [core]/es_extended/html/css/app.css | 111 ++++++++---------- [core]/es_extended/html/img/accounts/bank.png | Bin 1015 -> 0 bytes .../html/img/accounts/black_money.png | Bin 1030 -> 0 bytes .../es_extended/html/img/accounts/money.png | Bin 662 -> 0 bytes [core]/es_extended/html/js/app.js | 86 +------------- [core]/es_extended/html/ui.html | 22 ++-- 10 files changed, 61 insertions(+), 291 deletions(-) delete mode 100644 [core]/es_extended/html/img/accounts/bank.png delete mode 100644 [core]/es_extended/html/img/accounts/black_money.png delete mode 100644 [core]/es_extended/html/img/accounts/money.png diff --git a/[core]/es_extended/client/functions.lua b/[core]/es_extended/client/functions.lua index 5403abcd..95975306 100644 --- a/[core]/es_extended/client/functions.lua +++ b/[core]/es_extended/client/functions.lua @@ -6,12 +6,6 @@ Core.CurrentRequestId = 0 Core.ServerCallbacks = {} Core.TimeoutCallbacks = {} Core.Input = {} -ESX.UI = {} -ESX.UI.HUD = {} -ESX.UI.HUD.RegisteredElements = {} -ESX.UI.Menu = {} -ESX.UI.Menu.RegisteredTypes = {} -ESX.UI.Menu.Opened = {} ESX.Game = {} ESX.Game.Utils = {} @@ -210,70 +204,6 @@ function ESX.TriggerServerCallback(name, cb, ...) Core.CurrentRequestId = Core.CurrentRequestId < 65535 and Core.CurrentRequestId + 1 or 0 end -function ESX.UI.HUD.SetDisplay(opacity) - SendNUIMessage({ - action = 'setHUDDisplay', - opacity = opacity - }) -end - -function ESX.UI.HUD.RegisterElement(name, index, priority, html, data) - local found = false - - for i = 1, #ESX.UI.HUD.RegisteredElements, 1 do - if ESX.UI.HUD.RegisteredElements[i] == name then - found = true - break - end - end - - if found then - return - end - - ESX.UI.HUD.RegisteredElements[#ESX.UI.HUD.RegisteredElements + 1] = name - - SendNUIMessage({ - action = 'insertHUDElement', - name = name, - index = index, - priority = priority, - html = html, - data = data - }) - - ESX.UI.HUD.UpdateElement(name, data) -end - -function ESX.UI.HUD.RemoveElement(name) - for i = 1, #ESX.UI.HUD.RegisteredElements, 1 do - if ESX.UI.HUD.RegisteredElements[i] == name then - table.remove(ESX.UI.HUD.RegisteredElements, i) - break - end - end - - SendNUIMessage({ - action = 'deleteHUDElement', - name = name - }) -end - -function ESX.UI.HUD.Reset() - SendNUIMessage({ - action = 'resetHUDElements' - }) - ESX.UI.HUD.RegisteredElements = {} -end - -function ESX.UI.HUD.UpdateElement(name, data) - SendNUIMessage({ - action = 'updateHUDElement', - name = name, - data = data - }) -end - function ESX.UI.Menu.RegisterType(type, open, close) ESX.UI.Menu.RegisteredTypes[type] = { open = open, diff --git a/[core]/es_extended/client/main.lua b/[core]/es_extended/client/main.lua index a10df217..653960d9 100644 --- a/[core]/es_extended/client/main.lua +++ b/[core]/es_extended/client/main.lua @@ -118,23 +118,6 @@ AddEventHandler('esx:playerLoaded', function(xPlayer, isNew, skin) end end) - if Config.EnableHud then - for i=1, #(ESX.PlayerData.accounts) do - local accountTpl = '
 {{money}}
' - ESX.UI.HUD.RegisterElement('account_' .. ESX.PlayerData.accounts[i].name, i, 0, accountTpl, {money = ESX.Math.GroupDigits(ESX.PlayerData.accounts[i].money)}) - end - - local jobTpl = '
{{job_label}}{{grade_label}}
' - - local gradeLabel = ESX.PlayerData.job.grade_label ~= ESX.PlayerData.job.label and ESX.PlayerData.job.grade_label or '' - if gradeLabel ~= '' then gradeLabel = ' - '..gradeLabel end - - ESX.UI.HUD.RegisterElement('job', #ESX.PlayerData.accounts, 0, jobTpl, { - job_label = ESX.PlayerData.job.label, - grade_label = gradeLabel - }) - end - SetDefaultVehicleNumberPlateTextPattern(-1, Config.CustomAIPlates) StartServerSyncLoops() end) @@ -142,7 +125,6 @@ end) RegisterNetEvent('esx:onPlayerLogout') AddEventHandler('esx:onPlayerLogout', function() ESX.PlayerLoaded = false - if Config.EnableHud then ESX.UI.HUD.Reset() end end) RegisterNetEvent('esx:setMaxWeight') @@ -227,12 +209,6 @@ AddEventHandler('esx:setAccountMoney', function(account) end ESX.SetPlayerData('accounts', ESX.PlayerData.accounts) - - if Config.EnableHud then - ESX.UI.HUD.UpdateElement('account_' .. account.name, { - money = ESX.Math.GroupDigits(account.money) - }) - end end) if not Config.OxInventory then @@ -307,14 +283,6 @@ end RegisterNetEvent('esx:setJob') AddEventHandler('esx:setJob', function(Job) - if Config.EnableHud then - local gradeLabel = Job.grade_label ~= Job.label and Job.grade_label or '' - if gradeLabel ~= '' then gradeLabel = ' - '..gradeLabel end - ESX.UI.HUD.UpdateElement('job', { - job_label = Job.label, - grade_label = gradeLabel - }) - end ESX.SetPlayerData('job', Job) end) @@ -379,32 +347,6 @@ if not Config.OxInventory then end) end --- Pause menu disables HUD display -if Config.EnableHud then - CreateThread(function() - local isPaused = false - - while true do - local time = 500 - Wait(time) - - if IsPauseMenuActive() and not isPaused then - time = 100 - isPaused = true - ESX.UI.HUD.SetDisplay(0.0) - elseif not IsPauseMenuActive() and isPaused then - time = 100 - isPaused = false - ESX.UI.HUD.SetDisplay(1.0) - end - end - end) - - AddEventHandler('esx:loadingScreenOff', function() - ESX.UI.HUD.SetDisplay(1.0) - end) -end - function StartServerSyncLoops() if not Config.OxInventory then -- keep track of ammo diff --git a/[core]/es_extended/config.lua b/[core]/es_extended/config.lua index 46daa5dd..2f465f82 100644 --- a/[core]/es_extended/config.lua +++ b/[core]/es_extended/config.lua @@ -19,7 +19,6 @@ Config.Accounts = { Config.StartingAccountMoney = {bank = 50000} Config.EnableSocietyPayouts = false -- pay from the society account that the player is employed at? Requirement: esx_society -Config.EnableHud = false -- enable the default hud? Display current job and accounts (black, bank & cash) Config.MaxWeight = 24 -- the max inventory weight without backpack Config.PaycheckInterval = 7 * 60000 -- how often to recieve pay checks in milliseconds Config.EnableDebug = false -- Use Debug options? diff --git a/[core]/es_extended/fxmanifest.lua b/[core]/es_extended/fxmanifest.lua index 0f5ca570..7694c427 100644 --- a/[core]/es_extended/fxmanifest.lua +++ b/[core]/es_extended/fxmanifest.lua @@ -61,10 +61,6 @@ files { 'html/fonts/pdown.ttf', 'html/fonts/bankgothic.ttf', - - 'html/img/accounts/bank.png', - 'html/img/accounts/black_money.png', - 'html/img/accounts/money.png' } dependencies { diff --git a/[core]/es_extended/html/css/app.css b/[core]/es_extended/html/css/app.css index 7c4c63f1..0bdbc908 100644 --- a/[core]/es_extended/html/css/app.css +++ b/[core]/es_extended/html/css/app.css @@ -1,88 +1,75 @@ @font-face { - font-family: 'Pricedown'; - src: url('../fonts/pdown.ttf') + font-family: 'Pricedown'; + src: url('../fonts/pdown.ttf'); } @font-face { - font-family: 'bankgothic'; - src: url('../fonts/bankgothic.ttf') + font-family: 'bankgothic'; + src: url('../fonts/bankgothic.ttf'); } html { - overflow: hidden; -} - -#hud { - opacity: 0.0; - position: absolute; - font-family: 'Pricedown'; - font-size: 35px; - color: white; - padding: 4px; - text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000; - text-align: right; - top: 80; - right: 40; + overflow: hidden; } #inventory_notifications { - font-family: bankgothic; - position: absolute; - right: 40; - bottom: 40; - font-size: 2em; - font-weight: bold; - color: #FFF; - text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000; + font-family: bankgothic; + position: absolute; + right: 40; + bottom: 40; + font-size: 2em; + font-weight: bold; + color: #fff; + text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000; } .menu { - font-family: 'Open Sans', sans-serif; - min-width: 400px; - min-height: 250px; - color: #fff; - position: absolute; - left: 40; - top: 0; + font-family: 'Open Sans', sans-serif; + min-width: 400px; + min-height: 250px; + color: #fff; + position: absolute; + left: 40; + top: 0; } .menu .head { - font-family: 'Open Sans', sans-serif; - font-size: 28px; - padding: 10px; - background: #1A1A1A; - border-bottom: 3px solid #BC1635; - border-radius: 10px 10px 0 0; - -webkit-border-radius: 10px 10px 0 0; - -moz-border-radius: 10px 10px 0 0; - -o-border-radius: 10px 10px 0 0; - box-shadow: inset 0px 1px 0 rgba(255, 255, 255, 0.28); - -webkit-box-shadow: inset 0px 1px 0 rgba(255, 255, 255, 0.28); - -moz-box-shadow: inset 0px 1px 0 rgba(255, 255, 255, 0.28); - -o-box-shadow: inset 0px 1px 0 rgba(255, 255, 255, 0.28); - box-shadow: 1px 1px 10px 4px rgba(0, 0, 0, 0.4); + font-family: 'Open Sans', sans-serif; + font-size: 28px; + padding: 10px; + background: #1a1a1a; + border-bottom: 3px solid #bc1635; + border-radius: 10px 10px 0 0; + -webkit-border-radius: 10px 10px 0 0; + -moz-border-radius: 10px 10px 0 0; + -o-border-radius: 10px 10px 0 0; + box-shadow: inset 0px 1px 0 rgba(255, 255, 255, 0.28); + -webkit-box-shadow: inset 0px 1px 0 rgba(255, 255, 255, 0.28); + -moz-box-shadow: inset 0px 1px 0 rgba(255, 255, 255, 0.28); + -o-box-shadow: inset 0px 1px 0 rgba(255, 255, 255, 0.28); + box-shadow: 1px 1px 10px 4px rgba(0, 0, 0, 0.4); } .menu .head span { - font-family: 'Pricedown'; - font-size: 28px; - padding-left: 15px; - padding-top: 6px; + font-family: 'Pricedown'; + font-size: 28px; + padding-left: 15px; + padding-top: 6px; } .menu .menu-items .menu-item { - font-family: 'Open Sans', sans-serif; - font-size: 14px; - height: 40px; - display: block; - background-color: #f1f1f1; - box-shadow: inset 1px 0px 0px 1px #b8b8b8; - height: 32px; - line-height: 32px; - color: #3A3A3A; - text-align: center; + font-family: 'Open Sans', sans-serif; + font-size: 14px; + height: 40px; + display: block; + background-color: #f1f1f1; + box-shadow: inset 1px 0px 0px 1px #b8b8b8; + height: 32px; + line-height: 32px; + color: #3a3a3a; + text-align: center; } .menu .menu-items .menu-item.selected { - background-color: #ccc; + background-color: #ccc; } diff --git a/[core]/es_extended/html/img/accounts/bank.png b/[core]/es_extended/html/img/accounts/bank.png deleted file mode 100644 index eb36dc8e70242136858874dc04024f41a4a0ffe4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1015 zcmV(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZowVTiq@}o(XxOP=4eyC973P=U1kRsFroRJ#! z(58{#776h;aLEM;L{SeVNSr|QQXy1+3PCF$LRAh>$;D}$6yr9(+&K1ncOM65H{N(1 z#D$Kuhc`R(oq6-#%=d|SpP}3h7iYue{}eqbkx7XFRFr{CNQ8)Xb~jy=7uE?4gk`F&OBwm4 zCoMHTH>$?xM%AIWM*@A{$sTp={U_D<+^9-VTDxK-EK`kLJ+5RzDnM!ek$H}yvF_~J zI*(=_0U-a;0)z8Wb)S zQLZ90W&QVw7&*Bd#kDto4a&FO>rT+B>2t%_D-HHP*Nt0qx&3jG%#?*w*}g}u7*V?q zC7?WT9&9^T7ittfS!~IwsWS)S-1}*T;uj^>ZdO>nzDliBXXNxy;O7swHVm3ETF1EN z4>(O1#JYDsk>%W4c>Lb8d62J?Ix`%Uf2Yk(iFNB}y6}hU)_oQ5>d!CYZn)gNQs$4D zKRXVhm%qw}1`)u%qg{dS$JcVyN_M3G6VnGdaH2iso z*ZbP|p!QdtrOPGu48|kL$mfBbu>v}-m+cT8XD>e8k&fM(*Y<#MYaY*k@Ki@S_G~Xi l#{maD><5W>*iW*51^`FRlAF&_hJ*kB002ovPDHLkV1iBj&&U7( diff --git a/[core]/es_extended/html/img/accounts/black_money.png b/[core]/es_extended/html/img/accounts/black_money.png deleted file mode 100644 index a42f6aa5191115bd04d04a728fb3c3463e6f4345..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1030 zcmV+h1o``kP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZT+Hn2g&!y2+1h(>773hKd&LYji7 zJxDS2q!OyV*_F1(HYnsEh!-iPJ(ZSP4aAjfgeH{rV4AN*TFttfb$4bmZx7v>?##{# z?V&y}hv%8+>;1pa$1D1}yJgw3cww6SpVXsi=&FhUWSBxsRZ)ZpHLjQ@PC%vrF-;5A zcci3ZS)uWZC+3;63 zP5NhNQG_7k$iD&Ti^Y6K$y>Lur5_yG;D0)PoSwjGx9WA?yK@Hs5kM{?1izg=O;;2A zE;12U>4j-}Ke7u86iTH~$S#kLGN9`%@&R4v!+raho}Ul3%PuT1H9YLaYQ8!YA?Of- zVztV(#YN7~&4oJYkHxr{N_qVKVv+mBqQ_rKrRWbJ>C*YRIj$`(Qmj_#5W-hqGN!6> zV{%d^3_~`GGW5GJG9sN!Mmm{{ygWMU$&U>V%5RSxkxnKfFN}=5(nrED_VAxIbo05=N-zC3)GHzE;!+1%vw@o_Ie!Z2_5K&81r!?IKr zh1|)L^k^EFQYm)L%mA>fvlD<*LqnXsdzb!LjLmA5H@mvL+HiFMpO3e$U&jh*>&SnZ zV$Kc?zZa1REj@pHO6~;d1>2x z`tTvs=`>qSb=2%5?DW0_oIrm*E|tjU^S*KVxKv_5*ZFQ`g|C;En1A||AJ*1bt5o_1QC~4jk~{59$PIcV{Q6qIgLP zKq^8|I&+4yWpT4m;NyGu+76Wq2dk9|S8_RzKNyeuf?vty+6KQmHpaPRl6W-Aj+7n(5dsSW zU}|`nua=fVm(h*oWj@%uw`CvvUM_QEd6{>0J#-nldmtFgTgU5_if`vg<{vZ*r`$_iK0G#)*@UBUHMF0Q*07*qoM6N<$f`k9( AtN;K2 diff --git a/[core]/es_extended/html/img/accounts/money.png b/[core]/es_extended/html/img/accounts/money.png deleted file mode 100644 index e05c91b0bb0c4faaa5f7a756c8d755f79f16ef1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 662 zcmV;H0%`q;P)X^iM1 zwrODs(MFhlOeu(NQ0k`3E;Jz*K^GS-(n(r$SyU$3qJ?eD zMP*mpn2qSn_kAq}bmn)YvwhF=@_y%VJ|R%M(p`JORs)2MydFE;JyWQAK|q{IAQ}hA zsyhM{0U8AUS5g$`?U^t?HoXv$CIFnf3%s=G2Ql8*L~|;W2a-vRHD=GMab2iXm9)0} zRdo#>4v9U^4yvOKm6E;rerq!GWmBG??mUXnR-`)j9C(kQSg8T_h|1_>OKQn;aJnw#49Ea}Z>7Q03CLP55lYp)h)ynn7D zS6Pu+NrmzJ;Y5uMX`O7DeLCUyXA6OBWqCZ{_|bE!t?IaJzi*t2jdY9)OanO)c3@?H z;Qo*$`xzffB@0Rx;H`nAI~(;KCr0F?*IS*07*qoM6N<$g3p&H&Hw-a diff --git a/[core]/es_extended/html/js/app.js b/[core]/es_extended/html/js/app.js index dce07feb..26fb67e4 100644 --- a/[core]/es_extended/html/js/app.js +++ b/[core]/es_extended/html/js/app.js @@ -1,59 +1,5 @@ (() => { - ESX = {}; - ESX.HUDElements = []; - - ESX.setHUDDisplay = function (opacity) { - $('#hud').css('opacity', opacity); - }; - - ESX.insertHUDElement = function (name, index, priority, html, data) { - ESX.HUDElements.push({ - name: name, - index: index, - priority: priority, - html: html, - data: data - }); - - ESX.HUDElements.sort((a, b) => { - return a.index - b.index || b.priority - a.priority; - }); - }; - - ESX.updateHUDElement = function (name, data) { - for (let i = 0; i < ESX.HUDElements.length; i++) { - if (ESX.HUDElements[i].name == name) { - ESX.HUDElements[i].data = data; - } - } - - ESX.refreshHUD(); - }; - - ESX.deleteHUDElement = function (name) { - for (let i = 0; i < ESX.HUDElements.length; i++) { - if (ESX.HUDElements[i].name == name) { - ESX.HUDElements.splice(i, 1); - } - } - - ESX.refreshHUD(); - }; - - ESX.resetHUDElements = function () { - ESX.HUDElements = []; - ESX.refreshHUD(); - }; - - ESX.refreshHUD = function () { - $('#hud').html(''); - - for (let i = 0; i < ESX.HUDElements.length; i++) { - let html = Mustache.render(ESX.HUDElements[i].html, ESX.HUDElements[i].data); - $('#hud').append(html); - } - }; ESX.inventoryNotification = function (add, label, count) { let notif = ''; @@ -79,35 +25,8 @@ }; window.onData = (data) => { - switch (data.action) { - case 'setHUDDisplay': { - ESX.setHUDDisplay(data.opacity); - break; - } - - case 'insertHUDElement': { - ESX.insertHUDElement(data.name, data.index, data.priority, data.html, data.data); - break; - } - - case 'updateHUDElement': { - ESX.updateHUDElement(data.name, data.data); - break; - } - - case 'deleteHUDElement': { - ESX.deleteHUDElement(data.name); - break; - } - - case 'resetHUDElements': { - ESX.resetHUDElements(); - break; - } - - case 'inventoryNotification': { - ESX.inventoryNotification(data.add, data.item, data.count); - } + if (data.action === 'inventoryNotification') { + ESX.inventoryNotification(data.add, data.item, data.count); } }; @@ -116,5 +35,4 @@ onData(event.data); }); }; - })(); diff --git a/[core]/es_extended/html/ui.html b/[core]/es_extended/html/ui.html index 653f41d8..86ad62be 100644 --- a/[core]/es_extended/html/ui.html +++ b/[core]/es_extended/html/ui.html @@ -1,14 +1,12 @@ - - - - - -
-
+ + + + +
- - - - - \ No newline at end of file + + + + + From 0e700dfcc7988a59bffe73e7bcb1f989fcf9bcc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=20Gerg=C5=91?= Date: Tue, 24 Jan 2023 19:50:34 +0100 Subject: [PATCH 09/18] new esx:pauseMenuActive handler --- [core]/es_extended/client/modules/actions.lua | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/[core]/es_extended/client/modules/actions.lua b/[core]/es_extended/client/modules/actions.lua index aecda7f9..121f3f3a 100644 --- a/[core]/es_extended/client/modules/actions.lua +++ b/[core]/es_extended/client/modules/actions.lua @@ -1,4 +1,4 @@ -local isInVehicle, isEnteringVehicle, isJumping = false, false, false +local isInVehicle, isEnteringVehicle, isJumping, inPauseMenu = false, false, false, false local currentVehicle, currentSeat = 0, 0 local playerPed = PlayerPedId() @@ -33,6 +33,15 @@ CreateThread(function() isJumping = false end + if IsPauseMenuActive() and not inPauseMenu then + inPauseMenu = true + TriggerEvent('esx:pauseMenuActive', inPauseMenu) + elseif not IsPauseMenuActive() and inPauseMenu then + inPauseMenu = false + TriggerEvent('esx:pauseMenuActive', inPauseMenu) + end + + if not isInVehicle and not IsPlayerDead(PlayerId()) then if DoesEntityExist(GetVehiclePedIsTryingToEnter(playerPed)) and not isEnteringVehicle then -- trying to enter a vehicle! From c08a9203a895c4548343690d482491234b3b27d1 Mon Sep 17 00:00:00 2001 From: Csoki Date: Tue, 24 Jan 2023 20:12:01 +0100 Subject: [PATCH 10/18] fix!(esx_multicharacter): remove default hud function --- [core]/esx_multicharacter/client/main.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/[core]/esx_multicharacter/client/main.lua b/[core]/esx_multicharacter/client/main.lua index de34e7c3..b0ee83de 100644 --- a/[core]/esx_multicharacter/client/main.lua +++ b/[core]/esx_multicharacter/client/main.lua @@ -35,7 +35,6 @@ if ESX.GetConfig().Multichar then RenderScriptCams(true, false, 1, true, true) SetCamCoord(cam, offset.x, offset.y, offset.z) PointCamAtCoord(cam, Config.Spawn.x, Config.Spawn.y, Config.Spawn.z + 1.3) - ESX.UI.HUD.SetDisplay(0.0) StartLoop() ShutdownLoadingScreen() ShutdownLoadingScreenNui() From 88447f1823f18b055578f4afa8fdfcb124af320a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=20Gerg=C5=91?= Date: Tue, 24 Jan 2023 21:14:37 +0100 Subject: [PATCH 11/18] Added plate to handlers --- [core]/es_extended/client/modules/actions.lua | 33 ++++++++++--------- [core]/es_extended/server/modules/actions.lua | 12 +++---- 2 files changed, 24 insertions(+), 21 deletions(-) diff --git a/[core]/es_extended/client/modules/actions.lua b/[core]/es_extended/client/modules/actions.lua index 121f3f3a..7dd5b80e 100644 --- a/[core]/es_extended/client/modules/actions.lua +++ b/[core]/es_extended/client/modules/actions.lua @@ -1,5 +1,5 @@ local isInVehicle, isEnteringVehicle, isJumping, inPauseMenu = false, false, false, false -local currentVehicle, currentSeat = 0, 0 +local currentVehicle, currentSeat, currentPlate = nil, nil, nil local playerPed = PlayerPedId() local function GetPedVehicleSeat(ped, vehicle) @@ -46,11 +46,12 @@ CreateThread(function() if DoesEntityExist(GetVehiclePedIsTryingToEnter(playerPed)) and not isEnteringVehicle then -- trying to enter a vehicle! local vehicle = GetVehiclePedIsTryingToEnter(playerPed) + local plate = GetVehicleNumberPlateText(vehicle) local seat = GetSeatPedIsTryingToEnter(playerPed) local displayName, netId = GetData(vehicle) isEnteringVehicle = true - TriggerEvent('esx:playerEnteringVehicle', vehicle, seat, netId) - TriggerServerEvent('esx:playerEnteringVehicle', vehicle, seat, netId) + TriggerEvent('esx:playerEnteringVehicle', vehicle, plate, seat, netId) + TriggerServerEvent('esx:playerEnteringVehicle', vehicle, plate, seat, netId) elseif not DoesEntityExist(GetVehiclePedIsTryingToEnter(playerPed)) and not IsPedInAnyVehicle(playerPed, true) and isEnteringVehicle then -- vehicle entering aborted @@ -63,19 +64,21 @@ CreateThread(function() isInVehicle = true currentVehicle = GetVehiclePedIsUsing(playerPed) currentSeat = GetPedVehicleSeat(playerPed, currentVehicle) + currentPlate = GetVehicleNumberPlateText(currentVehicle) local displayName, netId = GetData(currentVehicle) - TriggerEvent('esx:playerEnteredVehicle', currentVehicle, currentSeat, displayName, netId) - TriggerServerEvent('esx:playerEnteredVehicle', currentVehicle, currentSeat, displayName, netId) + TriggerEvent('esx:playerEnteredVehicle', currentVehicle, currentPlate, currentSeat, displayName, netId) + TriggerServerEvent('esx:playerEnteredVehicle', currentVehicle, currentPlate, currentSeat, displayName, netId) end elseif isInVehicle then if not IsPedInAnyVehicle(playerPed, false) or IsPlayerDead(PlayerId()) then -- bye, vehicle local displayName, netId = GetData(currentVehicle) - TriggerEvent('esx:playerExitedVehicle', currentVehicle, currentSeat, displayName, netId) - TriggerServerEvent('esx:playerExitedVehicle', currentVehicle, currentSeat, displayName, netId) + TriggerEvent('esx:playerExitedVehicle', currentVehicle, currentPlate, currentSeat, displayName, netId) + TriggerServerEvent('esx:playerExitedVehicle', currentVehicle, currentPlate, currentSeat, displayName, netId) isInVehicle = false - currentVehicle = 0 - currentSeat = 0 + currentVehicle = nil + currentSeat = nil + currentPlate = nil end end Wait(200) @@ -92,20 +95,20 @@ if Config.EnableDebug then print('esx:playerJumping') end) - AddEventHandler('esx:playerEnteringVehicle', function(vehicle, seat, netId) - print('esx:playerEnteringVehicle', 'vehicle', vehicle, 'seat', seat, 'netId', netId) + AddEventHandler('esx:playerEnteringVehicle', function(vehicle, plate, seat, netId) + print('esx:playerEnteringVehicle', 'vehicle', vehicle, 'plate', plate, 'seat', seat, 'netId', netId) end) AddEventHandler('esx:playerEnteringVehicleAborted', function() print('esx:playerEnteringVehicleAborted') end) - AddEventHandler('esx:playerEnteredVehicle', function(vehicle, seat, displayName, netId) - print('esx:playerEnteredVehicle', 'vehicle', vehicle, 'seat', seat, 'displayName', displayName, 'netId', netId) + AddEventHandler('esx:playerEnteredVehicle', function(vehicle, plate, seat, displayName, netId) + print('esx:playerEnteredVehicle', 'vehicle', vehicle, 'plate', plate, 'seat', seat, 'displayName', displayName, 'netId', netId) end) - AddEventHandler('esx:playerExitedVehicle', function(vehicle, seat, displayName, netId) - print('esx:playerExitedVehicle', 'vehicle', vehicle, 'seat', seat, 'displayName', displayName, 'netId', netId) + AddEventHandler('esx:playerExitedVehicle', function(vehicle, plate, seat, displayName, netId) + print('esx:playerExitedVehicle', 'vehicle', vehicle, 'plate', plate, 'seat', seat, 'displayName', displayName, 'netId', netId) end) end \ No newline at end of file diff --git a/[core]/es_extended/server/modules/actions.lua b/[core]/es_extended/server/modules/actions.lua index 83eecbc3..31df067c 100644 --- a/[core]/es_extended/server/modules/actions.lua +++ b/[core]/es_extended/server/modules/actions.lua @@ -15,20 +15,20 @@ if Config.EnableDebug then print('esx:playerJumping', source) end) - AddEventHandler('esx:playerEnteringVehicle', function(vehicle, seat, netId) - print('esx:playerEnteringVehicle', 'source', source, 'vehicle', vehicle, 'seat', seat, 'netId', netId) + AddEventHandler('esx:playerEnteringVehicle', function(vehicle, plate, seat, netId) + print('esx:playerEnteringVehicle', 'source', source, 'vehicle', vehicle, 'plate', plate, 'seat', seat, 'netId', netId) end) AddEventHandler('esx:playerEnteringVehicleAborted', function() print('esx:playerEnteringVehicleAborted', source) end) - AddEventHandler('esx:playerEnteredVehicle', function(vehicle, seat, displayName, netId) - print('esx:playerEnteredVehicle', 'source', source, 'vehicle', vehicle, 'seat', seat, 'displayName', displayName, 'netId', netId) + AddEventHandler('esx:playerEnteredVehicle', function(vehicle, plate, seat, displayName, netId) + print('esx:playerEnteredVehicle', 'source', source, 'vehicle', vehicle, 'plate', plate, 'seat', seat, 'displayName', displayName, 'netId', netId) end) - AddEventHandler('esx:playerExitedVehicle', function(vehicle, seat, displayName, netId) - print('esx:playerExitedVehicle', 'source', source, 'vehicle', vehicle, 'seat', seat, 'displayName', displayName, 'netId', netId) + AddEventHandler('esx:playerExitedVehicle', function(vehicle, plate, seat, displayName, netId) + print('esx:playerExitedVehicle', 'source', source, 'vehicle', vehicle, 'plate', plate, 'seat', seat, 'displayName', displayName, 'netId', netId) end) end \ No newline at end of file From 19e43d29f0f5f40f7355c0958edb094291503fe4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=20Gerg=C5=91?= Date: Tue, 24 Jan 2023 22:44:24 +0100 Subject: [PATCH 12/18] refactor(actions) Make handlers name more simple --- [core]/es_extended/client/modules/actions.lua | 32 +++++++++---------- [core]/es_extended/server/modules/actions.lua | 24 +++++++------- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/[core]/es_extended/client/modules/actions.lua b/[core]/es_extended/client/modules/actions.lua index 7dd5b80e..6f20d710 100644 --- a/[core]/es_extended/client/modules/actions.lua +++ b/[core]/es_extended/client/modules/actions.lua @@ -50,13 +50,13 @@ CreateThread(function() local seat = GetSeatPedIsTryingToEnter(playerPed) local displayName, netId = GetData(vehicle) isEnteringVehicle = true - TriggerEvent('esx:playerEnteringVehicle', vehicle, plate, seat, netId) - TriggerServerEvent('esx:playerEnteringVehicle', vehicle, plate, seat, netId) + TriggerEvent('esx:EnteringVehicle', vehicle, plate, seat, netId) + TriggerServerEvent('esx:EnteringVehicle', vehicle, plate, seat, netId) elseif not DoesEntityExist(GetVehiclePedIsTryingToEnter(playerPed)) and not IsPedInAnyVehicle(playerPed, true) and isEnteringVehicle then -- vehicle entering aborted - TriggerEvent('esx:playerEnteringVehicleAborted') - TriggerServerEvent('esx:playerEnteringVehicleAborted') + TriggerEvent('esx:EnteringVehicleAborted') + TriggerServerEvent('esx:EnteringVehicleAborted') isEnteringVehicle = false elseif IsPedInAnyVehicle(playerPed, false) then -- suddenly appeared in a vehicle, possible teleport @@ -66,15 +66,15 @@ CreateThread(function() currentSeat = GetPedVehicleSeat(playerPed, currentVehicle) currentPlate = GetVehicleNumberPlateText(currentVehicle) local displayName, netId = GetData(currentVehicle) - TriggerEvent('esx:playerEnteredVehicle', currentVehicle, currentPlate, currentSeat, displayName, netId) - TriggerServerEvent('esx:playerEnteredVehicle', currentVehicle, currentPlate, currentSeat, displayName, netId) + TriggerEvent('esx:EnteredVehicle', currentVehicle, currentPlate, currentSeat, displayName, netId) + TriggerServerEvent('esx:EnteredVehicle', currentVehicle, currentPlate, currentSeat, displayName, netId) end elseif isInVehicle then if not IsPedInAnyVehicle(playerPed, false) or IsPlayerDead(PlayerId()) then -- bye, vehicle local displayName, netId = GetData(currentVehicle) - TriggerEvent('esx:playerExitedVehicle', currentVehicle, currentPlate, currentSeat, displayName, netId) - TriggerServerEvent('esx:playerExitedVehicle', currentVehicle, currentPlate, currentSeat, displayName, netId) + TriggerEvent('esx:ExitedVehicle', currentVehicle, currentPlate, currentSeat, displayName, netId) + TriggerServerEvent('esx:ExitedVehicle', currentVehicle, currentPlate, currentSeat, displayName, netId) isInVehicle = false currentVehicle = nil currentSeat = nil @@ -95,20 +95,20 @@ if Config.EnableDebug then print('esx:playerJumping') end) - AddEventHandler('esx:playerEnteringVehicle', function(vehicle, plate, seat, netId) - print('esx:playerEnteringVehicle', 'vehicle', vehicle, 'plate', plate, 'seat', seat, 'netId', netId) + AddEventHandler('esx:EnteringVehicle', function(vehicle, plate, seat, netId) + print('esx:EnteringVehicle', 'vehicle', vehicle, 'plate', plate, 'seat', seat, 'netId', netId) end) - AddEventHandler('esx:playerEnteringVehicleAborted', function() - print('esx:playerEnteringVehicleAborted') + AddEventHandler('esx:EnteringVehicleAborted', function() + print('esx:EnteringVehicleAborted') end) - AddEventHandler('esx:playerEnteredVehicle', function(vehicle, plate, seat, displayName, netId) - print('esx:playerEnteredVehicle', 'vehicle', vehicle, 'plate', plate, 'seat', seat, 'displayName', displayName, 'netId', netId) + AddEventHandler('esxEnteredVehicle', function(vehicle, plate, seat, displayName, netId) + print('esx:EnteredVehicle', 'vehicle', vehicle, 'plate', plate, 'seat', seat, 'displayName', displayName, 'netId', netId) end) - AddEventHandler('esx:playerExitedVehicle', function(vehicle, plate, seat, displayName, netId) - print('esx:playerExitedVehicle', 'vehicle', vehicle, 'plate', plate, 'seat', seat, 'displayName', displayName, 'netId', netId) + AddEventHandler('esx:ExitedVehicle', function(vehicle, plate, seat, displayName, netId) + print('esx:ExitedVehicle', 'vehicle', vehicle, 'plate', plate, 'seat', seat, 'displayName', displayName, 'netId', netId) end) end \ No newline at end of file diff --git a/[core]/es_extended/server/modules/actions.lua b/[core]/es_extended/server/modules/actions.lua index 31df067c..df9bfe65 100644 --- a/[core]/es_extended/server/modules/actions.lua +++ b/[core]/es_extended/server/modules/actions.lua @@ -1,9 +1,9 @@ RegisterServerEvent('esx:playerPedChanged') RegisterServerEvent('esx:playerJumping') -RegisterServerEvent('esx:playerEnteringVehicle') -RegisterServerEvent('esx:playerEnteringVehicleAborted') -RegisterServerEvent('esx:playerEnteredVehicle') -RegisterServerEvent('esx:playerExitedVehicle') +RegisterServerEvent('esx:EnteringVehicle') +RegisterServerEvent('esx:EnteringVehicleAborted') +RegisterServerEvent('esx:EnteredVehicle') +RegisterServerEvent('esx:ExitedVehicle') if Config.EnableDebug then @@ -15,20 +15,20 @@ if Config.EnableDebug then print('esx:playerJumping', source) end) - AddEventHandler('esx:playerEnteringVehicle', function(vehicle, plate, seat, netId) - print('esx:playerEnteringVehicle', 'source', source, 'vehicle', vehicle, 'plate', plate, 'seat', seat, 'netId', netId) + AddEventHandler('esx:EnteringVehicle', function(vehicle, plate, seat, netId) + print('esx:EnteringVehicle', 'source', source, 'vehicle', vehicle, 'plate', plate, 'seat', seat, 'netId', netId) end) - AddEventHandler('esx:playerEnteringVehicleAborted', function() - print('esx:playerEnteringVehicleAborted', source) + AddEventHandler('esx:EnteringVehicleAborted', function() + print('esx:EnteringVehicleAborted', source) end) - AddEventHandler('esx:playerEnteredVehicle', function(vehicle, plate, seat, displayName, netId) - print('esx:playerEnteredVehicle', 'source', source, 'vehicle', vehicle, 'plate', plate, 'seat', seat, 'displayName', displayName, 'netId', netId) + AddEventHandler('esx:EnteredVehicle', function(vehicle, plate, seat, displayName, netId) + print('esx:EnteredVehicle', 'source', source, 'vehicle', vehicle, 'plate', plate, 'seat', seat, 'displayName', displayName, 'netId', netId) end) - AddEventHandler('esx:playerExitedVehicle', function(vehicle, plate, seat, displayName, netId) - print('esx:playerExitedVehicle', 'source', source, 'vehicle', vehicle, 'plate', plate, 'seat', seat, 'displayName', displayName, 'netId', netId) + AddEventHandler('esx:ExitedVehicle', function(vehicle, plate, seat, displayName, netId) + print('esx:ExitedVehicle', 'source', source, 'vehicle', vehicle, 'plate', plate, 'seat', seat, 'displayName', displayName, 'netId', netId) end) end \ No newline at end of file From c40136f103dc4b66fbc17babf93fd3a9aa69f831 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=20Gerg=C5=91?= Date: Wed, 25 Jan 2023 00:16:41 +0100 Subject: [PATCH 13/18] I missed a : somehow --- [core]/es_extended/client/modules/actions.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/[core]/es_extended/client/modules/actions.lua b/[core]/es_extended/client/modules/actions.lua index 6f20d710..b98bcecd 100644 --- a/[core]/es_extended/client/modules/actions.lua +++ b/[core]/es_extended/client/modules/actions.lua @@ -103,7 +103,7 @@ if Config.EnableDebug then print('esx:EnteringVehicleAborted') end) - AddEventHandler('esxEnteredVehicle', function(vehicle, plate, seat, displayName, netId) + AddEventHandler('esx:EnteredVehicle', function(vehicle, plate, seat, displayName, netId) print('esx:EnteredVehicle', 'vehicle', vehicle, 'plate', plate, 'seat', seat, 'displayName', displayName, 'netId', netId) end) From ae0dbd3f9c7f706d9148a25e37a3788cb16e7103 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=20Gerg=C5=91?= Date: Wed, 25 Jan 2023 10:39:22 +0100 Subject: [PATCH 14/18] from UpperCameCase to lowerCamelCase --- [core]/es_extended/client/modules/actions.lua | 26 +++++++++---------- [core]/es_extended/server/modules/actions.lua | 24 ++++++++--------- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/[core]/es_extended/client/modules/actions.lua b/[core]/es_extended/client/modules/actions.lua index b98bcecd..41dc669c 100644 --- a/[core]/es_extended/client/modules/actions.lua +++ b/[core]/es_extended/client/modules/actions.lua @@ -50,13 +50,13 @@ CreateThread(function() local seat = GetSeatPedIsTryingToEnter(playerPed) local displayName, netId = GetData(vehicle) isEnteringVehicle = true - TriggerEvent('esx:EnteringVehicle', vehicle, plate, seat, netId) - TriggerServerEvent('esx:EnteringVehicle', vehicle, plate, seat, netId) + TriggerEvent('esx:enteringVehicle', vehicle, plate, seat, netId) + TriggerServerEvent('esx:enteringVehicle', vehicle, plate, seat, netId) elseif not DoesEntityExist(GetVehiclePedIsTryingToEnter(playerPed)) and not IsPedInAnyVehicle(playerPed, true) and isEnteringVehicle then -- vehicle entering aborted - TriggerEvent('esx:EnteringVehicleAborted') - TriggerServerEvent('esx:EnteringVehicleAborted') + TriggerEvent('esx:enteringVehicleAborted') + TriggerServerEvent('esx:enteringVehicleAborted') isEnteringVehicle = false elseif IsPedInAnyVehicle(playerPed, false) then -- suddenly appeared in a vehicle, possible teleport @@ -66,15 +66,15 @@ CreateThread(function() currentSeat = GetPedVehicleSeat(playerPed, currentVehicle) currentPlate = GetVehicleNumberPlateText(currentVehicle) local displayName, netId = GetData(currentVehicle) - TriggerEvent('esx:EnteredVehicle', currentVehicle, currentPlate, currentSeat, displayName, netId) - TriggerServerEvent('esx:EnteredVehicle', currentVehicle, currentPlate, currentSeat, displayName, netId) + TriggerEvent('esx:enteredVehicle', currentVehicle, currentPlate, currentSeat, displayName, netId) + TriggerServerEvent('esx:enteredVehicle', currentVehicle, currentPlate, currentSeat, displayName, netId) end elseif isInVehicle then if not IsPedInAnyVehicle(playerPed, false) or IsPlayerDead(PlayerId()) then -- bye, vehicle local displayName, netId = GetData(currentVehicle) - TriggerEvent('esx:ExitedVehicle', currentVehicle, currentPlate, currentSeat, displayName, netId) - TriggerServerEvent('esx:ExitedVehicle', currentVehicle, currentPlate, currentSeat, displayName, netId) + TriggerEvent('esx:exitedVehicle', currentVehicle, currentPlate, currentSeat, displayName, netId) + TriggerServerEvent('esx:exitedVehicle', currentVehicle, currentPlate, currentSeat, displayName, netId) isInVehicle = false currentVehicle = nil currentSeat = nil @@ -95,20 +95,20 @@ if Config.EnableDebug then print('esx:playerJumping') end) - AddEventHandler('esx:EnteringVehicle', function(vehicle, plate, seat, netId) - print('esx:EnteringVehicle', 'vehicle', vehicle, 'plate', plate, 'seat', seat, 'netId', netId) + AddEventHandler('esx:enteringVehicle', function(vehicle, plate, seat, netId) + print('esx:enteringVehicle', 'vehicle', vehicle, 'plate', plate, 'seat', seat, 'netId', netId) end) AddEventHandler('esx:EnteringVehicleAborted', function() - print('esx:EnteringVehicleAborted') + print('esx:enteringVehicleAborted') end) AddEventHandler('esx:EnteredVehicle', function(vehicle, plate, seat, displayName, netId) - print('esx:EnteredVehicle', 'vehicle', vehicle, 'plate', plate, 'seat', seat, 'displayName', displayName, 'netId', netId) + print('esx:enteredVehicle', 'vehicle', vehicle, 'plate', plate, 'seat', seat, 'displayName', displayName, 'netId', netId) end) AddEventHandler('esx:ExitedVehicle', function(vehicle, plate, seat, displayName, netId) - print('esx:ExitedVehicle', 'vehicle', vehicle, 'plate', plate, 'seat', seat, 'displayName', displayName, 'netId', netId) + print('esx:exitedVehicle', 'vehicle', vehicle, 'plate', plate, 'seat', seat, 'displayName', displayName, 'netId', netId) end) end \ No newline at end of file diff --git a/[core]/es_extended/server/modules/actions.lua b/[core]/es_extended/server/modules/actions.lua index df9bfe65..7bd6c29d 100644 --- a/[core]/es_extended/server/modules/actions.lua +++ b/[core]/es_extended/server/modules/actions.lua @@ -1,9 +1,9 @@ RegisterServerEvent('esx:playerPedChanged') RegisterServerEvent('esx:playerJumping') -RegisterServerEvent('esx:EnteringVehicle') -RegisterServerEvent('esx:EnteringVehicleAborted') -RegisterServerEvent('esx:EnteredVehicle') -RegisterServerEvent('esx:ExitedVehicle') +RegisterServerEvent('esx:enteringVehicle') +RegisterServerEvent('esx:enteringVehicleAborted') +RegisterServerEvent('esx:enteredVehicle') +RegisterServerEvent('esx:exitedVehicle') if Config.EnableDebug then @@ -15,20 +15,20 @@ if Config.EnableDebug then print('esx:playerJumping', source) end) - AddEventHandler('esx:EnteringVehicle', function(vehicle, plate, seat, netId) - print('esx:EnteringVehicle', 'source', source, 'vehicle', vehicle, 'plate', plate, 'seat', seat, 'netId', netId) + AddEventHandler('esx:enteringVehicle', function(vehicle, plate, seat, netId) + print('esx:enteringVehicle', 'source', source, 'vehicle', vehicle, 'plate', plate, 'seat', seat, 'netId', netId) end) - AddEventHandler('esx:EnteringVehicleAborted', function() - print('esx:EnteringVehicleAborted', source) + AddEventHandler('esx:enteringVehicleAborted', function() + print('esx:enteringVehicleAborted', source) end) - AddEventHandler('esx:EnteredVehicle', function(vehicle, plate, seat, displayName, netId) - print('esx:EnteredVehicle', 'source', source, 'vehicle', vehicle, 'plate', plate, 'seat', seat, 'displayName', displayName, 'netId', netId) + AddEventHandler('esx:enteredVehicle', function(vehicle, plate, seat, displayName, netId) + print('esx:enteredVehicle', 'source', source, 'vehicle', vehicle, 'plate', plate, 'seat', seat, 'displayName', displayName, 'netId', netId) end) - AddEventHandler('esx:ExitedVehicle', function(vehicle, plate, seat, displayName, netId) - print('esx:ExitedVehicle', 'source', source, 'vehicle', vehicle, 'plate', plate, 'seat', seat, 'displayName', displayName, 'netId', netId) + AddEventHandler('esx:exitedVehicle', function(vehicle, plate, seat, displayName, netId) + print('esx:exitedVehicle', 'source', source, 'vehicle', vehicle, 'plate', plate, 'seat', seat, 'displayName', displayName, 'netId', netId) end) end \ No newline at end of file From 6ee4be79ddf16cd36288c3e7bcdd5d32d5a848d2 Mon Sep 17 00:00:00 2001 From: Csoki Date: Sun, 29 Jan 2023 11:22:52 +0100 Subject: [PATCH 15/18] feat(es_extended/common/functions.lua): add option for get weapons by hash --- [core]/es_extended/common/functions.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/[core]/es_extended/common/functions.lua b/[core]/es_extended/common/functions.lua index b3074c8a..f8d65bde 100644 --- a/[core]/es_extended/common/functions.lua +++ b/[core]/es_extended/common/functions.lua @@ -39,8 +39,8 @@ function ESX.GetWeaponFromHash(weaponHash) return weaponsByHash[weaponHash] end -function ESX.GetWeaponList() - return Config.Weapons +function ESX.GetWeaponList(byHash) + return byHash and weaponsByHash or Config.Weapons end function ESX.GetWeaponLabel(weaponName) From 67a89b6015fb98fb2c3ff513c71056de7742397f Mon Sep 17 00:00:00 2001 From: Csoki Date: Sun, 29 Jan 2023 13:17:46 +0100 Subject: [PATCH 16/18] fix(es_extended/client/modules/actions.lua): debug events to lowercase --- [core]/es_extended/client/modules/actions.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/[core]/es_extended/client/modules/actions.lua b/[core]/es_extended/client/modules/actions.lua index 41dc669c..499649b1 100644 --- a/[core]/es_extended/client/modules/actions.lua +++ b/[core]/es_extended/client/modules/actions.lua @@ -99,15 +99,15 @@ if Config.EnableDebug then print('esx:enteringVehicle', 'vehicle', vehicle, 'plate', plate, 'seat', seat, 'netId', netId) end) - AddEventHandler('esx:EnteringVehicleAborted', function() + AddEventHandler('esx:enteringVehicleAborted', function() print('esx:enteringVehicleAborted') end) - AddEventHandler('esx:EnteredVehicle', function(vehicle, plate, seat, displayName, netId) + AddEventHandler('esx:enteredVehicle', function(vehicle, plate, seat, displayName, netId) print('esx:enteredVehicle', 'vehicle', vehicle, 'plate', plate, 'seat', seat, 'displayName', displayName, 'netId', netId) end) - AddEventHandler('esx:ExitedVehicle', function(vehicle, plate, seat, displayName, netId) + AddEventHandler('esx:exitedVehicle', function(vehicle, plate, seat, displayName, netId) print('esx:exitedVehicle', 'vehicle', vehicle, 'plate', plate, 'seat', seat, 'displayName', displayName, 'netId', netId) end) From 2039e0e0a01f8def759eac9f7ab1f5680051b73f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=20Gerg=C5=91?= <69343477+Rav3n95@users.noreply.github.com> Date: Sun, 29 Jan 2023 18:30:26 +0100 Subject: [PATCH 17/18] Core version update --- [core]/es_extended/fxmanifest.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/[core]/es_extended/fxmanifest.lua b/[core]/es_extended/fxmanifest.lua index 7694c427..0b004d72 100644 --- a/[core]/es_extended/fxmanifest.lua +++ b/[core]/es_extended/fxmanifest.lua @@ -5,7 +5,7 @@ game 'gta5' description 'ES Extended' lua54 'yes' -version '1.9.0' +version '1.9.1' shared_scripts { 'locale.lua', From 81bfdea7b4c7f09d5c396198727036466c35b87f Mon Sep 17 00:00:00 2001 From: Csoki Date: Sun, 29 Jan 2023 19:58:00 +0100 Subject: [PATCH 18/18] fix(es_extended/client/functions.lua): fix menu tables --- [core]/es_extended/client/functions.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/[core]/es_extended/client/functions.lua b/[core]/es_extended/client/functions.lua index 95975306..240111c7 100644 --- a/[core]/es_extended/client/functions.lua +++ b/[core]/es_extended/client/functions.lua @@ -6,6 +6,10 @@ Core.CurrentRequestId = 0 Core.ServerCallbacks = {} Core.TimeoutCallbacks = {} Core.Input = {} +ESX.UI = {} +ESX.UI.Menu = {} +ESX.UI.Menu.RegisteredTypes = {} +ESX.UI.Menu.Opened = {} ESX.Game = {} ESX.Game.Utils = {}