new bool:Bloquear[MAX_PLAYERS]; // Variбvel global para cada ID logado
Mйtodo de uso:
if(Bloquear[playerid] == true), significa que estб bloqueado, e logo nгo poderб visualizar.
if(Bloquear[playerid] == false), significa que poderб visualizar.
Para setar valor booleano, Bloquear[playerid] = true ou false;
if(text[0] == '@')
{
if((Info[playerid][V1] >= 1) || Info[playerid][v2] >= 2)
{
if(BchatV1[playerid] == false)
{
new string[256];
format(string,sizeof(string)," ~ Chat: %s: %s",pName(playerid),text[1]);
for(new I = 0; I < MAX_PLAYERS; I ++)
{
if(IsPlayerConnected(I))
{
if(IsPlayerAdmin(I) || Account[I][V1] || Account[I][V2] >= 2) SendClientMessage(I, ~1, string);
}
}
}
}
return 0;
}
|
@XandyMello, usei dessa segunda forma que vocк disse ali, e quando uma pessoa usa o comando para bloquear ele estб bloqueando para todos, queria que seria bloqueado apenas para quem usou/usar o comando, bloquear o acesso e recebimento das mensagens dos outros players.
|
if(strcmp(cmd, "/desativarchat", true) == 0)
{
for(new i = 0; i < MAX_PLAYERS; ++i)
{
BchatV1[i] = false;
}
{
if(strcmp(cmd, "/ativarchat", true) == 0)
{
for(new i = 0; i < MAX_PLAYERS; ++i)
{
BchatV1[i] = true;
}
{
if(strcmp(cmd, "/desativarchat", true) == 0)
{
BchatV1[playerid] = false;
{
if(strcmp(cmd, "/ativarchat", true) == 0)
{
BchatV1[playerid] = true;
{
new bool:BchatV1[MAX_PLAYERS];
CMD:onx(playerid)
{
BchatV1[playerid] = false;
return 1;
}
CMD:offx(playerid)
BchatV1[playerid] = true;
return 1;
}
if(text[0] == '@')
{
if((V1[playerid][Mod] >= 1) || V2[playerid][Level] >= 2)
{
if(BchatV1[playerid] == false)
{
new string[256];
format(string,sizeof(string)," ~ Chat: %s: %s",pName(playerid),text[1]);
for(new I = 0; I < MAX_PLAYERS; I ++)
{
if(IsPlayerConnected(I))
{
if(IsPlayerAdmin(I) || V1[I][Mod] || V2[I][Level] >= 2) SendClientMessage(I, ~1, string);
}
}
}
}
return 0;
}
if(IsPlayerAdmin(I) || Account[I][Mod] || Account[I][Level] >= 2 || BchatV1[I] == true) SendClientMessage(I, 0x63AFF00A, string);
if(IsPlayerAdmin(I) || Account[I][Mod] || Account[I][Level] >= 2 || BchatV1[playerid] == true) SendClientMessage(I, 0x63AFF00A, string);
new pDisableADM;
CMD:a(playerid, params[])
{
if (PlayerData[playerid][pDisableADM]) // NOSSA FUNЗГO!
return SendErrorMessage(playerid, "Vocк tem que ativar o chat admin primeiro.");
if (!PlayerData[playerid][pAdmin])
return SendErrorMessage(playerid, "Vocк nгo possui permissгo para usar esse comando.");
if (isnull(params))
return SendSyntaxMessage(playerid, "/a [admin text]");
if (strlen(params) > 64) {
SendAdminAlert(COLOR_GREY, "** %d Admin %s(%s): %.64s", PlayerData[playerid][pAdmin], ReturnName(playerid, 0), PlayerData[playerid][pAdmNome], params);
SendAdminAlert(COLOR_GREY, "...%s **", params[64]);
}
else {
SendAdminAlert(COLOR_GREY, "** %d Admin %s(%s): %s **", PlayerData[playerid][pAdmin], ReturnName(playerid, 0), PlayerData[playerid][pAdmNome], params);
}
return 1;
}
CMD:bloquear(playerid, params[])
{
if (PlayerData[playerid][pAdmin] < 1)
return SendErrorMessage(playerid, "Vocк nгo estб autorizado a utilizar este comando.");
if (!PlayerData[playerid][pDisableADM])
{
PlayerData[playerid][pDisableADM] = 1;
SendServerMessage(playerid, "Vocк desativou o chat admin.");
}
else
{
PlayerData[playerid][pDisableADM] = 0;
SendServerMessage(playerid, "Vocк ativou o chat admin.");
}
return 1;
}
|
@Derritee1001, nгo testei, mas pelo que vi do seu cod ele bloquea o chat para todos que possui o acesso, coisa que nгo quero, se estiver errado me diga que testarei mais tarde.
- Quero um modo que bloqueie o acesso do playerID e o recebimento das mensagens de terceiros. Bloquear o acesso do playerid eu consigo, mas ele nгo bloqueia a mensagem das outras pessoas. |