[ajuda] ban
#1

to com um problema com o ban, quando eu uso o ban em alguem bani todos q ta no serve ja tentei usar o rcon ban tbm ban todos mundo, e quando eu do kick em alguem й normal. bom teve ser alguma funзao sera q tem jeito de arrumar pelo menos descobrir onde q ta ocasionando ese problema ?
Reply
#2

RCON? LOL.

Se vocк nгo sabe banir, pelo menos na rcon, abraзo.
Reply
#3

Pode ser algum loop no cуdigo do ban...
Poste o seu cуdigo do ban aqui por favor.
Reply
#4

pawn Код:
if(strcmp(cmd, "/ban", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            new playersip[64];
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "USE: /ban [playerid/Nome] <motivo>");
                return 1;
            }
            giveplayerid = ReturnUser(tmp);
            if (PlayerInfo[playerid][pAdmin] >= 3 || IsPlayerAdmin(playerid))
            {
                if(IsPlayerConnected(giveplayerid))
                {
                    if(giveplayerid != INVALID_PLAYER_ID)
                    {
                        GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                        GetPlayerIp(giveplayerid,playersip,sizeof(playersip));
                        new length = strlen(cmdtext);
                        while ((idx < length) && (cmdtext[idx] <= ' '))
                        {
                            idx++;
                        }
                        new offset = idx;
                        new result[128];
                        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, "USE: /ban [playerid/Nome] [motivo]");
                            return 1;
                        }
                        if(giveplayerid != playerid && Untouchable[giveplayerid]) return SendClientMessage(playerid, COLOR_GREY, "* Vocк nгo pode fazer isto com Este Jogador!");
                        new targetlevel = PlayerInfo[giveplayerid][pAdmin];
                        new playerlevel = PlayerInfo[playerid][pAdmin];
                        if(targetlevel > playerlevel) return SendClientMessage(playerid, COLOR_GREY, "* Vocк nгo pode fazer isso com rank maior que o seu!");
                        new y, m, d;
                        new h,mi,s;
                        getdate(y,m,d);
                        gettime(h,mi,s);
                        format(string,sizeof(string), "(%d/%d/%d)[%d:%d:%d] %s Foi Banido Pelo Admin %s Motivo: %s",d,m,y,h,mi,s,giveplayer,sendername, (result));
                        BanLog(string);
                        format(string,sizeof(string), "(%d/%d/%d)[%d:%d:%d] Foi Banido Pelo Admin %s - Motivo: %s",d,m,y,h,mi,s,sendername,(result));
                        AddPunishment(giveplayerid, string);
                        format(string, sizeof(string), "%s (%d), Foi Banido Pelo Administrador %s Por %s", giveplayer, giveplayerid, sendername, (result));
                        SendClientMessageToAll(COLOR_NICERED, string);
                        format(string, sizeof(string), "[ADMIN]: %s Foi Adicionado Na Lista De Bans Por %s", playersip, sendername);
                        SendAdminMessage(COLOR_WHITE, string);
                        format(string, sizeof(string), "Vocк Foi Banido Pelo Admin %s Motivo %s", sendername, (result));
                        SendClientMessage(giveplayerid,COLOR_LIGHTBLUE, string);
                        SendClientMessage(giveplayerid,COLOR_BLUE, "Se vocк acha que isso foi um erro, reporte em .:msn:.");
                        SendClientMessage(giveplayerid,COLOR_BLUE, "Para Ser Desbanido Tire uma Print explicando o Motivo e pessa um desban em www.nossoforum.com");
                        SendClientMessage(giveplayerid,COLOR_LIGHTRED, "Nгo tente burlar o ban! Assim nгo iremos considerar seu post");
                        SafeSetPlayerPos(giveplayerid,264.6288,77.5742,1001.0391);
                        SafeSetPlayerInterior(giveplayerid, 6);
                        PlayerInfo[giveplayerid][pJailTime] = 300;
                        PlayerInfo[giveplayerid][pJailed] = 1;
                        format(string, sizeof(string), "~r~~h~Ban: ~n~~r~%s",(result));
                        GameTextForPlayer(giveplayerid, string, 6000, 3);
                        PlayerInfo[giveplayerid][pPending] = 0;
                        Ban(giveplayerid);
                        return 1;
                    }
                }//not connected
            }
            else
            {
                format(string, sizeof(string), "** %d nгo й um jogador ativo.", giveplayerid);
                SendClientMessage(playerid, COLOR_ORANGE, string);
            }
        }
        return 1;
    }
ate o rcon ban ta assim, neh sei o q fazer .-.
Reply
#5

Tenta isso
pawn Код:
#define ADMINFS_MESSAGE_COLOR 0xFF444499
pawn Код:
if(strcmp("/ban", cmd, true) == 0)
    {
        if(IsPlayerAdmin(playerid)) {
            tmp = strtok(cmdtext,idx);
            if(!strlen(tmp) || strlen(tmp) > 5) {
                return SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Usage: /ban (id) [reason]");
            }

            new id = strval(tmp);

            if(!IsPlayerConnected(id)) {
                SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"/ban : Bad player ID");
                return 1;
            }

            gMessage = strrest(cmdtext,idx);

            GetPlayerName(id,iName,sizeof(iName));
            SendClientMessage(id,ADMINFS_MESSAGE_COLOR,"-- You have been banned from the server.");

            if(strlen(gMessage) > 0) {
                format(Message,sizeof(Message),"Reason: %s",gMessage);
                SendClientMessage(id,ADMINFS_MESSAGE_COLOR,Message);
            }

            format(Message,sizeof(Message),">> %s(%d) has been banned.",iName,id);
            SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,Message);

            Ban(id);
            return 1;
        } else {
            SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"/ban : You are not an admin");
            return 1;
        }
    }
Apartir daн adapta o cуdigo conforme o seu gm.
Reply
#6

vlw vou tentar dps edito

edit:
ainda ta ban todo mundo so q agora с me banio, tipo eu dei ban no cara ai o outros outro q tava no serve deu crash menos eu
Reply
#7

Ok.

Crйditos a Kalcor e Team SA-MP
Reply
#8

estranho pq eu do ban, aki mostra q os outros tomo crash, e quando ele entra fala q ta banido
Reply
#9

Faz assim.

Entre no seu servsinho e pede pra sua galera da lan logar.

Logue na RCON e digite /rcon ban ID Se banir td mundo, senta e chora, senгo, й o seu codigo amorzinho.
Reply
#10

Quote:
Originally Posted by maquerx
Посмотреть сообщение
pawn Код:
if(strcmp(cmd, "/ban", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            new playersip[64];
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "USE: /ban [playerid/Nome] <motivo>");
                return 1;
            }
            giveplayerid = ReturnUser(tmp);
            if (PlayerInfo[playerid][pAdmin] >= 3 || IsPlayerAdmin(playerid))
            {
                if(IsPlayerConnected(giveplayerid))
                {
                    if(giveplayerid != INVALID_PLAYER_ID)
                    {
                        GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                        GetPlayerIp(giveplayerid,playersip,sizeof(playersip));
                        new length = strlen(cmdtext);
                        while ((idx < length) && (cmdtext[idx] <= ' '))
                        {
                            idx++;
                        }
                        new offset = idx;
                        new result[128];
                        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, "USE: /ban [playerid/Nome] [motivo]");
                            return 1;
                        }
                        if(giveplayerid != playerid && Untouchable[giveplayerid]) return SendClientMessage(playerid, COLOR_GREY, "* Vocк nгo pode fazer isto com Este Jogador!");
                        new targetlevel = PlayerInfo[giveplayerid][pAdmin];
                        new playerlevel = PlayerInfo[playerid][pAdmin];
                        if(targetlevel > playerlevel) return SendClientMessage(playerid, COLOR_GREY, "* Vocк nгo pode fazer isso com rank maior que o seu!");
                        new y, m, d;
                        new h,mi,s;
                        getdate(y,m,d);
                        gettime(h,mi,s);
                        format(string,sizeof(string), "(%d/%d/%d)[%d:%d:%d] %s Foi Banido Pelo Admin %s Motivo: %s",d,m,y,h,mi,s,giveplayer,sendername, (result));
                        BanLog(string);
                        format(string,sizeof(string), "(%d/%d/%d)[%d:%d:%d] Foi Banido Pelo Admin %s - Motivo: %s",d,m,y,h,mi,s,sendername,(result));
                        AddPunishment(giveplayerid, string);
                        format(string, sizeof(string), "%s (%d), Foi Banido Pelo Administrador %s Por %s", giveplayer, giveplayerid, sendername, (result));
                        SendClientMessageToAll(COLOR_NICERED, string);
                        format(string, sizeof(string), "[ADMIN]: %s Foi Adicionado Na Lista De Bans Por %s", playersip, sendername);
                        SendAdminMessage(COLOR_WHITE, string);
                        format(string, sizeof(string), "Vocк Foi Banido Pelo Admin %s Motivo %s", sendername, (result));
                        SendClientMessage(giveplayerid,COLOR_LIGHTBLUE, string);
                        SendClientMessage(giveplayerid,COLOR_BLUE, "Se vocк acha que isso foi um erro, reporte em .:msn:.");
                        SendClientMessage(giveplayerid,COLOR_BLUE, "Para Ser Desbanido Tire uma Print explicando o Motivo e pessa um desban em www.nossoforum.com");
                        SendClientMessage(giveplayerid,COLOR_LIGHTRED, "Nгo tente burlar o ban! Assim nгo iremos considerar seu post");
                        SafeSetPlayerPos(giveplayerid,264.6288,77.5742,1001.0391);
                        SafeSetPlayerInterior(giveplayerid, 6);
                        PlayerInfo[giveplayerid][pJailTime] = 300;
                        PlayerInfo[giveplayerid][pJailed] = 1;
                        format(string, sizeof(string), "~r~~h~Ban: ~n~~r~%s",(result));
                        GameTextForPlayer(giveplayerid, string, 6000, 3);
                        PlayerInfo[giveplayerid][pPending] = 0;
                        Ban(giveplayerid);
                        return 1;
                    }
                }//not connected
            }
            else
            {
                format(string, sizeof(string), "** %d nгo й um jogador ativo.", giveplayerid);
                SendClientMessage(playerid, COLOR_ORANGE, string);
            }
        }
        return 1;
    }
ate o rcon ban ta assim, neh sei o q fazer .-.
Thug DetecteD Nгo Copie(CTRL C + CTRL V = EDIT = LIXO).
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)