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