- if(timeleft != self.idlekick_lasttimeleft)
- AnnounceTo(self, ftos(timeleft));
- self.idlekick_lasttimeleft = timeleft;
+ float timeleft;
+ timeleft = ceil(sv_maxidle - (time - self.parm_idlesince));
+ if(timeleft == min(10, sv_maxidle - 1)) // - 1 to support sv_maxidle <= 10
+ {
+ if(!self.idlekick_lasttimeleft)
+ Send_CSQC_Centerprint_Generic(self, CPID_DISCONNECT_IDLING, "^3Stop idling!\n^3Disconnecting in %d seconds...", 1, timeleft);
+ }
+ if(timeleft <= 0)
+ {
+ bprint("^3", self.netname, "^3 was kicked for idling.\n");
+ AnnounceTo(self, "terminated");
+ dropclient(self);
+ return;
+ }
+ else if(timeleft <= 10)
+ {
+ if(timeleft != self.idlekick_lasttimeleft)
+ AnnounceTo(self, ftos(timeleft));
+ self.idlekick_lasttimeleft = timeleft;
+ }