Guest User

[PAWN] FS Mensagens Privadas (MYSQL) v1.1

a guest
Mar 20th, 2015
690
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 19.83 KB | None | 0 0
  1. /*
  2.     Sistema de mensagens privadas - básico em MySQL
  3.     Necessário alterar os dados de conexão para que funcione corretamente
  4.  
  5.     - v1.0 - Início (05/03/2015)
  6.         Comandos /mp e /minhasmp (enviadas, recebidas, e não lidas);
  7.         Comando /ativarmp, /desativarmp (/mps) para desativar/ativar o recebimento e envio de mensagens privadas;
  8.         Informação ao se conectar se tem novas mensagens;
  9.  
  10.     - v1.1 - Atualização (20/03/2015)
  11.         Notificações por e-mail de novas mensagens recebidas;
  12.         Opção em /minhasmp para definir um e-mail de notificações de novas mensagens;
  13.         Alterado todas as vars (que anteriormente usava PVars).
  14.    
  15. */
  16.  
  17. #include a_samp
  18. #include a_http
  19. #include sscanf2
  20. #include a_mysql
  21. #include zcmd
  22.  
  23. #undef MAX_PLAYERS
  24. #define MAX_PLAYERS 101 // Altere para o número de slots desejado
  25.  
  26. #define URL_EMAIL "br-me.net/publico/email.php"
  27. #define EMAIL_ENVIO "[email protected]"
  28.  
  29. /******************************************************************************/
  30. /************************ Dados de conexão ************************************/
  31. /******************************************************************************/
  32. #define     MYSQL_HOST          ""                 // Seu host MySQL
  33. #define     MYSQL_USER          ""                      // Usuário MySQL
  34. #define     MYSQL_PASS          ""                          // Senha
  35. #define     MYSQL_DB            ""                 // Database
  36. /******************************************************************************/
  37. /******************************************************************************/
  38.  
  39. new con_mysql; // Armazena o ID da conexão
  40. new http_request; // Este ID irá aumentar de forma automática de acordo com as requesições
  41.  
  42. enum pInf
  43. {
  44.     mID,
  45.     Email[128],
  46.     bool:Bloqueado,
  47.     NovasMsg,
  48.  
  49.     // Pagina
  50.     pagList
  51. };
  52. new pData[MAX_PLAYERS][pInf];
  53.  
  54. #define DialogOpMsg         15240
  55. #define DialogMsgEnviada    15241
  56. #define DialogMsgRecebida   15242
  57. #define DialogMsgNaoLidas   15243
  58. #define DialogMsgRetorno    15244
  59. #define DialogDefinirEmail  15245
  60.  
  61. public OnFilterScriptInit() {
  62.     print("Sistema de mensagens privadas: CARREGADO");
  63.     con_mysql = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_DB, MYSQL_PASS);
  64.     if(mysql_errno(con_mysql)) return print("OCORREU UM ERRO DURANTE A TENTATIVA DE CONEXÃO COM A DB!");
  65.  
  66.     // Criar as tabelas
  67.     mysql_query(con_mysql, "CREATE TABLE IF NOT EXISTS `mp_contas` (`id` int(11) NOT NULL,`user` varchar(24) NOT NULL,`novas_mensagens` int(11) NOT NULL,`email` varchar(128) NOT NULL)ENGINE=MyISAM DEFAULT CHARSET=utf8;", false);
  68.     mysql_query(con_mysql, "CREATE TABLE IF NOT EXISTS `mp_msgs` (`id` int(11) NOT NULL AUTO_INCREMENT,`de_contaid` int(11) NOT NULL,`para_contaid` int(11) NOT NULL,`horario` int(11) NOT NULL,`data` varchar(20) NOT NULL,`lida` int(11) NOT NULL,`Mensagem` varchar(128) NOT NULL,PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;", false);
  69.     return 1;
  70. }
  71.  
  72. public OnFilterScriptExit() {
  73.     print("Sistema de mensagens privadas: DESCARREGADO");
  74.     mysql_close(con_mysql);
  75.     return 1;
  76. }
  77.  
  78. public OnPlayerConnect(playerid)
  79. {
  80.     new Cache:n, str[128], Nome[24];
  81.     GetPlayerName(playerid, Nome, 24);
  82.     mysql_format(con_mysql, str, sizeof(str), "SELECT id,novas_mensagens,email FROM mp_contas WHERE user='%s' LIMIT 1", Nome);
  83.     n = mysql_query(con_mysql, str, true);
  84.     if(cache_num_rows(con_mysql) > 0) {
  85.         pData[playerid][mID] = cache_get_field_content_int(0, "id", con_mysql);
  86.         pData[playerid][NovasMsg] = cache_get_field_content_int(0, "novas_mensagens", con_mysql);
  87.         cache_get_field_content(0, "email", pData[playerid][Email], con_mysql, 128);
  88.         if(pData[playerid][NovasMsg] > 0) {
  89.             format(str, sizeof(str), "** Você tem %i novas mensagens privadas",pData[playerid][NovasMsg]);
  90.             SendClientMessage(playerid,-1,str);
  91.         }
  92.     } else {
  93.         new Cache:rn;
  94.         mysql_format(con_mysql, str, sizeof(str), "INSERT INTO mp_contas (user) VALUES ('%s')", Nome);
  95.         rn = mysql_query(con_mysql, str, true);
  96.         pData[playerid][mID] = cache_insert_id(con_mysql);
  97.         cache_delete(rn, con_mysql);
  98.     }
  99.     cache_delete(n, con_mysql);
  100.     pData[playerid][Bloqueado] = false;
  101.     return 1;
  102. }
  103.  
  104.  
  105. public OnPlayerDisconnect(playerid, reason)
  106. {
  107.     for(new pInf:i; i < pInf; i++)
  108.         pData[playerid][i] = 0;
  109.     return 1;
  110. }
  111. // Dialogs
  112. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  113. {
  114.     switch(dialogid) {
  115.         case DialogOpMsg: {
  116.             if(!response) return 1;
  117.             switch(listitem) {
  118.                 case 0: { // Recebidas
  119.                     pData[playerid][pagList] = 0;
  120.                     carregar_MsgRecebidas(playerid, false);
  121.                 }
  122.                 case 1: { // Enviadas
  123.                     pData[playerid][pagList] = 0;
  124.                     carregar_MsgEnviadas(playerid);
  125.                 }
  126.                 case 2: { // Não lidas
  127.                     pData[playerid][pagList] = 0;
  128.                     carregar_MsgRecebidas(playerid, true);
  129.                 }
  130.                 case 3: { // Definir ou Alterar e-mail
  131.                     new str[256],Em[128];
  132.                     if(strlen(pData[playerid][Email]) > 0 && strfind(pData[playerid][Email], "@", true) != -1)
  133.                         format(Em, 128, pData[playerid][Email]);
  134.                     else
  135.                         format(Em, 128, "Nenhum");
  136.                     format(str,sizeof(str), "E-mail atual: %s\nInsira abaixo o e-mail desejado para notificações de novas mensagens:", Em);
  137.                     ShowPlayerDialog(playerid, DialogDefinirEmail, DIALOG_STYLE_INPUT, "{FF0000}# {FFFFFF}Notificações por e-mail:", str, "Ok", "Cancelar");
  138.                 }
  139.             }
  140.             return 1;
  141.         }
  142.         case DialogDefinirEmail: {
  143.             if(!response || strlen(inputtext) == 0) return cmd_minhasmp(playerid, "");
  144.             new Msg[144], Query[220];
  145.             format(pData[playerid][Email], 128, inputtext);
  146.             format(Msg, 144, "{FFFF00}** E-mail definido para: {FFFFFF}%s{FFFF00}.", inputtext);
  147.             SendClientMessage(playerid, -1, Msg);
  148.  
  149.             // Query
  150.             mysql_format(con_mysql, Query, sizeof(Query), "UPDATE mp_contas SET email='%e' WHERE id=%i", inputtext, pData[playerid][mID]);
  151.             mysql_query(con_mysql, Query, false);
  152.             return 1;
  153.         }
  154.         case DialogMsgEnviada: {
  155.             if(!response) return cmd_minhasmp(playerid,"");
  156.             if(listitem >= 21) return pData[playerid][pagList] += 20, carregar_MsgEnviadas(playerid);
  157.             new query[220], Cache:info, Dialog[180], Nome[24], Mensagem[128], Data[20];
  158.             mysql_format(con_mysql, query, sizeof(query), "SELECT `mp_msgs`.*,`mp_contas`.`user` FROM `mp_msgs` INNER JOIN `mp_contas` ON `mp_msgs`.`para_contaid` = `mp_contas`.`id` WHERE `mp_msgs`.`de_contaid` = %i ORDER BY `mp_msgs`.`id` DESC LIMIT %i,20",pData[playerid][mID], pData[playerid][pagList]);
  159.             info = mysql_query(con_mysql, query, true);
  160.             if(cache_num_rows(con_mysql) > 0 && listitem < cache_num_rows(con_mysql)) {
  161.                 cache_get_field_content(listitem, "Mensagem", Mensagem, con_mysql);
  162.                 cache_get_field_content(listitem, "user", Nome, con_mysql, 24);
  163.                 cache_get_field_content(listitem, "data", Data, con_mysql, 20);
  164.                 format(Dialog, sizeof(Dialog), "Mensagem enviada para %s em %s\nMensagem: %s", Nome, Data, Mensagem);
  165.                 ShowPlayerDialog(playerid, DialogMsgRetorno, DIALOG_STYLE_MSGBOX, "{FFFF00}# {FFFFFF}Visualizando mensagem enviada:", Dialog, "Ok", "");
  166.             }
  167.             else SendClientMessage(playerid, -1, "{FF0000}Ocorreu um erro!");
  168.             cache_delete(info, con_mysql);
  169.             return 1;
  170.         }
  171.         case DialogMsgRecebida: {
  172.             if(!response) return cmd_minhasmp(playerid, "");
  173.             if(listitem >= 21) return pData[playerid][pagList] += 20, carregar_MsgRecebidas(playerid, false);
  174.             new query[220], Cache:info, Dialog[180], Nome[24], Mensagem[128], Data[20];
  175.             mysql_format(con_mysql, query, sizeof(query), "SELECT `mp_msgs`.*,`mp_contas`.`user` FROM `mp_msgs` INNER JOIN `mp_contas` ON `mp_msgs`.`de_contaid` = `mp_contas`.`id` WHERE `mp_msgs`.`para_contaid` = %i ORDER BY `mp_msgs`.`id` DESC LIMIT %i,20",pData[playerid][mID], pData[playerid][pagList]);
  176.             info = mysql_query(con_mysql, query, true);
  177.             if(cache_num_rows(con_mysql) > 0 && listitem < cache_num_rows(con_mysql)) {
  178.                 cache_get_field_content(listitem, "Mensagem", Mensagem, con_mysql);
  179.                 cache_get_field_content(listitem, "user", Nome, con_mysql, 24);
  180.                 cache_get_field_content(listitem, "data", Data, con_mysql, 20);
  181.                 format(Dialog, sizeof(Dialog), "Mensagem recebida de %s em %s\nMensagem: %s", Nome, Data, Mensagem);
  182.                 ShowPlayerDialog(playerid, DialogMsgRetorno, DIALOG_STYLE_MSGBOX, "{FFFF00}# {FFFFFF}Visualizando mensagem recebida:", Dialog, "Ok", "");
  183.                 if(cache_get_field_content_int(listitem, "lida", con_mysql) == 0) {
  184.                     mysql_format(con_mysql, query, sizeof(query), "UPDATE mp_msgs SET lida=1 WHERE id=%i", cache_get_field_content_int(listitem, "id", con_mysql));
  185.                     mysql_query(con_mysql, query, false);
  186.                     if(pData[playerid][NovasMsg] > 0) {
  187.                         pData[playerid][NovasMsg] -= 1;
  188.                         mysql_format(con_mysql, query, sizeof(query), "UPDATE mp_contas SET novas_mensagens=%i WHERE id=%i",pData[playerid][NovasMsg], pData[playerid][mID]);
  189.                         mysql_query(con_mysql, query, false);
  190.                     }
  191.                 }
  192.             }
  193.             else SendClientMessage(playerid, -1, "{FF0000}Ocorreu um erro!");
  194.             cache_delete(info, con_mysql);
  195.             return 1;
  196.         }
  197.         case DialogMsgNaoLidas: {
  198.             if(!response) return cmd_minhasmp(playerid, "");
  199.             if(listitem >= 21) return pData[playerid][pagList] += 20, carregar_MsgRecebidas(playerid, true);
  200.             new query[250], Cache:info, Dialog[180], Nome[24], Mensagem[128], Data[20];
  201.             mysql_format(con_mysql, query, sizeof(query), "SELECT `mp_msgs`.*,`mp_contas`.`user` FROM `mp_msgs` INNER JOIN `mp_contas` ON `mp_msgs`.`de_contaid` = `mp_contas`.`id` WHERE `mp_msgs`.`para_contaid` = %i AND `mp_msgs`.`lida`=0 ORDER BY `mp_msgs`.`id` DESC LIMIT %i,20",pData[playerid][mID], pData[playerid][pagList]);
  202.             info = mysql_query(con_mysql, query, true);
  203.             if(cache_num_rows(con_mysql) > 0 && listitem < cache_num_rows(con_mysql)) {
  204.                 cache_get_field_content(listitem, "Mensagem", Mensagem, con_mysql);
  205.                 cache_get_field_content(listitem, "user", Nome, con_mysql, 24);
  206.                 cache_get_field_content(listitem, "data", Data, con_mysql, 20);
  207.                 format(Dialog, sizeof(Dialog), "Mensagem recebida de %s em %s\nMensagem: %s", Nome, Data, Mensagem);
  208.                 ShowPlayerDialog(playerid, DialogMsgRetorno, DIALOG_STYLE_MSGBOX, "{FFFF00}# {FFFFFF}Visualizando mensagem recebida:", Dialog, "Ok", "");
  209.                 if(cache_get_field_content_int(listitem, "lida", con_mysql) == 0) {
  210.                     mysql_format(con_mysql, query, sizeof(query), "UPDATE mp_msgs SET lida=1 WHERE id=%i", cache_get_field_content_int(listitem, "id", con_mysql));
  211.                     mysql_query(con_mysql, query, false);
  212.                     if(pData[playerid][NovasMsg] > 0) {
  213.                         pData[playerid][NovasMsg] -= 1;
  214.                         mysql_format(con_mysql, query, sizeof(query), "UPDATE mp_contas SET novas_mensagens=%i WHERE id=%i",pData[playerid][NovasMsg], pData[playerid][mID]);
  215.                         mysql_query(con_mysql, query, false);
  216.                     }
  217.                 }
  218.             }
  219.             else SendClientMessage(playerid, -1, "{FF0000}Ocorreu um erro!");
  220.             cache_delete(info, con_mysql);
  221.             return 1;
  222.         }
  223.         case DialogMsgRetorno:  return cmd_minhasmp(playerid, "");
  224.  
  225.     }
  226.     return 0;
  227. }
  228. // Stocks
  229. forward HTTP_Resposta(index, response_code, data[]);
  230. stock enviarEmail(de[], para[], titulo[], mensagem[]) {
  231.     new str[512]; // de (128) + para (128) + titulo (128) + mensagem (128) ..
  232.     format(str, sizeof(str), "de=%s&para=%s&titulo=%s&msg=%s", de, para, titulo, mensagem);
  233.     http_request++;
  234.     return HTTP(http_request, HTTP_POST, URL_EMAIL, str, "HTTP_Resposta");
  235. }
  236. public HTTP_Resposta(index, response_code, data[]) {
  237.     return printf("HTTP: %i %i %s", index, response_code, data);
  238. }
  239.  
  240. carregar_MsgRecebidas(playerid, bool:apenasnaolidas = false) {
  241.     new str[250], Cache:re;
  242.     mysql_format(con_mysql, str, sizeof(str), "SELECT `mp_msgs`.`Mensagem`,`mp_contas`.`user` FROM `mp_msgs` INNER JOIN `mp_contas` ON `mp_msgs`.`de_contaid` = `mp_contas`.`id` WHERE `mp_msgs`.`para_contaid` = %i %s ORDER BY `mp_msgs`.`id` DESC LIMIT %i,20", pData[playerid][mID], (apenasnaolidas == true) ? ("AND `mp_msgs`.`lida`=0") : (""), pData[playerid][pagList]);
  243.     re = mysql_query(con_mysql, str, true);
  244.     if(cache_num_rows(con_mysql) > 0) { // Se há mensagens
  245.         new Nome[24], Mensagem[64], Dialog[1500];
  246.         for(new i; i < cache_num_rows(con_mysql); i++) {
  247.             cache_get_field_content(i, "user", Nome, con_mysql, 24);
  248.             cache_get_field_content(i, "Mensagem", Mensagem, con_mysql, 64);
  249.             format(Dialog, sizeof(Dialog), "%s%s: %s%s\r\n",Dialog,Nome,Mensagem,(strlen(Mensagem) >= 63) ? ("...") : (""));
  250.         }
  251.         if(cache_num_rows(con_mysql) >= 20)
  252.             strcat(Dialog, "\r\n{FFFF00}Próxima Página");
  253.         ShowPlayerDialog(playerid, (apenasnaolidas == false) ? (DialogMsgRecebida) : (DialogMsgNaoLidas), DIALOG_STYLE_LIST, "{FF0000}# {FFFFFF}Mensagens recebidas", Dialog, "Selecionar", "Cancelar");
  254.     } else SendClientMessage(playerid, -1, "{FF0000}[MP] Não há mensagens!");
  255.     cache_delete(re, con_mysql);
  256.     return 1;
  257. }
  258. carregar_MsgEnviadas(playerid) {
  259.     new str[250], Cache:en;
  260.     mysql_format(con_mysql, str, sizeof(str), "SELECT `mp_msgs`.`Mensagem`,`mp_contas`.`user` FROM `mp_msgs` INNER JOIN `mp_contas` ON `mp_msgs`.`para_contaid` = `mp_contas`.`id` WHERE `mp_msgs`.`de_contaid` = %i ORDER BY `mp_msgs`.`id` DESC LIMIT %i,20", pData[playerid][mID], pData[playerid][pagList]);
  261.     en = mysql_query(con_mysql, str, true);
  262.     if(cache_num_rows(con_mysql) > 0) {
  263.         new Nome[24], Mensagem[64], Dialog[1500];
  264.         for(new i; i < cache_num_rows(con_mysql); i++) {
  265.             cache_get_field_content(i, "user", Nome, con_mysql, 24);
  266.             cache_get_field_content(i, "Mensagem", Mensagem, con_mysql, 64);
  267.             format(Dialog, sizeof(Dialog), "%s%s: %s%s\r\n", Dialog,Nome,Mensagem,(strlen(Mensagem) >= 63) ? ("...") : (""));
  268.         }
  269.         if(cache_num_rows(con_mysql) >= 20)
  270.             strcat(Dialog, "\r\n{FFFF00}Próxima Página");
  271.         ShowPlayerDialog(playerid, DialogMsgEnviada, DIALOG_STYLE_LIST, "{FF0000}# {FFFFFF}Mensagens enviadas", Dialog, "Selecionar", "Cancelar");
  272.     }
  273.     else SendClientMessage(playerid, -1, "{FF0000}[MP] Não há mensagens!");
  274.     cache_delete(en, con_mysql);
  275.     return 1;
  276. }
  277.  
  278. // Comandos
  279. CMD:mp(playerid, params[]) {
  280.     new Msg[144], id, Mensagem[128];
  281.     if(pData[playerid][Bloqueado] != false) return SendClientMessage(playerid, -1, "{FF0000}Você bloqueou as mensagens privadas.");
  282.     if(sscanf(params, "us[128]", id, Mensagem)) return SendClientMessage(playerid, -1, "{FF0000}* Use: /mp [id/nome] [mensagem]");
  283.     if(playerid == id) return SendClientMessage(playerid, -1, "{FF0000}Você não pode enviar mensagem para si mesmo.");
  284.     if(strlen(Mensagem) >= 127) return SendClientMessage(playerid, -1, "{FF0000}Mensagem grande demais!");
  285.     if(!IsPlayerConnected(id)) { // Caso o jogador não esteja 'online', ele irá receber a mensagem assim que se conectar
  286.         new Nome[24], Cache:ec, q1[250], Data[6];
  287.         sscanf(params, "s[24]s[128]", Nome, Mensagem);
  288.         getdate(Data[2], Data[1], Data[0]);
  289.         gettime(Data[3], Data[4], Data[5]);
  290.         mysql_format(con_mysql, q1, sizeof(q1), "SELECT id,novas_mensagens,email FROM mp_contas WHERE user='%e' LIMIT 1", Nome);
  291.         ec = mysql_query(con_mysql, q1, true);
  292.         if(cache_num_rows(con_mysql) > 0) {
  293.             new pid = cache_get_field_content_int(0, "id", con_mysql), novas = cache_get_field_content_int(0, "novas_mensagens", con_mysql), pEmail[128];
  294.             cache_get_field_content(0, "email", pEmail, con_mysql, 128);
  295.             mysql_format(con_mysql, q1, sizeof(q1), "INSERT INTO mp_msgs (de_contaid,para_contaid,Mensagem,lida,horario,data) VALUES (%i,%i,'%e',0,%i,'%02d/%02d/%d %02d:%02d')", pData[playerid][mID], pid, Mensagem, gettime(), Data[0], Data[1], Data[2], Data[3], Data[4]);
  296.             mysql_query(con_mysql, q1, false);
  297.             mysql_format(con_mysql, q1, sizeof(q1), "UPDATE mp_contas SET novas_mensagens=%i WHERE id=%i", novas+1, pid);
  298.             mysql_query(con_mysql, q1, false);
  299.             format(Msg, sizeof(Msg), "{FFFF00}[MP ENVIADO] %s: %s",Nome,Mensagem);
  300.             SendClientMessage(playerid, -1, Msg);
  301.             if(strlen(pEmail) > 0 && strfind(pEmail, "@", true) != -1) {
  302.                 new MeuNome[24], MsgEmail[200];
  303.                 GetPlayerName(playerid, MeuNome, 24);
  304.                 format(MsgEmail, sizeof(MsgEmail), "Olá %s,\r\nVocê recebeu uma mensagem de %s no servidor.\r\nMensagem: %s",Nome, MeuNome, Mensagem);
  305.                 enviarEmail(EMAIL_ENVIO, pEmail, "Nova mensagem privada", MsgEmail);
  306.             }
  307.         }
  308.         else SendClientMessage(playerid,-1, "{FF0000}Ocorreu um erro ao enviar uma mensagem privada a este jogador.");
  309.         cache_delete(ec, con_mysql);
  310.         return 1;
  311.     }
  312.     if(pData[id][Bloqueado] != false) return SendClientMessage(playerid, -1, "{FF0000}Este jogador desabilitou o recebimento de mensagens privadas!");
  313.     new MyNome[24], OtNome[24];
  314.     GetPlayerName(playerid, MyNome, 24);
  315.     GetPlayerName(id, OtNome, 24);
  316.     format(Msg, 144, "{FFFF00}*[MP RECEBIDO] %s [%i]: %s", MyNome, playerid, Mensagem);
  317.     SendClientMessage(id, -1, Msg);
  318.     format(Msg, 144, "{FFFF00}*[MP ENVIADO] %s [%i]: %s", OtNome, id, Mensagem);
  319.     SendClientMessage(playerid, -1, Msg);
  320.     // Efetuar Query
  321.     new query[200], Data[6];
  322.     getdate(Data[2], Data[1], Data[0]);
  323.     gettime(Data[3], Data[4], Data[5]);
  324.     mysql_format(con_mysql, query, sizeof(query), "INSERT INTO mp_msgs (de_contaid,para_contaid,Mensagem,lida,horario,data) VALUES (%i,%i,'%e',1,%i,'%02d/%02d/%d %02d:%02d')", pData[playerid][mID], pData[id][mID], Mensagem, gettime(), Data[0], Data[1], Data[2], Data[3], Data[4]);
  325.     mysql_query(con_mysql, query, false);
  326.     return 1;
  327. }
  328. CMD:minhasmp(playerid, params[]) return ShowPlayerDialog(playerid, DialogOpMsg, DIALOG_STYLE_LIST, "{FFFF00}# {FFFFFF}Mensagens privadas:", "Recebidas\r\nEnviadas\r\nApenas não lidas\r\nE-mail para notificações", "Selecionar", "Cancelar");
  329. CMD:ativarmp(playerid, params[]) {
  330.     if(pData[playerid][Bloqueado] == false) return SendClientMessage(playerid, -1, "{FF0000}As mensagens privadas já estão ativadas!");
  331.     pData[playerid][Bloqueado] = false;
  332.     SendClientMessage(playerid, -1, "{FFFF00}Mensagens privadas ativadas!");
  333.     return 1;
  334. }
  335. CMD:desativarmp(playerid, params[]) {
  336.     if(pData[playerid][Bloqueado] != false) return SendClientMessage(playerid, -1, "{FF0000}As mensagens privadas já estão desativadas!");
  337.     pData[playerid][Bloqueado] = true;
  338.     SendClientMessage(playerid, -1, "{FFFF00}Mensagens privadas desativadas!");
  339.     return 1;
  340. }
  341. CMD:mps(playerid, params[]) return (pData[playerid][Bloqueado] == false) ? (cmd_desativarmp(playerid, params)) : (cmd_ativarmp(playerid, params));
  342.  
  343. /*
  344.         www.brasilmegatrucker.com
  345.     Sistema criado por Nícolas Corrêa
  346. */
Advertisement
Add Comment
Please, Sign In to add comment