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;
}
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;
}
|
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;
}
|
|
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?
|
por que se peude Lammear otro admins es mejor que uses asi desban de ip que uses log 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);
}
}
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);
}
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;
}