From 712dc307ab7c9546f7ddba3acde49576bc3d8bfc Mon Sep 17 00:00:00 2001 From: Benzo <102178921+Benzo00@users.noreply.github.com> Date: Tue, 19 Jul 2022 22:43:24 +0200 Subject: [PATCH] feat - ESX.RegisterInput --- [esx]/es_extended/client/functions.lua | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/[esx]/es_extended/client/functions.lua b/[esx]/es_extended/client/functions.lua index eb6898aa..ddeb89d3 100644 --- a/[esx]/es_extended/client/functions.lua +++ b/[esx]/es_extended/client/functions.lua @@ -5,7 +5,7 @@ ESX.PlayerLoaded = false Core.CurrentRequestId = 0 Core.ServerCallbacks = {} Core.TimeoutCallbacks = {} - +ESX.Input = {} ESX.UI = {} ESX.UI.HUD = {} ESX.UI.HUD.RegisteredElements = {} @@ -136,6 +136,27 @@ function ESX.ShowFloatingHelpNotification(msg, coords) EndTextCommandDisplayHelp(2, false, false, -1) end +ESX.HashString = function(str) + local format = string.format + local upper = string.upper + local gsub = string.gsub + local hash = GetHashKey(str) + local input_map = format("~INPUT_%s~", upper(format("%x", hash))) + input_map = string.gsub(input_map, "FFFFFFFF", "") + + return input_map +end + + +ESX.RegisterInput = function(command_name, label, input_group, key, on_press, on_release) + RegisterCommand(on_release ~= nil and "+" .. command_name or command_name, on_press) + ESX.Input[command_name] = on_release ~= nil and ESX.HashString("+" .. command_name) or ESX.HashString(command_name) + if on_release then + RegisterCommand("-" .. command_name, on_release) + end + RegisterKeyMapping(on_release ~= nil and "+" .. command_name or command_name, label, input_group, key) +end + function ESX.TriggerServerCallback(name, cb, ...) Core.ServerCallbacks[Core.CurrentRequestId] = cb