[Pedido] Comando de desbanir ip sem reinisciar o server
#1

Quando do ban em alguem /ban id motivo, ele toma ban ip automaticamente, certo... mas quando quero desbanir o ip de alguem, tenho q desbanir pela pasta do gm e tenho q reinisciar o server, alguem me ajuda num comando q desbani o ip pelo jogo mesmo, e sem reinisciar o server?

Ta aki o comando /ban

pawn Код:
if(strcmp(cmd, "/ban", true) == 0) {
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
format(file, sizeof(file), PASTA_CONTAS, aname);
if(pAdmin[playerid] == 1 || pAdmin[playerid] == 2 || pAdmin[playerid] == 3 || pAdmin[playerid] == 4 || pAdmin[playerid] == 5){
new tmp[256];
new plid;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, Vermelho, "Uso: /ban [id] [motivo]");
return 1;
}
plid = strval(tmp);
new pname[MAX_PLAYER_NAME];
GetPlayerName(plid, pname, MAX_PLAYER_NAME);
format(file2, sizeof(file2), PASTA_CONTAS, pname);
if(IsPlayerConnected(plid)){
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' ')) {
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) {
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, Vermelho, "Uso: /banir [id] [motivo]");
}else{
new year, month,day;
getdate(year, month, day);
format(string, sizeof(string), "| INFO-SERVER |O Administrador %s baniu o jogador: %s. (Motivo: %s ) %d-%d-%d", aname, pname,result,month,day,year);
BanLog(string);
SendClientMessage(plid, 0x80FF00AA, "» Vocк foi banido deve ter feito alguma merda");
SendClientMessage(plid, 0xFFFFFFAA, "» Se foi banido injustamente Tire uma ''SS'' e tente o contato com um de nossos Admins!");
GameTextForPlayer(plid,"~r~banido", 2500, 3);
format(string, sizeof(string), "| INFO-SERVER | O Administrador %s baniu o jogador: %s. (Motivo: %s. )", aname,pname,result);
SendClientMessageToAll(tcadm, string);
dini_IntSet("banidos.ini",pname,1);
SetPlayerPos(plid, 831.9581,-1102.1510,24.2969);
GameTextForPlayer(plid,"~r~banido~w~!", 2500, 3);
SendClientMessage(plid, Vermelho, "* Vocк foi banido do servidor!");
Ban(plid);
}
}else{
format(string, sizeof(string), "| ERRO | ID : %d nгo й valido!", plid);
SendClientMessage(playerid, Vermelho, string);
}
}
return 1;
}

Obrigado des de jб a todos q tentarem me ajudar
Reply
#2

Testa ae, se nгo funcionar avisa, eu nгo testei
Pra poder desbanir com esse cmd tem que saber o ip que vocк quer desbanir
pawn Код:
if(strcmp(cmd, "/desbanip", true) == 0)
{
    if(pAdmin[playerid] >= 1 && pAdmin[playerid] <= 5){
    new tmp[256], ip[16];
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
        SendClientMessage(playerid, Vermelho, "Uso: /desbanip [ip]");
        return 1;
    }
    ip = strval(tmp);
    new string[32];
    format(string, sizeof(string), "unbanip %s", ip);
    SendRconCommand(string);
    return 1;
}
Reply
#3

Precisa dar unbanip e em ъltimo caso recarregar os arquivos


pawn Код:
if(!strcmp(cmd, "/desbanip", true))
{
    if(pAdmin[playerid] >= 1 && pAdmin[playerid] <= 5)  {

        static
            tmp[256], idx
        ;

        tmp = strtok(cmdtext, idx);
       
        if(strlen(tmp) < 10)
        {
            return SendClientMessage(playerid, Vermelho, "Uso: /desbanip [ip]"), true;
        }


        format( tmp, 128, "unbanip %s", tmp);
        SendRconCommand(tmp);

        SendRconCommand("reloadbans");
    }

    return true;
}
OU caso queira algo otimizado

pawn Код:
if(!strcmp(cmdtext, "/unba", true, 5))
{
    if(pAdmin[playerid] < 1) {
        return true;
    }

    if(!cmdtext[5] || strlen(cmdtext) >  54) {
        return SendClientMessage(playerid, -1, "USE: /unba [unbanip]");
    }


    static tmp [56];

    format( tmp, 56, "unbanip %s", cmdtext[6]); // 6 pois й apуs o espaзo xD
    SendRconCommand(tmp);

    SendRconCommand("reloadbans");

    return true;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)