From e60674cb56349ef8a7340c93ad0d65c6bd8d7eb2 Mon Sep 17 00:00:00 2001 From: Selt <83926739+seltonmt012@users.noreply.github.com> Date: Tue, 28 Jul 2026 01:46:58 +0200 Subject: [PATCH] fix(es_extended/client/modules/adjustments): escape placeholder values Placeholder results go straight into gsub as the replacement string, so a % in a player name either throws and kills the presence thread or silently mangles the output. The "Unknown" fallback above it was unreachable because the error() on the previous line always propagates. --- [core]/es_extended/client/modules/adjustments.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/[core]/es_extended/client/modules/adjustments.lua b/[core]/es_extended/client/modules/adjustments.lua index 1c83b148..12a0aac4 100644 --- a/[core]/es_extended/client/modules/adjustments.lua +++ b/[core]/es_extended/client/modules/adjustments.lua @@ -175,11 +175,11 @@ function Adjustments:ReplacePlaceholders(text) local success, result = pcall(cb) if not success then - error(("Failed to execute placeholder: ^5%s^7\n%s"):format(placeholder, result)) + print(("[^1ERROR^7] Failed to execute placeholder: ^5%s^7\n%s"):format(placeholder, result)) result = "Unknown" end - text = text:gsub(("{%s}"):format(placeholder), tostring(result)) + text = text:gsub(("{%s}"):format(placeholder), (tostring(result):gsub("%%", "%%%%"))) end return text end