[Ajuda] Comando Desbanir
#1

Boas pessoal, tф querendo adicionar ao meu Admin System um comando para desbanir o player mais nгo conseguir, esse й o comando pra banir:

pawn Код:
CMD:banir(playerid, params[])
    if(PlayerInfo[playerid][LoggedIn] == 1) {
        if(PlayerInfo[playerid][Level] >= 4) {
            new tmp[256], tmp2[256], Index;     tmp = strtok(params,Index), tmp2 = strtok(params,Index);
            if(!strlen(params)) return SendClientMessage(playerid, red, "[USO] /ban [playerid] [motivo]");
            if(!strlen(tmp2)) return SendClientMessage(playerid, red, "ERRO: Vocк deve dar um motivo");
            new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
            player1 = strval(tmp);

            if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) ) {
                GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
                new year,month,day,hour,minuite,second; getdate(year, month, day); gettime(hour,minuite,second);
                CMDMessageToAdmins(playerid,"BAN");
                format(string,sizeof(string),"%s foi banido pelo Administrador %s [Motivo: %s] [Data: %d/%d/%d] [Hora: %d:%d]",playername,adminname,params[2],day,month,year,hour,minuite);
                SendClientMessageToAll(orange,string);
                SaveToFile("BanLog",string);
                print(string);
                if(udb_Exists(PlayerName2(player1)) && PlayerInfo[player1][LoggedIn] == 1) dUserSetINT(PlayerName2(player1)).("banned",1);
                format(string,sizeof(string),"banido pelo Administrador %s. Motivo: %s", adminname, params[2] );
                return GameTextForPlayer(player1,"~r~Voce foi banido!",5000,5)&& BanEx(player1, string);
            } else return SendClientMessage(playerid, red, "Jogador nгo conectado ou й vocк mesmo ou й um admin com nнvel alto");
        } else return SendClientMessage(playerid,red,"ERRO: Vocк nгo tem nнvel alto suficiente para usar este comando");
    } else return SendClientMessage(playerid,red,"ERRO: Vocк deve estar logado para usar este comando");
}
Se precisarem de alguma variбvel, sei lб, fala aк...
Reply
#2

olб amigo! vou retirar do meu sistema de adm q eu fiz a um tempao kk
usa:
pawn Код:
tmp = strtok(cmdtext,idx);
        if(!strlen(tmp)) return SendClientMessage(playerid,verde,"Uso correto: /Desbanir [ip do jogador banido]");
        format(string,sizeof(string),"unbanip %s",tmp);
        SendRconCommand(string);
        SendRconCommand("reloadbans");
        GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
        GetPlayerName(playerid, sendername, sizeof(sendername));
        format(string, 256, "Vocк desbaniu com sucesso o IP: %s",tmp);
        SendClientMessage(playerid,verde,string);
espero ter te ajudado
obs.: vc tem q criar variaveis ae de acordo com o code, caso nao consiga axar quais vc tem q criar, eu mando elas pra vc

bem, aн vao:
pawn Код:
new giveplayerid;
new giveplayer[MAX_PLAYER_NAME];
new tmp[256];
new idx;
new string[256];
se nao me engano essas sao todas.
se der undefined symbol me diz qual eh
vlws!

obs.: meu sistema funciona pelo samp.ban
Reply
#3

Manda o code inteiro pra simplificar.
Reply
#4

pawn Код:
if(strcmp(cmd,"/nomedesban",true)==0 || strcmp(cmd,"/desbannome",true)==0)
    {
        if(PlayerInfo[playerid][pAdmin] >= 4)
        {
            tmp = strtok(cmdtext,idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid,COLOR_GRAD1,"USE: /nomedesban [NOME DO JOGADOR]");
                return 1;
            }
            new arquivo[64];
            format(arquivo, sizeof(arquivo), "Banidos/%s.ini",tmp);
            if(!dini_Exists(arquivo))
            {
                SendClientMessage(playerid,COLOR_GRAD1,"Nick nгo encontrado na base de dados");
                return 1;
            }
            else
            {
                dini_Remove(arquivo);
            }
            GetPlayerName(playerid, sendername, sizeof(sendername));
            if(admtrampando[playerid] == 1 && admhide[playerid] == 1)
            {
                format(string, 128, "[E.z Atenзгo]: Bot desbaniu o Nick %s",tmp);
                ABroadCast(Amarelo,string,1);
            }
            else
            {
                format(string, 128, "[E.z Atenзгo]: %s desbaniu o Nick %s", sendername,tmp);
                ABroadCast(Amarelo,string,1);
            }
        }
        return 1;
        }
Reply
#5

Nгo tф conseguindo .
Reply
#6

pawn Код:
if(strcmp(cmdtext, "/desban", true) == 0)
{
        tmp = strtok(cmdtext,idx);
        if(!strlen(tmp)) return SendClientMessage(playerid,verde,"Uso correto: /Desbanir [ip do jogador banido]");
        format(string,sizeof(string),"unbanip %s",tmp);
        SendRconCommand(string);
        SendRconCommand("reloadbans");
        GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
        GetPlayerName(playerid, sendername, sizeof(sendername));
        format(string, 256, "Vocк desbaniu com sucesso o IP: %s",tmp);
        SendClientMessage(playerid,verde,string);
        return 1;
}
Reply
#7

Infelizmente nгo conseguir, do que precisam, й sу pedir que eu mando...

tipo quando o player й banido seu dados sгo adicionados no arquivo 'samp.ban' e no seu arquivo do admin system fica como 'banned=1' o caminho й ''/adminsys/users/%s.sav".

?
Reply
#8

entгo tenta:
pawn Код:
if(strcmp(cmd,"/nomedesban",true)==0 || strcmp(cmd,"/desbannome",true)==0)
    {
        if(PlayerInfo[playerid][pAdmin] >= 4)
        {
            tmp = strtok(cmdtext,idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid,COLOR_GRAD1,"USE: /nomedesban [NOME DO JOGADOR]");
                return 1;
            }
            new arquivo[64];
            format(arquivo, sizeof(arquivo), "adminsys/users/%s.sav",tmp);
            if(!dini_Exists(arquivo))
            {
                SendClientMessage(playerid,COLOR_GRAD1,"Nick nгo encontrado na base de dados");
                return 1;
            }
            else
            {
                dini_Remove(arquivo);
            }
            GetPlayerName(playerid, sendername, sizeof(sendername));
            if(admtrampando[playerid] == 1 && admhide[playerid] == 1)
            {
                format(string, 128, "[E.z Atenзгo]: Bot desbaniu o Nick %s",tmp);
                ABroadCast(Amarelo,string,1);
            }
            else
            {
                format(string, 128, "[E.z Atenзгo]: %s desbaniu o Nick %s", sendername,tmp);
                ABroadCast(Amarelo,string,1);
            }
        }
        return 1;
        }
Reply
#9

Й mais desse jeito ai o player ainda vai continuar banido pois ele nгo irб remove-lo do arquivo 'samp.ban' ?
Reply
#10

para remover do samp ban vc teria q usar o meu cуdigo, que й atravйs de ip, ele retira o ip do arquivo e ele recarrega o samp.ban.
no cуdigo q o amigo postou aн fica difнcil.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)