All pastes #825388 Raw Edit

kanar's Area69 Team DM

public cpp v1 · immutable
#825388 ·published 2007-12-20 15:19 UTC
rendered paste body
#include <a_samp>#define COLOR_BLUE 0x0000FFAA#define COLOR_RED 0xFF0000AA#define COLOR_ORANGE 0xFF6600AA#define COLOR_YELLOW 0xFFFF33AA#define COLOR_PURPLE 0xCC00FFAA#define COLOR_GREEN 0x33FF00AA#define COLOR_BLACK 0x000033AA#define COLOR_GREY 0xAFAFAFAA#define CHECKPOINT_PLANE 1#define TEAM_ARMY 2#define TEAM_FBI 3new missile = 354;new silout;new ventabove;new gTeam[MAX_PLAYERS];new gPlayerClass[MAX_PLAYERS];new gPlayerCheckpointStatus[MAX_PLAYERS];// TEXTBOXnew Text:suicidetext;//HELP MENUnew Menu:helpmenu;new Menu:commandmenu;forward ExplodeAgain (playerid);forward Selectmenu ();forward SetPlayerRandomSpawn(playerid);forward SetupPlayerForClassSelection(playerid);forward SetPlayerTeamFromClass(playerid, classid);forward SetPlayerToTeamColor(playerid);new Float:gRandomPlayerSpawns[30][3] ={{233.2420,1937.1750,18.8203},{223.0986,1930.8868,17.6406},{190.7323,1939.8364,17.6406},{163.0581,1931.4801,25.4985},{161.7370,1931.6837,33.8984},{101.5643,1901.2882,18.8203},{115.3769,1875.6564,17.8359},{130.9966,1876.7512,17.8359},{234.9786,1837.0044,23.2422},{266.1660,1892.4509,17.6406},{214.1435,1851.5990,12.6588},{249.4148,1862.3168,14.9729},{255.3604,1877.3911,8.7578},{239.0920,1838.1415,10.7606},{255.5642,1810.7404,4.7109},{258.7687,1819.0380,1.0078},{276.4198,1840.6173,7.8281},{332.0193,1837.8378,7.8281},{262.1163,1886.6335,-30.3906},{228.1334,1818.8031,7.4141},{265.8305,1895.0504,33.8984},{357.3044,1805.8823,18.8770},{368.1453,2007.6025,19.4040},{356.0585,2029.2681,23.8750},{389.3390,2043.9553,17.6406},{286.1218,2009.3588,17.6406},{267.1058,2003.9423,17.6406},{286.0833,1941.4701,17.6406},{186.4383,2084.4421,22.6474},{209.3337,1812.7832,21.8594}};main(){	print("\n----------------------------------");	print("Area 69 Team DM - by kanar");	print("----------------------------------\n");}public SetPlayerTeamFromClass(playerid, classid){	if (classid == 0 || classid == 1 || classid ==  2 || classid ==  3 || classid ==  4)	{		gTeam[playerid] = TEAM_ARMY;	}	else if (classid == 5 || classid == 6 || classid == 7 || classid == 8 || classid == 9)	{		gTeam[playerid] = TEAM_FBI;	}}public SetPlayerToTeamColor(playerid){	if (gTeam[playerid] == TEAM_ARMY)	{	SetPlayerColor(playerid, COLOR_ORANGE);	}	else if (gTeam[playerid] == TEAM_FBI)	{	SetPlayerColor(playerid, COLOR_BLUE);	}}public OnGameModeInit(){	SetGameModeText("Area 69 Team DM"); 	SetGravity(0.008); 	SetWorldTime(2); 	ShowPlayerMarkers( 0 );	EnableZoneNames( 0 );	EnableTirePopping( 1 );	SetWeather(09);	AllowInteriorWeapons(1);	ShowPlayerNameTagForPlayer(TEAM_ARMY, TEAM_ARMY, 1);	ShowPlayerNameTagForPlayer(TEAM_FBI, TEAM_FBI, 1);	ShowPlayerNameTagForPlayer(TEAM_FBI, TEAM_ARMY, 0);	ShowPlayerNameTagForPlayer(TEAM_ARMY, TEAM_FBI, 0);	//SCIENTIST SKINS	AddPlayerClass(111, 285.6681,2009.5629,17.6406, 90, 4, 16, 0, 0, 0, 0); // SCIENTIST mafia	AddPlayerClass(117, 285.6681,2009.5629,17.6406, 90, 4, 16, 0, 0, 0, 0); // SCIENTIST triad a	AddPlayerClass(120, 285.6681,2009.5629,17.6406, 90, 4, 16, 0, 0, 0, 0); // SCIENTIST triad boss	AddPlayerClass(70, 285.6681,2009.5629,17.6406, 90, 4, 16, 0, 0, 0, 0); // SCIENTIST scientist	AddPlayerClass(287, 285.6681,2009.5629,17.6406, 90, 4, 16, 0, 0, 0, 0); // SCIENTIST soldier		//FBI SKINS		AddPlayerClass(163, 285.6681,2009.5629,17.6406, 90, 4, 16, 0, 0, 0, 0); // FBI officer black	AddPlayerClass(164, 285.6681,2009.5629,17.6406, 90, 4, 16, 0, 0, 0, 0); // FBI officer white	AddPlayerClass(165, 285.6681,2009.5629,17.6406, 90, 4, 16, 0, 0, 0, 0); // FBI boss white	AddPlayerClass(166, 285.6681,2009.5629,17.6406, 90, 4, 16, 0, 0, 0, 0); // FBI boss black	AddPlayerClass(285, 285.6681,2009.5629,17.6406, 90, 4, 16, 0, 0, 0, 0); // FBI officer swat	// TELEPORT PICKUPS	silout = CreatePickup(1318, 23, 268.5038,1883.8094,14.0938); // arrow for launch silo	ventabove = CreatePickup(1318, 23, 246.2937,1862.8679,21.0958); // vent above	// HELP MENU	helpmenu = CreateMenu("MENU D'AIDE", 1, 200.0, 100.0, 300.0);	AddMenuItem(helpmenu, 0, "Objectif");	AddMenuItem(helpmenu, 0, "Commandes");	AddMenuItem(helpmenu, 0, "Astuces");	AddMenuItem(helpmenu, 0, "Site Du Serveur");	// COMMAND MENU	commandmenu = CreateMenu("Commandes", 1, 200.0, 100.0, 300.0);	AddMenuItem(commandmenu, 0, "Methodes de suicide");	AddMenuItem(commandmenu, 0, "Teleportations");	AddMenuItem(commandmenu, 0, "Utiliser l'ascenseur");	AddMenuItem(commandmenu, 0, "Animations");	AddMenuItem(commandmenu, 0, "Touches multijoueur");	return 1;}public OnGameModeExit(){	return 1;}public SetPlayerRandomSpawn(playerid){		new rand = random(sizeof(gRandomPlayerSpawns));		SetPlayerPos(playerid, gRandomPlayerSpawns[rand][0], gRandomPlayerSpawns[rand][1], gRandomPlayerSpawns[rand][2]); // Warp the player}public OnPlayerRequestClass(playerid, classid){    	if (classid == 0 || classid == 1 || classid ==  2 || classid ==  3 || classid ==  4)		{		SetPlayerPos(playerid, 378.6991,2285.5164,39.5274);		SetPlayerCameraPos(playerid, 381.0347,2284.7559,41.3053);		SetPlayerCameraLookAt(playerid, 378.6991,2285.5164,39.5274);		}		else if (classid == 5 || classid == 6 || classid == 7 || classid == 8 || classid == 9)		{		SetPlayerInterior(playerid,9);		SetPlayerFacingAngle(playerid,0.0);		SetPlayerPos(playerid,315.7802,972.0253,1961.8705);		SetPlayerCameraPos(playerid,315.7802,975.0253,1961.8705);		SetPlayerCameraLookAt(playerid,315.7802,972.0253,1961.8705);		}		new Float:shoutx, Float:shouty, Float:shoutz ;		GetPlayerPos( playerid, Float:shoutx, Float:shouty, Float:shoutz );		PlayerPlaySound(playerid, 1187, shoutx, shouty, shoutz);		SetPlayerTeamFromClass(playerid, classid);		gPlayerClass[playerid] = classid;				switch (classid)		{		case 0, 1, 2, 3, 4:		    {				GameTextForPlayer(playerid, "~b~ARMEE", 1000, 3);			}	    case 5, 6, 7, 8, 9:	        {				GameTextForPlayer(playerid, "~o~FBI", 1000, 3);			}		}}public OnPlayerRequestSpawn(playerid){	return 1;}public OnPlayerConnect(playerid){	{		new pName[30], string[256];		GetPlayerName(playerid, pName, 30);		format(string, 256, "%s a rejoint le serveur.", pName);		SendClientMessageToAll(COLOR_RED, string);		new plrIP[ 16 ];		GetPlayerIp( playerid, plrIP, 16 );		format(string, 256, "%s IP is : %s", pName, plrIP);	}	SetPlayerColor(playerid,COLOR_GREY);    GameTextForPlayer(playerid,"~g~ Area 69 Team DM",4000,5);	SendClientMessage(playerid,0x00FF00FF,"Bienvenue sur Area69 Team DM");	SendClientMessage(playerid,0x00FF00FF,"Tapez /help pour un menu d'aide.");	return 1;}public OnPlayerDisconnect(playerid, reason){	switch(reason)	{		case 0:		{			new pName[30], string[256];			GetPlayerName(playerid, pName, 30);			format(string, 256, "%s a quitté le serveur.(Timeout)", pName);			SendClientMessageToAll(COLOR_RED, string);		}		case 1:		{			new pName[30], string[256];			GetPlayerName(playerid, pName, 30);			format(string, 256, "%s a quitté le serveur.(Parti)", pName);			SendClientMessageToAll(COLOR_RED, string);		}		case 2:		{			new pName[30], string[256];			GetPlayerName(playerid, pName, 30);			format(string, 256, "%s a quitté le serveur.(Kicked)", pName);			SendClientMessageToAll(COLOR_RED, string);		}	}	return 1;}public OnPlayerSpawn(playerid){	new Float:shoutx, Float:shouty, Float:shoutz ;	PlayerPlaySound(playerid, 1187+1, shoutx, shouty, shoutz);	SetPlayerRandomSpawn(playerid);		return 1;}public OnPlayerDeath(playerid, killerid, reason){    SendDeathMessage(killerid, playerid, reason);	return 1;}public OnVehicleSpawn(vehicleid){	return 1;}public OnVehicleDeath(vehicleid, killerid){	return 1;}public OnPlayerText(playerid, text[]){	return 1;}public OnPlayerPrivmsg(playerid, recieverid, text[]){	return 1;}public OnPlayerCommandText(playerid, cmdtext[]){	if (strcmp("/kill", cmdtext, true, 10) == 0)	{	SetPlayerHealth(playerid, 0);	return 1;	}	//HYDRA PLACING	if(!strcmp(cmdtext,"/hydra",true))	{ 	new Float:hydrax, Float:hydray, Float:hydraz; 	new Float:hydraa; 	GetPlayerPos(playerid,hydrax,hydray,hydraz); 	GetPlayerFacingAngle(playerid,hydraa);	CreateVehicle(520,hydrax,hydray,hydraz, hydraa+5,0,0,3000);	SendClientMessage(playerid,0xFFFF00FF,"Hydra spawned.");	return 1;	}	//ANDROM	if (strcmp("/androm",cmdtext, true, 10) ==0)	{	SetPlayerInterior(playerid,9);	SetPlayerPos(playerid,315.7802,972.0253,1961.8705);	gPlayerCheckpointStatus[playerid] = CHECKPOINT_PLANE;	SetPlayerCheckpoint(playerid,315.7353,1035.6589,1945.1191,5.0);	GameTextForPlayer(playerid, "Chope un parachute~n~puis sors par la ~r~rampe", 2000, 5);	return 1;	}	//MISSILE	if (strcmp("/missile",cmdtext, true, 10) ==0)	{	new Float:pmisx, Float:pmisy, Float:pmisz ;	GetPlayerPos( playerid, Float:pmisx, Float:pmisy, Float:pmisz );	CreateObject (missile, pmisx, pmisy, pmisz, 0.000000,0.000000,0.000000); //playerpos	return 1;	}	//FIRE MISSILE	if (strcmp("/fire",cmdtext, true, 10) ==0)	{	new Float:pmisx, Float:pmisy, Float:pmisz ;	GetPlayerPos( playerid, Float:pmisx, Float:pmisy, Float:pmisz );	MoveObject( missile, pmisx, pmisy+200, pmisz+1, 15.00 );	SendClientMessage(playerid,COLOR_YELLOW, "MISSIIIIIILE");	return 1;	}	// ALARM	if (strcmp("/alarm",cmdtext, true, 10) ==0)	{	new Float:shoutx, Float:shouty, Float:shoutz ;	GetPlayerPos( playerid, Float:shoutx, Float:shouty, Float:shoutz );	PlayerPlaySound(playerid, 3401, shoutx, shouty, shoutz);	return 1;	}	//SPLASHKILL	if (strcmp("/splashkill",cmdtext, true, 10) ==0)	{	new Float:telepx, Float:telepy, Float:telepz ;	GetPlayerPos( playerid, Float:telepx, Float:telepy, Float:telepz );	SetPlayerPos(playerid, telepx, telepy, telepz+100);	return 1;	}	//HELP	if (strcmp("/help",cmdtext, true, 10) ==0)	{	TogglePlayerControllable(playerid,0);    ShowMenuForPlayer(helpmenu, playerid);	return 1;	}		//CLOSEBOX		if (strcmp("/closebox",cmdtext, true, 10) ==0)	{	TextDrawHideForPlayer(playerid, Text:suicidetext);	return 1;	}	//BOOM	if (strcmp("/boom",cmdtext, true, 5) ==0)	{	SetTimer("ExplodeAgain",1,false);	return 1;	}	//INEXISTING COMMAND	else	{	SendClientMessage(playerid,0xFFFFFFFF, "Cette commande existe pas. Tu veux une corde?");	}	return 1;}public ExplodeAgain(playerid){	new Float:boomx, Float:boomy, Float:boomz ;	GetPlayerPos( playerid, Float:boomx, Float:boomy, Float:boomz );	CreateExplosion(boomx, boomy, boomz, 7, 4.0);	CreateExplosion(boomx, boomy, boomz, 7, 4.0);	CreateExplosion(boomx, boomy, boomz, 7, 4.0);	CreateExplosion(boomx, boomy, boomz, 7, 4.0);	CreateExplosion(boomx, boomy, boomz, 7, 4.0);	return 1;}public OnPlayerInfoChange(playerid){	return 1;}public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger){    return 1;}public OnPlayerExitVehicle(playerid, vehicleid){	return 1;}public OnPlayerStateChange(playerid, newstate, oldstate){	return 1;}public OnPlayerEnterCheckpoint(playerid){	if(gPlayerCheckpointStatus[playerid] == CHECKPOINT_PLANE)	{	SetPlayerInterior(playerid,0);	SetPlayerPos(playerid, 239.5148, 1813.7039, 500.6836);	DisablePlayerCheckpoint(playerid);	}	return 1;}public OnPlayerLeaveCheckpoint(playerid){	return 1;}public OnPlayerEnterRaceCheckpoint(playerid){	return 1;}public OnPlayerLeaveRaceCheckpoint(playerid){	return 1;}public OnRconCommand(cmd[]){	return 1;}public OnObjectMoved(objectid){	return 1;}public OnPlayerObjectMoved(playerid, objectid){	return 1;}public OnPlayerPickUpPickup(playerid, pickupid){	if (pickupid == silout)	{	SetPlayerPos(playerid, 268.5038,1883.8094,17.0938);	}	if (pickupid == ventabove)	{	SetPlayerPos(playerid, 246.2937,1862.8679,18.2392);	}	return 1;}public OnPlayerSelectedMenuRow(playerid, row){	new Menu:CurrentMenu = GetPlayerMenu(playerid);	TogglePlayerControllable(playerid,0);// HELP MENU	if(CurrentMenu == helpmenu){    switch(row)    {        case 0: //Objectifs        {            SendClientMessage(playerid,COLOR_YELLOW,"----------");	    	SendClientMessage(playerid,COLOR_YELLOW,"Match A Mort en equipe.");	    	SendClientMessage(playerid,COLOR_YELLOW,"C'est simplement un match à mort. Kill. Die. Enjoy.");	    	TogglePlayerControllable(playerid,1);        }        case 1: //Commandes        {   			ShowMenuForPlayer(commandmenu, playerid);        }        case 2: //Astuces        {            SendClientMessage(playerid,COLOR_YELLOW,"----------");			SendClientMessage(playerid,COLOR_YELLOW,"Cachez-vous dans les buissons pour ne pas etre vu de");			SendClientMessage(playerid,COLOR_YELLOW,"vos ennemis (le but est d'etre discret...");			TogglePlayerControllable(playerid,1);        }        case 3: //Site Officiel        {        	SendClientMessage(playerid,COLOR_YELLOW,"----------");        	SendClientMessage(playerid,COLOR_YELLOW,"www.kanar.fr.nf  -  Des précisions sur toutes");        	SendClientMessage(playerid,COLOR_YELLOW,"les commandes et modes de jeu. Idées d'amélioration");        	TogglePlayerControllable(playerid,1);        }    }}// COMMAND MENU	if(CurrentMenu == commandmenu)	{	TogglePlayerControllable(playerid,0);    switch(row)    {        case 0: //Suicide Methods        {			suicidetext = TextDrawCreate(200.0, 100.0, "/kill - suicide simple, tu creves.~n~ /splashkill -> Teleporté en l'air, tu t'écrases lamentablement. ~n~ .lol.");			TextDrawUseBox(suicidetext, 1);			TextDrawShowForPlayer(playerid, suicidetext);			SendClientMessage(playerid,COLOR_YELLOW,"----------");	    	SendClientMessage(playerid,COLOR_YELLOW,"/kill -> Suicide simple, tu crèves.");			SendClientMessage(playerid,COLOR_YELLOW,"/splashkill -> Teleporté en l'air, tu t'écrases lamentablement.");			SendClientMessage(playerid,COLOR_YELLOW,"/boom -> 5 explosions dans la gueule. Ca te va ?");			SendClientMessage(playerid,COLOR_YELLOW,"[Si t'es à coté de quelqu'un il creve aussi :D ]");			TogglePlayerControllable(playerid,1);        }        case 1: //Teleports        {        	SendClientMessage(playerid,COLOR_YELLOW,"----------");            SendClientMessage(playerid,COLOR_YELLOW,"/androm -> Se parachuter d'un avion cargo. Le style absolu :D");            TogglePlayerControllable(playerid,1);        }        case 2: //Asceuseur        {			SendClientMessage(playerid,COLOR_YELLOW,"----------");			SendClientMessage(playerid,COLOR_YELLOW,"/lift -> faire monter l'ascenseur qui permet");			SendClientMessage(playerid,COLOR_YELLOW,"de traverser de la piste de decollage a la base.");			SendClientMessage(playerid,COLOR_YELLOW,"Placez-vous sur l'ascenseur et entrez la commande.");			SendClientMessage(playerid,COLOR_YELLOW,"une fois en haut du grillage, traversez de l'autre");			SendClientMessage(playerid,COLOR_YELLOW,"coté et re-tapez la commande pour descendre.");			TogglePlayerControllable(playerid,1);        }        case 3: //animations        {        	SendClientMessage(playerid,COLOR_YELLOW,"----------");			SendClientMessage(playerid,COLOR_YELLOW,"/danse [1-3]  /coucou  /vomir  /appeller  /peur  /deal  /lol");			SendClientMessage(playerid,COLOR_YELLOW,"/arrestation  /bombe  /agonie  /voleur  /croisebras  /allonge");			SendClientMessage(playerid,COLOR_YELLOW,"/blabla  /fuck  /taichi  /fumer  /garde  /crier  /fessee");			SendClientMessage(playerid,COLOR_YELLOW,"/manger  /bourre  /parterre  /mains  /raccrocher  /raccroche");			TogglePlayerControllable(playerid,1);        }        case 4: //touches multi        {	        SendClientMessage(playerid,COLOR_YELLOW,"----------");        	SendClientMessage(playerid,COLOR_YELLOW,"G -> Entrer en passager dans un vehicule.");        	SendClientMessage(playerid,COLOR_YELLOW,"F4 -> Retourner a la selection de persos lors du");        	SendClientMessage(playerid,COLOR_YELLOW,"déces suivant.[suicide en force...]");        	TogglePlayerControllable(playerid,1);        }    }}	return 1;}public OnPlayerExitedMenu(playerid){	TogglePlayerControllable(playerid,1);	return 1;}