#include #include #include #define TEAM_ATTACK 0 #define TEAM_VIP 1 #define COLOR_ORANGE 0xFF9900AA #define COLOR_YELLOW 0xFFFF00AA #define COLOR_BLUE 0x3232AFAA static gTeam[MAX_PLAYERS]; static playerVIP; new iSpawnSet[MAX_PLAYERS]; new CheckPointCounter; new Float:gRandomAttackSpawns[3][4] = { //Team_ATTACK {827.6659,-858.3625,70.3308,215.5575}, {836.3701,-894.5233,68.7689,331.9502}, {869.5892,-840.7468,80.1719,120.9298} }; new Float:gRandomDefendSpawns[4][4] = { //TEAM_DEF {971.9042,-919.9116,45.7656,94.0046}, {930.4235,-918.8994,42.6016,95.5714}, {944.3807,-932.2917,61.4628,184.9264}, {927.7540,-918.7614,46.3302,95.9624} }; new cpcatt=0; new Float:CPATTACK[2][3] = { {923.8381,-917.3986,42.6016}, // low cp {907.0929,-905.7332,62.6115} // high cp }; new cpcdef=0; new Float:CPDEFEND[2][3] = { {907.0929,-905.7332,62.6115}, //high cp {923.8381,-917.3986,42.6016} // low cp }; new cpcvip; new Float:CPVIP[1][3] = { { @@{723.2926,-1492.6965,1.9343} // end cp @@}; main() { print("\n----------------------------------"); print(" This is a blank GameModeScript"); print("----------------------------------\n"); } public SetPlayerRandomSpawn(playerid) { if (iSpawnSet[playerid] == 1) { new rand = random(sizeof(gRandomDefendSpawns)); SetPlayerPos(playerid, gRandomAttackSpawns[rand][0], gRandomAttackSpawns[rand][1], gRandomAttackSpawns[rand][2]); // Warp the player SetPlayerFacingAngle(playerid, 270.0); } else if (iSpawnSet[playerid] == 0) { new rand = random(sizeof(gRandomAttackSpawns)); SetPlayerPos(playerid, gRandomDefendSpawns[rand][0], gRandomDefendSpawns[rand][1], gRandomDefendSpawns[rand][2]); // Warp the player } return 1; } public OnGameModeInit() { print("GameModeInit()"); SetGameModeText("Hotel Attack"); // Def AddPlayerClass(127,1958.3783,1343.1572,15.3746,270.1425,0,0,0,0,-1,-1); AddPlayerClass(124,1958.3783,1343.1572,15.3746,270.1425,0,0,0,0,-1,-1); // Att AddPlayerClass(111,1958.3783,1343.1572,15.3746,270.1425,0,0,0,0,-1,-1); AddPlayerClass(112,1958.3783,1343.1572,15.3746,269.1425,0,0,0,0,-1,-1); // [special] AddStaticVehicle(428,923.5896,-946.1586,40.2487,94.6209,4,75); // car_securi AddStaticVehicle(428,895.7142,-949.2971,40.3892,96.4141,4,75); // car_securi AddStaticVehicle(409,908.4240,-947.6138,39.9384,95.5111,1,1); // car_limo // [/special] AddStaticVehicle(562,860.5353,-849.6702,76.9419,204.7324,116,1); // car_1 AddStaticVehicle(558,831.7116,-857.2799,69.5497,198.4720,24,1); // car_2 AddStaticVehicle(555,796.2994,-841.8418,60.3269,10.7939,68,1); // car_3 AddStaticVehicle(545,832.6791,-889.6622,68.5845,230.8525,40,96); // car_4 AddStaticVehicle(533,934.1102,-854.4922,93.2113,27.0394,77,1); // car_5 AddStaticVehicle(496,978.7948,-829.9601,95.4899,30.2521,37,19); // car_6 AddStaticVehicle(480,726.4485,-993.8297,52.4427,62.5297,6,6); // car_6 AddStaticVehicle(478,800.7800,-988.9595,33.2978,180.4590,45,1); // car_7 AddStaticVehicle(477,764.4935,-1032.4717,23.7529,182.6028,0,1); // car_8 AddStaticVehicle(477,972.3973,-914.2523,45.5196,273.6604,0,1); // car_9 AddStaticVehicle(467,1017.5801,-917.7664,42.0859,7.6244,60,1); // car_10 AddStaticVehicle(461,945.3774,-985.1796,38.2967,105.1255,43,1); // car_11 AddStaticVehicle(451,1004.0476,-942.9864,41.7997,97.2205,46,46); // car_12 AddStaticVehicle(451,1029.0922,-809.9672,101.5592,202.5771,46,46); // AddStaticVehicle(451,1089.8193,-824.8523,86.6782,108.3514,46,46); // car_13 AddStaticVehicle(445,1054.0980,-898.2180,42.8482,125.4806,39,39); // car_14 AddStaticVehicle(440,1024.6853,-982.1536,42.7730,84.5272,110,110); // car_14 AddStaticVehicle(438,894.2121,-930.5914,42.1257,92.8130,6,76); // car_15 AddStaticVehicle(438,893.6270,-925.3288,42.1756,95.2789,6,76); // car_16 AddStaticVehicle(438,894.7659,-935.4391,42.1623,92.3400,6,76); // car_17 AddStaticVehicle(402,831.3318,-1063.3223,24.9578,211.6653,30,30); // car_20 AddStaticVehicle(603,835.9473,-1136.0195,23.5768,88.8993,32,1); // car_21 AddStaticVehicle(603,915.1923,-1136.1289,23.5953,92.0996,32,1); // car_22 AddStaticVehicle(604,774.3386,-1125.5072,23.5705,271.9930,18,76); // car_23 AddStaticVehicle(572,836.2689,-853.9781,69.4952,350.2600,37,1); // car_24 AddStaticVehicle(572,880.7159,-865.1446,77.2838,263.8594,37,1); // car_25 AddStaticVehicle(572,763.3704,-1180.4941,19.0471,159.5279,37,1); // car_25 AddStaticVehicle(510,720.4697,-1177.5835,19.7494,152.6668,16,16); // car_26 AddStaticVehicle(510,670.3574,-1278.4471,13.2426,183.5572,16,16); // car_27 AddStaticVehicle(457,746.0333,-1260.4528,13.1879,252.8202,45,1); // car_28 AddStaticVehicle(457,770.1774,-1302.7472,13.1880,249.6577,45,1); // car_29 //AddPlayerClass(124,726.9318,-1276.0907,13.6484,94.2991,0,0,0,0,0,0); // shotty_pickup //AddPlayerClass(124,721.3114,-1276.5876,17.6484,271.2873,0,0,0,0,0,0); // smg_pickup AddStaticVehicle(429,667.5862,-1420.1979,14.1431,178.3694,3,1); // car_30 AddStaticVehicle(429,659.2115,-1421.1982,14.2911,180.3907,3,1); // car_31 AddStaticVehicle(429,744.9475,-1389.5358,13.2701,266.2027,3,1); // car_32 AddStaticVehicle(415,718.9329,-1438.4225,13.3112,266.6835,75,1); // car_32 AddStaticVehicle(415,734.4330,-1439.0585,13.3116,268.5493,75,1); // car_33 // special boat AddStaticVehicle(493,728.2730,-1495.5931,-0.0148,185.9077,36,13); // car_34 //AddPlayerClass(0,723.2926,-1492.6965,1.9343,181.3005,0,0,0,0,0,0); // cp_end return 1; } public SetupPlayerForClassSelection(playerid) { SetPlayerPos(playerid,944.3807,-932.2917,61.4628); SetPlayerInterior(playerid, 0); SetPlayerCameraPos(playerid,944.3807,-932.2917,61.4628); SetPlayerCameraLookAt(playerid,944.3807,-932.2917,61.4628); return 1; } public OnPlayerRequestClass(playerid, classid) { if(classid == 0 || classid == 1) { GameTextForPlayer(playerid, "~r~Attack", 2000, 5); } else if(classid == 2 || classid == 3) { GameTextForPlayer(playerid, "~g~Defend", 2000, 5); } return 1; } public OnPlayerSpawn(playerid) { new PlayerVip; if(gTeam[playerid] == TEAM_ATTACK) { GameTextForPlayer(playerid, "~r~Attack the Russian VIP", 2000, 5); } else if(playerVIP == INVALID_PLAYER_ID && gTeam[playerid] == TEAM_VIP) { PlayerVip = playerid; SetPlayerColor(playerid,COLOR_YELLOW); SetPlayerSkin(playerid,113); GameTextForPlayer(playerid,"You are the VIP! Try to survive for 5 mins!",2500,5); SetPlayerPos(playerid,927.7540,-918.7614,46.3302); SetPlayerFacingAngle(playerid,95.9624); SetTimer("VipSurvivalTimer",300000,0); } else if(gTeam[playerid] == TEAM_VIP) { GameTextForPlayer(playerid,"Protect the VIP for 5 mins!",2500,5); } return 1; @@} public OnPlayerDeath(playerid, killerid, reason) { if(killerid == INVALID_PLAYER_ID){ SendDeathMessage(INVALID_PLAYER_ID,playerid,reason); playerVIP = INVALID_PLAYER_ID; } else { if(playerVIP == playerid) { playerVIP = INVALID_PLAYER_ID; if(gTeam[killerid] == TEAM_ATTACK) { GameTextForAll("The Mafia Wins!",2500,5); GameModeExit(); } } SendDeathMessage(killerid,playerid,reason); SetPlayerScore(killerid,GetPlayerScore(killerid)+1); GivePlayerMoney(killerid, 1000); } return 1; } public OnPlayerDisconnect(playerid) { if(playerVIP == playerid) { playerVIP = INVALID_PLAYER_ID; } } public OnPlayerEnterCheckpoint(playerid) { @@ if(gTeam[playerid] == TEAM_ATTACK && cpcatt=0;) { SetPlayerPos(playerid,906.5757,-900.6353,62.6115); DisablePlayerCheckpoint(playerid); cpcatt++; SetPlayerCheckpoint(playerid,CPATTACK[cpcatt][0],CPATTACK[cpcatt][1],CPATTACK[cpcatt][2],3); } @@ else if(gTeam[playerid] == TEAM_ATTACK && cpcatt=1;) { SetPlayerPos(playerid,918.3435,-918.4175,42.6016); DisablePlayerCheckpoint(playerid); cpcatt--; SetPlayerCheckPoint(playerid,CPATTACK[cpcatt][0],CPATTACK[cpcatt][1],CPATTACK[cpcatt][2],3); } if(gTeam[playerid] == TEAM_VIP || playerVIP == INVALID_PLAYER_ID && cpcdef=0;) { SetPlayerPos(playerid,918.3435,-918.4175,42.6016); DisablePlayerCheckpoint(playerid); cpcdef++; SetPlayerCheckpoint(playerid,CPDEFEND[cpcdef][0],CPDEFEND[cpcdef][1],CPDEFEND[cpcdef][2],3); } else if(gTeam[playerid] == TEAM_VIP || playerVIP == INVALID_PLAYER_ID && cpcdef=1;) { SetPlayerPos(playerid,906.5757,-900.6353,62.6115); DisablePlayerCheckpoint(playerid); cpcdef--; SetPlayerCheckPoint(playerid,CPDEFEND[cpcdef][0],CPDEFEND[cpcdef][1],CPDEFEND[cpcdef][2],3); } else if(playerVIP == INVALID_PLAYER_ID && gTeam[playerid] == TEAM_VIP && cpcvip; ) { GameModeExit(); GameTextForAll("The VIP has escaped!",2000,5); } return 1; } public SetPlayerTeamFromClass(playerid, classid) { if(classid == 0 || classid == 1) { gTeam[playerid] = TEAM_ATTACK; } else if(classid == 2 || classid ==3) { gTeam[playerid] = TEAM_VIP; } } public SetPlayerToTeamColor(playerid) { if(gTeam[playerid] == TEAM_ATTACK) { SetPlayerColor(playerid,COLOR_ORANGE); } else if(gTeam[playerid] == TEAM_TRIADS) { SetPlayerColor(playerid,COLOR_BLUE); } } public VipSurvivalTimer() { GameMessageForTeam(TEAM_ATTACK, "~r~The VIP is fleeing for his boat, waste him!", 2000, 5); GameMessageForTeam(TEAM_VIP, "~r~The VIP is heading for his boat protect him!", 2000, 5); GameTextForPlayer(playerVIP, "~r~Flee to your boat take the limo outside!", 2000, 5); SetPlayerCheckpoint(playerVIP, CPVIP[cpc][0], CPVIP[cpc][1], CPVIP[cpc][2], 3); SetPlayerPos(playerVIP, 908.4240, -946.6138, 39.9384); SetVehicleParamsForTeam(3, TEAM_VIP, 1, 0); SetVehicleParamsForTeam(3, TEAM_ATTACK, 1, 0); } return 1; } stock GameMessageForTeam(teamid,const message[],time,type) { new i; for(i=0;i