/* * CSB Team Gravity * Copyright (C) 2026 counter-strike-boost.com * * Applies a per-team gravity multiplier with set_user_gravity on every spawn, * used by mods like Furien or Hide'n'Seek where one side should jump higher or * fall slower than the other. The values are cvars (1.0 = normal), and when the * plugin is disabled every player's gravity is reset to normal. * * 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 new const PLUGIN[] = "CSB Team Gravity" new const VERSION[] = "1.0.0" new const AUTHOR[] = "counter-strike-boost.com" new g_pEnabled, g_pT, g_pCT public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) g_pEnabled = register_cvar("csb_grav_enabled", "1") g_pT = register_cvar("csb_grav_t", "1.0") g_pCT = register_cvar("csb_grav_ct", "1.0") /* ResetHUD fires on every (re)spawn */ register_event("ResetHUD", "onSpawn", "b") register_clcmd("say /gravity", "cmdInfo") register_clcmd("say_team /gravity", "cmdInfo") } public onSpawn(id) { if (!is_user_alive(id)) return /* small delay so team is fully assigned before we read it */ set_task(0.1, "taskApply", id) } public taskApply(id) { if (is_user_alive(id)) applyGravity(id) } applyGravity(id) { if (!get_pcvar_num(g_pEnabled)) { set_user_gravity(id, 1.0) return } new Float:g = 1.0 new team = get_user_team(id) if (team == 1) g = get_pcvar_float(g_pT) else if (team == 2) g = get_pcvar_float(g_pCT) if (g <= 0.0) g = 1.0 set_user_gravity(id, g) } public cmdInfo(id) { if (!get_pcvar_num(g_pEnabled)) { client_print(id, print_chat, "[CSB] Team gravity is disabled (normal for everyone).") return PLUGIN_HANDLED } new Float:mine = 1.0 new team = get_user_team(id) if (team == 1) mine = get_pcvar_float(g_pT) else if (team == 2) mine = get_pcvar_float(g_pCT) client_print(id, print_chat, "[CSB] Your gravity multiplier: %.2f (1.00 = normal).", mine) return PLUGIN_HANDLED }