rendered paste body#include <a_samp>
#include <core>
#include <float>
//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;
}
}
//------------------------------------------------------------------------------