#include #include #include //Global stuff and defines for our gamemode static gTeam[MAX_PLAYERS]; // Tracks the team assignment for each player new gPlayerClass[MAX_PLAYERS]; //Color Defines #define COLOR_GREY 0xAFAFAFAA #define COLOR_GREEN 0x33AA33AA #define COLOR_RED 0xAA3333AA #define COLOR_YELLOW 0xFFFF00AA #define COLOR_PINK 0xFF66FFAA #define COLOR_BLUE 0x0000BBAA #define COLOR_LIGHTBLUE 0x33CCFFAA #define COLOR_DARKRED 0x660000AA #define COLOR_ORANGE 0xFF9900AA //Team Defines #define TEAM_ARMY 0 #define TEAM_PIMP 1 #define TEAM_PILOT 2 #define TEAM_HIPPY 3 // Round duration new gRoundTime = 3600000; // 60 mins //new gRoundTime = 900000; //15 mins //new gRoundTime = 300000; // 5 mins //------------------------------------------------------------------------------ main() { print("\n----------------------------------"); print(" TDM San Fierro \n"); print("----------------------------------\n"); } //------------------------------------------------------------------------------ public OnGameModeInit() { SetGameModeText("TDM in San Fierro"); SetTeamCount(4); ShowNameTags(1); ShowPlayerMarkers(1); SetWorldTime(18); AddPlayerClass(287,-1382.6794,493.5392,24.4178,77.7775,24,1000,34,1000,18,1000); // army spawn AddPlayerClass(61,-1308.8309,-215.2640,14.1484,150.7848,24,1000,34,1000,18,1000); // pilot spawn AddPlayerClass(249,-2615.6973,1413.6216,7.1224,172.7299,24,1000,34,1000,18,1000); // pimp spawn AddPlayerClass(1,-2592.2051,61.4052,4.3359,89.0691,24,1000,34,1000,18,1000); // hippy spawn AddStaticVehicle(520,-2591.9160,78.3885,5.4913,138.1258,0,0); // hydra AddStaticVehicle(520,-1408.2455,513.6644,19.2255,100.1624,0,0); // hydra 2 AddStaticVehicle(520,-1273.0277,-199.3600,14.8717,182.6927,0,0); // hydra 3 AddStaticVehicle(520,-2608.9197,1389.8916,8.0973,250.9470,0,0); // hydra 3 AddStaticVehicle(451,-2621.5535,1378.5459,6.8492,273.4005,18,18); // car for pimps AddStaticVehicle(451,-2620.0813,1372.1259,6.7958,270.3470,18,18); // car 2 for pimps AddStaticVehicle(489,-2618.6287,1353.9377,7.2780,270.8380,14,123); // 3 car for pimps AddStaticVehicle(522,-2618.6084,1348.8446,6.7475,267.8030,3,3); // bike for pimps AddStaticVehicle(522,-2619.5479,1345.8032,6.7673,262.1823,3,3); // bike 2 for pimps AddStaticVehicle(470,-1484.1390,459.5554,7.1807,359.3303,43,0); // car 1 for army AddStaticVehicle(470,-1433.5927,453.9103,7.1789,101.6412,43,0); // car 2 for army AddStaticVehicle(451,-1425.7069,477.9396,6.8940,180.3047,46,46); // car 3 for army AddStaticVehicle(451,-1395.9475,453.0845,6.8942,272.0006,46,46); // car 4 for army AddStaticVehicle(522,-1463.9625,478.5163,6.7451,80.3756,6,25); // bike for army AddStaticVehicle(522,-1352.7893,-182.6797,13.7069,145.5338,6,25); // bike for pilots AddStaticVehicle(522,-1358.0536,-169.9867,13.7185,234.9762,6,25); // bike for pilots AddStaticVehicle(451,-1305.1002,-176.0559,13.8549,199.9113,61,61); // car for pilots AddStaticVehicle(485,-1346.1151,-222.2966,13.8050,330.4503,1,75); // baggage lmao AddStaticVehicle(495,-1332.7137,-198.7169,14.4979,256.3956,118,117); // car pilot king AddStaticVehicle(495,-1312.1305,-223.5281,14.4991,227.3882,118,117); // AddStaticVehicle(491,-2615.0986,51.6499,4.0922,269.6599,52,66); // hippy car AddStaticVehicle(483,-2616.5376,61.1537,4.3317,270.1213,1,20); // camper AddStaticVehicle(522,-2589.9290,50.9216,3.8950,1.6444,7,79); // bike for hippes AddStaticVehicle(522,-2590.4016,67.4154,3.9034,1.6452,7,79); // bike for hippies CreateObject(5166, 2796.206543, -2721.745117, 11.394423, 0, 0, 0); CreateObject(5160, 2795.189697, -2722.702148, 11.013784, 0, 0, 348.75); CreateObject(5167, 2690.586914, -2692.580566, 13.493841, 0, 0, 348.75); CreateObject(4182, 2715.420898, -2698.176025, 16.381096, 0, 0, 258.75); CreateObject(9483, 2809.594971, -2741.219727, 15.166224, 0, 0, 180); CreateObject(3271, 2837.582764, -2709.353271, 23.440779, 0, 0, 90); CreateObject(1383, 2710.069824, -2701.513916, 48.283245, 0, 0, 0); CreateObject(1384, 2709.947266, -2701.706055, 80.822311, 0, 0, 0); //Trains // AddStaticVehicle(537,-1943.3127,158.0254,27.0006,357.3614,121,1); // AddStaticVehicle(569,-1943.3127,158.0254,27.0006,357.3614,121,1); // AddStaticVehicle(569,-1943.3127,158.0254,27.0006,357.3614,121,1); // AddStaticVehicle(569,-1943.3127,158.0254,27.0006,357.3614,121,1); //Pickups AddStaticPickup(370, 15, -2209.4707,294.1174,35.1172); // jetpack AddStaticPickup(370, 15, -1765.4392,-174.7473,3.5547); // jetpack SetTimer("GameModeExitFunc", gRoundTime, 0); return 1; } //------------------------------------------------------------------------------ public OnPlayerConnect(playerid) { GameTextForPlayer(playerid,"San Fierro: ~r~TDM",2500,5); GivePlayerMoney(playerid, 1000); SetPlayerColor(playerid, COLOR_GREY); // Set the player's color to inactive return 1; } //------------------------------------------------------------------------------ public OnPlayerSpawn(playerid) { SetPlayerInterior(playerid,0); if(gTeam[playerid] == TEAM_ARMY) { SetPlayerColor(playerid,COLOR_GREEN); // Green } else if(gTeam[playerid] == TEAM_PIMP) { SetPlayerColor(playerid,COLOR_RED); // Red } else if(gTeam[playerid] == TEAM_PILOT) { SetPlayerColor(playerid,COLOR_YELLOW); // Yellow } else if(gTeam[playerid] == TEAM_HIPPY) { SetPlayerColor(playerid,COLOR_PINK); // Pink } return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { if (strcmp("/dm", cmdtext, true, 10) == 0) { SetPlayerPos(2698.1418,-2695.2461,17.4670); return 1; } return 0; } //------------------------------------------------------------------------------ public OnPlayerDeath(playerid, killerid, reason) { if(killerid == INVALID_PLAYER_ID) { SendDeathMessage(INVALID_PLAYER_ID,playerid,reason); } else { if(gTeam[killerid] != gTeam[playerid]) { // Valid kill SendDeathMessage(killerid,playerid,reason); SetPlayerScore(killerid,GetPlayerScore(killerid)+1); GivePlayerMoney(killerid, 1000); } else { //Team Killer! new warning[256]; format(warning, sizeof(warning), "Be careful! You have been punished for teamkilling."); SendClientMessage(killerid, 0xFFFF00AA, warning); SendDeathMessage(killerid,playerid,reason); GivePlayerMoney(killerid, -1000); SetPlayerScore(killerid, GetPlayerScore(killerid) - 1); } } return 1; } //------------------------------------------------------------------------------ public SetupPlayerForClassSelection(playerid) { SetPlayerInterior(playerid,14); SetPlayerPos(playerid,258.4893,-41.4008,1002.0234); SetPlayerFacingAngle(playerid, 90.0); SetPlayerCameraPos(playerid,256.0815,-43.0475,1003.0234); SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234); } //------------------------------------------------------------------------------ public OnPlayerRequestClass(playerid, classid) { SetPlayerClass(playerid, classid); SetupPlayerForClassSelection(playerid); gPlayerClass[playerid] = classid; switch (classid) { case 0: { GameTextForPlayer(playerid, "~g~ARMY", 500, 3); } case 1: { GameTextForPlayer(playerid, "~g~PIMP", 500, 3); } case 2: { GameTextForPlayer(playerid, "~g~PILOT", 500, 3); } case 3: { GameTextForPlayer(playerid, "~g~HIPPY", 500, 3); } } return 1; } //------------------------------------------------------------------------------ public GameModeExitFunc() { GameModeExit(); return 1; } //------------------------------------------------------------------------------ SetPlayerClass(playerid, classid) { if(classid == 0) { gTeam[playerid] = TEAM_ARMY; } else if(classid == 1) { gTeam[playerid] = TEAM_PIMP; } else if(classid == 2) { gTeam[playerid] = TEAM_PILOT; } else if(classid == 3) { gTeam[playerid] = TEAM_HIPPY; } } //------------------------------------------------------------------------------