/* Checktest - bug testing by switch */ #include #define COLOR_YELLOW 0xFFFF00AA //Time to switch to new checkpoint, has to be bigger than 25. #define CHECKTIME 1000 new gSize = 0; main() { print("\n----------------------------------"); print("checktest"); print("----------------------------------\n"); } public OnGameModeInit() { print("GameModeInit()"); SetGameModeText("checktest"); //PLAYER SPAWNS AddPlayerClass(0,1556.0880,-899.4401,48.2526,181.6974,0,0,0,0,0,0); // return 1; } public OnPlayerRequestClass(playerid, classid) { SetPlayerInterior(playerid,0); SetPlayerPos(playerid,2682.7673,-1680.1404,9.4193); SetPlayerFacingAngle(playerid, 352.2312); SetPlayerCameraPos(playerid,2683.1050,-1674.7749,9.4287); SetPlayerCameraLookAt(playerid,2682.0964,-1691.6710,9.4207); return 1; } public OnGameModeExit() { print("GameModeExit()"); return 1; } public OnPlayerConnect(playerid) { SendClientMessage(playerid, COLOR_YELLOW, "Hi!"); return 1; } public OnPlayerSpawn(playerid) { SetPlayerInterior(playerid,0); SendClientMessage(playerid, COLOR_YELLOW, "Commands:"); SendClientMessage(playerid, COLOR_YELLOW, "/instacheck SIZE (or /ic SIZE)"); SendClientMessage(playerid, COLOR_YELLOW, "/timedcheck SIZE (or /tc SIZE)"); SendClientMessage(playerid, COLOR_YELLOW, "/removecheck (or /rc)"); return 1; } public OnPlayerEnterCheckpoint(playerid) { return 1; } public SetCheckpoint() { SetPlayerCheckpoint(0,1544.7168,-920.5952,43.6180, gSize); new msg[128]; format(msg,sizeof(msg),"Checkpoint Set, Size:%d",gSize); SendClientMessage(0, COLOR_YELLOW, msg); } public EndGame() { GameModeExit(); } public OnPlayerCommandText(playerid, cmdtext[]) { new cmd[256], idx, cmd2[256], size; cmd = strtok(cmdtext, idx); if (strcmp(cmd, "/timedcheck", true)==0 || strcmp(cmd, "/tc", true)==0) { cmd2 = strtok(cmdtext, idx); size = strval(cmd2); if (size >= 1 && size <= 1000) { gSize = size; DisablePlayerCheckpoint(playerid); SetTimer("SetCheckpoint",CHECKTIME,0); SendClientMessage(playerid,COLOR_YELLOW,"Check Removed, Setting new one in 1 second..."); } else { SendClientMessage(playerid,COLOR_YELLOW,"Enter a size from 1 - 1000"); } return 1; } if (strcmp(cmd, "/instacheck", true)==0 || strcmp(cmd, "/ic", true)==0) { cmd2 = strtok(cmdtext, idx); size = strval(cmd2); if (size >= 1 && size <= 1000) { gSize = size; DisablePlayerCheckpoint(playerid); SendClientMessage(playerid,COLOR_YELLOW,"Check Removed..."); SetCheckpoint(); } else { SendClientMessage(playerid,COLOR_YELLOW,"Enter a size from 1 - 1000"); } return 1; } if (strcmp(cmd, "/removecheck", true)==0 || strcmp(cmd, "/rc", true)==0) { DisablePlayerCheckpoint(playerid); SendClientMessage(playerid,COLOR_YELLOW,"Check Removed..."); return 1; } return 0; } public strtok(const string[], &index) { new length = strlen(string); while ((index < length) && (string[index] <= ' ')) { index++; } new offset = index; new result[20]; while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1))) { result[index - offset] = string[index]; index++; } result[index - offset] = EOS; return result; }