SA-MP Forums Archive
[Ajuda] Ajuda aki com sscanf - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Ajuda aki com sscanf (/showthread.php?tid=396653)



Ajuda aki com sscanf - Gleisson_. - 01.12.2012

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.


Re: Ajuda aki com sscanf - ForT - 01.12.2012

tenta
pawn Код:
"us[150]"



Re: Ajuda aki com sscanf - Gleisson_. - 01.12.2012

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


Re: Ajuda aki com sscanf - FeelLikeASir_ - 01.12.2012

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


Re: Ajuda aki com sscanf - ForT - 01.12.2012

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


Re: Ajuda aki com sscanf - Gleisson_. - 01.12.2012

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


Re: Ajuda aki com sscanf - zSuYaNw - 01.12.2012

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;
}



Re: Ajuda aki com sscanf - Gleisson_. - 01.12.2012

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



Re: Ajuda aki com sscanf - FeelLikeASir_ - 01.12.2012

Faz o que eu disse cara.


Re: Ajuda aki com sscanf - Gleisson_. - 01.12.2012

Eu editei, leia acima ^^