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