Я не давно начал писать плагины и хотел бы спросить.Пишу щас плагин KNIFE DM,возникла проблема с концом раунда.Если в команде тт или кт остаётся один игрок и умирает то происходит рестарт раунда.
Я уже видел решения проблем но некоторые не помогли а другие я просто не понял.
Если короче как сделать бесконечный раунда после смерти последнего игрока в команде?
КОД:
- Код: Выделить всё
#include <amxmodx>
#include <hamsandwich>
#include <fun>
#define SPAWN_TIME 1.0
static szMap[32]
public plugin_init()
{
register_logevent("PlayerRespawn", 3,"1=joined team") // отлов события выбора команды
register_event("DeathMsg", "PlayerKill", "a") // отлос собития смерти игрока
get_mapname(szMap,31)
}
public PlayerKill()
{
new id = read_data(2)
SpawnTask(SPAWN_TIME,id) // время через сколько возродится
}
public PlayerRespawn()
{
new szLog[256]
new szName[32], szTeam[32]
read_logargv(0,szLog,charsmax(szLog))
read_logargv(2,szTeam,charsmax(szTeam))
parse_loguser(szLog, szName, charsmax(szName))
new id = get_user_index(szName)
if(is_user_connected(id) && szTeam[0] != 'S') // игнор спекторов
{
SpawnTask(SPAWN_TIME,id) // время через сколько возрождения игрока
}
}
public Respawn(id)
{
static team
new MapName[32]
get_mapname(MapName,31)
if(!is_user_alive(id) && (team = get_user_team(id)) != 3 && team != 0)
{
ExecuteHamB(Ham_CS_RoundRespawn,id) // возрождение
}
return PLUGIN_CONTINUE
}
public ProtectionOff(id)
{
if(!is_user_alive(id)) //если игрок мёрт плагин прекращает работу
{
return PLUGIN_CONTINUE
}
if(containi(szMap, "35_")!= -1)
{
set_user_health(id,35)
}
else if(containi(szMap, "1hp_")!= -1)
{
set_user_health(id,1)
}
return PLUGIN_CONTINUE
}
stock SpawnTask(Float:Time,const id)
{
set_task(Time, "Respawn",id)
}