[Ayuda] Comando unban
#1

Hola, escribo porque tengo una duda, Quisiera ver si se puede hacer un comando /unban en zcmd, que desbanee a los usuarios (pLocked= 0) , alguno me podria ayudar?, vi muchos comandos, pero ninguno funciona, desde ya muchas gracias
Reply
#2

yo tengo uno que funciona en mi sv que lo estube buscando y lo encontre prueba aver si te sirve
Код:
zcmd(desban, playerid, params[])
	{
	if(PlayerInfo[playerid][pHmm] < 5) return Message(playerid, COLOR_GREY, "Tienes que ser Admin para Utilizar este Comando!");
	{
	new idx,tmp[256],string[128],giveplayerid;
	new giveplayer[MAX_PLAYER_NAME],sendername[MAX_PLAYER_NAME];
	tmp = strtok(params, idx);
	if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /unban [Nombre_Apellido]");
	GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
	GetPlayerName(playerid, sendername, sizeof(giveplayer));
	format(string, 256, "AdmWarning: %s Ah Desbaneado a %s", sendername, tmp);
	ABroadCast(COLOR_YELLOW,string,1);
	format(string, 256, "AdmWarning: %s Ah Desbaneado ah %s", sendername, tmp);
	printf(string);
	format(string,sizeof(string),"%s.ini",tmp);
	fremove(string);
    SendClientMessage(playerid, COLOR_WHITE, "Jugador Desbaneado");
	SendRconCommand(string);
	SendRconCommand("reloadbans");
}
return 1;
}
Reply
#3

pawn Код:
zcmd(unbanip, playerid, params[])
    {
        if(PlayerInfo[playerid][pLGC] < 3) return Message(playerid, COLOR_GREY, "Debes ser administrador!");
        if(!sscanf(params, "s[32]", params[0]))
        {
            new string[90];
            format(string,sizeof(string),"unbanip %s",params[0]);
            SendRconCommand(string);
            SendRconCommand("reloadbans");
            format(string, sizeof(string), "IP %s desbaneada por %s", params[0], PlayerName(playerid));
            A_Info(string);
        } else Message(playerid, COLOR_GRAD2, "Utilize: /unbanip <ip>");
        return 1;
    }
es recomendado desbanear por ip
Reply
#4

Quote:
Originally Posted by XxX(cena)XxX
Посмотреть сообщение
yo tengo uno que funciona en mi sv que lo estube buscando y lo encontre prueba aver si te sirve
Код:
zcmd(desban, playerid, params[])
	{
	if(PlayerInfo[playerid][pHmm] < 5) return Message(playerid, COLOR_GREY, "Tienes que ser Admin para Utilizar este Comando!");
	{
	new idx,tmp[256],string[128],giveplayerid;
	new giveplayer[MAX_PLAYER_NAME],sendername[MAX_PLAYER_NAME];
	tmp = strtok(params, idx);
	if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /unban [Nombre_Apellido]");
	GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
	GetPlayerName(playerid, sendername, sizeof(giveplayer));
	format(string, 256, "AdmWarning: %s Ah Desbaneado a %s", sendername, tmp);
	ABroadCast(COLOR_YELLOW,string,1);
	format(string, 256, "AdmWarning: %s Ah Desbaneado ah %s", sendername, tmp);
	printf(string);
	format(string,sizeof(string),"%s.ini",tmp);
	fremove(string);
    SendClientMessage(playerid, COLOR_WHITE, "Jugador Desbaneado");
	SendRconCommand(string);
	SendRconCommand("reloadbans");
}
return 1;
}
pero lo que hace es eliminar la cuenta...?
Reply
#5

Quote:
Originally Posted by theniik
Посмотреть сообщение
pero lo que hace es eliminar la cuenta...?
No lo que hace es desbanear la cuenta se desbanea solo pongas el comando por que lanza para la consola del rcon
el reloadsban. Pruebalo
Reply
#6

Quote:
Originally Posted by theniik
Посмотреть сообщение
pero lo que hace es eliminar la cuenta...?
no l oque pasa es que hay la funcion esa lo qyue ahce es borrar el nombre Nombre_Apellido completo de una carpeta que esta en filescripts puedeser Ban.Log hay estan los usuarios que se han baneado y quedan en lsita negra lo que hace es borrarlo de la lista y queda es decir desbaneado
Reply
#7

Quote:
Originally Posted by Cristian330
Посмотреть сообщение
no l oque pasa es que hay la funcion esa lo qyue ahce es borrar el nombre Nombre_Apellido completo de una carpeta que esta en filescripts puedeser Ban.Log hay estan los usuarios que se han baneado y quedan en lsita negra lo que hace es borrarlo de la lista y queda es decir desbaneado
no hay manera de adaptarle para que no borre la cuenta, sino que le edite el pLocked a 0?
Reply
#8

Quote:
Originally Posted by theniik
Посмотреть сообщение
no hay manera de adaptarle para que no borre la cuenta, sino que le edite el pLocked a 0?
si se peude pero para bloquearsela es decir que no se conecte para nada por que el man esta baneado listo y el sistema para desbanearlo?? es dificil la verdad que si por que para hacer editar desde un cmd el user esta off por que no se peude conectar el admin usa un /cmd pero no sabe si se desbanee de verdad seria hacer un sistema oara que toque las cuentas de la carpeta Users pero no es recomendable por que se peude Lammear otro admins es mejor que uses asi desban de ip que uses log

una pregunta tu sv al banear guarda en Ban.LOg? revisa si tu carpeta hay algo ocn ese nombre o tu gm la tenga
Reply
#9

Si, lo guarda al Ban.Log, pero la onda es hacer que ese comando solo lo puedan tocar los admines 2012, la onda es no estar entrando al vps cada 1 minuto para desbanear a alguien o "desbloquearle la cuenta", no importa que tan inseguro quede pero peor es el otro comando (fremove) , directamente las elimina, :/ Lo que quiero lograr es que con un comando /desban pueda desbloquear una cuenta XD
Reply
#10

Si se puede pero es bastante complejo, deberнas cambiar el sistema de baneo a uno mбs simple. Creas una carpeta "Baneados", y cuando banees a alguien salga el nombre del usuario baneado. Y para desbanearlo sуlo tendrнas que borrar ese nombre y serнa bastante mбs fбcil.

// Al banear (Comando /ban)
pawn Код:
new sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "/Baneados/%s.ini", sendername);
new File: archivo;
archivo = fopen(string, io_write);
if(!fexist(string))
{
if (archivo)
{
fclose(archivo);
}
}

// Al conectarse (OnPlayerConnect)
pawn Код:
new sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "/Baneados/%s.ini", sendername);
if(fexist(string))
{
SendClientMessage(playerid, -1, "Esta cuenta estб baneada, no puedes utilizarla.");
Kick(playerid);
}
// Para desbanear (Comando /desban)

pawn Код:
if(!strcmp(cmd, "/desban", true) && IsPlayerConnected(playerid))
    {
        if(PlayerInfo[playerid][pTuVariableDeAdmin] != 9999) return SendClientMessage(playerid, -1, "ЎTu no estбs autorizado para utilizar este comando!");
        new result[128];
        result = strrest(cmdtext, idx);
        if(!strlen(result)) return SendClientMessage(playerid, -1, "Escribe: /desbanear [nombre]");
        format(string, sizeof(string), "/Baneados/%s.ini", (result));
        if(fexist(string))
        {
            fremove(string);
        }
        else return SendClientMessage(playerid, -1, "ЎNo existe ese archivo!");
        format(string, sizeof(string), "Desbaneaste la cuenta de '%s'.", result);
        SendClientMessage(playerid, -1, string);
        return 1;
    }

stock strrest(const string[], &index)
{
    new length = strlen(string);
    while ((index < length) && (string[index] <= ' ')) { index++; }
    new offset = index;
    new result[128];
    while ((index < length) && ((index - offset) < (sizeof(result) - 1))) { result[index - offset] = string[index]; index++; }
    result[index - offset] = EOS;
    return result;
}
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)