#include #include #include static gHour; //Global stuff and defines for our gamemode static gTeam[MAX_PLAYERS]; new gPlayerClass[MAX_PLAYERS]; new gPlayerCheckpointStatus[MAX_PLAYERS]; //Checks for the Checkpoints new InCheckpoint_SWEETS[MAX_PLAYERS]; //Color Defines #define COLOR_GREEN 0x33AA33AA #define COLOR_PURPLE 0x800080AA #define COLOR_GOLD 0xFFD700AA #define COLOR_TURQUOISE 0x40E0D0AA #define COLOR_GREY 0xAFAFAFAA //Team Defines #define TEAM_GROVE 0 #define TEAM_BALLA 1 #define TEAM_VAGOS 2 #define TEAM_AZTECAZ 3 //Checkpoints #define CHECKPOINT_NONE 0 #define CHECKPOINT_SWEETS 1 #define CHECKPOINT_RYDERS 2 #define CHECKPOINT_BALLA2S 3 #define CHECKPOINT_BALLA3S 4 #define CHECKPOINT_VAGOS1S 5 #define CHECKPOINT_VAGOS2S 6 #define CHECKPOINT_VAGOS3S 7 #define CHECKPOINT_AZTECAZ1S 8 #define CHECKPOINT_AZTECAZ2S 9 #define CHECKPOINT_AZTECAZ3S 10 main() { print("\n---------------------------------------"); print(" The Gangs of Los Santos by [NR]Luke"); print("---------------------------------------\n"); } //------------------------------------------------------------------------------ public OnGameModeInit() { SetGameModeText("The Gangs of Los Santos"); SetTimer("ChangeTime", 60000,1); //Player Spawns AddPlayerClass(105,2495.9998,-1708.4066,1014.7422,359.3530,0,0,0,0,0,0); // Grove Spawn 1 AddPlayerClass(106,2536.0571,-1674.5150,1015.4986,91.8100,0,0,0,0,0,0); // Grove Spawn 2 AddPlayerClass(107,2449.7056,-1692.3264,1013.5078,167.8490,0,0,0,0,0,0); // Grove Spawn 3 AddPlayerClass(102,2278.8496,-1134.5461,1050.8984,269.6341,0,0,0,0,0,0); // Balla Spawn 1 AddPlayerClass(103,231.5691,1246.4398,1082.1406,118.1860,0,0,0,0,0,0); // Balla Spawn 2 AddPlayerClass(104,230.2577,1287.7933,1082.1406,1.8755,0,0,0,0,0,0); // Balla Spawn 3 AddPlayerClass(108,246.3398,1106.5414,1080.9922,45.2748,0,0,0,0,0,0); // Vagos Spawn 1 AddPlayerClass(109,227.2937,1081.1320,1084.2228,1.9199,0,0,0,0,0,0); // Vagos Spawn 2 AddPlayerClass(110,94.8406,1338.0596,1083.8594,91.0051,0,0,0,0,0,0); // Vagos Spawn 3 AddPlayerClass(114,295.2022,1487.7212,1080.2578,182.0828,0,0,0,0,0,0); // Aztecaz Spawn 1 AddPlayerClass(115,2374.1045,-1126.5098,1050.8750,90.8741,0,0,0,0,0,0); // Aztecaz Spawn 2 AddPlayerClass(116,383.1349,1459.9299,1080.1949,1.4753,0,0,0,0,0,0); // Aztecaz Spawn 3 return 1; } //------------------------------------------------------------------------------ public OnPlayerRequestClass(playerid, classid) { SetupPlayerForClassSelection(playerid); SetPlayerTeamFromClass(playerid, classid); gPlayerClass[playerid] = classid; return 1; } //------------------------------------------------------------------------------ public SetupPlayerForClassSelection(playerid) { SetPlayerInterior(playerid,3); SetPlayerPos(playerid, -2666.9583,1428.6624,906.4609); SetPlayerFacingAngle(playerid, 180.0); SetPlayerCameraPos(playerid, -2666.9807,1425.2913,907.0000); SetPlayerCameraLookAt(playerid, -2666.9583,1428.6624,906.4609); } //------------------------------------------------------------------------------ public SetPlayerTeamFromClass(playerid, classid) { if(classid == 0 || classid == 1 || classid == 2) { gTeam[playerid] = TEAM_GROVE; } if(classid == 3 || classid == 4 || classid == 5) { gTeam[playerid] = TEAM_BALLA; } if(classid == 6 || classid == 7 || classid == 8) { gTeam[playerid] = TEAM_VAGOS; } if(classid == 9 || classid == 10 || classid == 11) { gTeam[playerid] = TEAM_AZTECAZ; } } //------------------------------------------------------------------------------ public SetPlayerToTeamColor(playerid) { if (gTeam[playerid] == TEAM_GROVE) { SetPlayerColor(playerid, COLOR_GREEN); } if (gTeam[playerid] == TEAM_BALLA) { SetPlayerColor(playerid, COLOR_PURPLE); } if (gTeam[playerid] == TEAM_VAGOS) { SetPlayerColor(playerid, COLOR_GOLD); } if (gTeam[playerid] == TEAM_AZTECAZ) { SetPlayerColor(playerid, COLOR_TURQUOISE); } } //------------------------------------------------------------------------------ public OnGameModeExit() { print("GameModeExit()"); return 1; } //------------------------------------------------------------------------------ public OnPlayerConnect(playerid) { GameTextForPlayer(playerid, "~w~Welcome to ~n~~g~The Gangs of Los Santos",3000,3); SetPlayerColor(playerid, COLOR_GREY); // Set the player's color to inactive return 1; } //------------------------------------------------------------------------------ public OnPlayerDisconnect(playerid) { printf("OnPlayerDisconnect(%d)", playerid); return 1; } //------------------------------------------------------------------------------ public OnPlayerSpawn(playerid) { SetPlayerToTeamColor(playerid); switch (gPlayerClass[playerid]) { case 0: { gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE; SetPlayerInterior(playerid,3); } case 1: { gPlayerCheckpointStatus[playerid] = CHECKPOINT_SWEETS; SetPlayerCheckpoint(playerid,2527.2344,-1679.3248,1015.4986,2.0); SetPlayerInterior(playerid,1); } case 2: { gPlayerCheckpointStatus[playerid] = CHECKPOINT_RYDERS; SetPlayerCheckpoint(playerid,2465.4492,-1698.3481,1013.5152,2.0); SetPlayerInterior(playerid,2); } case 3: { gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE; SetPlayerInterior(playerid,11); } case 4: { gPlayerCheckpointStatus[playerid] = CHECKPOINT_BALLA2S; SetPlayerCheckpoint(playerid,225.1236,1239.8646,1082.1406,2.0); SetPlayerInterior(playerid,2); } case 5: { gPlayerCheckpointStatus[playerid] = CHECKPOINT_BALLA3S; SetPlayerCheckpoint(playerid,223.0378,1288.7797,1082.1406,2.0); SetPlayerInterior(playerid,1); } case 6: { gPlayerCheckpointStatus[playerid] = CHECKPOINT_VAGOS1S; SetPlayerCheckpoint(playerid,227.9811,1114.3020,1080.9922,2.0); SetPlayerInterior(playerid,5); } case 7: { gPlayerCheckpointStatus[playerid] = CHECKPOINT_VAGOS2S; SetPlayerCheckpoint(playerid,234.1464,1065.3550,1084.2098,2.0); SetPlayerInterior(playerid,6); } case 8: { gPlayerCheckpointStatus[playerid] = CHECKPOINT_VAGOS3S; SetPlayerCheckpoint(playerid,83.0620,1323.9619,1083.8594,2.0); SetPlayerInterior(playerid,9); } case 9: { gPlayerCheckpointStatus[playerid] = CHECKPOINT_AZTECAZ1S; SetPlayerCheckpoint(playerid,295.8752,1473.0287,1080.2578,2.0); SetPlayerInterior(playerid,15); } case 10: { gPlayerCheckpointStatus[playerid] = CHECKPOINT_AZTECAZ2S; SetPlayerCheckpoint(playerid,2365.2695,-1133.5463,1050.8750,2.0); SetPlayerInterior(playerid,8); } case 11: { gPlayerCheckpointStatus[playerid] = CHECKPOINT_AZTECAZ3S; SetPlayerCheckpoint(playerid,386.2067,1471.6661,1080.1949,2.0); SetPlayerInterior(playerid,15); } } return 1; } //------------------------------------------------------------------------------ public OnPlayerDeath(playerid, killerid, reason) { printf("OnPlayerDeath(%d, %d, %d)", playerid, killerid, reason); return 1; } //------------------------------------------------------------------------------ public OnVehicleSpawn(vehicleid) { printf("OnVehicleSpawn(%d)", vehicleid); return 1; } //------------------------------------------------------------------------------ public OnVehicleDeath(vehicleid, killerid) { printf("OnVehicleDeath(%d, %d)", vehicleid, killerid); return 1; } //------------------------------------------------------------------------------ public OnPlayerText(playerid) { printf("OnPlayerText(%d)", playerid); return 1; } //------------------------------------------------------------------------------ public OnPlayerCommandText(playerid, cmdtext[]) { if (strcmp(cmdtext, "/mycommand", true)==0) { /* Do something here */ return 1; } return 0; } //------------------------------------------------------------------------------ public TimeUpdate() { static vartime = 12; vartime++; vartime %= 24; return SetWorldTime(vartime); } //------------------------------------------------------------------------------ public ChangeTime(){ if(gHour<24){ gHour++; } else{ gHour=1; } SetWorldTime(gHour); } //------------------------------------------------------------------------------ public Teleport() { for (new i = 0; i < MAX_PLAYERS; i++) // i = playerid { if (IsPlayerConnected(i) && InCheckpoint_SWEETS[i]) { SetPlayerPos(i,2518.9106,-1678.5797,14.5851); SetPlayerInterior(i,0); } } } //------------------------------------------------------------------------------ public OnPlayerInfoChange(playerid) { printf("OnPlayerInfoChange(%d)"); return 1; } //------------------------------------------------------------------------------ public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { printf("OnPlayerEnterVehicle(%d, %d, %d)", playerid, vehicleid, ispassenger); return 1; } //------------------------------------------------------------------------------ public OnPlayerExitVehicle(playerid, vehicleid) { printf("OnPlayerExitVehicle(%d, %d)", playerid, vehicleid); return 1; } //------------------------------------------------------------------------------ public OnPlayerStateChange(playerid, newstate, oldstate) { printf("OnPlayerStateChange(%d, %d, %d)", playerid, newstate, oldstate); return 1; } //------------------------------------------------------------------------------ public OnPlayerEnterCheckpoint(playerid) { switch (gPlayerCheckpointStatus[playerid]) { case CHECKPOINT_SWEETS: { InCheckpoint_SWEETS[playerid]=true; SetTimer("Teleport",5000,0); SendClientMessage(playerid, COLOR_GOLD, "You will be Teleported in 5 Seconds"); DisablePlayerCheckpoint(playerid); gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE; } case CHECKPOINT_RYDERS: { SetPlayerInterior(playerid,0); SetPlayerPos(playerid, 2459.4639,-1688.0045,13.5337); DisablePlayerCheckpoint(playerid); gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE; } case CHECKPOINT_BALLA2S: { SetPlayerInterior(playerid,0); SetPlayerPos(playerid, 2091.5889,-1279.8253,26.0205); DisablePlayerCheckpoint(playerid); gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE; } case CHECKPOINT_BALLA3S: { SetPlayerInterior(playerid,0); SetPlayerPos(playerid, 2132.2344,-1281.3669,25.8675); DisablePlayerCheckpoint(playerid); gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE; } case CHECKPOINT_VAGOS1S: { SetPlayerInterior(playerid,0); SetPlayerPos(playerid, 2630.1023,-1068.6461,69.6190); DisablePlayerCheckpoint(playerid); gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE; } case CHECKPOINT_VAGOS2S: { SetPlayerInterior(playerid,0); SetPlayerPos(playerid, 2629.5522,-1082.4749,69.6180); DisablePlayerCheckpoint(playerid); gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE; } case CHECKPOINT_VAGOS3S: { SetPlayerInterior(playerid,0); SetPlayerPos(playerid, 2627.9729,-1098.6667,69.3671); DisablePlayerCheckpoint(playerid); gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE; } case CHECKPOINT_AZTECAZ1S: { SetPlayerInterior(playerid,0); SetPlayerPos(playerid, 1695.4773,-2123.9504,13.5469); DisablePlayerCheckpoint(playerid); gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE; } case CHECKPOINT_AZTECAZ2S: { SetPlayerInterior(playerid,0); SetPlayerPos(playerid, 1684.9708,-2101.3320,13.8343); DisablePlayerCheckpoint(playerid); gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE; } case CHECKPOINT_AZTECAZ3S: { SetPlayerInterior(playerid,0); SetPlayerPos(playerid, 1675.4622,-2120.7778,13.5469); DisablePlayerCheckpoint(playerid); gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE; } default: { DisablePlayerCheckpoint(playerid); } } return 1; } //------------------------------------------------------------------------------ public OnPlayerLeaveCheckpoint(playerid) { switch (gPlayerCheckpointStatus[playerid]) { case CHECKPOINT_SWEETS: { InCheckpoint_SWEETS[playerid]=false; } } return 1; }