Scripts/resources/[standalone]/dpemotes/client/Keybinds.lua
2024-12-29 21:02:20 +01:00

128 lines
4.9 KiB
Lua

if Config.SqlKeybinding then
local emob1 = ""
local emob2 = ""
local emob3 = ""
local emob4 = ""
local emob5 = ""
local emob6 = ""
local keyb1 = ""
local keyb2 = ""
local keyb3 = ""
local keyb4 = ""
local keyb5 = ""
local keyb6 = ""
local Initialized = false
-----------------------------------------------------------------------------------------------------
-- Commands / Events --------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
Citizen.CreateThread(function()
while true do
if NetworkIsPlayerActive(PlayerId()) and not Initialized then
if not Initialized then
TriggerServerEvent("rp:ServerKeybindExist")
Wait(5000)
end
end
if not IsPedSittingInAnyVehicle(PlayerPedId()) then
for k, v in pairs(Config.KeybindKeys) do
if IsControlJustReleased(0, v) then
if k == keyb1 then if emob1 ~= "" then EmoteCommandStart(nil, { emob1, 0 }) end end
if k == keyb2 then if emob2 ~= "" then EmoteCommandStart(nil, { emob2, 0 }) end end
if k == keyb3 then if emob3 ~= "" then EmoteCommandStart(nil, { emob3, 0 }) end end
if k == keyb4 then if emob4 ~= "" then EmoteCommandStart(nil, { emob4, 0 }) end end
if k == keyb5 then if emob5 ~= "" then EmoteCommandStart(nil, { emob5, 0 }) end end
if k == keyb6 then if emob6 ~= "" then EmoteCommandStart(nil, { emob6, 0 }) end end
Wait(1000)
end
end
end
Citizen.Wait(1)
end
end)
RegisterNetEvent("rp:ClientKeybindExist")
AddEventHandler("rp:ClientKeybindExist", function(does)
if does then
TriggerServerEvent("rp:ServerKeybindGrab")
else
TriggerServerEvent("rp:ServerKeybindCreate")
end
end)
RegisterNetEvent("rp:ClientKeybindGet")
AddEventHandler("rp:ClientKeybindGet", function(k1, e1, k2, e2, k3, e3, k4, e4, k5, e5, k6, e6)
keyb1 = k1
emob1 = e1
keyb2 = k2
emob2 = e2
keyb3 = k3
emob3 = e3
keyb4 = k4
emob4 = e4
keyb5 = k5
emob5 = e5
keyb6 = k6
emob6 = e6
Initialized = true
end)
RegisterNetEvent("rp:ClientKeybindGetOne")
AddEventHandler("rp:ClientKeybindGetOne", function(key, e)
SimpleNotify(Config.Languages[lang]['bound'] ..
"~y~" .. e .. "~w~ " .. Config.Languages[lang]['to'] .. " ~g~" .. firstToUpper(key) .. "~w~")
if key == "num4" then emob1 = e
keyb1 = "num4"
elseif key == "num5" then emob2 = e
keyb2 = "num5"
elseif key == "num6" then emob3 = e
keyb3 = "num6"
elseif key == "num7" then emob4 = e
keyb4 = "num7"
elseif key == "num8" then emob5 = e
keyb5 = "num8"
elseif key == "num9" then emob6 = e
keyb6 = "num9"
end
end)
-----------------------------------------------------------------------------------------------------
------ Functions and stuff --------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
function EmoteBindsStart()
EmoteChatMessage(Config.Languages[lang]['currentlyboundemotes'] .. "\n"
.. firstToUpper(keyb1) .. " = '^2" .. emob1 .. "^7'\n"
.. firstToUpper(keyb2) .. " = '^2" .. emob2 .. "^7'\n"
.. firstToUpper(keyb3) .. " = '^2" .. emob3 .. "^7'\n"
.. firstToUpper(keyb4) .. " = '^2" .. emob4 .. "^7'\n"
.. firstToUpper(keyb5) .. " = '^2" .. emob5 .. "^7'\n"
.. firstToUpper(keyb6) .. " = '^2" .. emob6 .. "^7'\n")
end
function EmoteBindStart(source, args, raw)
if #args > 0 then
local key = string.lower(args[1])
local emote = string.lower(args[2])
if (Config.KeybindKeys[key]) ~= nil then
if RP.Emotes[emote] ~= nil
or RP.Dances[emote] ~= nil
or RP.PropEmotes[emote] ~= nil
or RP.AnimalEmotes[emote] ~= nil
then
TriggerServerEvent("rp:ServerKeybindUpdate", key, emote)
else
EmoteChatMessage("'" .. emote .. "' " .. Config.Languages[lang]['notvalidemote'] .. "")
end
else
EmoteChatMessage("'" .. key .. "' " .. Config.Languages[lang]['notvalidkey'])
end
else
print("invalid")
end
end
end