All pastes #884512 Raw Edit

Miscellany

public text v1 · immutable
#884512 ·published 2008-01-30 12:23 UTC
rendered paste body
//------------------------------------------------------------------------------

//

// San Fierro TDM. A Team Deathmtach script for SA-MP 0.1

//

//------------------------------------------------------------------------------



#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_WORKER 0
#define TEAM_PIMP 1
#define TEAM_GOLFER 2
#define TEAM_TRIAD 3
#define TEAM_MECHANIC 4
#define TEAM_VALET 5
#define TEAM_MEDIC 6
#define TEAM_FBI 7

new Poort1;
new Poort2;


// Round duration

new gRoundTime = 3600000; // 60 mins

//new gRoundTime = 900000; //15 mins

//new gRoundTime = 300000; // 5 mins



//------------------------------------------------------------------------------



main()

{

	print("\n----------------------------------");
	print("  SFTDM by CAM (2006)\n");
	print("  Edited by Ghost_NL (2008)\n");
	print("----------------------------------\n");

}



//------------------------------------------------------------------------------



public OnGameModeInit()

{

	SetGameModeText("San Fierro TDM");

	SetTeamCount(7);

	ShowNameTags(1);

	ShowPlayerMarkers(1);

	SetWorldTime(18);



	AddPlayerClass(260,-2062.5583,237.4662,35.7149,268.8936,22,272,25,40,4,1); //Worker

	AddPlayerClass(249,-2653.6443,1388.2767,7.1301,212.8453,23,272,29,270,5,1); //Pimp

	AddPlayerClass(259,-2642.2583,-274.9985,7.5393,135.0036,25,40,32,250,9,1); //Golfer

	AddPlayerClass(118,-2157.2119,649.5484,52.3672,267.0820,24,70,31,250,4,1); //Triad

	AddPlayerClass(50,-1377.4271,466.0897,7.1875,1.0348,22,272,30,300,9,1); //Mechanic

	AddPlayerClass(253,-1754.9976,958.5851,24.8828,163.2550,25,40,24,70,4,1); //Valet

	AddPlayerClass(274,-2665.4282,635.6348,14.4531,179.8403,33,40,23,272,4,1); //Medic

    AddPlayerClass(286,-1635.0077,665.8105,7.1875,264.2244,29,300,22,170,3,1); //FBI

//vehicles

    AddStaticVehicle(411, -1989.706, 256.069, 34.898, 65.76, 0, 0);  // infernus
    AddStaticVehicle(515, -1992.147, 214.903, 28.707, 89.28, 0, 0); // roadtrain
	AddStaticVehicle(515, -1992.228, 210.040, 28.707, 89.05, 0, 0); // roadtrain2
	AddStaticVehicle(584, -1977.815, 176.195, 28.704, 359.58, -1, -1); // olitanker
	AddStaticVehicle(584, -1972.075, 176.079, 28.692, 357.75, -1, -1); // olitanker2
	AddStaticVehicle(406, -2095.837, 172.662, 36.585, 357.33, -1, -1); // dumper
	AddStaticVehicle(406, -2103.103, 173.220, 36.593, 355.08, -1, -1); // dumper
	AddStaticVehicle(431, -1994.750, 162.060, 28.624, 180.52, 1, 1); // bus
	AddStaticVehicle(437, -1994.367, 135.480, 28.618, 181.08, 0, 7); // bus2
	AddStaticVehicle(437, -1987.312, 126.722, 28.625, 358.35, 7, 0); // bus3
	AddStaticVehicle(420, -1987.044, 153.669, 27.315, 358.66, 6, 6); // taxi
	AddStaticVehicle(420, -1986.720, 113.503, 27.316, 178.48, 6, 6); // taxi2

//objects

    Poort1 = CreateObject(974, -2124.8786, -80.5648, 35.3203, 0.0,0.0,0.0);
    Poort2 = CreateObject(974, -2129.4243, -80.5648, 35.3203, 0.0,0.0,0.0);

//Trains  (SF, building site)

	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_WORKER) {

	SetPlayerColor(playerid,COLOR_GREEN); // Green

		}

	else if(gTeam[playerid] == TEAM_PIMP) {

	SetPlayerColor(playerid,COLOR_RED); // Red

		}

	else if(gTeam[playerid] == TEAM_GOLFER) {

	SetPlayerColor(playerid,COLOR_YELLOW); // Yellow

		}

	else if(gTeam[playerid] == TEAM_TRIAD) {

	SetPlayerColor(playerid,COLOR_PINK); // Pink

		}

	else if(gTeam[playerid] == TEAM_MECHANIC) {

	SetPlayerColor(playerid,COLOR_BLUE); // Blue

		}

	else if(gTeam[playerid] == TEAM_VALET) {

	SetPlayerColor(playerid,COLOR_LIGHTBLUE); // Light Blue

		}

	else if(gTeam[playerid] == TEAM_MEDIC) {

	SetPlayerColor(playerid,COLOR_DARKRED); // Dark Red

		}

	else if(gTeam[playerid] == TEAM_FBI) {

	SetPlayerColor(playerid,COLOR_ORANGE); // Orange

	}

	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, 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~Worker", 500, 3);

			}

		case 1:

		    {

				GameTextForPlayer(playerid, "~g~Pimp", 500, 3);

			}

		case 2:

	        {

				GameTextForPlayer(playerid, "~g~Golfer", 500, 3);

			}

		case 3:

	        {

				GameTextForPlayer(playerid, "~g~Triad", 500, 3);

			}

		case 4:

	        {

				GameTextForPlayer(playerid, "~g~Mechanic", 500, 3);

			}

		case 5:

	        {

				GameTextForPlayer(playerid, "~g~Valet", 500, 3);

			}

		case 6:

	        {

				GameTextForPlayer(playerid, "~g~Medic", 500, 3);

			}

		case 7:

	        {

				GameTextForPlayer(playerid, "~g~FBI", 500, 3);

	}

}

	return 1;

}



//------------------------------------------------------------------------------

if (strcmp("/open", cmdtext, true, 10) == 0) //Invoer van het commando
{
	MoveObject(Poort1, -2114.8786, -80.5648, 35.3203, 3); //verplaatsing X
	MoveObject(Poort2, -2139.4243, -80.5648, 35.3203, 3); //verplaatsing X

	SendClientMessage(playerid, COLOR_GREEN, "De poort is nu geopend."); //Verzend een bericht naar de speler
return 1;
}

if (strcmp("/close", cmdtext, true, 10) == 0)
{
MoveObject(Poort1, -2124.8786, -80.5648, 35.3203, 3);  //terug naar oude positie
MoveObject(Poort2, -2129.4243, -80.5648, 35.3203, 3);  //terug naar oude positie
SetObjectRot(Poort1, 0, 0, 0); //terug naar oude rotatie
SetObjectRot(Poort2, 0, 0, 0); //terug naar oude rotatie
SendClientMessage(playerid, COLOR_GREEN, "De poort is nu gesloten.");
return 1;
}

//------------------------------------------------------------------------------



public GameModeExitFunc()

 {

	GameModeExit();

	return 1;

 }



//------------------------------------------------------------------------------



SetPlayerClass(playerid, classid) {

	if(classid == 0) {

	gTeam[playerid] = TEAM_WORKER;

	} else if(classid == 1) {

	gTeam[playerid] = TEAM_PIMP;

	} else if(classid == 2) {

	gTeam[playerid] = TEAM_GOLFER;

	} else if(classid == 3) {

	gTeam[playerid] = TEAM_TRIAD;

	} else if(classid == 4) {

	gTeam[playerid] = TEAM_MECHANIC;

	} else if(classid == 5) {

 	gTeam[playerid] = TEAM_VALET;

	} else if(classid == 6) {

 	gTeam[playerid] = TEAM_MEDIC;

 	} else if(classid == 7) {

 	gTeam[playerid] = TEAM_FBI;

	}

}



//------------------------------------------------------------------------------