[Ajuda] BAN
#1

Eu estava tentando fazer meu BAN que quando ele tiver Banido e tentar entrar dar a menssagem, mais nгo sei se estб certo e se й certamente assim...

pawn Код:
//TA em OnPlayerConnect
if(BanLog[playerid] > 1){
    GetPlayerName(playerid, sendername, sizeof(sendername));
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    result[idx - offset] = EOS;
    new result[64];
    new hour,mins,sec,year,mont,day,strl[256],ip[16];
    GetPlayerIp(playerid,ip,sizeof(ip));
    getdate(year,mont,day);
    gettime(hour,mins,sec);
    SendClientMessage(playerid,COLOR_LIGHTGREEN,"======================================================================================");
    format(string, sizeof(string), "Seu IP: '%d' foi banido com o nick %s por %s em %d/%d/%d бs %d:%d - Motivo: '%s'",ip,sendername,giveplayer,day,mont,year,hour,mins,(result));
    SendClientMessage(playerid,COLOR_WHITE,string);
    SendClientMessage(playerid,LARANJA1,"Visite nosso fуrum, leia as regras e crie seu tуpico com estб imagem (F8 para capturб-la)");
    SendClientMessage(playerid,COLOR_LIGHTGREEN,"======================================================================================");
    format(string, sizeof(string), "[Atenзгo][%d]%s estб tentando entrar no servidor BANIDO(OLD)!",playerid,sendername);
    SendAdminMessage(LARANJA1, string);
    Kick(playerid);
    }
pawn Код:
if(strcmp(cmd, "/banir", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "{CD5C5C}[Digite] {FFFFFF}/banir [playerid/ParteDoNome] [Motivo]");
                return 1;
            }
            giveplayerid = ReturnUser(tmp);
            new nome[24];
            GetPlayerName(playerid, nome, sizeof nome);
            if(PlayerInfo[playerid][pAdmin] >= 1 || strfind(nome, ADMPLAYER, true) == 0 || strfind(nome, ADMPLAYER2, true) == 0)
            {
                if(IsPlayerConnected(giveplayerid))
                {
                    if(giveplayerid != INVALID_PLAYER_ID)
                    {
                        GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        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, COLOR_GRAD2, "{CD5C5C}[Digite] {FFFFFF}/ban [playerid/ParteDoNome] [Motivo]");
                            return 1;
                        }
                        new year, month,day;
                        getdate(year, month, day);
                        if(strfind(nome, ADMPLAYER, true) == 0 || strfind(nome, ADMPLAYER2, true) == 0)
                        {
                            format(string, sizeof(string), "[Administrador] %s foi BANIDO pelo Administrador %s - Motivo: %s", giveplayer, ADMMASTER, (result));
                            SendClientMessageToAll(LARANJA1, string);
                        }
                        else
                        {
                            format(string, sizeof(string), "[Administrador] %s foi BANIDO pelo Administrador %s - Motivo: %s [%d-%d-%d]", giveplayer, sendername, (result),month,day,year);
                            BanLog(string);
                        }
                        Ban(giveplayerid);
                        return 1;
                    }
                }//not connected
            }
            else
            {
                format(string, sizeof(string), "{CD5C5C}[BOTInfo] {FFFFFF}Jogador nгo й Ativo ou nгo estб conectado.", giveplayerid);
                SendClientMessage(playerid, COLOR_GRAD1, string);
            }
        }
        return 1;
    }
Reply
#2

tem que salvar na conta dele quem o baniu a hr e o motivo

estou ocupado jaja eu posto
Reply
#3

Obrigado, vou esperar em, hahaha..
Reply
#4

tipo,cria a Variavel 'Banido',ai quando a pessoa e banida seta o valor dessa variavel para 1,e salva na conta do player,e quando ele logar novamente,carrega e ve se o valor da string 'Banido' e igual a 1,se for Kick.
Reply
#5

Isso que o Gustavo falou estб certo. Porйm, na hora que ele vai se conectar, tu precisa checar se o nick dele estб no arquivo de banidos. Se ele estiver, entгo executarб a funзгo.
Reply
#6

vк se ficou certo, disso de ver se ele estб banido eu nem sei.. D:
pawn Код:
if(TaBanido[playerid] > 1)
    {
        new string[128];
        new sendername[MAX_PLAYER_NAME];
        new giveplayer[MAX_PLAYER_NAME];
        new result[64];
        new hour,mins,sec,year,mont,day,ip[16];
        GetPlayerName(playerid, sendername, sizeof(sendername));
        GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
        GetPlayerIp(playerid,ip,sizeof(ip));
        getdate(year,mont,day);
        gettime(hour,mins,sec);
        SendClientMessage(playerid,COLOR_LIGHTGREEN,"======================================================================================");
        format(string, sizeof(string), "Seu IP: '%d' foi banido com o nick %s por %s(%d) em %d/%d/%d бs %d:%d - Motivo: '%s'",ip,sendername,giveplayer,giveplayerid,day,mont,year,hour,mins,(result));
        SendClientMessage(playerid,COLOR_WHITE,string);
        SendClientMessage(playerid,LARANJA1,"Visite nosso fуrum, leia as regras e crie seu tуpico com estб imagem (F8 para capturб-la)");
        SendClientMessage(playerid,COLOR_LIGHTGREEN,"======================================================================================");
        format(string, sizeof(string), "[Atenзгo][%d]%s estб tentando entrar no servidor BANIDO(OLD)!",playerid,sendername);
        SendAdminMessage(LARANJA1, string);
        Kick(playerid);
        return 1;
    }
Reply
#7

usa assim:
pawn Код:
if(TaBanido[playerid] == 1)
    {
        new string[128];
        new sendername[MAX_PLAYER_NAME];
        new giveplayer[MAX_PLAYER_NAME];
        GetPlayerName(playerid, sendername, sizeof(sendername));
        GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
        format(string, sizeof(string), "[Atenзгo][%d]%s estб tentando entrar no servidor mesmo BANIDO(OLD)!",playerid,sendername);
        SendAdminMessage(LARANJA1, string);
        SendClientMessage(playerid,-1,"Voce esta banido");
        Kick(playerid);
        return 1;
    }
Reply
#8

Gustavo_Araujo quero mesmo que ele veja..
Reply
#9

Editei ai,ve denovo,e lembre-se de quando for ban salvar a variavel 'TaBanido' e antes desse code ai(que voce vai por no OnPlayerConnect) lembre-se de carregar os dados do player primeiro.
Reply
#10

Tu precisa checar a conta do player primeiro, pra depois verificar se ele estб banido ou nгo.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)