[PEDIDO] Nгo mostrar o chat para certo player
#1

Pessoal, eu estou precisando da ajuda de vocкs! Eu estou querendo um cуdigo que bloqueie o chat somente para um player, tipo, ele nгo pode ver o chat. Tudo oq os outros digitar, nгo pode aparecer para ele. Pode aparecer somente quando terminar um certo tutorial. (Pesquisei no search, achei um do Drakins, mas o chat bloquiava para todos! Tambйm procurei por funзхes no Wiki sa-mp, tambйm nгo encontrei). Obrigado desde jб
Reply
#2

Tenta usar isto.

Para saber mais :

https://sampwiki.blast.hk/wiki/OnPlayerText

pawn Код:
// Topo do GM
#include <zcmd>
new DesabilitarChat[MAX_PLAYERS];
static 
zString[128],
    sPlayer
;

//Comando
CMD:desabilitarchat(playerid,params[])
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xFFFFFFF,"Vocк nгo й um Administrador !");
sPlayer= strval(params);
if(!IsPlayerConnected(sPlayer)) return SendClientMessage(playerid,0xFFFFFFF,"Este ID Atualmente estб desconectado");

format(zString,64,"Vocк desabilitou o Chat de %s(%d)  !",GetPlayerNick(playerid),playerid);
SendClientMessage(playerid,0xFFFFFF,zString);

DesabilitarChat[sPlayer] = 1;
return 1 ;
}

//Public
public OnPlayerText(playerid, text[])
{
    if(DesabilitarChat[playerid] == 1)return 0;
    return 1;
}
Reply
#3

Muito obrigado por me ajudar! Eu testei em um GM aqui e deu certo. Depois vou passar para o meu GM oficial e testar com 2 pessoas. Mas vocк me tirando essa dъvida antes de eu fazer isso, vai me ajudar muito! Tipo, ele ta bloqueado de digitar, mas se alguйm digitar no chat, ele vai ver?
Reply
#4

Sim.
Reply
#5

Entгo, esse й o problema. Eu quero que o player nгo veja o chat. O cуdigo que ele me passou, ajudou muito, mas nгo quero que o player veja o chat, quero um cуdigo que seja a mesma coisa de apertar F7, se tiver como, й claro.
Reply
#6

Coloque a funзгo de limpar a conversa, e ponhe um tempo indicando para limpar a cada 1 segundo, e tambйm ponha um destruidor quando ele nгo estiver mais com a conversa desativada.
Reply
#7

Sim, eu pensei em fazer isso, mas fazendo um SetTimer contando de 1 segundo, ele nгo pode dar lag no server?
Reply
#8

Knife tem como desabilitar o chat global com algum cmd?
Estou precisando de um desse sу que fiz de outra forma que deixa o gm maior quero um cуdigo pequeno.
Valeu se puder ajudar.
Reply
#9

Lucas nгo sei se й isso que vocк procura mais fiz pro meu sistema de admin assim:

pawn Код:
new gStr[256];

enum PlayerInfo
{
    Chat
}
new pInfo[MAX_PLAYERS][PlayerInfo];
pawn Код:
public OnPlayerText(playerid, text[])
{
    if(IsPlayerConnected(playerid))
    {
        if(pInfo[playerid][Chat] == 1)
        {
            SendClientMessage(playerid, 0xFC4430AA, "¤ (ERRO) O chat foi desativado e ninguem pode falar!");
            return 0;
        }
    }
    return 1;
}
pawn Код:
if(strcmp(cmd, "/chaton", true) == 0)
    {
        if(pInfo[playerid][AdminLogado] == 0)
        {
            SendClientMessage(playerid, 0xFC4430AA,"¤ (ERRO) Vocк nгo й Administrador!");
            return 1;
        }
        if(pInfo[playerid][AdminLevel] < 4)
        {
            SendClientMessage(playerid, 0xFFFF00AA,"¤ (ERRO) Vocк nгo tem level o suficiente de admin para usar esse comando!");
            return 1;
        }
        if(pInfo[playerid][AdminLevel] == 4 || 5)
        {
            for(new i=0; i < MAX_PLAYERS; i++)
            {
                if(IsPlayerConnected(i))
                {
                    pInfo[i][Chat] = 0;
                    pInfo[playerid][Chat] = 0;
                    format(gStr, sizeof(gStr), "¤ (Admin) O administrador '%s' ativou o chat.", Nome(playerid));
                    SendClientMessageToAll(0x00FF00AA, gStr);
                    return 1;
                }
            }
        }
        return 1;
    }

    if(strcmp(cmd, "/chatoff", true) == 0)
    {
        if(pInfo[playerid][AdminLogado] == 0)
        {
            SendClientMessage(playerid, 0xFC4430AA,"¤ (ERRO) Vocк nгo й Administrador!");
            return 1;
        }
        if(pInfo[playerid][AdminLevel] < 4)
        {
            SendClientMessage(playerid, 0xFFFF00AA,"¤ (ERRO) Vocк nгo tem level o suficiente de admin para usar esse comando!");
            return 1;
        }
        if(pInfo[playerid][AdminLevel] == 4 || 5)
        {
            for(new i=0; i < MAX_PLAYERS; i++)
            {
                if(IsPlayerConnected(i))
                {
                    pInfo[i][Chat] = 1;
                    pInfo[playerid][Chat] = 0;
                    format(gStr, sizeof(gStr), "¤ (Admin) O administrador '%s' desativou os chat.", Nome(playerid));
                    SendClientMessageToAll(0x00FF00AA, gStr);
                    return 1;
                }
            }
        }
        return 1;
    }
Sу adpatar se for o caso '-'


___________

Respondendo o lek logo aqui enbaixo

Testa lб manolo

\/
Reply
#10

Opa Valeu Jim ^^
Vou testar aqui.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)