/* * CSB Admin ESP * Copyright (C) 2026 counter-strike-boost.com * * Gives an admin a wallhack-style glow on players. It hooks FM_AddToFullPack and * sets kRenderFxGlowShell + a team colour ONLY in the packets destined for that * one admin client, so normal players see nothing changed. Toggled per admin * with amx_esp and restricted by a flag. * * This program is free software: you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software * Foundation, either version 3 of the License, or (at your option) any later * version. It is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See for details. */ #include #include #include new const PLUGIN[] = "CSB Admin ESP" new const VERSION[] = "1.0.0" new const AUTHOR[] = "counter-strike-boost.com" new bool:g_bEsp[33] new g_pEnabled new g_iActive = 0 public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) g_pEnabled = register_cvar("csb_esp_enabled", "1") register_concmd("amx_esp", "cmdEsp", ADMIN_CFG, "[0|1] - toggle wallhack glow ESP for yourself") register_forward(FM_AddToFullPack, "fwAddToFullPack", 1) } public client_disconnected(id) { if (g_bEsp[id]) { g_bEsp[id] = false g_iActive-- } } public cmdEsp(id, level, cid) { if (!cmd_access(id, level, cid, 1)) return PLUGIN_HANDLED if (!get_pcvar_num(g_pEnabled)) { console_print(id, "[CSB] ESP is disabled (csb_esp_enabled 0).") return PLUGIN_HANDLED } new bool:want = !g_bEsp[id] if (read_argc() > 1) { new arg[4] read_argv(1, arg, charsmax(arg)) want = (str_to_num(arg) != 0) } if (want == g_bEsp[id]) { client_print(id, print_chat, "[CSB] ESP already %s.", want ? "ON" : "OFF") return PLUGIN_HANDLED } g_bEsp[id] = want g_iActive += want ? 1 : -1 client_print(id, print_chat, "[CSB] Admin ESP %s.", want ? "ON" : "OFF") new aname[32] get_user_name(id, aname, charsmax(aname)) log_amx("[CSB ESP] %s turned ESP %s", aname, want ? "on" : "off") return PLUGIN_HANDLED } public fwAddToFullPack(es, e, ent, host, hostflags, player, pSet) { /* only rewrite entity states for player entities... */ if (!player) return FMRES_IGNORED /* ...and only when the receiving host is an admin with ESP enabled */ if (host < 1 || host > 32 || !g_bEsp[host]) return FMRES_IGNORED if (ent == host || !is_user_alive(ent)) return FMRES_IGNORED new r = 200, g = 200, b = 200 switch (get_user_team(ent)) { case 1: { r = 255; g = 60; b = 60; } /* T - red */ case 2: { r = 60; g = 120; b = 255; } /* CT - blue */ default: { r = 200; g = 200; b = 200; } } new Float:color[3] color[0] = float(r) color[1] = float(g) color[2] = float(b) set_es(es, ES_RenderMode, kRenderNormal) set_es(es, ES_RenderFx, kRenderFxGlowShell) set_es(es, ES_RenderColor, color) set_es(es, ES_RenderAmt, 30.0) return FMRES_HANDLED }