Advertisement
Wendell

[GM] Red Country Assault

May 28th, 2011
485
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 25.78 KB | None | 0 0
  1. /* ------------------------------------------------------------------------------|
  2. |                           Red Country Assault                                  |
  3. |      Feito por: Wendell Rocha (Dwayne)                                         |
  4. |      O objetivo do mini-game é sequestrar o barco (Reefer) da base inimiga     |
  5. |      e levá-lo à sua base sã e salvo. O primeiro time a realizar 3 sequestros  |
  6. |      com sucesso ganhará o jogo.                                               |
  7. |     Quando uma equipe conseguir efeturar os três sequestos com sucesso o GM é  |
  8. |       automáticamente reiniciado.                                              |
  9. |      Créditos à Kye da equipe SA-MP. Fiz esse mine-game com base no dele e ao  |
  10. |        Felipe (PoweeR_) pelo Team Chat.                                        |
  11. |                           NÃO RETIRE OS CRÉDIROS                               |
  12. |                          Red Country Assault                                   |
  13. |-------------------------------------------------------------------------------*/
  14.  
  15.  
  16. #include <a_samp>
  17. #include <core>
  18. #include <a_players>
  19. #include <float>
  20. #include <dini>
  21. #include <string>
  22. #pragma tabsize 0
  23.  
  24. static gTeam[MAX_PLAYERS];
  25.  
  26. #define OBJECTIVE_VEHICLE_GREEN 2
  27. #define OBJECTIVE_VEHICLE_BLUE 1
  28. #define TEAM_GREEN 1
  29. #define TEAM_BLUE 2
  30. #define OBJECTIVE_COLOR 0xE2C063FF
  31. #define TEAM_GREEN_COLOR 0x77CC77FF
  32. #define TEAM_BLUE_COLOR 0x7777DDFF
  33. #define CAPS_TO_WIN 3
  34. #define COLOR_GREY 0xAFAFAFAA
  35. #define COLOR_GREEN 0x33AA33AA
  36. #define COLOR_RED 0xAA3333AA
  37. #define COLOR_YELLOW 0xFFFF00AA
  38. #define COLOR_WHITE 0xFFFFFFAA
  39.  
  40. new gObjectiveReached = 0;
  41. new gObjectiveGreenPlayer=(-1);
  42. new gObjectiveBluePlayer=(-1);
  43.  
  44. new Text:Textdrawdebaixodoradar;
  45.  
  46. new gGreenTimesCapped=0;
  47. new gBlueTimesCapped=0;
  48.  
  49. //Pickups na base do time Green
  50. new coletev;
  51. new vidav;
  52. //----------------------------
  53.  
  54. //Pickups na base do time Blue
  55. new coleteb;
  56. new vidab;
  57. //----------------------------
  58.  
  59. //Sistema de Registro
  60. #define Register 0
  61. #define Logged 1
  62. new Login[MAX_PLAYERS];
  63. //----------------------
  64.  
  65. forward SetPlayerToTeamColor(playerid);
  66. forward SetupPlayerForClassSelection(playerid);
  67. forward SetPlayerTeamFromClass(playerid,classid);
  68. forward ExitTheGameMode();
  69.  
  70. forward mensagens();
  71. new msgs [6][256] ={
  72. {"[SERVER] {FFFFFF}» Chame seus amigos para o servidor!{FFFFFF}"},
  73. {"[SERVER] {FFFFFF}» Nunca use cheaters ou será banido.{FFFFFF}"},
  74. {"[SERVER] {FFFFFF}» Server na versão 1.0a{FFFFFF}."},
  75. {"[SERVER] {FFFFFF}» Caso tenha visto algum Cheater, comunique à um administrador.{FFFFFF}"},
  76. {"[SERVER] {FFFFFF}» Será que o seu time é capaz de sequestrar o barco (Reefer) do time inimigo?{FFFFFF}"},
  77. {"[SERVER] {FFFFFF}» Para ver os créditos do server, digite: /creditos{FFFFFF}"}
  78. };
  79.  
  80. //---------------------------------------------------------
  81.  
  82. main()
  83. {
  84.     print("\n----------------------------------");
  85.     print("        Red Country Assault \n");
  86.     print("                por: Dwayne");
  87.     print(" Carregado com sucesso!");
  88.     print("                      Divirta-se");
  89.     print("----------------------------------\n");
  90. }
  91. //---------------------------------------------------------
  92.  
  93. public SetPlayerToTeamColor(playerid)
  94. {
  95.     if(gTeam[playerid] == TEAM_GREEN) {
  96.         SetPlayerColor(playerid,TEAM_GREEN_COLOR); // green
  97.     } else if(gTeam[playerid] == TEAM_BLUE) {
  98.         SetPlayerColor(playerid,TEAM_BLUE_COLOR); // blue
  99.     }
  100. }
  101. //---------------------------------------------------------
  102.  
  103. public SetupPlayerForClassSelection(playerid)
  104. {
  105.  
  106.     SetPlayerPos(playerid,1984.4445,157.9501,55.9384);
  107.     SetPlayerCameraPos(playerid,1984.4445,160.9501,55.9384);
  108.     SetPlayerCameraLookAt(playerid,1984.4445,157.9501,55.9384);
  109.     SetPlayerFacingAngle(playerid,0.0);
  110. }
  111.  
  112. //---------------------------------------------------------
  113.  
  114. public SetPlayerTeamFromClass(playerid,classid)
  115. {
  116.  
  117.     if(classid == 0 || classid == 1) {
  118.         gTeam[playerid] = TEAM_GREEN;
  119.     } else if(classid == 2 || classid == 3) {
  120.         gTeam[playerid] = TEAM_BLUE;
  121.     }
  122. }
  123.  
  124. //---------------------------------------------------------
  125.  
  126. public ExitTheGameMode()
  127. {
  128.     PlaySoundForAll(1186, 0.0, 0.0, 0.0); // Stops the music
  129.     //printf("Exiting Game Mode");
  130.     GameModeExit();
  131. }
  132.  
  133. //---------------------------------------------------------
  134.  
  135. public OnPlayerStateChange(playerid, newstate, oldstate)
  136. {
  137.     new vehicleid;
  138.  
  139.     if(newstate == PLAYER_STATE_DRIVER)
  140.     {
  141.         vehicleid = GetPlayerVehicleID(playerid);
  142.        
  143.         if(gTeam[playerid] == TEAM_GREEN && vehicleid == OBJECTIVE_VEHICLE_GREEN)
  144.         { // It's the objective vehicle
  145.             SetPlayerColor(playerid,OBJECTIVE_COLOR);
  146.             GameTextForPlayer(playerid,"~r~Sequestre ~w~o ~b~barco ~w~e leve-o para a ~g~sua base!",3000,5);
  147.             SetPlayerCheckpoint(playerid,1982.6150,-220.6680,-0.2432,7.0);
  148.             gObjectiveGreenPlayer = playerid;
  149.         }
  150.        
  151.         if(gTeam[playerid] == TEAM_BLUE && vehicleid == OBJECTIVE_VEHICLE_BLUE)
  152.         { // It's the objective vehicle
  153.             SetPlayerColor(playerid,OBJECTIVE_COLOR);
  154.             GameTextForPlayer(playerid,"~r~Sequestre ~w~o ~g~barco ~w~e leve-o para a ~b~sua base!",3000,5);
  155.             SetPlayerCheckpoint(playerid,2328.2935,531.8324,0.0094,7.0);
  156.             gObjectiveBluePlayer = playerid;
  157.         }
  158.     }
  159.     else if(newstate == PLAYER_STATE_ONFOOT)
  160.     {
  161.         if(playerid == gObjectiveGreenPlayer) {
  162.             gObjectiveGreenPlayer = (-1);
  163.             SetPlayerToTeamColor(playerid);
  164.             DisablePlayerCheckpoint(playerid);
  165.         }
  166.        
  167.         if(playerid == gObjectiveBluePlayer) {
  168.             gObjectiveBluePlayer = (-1);
  169.             SetPlayerToTeamColor(playerid);
  170.             DisablePlayerCheckpoint(playerid);
  171.         }
  172.     }
  173.  
  174.     return 1;
  175. }
  176.  
  177. //---------------------------------------------------------
  178.  
  179. public OnGameModeInit()
  180. {
  181.     SetGameModeText("Red Country Assault");
  182.     ShowPlayerMarkers(0);
  183.     ShowNameTags(1);
  184.     SetWorldTime(17);
  185.     UsePlayerPedAnims();
  186.     SendRconCommand("mapname Red Country");
  187.     SetTimer("mensagens", 1 * 60000 * 2, true);
  188.  
  189.  
  190.  
  191.     //TextDraw
  192.     Textdrawdebaixodoradar = TextDrawCreate(1.0, 433.0, "~g~Red Country ~b~Assault                                      ~r~versao: ~w~1.0a                                            ~p~/creditos");
  193.     TextDrawAlignment(Textdrawdebaixodoradar,0);//Não mecher
  194.     TextDrawBackgroundColor(Textdrawdebaixodoradar,0x000000ff);//Não mecher
  195.     TextDrawFont(Textdrawdebaixodoradar,1);//Tipo de Letra
  196.     TextDrawLetterSize(Textdrawdebaixodoradar,0.2999, 1.4);//Não mecher
  197.     TextDrawBoxColor(Textdrawdebaixodoradar,0xFFFFFFAA);//Cor da caixa do TextDraw
  198.     TextDrawUseBox(Textdrawdebaixodoradar,0);//Habilita a caixa do TextDraw
  199.     TextDrawColor(Textdrawdebaixodoradar,0xffffffff);//Não mecher
  200.     TextDrawSetOutline(Textdrawdebaixodoradar,1);//Não mecher
  201.     TextDrawSetProportional(Textdrawdebaixodoradar,1);//Não mecher
  202.     TextDrawSetShadow(Textdrawdebaixodoradar,1);//Não mecher
  203.  
  204.     for(new i; i < MAX_PLAYERS; i ++)
  205.     {
  206.         if(IsPlayerConnected(i))
  207.         {
  208.             TextDrawShowForPlayer(i, Textdrawdebaixodoradar);
  209.         }
  210.     }
  211.   //------------------------------------------------------------------------------------------------
  212.  
  213.     // GREEN CLASSES
  214.     AddPlayerClass(162,1980.0054,-266.6487,2.9653,348.9788,0,0,0,0,0,0);
  215.     AddPlayerClass(157,1980.0054,-266.6487,2.9653,348.9788,0,0,0,0,0,0);
  216.  
  217.     // BLUE CLASSES
  218.     AddPlayerClass(154,2359.2703,540.5911,1.7969,180.6476,0,0,0,0,0,0);
  219.     AddPlayerClass(138,2294.0413,541.8565,1.7944,188.6283,0,0,0,0,0,0);
  220.  
  221.     // OBJECTIVE VEHICLES
  222.     AddStaticVehicle(453,2057.0154,-236.5598,-0.2621,359.4377,114,1); // gr reefer
  223.     AddStaticVehicle(453,2381.9685,532.4496,0.2574,183.2029,79,7); // b reefer
  224.  
  225.     // GREEN VEHICLES
  226.     AddStaticVehicle(473,2023.5109,-246.4161,-0.1514,351.0038,114,1); // gr dhin
  227.     AddStaticVehicle(473,1949.2490,-259.5398,-0.2794,13.3247,114,1); // gr ding2fix
  228.     AddStaticVehicle(473,2003.7256,-248.4939,-0.2243,5.1752,114,1); // gr ding
  229.     AddStaticVehicle(473,1982.4832,-252.4811,-0.3006,358.3696,114,1); // gr ding
  230.     AddStaticVehicle(473,1927.7894,-249.3088,-0.2893,320.7715,114,1); // gr ding
  231.     AddStaticVehicle(473,1907.6969,-230.4202,-0.2585,306.0136,114,1); // gr ding
  232.     AddStaticVehicle(487,1913.0819,-376.2350,21.4819,350.9412,114,1); // gr mav
  233.  
  234.     // BLUE VEHICLES
  235.     AddStaticVehicle(473,2289.7571,518.4412,-0.2167,178.8301,79,7); // b ding
  236.     AddStaticVehicle(473,2294.3599,519.1021,-0.1391,177.1416,79,7); // b ding
  237.     AddStaticVehicle(473,2298.8411,518.4229,-0.2333,181.1228,79,7); // b ding
  238.     AddStaticVehicle(473,2369.9839,519.0364,-0.3190,187.9187,79,7); // b ding
  239.     AddStaticVehicle(473,2359.9417,519.1055,-0.2271,183.8014,79,7); // b ding
  240.     AddStaticVehicle(473,2351.4617,519.1046,-0.1172,182.8623,79,7); // b ding
  241.     AddStaticVehicle(487,2324.4399,573.1667,7.9578,177.6699,79,7); // b mav
  242.  
  243.     //Pickups
  244.     coletev = CreatePickup(1242,23,1907.3438,-332.4550,17.4617);
  245.     vidav = CreatePickup(1240,23,1909.4780,-332.7746,17.3387);
  246.     coleteb = CreatePickup(1242,23,2352.6602,547.0747,7.7802);
  247.     vidab = CreatePickup(1240,23,2350.7705,546.8673,7.7802);
  248.  
  249.     return 1;
  250. }
  251.  
  252.  
  253. public OnGameModeExit()
  254. {
  255.     TextDrawHideForAll(Textdrawdebaixodoradar);
  256.     TextDrawDestroy(Textdrawdebaixodoradar);
  257.  
  258.     return 1;
  259. }
  260. //---------------------------------------------------------
  261.  
  262. public OnPlayerCommandText(playerid, cmdtext[])
  263. {
  264.  
  265.      if(strcmp("/creditos",cmdtext, true, 10) == 0)
  266.     {
  267.         SendClientMessage(playerid,COLOR_GREY,"------------------------------------------------------------");
  268.         SendClientMessage(playerid,COLOR_WHITE,"   {FF0000}Red Country{FFFFFF} {8000FF}Assault{FFFFFF}");
  269.         SendClientMessage(playerid,COLOR_WHITE,"Game Mode desenvolvido por: Dwayne.");
  270.         SendClientMessage(playerid,COLOR_WHITE,"Créditos à: Kye da equipe SA:MP. Porque fiz esse game mode e");
  271.         SendClientMessage(playerid,COLOR_WHITE,"ao Felipe (PoweeR_) pelo Team Chat");
  272.         SendClientMessage(playerid,COLOR_WHITE,"com base no dele. Apenas fiz umas alterações e traduzí.");
  273.         SendClientMessage(playerid,COLOR_WHITE,"-----------------------------------------------------------");
  274.     }
  275.         return 0x1;
  276. }
  277.  
  278.  
  279.  
  280. //-------------------------------------------------------------------------------------
  281.  
  282. public OnPlayerConnect(playerid)
  283. {
  284.     new pName[MAX_PLAYER_NAME];
  285.     Login[playerid] = 0;
  286.     new nombre[MAX_PLAYER_NAME], archivo[256];
  287.     GetPlayerName(playerid, nombre, sizeof(nombre));
  288.     GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
  289.     format(archivo, sizeof(archivo), "/Users/%s.ini", nombre);
  290.     if (!dini_Exists(archivo))
  291.     {
  292.     ShowPlayerDialog(playerid, Register, DIALOG_STYLE_INPUT, "Registro", "Bem vindo ao {FF0000}Red Country{FFFFFF} {8000FF}Assault{FFFFFF} \n{FFFFFF}Digite uma senha e logo em seguida logue-se\n{FFFFFF}", "Registrar", "Cancelar");
  293.     }
  294.     else
  295.     {
  296.     ShowPlayerDialog(playerid, Logged, DIALOG_STYLE_INPUT, "Logar", "Bem vindo ao {FF0000}Red Country{FFFFFF} {8000FF}Assault{FFFFFF} \n{FFFFFF}Digite uma senha e logo em seguida logue-se\n{FFFFFF}", "Logar", "Cancelar");
  297.     }
  298.  
  299.    //Anuncio do server ._.
  300.     new string[256];
  301.     new aname1[128];
  302.     GetPlayerName(playerid, aname1, sizeof(aname1));
  303.     format(string, sizeof(string), "~ %s (%d){0080FF} entrou no servidor.{FFFFFF}", aname1,playerid);
  304.     SendClientMessageToAll(COLOR_GREY,string);
  305.     SendClientMessage(playerid, COLOR_YELLOW,"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
  306.     SendClientMessage(playerid, COLOR_WHITE,"» {FF0000}Red Country{FFFFFF} {8000FF}Assault{FFFFFF}");
  307.     SendClientMessage(playerid, COLOR_WHITE,"» Seja bem vindo e divirta-se ");
  308.     SendClientMessage(playerid, COLOR_WHITE,"» Bom jogo!");
  309.     SendClientMessage(playerid, COLOR_YELLOW,"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
  310.     TextDrawShowForPlayer(playerid, Textdrawdebaixodoradar);
  311.     SendClientMessage(playerid, COLOR_WHITE,"~ Bem vindo ao {FF0000}Red Country{FFFFFF} {8000FF}Assault{FFFFFF}");
  312.     SetPlayerColor(playerid,0x888888FF);
  313.     GameTextForPlayer(playerid,"~r~Red Country ~p~Assault",6000,1);
  314.     SetPlayerMapIcon(playerid,1,2328.9199,546.3853,7.7813,61,1,MAPICON_GLOBAL);
  315.     SetPlayerMapIcon(playerid,2,1968.6714,-275.7227,3.4479,62,1,MAPICON_GLOBAL);
  316.     return 1;
  317. }
  318.  
  319. public OnPlayerDisconnect(playerid, reason)
  320. {
  321.     new PlayerName[MAX_PLAYER_NAME];
  322.     new string3[128];
  323.     GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
  324.     switch(reason)
  325.     {
  326.         case 0: format(string3, sizeof(string3), "» %s - Saiu do Server (Perda de conexão = {8080FF}Net da Xuxa{FFFFFF})", PlayerName);
  327.         case 1: format(string3, sizeof(string3), "» %s - Saiu do Server (Resolveu sair = {8080FF}Cansou de morrer.{FFFFFF})", PlayerName);
  328.         case 2: format(string3, sizeof(string3), "» %s - Saiu do Server (Kickado/Banido = {8080FF}Fez merda{FFFFFF})", PlayerName);
  329.     }
  330.     SendClientMessageToAll(COLOR_GREY, string3);
  331.     return 1;
  332. }
  333.  
  334. //---------------------------------------------------------
  335.  
  336. public OnPlayerRequestClass(playerid, classid)
  337. {
  338.     SetupPlayerForClassSelection(playerid);
  339.     SetPlayerTeamFromClass(playerid,classid);
  340.    
  341.     if(classid == 0 || classid == 1) {
  342.         GameTextForPlayer(playerid," ~w~time ~g~GREEN",1000,5);
  343.     } else if(classid == 2 || classid == 3) {
  344.         GameTextForPlayer(playerid,"~w~time ~b~BLUE",1000,5);
  345.     }
  346.    
  347.     return 1;
  348. }
  349.  
  350. //---------------------------------------------------------
  351.  
  352. public OnPlayerSpawn(playerid)
  353. {
  354.     SetPlayerToTeamColor(playerid);
  355.  
  356.     if(gTeam[playerid] == TEAM_GREEN) {
  357.         SetPlayerWorldBounds(playerid,2444.4185,1687.5696,631.2963,-454.9898);
  358.         GameTextForPlayer(playerid,
  359.            "Defenda o ~g~barco da sua base(Reefer) ~w~e ~r~capture ~w~o ~b~barco(Reefer) do time BLUE!",
  360.            6000,5);
  361.         SendClientMessage(playerid,0x008000AA,"{FFFFFF}[DICA] »{FFFFFF} A base inimiga está marcada no radar com um ícone {0000FF}azul{FFFFFF}");
  362.         SendClientMessage(playerid,0x008000AA,"{FFFFFF}[DICA] »{FFFFFF} Siga até lá entre no {FF0000}barco (Reefer){FFFFFF} e tragá-o até {F2F200}a sua base sã e salvo{FFFFFF}");
  363.         SendClientMessage(playerid,0x008000AA,"{FFFFFF}[DICA] »{FFFFFF} O primeiro time a fazer {80FF00}3 sequestros com sucesso ganhará o jogo.{FFFFFF}.");
  364.         SendClientMessage(playerid,0x008000AA,"{FFFFFF}[DICA] »{FFFFFF} Para falar com o seu time ser que o outro time veja use {400080}#{FFFFFF} antes do texto");
  365.         GivePlayerWeapon(playerid,28,999999);
  366.         GivePlayerWeapon(playerid,25,999999);
  367.         GivePlayerWeapon(playerid,31,999999);
  368.  
  369.     }
  370.     else if(gTeam[playerid] == TEAM_BLUE) {
  371.         SetPlayerWorldBounds(playerid,2444.4185,1687.5696,631.2963,-454.9898);
  372.         GameTextForPlayer(playerid,
  373.            "Defenda o ~b~barco da sua base(Reefer) ~w~e ~r~capture ~w~o ~g~barco(Reefer) do time GREEN!",
  374.            6000,5);
  375.         SendClientMessage(playerid,0x0000FFAA,"{FFFFFF}[DICA] »{FFFFFF} A base inimiga está marcada no radar com um ícone {008000}verde{FFFFFF}");
  376.         SendClientMessage(playerid,0x0000FFAA,"{FFFFFF}[DICA] »{FFFFFF} Siga até lá entre no {FF0000}barco (Reefer){FFFFFF} e tragá-o até {F2F200}a sua base sã e salvo{FFFFFF}");
  377.         SendClientMessage(playerid,0x0000FFAA,"{FFFFFF}[DICA] »{FFFFFF} O primeiro time a fazer {80FF00}3 sequestros com sucesso ganhará o jogo.{FFFFFF}");
  378.         SendClientMessage(playerid,0x0000FFAA,"{FFFFFF}[DICA] »{FFFFFF} Para falar com o seu time ser que o outro time veja use {400080}#{FFFFFF} antes do texto");
  379.         GivePlayerWeapon(playerid,29,999999);
  380.         GivePlayerWeapon(playerid,26,999999);
  381.         GivePlayerWeapon(playerid,30,999999);
  382.     }
  383.  
  384.     return 1;
  385. }
  386.  
  387. //---------------------------------------------------------
  388.  
  389. public OnPlayerEnterCheckpoint(playerid)
  390. {
  391.     new playervehicleid = GetPlayerVehicleID(playerid);
  392.    
  393.     if(gObjectiveReached) return;
  394.    
  395.     if(playervehicleid == OBJECTIVE_VEHICLE_GREEN && gTeam[playerid] == TEAM_GREEN)
  396.     {   // Green OBJECTIVE REACHED.
  397.         gGreenTimesCapped++;
  398.         SetPlayerScore(playerid,GetPlayerScore(playerid)+5);
  399.        
  400.         if(gGreenTimesCapped==CAPS_TO_WIN) {
  401.             GameTextForAll("O time ~g~GREEN venceu!",3000,5);
  402.             gObjectiveReached = 1;  PlaySoundForAll(1185, 0.0, 0.0, 0.0);
  403.             SetTimer("ExitTheGameMode", 6000, 0); // Set up a timer to exit this mode.
  404.         } else {
  405.             GameTextForAll("O time ~g~GREEN ~r~sequestrou ~w~o ~b~barco!",3000,5);
  406.             SetVehicleToRespawn(OBJECTIVE_VEHICLE_GREEN);
  407.         }
  408.         return;
  409.     }
  410.     else if(playervehicleid == OBJECTIVE_VEHICLE_BLUE && gTeam[playerid] == TEAM_BLUE)
  411.     {   // Blue OBJECTIVE REACHED.
  412.         gBlueTimesCapped++;
  413.         SetPlayerScore(playerid,GetPlayerScore(playerid)+5);
  414.        
  415.         if(gBlueTimesCapped==CAPS_TO_WIN) {
  416.             GameTextForAll("O time ~b~BLUE venceu!",3000,5);
  417.             gObjectiveReached = 1;  PlaySoundForAll(1185, 0.0, 0.0, 0.0);
  418.             SetTimer("ExitTheGameMode", 6000, 0); // Set up a timer to exit this mode.
  419.         } else {
  420.             GameTextForAll("O time ~b~BLUE ~r~sequestrou ~w~o ~g~barco!",3000,5);
  421.             SetVehicleToRespawn(OBJECTIVE_VEHICLE_BLUE);
  422.         }
  423.         return;
  424.     }
  425. }
  426.  
  427. public OnPlayerText(playerid, text[])
  428. {
  429.     if(text[0] == '#' || text[0] == '@' && strlen(text) > 1)
  430.     {
  431.         for(new i = 0; i < MAX_PLAYERS; i++)
  432.         {
  433.             if(gTeam[playerid] == gTeam[i])
  434.             {
  435.                 new str[128], PlayerName[24];
  436.                 GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
  437.                 strdel(text, 0, 1);
  438.                 format(str, sizeof(str), "[TEAM CHAT] » %s: %s", PlayerName, text);
  439.                 SendClientMessage(i, GetPlayerColor(playerid), str);
  440.                 return 0;
  441.             }
  442.         }
  443.     }
  444.     return 1;
  445. }
  446.  
  447. //---------------------------------------------------------
  448.  
  449. public OnPlayerDeath(playerid, killerid, reason)
  450. {
  451.     if(killerid == INVALID_PLAYER_ID) {
  452.         SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
  453.     } else {
  454.         if(gTeam[killerid] != gTeam[playerid]) {
  455.             // Valid kill
  456.             SendDeathMessage(killerid,playerid,reason);
  457.             SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
  458.         }
  459.         else {
  460.             // Team kill
  461.             SendDeathMessage(killerid,playerid,reason);
  462.         }
  463.     }
  464.     static
  465.         sName[24],
  466.         sStr[128],
  467.         iKilled[MAX_PLAYERS];
  468.  
  469.     GetPlayerName(killerid, sName, 23);
  470.     ++iKilled[killerid];
  471.  
  472.     sStr =
  473.     ((iKilled[killerid] == 5)    ? ("[INFO]: %s[ID:%i] Já iKilled %d, rápido, matem ele(a) logo"):
  474.     (iKilled[killerid] == 10)    ? ("[INFO]: %s[ID:%i] Já iKilled %d, hmm, aprendeu direitinho hein?"):
  475.     (iKilled[killerid] == 20)    ? ("[INFO]: %s[ID:%i] Já iKilled %d  pessoal, esse(a) cara(garota) é foda!"):
  476.     (iKilled[killerid] == 20)    ? ("[INFO]: %s[ID:%i] Já iKilled %d, espero que continue assim."):
  477.     (iKilled[killerid] == 30)    ? ("[INFO]: %s[ID:%i] Já iKilled %d, não quero ver o(a) %s tão cedo!"):
  478.     (iKilled[killerid] == 40)    ? ("[INFO]: %s[ID:%i] Já iKilled %d, ele(a) é matador(a) de aluguel!"):
  479.     (iKilled[killerid] == 50)    ? ("[INFO]: %s[ID:%i] Já iKilled %d, ele(a) concerteza não irá para o céu!!"):
  480.     (iKilled[killerid] == 60)    ? ("[INFO]: %s[ID:%i] Já iKilled %d, ele(a) fez pácto com demo!!"):
  481.     (iKilled[killerid] == 70)    ? ("[INFO]: %s[ID:%i] Já iKilled %d, putz, no dia do apocalipse então ...")    :
  482.     (iKilled[killerid] == 100)    ? ("[INFO]: %s[ID:%i] Já iKilled %d, Que isso? Até eu que sou indestrutível estou com medo ._. !"):
  483.     (iKilled[killerid] > 100 )    ? ("[INFO]: %s[ID:%i] Já iKilled %d, simplismente, o(a) melhor!!!"):
  484.     (" "));
  485.  
  486.     if(sStr[3])
  487.     {
  488.         format(sStr,64,sStr,sName, playerid, iKilled);
  489.         SendClientMessageToAll(0xFFFFFF,sStr);
  490.     }
  491.     return 0x1;
  492. }
  493.  
  494.  
  495.  
  496. //---------------------------------
  497.  
  498. public OnVehicleStreamIn(vehicleid, forplayerid)
  499. {
  500.     // Note for SA-MP 0.3:
  501.     // As the vehicle streams in, player team dependant params are applied. They can't be
  502.     // applied to vehicles that don't exist in the player's world.
  503.    
  504.     if(vehicleid == OBJECTIVE_VEHICLE_BLUE) {
  505.         if(gTeam[forplayerid] == TEAM_GREEN) {
  506.             SetVehicleParamsForPlayer(OBJECTIVE_VEHICLE_BLUE,forplayerid,1,1); // objective; locked
  507.         }
  508.         else if(gTeam[forplayerid] == TEAM_BLUE) {
  509.             SetVehicleParamsForPlayer(OBJECTIVE_VEHICLE_BLUE,forplayerid,1,0); // objective; unlocked
  510.         }
  511.     }
  512.     else if(vehicleid == OBJECTIVE_VEHICLE_GREEN) {
  513.         if(gTeam[forplayerid] == TEAM_BLUE) {
  514.             SetVehicleParamsForPlayer(OBJECTIVE_VEHICLE_GREEN,forplayerid,1,1); // objective; locked
  515.         }
  516.         else if(gTeam[forplayerid] == TEAM_GREEN) {
  517.             SetVehicleParamsForPlayer(OBJECTIVE_VEHICLE_GREEN,forplayerid,1,0); // objective; unlocked
  518.         }
  519.     }
  520.    
  521.     return 1;
  522.     //printf("GameMode: VehicleStreamIn(%d,%d)",vehicleid,forplayerid);
  523. }
  524.  
  525. //---------------------------------
  526.  
  527. public OnVehicleStreamOut(vehicleid, forplayerid)
  528. {
  529.     return 1;
  530.     //printf("GameMode: VehicleStreamOut(%d,%d)",vehicleid,forplayerid);
  531. }
  532.  
  533. //---------------------------------
  534.  
  535. PlaySoundForAll(soundid, Float:x, Float:y, Float:z)
  536. {
  537.     for (new i=0; i<MAX_PLAYERS; i++)
  538.     {
  539.         if (IsPlayerConnected(i))
  540.         {
  541.             PlayerPlaySound(i, soundid, x, y, z);
  542.         }
  543.     }
  544. }
  545.  
  546. //---------------------------------
  547. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  548. {
  549.     if (dialogid == Register)
  550.       {
  551.       new nombrejugador[MAX_PLAYER_NAME], archivo[256];
  552.       if (!strlen(inputtext)) return ShowPlayerDialog(playerid, Register, DIALOG_STYLE_INPUT, "Registro", "Bem vindo ao {FF0000}Red Country{FFFFFF} {8000FF}Assault{FFFFFF} \n{FFFFFF}Digite uma senha e logo em seguida logue-se\n{FFFFFF}", "Registrar", "Cancelar");
  553.       if (!response) return ShowPlayerDialog(playerid, Register, DIALOG_STYLE_INPUT, "Registro", "Bem vindo ao {FF0000}Red Country{FFFFFF} {8000FF}Assault{FFFFFF} \n{FFFFFF}Digite uma senha e logo em seguida logue-se\n{FFFFFF}", "Registrar", "Cancelar");
  554.       GetPlayerName(playerid, nombrejugador, sizeof(nombrejugador));
  555.       format(archivo, sizeof(archivo), "/Users/%s.ini", nombrejugador);
  556.       dini_Create(archivo);
  557.       dini_Set(archivo, "User", nombrejugador);
  558.       dini_Set(archivo, "Password", inputtext);
  559.       ShowPlayerDialog(playerid, Logged, DIALOG_STYLE_INPUT, "Logar", "Bem vindo ao {FF0000}Red Country{FFFFFF} {8000FF}Assault{FFFFFF} \n{FFFFFF}Digite uma senha e logo em seguida logue-se\n{FFFFFF}", "Logar", "Cancelar");
  560.       }
  561.     if (dialogid == Logged)
  562. {
  563.       new nombrejugador[MAX_PLAYER_NAME], archivo[256], comprobante[256];
  564.       if (!strlen(inputtext)) return ShowPlayerDialog(playerid, Logged, DIALOG_STYLE_INPUT, "Registro", "Bem vindo ao {FF0000}Red Country{FFFFFF} {8000FF}Assault{FFFFFF} \n{FFFFFF}Digite uma senha e logo em seguida logue-se\n{FFFFFF}", "Registrar", "Cancelar");
  565.       if (!response) return ShowPlayerDialog(playerid, Logged, DIALOG_STYLE_INPUT, "Logar", "Bem vindo ao {FF0000}Red Country{FFFFFF} {8000FF}Assault{FFFFFF} \n{FFFFFF}Digite uma senha e logo em seguida logue-se\n{FFFFFF}", "Logar", "Cancelar");
  566.       GetPlayerName(playerid, nombrejugador, sizeof(nombrejugador));
  567.       format(archivo, sizeof(archivo), "/Users/%s.ini", nombrejugador);
  568.       format(comprobante, sizeof(comprobante), "%s", dini_Get(archivo, "Password"));
  569.       if (!strcmp (inputtext, comprobante))
  570.       {
  571.       Login[playerid] = 1;
  572.       }
  573.       else
  574.       {
  575.       ShowPlayerDialog(playerid, Logged, DIALOG_STYLE_INPUT, "Logar", "Bem vindo ao {FF0000}Red Country{FFFFFF} {8000FF}Assault{FFFFFF} \n{FFFFFF}Digite uma senha e logo em seguida logue-se\n{FFFFFF}", "Logar", "Cancelar");
  576.       }
  577.       return 1;
  578. }
  579.  
  580.       return 0;
  581. }
  582. //------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  583.  
  584. public OnPlayerPickUpPickup(playerid, pickupid)
  585. {
  586.     if(pickupid == vidav)
  587.     {
  588.     SendClientMessage(playerid, COLOR_GREEN,"[INFO]{FFFFFF}Você recuperou a sua vida{FFFFFF}");
  589.     SetPlayerHealth(playerid, 100.0);
  590.     }
  591.  
  592.     if(pickupid == coletev)
  593.     {
  594.     SendClientMessage(playerid, COLOR_GREEN,"[INFO]{FFFFFF}Agora você tem um colete{FFFFFF}");
  595.     SetPlayerArmour(playerid, 100.0);
  596.     }
  597.  
  598.     if(pickupid == vidab)
  599.     {
  600.     SendClientMessage(playerid, 0x0000FFAA,"[INFO]{FFFFFF}Você recuperou a sua vida{FFFFFF}");
  601.     SetPlayerHealth(playerid, 100.0);
  602.     }
  603.  
  604.     if(pickupid == coleteb)
  605.     {
  606.     SendClientMessage(playerid, 0x0000FFAA,"[INFO]{FFFFFF}Agora você tem um colete{FFFFFF}");
  607.     SetPlayerArmour(playerid, 100.0);
  608.     }
  609.     return 1;
  610. }
  611. //---------------------------
  612.  
  613. public mensagens()
  614. {
  615.     new string[128];
  616.     new rand = random(sizeof(msgs));
  617.     format(string, sizeof(string), "%s", msgs[rand]);
  618.     SendClientMessageToAll(0x8080FFAA, string);
  619. }
  620.  
  621. //-------------------------------------------
  622.  
  623.  
  624. //--------------------------------------------------------------------------------------------------
  625. /* ------------------------------------------------------------------------------|
  626. |                           Red Country Assault                                  |
  627. |      Feito por: Wendell Rocha (Dwayne)                                         |
  628. |      O objetivo do mini-game é sequestrar o barco (Reefer) da base inimiga     |
  629. |      e levá-lo à sua base sã e salvo. O primeiro time a realizar 3 sequestros  |
  630. |      com sucesso ganhará o jogo.                                               |
  631. |     Quando uma equipe conseguir efeturar os três sequestos com sucesso o GM é  |
  632. |       automáticamente reiniciado.                                              |
  633. |      Créditos à Kye da equipe SA-MP. Fiz esse mine-game com base no dele e ao  |
  634. |        Felipe (PoweeR_) pelo Team Chat.                                        |
  635. |                           NÃO RETIRE OS CRÉDIROS                               |
  636. |                          Red Country Assault                                   |
  637. |-------------------------------------------------------------------------------*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement