[Ajuda] Bug na sscanf
#1

Como o tуpico jб diz tudo, minha sscanf tб bugada. Eu atualizei ela hoje, ai todos comandos pararam de funcionar.

Ai fica falando assim, Ex: Use: blabla <id>.. Vou postar um comando de exemplo.

pawn Код:
CMD:ban(playerid,params[])
{
    new banido,rasao[300],string[350];
    new arq[40];
    new ip[20];
    GetPlayerIp(banido,ip,sizeof(ip));
    format(arq,sizeof(arq),"Logs/Bans.ini");
    if(playerinfo[playerid][Admin] < 2) return SendClientMessage(playerid,branco,"SERVER: Unknown command.");
    if(!IsPlayerConnected(banido)) return SendClientMessage(playerid,red,"-Erro- Jogador nгo conectado");
    if(sscanf(params,"us",banido,rasao)) return SendClientMessage(playerid,yellow,"Use: /ban <id> <motivo>");
    Ban(banido);
    playerinfo[banido][Banido] = 1;
    format(string,sizeof(string),"-OpLog- [ Admin: %s | Baniu: %s | IP: %s | Motivo: %s ]",Nome(playerid),Nome(banido),ip,rasao);
    SendAdminMessage(laranja,string);
    writeLog(arq,string);
    return 1;
}
Ai nгo funfan sу fica assim, " Use: /ban <id> <motivo> " ..

Alguйm sabe oque pode ser?
Reply
#2

pawn Код:
CMD:ban(playerid,params[])
{
    new banido,rasao[300],string[350];
    new arq[40];
    new ip[20];
    if(playerinfo[playerid][Admin] < 2) return SendClientMessage(playerid,branco,"SERVER: Unknown command.");    
    if(sscanf(params,"us[300]",banido,rasao)) return SendClientMessage(playerid,yellow,"Use: /ban <id> <motivo>");
    if(!IsPlayerConnected(banido)) return SendClientMessage(playerid,red,"-Erro- Jogador nгo conectado");
    GetPlayerIp(banido,ip,sizeof(ip));
    format(arq,sizeof(arq),"Logs/Bans.ini");
    Ban(banido);
    playerinfo[banido][Banido] = 1;
    format(string,sizeof(string),"-OpLog- [ Admin: %s | Baniu: %s | IP: %s | Motivo: %s ]",Nome(playerid),Nome(banido),ip,rasao);
    SendAdminMessage(laranja,string);
    writeLog(arq,string);
    return 1;
}
Tenta aн
Reply
#3

se for windows instala o microsoft visual basic e a versгo mais nova do sscanf, se for linux sу use a versгo mais nova do sscanf
Reply
#4

Quote:
Originally Posted by .FuneraL.
Посмотреть сообщение
pawn Код:
CMD:ban(playerid,params[])
{
    new banido,rasao[300],string[350];
    new arq[40];
    new ip[20];
    if(playerinfo[playerid][Admin] < 2) return SendClientMessage(playerid,branco,"SERVER: Unknown command.");    
    if(sscanf(params,"us[300]",banido,rasao)) return SendClientMessage(playerid,yellow,"Use: /ban <id> <motivo>");
    if(!IsPlayerConnected(banido)) return SendClientMessage(playerid,red,"-Erro- Jogador nгo conectado");
    GetPlayerIp(banido,ip,sizeof(ip));
    format(arq,sizeof(arq),"Logs/Bans.ini");
    Ban(banido);
    playerinfo[banido][Banido] = 1;
    format(string,sizeof(string),"-OpLog- [ Admin: %s | Baniu: %s | IP: %s | Motivo: %s ]",Nome(playerid),Nome(banido),ip,rasao);
    SendAdminMessage(laranja,string);
    writeLog(arq,string);
    return 1;
}
Tenta aн
Rsrs valeu mano mais sу o sistema de admin tem 50 e tantos comandos..

Quote:
Originally Posted by BlackDonelly
Посмотреть сообщение
se for windows instala o microsoft visual basic e a versгo mais nova do sscanf, se for linux sу use a versгo mais nova do sscanf
blz
Reply
#5

Ae gente voltou a dar certo aqui..

Mais ainda tenho um problema, й em todos os comandos..



pawn Код:
if(!IsPlayerConnected(banido)) // Nгo й " Banido " em todos comandos..
Reply
#6

Mostra o comando de setar colete
Reply
#7

Quote:
Originally Posted by BlackDonelly
Посмотреть сообщение
se for windows instala o microsoft visual basic e a versгo mais nova do sscanf, se for linux sу use a versгo mais nova do sscanf
Na verdade teria que instalar o Microsoft Visual C++ Redistributable Package
Reply
#8

pawn Код:
CMD:setarcolete(playerid,params[])
{
    new id,colete,string[150];
    if(playerinfo[playerid][Admin] < 2) return 1;
    if(!IsPlayerConnected(id)) return SendClientMessage(playerid,red,"-Erro- Jogador nгo conectado");
    if(sscanf(params,"ud",id,colete)) return SendClientMessage(playerid,yellow,"Use: /setarcolete <id> <quantidade>");
    format(string,sizeof(string),"-OpLog- [ Admin: %s | Setou o Colete de: %s | Para: %d ]",Nome(playerid),Nome(id),colete);
    SendAdminMessage(laranja,string);
    SetPlayerArmour(id,colete);
    return 1;
}
Reply
#9

pawn Код:
CMD:setarcolete(playerid,params[])
{
    if(playerinfo[playerid][Admin] < 2) return 1;
    new id,Float:colete,string[128];
    if(sscanf(params,"rf",id,colete)) return SendClientMessage(playerid,yellow,"Use: /setarcolete <id> <quantidade>");
    if(!IsPlayerConnected(id)) return SendClientMessage(playerid,red,"-Erro- Jogador nгo conectado");
    format(string,sizeof(string),"-OpLog- [ Admin: %s | Setou o Colete de: %s | Para: %.2f ]",Nome(playerid),Nome(id),colete);
    SendAdminMessage(laranja,string);
    SetPlayerArmour(id,colete);
    return 1;
}
Reply
#10

Quote:
Originally Posted by Viniborn
Посмотреть сообщение
pawn Код:
CMD:setarcolete(playerid,params[])
{
    if(playerinfo[playerid][Admin] < 2) return 1;
    new id,Float:colete,string[128];
    if(sscanf(params,"rf",id,colete)) return SendClientMessage(playerid,yellow,"Use: /setarcolete <id> <quantidade>");
    if(!IsPlayerConnected(id)) return SendClientMessage(playerid,red,"-Erro- Jogador nгo conectado");
    format(string,sizeof(string),"-OpLog- [ Admin: %s | Setou o Colete de: %s | Para: %.2f ]",Nome(playerid),Nome(id),colete);
    SendAdminMessage(laranja,string);
    SetPlayerArmour(id,colete);
    return 1;
}
Percebi que vocк mudou a ordem, pode me dizer como deve ser a ordem correta? porque me sistema administrativo tem 55 comandos vou mudar todos..
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)