Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //****************************************************************************//
- // - Sistema de 'Private Messages' desenvolvido por Adrian Fahrenheit Tepes - //
- //****************************************************************************//
- //****************************************************************************//
- // :: Versões ::
- // ~ 1.0 ~
- // CMD /pm [ID] [TEXTO] "Manda PM para um outro jogador"
- // CMD /bdpm "Bloqueia e desbloqueia você de receber e mandar PMs"
- // CMD /ignorar [ID] "Impede um outro jogador de mande/receba PMs de/para você"
- // CMD /lerpms "Faz com que algum administrador leia todas as PMs" (ADMIN)
- //****************************************************************************//
- #include <a_samp>
- #include <800p/pawno/include/sscanf2>
- #include <zcmd>
- #define SCM SendClientMessage
- #define COR_CINZA 0xAFAFAFAA
- #define COR_PADRAO 0xA9C4E4AA
- #define COR_ERRO 0xFF0000AA
- enum a_Info
- {
- bool:a_PPMBlock,
- bool:a_LerPMs
- }
- new AFT_Info[MAX_PLAYERS][a_Info];
- new jogador;
- new foignorado;
- public OnFilterScriptInit()
- {
- print("\n\n");
- print(" Sistema private messages, criado por:\n\n");
- print(" Adrian Fahrenheit Tepes\n\n\n");
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- AFT_Info[playerid][a_PPMBlock] = false;
- AFT_Info[playerid][a_LerPMs] = false;
- return 1;
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- CMD:pm(playerid, params[])
- {
- new mensagem;
- new str[128];
- if(AFT_Info[playerid][a_PPMBlock]) return SCM(playerid, COR_CINZA, " * {FF0000}[ERRO] {AFAFAF}- Você não pode enviar PMs, pois bloqueou o uso delas. Use: /bdpm para enviar e receber PMs");
- if(sscanf(params, "us", jogador, mensagem)) SCM(playerid, COR_CINZA," * USE: /PM [ID] [TEXTO] *");
- else
- {
- if(playerid == jogador) return SCM(playerid, COR_CINZA, " * {FF0000}[ERRO] {AFAFAF}- Você não pode mandar PMs para si mesmo.");
- if(!IsPlayerConnected(jogador)) return SCM(playerid, COR_CINZA, " * {FF0000}[ERRO] {AFAFAF}- Este jogador não está online.");
- if(AFT_Info[jogador][a_PPMBlock]) return SCM(playerid, COR_CINZA, " * {FF0000}[ERRO] {AFAFAF}- Este jogador bloqueou o uso de PMs.");
- format(str, sizeof(str), "jogador%d", playerid);
- foignorado = GetPVarInt(jogador, str);
- if(foignorado == 1) return SCM(playerid, COR_CINZA, " * {FF0000}[ERRO] {AFAFAF}- Este jogador ignorou você.");
- format(str, sizeof(str), "jogador%d", jogador);
- foignorado = GetPVarInt(playerid, str);
- if(foignorado == 1) return SCM(playerid, COR_CINZA, " * {FF0000}[ERRO] {AFAFAF}- Você ignorou esse jogador.");
- else
- {
- PlayerPlaySound(playerid, 1056, 0.0, 0.0, 0.0);
- PlayerPlaySound(jogador, 1057, 0.0, 0.0, 0.0);
- format(str, sizeof(str), " * {FF0000}» {FFFF00}[PM] {FFFFFF}- %s: %s {A9C4E4}*", Nome(playerid), mensagem);
- SCM(jogador, COR_PADRAO, str);
- GameTextForPlayer(jogador, "~y~PM ~g~RECEBIDA", 5000, 3);
- format(str, sizeof(str), " * {00FF00}« {FFFF00}[PM] {FFFFFF}- %s: %s {A9C4E4}*", Nome(playerid), mensagem);
- SCM(playerid, COR_PADRAO, str);
- GameTextForPlayer(playerid, "~y~PM ~r~ENVIADA", 5000, 3);
- format(str, sizeof(str), " * [PM] %s -> %s: %s *", Nome(playerid), Nome(jogador), mensagem);
- a_AbrirLog("/Logs/PMs.log", str);
- if(AFT_Info[playerid][a_LerPMs])
- {
- format(str, sizeof(str), " * {FFFF00}[PM] {FFFFFF}%s {00FF00}» {FFFFFF}%s: %s {A9C4E4}*", Nome(playerid), Nome(jogador), mensagem);
- MensagemAdmin(COR_PADRAO, str);
- }
- }
- }
- return 1;
- }
- CMD:bdpm(playerid, params[])
- {
- if(!AFT_Info[playerid][a_PPMBlock]) AFT_Info[playerid][a_PPMBlock] = true;
- else AFT_Info[playerid][a_PPMBlock] = false;
- return 1;
- }
- CMD:ignorar(playerid, params[])
- {
- new str[128];
- if(sscanf(params, "u", jogador)) SCM(playerid, COR_CINZA, " * USE: /ignorar [ID] *");
- else
- {
- if(playerid == jogador) return SCM(playerid, COR_CINZA, " * {FF0000}[ERRO] {AFAFAF}- Você não pode bloquear a si mesmo.");
- if(!IsPlayerConnected(jogador)) return SCM(playerid, COR_CINZA, " * {FF0000}[ERRO] {AFAFAF}- Este jogador não está online.");
- format(str, sizeof(str), "jogador%d", jogador);
- foignorado = GetPVarInt(playerid, str);
- if(foignorado == 0)
- {
- format(str, sizeof(str), "jogador%d", jogador);
- SetPVarInt(playerid, str, 1);
- format(str, sizeof(str), "{FFFF00} * Você ignorou o jogador %s *", Nome(jogador));
- SCM(playerid, COR_PADRAO, str);
- }
- else
- {
- format(str, sizeof(str), "jogador%d", jogador);
- SetPVarInt(playerid, str, 0);
- format(str, sizeof(str), "{FFFF00} * Você agora poderá receber PMs do jogador %s *", Nome(jogador));
- SCM(playerid, COR_PADRAO, str);
- }
- }
- return 1;
- }
- CMD:lerpms(playerid, params[])
- {
- if(!AFT_Info[playerid][a_LerPMs]) AFT_Info[playerid][a_LerPMs] = true;
- else AFT_Info[playerid][a_LerPMs] = false;
- return 1;
- }
- stock Nome(playerid)
- {
- new pNome[MAX_PLAYER_NAME];
- GetPlayerName(playerid, pNome, MAX_PLAYER_NAME);
- return pNome;
- }
- stock MensagemAdmin(cor, const string[])
- {
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerAdmin(i))
- {
- SCM(i, cor, string);
- }
- }
- return 1;
- }
- stock a_AbrirLog(const File[], string[])
- {
- new tlog[128];
- new t[7];
- getdate(t[0], t[1], t[2]);
- gettime(t[3], t[4], t[5]);
- format(tlog, sizeof(tlog), "(%d/%d/%d)[%02d:%02d:%d] %s\r\n",t[0],t[1],t[2],t[3],t[4],t[5], string);
- if(!fexist(File))
- {
- new File:Arquivo = fopen(File, io_write);
- fwrite(Arquivo, tlog);
- fclose(Arquivo);
- }
- else
- {
- new File:Arquivo = fopen(File, io_append);
- fwrite(Arquivo, tlog);
- fclose(Arquivo);
- }
- return 1;
- }
- //****************************************************************************//
- // - Sistema de 'Private Messages' desenvolvido por Adrian Fahrenheit Tepes - //
- //****************************************************************************//
- //****************************************************************************//
- // :: Versões ::
- // ~ 1.0 ~
- // CMD /pm [ID] [TEXTO] "Manda PM para um outro jogador"
- // CMD /bdpm "Bloqueia e desbloqueia você de receber e mandar PMs"
- // CMD /ignorar [ID] "Impede um outro jogador de mande/receba PMs de/para você"
- // CMD /lerpms "Faz com que algum administrador leia todas as PMs" (ADMIN)
- //****************************************************************************//
Advertisement
Add Comment
Please, Sign In to add comment