forked from Simnation/Main
96 lines
4.2 KiB
Lua
96 lines
4.2 KiB
Lua
CreateThread(function()
|
|
TriggerEvent('chat:addSuggestion', '/e', Translate('play_emote'),
|
|
{ { name = "emotename", help = Translate('help_command') },
|
|
{ name = "texturevariation", help = Translate('help_variation') } })
|
|
TriggerEvent('chat:addSuggestion', '/emote', Translate('play_emote'),
|
|
{ { name = "emotename", help = Translate('help_command') },
|
|
{ name = "texturevariation", help = Translate('help_variation') } })
|
|
if Config.Keybinding then
|
|
TriggerEvent('chat:addSuggestion', '/emotebind', Translate('link_emote_keybind'),
|
|
{ { name = "key", help = "num4, num5, num6, num7. num8, num9. Numpad 4-9!" },
|
|
{ name = "emotename", help = Translate('help_command') } })
|
|
TriggerEvent('chat:addSuggestion', '/emotebinds', Translate('show_emote_keybind'))
|
|
TriggerEvent('chat:addSuggestion', '/emotedelete', Translate('remove_emote_keybind'),
|
|
{ { name = "key", help = "num4, num5, num6, num7. num8, num9. Numpad 4-9!" } })
|
|
end
|
|
TriggerEvent('chat:addSuggestion', '/emotemenu', Translate('open_menu_emote'))
|
|
TriggerEvent('chat:addSuggestion', '/emotes', Translate('show_list_emote'))
|
|
TriggerEvent('chat:addSuggestion', '/emotecancel', Translate('cancel_emote'))
|
|
end)
|
|
|
|
RegisterCommand('e', function(source, args, raw) EmoteCommandStart(args) end, false)
|
|
RegisterCommand('emote', function(source, args, raw) EmoteCommandStart(args) end, false)
|
|
RegisterCommand('emotecancel', function() EmoteCancel() end, false)
|
|
|
|
if Config.MenuKeybindEnabled then
|
|
RegisterCommand('emoteui', function() OpenEmoteMenu() end, false)
|
|
RegisterKeyMapping("emoteui", Translate('register_open_menu'), "keyboard", Config.MenuKeybind)
|
|
else
|
|
RegisterCommand('emotemenu', function() OpenEmoteMenu() end, false)
|
|
end
|
|
|
|
if Config.EnableCancelKeybind then
|
|
RegisterKeyMapping("emotecancel", Translate('register_cancel_emote'), "keyboard", Config.CancelEmoteKey)
|
|
end
|
|
|
|
-- BINDING EMOTES TO KEYS
|
|
if Config.Keybinding then
|
|
RegisterCommand('emotebind', function(source, args, raw) EmoteBindStart(source, args, raw) end, false)
|
|
RegisterCommand('emotebinds', function(source, args, raw) ListKeybinds() end, false)
|
|
RegisterCommand('emotedelete', function(source, args) DeleteEmote(args) end, false)
|
|
|
|
for i = 1, #Config.KeybindKeys do
|
|
local cmd = string.format('emoteSelect%s', i)
|
|
RegisterCommand(cmd, function()
|
|
local emote = GetResourceKvpString(string.format('%s_emob%s', Config.keybindKVP, i))
|
|
if emote and emote ~= "" then
|
|
EmoteCommandStart({ emote, 0 })
|
|
end
|
|
end, false)
|
|
RegisterKeyMapping(cmd, string.format('Emote bind %s', i), 'keyboard', Config.KeybindKeys[i])
|
|
end
|
|
|
|
function EmoteBindStart(source, args, raw)
|
|
if #args > 0 then
|
|
local numkey = tonumber(args[1])
|
|
local emote = string.lower(args[2])
|
|
if not (numkey and emote) then
|
|
DebugPrint('Invalid arguments to EmoteBindStart')
|
|
return
|
|
end
|
|
if type(numkey) == "number" then
|
|
if RP[emote] then
|
|
SetResourceKvp(string.format('%s_emob%s', Config.keybindKVP, numkey), emote)
|
|
else
|
|
EmoteChatMessage("'" .. emote .. "' " .. Translate('notvalidemote') .. "")
|
|
end
|
|
else
|
|
EmoteChatMessage("'" .. numkey .. "' " .. Translate('notvalidkey'))
|
|
end
|
|
else
|
|
DebugPrint('Invalid number of arguments to EmoteBindStart')
|
|
end
|
|
end
|
|
|
|
function ListKeybinds()
|
|
for i = 1, #Config.KeybindKeys do
|
|
local emote = GetResourceKvpString(string.format('%s_emob%s', Config.keybindKVP, i))
|
|
if emote then
|
|
EmoteChatMessage(string.format('Emote %s : %s',i, emote))
|
|
end
|
|
end
|
|
end
|
|
|
|
function DeleteEmote(args)
|
|
if #args > 0 then
|
|
local numkey = tonumber(args[1])
|
|
if type(numkey) == "number" then
|
|
DeleteResourceKvp(string.format('%s_emob%s', Config.keybindKVP, numkey))
|
|
else
|
|
EmoteChatMessage("'" .. numkey .. "' " .. Translate('notvalidkey'))
|
|
end
|
|
else
|
|
DebugPrint("invalid")
|
|
end
|
|
end
|
|
end
|