All pastes #474182 Raw Edit

Someone

public text v1 · immutable
·published 2007-05-06 17:46 UTC
rendered paste body
//------------------------------------------------------------------------------

//

// Los Santos SplinterCell Mod A 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 // GREY

#define COLOR_GREEN 0x33AA33AA // GREEN

#define COLOR_RED 0xAA3333AA // RED

#define COLOR_YELLOW 0xFFFF00AA // YELLOW

#define COLOR_PINK 0xFF66FFAA // PINK

#define COLOR_BLUE 0x0000BBAA // BLUE

#define COLOR_LIGHTBLUE 0x33CCFFAA // LIGHT BLUE

#define COLOR_DARKRED 0x660000AA // DARKRED

#define COLOR_ORANGE 0xFF9900AA // ORANGE

//Team Defines

#define TEAM_CURE 0

#define TEAM_LOUBARD 1

#define TEAM_TRUAND 2

#define TEAM_CHAUD 3

#define TEAM_TRIAD 4

#define TEAM_SECU 5

#define TEAM_VEUVE 6

#define TEAM_SWAT 7



// Round duration

new gRoundTime = 3600000; // 60 mins

//new gRoundTime = 900000; //15 mins

//new gRoundTime = 300000; // 5 mins

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

main()

{

	print("\n----------------------------------");

	print("  SplinterCell Mode by JoEyFaYa (2007)\n");

	print("----------------------------------\n");

}

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



public OnGameModeInit()

{

SetTimer("ShowPlayerMarkers", 15000, 1);
	SetGameModeText("SplinterCell");

	SetTeamCount(7);

	ShowNameTags(0);

	ShowPlayerMarkers(1);

	SetWorldTime(23);
	

	AddPlayerClass(68,2345.6934,-1169.8510,28.0401,6.8849,10,1,23,500,0,0); //Cure

	AddPlayerClass(100,2398.6985,-1226.9771,25.1383,8.8497,23,500,4,1,0,0); //Loubard

	AddPlayerClass(111,2676.4399,-1200.1429,66.6137,4.2319,23,500,1,1,0,0); //Truand

	AddPlayerClass(117,2790.0710,-1096.4911,30.7188,137.9252,23,500,8,1,0,0); //Triad

	AddPlayerClass(125,2841.0806,-1348.3073,11.0625,181.3626,23,500,4,1,0,0); //Chaud

	AddPlayerClass(165,2758.6675,-1548.5178,24.7010,103.1295,23,500,3,1,0,0); //Secu

	AddPlayerClass(169,2499.0159,-1684.9193,13.4304,16.9498,23,500,12,1,0,0); //Veuve

    AddPlayerClass(285,2236.8396,-1689.9382,13.9553,88.1376,23,500,5,1,0,0); //Swat

//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(1242, 2, 2349.6914,-1245.1322,22.5000); // Armor

	AddStaticPickup(358, 2, 2328.1755,-1244.5586,22.5000); // Sniper Rifle
	
	AddStaticPickup(358, 2, 2524.1218,-1208.1589,57.2766); // Sniper Rifle
	
	AddStaticPickup(1242, 2, 2594.7200,-1216.6533,57.7492); // Armor
	
	AddStaticPickup(355, 2, 2764.7842,-1193.1119,69.4063); // AK47
	
	AddStaticPickup(1242, 2, 2773.4343,-1333.6852,46.5000); // Armor
	
	AddStaticPickup(355, 2, 2835.4785,-1459.4193,40.7010); // AK47
	
	AddStaticPickup(358, 2, 2835.9512,-1463.8110,40.7010); // Sniper Rifle
	
	AddStaticPickup(1242, 2, 2517.8362,-1722.5385,18.5821); // Armor
	
	AddStaticPickup(355, 2, 2316.6748,-1631.7311,14.6323); // AK47
	
	AddStaticPickup(355, 2, 2537.4392,-1435.8475,24.0000); // AK47
	
	AddStaticPickup(358, 2, 2505.1653,-1470.5105,29.7266); // Sniper Rifle
	
	SetTimer("GameModeExitFunc", gRoundTime, 0);

	return 1;

 }

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



public OnPlayerConnect(playerid)

{

    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Bienvenue sur JoEyFaYa SplinterCell Mode Tapez /exp pour + d'infos.");

	GivePlayerMoney(playerid, 10000);

	SetPlayerColor(playerid, COLOR_GREY); // Set the player's color to inactive

	return 1;

}



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



public OnPlayerSpawn(playerid)

{

	SetPlayerInterior(playerid,0);

	if(gTeam[playerid] == TEAM_CURE) {

	SetPlayerColor(playerid,COLOR_GREEN); // Green

		}

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

	SetPlayerColor(playerid,COLOR_RED); // Red

		}

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

	SetPlayerColor(playerid,COLOR_YELLOW); // Yellow

		}

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

	SetPlayerColor(playerid,COLOR_PINK); // Pink

		}

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

	SetPlayerColor(playerid,COLOR_BLUE); // Blue

		}

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

	SetPlayerColor(playerid,COLOR_LIGHTBLUE); // Light Blue

		}

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

	SetPlayerColor(playerid,COLOR_DARKRED); // Dark Red

		}

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

	SetPlayerColor(playerid,COLOR_ORANGE); // Orange

	}

	return 1;

}

SetPlayerWorldBounds(playerid, 2219.1531, 2293.4001,2847.6179, 2850.6711);

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



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, 3000);

}

		else {

			//Team Killer!

		new warning[256];

		format(warning, sizeof(warning), "Attention tu a été sanctionner pour avoir tué un membre de ton équipe");

		SendClientMessage(killerid, 0xFFFF00AA, warning);

		SendDeathMessage(killerid,playerid,reason);

		GivePlayerMoney(killerid, -1500);

		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~Le Pape", 1000, 3);

			}

		case 1:

		    {

				GameTextForPlayer(playerid, "~g~Loubard", 1000, 3);

			}

		case 2:

	        {

				GameTextForPlayer(playerid, "~g~Truand", 1000, 3);

			}

		case 3:

	        {

				GameTextForPlayer(playerid, "~g~Rouleau De Printemps", 1000, 3);

			}

		case 4:

	        {

				GameTextForPlayer(playerid, "~g~Jesus Malsain", 1000, 3);

			}

		case 5:

	        {

				GameTextForPlayer(playerid, "~g~Agent de Secu", 1000, 3);

			}

		case 6:

	        {

				GameTextForPlayer(playerid, "~g~Veuve Noire", 1000, 3);

			}

		case 7:

	        {

				GameTextForPlayer(playerid, "~g~SWAT Boy", 1000, 3);

	}

}

	return 1;

}



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



public GameModeExitFunc()

 {

	GameModeExit();

	return 1;

 }



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



SetPlayerClass(playerid, classid) {

	if(classid == 0) {

	gTeam[playerid] = TEAM_CURE;

	} else if(classid == 1) {

	gTeam[playerid] = TEAM_LOUBARD;

	} else if(classid == 2) {

	gTeam[playerid] = TEAM_TRUAND;

	} else if(classid == 3) {

	gTeam[playerid] = TEAM_TRIAD;

	} else if(classid == 4) {

	gTeam[playerid] = TEAM_CHAUD;

	} else if(classid == 5) {

 	gTeam[playerid] = TEAM_SECU;

	} else if(classid == 6) {

 	gTeam[playerid] = TEAM_VEUVE;

 	} else if(classid == 7) {

 	gTeam[playerid] = TEAM_SWAT;

	}

}

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

strtok(const string[], &index)
{
    new length = strlen(string);
    while ((index < length) && (string[index] <= ' '))
    {
        index++;
    }

    new offset = index;
    new result[20];
    while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
    {
        result[index - offset] = string[index];
        index++;
    }
    result[index - offset] = EOS;
    return result;
}


public OnPlayerCommandText(playerid, cmdtext[])
{
    new cmd[256];
    new idx;

    cmd = strtok(cmdtext, idx);

    if(strcmp(cmd, "/exp", true) == 0) {
        SendClientMessage(playerid, COLOR_LIGHTBLUE, "SplinterCell : Tuer le maximum d'ennemi tout en restant discret.Leur posisitons s'affiche toutes les 15sec");
		SendClientMessage(playerid, COLOR_LIGHTBLUE, "Vous trouverez un peu partout sur la map des armes & des pare-balles cherchez bien ;)");
        SendClientMessage(playerid, COLOR_LIGHTBLUE, "Taper /armes pour voir la liste des armes que vous pouvez acheter");
return 1;
    }

	if(strcmp(cmd, "/isu", true) == 0) {
        GameTextForAll("Je te vois :D", 2000, 5);
    return 1;
    }

if (strcmp(cmdtext, "/armes", true)==0){
        SendClientMessage(playerid, COLOR_RED, "Voici les armes possibles");
        SendClientMessage(playerid, COLOR_ORANGE, "Tronconneuse 500$ tape : /tronco");
        SendClientMessage(playerid, COLOR_ORANGE, "MP5 800$ Tape : /mp5");
        SendClientMessage(playerid, COLOR_ORANGE, "AK47 1100$ Tape : /ak");
        SendClientMessage(playerid, COLOR_ORANGE, "Sniper 1400$ Tape : /snip");
        SendClientMessage(playerid, COLOR_ORANGE, "Lance Flamme 1800$ Tape : /lf");

}


if(strcmp(cmdtext, "/tronco", true)==0){
GivePlayerWeapon(playerid,9 ,1);
GivePlayerMoney(playerid, -500);//argent pour acheter l'arme
SendClientMessage(playerid, 0xFFFF00AA, "Tu as une Tronconneuse !");

}

else if(strcmp(cmdtext, "/mp5", true)==0){
GivePlayerWeapon(playerid,29 ,150);
GivePlayerMoney(playerid, -800);//argent pour acheter l'arme
SendClientMessage(playerid, 0xFFFF00AA, "Tu as une MP5 !");

}

else if(strcmp(cmdtext, "/ak", true)==0){
GivePlayerWeapon(playerid,30 ,100);
GivePlayerMoney(playerid, -1100);//argent pour acheter l'arme
SendClientMessage(playerid, 0xFFFF00AA, "Tu as un AK47 !");

}
else if(strcmp(cmdtext, "/snip", true)==0){
GivePlayerWeapon(playerid,34 ,100);
GivePlayerMoney(playerid, -1400);//argent pour acheter l'arme
SendClientMessage(playerid, 0xFFFF00AA, "Tu as un sniper !");

}
else if(strcmp(cmdtext, "/lf", true)==0){
GivePlayerWeapon(playerid,37 ,500);
GivePlayerMoney(playerid, -1800);//argent pour acheter l'arme
SendClientMessage(playerid, 0xFFFF00AA, "Tu as un lance flamme !");

}

   	// PROCESS OTHER COMMANDS


    return 1;
}

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