/oban Help needed
#1

pawn Код:
CMD:oban(playerid, params[]) {
    if (PlayerInfo[playerid][Level] >= 3) {
        new PlayerFile[50];
        new szString[250];
        if(sscanf(params, "u[50]",PlayerFile)) return SendClientMessage(playerid, red, "USAGE: /unban <account>");
        format(PlayerFile, sizeof(PlayerFile), "/ladmin/usersfilesnandhitv/%s.sav", params);
        if (!dini_Exists(PlayerFile)) return SendClientMessage(playerid, red, "ERROR: Player is not registered.");
        if (dini_Int(PlayerFile, "Banned") == 0) return SendClientMessage(playerid, red, "ERROR: This Account Already Banned");
        dini_IntSet(PlayerFile, "Banned", 2);
        format(szString, sizeof(szString), "AdminCmd:If You Know '%s' Tell Him That He/She Has been banned By An Admin..", params);
        SendClientMessage(playerid, green, szString);
        format(szString, sizeof(szString), "Admin %s, (ID:%d) has banned Account: %s", params);
        MessageToAdmins(yellow,szString);
        BanLog(szString);

    }
    else {
        return 0;
    }
    return 1;
}
How to get Ip from user file if (dini_Int(PlayerFile, "IP") and rcon ban ip ?
Reply
#2

That command you're showing isn't an IP ban, it's a simple account ban (names only). RCON Bans are logged in the ban file in the base directory of the server and cannot be reached via Pawn (without use of a plugin).
Reply
#3

there a ip saved on userfiles how to get ip and ban if i use /oban
Reply
#4

Anyone ?
Reply
#5

pawn Код:
CMD:banaccount(playerid, params[])
{
    if(PlayerInfo[playerid][pAdmin] < 4)
    {
        SendClientMessageEx(playerid, COLOR_GRAD1, "You are not authorized to use that command!");
        return 1;
    }

    new string[128], playername[MAX_PLAYER_NAME], reason[64];
    if(sscanf(params, "ss", playername, reason)) return SendClientMessageEx(playerid, COLOR_WHITE, "USAGE: /banaccount [playername] [reason]");

    new giveplayerid = ReturnUser(playername);
    if(IsPlayerConnected(giveplayerid))
    {
        if(PlayerInfo[giveplayerid][pAdmin] > PlayerInfo[playerid][pAdmin])
        {
            format(string, sizeof(string), "AdmCmd: %s has been auto-banned, reason: Trying to /ban a higher admin.", GetPlayerNameEx(playerid));
            ABroadCast(COLOR_YELLOW,string,2);
            PlayerInfo[playerid][pBanned] = 1;
            new ip[32];
            GetPlayerIp(giveplayerid,ip,sizeof(ip));
            AddBan(ip);
            Kick(giveplayerid);
        }
        else
        {
            new year, month,day;
            getdate(year, month, day);
            new playerip[32];
            GetPlayerIp(giveplayerid, playerip, sizeof(playerip));
            format(string, sizeof(string), "AdmCmd: %s(IP:%s) was banned by %s, reason: %s (%d-%d-%d)", GetPlayerNameEx(giveplayerid), playerip, GetPlayerNameEx(playerid), reason,month,day,year);
            Log("logs/ban.log", string);
            SendClientMessage(playerid, COLOR_WHITE, "The player is online and has been banned!");
            format(string, sizeof(string), "PlayerBan: %s was banned by %s, reason: %s", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), reason);
            SendClientMessageToAllEx(COLOR_RED, string);
            PlayerInfo[giveplayerid][pBanned] = 1;
            format(PlayerInfo[giveplayerid][pFlag], 128, "");
            new ip[32];
            GetPlayerIp(giveplayerid,ip,sizeof(ip));
            AddBan(ip);
            Kick(giveplayerid);
        }
    }
    else if(doesAccountExist(playername))
    {
        OnPlayerOfflineLogin(playername);
        if( PlayerInfo[MAX_PLAYERS][pPermaBanned] == 3 )
        {
            SendClientMessageEx( playerid, COLOR_WHITE, "That player is already permabanned!" );
            return 1;
        }
        if( PlayerInfo[MAX_PLAYERS][pAdmin] >= 2 )
        {
            SendClientMessageEx( playerid, COLOR_WHITE, "You can not ban admin accounts!" );
            return 1;
        }
        else
        {
            if( PlayerInfo[MAX_PLAYERS][pBanned] >= 0 )
            {
                PlayerInfo[MAX_PLAYERS][pBanned] = 1;
                AddBan(PlayerInfo[MAX_PLAYERS][pIP]);
                OnPlayerOfflineSave(playername);
                new year, month,day;
                getdate(year, month, day);
                format(string, sizeof(string), "AdmCmd: %s (IP:%s) was offline banned by %s, reason: %s (%d-%d-%d)", playername, PlayerInfo[MAX_PLAYERS][pIP], GetPlayerNameEx(playerid), reason, month, day, year);
                Log("logs/ban.log", string);
                format(string, 128, "PlayerBan: %s (IP:%s) was offline banned by %s, reason: %s", playername, PlayerInfo[MAX_PLAYERS][pIP], GetPlayerNameEx(playerid), reason);
                ABroadCast(COLOR_RED,string,2);
                print(string);
            }
            else
            {
                SendClientMessageEx( playerid, COLOR_WHITE, "Already a banned account!" );
            }
        }
    }
    else
    {
        SendClientMessageEx( playerid, COLOR_WHITE, "That account doesn't exist." );
    }
    return 1;
}
maybe this will help you
Reply
#6

pawn Код:
CMD:oban(playerid,params[])
{
    if (PlayerInfo[playerid][Level] >= 3)
    {
        new PlayerFile[50],ip[16],szString[250];
        if(sscanf(params,"u[50]",PlayerFile)) return SendClientMessage(playerid,red,"USAGE: /unban <account>");
        format(PlayerFile,sizeof(PlayerFile),"/ladmin/usersfilesnandhitv/%s.sav",params);
        if (!dini_Exists(PlayerFile)) return SendClientMessage(playerid,red,"ERROR: Player is not registered.");
        if (dini_Int(PlayerFile,"Banned") == 0) return SendClientMessage(playerid,red,"ERROR: This Account Already Banned");
        format(ip,sizeof(ip),dini_Get(PlayerFile,"IP"));
        format(szString,(szString),"banip %s",ip);
        SendRconCommand(szString);
        dini_IntSet(PlayerFile,"Banned",2);
        format(szString,sizeof(szString),"AdminCmd:If You Know '%s' Tell Him That He/She Has been banned By An Admin..",params);
        SendClientMessage(playerid,green,szString);
        format(szString,sizeof(szString),"Admin %s,(ID:%d) has banned Account: %s",params);
        MessageToAdmins(yellow,szString);
        BanLog(szString);
    }
    else
    {
        return 0;
    }
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)