По моей просьбе GOOD FELLOW написал код на подобии плагина от скальпеля FirstPlayersRespawn.
Все работает как нужно но стоит только сделать рестарт и плагин перестает работать.
Возрождает первых 3 игроков в течении 30 сек начала раунда.
Помогите исправить ошибку, мы с GOOD FELLOW долго тестили его и у него не получилось исправить этот баг.
Код:
#include <amxmodx>
#include <cstrike>
#include <hamsandwich>
#include <colorchat>
#define EndTime 30.0 // Через какое время от начала раунда блокируем работу плагина
#define RespawnPlayers 3 // Сколько всего игроков возраждать
#define MinPlayers 2 // Минимальное кол-во игроков на сервере
#define GetMoney 800 // Кол-во денег после респавна
new g_SpawnPlayers
new bool:SpawnStatus
public plugin_init() {
register_plugin("Respawn Players", "1.0", "Alienware")
register_logevent("Round_Start", 2, "1=Round_Start")
RegisterHam(Ham_Killed, "player", "setRespawn")
}
public Round_Start() {
SpawnStatus = false
g_SpawnPlayers = 0
set_task(EndTime, "setSpawnStatus")
}
public setSpawnStatus()
SpawnStatus = true
public setRespawn(iVictim, iAttacker) {
if(SpawnStatus || get_playersnum() < MinPlayers) return
if(RespawnPlayers > g_SpawnPlayers++) {
new CheckSpawns = RespawnPlayers - g_SpawnPlayers
set_task(0.5, "spawn", iVictim)
ColorChat(iVictim, GREEN, "^x01[^x04SPAWN^x01] Осталось возрождений:^x04 %d", CheckSpawns)
}
}
public spawn(pClient) {
if(is_user_alive(pClient) || !(is_user_connected(pClient))) return
ExecuteHam(Ham_CS_RoundRespawn, pClient)
cs_set_user_money(pClient, cs_get_user_money(pClient) + GetMoney)
}