Gguiz007

/calar

Feb 24th, 2019
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.46 KB | None | 0 0
  1. //COLOCAR NA ENUM DE APlayerData//
  2.     MutedTimer,
  3.     PlayerMuted,
  4. ///////////////////////////
  5.  
  6. ////ESSA MENSAGEM TEM QUE APARECER ASSIM QUE O LOGIN É EFETUADO, DPS QUE O PLAYER DIGITAR A SENHA.
  7.     if (APlayerData[playerid][PlayerMuted] > 0)
  8.     {
  9.         new Minutos = APlayerData[playerid][PlayerMuted] / 60;
  10.         APlayerData[playerid][MutedTimer] = SetTimerEx("MuteTimer", 1000, true, "i", playerid);
  11.         new MudoFDP[128];
  12.         format(MudoFDP, 128, "{FFFF00}Você logou calado, falta {FFFFFF}%i minuto(s) {FFFF00}para você ser descalado.", Minutos);
  13.         SendClientMessage(playerid, -1, MudoFDP);
  14.     }
  15.  
  16. public OnPlayerDisconnect(playerid, reason)
  17. {
  18.     KillTimer(APlayerData[playerid][MutedTimer]);
  19.     APlayerData[playerid][PlayerMuted] = 0;  // 0 = CALADO / 1 = DESCALADO
  20.     return 1;
  21. }
  22.  
  23. public OnPlayerText(playerid, text[])
  24. {
  25.     if (APlayerData[playerid][PlayerMuted] > 0)
  26.     {
  27.         SendClientMessage(playerid, -1, "{ff0000}Você está mudo!");
  28.         return 0;
  29.     }
  30.     return 1;
  31. }
  32. //callback para efetuar que o player seja descalado automaticamente.
  33. forward MuteTimer(playerid);
  34. public MuteTimer(playerid)
  35. {
  36.     if (APlayerData[playerid][PlayerMuted] >= 1)
  37.     {
  38.         APlayerData[playerid][PlayerMuted] = APlayerData[playerid][PlayerMuted] -1;
  39.     }
  40.     else
  41.     {
  42.         KillTimer(APlayerData[playerid][MutedTimer]);
  43.         SendClientMessage(playerid, 0xFFFFFFFF, "{FFFF00}Você foi descalado automaticamente!");
  44.     }
  45.     return 1;
  46. }
  47.  
  48. //salvamento.
  49. PlayerFile_Load(playerid)
  50. {
  51.     if (strcmp(ParameterName, "Muted", false) == 0) // If the parametername is correct ("Muted")
  52.     APlayerData[playerid][PlayerMuted] = strval(ParameterValue);
  53. }
  54. PlayerFile_Save(playerid)
  55. {
  56.     format(LineForFile, 100, "Muted %i\r\n", APlayerData[playerid][PlayerMuted]);
  57.     fwrite(PFile, LineForFile);
  58. }  
  59.  
  60. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  61. COMMAND:calar(playerid, params[])
  62. {
  63.     new Msg[200], Msgg[50], Name[90], AdminName[90], Reason[128], OtherPlayer, Minutos;
  64.     if (APlayerData[playerid][LoggedIn] == true)
  65.     {
  66.         if (APlayerData[playerid][PlayerLevel] >= 2)
  67.         {
  68.             if (sscanf(params, "uis[128]", OtherPlayer, Minutos, Reason)) SendClientMessage(playerid, -1, "{FF0000}Use: /calar [id] [minutos] [motivo]");
  69.             else
  70.             {
  71.                 if (IsPlayerConnected(OtherPlayer))
  72.                 {
  73.                     if (APlayerData[OtherPlayer][PlayerMuted] == 0)
  74.                     {  
  75.                         GetPlayerName(playerid, AdminName, sizeof(AdminName));
  76.                         GetPlayerName(OtherPlayer, Name, sizeof(Name));
  77.                         //APlayerData[OtherPlayer][Muted] = true;
  78.                         APlayerData[OtherPlayer][PlayerMuted] = (Minutos * 60);
  79.                         APlayerData[OtherPlayer][MutedTimer] = SetTimerEx("MuteTimer", 1000, true, "i", OtherPlayer);
  80.                         format(Msg, 200, "{FF0000}O jogador {ffffff}%s {FF0000}foi calado pelo administrador {FFFFFF}%s {FF0000}por {FFFFFF}%i {FF0000}minuto(s).", Name, AdminName, Minutos);
  81.                         SendClientMessageToAll(-1, Msg);
  82.                         format(Msgg, 50, "{FF0000}Motivo: {FFFFFF}%s", Reason);
  83.                         SendClientMessageToAll(-1, Msgg);
  84.                         PlayerFile_Save(OtherPlayer);
  85.                     }
  86.                     else
  87.                         SendClientMessage(playerid, 0xFAFAFAFF, "{FF0000}Esse jogador já está calado.");
  88.                 }
  89.                 else
  90.                     SendClientMessage(playerid, -1, "{FF0000}O jogador não está online.");
  91.             }
  92.         }
  93.         else
  94.             return 0;
  95.     }
  96.     else
  97.         return 0;
  98.     return 1;
  99. }
  100. COMMAND:descalar(playerid, params[])
  101. {
  102.     new Msg[128], Name[24], AdminName[24], OtherPlayer;
  103.     if (APlayerData[playerid][LoggedIn] == true)
  104.     {
  105.         if (APlayerData[playerid][PlayerLevel] >= 2)
  106.         {
  107.             if (sscanf(params, "u", OtherPlayer)) SendClientMessage(playerid, -1, "{FF0000}Use: /descalar [id]");
  108.             else
  109.             {
  110.                 if (IsPlayerConnected(OtherPlayer))
  111.                 {
  112.                     if (APlayerData[OtherPlayer][PlayerMuted] > 0)
  113.                     {
  114.                         GetPlayerName(playerid, AdminName, sizeof(AdminName));
  115.                         GetPlayerName(OtherPlayer, Name, sizeof(Name));
  116.                         //APlayerData[OtherPlayer][Muted] = false;
  117.                         APlayerData[OtherPlayer][PlayerMuted] = 0;
  118.                         KillTimer(APlayerData[OtherPlayer][MutedTimer]);
  119.                         format(Msg, 128, "{FF0000}O administrador {FFFFFF}%s {FF0000}descalou o jogador {FFFFFF}%s", AdminName, Name);
  120.                         SendClientMessageToAll(-1, Msg);
  121.                         PlayerFile_Save(OtherPlayer);
  122.                     }
  123.                     else
  124.                         SendClientMessage(playerid, 0xFAFAFAFF, "{FF0000}Esse jogador não está calado.");
  125.                 }
  126.                 else
  127.                     SendClientMessage(playerid, -1, "{FF0000}O jogador não está online.");
  128.             }
  129.         }
  130.         else
  131.             return 0;
  132.     }
  133.     else
  134.         return 0;
  135.     return 1;
  136. }
Advertisement
Add Comment
Please, Sign In to add comment