#include #define TEAM_GROVE 1 #define TEAM_BALLA 2 #define TEAM_GROVE_COLOR 0x33AA33FF // Green #define TEAM_BALLA_COLOR 0xFF00FFAA // Purple new gTeam[MAX_PLAYERS]; new Float:rx, Float:ry, Float:rz; new player_spawned[MAX_PLAYERS]; // Teamchat main() { print("\n------------------------------------------"); print(" TeamDeathMatch Grove vs Ballas by Denius"); print("------------------------------------------\n"); } public OnPlayerCommandText(playerid, cmd[]) { if(strcmp(cmd, "/caida5", true) == 0) { GetPlayerPos(playerid, rx, ry, rz); SendClientMessage(playerid, 0xFFFF00AA, "Caida!"); SetPlayerPos(playerid, rx, ry, rz+5000); GivePlayerWeapon(playerid, 46, 0); return 0; } if(strcmp(cmd, "/caida1", true) == 0) { GetPlayerPos(playerid, rx, ry, rz); SendClientMessage(playerid, 0xFFFF00AA, "Caida!"); SetPlayerPos(playerid, rx, ry, rz+1500); GivePlayerWeapon(playerid, 46, 0); return 0; } if(strcmp(cmd, "/caida10", true) == 0) { GetPlayerPos(playerid, rx, ry, rz); SendClientMessage(playerid, 0xFFFF00AA, "Caida!"); SetPlayerPos(playerid, rx, ry, rz+10000); GivePlayerWeapon(playerid, 46, 0); return 0; } return 1; } public OnGameModeInit() { print("GameModeInit()"); SetGameModeText("TDM Grove-Ballas"); AddStaticVehicle(520,2752.2837,-1757.3154,44.7806,332.5389,0,0); // AddPlayerClass(105,2505.5774,-1671.5300,13.3699,79.0129,29,250,24,100,4,0); // Grove 1 AddPlayerClass(106,2497.8621,-1676.8077,13.3487,3.1855,29,250,24,100,4,0); // Grove 2 AddPlayerClass(107,2497.7009,-1660.2401,13.3359,165.1570,29,250,24,100,4,0); // Grove 3 AddStaticPickup(1242, 2, 2497.1272,-1667.8346,13.3438); // Grove Chaleco AddPlayerClass(102,1979.6017,-1218.3383,25.2849,90.3797,29,250,24,100,4,0); // Ballas 1 AddPlayerClass(103,1964.7515,-1219.3318,25.2998,277.4181,29,250,24,100,4,0); // Ballas 2 AddPlayerClass(104,1971.3583,-1205.0183,25.5006,176.5238,29,250,24,100,4,0); // Ballas 3 AddStaticPickup(1242, 2,1972.3517,-1216.4061,25.1859); // Ballas Chaleco AddStaticVehicle(492,1961.2794,-1179.9984,25.8584,182.5919,-1,-1); // Auto Balla 1 AddStaticVehicle(492,1976.8402,-1181.8344,25.8250,178.4436,-1,-1); // Auto Balla 2 AddStaticVehicle(522,1967.1414,-1162.4979,25.4689,175.0461,-1,-1); // Moto Balla 1 AddStaticVehicle(522,1971.8170,-1164.4279,25.4838,173.7589,-1,-1); // Moto Balla 2 AddStaticVehicle(492,2470.1973,-1655.0471,13.1211,89.9074,-1,-1); // Auto 1 Grove AddStaticVehicle(492,2468.5154,-1663.6798,13.0873,88.3078,-1,-1); // Auto 2 Grove AddStaticVehicle(522,2450.2046,-1660.7664,12.8748,88.7233,-1,-1); // Moto 1 Grove AddStaticVehicle(522,2455.1902,-1656.3794,12.8747,88.3118,-1,-1); // Moto 2 Grove AddStaticVehicle(487,1917.3048,-2268.3450,13.7235,184.1751,-1,-1); // AddStaticVehicle(487,1983.5732,-2267.6467,13.7235,178.8756,-1,-1); // AddStaticVehicle(487,2009.3158,-2538.3994,13.7236,264.3632,-1,-1); // AddStaticVehicle(500,1947.4094,-2126.9143,13.6532,271.0341,-1,-1); // AddStaticVehicle(500,1947.6702,-2136.5906,13.6532,271.0043,-1,-1); // AddStaticVehicle(519,2066.2896,-2593.5388,14.4658,91.1517,-1,-1); // AddStaticVehicle(519,1458.6587,-2600.8003,14.4656,267.5645,-1,-1); // AddStaticVehicle(592,1449.2347,-2494.4812,14.7488,269.2489,-1,-1); // AddStaticVehicle(593,1538.4064,-2447.0098,14.0106,272.4618,-1,-1); // AddStaticVehicle(593,1658.0879,-2455.9634,14.0129,272.3382,-1,-1); // AddStaticVehicle(425,1544.9590,-1355.5215,330.4452,265.4901,-1,-1); // AddStaticVehicle(411,1437.9011,-1605.0764,13.2740,0.5694,-1,-1); // AddStaticVehicle(411,1438.1805,-1633.1688,13.2739,0.5693,-1,-1); // AddStaticVehicle(411,1438.4573,-1661.0453,13.2739,0.5694,-1,-1); // AddStaticVehicle(411,1438.8176,-1695.0715,13.2740,0.8039,-1,-1); // AddStaticVehicle(411,899.8115,-1359.2761,13.2954,268.8387,-1,-1); // AddStaticVehicle(424,882.4846,-1376.5328,24.9817,0.0001,-1,-1); // AddStaticVehicle(424,2027.2996,-1909.6504,13.3347,181.4890,-1,-1); // AddStaticVehicle(424,2052.6599,-1903.7745,13.3266,180.5418,-1,-1); // AddStaticVehicle(429,2065.6206,-1904.0814,13.2266,181.1899,-1,-1); // AddStaticVehicle(429,2337.0354,-1367.5197,23.6872,179.0906,-1,-1); // AddStaticVehicle(429,2408.7007,-1391.0549,23.9320,88.4390,-1,-1); // AddStaticVehicle(434,2408.4470,-1380.1750,24.3469,88.3028,-1,-1); // AddStaticVehicle(434,1799.1300,-1188.9540,23.8609,266.6764,-1,-1); // AddStaticVehicle(434,1728.6616,-1280.6820,13.5089,357.4924,-1,-1); // AddStaticVehicle(473,1966.2046,-1201.8213,17.7625,265.5047,-1,-1); // AddStaticVehicle(520,2735.8801,-1759.0480,45.0141,330.9593,-1,-1); // AddStaticVehicle(446,2941.2871,-2022.9667,-0.0749,164.9100,-1,-1); // AddStaticVehicle(446,2940.0220,-2075.0122,-0.1887,316.4850,-1,-1); // AddStaticVehicle(446,792.1735,-1971.6171,-0.3872,178.1249,-1,-1); // AddStaticVehicle(446,896.2247,-1975.8102,-0.4843,329.7241,-1,-1); // AddStaticVehicle(462,846.7059,-2051.9741,12.4637,355.3906,-1,-1); // AddStaticVehicle(462,832.7809,-2055.3059,12.4635,357.1536,-1,-1); // AddStaticVehicle(571,830.2681,-2036.3802,12.1510,357.1091,-1,-1); // AddStaticVehicle(571,835.3850,-2034.9911,12.1510,0.6054,-1,-1); // AddStaticVehicle(446,442.0475,-1990.0208,-0.4288,0.3945,-1,-1); // AddStaticVehicle(446,312.2628,-2015.3440,-0.6423,27.2245,-1,-1); // AddStaticVehicle(446,99.5294,-1953.6482,-0.3856,45.6875,-1,-1); // return 1; } public OnPlayerRequestClass(playerid, classid) { printf("OnPlayerRequestClass(%d, %d)", playerid, classid); SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746); SetPlayerFacingAngle(playerid, 95.8675); SetPlayerCameraPos(playerid, 1955.8433, 1343.0842, 15.3746); SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746); { // Set their team number based on the class they selected. if(classid == 0 || classid == 1 || classid == 2) { gTeam[playerid] = TEAM_GROVE; } else if(classid == 3 || classid == 4 || classid == 5) { gTeam[playerid] = TEAM_BALLA; } } return 1; } public SetPlayerTeamFromClass(playerid,classid) { // Set their team number based on the class they selected. if(classid == 0 || classid == 1 || classid == 2) { gTeam[playerid] = TEAM_GROVE; } else if(classid == 3 || classid == 4 || classid == 5) { gTeam[playerid] = TEAM_BALLA; } } public SetPlayerToTeamColor(playerid) { if (gTeam[playerid] == TEAM_GROVE) { SetPlayerColor(playerid, TEAM_GROVE_COLOR); } else if (gTeam[playerid] == TEAM_BALLA) { SetPlayerColor(playerid, TEAM_BALLA_COLOR); } } public OnGameModeExit() { print("GameModeExit()"); return 1; } public OnPlayerConnect(playerid) { printf("OnPlayerConnect(%d)", playerid); SendDeathMessage(playerid, INVALID_PLAYER_ID, 200); player_spawned[playerid] = 0; // Teamchat return 1; } public OnPlayerDisconnect(playerid) { SendDeathMessage(INVALID_PLAYER_ID, playerid, 201); printf("OnPlayerDisconnect(%d)", playerid); return 1; } public OnPlayerSpawn(playerid) { printf("OnPlayerSpawn(%d)", playerid); SetPlayerToTeamColor(playerid); player_spawned[playerid] = 1; // Teamchat return 1; } 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,GetPlayerMoney(playerid)+1000); GivePlayerMoney(playerid,0); } else { // Team kill SendDeathMessage(killerid,playerid,reason); SetPlayerScore(killerid,GetPlayerScore(killerid)+1); GivePlayerMoney(killerid,0); } player_spawned[playerid] = 0; // Teamchat } 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 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) { printf("OnPlayerEnterCheckpoint(%d)", playerid); return 1; } public OnPlayerLeaveCheckpoint(playerid) { printf("OnPlayerLeaveCheckpoint(%d)", playerid); return 1; } public OnPlayerText(playerid, text[]) { if(text[0] == '!' && player_spawned[playerid] == 1) { new teamChat[256]; new playername[MAX_PLAYER_NAME]; new string[256]; strmid(teamChat,text,1,strlen(text)); GetPlayerName(playerid, playername, MAX_PLAYER_NAME); format(string, sizeof(string),"[TEAM] %s: %s", playername, teamChat); for(new i = 0; i < MAX_PLAYERS; i++) { if (gPlayerClass[i] == gPlayerClass[playerid] && player_spawned[i]) SendClientMessage(i, COLOR_YELLOW, string); } return 0; } return 1; }