diff --git a/lua/gmod_integration/client/cl_net.lua b/lua/gmod_integration/client/cl_net.lua index 261594b..ddf4fe1 100644 --- a/lua/gmod_integration/client/cl_net.lua +++ b/lua/gmod_integration/client/cl_net.lua @@ -35,7 +35,7 @@ local netReceive = { gmInte.showTestConnection(data) end, [5] = function(data) - gmInte.config = data + gmInte.config = table.Merge(gmInte.config, data) end, [6] = function(data) gmInte.chatAddText(data) diff --git a/lua/gmod_integration/server/sv_settings.lua b/lua/gmod_integration/server/sv_settings.lua index 1d4b09d..baa0850 100644 --- a/lua/gmod_integration/server/sv_settings.lua +++ b/lua/gmod_integration/server/sv_settings.lua @@ -14,6 +14,14 @@ function gmInte.saveSetting(setting, value) gmInte.config[setting] = value file.Write("gm_integration/config.json", util.TableToJSON(gmInte.config, true)) gmInte.log("Setting Saved") + + // send to all players if it's a public setting + for _, ply in pairs(player.GetAll()) do + if (ply:IsValid() && ply:IsPlayer(ply)) then + gmInte.log("Sending new Public Config to " .. ply:Nick()) + gmInte.publicGetConfig(ply) + end + end end function gmInte.tryConfig()