//---Place at the top #define CHECK_WAIT 10000 new gCheckpointTimer[MAX_PLAYERS]; new Float:gChecks[2][3] = { {2297.1064,2452.0115,10.8203}, {2297.0452,2468.6743,10.8203} }; //---place in OnPlayerEnterCheckPoint if (gTeam[playerid] == TEAM_ATTACK) gCheckpointTimer[playerid] = SetTimer("IncCheckpoint", CHECK_WAIT, 0); //---Place on its own public IncCheckpoint() { gProgress++; for (new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { if (gTeam[i] = TEAM_ATTACK) { SetPlayerCheckpoint(i, gChecks[gProgress][0],gChecks[gProgress][1],gChecks[gProgress][2],5.0); KillTimer(gCheckpointTimer[i]); } } } } //Place in OnPlayerDeath and OnPlayerDisconnect KillTimer(gCheckpointTimer[playerid]);