/*Includes*/ #include /*Definition DCMD*/ #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1 /* Nombre de slot de votre serveur*/ #define SLOT 32 /*Definition de la team Prisonier*/ #define Team_Prisoniers 0 /*Definition de la team Gardes*/ #define Team_Gardes 1 /*Couleurs*/ #define BlueRadio 0x3200F6F6 #define RedError 0xC80000F6 #define GreyAnnonce 0x646464F6 /*Variable gTeam*/ new gTeam[SLOT]; /*Variable Chaine de caractère*/ new String[128]; /*Variable nom joueur*/ new pName[MAX_PLAYER_NAME]; /*Conseil prisonniers*/ new conseil; new conseils[5][128] = { {"Conseil : Restez un maximum dans les coin sombre pour ne pas vous faire reperer."}, {"Astuce : Observez bien autour de vous, vous pouriez trouvez des armes."}, {"Astuce : Si vous tuer un garde, vous recuperer sont arme."}, {"Astuce : Pour plus de discretion, utilisez une arme silencieuse."}, {"Conseil : Vous êtes moins visible en restant accroupie."} }; forward EnvoiConseil(); main() { print("\n----------------------------------"); print("Prison Break 0.1 Beta"); print("successfully loaded."); print("----------------------------------\n"); } public OnGameModeInit() { SetGameModeText("Prison Break 0.1"); AddPlayerClass(163,237.1482,1933.8472,33.4977,176.1723,0,0,0,0,0,0); // Garde Prison AddPlayerClass(164,211.2710,1810.9391,21.8672,356.3470,0,0,0,0,0,0); // Garde Prison AddPlayerClass(165,105.1962,1903.2067,33.8984,346.5265,0,0,0,0,0,0); // Garde Prison AddPlayerClass(213,265.2135,1858.0109,8.7578,273.3372,0,0,0,0,0,0); // Prisonier AddPlayerClass(239,268.6943,1882.9594,-30.0938,11.3181,0,0,0,0,0,0); // Prisonier conseil = 0; SetTimer("EnvoiConseil", 60000, 1); return 1; } public OnGameModeExit() { return 1; } public OnPlayerRequestClass(playerid, classid) { if(classid == 0 || classid == 1 || classid == 2) { SetPlayerPos(playerid, 222.1571,1822.6923,6.4141); SetPlayerFacingAngle(playerid, 83.8458); SetPlayerCameraPos(playerid, 219.7859,1822.5225,7.5424); SetPlayerCameraLookAt(playerid, 222.1571,1822.6923,6.4141); gTeam[playerid] = Team_Gardes; } else if(classid == 3 || classid == 4) { SetPlayerPos(playerid, 268.7394,1883.1880,-30.0938); SetPlayerFacingAngle(playerid, 5.5810); SetPlayerCameraPos(playerid, 268.7320,1886.0773,-29.5313); SetPlayerCameraLookAt(playerid, 268.7394,1883.1880,-30.0938); gTeam[playerid] = Team_Prisoniers; } return 1; } public OnPlayerRequestSpawn(playerid) { GetPlayerName(playerid, pName, sizeof(pName)); if(gTeam[playerid] == Team_Prisoniers) { format(String, sizeof(String), "%s à rejoint l'équipe des prisoniers", pName); SendClientMessageToAll(GreyAnnonce, String); } else if(gTeam[playerid] == Team_Gardes) { format(String, sizeof(String), "%s à rejoint l'équipe des gardes", pName); SendClientMessageToAll(GreyAnnonce, String); } return 1; } public OnPlayerConnect(playerid) { GetPlayerName(playerid, pName, sizeof(pName)); format(String, sizeof(String), "%s à rejoint le serveur", pName); SendClientMessageToAll(GreyAnnonce, String); return 1; } public OnPlayerDisconnect(playerid, reason) { GetPlayerName(playerid, pName, sizeof(pName)); if(reason == 0) { format(String, sizeof(String), "%s à quitté le serveur ", pName); SendClientMessageToAll(GreyAnnonce, String); print(String); } else if(reason == 1) { format(String, sizeof(String), "%s à quitté le serveur ", pName); SendClientMessageToAll(GreyAnnonce, String); print(String); } else if(reason == 2) { format(String, sizeof(String), "%s à quitté le serveur ", pName); SendClientMessageToAll(GreyAnnonce, String); print(String); } return 1; } public OnPlayerSpawn(playerid) { return 1; } public OnPlayerDeath(playerid, killerid, 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[]) { dcmd(radio, 5, cmdtext); return 0; } 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) { 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) { return 1; } public OnPlayerSelectedMenuRow(playerid, row) { return 1; } public OnPlayerExitedMenu(playerid) { return 1; } public EnvoiConseil() { switch (conseil) { case 0: {SendPrisonMessage(GreyAnnonce, conseils[0]); conseil++;} case 1: {SendPrisonMessage(GreyAnnonce, conseils[1]); conseil++;} case 2: {SendPrisonMessage(GreyAnnonce, conseils[2]); conseil++;} case 3: {SendPrisonMessage(GreyAnnonce, conseils[3]); conseil++;} case 4: {SendPrisonMessage(GreyAnnonce, conseils[4]); conseil=0;} } } dcmd_radio(playerid, params[]) { if(params[0] == 0) { SendClientMessage(playerid, RedError, "Utilisation : /radio [Texte]"); return 1; } if(gTeam[playerid] == Team_Gardes) { GetPlayerName(playerid, pName, sizeof(pName)); format(String, sizeof(String), "[Radio] %s : %s", pName, params[0]); SendGardsMessage(BlueRadio, String); } else { SendClientMessage(playerid, RedError, "Commande réservée au Gardes"); } return 1; } SendPrisonMessage(color, text[]) { for(new i = 0; i < MAX_PLAYERS; i ++) { if(IsPlayerConnected(i) && gTeam[i] == Team_Prisoniers) { SendClientMessage(i, color, text); } } } SendGardsMessage(color, text[]) { for(new i = 0; i < MAX_PLAYERS; i ++) { if(IsPlayerConnected(i) && gTeam[i] == Team_Gardes) { SendClientMessage(i, color, text); } } }