[ajuda] ban nick
#1

Bom Eu Queria Criar Um cmd de ban nick que o player estiver off
tipo /bannick [conta]
o GM ja tem alguns cmd de ban
pawn Код:
COMMAND:ban(playerid, params[])
{
    new PlayerToBan, Days, Hours, Reason[128], TotalBanTime, Msg[128], Name[24], AdminName[24];
    if (APlayerData[playerid][LoggedIn] == true)
    {
        if (APlayerData[playerid][PlayerLevel] >= 3)
        {
            if (sscanf(params, "uiis[128]", PlayerToBan, Days, Hours, Reason))
                SendClientMessage(playerid, 0xFF0000AA, "Use: /ban [id] [dias] [horas] [motivo]");
            else
            {
                if (IsPlayerConnected(PlayerToBan))
                {
                    GetPlayerName(playerid, AdminName, sizeof(AdminName));
                    GetPlayerName(PlayerToBan, Name, sizeof(Name));
                    APlayerData[PlayerToBan][Bans]++;
                    TotalBanTime = (Days * 86400) + (Hours * 3600) + gettime();
                    if (APlayerData[PlayerToBan][Bans] == 5)
                        APlayerData[PlayerToBan][BanTime] = 2147483640;
                    else
                        APlayerData[PlayerToBan][BanTime] = TotalBanTime;
                    if (APlayerData[PlayerToBan][Bans] == 5)
                    {
                        format(Msg, 128, "Vocк foi banido permanentemente por %s, pois ja й o seu 5° banimento.", AdminName);
                        SendClientMessage(PlayerToBan, 0x808080FF, Msg);
                    }
                    else
                    {
                        format(Msg, 128, "Vocк foi banido por %s por %i dias e %i horas.", AdminName, Days, Hours);
                        SendClientMessage(PlayerToBan, 0x808080FF, Msg);
                        format(Msg, 128, "Reason: %s", Reason);
                        SendClientMessage(PlayerToBan, 0x808080FF, Msg);
                        format(Msg, 128, "Vocк jб foi banido %i vezes, a 5° serб permanente.", APlayerData[PlayerToBan][Bans]);
                        SendClientMessage(PlayerToBan, 0x808080FF, Msg);
                    }
                }                
                Kick(PlayerToBan);
                format(Msg, 128, "{FF0000}-| O administrador %s %s baniu %s por %i dias e %i horas |-", AdminLevelName[APlayerData[playerid][PlayerLevel]], AdminName, Name, Days, Hours);
                SendClientMessageToAll(0x808080FF, Msg);
            }
        }
    }
    return 1;
}
COMMAND:banip(playerid, params[])
{
    new PlayerToBan, Reason[128], Msg[128], Name[24], AdminName[24];
    if (APlayerData[playerid][LoggedIn] == true)
    {
        if (APlayerData[playerid][PlayerLevel] >= 4)
        {
            if (sscanf(params, "us[128]", PlayerToBan, Reason))
                SendClientMessage(playerid, 0xFF0000AA, "Use: /banip [id] [motivo]");
            else
            {
                if (IsPlayerConnected(PlayerToBan))
                {
                    if(APlayerData[PlayerToBan][PlayerLevel] <= 5)                    
                    {
                        GetPlayerName(playerid, AdminName, sizeof(AdminName));
                        GetPlayerName(PlayerToBan, Name, sizeof(Name));
                        format(Msg, 128, "Vocк teve o IP banido permanentemente por %s.", AdminName);
                        SendClientMessage(PlayerToBan, 0xFF0000, Msg);
                        format(Msg, 128, "Motivo: {FFFFFF}%s{FF0000}.", Reason);
                        SendClientMessage(PlayerToBan, 0xFF0000, Msg);
                        BanEx(PlayerToBan, Reason);
                        format(Msg, 128, "-| O Administrador %s %s baniu o ip de %s |-", AdminLevelName[APlayerData[playerid][PlayerLevel]], AdminName, Name);
                        SendClientMessageToAll(0xFF0000, Msg);
                    }
                }  
            }
        }
    }
    return 1;
}
COMMAND:banclasse(playerid, params[])
{
    new PlayerToBan, PlayerIP[16], FirstPartsOfIP[16], BanCmd[24], Reason[128], Msg[128], Name[24], AdminName[24];
    if (APlayerData[playerid][LoggedIn] == true)
    {
        if (APlayerData[playerid][PlayerLevel] >= 6)
        {
            if (sscanf(params, "us[128]", PlayerToBan, Reason))
                SendClientMessage(playerid, 0xFF0000AA, "Use: /banbanclasse [id] [motivo]");
            else
            {
                if (IsPlayerConnected(PlayerToBan))
                {
                    if(APlayerData[PlayerToBan][PlayerLevel] <= 5)                    
                    {
                        GetPlayerName(playerid, AdminName, sizeof(AdminName));
                        GetPlayerName(PlayerToBan, Name, sizeof(Name));
                        GetPlayerIp(PlayerToBan, PlayerIP, 16);
                        format(Msg, 128, "Vocк teve a faixa de ip banida permanentemente por %s.", AdminName);
                        SendClientMessage(PlayerToBan, 0xFF0000, Msg);
                        format(Msg, 128, "Motivo: {FFFFFF}%s{FF0000}.", Reason);
                        SendClientMessage(PlayerToBan, 0xFF0000, Msg);
                        FirstPartsOfIP = GetFirstThreeDigitsFromIP(PlayerIP);
                        for (new i; i < 256; i++)
                        {
                            format(BanCmd, 24, "banip %s%i", FirstPartsOfIP, i);
                            SendRconCommand(BanCmd);
                        }
                        Kick(PlayerToBan);
                        format(Msg, 128, "-| O Administrador %s %s baniu a faixa de IP de %s |-", AdminLevelName[APlayerData[playerid][PlayerLevel]], AdminName, Name);
                        SendClientMessageToAll(0xFF0000, Msg);
                   }
               }
           }
        }
    }
    return 1;
}
COMMAND:desbanir(playerid, params[])
{
    new PlayerToUnban[24], Msg[128], Name[24];
    new file[100], File:PFile, LineForFile[100];

    if (APlayerData[playerid][LoggedIn] == true)
    {
        if (APlayerData[playerid][PlayerLevel] >= 4)
        {
            if (sscanf(params, "s[128]", PlayerToUnban))
                SendClientMessage(playerid, 0xFF0000AA, "Use: /desbanir [nick]");
            else
            {
                GetPlayerName(playerid, Name, sizeof(Name));

                format(file, sizeof(file), PlayerFile, PlayerToUnban);

                if (fexist(file))
                {
                    PFile = fopen(file, io_append);

                    format(LineForFile, 100, "BanTime 0\r\n");
                    fwrite(PFile, LineForFile);

                    fclose(PFile);

                    format(Msg, 128, "%s %s desbaniu %s", AdminLevelName[APlayerData[playerid][PlayerLevel]], Name, PlayerToUnban);
                    SendClientMessageToAll(0x808080FF, Msg);
                }
                SendClientMessage(playerid, 0xFFFFFFFF, "{FF0000} Nгo existe nenhuma conta com esse nome.");
            }
        }
    }
    return 1;
}
Reply


Messages In This Thread
[ajuda] ban nick - by Don_Speed - 07.05.2012, 00:38
Re: [ajuda] ban nick - by Abravanel - 07.05.2012, 01:30
Re: [ajuda] ban nick - by WLSF - 07.05.2012, 08:46

Forum Jump:


Users browsing this thread: 1 Guest(s)