register_plugin(PLUGIN, VERSION, AUTHOR);
RegisterHookChain(RG_CSGameRules_RestartRound, "RestartRound_Pre", false);
RegisterHookChain(RG_CSGameRules_RestartRound, "RestartRound_Post", true);
if (cvar_exists("resemiclip_version"))
add(VERSION,charsmax(VERSION),"_resemiclip");
server_cmd("semiclip_option semiclip 1");
server_cmd("semiclip_option time 0");
else if (cvar_exists("team_semiclip_version"))
add(VERSION,charsmax(VERSION),"_team_semiclip");
set_cvar_num("semiclip",1);
set_cvar_num("semiclip_block_team",0);
set_cvar_num("semiclip_duration",0);
add(VERSION,charsmax(VERSION),"_semiclip");
register_forward(FM_PlayerPreThink, "preThink");
register_forward(FM_PlayerPostThink, "postThink");
register_forward(FM_AddToFullPack, "addToFullPack", 1);
maxplayers = get_maxplayers();
register_cvar("unreal_spawn_fixer", VERSION, FCVAR_SERVER | FCVAR_SPONLY);
set_member_game(m_bLevelInitialized,true);
set_member_game(m_iSpawnPointCount_CT,32);
set_member_game(m_iSpawnPointCount_Terrorist,32);
set_cvar_float("mp_respawn_immunitytime",1.0);
set_cvar_num("mp_respawn_immunity_force_unset",0);
set_cvar_num("mp_kill_filled_spawn",0);
public RestartRound_Pre()
if (cvar_exists("resemiclip_version"))
server_cmd("semiclip_option semiclip 1");
server_cmd("semiclip_option time 0");
else if (cvar_exists("team_semiclip_version"))
set_cvar_num("semiclip",1);
set_cvar_num("semiclip_block_team",0);
set_cvar_num("semiclip_duration",0);
set_cvar_float("mp_respawn_immunitytime",1.0);
set_cvar_num("mp_respawn_immunity_force_unset",0);
set_cvar_num("mp_kill_filled_spawn",0);
public RestartRound_Post()
set_member_game(m_bLevelInitialized,true);
set_member_game(m_iSpawnPointCount_CT,32);
set_member_game(m_iSpawnPointCount_Terrorist,32);
public addToFullPack(es, e, ent, host, hostflags, player, pSet)
if(plrSolid[host] && plrSolid[ent] && plrTeam[host] == plrTeam[ent])
set_es(es, ES_Solid, SOLID_NOT);
for(new i = 1; i <= maxplayers; i++)
plrTeam[i] = get_user_team(i)
plrSolid[i] = get_entvar(i, var_solid) == SOLID_SLIDEBOX ? true : false
for(i = 1; i <= maxplayers; i++)
if(!plrSolid[i] || id == i) continue
if(plrTeam[i] == plrTeam[id])
set_entvar(i, var_solid, SOLID_NOT)
for(i = 1; i <= maxplayers; i++)
set_entvar(i, var_solid, SOLID_SLIDEBOX)