From fad641185052a6afd44ad2d97cbb515cc70b508c Mon Sep 17 00:00:00 2001 From: Linventif Date: Tue, 26 Sep 2023 16:23:54 +0200 Subject: [PATCH] getTriggerInfo --- lua/gmod_integration/server/sv_main.lua | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/lua/gmod_integration/server/sv_main.lua b/lua/gmod_integration/server/sv_main.lua index 1d3c136..39f9dcb 100644 --- a/lua/gmod_integration/server/sv_main.lua +++ b/lua/gmod_integration/server/sv_main.lua @@ -50,12 +50,19 @@ function gmInte.playerConnect(data) gmInte.post("/server/user/connect", data) end -local function triggerChat(text) +local function getTriggerInfo(text) for k, v in pairs(gmInte.config.chatTrigger) do if (string.StartWith(text, k)) then - if (tostring(v) == "false") then return false end - if (tostring(v) == "true") then v = "" end - return v .. string.sub(text, string.len(k) + 1) + local defaultConfig = { + ["prefix"] = "", + ["show_rank"] = false, + ["anonymous"] = false, + ["channel"] = "admin_sync_chat" + } + for k2, v2 in pairs(v) do + defaultConfig[k2] = v2 + end + return defaultConfig.prefix .. string.sub(text, string.len(k) + 1) end end @@ -64,13 +71,14 @@ end function gmInte.playerSay(ply, text, team) if (!gmInte.config.syncChat) then return end - local triggerText = triggerChat(text) - if (!triggerText && !gmInte.config.chatTriggerAll) then return end + local triggerInfo = getTriggerInfo(text) + if (!triggerInfo && !gmInte.config.chatTriggerAll) then return end gmInte.post("/server/user/say", { ["steamID64"] = ply:SteamID64(), - ["message"] = triggerText, + ["usergroup"] = ply:GetUserGroup(); + ["msgInfo"] = triggerInfo, ["name"] = ply:Nick(), ["team"] = team, }