[Ajuda] Erro "argument type mismatch (argument 3)"
#1

Bom, faz uns 2 meses(ou menos) que eu nгo mexia mais com Samp e Pawn, voltei com um antigo projeto, estava fazendo um sistema de banimento, mas estou com problemas, fica dando o erro "argument type mismatch (argument 3)".
Sei que devo estar errando em bobagem, pois em 2 meses perdi todo o jeito.

Comando de banir:
PHP код:
CMD:banir(playeridparams[])
{
    if(
Logado[playerid] == false) return SendClientMessage(playeridCOR_ERRO"Logue antes de digitar algum comando");
    if(
Player[playerid][Admin] < 3)
    {
        
SendClientMessage(playeridCOR_ERRO"Vocк nгo tem permissгo para usar esse comando");
        return 
1;
     }
    new 
dias;
    new 
idban;
    new 
motivo[128];
    if(
sscanf(params"ids"idbandiasmotivo))
    {
        
SendClientMessage(playerid,COR_ERRO,"Use: /daradmin [ID] [Dias] [Motivo]");
        return 
1;
    }
    if(!
IsPlayerConnected(idban))
     {
        
SendClientMessage(playeridCOR_ERRO"Este jogador nгo estб conectado");
        return 
1;
    }
    if(
dias || dias 356)
     {
        
SendClientMessage(playeridCOR_ERRO"Os Dias devem ser entre 1 e 356");
        return 
1;
    }
    
BanirPlayer(idbandiasmotivoplayerid); //Linha do Erro
     
return 1;

Tentei criar isso para facilitar isso em futuros sistemas...
PHP код:
BanirPlayer(playeriddiasmotivoadmin)
{
    new 
msg[220];
    new 
Banfile[35];
    new 
motivoban[50];
    new 
NomeAdmin[20];
    
format(msgsizeof(msg), "%s foi banido pelo admin: %s, por: %d Dias, motivo: %s"GetName(playerid), GetName(admin), diasmotivo);
    
format(Banfilesizeof(Banfile), "Banidos/%s.ini"GetName(playerid));
    
format(motivobansizeof(motivoban), "%s"motivo);
    
format(NomeAdminsizeof(motivoban), "%s"admin);
    
SendClientMessageToAll(COR_ERROmsg);
    
dias dias 86400;
    
dias dias gettime();
    
DOF2_CreateFile(Banfile);
    
DOF2_SetInt(Banfile"Tempo(Seg)"dias);
    
DOF2_SetString(Banfile"Motivo"motivoban);
    
DOF2_SetString(Banfile"Admin"NomeAdmin);
     return 
SetTimerEx("Kick1Seg"1000false"i"playerid);

Obs: Mostrei onde estб o erro, la no primeiro cуdigo.
Obs: Sei que o cуdigo esta bem mal feito, nunca fui bom com isso.
Reply
#2

PHP код:
BanirPlayer(playeriddiasmotivo[], admin
Parвmetros das funзхes:

Caso for String: nomeParametro[]
Caso for Float: Float:nomeParametro

...

#edit

OBS№: Quando se usa sscanf deve-se informar o tamanho da string, caso contrбrio sera mostrado um aviso no console de seu servidor.

OBSІ:Quando for informar o ID do jogador no comando use "u", assim vocк poderб digitar o nome ou parte do nome no comando.

Exemplo:

/ban 0
/ban Erazo

PHP код:
sscanf(params"uds[TAMANHO_AQUI]"idbandiasmotivo
Beijos!
Reply
#3

Quote:
Originally Posted by Gii
Посмотреть сообщение
PHP код:
BanirPlayer(playeriddiasmotivo[], admin
Parвmetros das funзхes:

Caso for String: nomeParametro[]
Caso for Float: Float:nomeParametro

...

#edit

OBS№: Quando se usa sscanf deve-se informar o tamanho da string, caso contrбrio sera mostrado um aviso no console de seu servidor.

OBSІ:Quando for informar o ID do jogador no comando use "u", assim vocк poderб digitar o nome ou parte do nome no comando.

Exemplo:

/ban 0
/ban Erazo

PHP код:
sscanf(params"uds[TAMANHO_AQUI]"idbandiasmotivo
Beijos!
Resolvido, obrigado.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)