#include <amxmodx>
#include <hamsandwich>
#include <zombieplague>
enum CsInternalModel {
CS_DONTCHANGE = 0,
CS_CT_URBAN = 1,
CS_T_TERROR = 2,
CS_T_LEET = 3,
CS_T_ARCTIC = 4,
CS_CT_GSG9 = 5,
CS_CT_GIGN = 6,
CS_CT_SAS = 7,
CS_T_GUERILLA = 8,
CS_CT_VIP = 9,
CZ_T_MILITIA = 10,
CZ_CT_SPETSNAZ = 11
}
enum CsTeams {
CS_TEAM_UNASSIGNED = 0,
CS_TEAM_T = 1,
CS_TEAM_CT = 2,
CS_TEAM_SPECTATOR = 3
}
native CsTeams:cs_get_user_team(index, &{CsInternalModel,_}:model = CS_DONTCHANGE);
new cvar_respawn, cvar_delay
public plugin_init()
{
register_plugin("[ZP] Респавн при коннекте", "1.0", "9 3 () |2 9 ! /<")
RegisterHam(Ham_Spawn, "player", "fw_PlayerSpawn_Post", 1)
cvar_respawn = register_cvar("zpnm_auto_respawn", "1")
cvar_delay = register_cvar("zpnm_auto_respawn_delay", "1")
register_clcmd("joinclass", "clcmd_joinclass")
}
public clcmd_joinclass(id)
{
if (!get_pcvar_num(cvar_respawn)
|| !get_cvar_num("zp_deathmatch"))
return;
switch (get_pcvar_num(cvar_delay))
{
case 1: set_task(get_cvar_float("zp_spawn_delay"), "respawn_player", id)
case 2: set_task(0.1, "respawn_player", id)
}
}
public fw_PlayerSpawn_Post(id)
remove_task(id)
public client_disconnect(id)
remove_task(id)
public respawn_player(id)
{
if (!get_pcvar_num(cvar_respawn)
|| !get_cvar_num("zp_deathmatch")
|| cs_get_user_team(id) == CS_TEAM_SPECTATOR)
return;
zp_respawn_user(id, ZP_TEAM_ZOMBIE)
}