From 8f4060dfaa7a7fb2ccbf598d5eab8ad981a0a8d4 Mon Sep 17 00:00:00 2001 From: KillaLR <150366593+lbkillaultrar3dr3dr3d1337@users.noreply.github.com> Date: Fri, 10 Jul 2026 00:11:42 +0400 Subject: [PATCH 1/4] Implement SteamID blocking for wire holograms Added functionality to block and unblock players by SteamID for holograms. --- lua/entities/gmod_wire_hologram.lua | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/lua/entities/gmod_wire_hologram.lua b/lua/entities/gmod_wire_hologram.lua index 780c1d40fe..c4b67dc055 100644 --- a/lua/entities/gmod_wire_hologram.lua +++ b/lua/entities/gmod_wire_hologram.lua @@ -359,6 +359,16 @@ if CLIENT then local function checkSteamid(steamid) return string.match(steamid, "STEAM_%d+:%d+:%d+") end + + local blockfile = "wire_hologram_block.txt" + + local blocked = file.Exists(blockfile, "DATA") + and util.JSONToTable(file.Read(blockfile, "DATA")) or {} + + local function saveBlocked() + file.Write(blockfile, util.TableToJSON(blocked)) + end + concommand.Add("wire_holograms_block_client", function(ply, command, args) if not args[1] then print("Invalid steamid") return end @@ -367,6 +377,8 @@ if CLIENT then if not toblock then print("Invalid steamid") return end blocked[toblock] = true + saveBlocked() + for _, ent in ipairs(ents.FindByClass("gmod_wire_hologram")) do if ent.steamid == toblock then ent.blocked = true @@ -379,7 +391,7 @@ if CLIENT then table.insert(help, cmd.." \""..ply:SteamID().."\" // "..ply:Name()) end return help - end) + end) concommand.Add("wire_holograms_unblock_client", function(ply, command, args) From 192c316223fec6671053cc24b206e899bd3f307c Mon Sep 17 00:00:00 2001 From: KillaLR <150366593+lbkillaultrar3dr3dr3d1337@users.noreply.github.com> Date: Fri, 10 Jul 2026 00:17:29 +0400 Subject: [PATCH 2/4] Remove SteamID from blocked list and update entities --- lua/entities/gmod_wire_hologram.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/lua/entities/gmod_wire_hologram.lua b/lua/entities/gmod_wire_hologram.lua index c4b67dc055..ee314b8d7b 100644 --- a/lua/entities/gmod_wire_hologram.lua +++ b/lua/entities/gmod_wire_hologram.lua @@ -402,6 +402,7 @@ if CLIENT then if not blocked[toblock] then print("This steamid isn't blocked") return end blocked[toblock] = nil + saveBlocked() for _, ent in ipairs(ents.FindByClass("gmod_wire_hologram")) do if ent.steamid == toblock then ent.blocked = false From 6d5f6118dc6d34d2411a69a4ba231a3b5992b683 Mon Sep 17 00:00:00 2001 From: KillaLR <150366593+lbkillaultrar3dr3dr3d1337@users.noreply.github.com> Date: Fri, 10 Jul 2026 00:59:53 +0400 Subject: [PATCH 3/4] Converted a local variable into a global one. --- lua/entities/gmod_wire_hologram.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/entities/gmod_wire_hologram.lua b/lua/entities/gmod_wire_hologram.lua index ee314b8d7b..f535878ef3 100644 --- a/lua/entities/gmod_wire_hologram.lua +++ b/lua/entities/gmod_wire_hologram.lua @@ -362,7 +362,7 @@ if CLIENT then local blockfile = "wire_hologram_block.txt" - local blocked = file.Exists(blockfile, "DATA") + blocked = file.Exists(blockfile, "DATA") and util.JSONToTable(file.Read(blockfile, "DATA")) or {} local function saveBlocked() From 191d66990e93b23e6fbae266263ad25b0c543d8b Mon Sep 17 00:00:00 2001 From: "Mac[k] DeKilla" <150366593+lbkillaultrar3dr3dr3d1337@users.noreply.github.com> Date: Sat, 18 Jul 2026 00:07:03 +0400 Subject: [PATCH 4/4] Fix formatting issues and clean up whitespace --- lua/entities/gmod_wire_hologram.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lua/entities/gmod_wire_hologram.lua b/lua/entities/gmod_wire_hologram.lua index f535878ef3..7eed08fcac 100644 --- a/lua/entities/gmod_wire_hologram.lua +++ b/lua/entities/gmod_wire_hologram.lua @@ -359,9 +359,9 @@ if CLIENT then local function checkSteamid(steamid) return string.match(steamid, "STEAM_%d+:%d+:%d+") end - + local blockfile = "wire_hologram_block.txt" - + blocked = file.Exists(blockfile, "DATA") and util.JSONToTable(file.Read(blockfile, "DATA")) or {} @@ -378,7 +378,7 @@ if CLIENT then blocked[toblock] = true saveBlocked() - + for _, ent in ipairs(ents.FindByClass("gmod_wire_hologram")) do if ent.steamid == toblock then ent.blocked = true