[Ajuda] Ajuda aki com sscanf
#1

PHP код:
CMD:x9(playeridparams[])
{
    new 
VictimIDMotivo[150];
    if(
sscanf(params"ds[150]"VictimIDMotivo)) Mensagem(playeridRED"Erro: /x9 [ID] [Motivo]");
    
GetPlayerName(playeridgAdminNamesizeof(gAdminName));
    
GetPlayerName(VictimIDgPlayerNamesizeof(gPlayerName));
    
format(gStringsizeof(gString), "[DENUNCIA]: %s Denunciou o Jogador %s Pelo Motivo: %s"gAdminNamegPlayerNameMotivo);
    for(new 
0MAX_PLAYERSi++)
    {
        if(
Informacoes[i][PlayerAdmin] >= 1)
        {
            
Mensagem(iREDgString);
        }
    }
    return 
true;

O unico problema deste code й na linha

PHP код:
    if(sscanf(params"ds[150]"VictimIDMotivo)) Mensagem(playeridRED"Erro: /x9 [ID] [Motivo]"); 
Se eu deixo sem return quando eu digito o comando. ele reporta automaticamente o Id 0. Ou o id mais baixo do servidor.
Que ficaria assim como esta acima.

E seu eu deixo com return o comando nao funciona. Eu digito /x9, ele aparece a mensagem, mais se eu digito /x9 0 Teste. Ele Fica retornando a dizer a mensagem, alguйm tem uma soluзгo para este problema.
Code:

PHP код:
    if(sscanf(params"ds[150]"VictimIDMotivo))  return Mensagem(playeridRED"Erro: /x9 [ID] [Motivo]"); 
Nota: Isso acontece com outros comandos, como o /Kick, ele kicka o id 0.
Preciso urgentemente de uma ajuda nisto.
Reply
#2

tenta
pawn Код:
"us[150]"
Reply
#3

Quote:
Originally Posted by ForT
Посмотреть сообщение
tenta
pawn Код:
"us[150]"
Com o return na mensagem ou sem ?
Reply
#4

Nem vi o cуdigo, mas se for problema de id zero, retire a include, use apenas a stock "solta" no script.
Reply
#5

Quote:
Originally Posted by Gleisson_.
Посмотреть сообщение
Com o return na mensagem ou sem ?
com return.
Reply
#6

Quote:
Originally Posted by ForT
Посмотреть сообщение
com return.
Continua dando a mensgem e o comando nao funciona.
Reply
#7

Tente isto:
pawn Код:
CMD:x9(playerid, params[])
{
    static
        giveplayerid,
        Motivo[128]
    ;
   
    giveplayerid = 0, Motivo[0] = '\0';
   
    if(sscanf(params, "us[128]", giveplayerid, Motivo))
        return SendClientMessage(playerid, RED, "Erro: /x9 [ID] [Motivo]");
   
    if(!IsPlayerConnected(giveplayerid) || giveplayerid == playerid)
        return SendClientMessage(playerid, RED, "Player nгo conectado ou й vocк mesmo.");
       
    format(gString, sizeof(gString), "[DENUNCIA]: %s Denunciou o Jogador %s Pelo Motivo: %s", (GetPlayerName(playerid, gAdminName, 24), gAdminName), (GetPlayerName(giveplayerid, gAdminName, 24), gAdminName), Motivo);
   
    static
        Interador,
        MaxPlayer
    ;
   
    for(Interador = 0, MaxPlayer = GetMaxPlayers(); Interador != MaxPlayer; ++Interador){
        if(Informacoes[Interador][PlayerAdmin] >= 1){
            SendClientMessage(Interador, RED, gString);
        }
    }
    return true;
}
Reply
#8

Quote:
Originally Posted by [Full]Garfield[XDB]
Посмотреть сообщение
Tente isto:
pawn Код:
CMD:x9(playerid, params[])
{
    static
        giveplayerid,
        Motivo[128]
    ;
   
    giveplayerid = 0, Motivo[0] = '\0';
   
    if(sscanf(params, "us[128]", giveplayerid, Motivo))
        return SendClientMessage(playerid, RED, "Erro: /x9 [ID] [Motivo]");
   
    if(!IsPlayerConnected(giveplayerid) || giveplayerid == playerid)
        return SendClientMessage(playerid, RED, "Player nгo conectado ou й vocк mesmo.");
       
    format(gString, sizeof(gString), "[DENUNCIA]: %s Denunciou o Jogador %s Pelo Motivo: %s", (GetPlayerName(playerid, gAdminName, 24), gAdminName), (GetPlayerName(giveplayerid, gAdminName, 24), gAdminName), Motivo);
   
    static
        Interador,
        MaxPlayer
    ;
   
    for(Interador = 0, MaxPlayer = GetMaxPlayers(); Interador != MaxPlayer; ++Interador){
        if(Informacoes[Interador][PlayerAdmin] >= 1){
            SendClientMessage(Interador, RED, gString);
        }
    }
    return true;
}
Continua dando a maldita MENSAGEM

@EDIT: Consegui

PHP код:
CMD:x9(playeridparams[])
{
    new 
VictimIDMotivo[150];
    if(
sscanf(params"ds"VictimIDMotivo))  return Mensagem(playeridRED"Erro: /x9 [ID] [Motivo]");
    
GetPlayerName(playeridgAdminNamesizeof(gAdminName));
    
GetPlayerName(VictimIDgPlayerNamesizeof(gPlayerName));
    
format(gStringsizeof(gString), "[DENUNCIA]: %s Denunciou o Jogador %s Pelo Motivo: %s"gAdminNamegPlayerNameMotivo);
    for(new 
0MAX_PLAYERSi++)
    {
        if(
Informacoes[i][PlayerAdmin] >= 1)
        {
            
Mensagem(iREDgString);
        }
    }
    return 
true;

Alguйm tem um tutorial para eu estudar as funзхes do sscanf tipo:

Код:
ds
s
d
Reply
#9

Faz o que eu disse cara.
Reply
#10

Eu editei, leia acima ^^
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)