[AJUDA] O que estб de errado? -
deregudegu - 02.03.2011
Nгo sei porque, mas estб dando erro nesse cуdigo.
pawn Код:
if(strcmp("/ban", cmdtext, true, 6) == 0)
{
new Vazio1[128];
new Vazio2[128];
Vazio1 = KcmD(1, cmdtext);
Vazio2 = KcmD(2, cmdtext);
if(!strlen(Vazio1))
{
SendClientMessage(playerid, 0xFFFFFFFF, "[RLT]: /ban [id] [motivo]");
return 1;
}
if(!strlen(Vazio2))
{
SendClientMessage(playerid, 0xFFFFFFFF, "[RLT]: /ban [id] [motivo]");
return 1;
}
new name[MAX_PLAYER_NAME];
new msg[50];
new adm[MAX_PLAYER_NAME];
GetPlayerName(playerid,adm,sizeof(adm));
GetPlayerName(Vazio1,name,sizeof(name));//linha 428
format(msg,"[RLT]: %d foi banido por %d pelo motivo: %d",name,adm,Vazio2);//linha 249
dini_IntSet(ReturnFileUser(Vazio1),"bBan", 1);//linha 430
dini_IntSet(ReturnFileUser(Vazio1),"bBanM", Motivo);//linha 431
SendClientMessageToAll(CINZA4,msg);
Kick(Vazio1);//linha 433
return 1;
}
Erros:
Код:
G:\Samp Server\gamemodes\RLB2.pwn(428) : error 035: argument type mismatch (argument 1)
G:\Samp Server\gamemodes\RLB2.pwn(429) : error 035: argument type mismatch (argument 2)
G:\Samp Server\gamemodes\RLB2.pwn(430) : error 035: argument type mismatch (argument 1)
G:\Samp Server\gamemodes\RLB2.pwn(431) : error 035: argument type mismatch (argument 1)
G:\Samp Server\gamemodes\RLB2.pwn(433) : error 035: argument type mismatch (argument 1)
Re: [AJUDA] O que estб de errado? -
Ricop522 - 02.03.2011
Nгo entendo de kcmd mais vai.:
pawn Код:
if(strcmp("/ban", cmdtext, true, 6) == 0)
{
new Vazio1[128];
new Vazio2[128];
Vazio1 = KcmD(1, cmdtext);
Vazio2 = KcmD(2, cmdtext);
if(!strlen(Vazio1))
{
SendClientMessage(playerid, 0xFFFFFFFF, "[RLT]: /ban [id] [motivo]");
return 1;
}
if(!strlen(Vazio2))
{
SendClientMessage(playerid, 0xFFFFFFFF, "[RLT]: /ban [id] [motivo]");
return 1;
}
new name[MAX_PLAYER_NAME];
new msg[50];
new adm[MAX_PLAYER_NAME];
GetPlayerName(playerid,adm,sizeof(adm));
GetPlayerName(Vazio1,name,sizeof(name));//linha 428
format(msg, sizeof(msg), "[RLT]: %d foi banido por %d pelo motivo: %d",name,adm,Vazio2);//linha 249
SendClientMessageToAll(CINZA4,msg);
dini_IntSet(ReturnFileUser(Vazio1),"bBan", 1);//linha 430
dini_IntSet(ReturnFileUser(Vazio1),"bBanM", Motivo);//linha 431
Kick(Vazio1);//linha 433
return 1;
}
Re: [AJUDA] O que estб de errado? -
deregudegu - 02.03.2011
Eu mudei,
Estou usando o Fcmd.
Re: [AJUDA] O que estб de errado? -
LuxurioN™ - 03.03.2011
Quote:
Originally Posted by deregudegu
Eu mudei,
Estou usando o Fcmd.
|
Particularmente eu nunca vi estes sistemas: KcmD ou Fcmd. Porйm, ainda recomendo
YCMD +
Sccanf: trabalham realmente rбpido, e sua memуria vai agradecer. Como eu disse, por nгo saber como funciona Kcmd/Fcmd, nгo sei se o seu cуdigo vai trabalhar com perfeiзгo. Apenas observei algumas coisas que me deixaram "
intrigado":
pawn Код:
format(msg, sizeof(msg), "[RLT]: %d foi banido por %d pelo motivo: %d",name,adm,Vazio2);
%d = Imprime um
Nъmero Inteiro. No caso, acredito que nгo seja um nъmero que vocк esteja tentando imprimir. E sim uma string (O nome do jogador). Portanto: "
%s"
Outra coisa:
Por que
50? Se for estiver tentando imprimir o nome do jogador, o nome do administrador e o possнvel motivo juntamente com a frase, vai ultrapassar o tamanho da sua "string":
pawn Код:
"[RLT]: %d foi banido por %d pelo motivo: %d" //44 caracteres (Desconsiderando os dois '%d' que nгo estarгo na frase final e o caracter "Null" (Nulo), temos: 39).
Vamos fazer uma suposiзгo:
pawn Код:
//39 caracteres + Nome do Jogador (Ex:+8) + Nome do Administrator(Ex:+8) + Motivo(Ex:+10) = +50 (65).
//65-50=15.
Conclusгo: Todos os valores acima do valor total da sua "string" nгo vгo aparecer na sua frase final. No caso, seria
-15 caracteres na sua frase final.