void ReadyThink () { float i1; char *txt, *gr; gedict_t *p=NULL, *p2=NULL; p2 = PROG_TO_EDICT( self->s.v.owner ); if( ( p2->ct == ctPlayer && !( p2->ready ) ) // forcestart breaked via break command || ( p2->ct == ctSpec && !k_force ) // forcestart breaked via forcebreak command (spectator admin) ) { k_force = 0; G_bprint(2, "%s interrupts countdown\n", p2->netname ); ent_remove ( self ); return; } k_attendees = CountPlayers(); if ( !isCanStart(NULL, true) ) { k_force = 0; G_bprint(2, "Forcestart canceled\n"); ent_remove ( self ); return; } self->attack_finished--; i1 = self->attack_finished; if( i1 <= 0 ) { k_force = 0; AdminMatchStart(); ent_remove ( self ); return; } txt = va( "%s second%s left before game starts", dig3( i1 ), ( i1 == 1 ? "" : "s") ); gr = va( "\n%s!", redtext("Get ready") ); for( p = world; (p = find_client( p )); ) if ( p->ct == ctPlayer ) G_centerprint(p, "%s%s", txt, (p->ready ? "" : gr)); else G_centerprint(p, "%s", txt); self->s.v.nextthink = g_globalvars.time + 1; }
void sv_lock () { int lock_time = 15; if ( !k_sv_locktime ) { G_bprint(2, "%s %s for %s seconds\n", getname(self), redtext("locked server"), dig3(lock_time)); k_sv_locktime = g_globalvars.time + lock_time; } else { G_bprint(2, "%s %s\n", getname(self), redtext("unlocked server")); k_sv_locktime = 0; } }
void ShowCamHelp() { G_sprint(self, 2, "use %s %s to jump between spawn points\n" "use [attack] to change cam mode\n" "use [jump] to change target\n", redtext("impulse"), dig3(1)); }