[Ajuda] bug,Pm apareзendo para players!
#1

To com um bug no meo CMDm eu ativo a leitura mais eu entro em uma conta sem admin e eu mando algum pm pra a pessoa que eu ativei a leitura de pms e apareзe EX: PM DE: PEDRO PARA: JOAO coisa que so era para apareзer para admins setados...e no caso apareзe pra mim quem mandou pm para quem e para os demais conectados...ao invez de so para admins.

PM ABAIXO:

pawn Код:
CMD:pm(playerid, params[])
{
    new Menssagem[128];
    if(sscanf(params, "ds[128]", ID, Menssagem)) return Msg(playerid, Vermelho, "Uso Correto /pm id menssagem");
    if(ID == playerid) return Msg(playerid,-1,"Vocк nгo pode mandar pm para si mesmo!");
    if(!IsPlayerConnected(ID)) return Msg(playerid, -1, "ID Invalido!");
    if(PM[ID] == 1) return Msg(playerid, Vermelho, "O jogador estб com a PM bloqueada!");

    format(String, sizeof(String),"PM de: %s [ID: %d] Menssagem: %s", Nome(playerid), playerid, Menssagem);
    Msg(ID, Branco, String);

    format(String, sizeof(String), "PM Para: %s [ID: %d] Menssagem: %s", Nome(ID), ID, Menssagem);
    Msg(playerid, Branco, String);

    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(verPM[i] == ID)
        {
            format(String, sizeof(String), "PM de: %s para %s Mensagem: %s", Nome(playerid), Nome(ID), Menssagem);
            Msg(i, Verde, String);
        }
    }
    return 1;
}
Reply
#2

Esta usando que variбvel para autorizar o admin para ler as pms? Segue um exemplo abaixo.
pawn Код:
new bool:PoderLer[MAX_PLAYERS];

CMD:pm(playerid, params[])
{
    //...resto do cmd

    format(String, sizeof(String), "PM de: %s para %s Mensagem: %s", Nome(playerid), Nome(ID), Menssagem);

    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(PodeLer[i] == true)
        {
            Msg(i, Verde, String);
        }
    }

    return 1;
}

CMD:autorizar(playerid, params[])
{
    new id;
    if(sscanf(params, "u", id)) return Msg(playerid, Vermelho, "Uso Correto /autorizar [id]");
    new name[MAX_PLAYER_NAME], str[100];
    GetPlayerName(id, name, sizeof(name));
    format(str, sizeof(str), "Vocк autorizou %s a ler as mensagens", name);
    Msg(playerid, -1, str);

    GetPlayerName(playerid, name, sizeof(name));
    format(str, sizeof(str), "%s autorizou vocк a ler as mensagens", name);
    Msg(id, -1, str);

    PodeLer[id] = true;
    return 1;
}
Reply
#3

Nгo seria isto?
ou esta errado pois tenho no ativarpms [id]
e no CMDm

pawn Код:
if(verPM[i] == ID)
pawn Код:
CMD:ativarpms(playerid, params[]) {
    if(ContaPlayer[playerid][Admin] < 3)
        return Msg(playerid, Cinza, "Voce nao й adm level 3");
    if(sscanf(params, "u", ID))
        return Msg(playerid, Cinza, "Use: /ativarpms [id]");
    if(!IsPlayerConnected(ID))
        return Msg(playerid, Cinza, "Jogador desconectado");
    verPM[playerid] = ID;
    format(String, 128, "Vocк receberб todas as PM's recebidas e enviadas do player %s", Nome(ID));
    Msg(playerid, Amarelo, String);
    return 1;
}
Reply
#4

Cara eu nгo quero cmd que autorize player a ler eu tenho o ativarpms para que o id do player que eu escolher eu possa ler os PMS dele..e nгo autorizar ele a ler o de alguem ou de todos.. entendeu?? so tem esse bug ae que apareзe em verde o pm de para tal... para quem nгo esta setado mais isso so aconteзe quando o players nгo setado manda o pm para aquele que o admin ativou os pms.. entendeu?
Reply
#5

Quote:
Originally Posted by best95
Посмотреть сообщение
Cara eu nгo quero cmd que autorize player a ler eu tenho o ativarpms para que o id do player que eu escolher eu possa ler os PMS dele..e nгo autorizar ele a ler o de alguem ou de todos.. entendeu?? so tem esse bug ae que apareзe em verde o pm de para tal... para quem nгo esta setado mais isso so aconteзe quando o players nгo setado manda o pm para aquele que o admin ativou os pms.. entendeu?
Agora entendi, porem nгo entendi muito bem qual bug esta dando...
Reply
#6

Tipo o bug dado e que quando eu mando PM pro player que o admin poder ler as pms.. ele apareзe para mim como se eu fosse admin entendeu? apareзe oque eu mandei e apareзe ex: PM DE CARLOS PARA JOAO coisa que era para apareзer somente pro adm on e nгo para mim que mandei o pm para o player..

essa linha aqui que apareзe que nгo deveria....apareзe para quem manda o pm e para quem esta on no servidor
qualquer um ve que o tal player recebeu do outro que mandou - efetuou o cmd!

pawn Код:
for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(verPM[playerid] == ID)
        {
            format(String, sizeof(String), "PM de: %s para %s Mensagem: %s", Nome(playerid), Nome(ID), Menssagem);
            Msg(playerid, Verde, String);
        }
    }
Reply
#7

Quote:
Originally Posted by best95
Посмотреть сообщение
Tipo o bug dado e que quando eu mando PM pro player que o admin poder ler as pms.. ele apareзe para mim como se eu fosse admin entendeu? apareзe oque eu mandei e apareзe ex: PM DE CARLOS PARA JOAO coisa que era para apareзer somente pro adm on e nгo para mim que mandei o pm para o player..

essa linha aqui que apareзe que nгo deveria....apareзe para quem manda o pm e para quem esta on no servidor
qualquer um ve que o tal player recebeu do outro que mandou - efetuou o cmd!

pawn Код:
for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(verPM[playerid] == ID)
        {
            format(String, sizeof(String), "PM de: %s para %s Mensagem: %s", Nome(playerid), Nome(ID), Menssagem);
            Msg(playerid, Verde, String);
        }
    }
Agora que vi o erro, troque por isso, ou apenas troque "verPM[i] == ID" para "verPM[i] == playerid":
pawn Код:
for(new i = 0; i < MAX_PLAYERS; i++)
{
    if(verPM[i] == playerid)
    {
        format(String, sizeof(String), "PM de: %s para %s Mensagem: %s", Nome(playerid), Nome(ID), Menssagem);
        Msg(i, Verde, String);
    }
}
Reply
#8

Agora so apareзe pros players e pros admins agora nem apareзe kkkk
Reply
#9

tentou trocar ID por PLAYERID ?

pawn Код:
CMD:pm(playerid, params[])
{
    static
        Menssagem[128]
    ;
   
    if(sscanf(params, "ds[128]", ID, Menssagem))
        return Msg(playerid, Vermelho, "Uso Correto /pm id menssagem");
       
    if(ID == playerid)
        return Msg(playerid,-1,"Vocк nгo pode mandar pm para si mesmo!");
   
    if(!IsPlayerConnected(ID))
        return Msg(playerid, -1, "ID Invalido!");
       
    if(PM[ID] == 1)
        return Msg(playerid, Vermelho, "O jogador estб com a PM bloqueada!");

    format(String, sizeof(String),"PM de: %s [ID: %d] Menssagem: %s", Nome(playerid), playerid, Menssagem);
    Msg(ID, Branco, String);

    format(String, sizeof(String), "PM Para: %s [ID: %d] Menssagem: %s", Nome(ID), ID, Menssagem);
    Msg(playerid, Branco, String);

  /*  for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(verPM[i] == ID)
        {
            format(String, sizeof(String), "PM de: %s para %s Mensagem: %s", Nome(playerid), Nome(ID), Menssagem);
            Msg(i, Verde, String);
        }
    } */

   
    for(new i, e = GetMaxPlayers(); i != e; ++i){
        if(IsPlayerConnected(i)){ // para  nгo acessar alguma array sem inexistente
            if(i != playerid && verPM[i] == playerid){
                format(String, sizeof(String), "PM de: %s para %s Mensagem: %s", Nome(playerid), Nome(ID), Menssagem);
             }
        }
    }
    return 1;
}

Lуgica > Programaзгo.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)