[Ajuda] Chat de administrador.
#1

Alguem poderia me ajudar? pois estou criando um sistema de administrador, que talvez irei postar aqui, e gostaria de saber como eu poderia criar um chat de administrador? no estilo /a.

eu fiz varios comandos mas sу estou presisando disso. alguem poderia me ajudar?

ou uma lуgica? pois nгo sei como indentificar quem sгo os administradores, para mandar mensagem somente a eles no chat admin.

vбriavel:
pawn Код:
PlayerInfo[playerid][pAdmin]
Reply
#2

Loop
pawn Код:
for(new ID; ID < MAX_PLAYERS; ID++) {

     if(PlayerInfo[ID][pAdmin] >= 1) SendClientMessage(ID, -1, #);
}
Reply
#3

Quote:
Originally Posted by Dolby
Посмотреть сообщение
Loop
pawn Код:
for(new ID; ID < MAX_PLAYERS; ID++) {

     if(PlayerInfo[ID][pAdmin] >= 1) SendClientMessage(ID, -1, "#");
}
um, agora porfavor explique-me para que posso entender, e fazer sistemas fъturos.

esse cуdigo irб fazer um loop em todos os jogadores, e dentro desse loop ele irб verificar qual й administrador de todos os players?, se 3 deles for administrador vai mandar a mensagem #?
Reply
#4

pawn Код:
forward AdminMessage(color,const string[],level);
public AdminMessage(color,const string[],level)
{
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            if (PlayerInfo[i][pAdmin] >= level)
            {
                SendClientMessage(i, color, string);
            }
        }
    }
    return 1;
}

CMD:a(playerid,params[])
{
   if(PlayerInfo[playerid][pAdmin] == 0) return SendClientMessage(playerid,-1,"Nгo й admin");
   new string[124];
   if(!sscanf(params,"s[124]",string)) return SendClientMessage(playerid,-1,"/a [mensagem]");
   AdminMessage(0xFF0000, string,1);  
   return 1;
}

@@ ajudei? rep
Reply
#5

Quote:
Originally Posted by Diksplay
Посмотреть сообщение
um, agora porfavor explique-me para que posso entender, e fazer sistemas fъturos.

esse cуdigo irб fazer um loop em todos os jogadores, e dentro desse loop ele irб verificar qual й administrador de todos os players?, se 3 deles for administrador vai mandar a mensagem #?
Parabйns, vocк nгo й como todos aqui, que apenas querem o cуdigo pronto.

Entгo, este cуdigo vai passar por todos os ID's, de 0 a 500(MAX_PLAYERS), entгo ele vai verificar:

Se ID 0 Tiver variбvel Administrador maior que 0, envia mensagem.
Se ID 1 Tiver variбvel Administrador maior que 0, envia mensagem.
Se ID 2 Tiver variбvel Administrador maior que 0, envia mensagem.
Se ID 3 Tiver variбvel Administrador maior que 0, envia mensagem.
Se ID 4 Tiver variбvel Administrador maior que 0, envia mensagem.
Se ID 5 Tiver variбvel Administrador maior que 0, envia mensagem.

Basicamente isto, se chama estrutura de repetiзгo, tem vбrios tutoriais aqui no fуrum sobre, dк uma pesquisa, й um assunto indispensбvel. E caso ainda resta alguma dъvida, nгo hesite em perguntar.
Reply
#6

pawn Код:
SendAdminMessage(Message[])
{
    for ( new h; h < MAX_PLAYERS; h++ )
    {
        if ( PlayerInfo[h][pAdmin] > 0)
        {
            SendClientMessage(h, -1, Message);
        }
    }
}
Uso:

pawn Код:
SendAdminMessage("Exemplo De Menssagem");
Nгo testei, creio que deve funcionar.
Reply
#7

comando baisco:
pawn Код:
COMMAND:a(playerid, params[])
{
    // Cria variaveis
    new Name[24], Msg[128], Message[128];

    GetPlayerName(playerid, Name, sizeof(Name));

    // Verifica se o jogador e ADM
    if (PlayerInfo[playerid][pAdmin] > 0)
    {
        if (sscanf(params, "s[128]", Message)) SendClientMessage(playerid, 0xFF0000FF, "Use: \"/a <sua Mensagem>\"");
        else
        {
            // Loop percorrer todos os jogadores
            for (new i; i < MAX_PLAYERS; i++)
            {
                // Verifica se o jogador que vai receber a mensagem e adm
                if (APlayerData[i][PlayerLevel] > 0)
                {
                    format(Msg, 128, "{FF0000}[Admin] %s: {FFFFFF}%s", Name, Message);
                    SendClientMessage(i, 0xFFFFFFFF, Msg);
                }
            }
        }
    }
    else
        return 0;

    return 1;
}
Reply
#8

Quote:
Originally Posted by Dolby
Посмотреть сообщение
Parabйns, vocк nгo й como todos aqui, que apenas querem o cуdigo pronto.

Entгo, este cуdigo vai passar por todos os ID's, de 0 a 500(MAX_PLAYERS), entгo ele vai verificar:

Se ID 0 Tiver variбvel Administrador maior que 0, envia mensagem.
Se ID 1 Tiver variбvel Administrador maior que 0, envia mensagem.
Se ID 2 Tiver variбvel Administrador maior que 0, envia mensagem.
Se ID 3 Tiver variбvel Administrador maior que 0, envia mensagem.
Se ID 4 Tiver variбvel Administrador maior que 0, envia mensagem.
Se ID 5 Tiver variбvel Administrador maior que 0, envia mensagem.

Basicamente isto, se chama estrutura de repetiзгo, tem vбrios tutoriais aqui no fуrum sobre, dк uma pesquisa, й um assunto indispensбvel. E caso ainda resta alguma dъvida, nгo hesite em perguntar.
fiz aqui o code, estб certo?
pawn Код:
YCMD:a(playerid, params[], help)
{
 new name[24], string[128], texto[128];
 GetPlayerName(playerid,name,sizeof(name));
 if(sscanf(params,"s",texto)) return SendClientMessage(playerid,-1,"/a [MENSAGEM]");
 for(new ID; ID < MAX_PLAYERS; ID++) {
 if(PlayerInfo[playerid][pAdmin] >= 1)
 format(string,sizeof(string),"[CHAT ADMIN] - %s(ID:%i): %s",name,playerid,texto);
 SendClientMessage(ID, string);
 }
 return 1;
}
Deu um erro, mas eu nгo entendi porquк:
argument type mismatch (argument 2)

ao meu ver estб bom. mas serб que vai funcionar? este code?
Reply
#9

SendClientMessage(ID, string);

id, cor, mensagem!

Sгo 3 parвmetros !
Reply
#10

Quote:
Originally Posted by Schocc
Посмотреть сообщение
SendClientMessage(ID, string);

id, cor, mensagem!

Sгo 3 parвmetros !
Sim corrigi, mas agora estб aparecendo as mensagems que os administradores mandam no chat admin para os players!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)