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