@up już użyłeś flagi "b", a taska nie usuwasz nigdy (nie ma remove_task).
Nie napisałem, że HLTV wykonuje się po restarcie rundy
Dodałem jedynie uwagę, że warto użyć eventu HLTV wraz z obsługą wydarzeń skrajnych, bo blokowanie komunikatów, czy ich podmiana nie uwzględni startu rundy.
Jednak na poziomie vernona chyba faktycznie nie ma się czym przejmować, więc przyznaję, niepotrzebnie się czepiam i Twoje rozwiązanie będzie wystarczające.
PS. Dziękuję.
Fakt, w plugin_init jest to wrzucone, kopiowałem to z pluginu zamieszczonego przez autora tematu i nie zauważyłem tego tam. Oczywiście należy tą linijkę usunąć, dzięki za zwrócenie uwagi
A ja nie pisałem, że Ty takie coś pisałeś
Też ta uwaga o register_event("TextMsg", "restart_round", "a", "2&#Game_will_restart_in") nie wyglądała na poradę dodania obsługi skrajnych sytuacji. Kończmy już dyskusję, ja tylko zamieszczę poprawiony kod sma:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
new czas;
new cOdliczanie, cGracze;
public plugin_init()
{
register_plugin( "Odlicz", "0,1", "Home" );
register_clcmd( "say /odlicz", "odliczanie" );
register_logevent("Poczatek_Rundy", 2, "1=Round_Start");
cOdliczanie = register_cvar("odliczanie","25");
cGracze = register_cvar("min_graczy", "6");
}
public Poczatek_Rundy()
{
new players[32], num;
get_players( players, num );
for( new i; i < num ; i++ )
{
new id = players[i]
if( !is_user_alive( id ) )
continue;
set_user_godmode( id, 0 )
}
}
public odliczanie(id)
{
if( get_user_team( id ) != 2 )
return PLUGIN_HANDLED;
new players[32], num;
get_players( players, num );
if(num<get_pcvar_num(cGracze)) {
client_print(id, print_chat, "Musi być co najmniej %d graczy", get_pcvar_num(cGracze));
return PLUGIN_HANDLED;
}
for( new i; i < num ; i++ )
{
new pid = players[i]
if( !is_user_alive( pid ) )
continue;
switch( get_user_team( pid ) )
{
case 1: WeaponMenu( pid );
case 2: set_user_godmode( pid, 1 );
}
}
czas=get_pcvar_num(cOdliczanie);
set_hudmessage( 0, 191, 255, -1.0, 0.1, 0, 6.0, 7.0 );
show_hudmessage(0, "Rozpocznie sie za %d", czas);
czas--;
set_task(1.0, "cmdfunkcja", id);
return PLUGIN_HANDLED;
}
public cmdfunkcja(id) {
if(czas>0) {
set_hudmessage( 0, 191, 255, -1.0, 0.1, 0, 6.0, 7.0 );
show_hudmessage(0, "Rozpocznie sie za %d", czas);
czas--;
set_task(1.0, "cmdfunkcja", id);
return PLUGIN_CONTINUE;
}
set_hudmessage( 0, 191, 255, -1.0, 0.1, 0, 6.0, 7.0 );
show_hudmessage( 0, "Koniec odliczania!" );
}