[Ajuda] Comando nгo vai
#1

Entгo amigos eu adaptei um sistema de ban no meu gamemode mбs quando digito o comando ele aparece
a mensagem dizendo da forma que devo digitar mбs eu digitei certo
PHP код:
CMD:desban(playeridparams[])
{
    new 
nick[24], Arquivo[64];
    if(
sscanf(params"s[24]"nick)) return SCM(playeridCOLOR_GREY""TAG_USOCORRETO" /desban [playerid/Nick]");
    
format(Arquivo64"Banidos/%s.ini"nick);//Desbanindo Ip
    
format(Arquivo64"Banidos/%s.ini"Pegarip(playerid));//Desbanindo Nick
    
if(!DOF2_FileExists(Arquivo)) return SCM(playeridCOLOR_RED,""TAG_ERROR" Estб conta nгo se encontra banida.");
    if(
DOF2_FileExists(Arquivo))
    {
         
DOF2_RemoveFile(Arquivo);
        
SCM(playeridCOLOR_PRINCIPAL""TAG_INFO" Conta retirada da lista de bans com sucesso.");
    }
    return 
1;
}
//
CMD:agendarban(playeridparams[])//Faz uma agenda de ban para o player que sair do servidor, vc agenda e quando ele logar de novo serб banido automaticamente.
{
    new 
nick[16], DiasMotivo[50];
    if(
sscanf(params,"s[16]ds[50]"nickDiasMotivo)) return SCM(playeridCOLOR_GREY""TAG_USOCORRETO" /agendarban [playerid/Nick] [Days] [Motivo]");
    
format(DStringsizeof(DString), "{FFFFF0}%s Agendou o ban de {FF4040}%s{FFFFF0} por: {FF4040}%d {FFFFF0}dias | Motivo: {FF4040}%s"Nome(playerid), nickDiasMotivo);
    
SendClientMessageToAll(COLOR_REDDString);
    new 
Arquivo[64];
    
format(Arquivosizeof(Arquivo), "BansAgendados/%s.ini"nick);
    
DOF2_CreateFile(Arquivo);
    
Dias ConvertDays(Dias);
    
DOF2_SetString(Arquivo"Nick"nick);
       
DOF2_SetString(Arquivo"Admin"Nome(playerid));
    
DOF2_SetString(Arquivo"Motivo"Motivo);
     
DOF2_SetInt(Arquivo"Dias"Dias);
     
DOF2_SaveFile();
    return 
1;
}
//
CMD:tempban(playeridparams[])
{
    new 
nickDiasMotivo[50];
    if(
sscanf(params"uds[50]"nickDiasMotivo)) return SCM(playeridCOLOR_GREY""TAG_USOCORRETO" /tempban [playerid/Nick] [Days] [Motivo]");
    if(!
IsPlayerConnected(nick)) return SCM(playeridCOLOR_RED""TAG_ERROR" Este id nгo estб conectado.");
    
format(DStringsizeof(DString), ""TAG_SERVER" {FFFFF0}%s Baniu {FF4040}%s{FFFFF0} por: {FF4040}%d{FFFFF0} dias | Motivo: {FF4040}%s"Nome(playerid), Nome(nick), DiasMotivo);
    
SendClientMessageToAll(COLOR_REDDString);
    
DTempBan(nickplayeridDiasMotivo);
    return 
1;
}
//
CMD:banirip(playeridparams[])
{
    new 
ip[16], motivo[50], Arquivo[64];
    if(
sscanf(params"s[16]s[50]"ipmotivo)) return SendClientMessage(playeridCOLOR_GREY""TAG_USOCORRETO" /banirip [IP] [Motivo]");
     
format(DStringsizeof(DString), ""TAG_INFO" {FFFFF0}%s Bloqueou a entrada do ip: {FF4040}%s{FFFFF0} | Motivo: {FF4040}%s."Nome(playerid), ipmotivo);
    
SendClientMessageToAll(COLOR_REDDString);
     
format(Arquivo64"Banidos/%s.ini"ip);//Banindo Ip
    
DOF2_CreateFile(Arquivo);
    
DOF2_SetString(Arquivo"Admin"Nome(playerid));
    
DOF2_SetString(Arquivo"Motivo"motivo);
    
DOF2_SaveFile();
    return 
1;
}
//
CMD:ban(playeridparams[])
{
    new 
idMotivo[50];
    if(
sscanf(params"us[50]"idMotivo)) return SCM(playeridCOLOR_GREY""TAG_USOCORRETO" /ban [playerid/Nick] [Motivo]");
    if(!
IsPlayerConnected(id)) return SendClientMessage(playeridCOLOR_RED""TAG_ERROR" Este id nгo estб conectado.");
       
format(DStringsizeof(DString), ""TAG_INFO" {FF4040}%s{FFFFF0} Teve sua conta banida permantentemente pelo administrador: {FF4040}%s{FFFFF0} | Motivo: {FF4040}%s."Nome(id), Nome(playerid), Motivo);
    
SendClientMessageToAll(COLOR_REDDString);
    
DBan(idplayeridMotivo);
    return 
1;
}
// 
nenhum desses que funcionar.
Reply
#2

vocк esta desbanindo a si mesmo, e a string nick
PHP код:
    if(sscanf(params"s[24]"nick)) return SCM(playeridCOLOR_GREY""TAG_USOCORRETO" /desban [playerid/Nick]"); 
    
format(Arquivo64"Banidos/%s.ini"nick);//Desbanindo Ip 
    
format(Arquivo64"Banidos/%s.ini"Pegarip(playerid));//Desbanindo Nick 
Reply
#3

Quote:
Originally Posted by RazorGuigo
Посмотреть сообщение
vocк esta desbanindo a si mesmo, e a string nick
PHP код:
    if(sscanf(params"s[24]"nick)) return SCM(playeridCOLOR_GREY""TAG_USOCORRETO" /desban [playerid/Nick]"); 
    
format(Arquivo64"Banidos/%s.ini"nick);//Desbanindo Ip 
    
format(Arquivo64"Banidos/%s.ini"Pegarip(playerid));//Desbanindo Nick 
Eu tentei me banir mбs nгo foi nгo й so o desban
Reply
#4

Quote:
Originally Posted by BrGabrielBr
Посмотреть сообщение
Eu tentei me banir mбs nгo foi nгo й so o desban
Usando sscanf em zcmd
https://sampforum.blast.hk/showthread.php?tid=277842
Reply
#5

Quote:
Originally Posted by RazorGuigo
Посмотреть сообщение
To vendo aqui mбs vocк pode me explica porque o banir nгo tб funcionando?
Reply
#6

Quote:
Originally Posted by BrGabrielBr
Посмотреть сообщение
To vendo aqui mбs vocк pode me explica porque o banir nгo tб funcionando?
porque vocк estб usando sscanf errado, lк o tutorial como-se utiliza
Reply
#7

PHP код:
#include <sscanf2> 
Atualiza o sscanf+plugins

https://github.com/maddinat0r/sscanf/releases
Reply
#8

Esse seu cуdigo ta muito nada haver, vocк ta formatando duas vezes a string arquivo,o resultado nгo vai sair como espera.
Reply
#9

Quote:
Originally Posted by FerrariL
Посмотреть сообщение
Esse seu cуdigo ta muito nada haver, vocк ta formatando duas vezes a string arquivo,o resultado nгo vai sair como espera.
Nгo й meu peguei uma base no Search aqui mesmo й fui arrumando umas coisas nele tirando bugs. e ainda permanece alguns bugs
Reply
#10

PHP код:
CMD:ban(playeridparams[])
{
    new 
idMotivo[50], Str[86];
    if(
sscanf(params"us"idMotivo)) return SendClientMessage(playeridCOLOR_GREY"/ban [playerid/Nick] [Motivo]");
    if(!
IsPlayerConnected(id)) return SendClientMessage(playeridCOLOR_RED"Este id nгo estб conectado.");
    
format(Strsizeof(Str), "{FF4040}%s{FFFFF0} Teve sua conta banida permantentemente pelo administrador: {FF4040}%s{FFFFF0} | Motivo: {FF4040}%s."Nome(id), Nome(playerid), Motivo);
    
SendClientMessageToAll(COLOR_REDStr);
    
//DBan(id, playerid, Motivo); ??
    
format(Strsizeof(Str), "Banidos/%s.ini"Nome(id));//Formata nome/local do arquivo de ban!
    
DOF2_CreateFile(Str);//Cria o arquivo de banimento!
    
DOF2_SetString(Str"Admin"Nome(playerid));//Admin quem baniu...
    
DOF2_SetString(Str"Motivo"Motivo); //Motivo do ban
    
DOF2_SaveFile();//Salva!
    
Kick(id);//Desconecta o jogador banido!
    
return 1;
}
CMD:desban(playeridparams[])
{
    new 
nick[24], Str[64];
    if(
sscanf(params"s"nick)) return SendClientMessage(playeridCOLOR_GREY"/desban [Nick]");
    
format(Strsizeof(Str), "Banidos/%s.ini"nick);//Formata local/nome aquivo de banimento
    
if(DOF2_FileExists(Srt))//Caso esteja banido
    
{
        
DOF2_RemoveFile(Str);//Deleta o arquivo de ban
        
format(Strsizeof(Str)"Jogador %s desbanido!"nick);// Formata Mensagem
        
SendClientMessage(playeridCOLOR_PRINCIPALStr);//Exibe mensagem
    
}
    else
//Caso nгo haja arquvio do banimento
    
{
        
format(Strsizeof(Str)"O Jogador %s nгo se encontra banido!!!"nick);//formata mensagem
        
SendClientMessage(playerid, -1Str);//Exibe mensagem
    
}
    return 
1;
}
//Extra.... (Exemplo de como impedir o login de usuarios banidos!)
public OnPlayerConnect(playerid)
{
    new 
Str[64];
    
format(Strsizeof(Str),"Banidos/%s.ini"Nome(playerid));//Nome /local arquivo de banimento
    
if(DOF2_FileExists(Str))//Cajo haja
    
{
        
format(Strsizeof(Str),"Vocк estб banido deste servidor! Motivo: %s"DOF2_GetString(Str"Motivo"));//Mensagem a ser exibida
        
SendClientMessage(playerid, -1Str);
        
Kick(playerid);
    }
    
//Demais funзхes, inserir abaixo!
    
return 1;

Testa ae ou pega como exemplo!
Embora seu codido contenha coisas meio nada haver!
Como isso
PHP код:
format(Arquivo64"Banidos/%s.ini"nick);//Desbanindo Ip 
format(Arquivo64"Banidos/%s.ini"Pegarip(playerid));//Desbanindo Nick 
Em questгo do comando nгo estar indo
acredito que seja porque vocк esta usando assim: sscanf(params,"us[50]",id, motivo)
para um teste tente utilizar sscanf(params,"us",id, motivo)
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)