All pastes #825386 Raw Edit

kanar's Area69 Team DM

public text v1 · immutable
#825386 ·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 3

new missile = 354;
new silout;
new ventabove;

new gTeam[MAX_PLAYERS];
new gPlayerClass[MAX_PLAYERS];

new gPlayerCheckpointStatus[MAX_PLAYERS];

// TEXTBOX

new Text:suicidetext;

//HELP MENU

new 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;
}