// plugin_produkt_timerem3.sma, v 1.1.0.0 26/3/02
 
#include <core>
#include <console>
#include <string>
#include <admin>
#include <adminlib>
 
new STRING_VERSION[MAX_DATA_LENGTH] = "1.0.0.0";
 
public execute_all(a[]) {
    new userid = 0;
    new wonid = 0;
    new teamid = 0;
    new username[200];
    new i=0;
    new x = 0;
 
    x = maxplayercount();
    for(i=1; i<=x; i=i+1) {
        strinit(username);
        if(playerinfo(i, username, 200, userid, wonid, teamid)==1) {
            execclient(username, a);
        }
    }
}
 
/* general warning messages fired off by timer (launched in client_start) */
public warn1() {
    execute_all("speak ^"fvox/bell _period sixty seconds remaining^"");
    centersay("60 seconds remaining!",10,255,0,0);
}
 
public warn5() {
    execute_all("speak ^"fvox/bell _period five minutes remaining^"");
    centersay("5 minutes remaining.",10,0,255,0);
}
 
public warn10() {
    execute_all("speak ^"fvox/bell _period ten minutes remaining^"");
    centersay("10 minutes remaining.",10,0,255,0);
}
 
public warn20() {
    execute_all("speak ^"fvox/bell _period twenty minutes remaining^"");
    centersay("20 minutes remaining.",10,0,255,0);
}
 
public warn30() {
    execute_all("speak ^"fvox/bell _period thirty minutes remaining^"");
    centersay("30 minutes remaining.",10,0,255,0);
}
 
/* I know that "forty" is spelled wrong below, but if I changed it, the sound wouldn't work. You can thank Valve. */
public warn40() {
    execute_all("speak ^"fvox/bell _period fourty minutes remaining^"");
    centersay("40 minutes remaining.",10,0,255,0);
}
 
public warn50() {
    execute_all("speak ^"fvox/bell _period fifty minutes remaining^"");
    centersay("50 minutes remaining.",10,0,255,0);
}
 
public plugin_init() {
    plugin_registerinfo("Produkt's Time Remaining Plugin","Announces and writes time remaining.",STRING_VERSION);
 
    /* Start the timers, to make them set off. */
    new time1=timeleft();
    set_timer("warn50", time1 - 3000, 0);
    set_timer("warn40", time1 - 2400, 0);
    set_timer("warn30", time1 - 1800, 0);
    set_timer("warn20", time1 - 1200, 0);
    set_timer("warn10", time1 - 600, 0);
    set_timer("warn5", time1 - 300, 0);
    set_timer("warn1", time1 - 60, 0);
 
    return PLUGIN_CONTINUE;
}