Me tiene loco esto
#1

Creй este comando para desbanear un jugador off-line pero no sale el modo de uso.
pawn Код:
CMD:unban(playerid, params[])
{
    new str[328], desbaneado[128];
    if(PlayerInfo[playerid][jAdmin] < 5) return SCM(playerid, ROJO, "** Necesitas ser administrador nivel +5 para usar este comando.");
    if(sscanf(params, "s", desbaneado)) return SCM(playerid, AMARILLO, "** Utiliza: /unban [nombre]");
    format(str, sizeof(str), "/Cuentas/%s.ini", desbaneado);
    if(!fexist(str)) return SCM(playerid, ROJO, "** Esa cuenta no existe.");
    new INI:Archivo = INI_Open(desbaneado);
    INI_SetTag(Archivo, "data");
    INI_WriteInt(Archivo, "Baneado", 0);
    INI_Close(Archivo);
    format(str, sizeof(str), "[#] %s ha sido desbaneado por el administrador %s(%d).", desbaneado, Nombre(playerid), playerid);
    SAM(ROJO, str);
    return 1;
}
Ya intentй con esto pero sigue igual:

pawn Код:
if(sscanf(params, "s[128]", desbaneado)) return SCM(playerid, AMARILLO, "** Utiliza: /unban [nombre]");
Reply
#2

Код:
CMD:unban(playerid, params[])
{
	new desbaneado[24];
	if(PlayerInfo[playerid][jAdmin] < 5) return SCM(playerid, ROJO, "** Necesitas ser administrador nivel +5 para usar este comando.");
	if(sscanf(params, "s[24]", desbaneado)) return SCM(playerid, AMARILLO, "** Utiliza: /unban [nombre]");
	new string[128];
        format(string, sizeof(string), "/Cuentas/%s.ini", desbaneado);
	if(!fexist(string)) return SCM(playerid, ROJO, "** Esa cuenta no existe.");
	new INI:Archivo = INI_Open(desbaneado);
	INI_SetTag(Archivo, "data");
	INI_WriteInt(Archivo, "Baneado", 0);
	INI_Close(Archivo);
	format(string, sizeof(string), "[#] %s ha sido desbaneado por el administrador %s(%d).", desbaneado, Nombre(playerid), playerid);
	SAM(ROJO, str);
	return 1;
}
No le des tanto valor a una cadena, estбs mal gastando memoria. Te recomiendo usar macros para los format's/SendClientMessage.

Otra cosa que no dijiste es que tipo de error te salta al usar el comando...
Reply
#3

Quote:
Originally Posted by LatinZ
Посмотреть сообщение
Код:
CMD:unban(playerid, params[])
{
	new desbaneado[24];
	if(PlayerInfo[playerid][jAdmin] < 5) return SCM(playerid, ROJO, "** Necesitas ser administrador nivel +5 para usar este comando.");
	if(sscanf(params, "s[24]", desbaneado)) return SCM(playerid, AMARILLO, "** Utiliza: /unban [nombre]");
	new string[128];
        format(string, sizeof(string), "/Cuentas/%s.ini", desbaneado);
	if(!fexist(string)) return SCM(playerid, ROJO, "** Esa cuenta no existe.");
	new INI:Archivo = INI_Open(desbaneado);
	INI_SetTag(Archivo, "data");
	INI_WriteInt(Archivo, "Baneado", 0);
	INI_Close(Archivo);
	format(string, sizeof(string), "[#] %s ha sido desbaneado por el administrador %s(%d).", desbaneado, Nombre(playerid), playerid);
	SAM(ROJO, str);
	return 1;
}
No le des tanto valor a una cadena, estбs mal gastando memoria. Te recomiendo usar macros para los format's/SendClientMessage.

Otra cosa que no dijiste es que tipo de error te salta al usar el comando...
No me funciona de esa forma, solamente me sale el mensaje de "Utiliza /unban [nombre] "
Reply
#4

Quй extraсo, la condiciуn estб bien.

Baja de nuevo sscanf y reemplaza los archivos: https://sampforum.blast.hk/showthread.php?tid=602923

Si sigue sin funcionar, ъsalo asн:

Код:
CMD:unban(playerid, params[])
{
	new desbaneado[24];
	if(PlayerInfo[playerid][jAdmin] < 5) return SCM(playerid, ROJO, "** Necesitas ser administrador nivel +5 para usar este comando.");
	if(!sscanf(params, "s[24]", desbaneado))
	{
		new string[128];
        format(string, sizeof(string), "/Cuentas/%s.ini", desbaneado);
		if(!fexist(string)) return SCM(playerid, ROJO, "** Esa cuenta no existe.");
		new INI:Archivo = INI_Open(desbaneado);
		INI_SetTag(Archivo, "data");
		INI_WriteInt(Archivo, "Baneado", 0);
		INI_Close(Archivo);
		format(string, sizeof(string), "[#] %s ha sido desbaneado por el administrador %s(%d).", desbaneado, Nombre(playerid), playerid);
		SAM(ROJO, str);
	}
	else SCM(playerid, AMARILLO, "** Utiliza: /unban [nombre]");
	return 1;
}
Reply
#5

PHP код:
CMD:unban(playeridparams[]){
    
    
    if(
PlayerInfo[playerid][jAdmin] < 5
            return 
SCM(playeridROJO"** Necesitas ser administrador nivel +5 para usar este comando.");
    
    if(
isnull(params))
       return 
SCM(playeridAMARILLO"** Utiliza: /unban [nombre]");
   
     static 
        
string[128]
    ;
    
    
string[0] = '\0';
       
    
format(stringsizeof(string), "/Cuentas/%s.ini"params);
    
    
    if(!
fexist(string)) 
        return 
SCM(playeridROJO"** Esa cuenta no existe.");
    
    
    new 
INI:Archivo INI_Open(desbaneado);
    
INI_SetTag(Archivo"data");
    
INI_WriteInt(Archivo"Baneado"0);
    
INI_Close(Archivo);
    
    
    
format(stringsizeof(string), "[#] %s ha sido desbaneado por el administrador %s(%d)."desbaneadoNombre(playerid), playerid);
    
SAM(ROJOstr);
    
    return 
true;

sin sscanf

usted puedes testar?
Reply
#6

pawn Код:
CMD:unban(playerid, params[])
{
    if(PlayerInfo[playerid][jAdmin] < 5)
    {
        SendClientMessage(playerid, ROJO, "** Necesitas ser administrador nivel +5 para usar este comando.");
    }
    else if(isnull(params))
    {
        SendClientMessage(playerid, AMARILLO, "** Utiliza: /unban [nombre]");
    }
    else
    {
        new string[40];
        format(string, sizeof(string), "/Cuentas/%s.ini", params);
       
        if(!fexist(string))
        {
            SCM(playerid, ROJO, "** Esa cuenta no existe.");
        }
        else
        {
            new INI:Archivo = INI_Open(string);
            INI_SetTag(Archivo, "data");
            INI_WriteInt(Archivo, "Baneado", 0);
            INI_Close(Archivo);
           
            format(string, sizeof(string), "[#] %s ha sido desbaneado por el administrador %s(%d).", params, Nombre(playerid), playerid);
            SAM(ROJO, str);
        }
    }
    return 1;
}
Nota: Lo que publico LatinZ y zSuYaNw no hace lo que quieres de lo todo.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)