[HELp] Banning Player IPS
#1

pawn Код:
CMD:rbanproblem(playerid, params[])
{
    if(!PlayerInfo[playerid][LoggedIn]) return SendClientMessage(playerid, red, "ERROR: You must be logged in to use this commands");
    if(PlayerInfo[playerid][Level] < 7) return SendClientMessage(playerid, red, "ERROR: You are not a high enough level to use this command");
    new targetid, reason[40];
    print(params);
    if(sscanf(params, "is(No Reason)[40]", targetid, reason)) return SendClientMessage(playerid, red, "USAGE: /ban [playerid] [reason]");
    if(!IsPlayerConnected(targetid) || targetid == INVALID_PLAYER_ID) return SendClientMessage(playerid, red, "Player is not connected.");
    if(targetid == playerid) return SendClientMessage(playerid, red, "You cannot ban yourself.");
    if(PlayerInfo[targetid][Level] == ServerInfo[MaxAdminLevel]) return SendClientMessage(playerid, red, "The Player You Are Trying To Ban Is The Highest Admin !");
    new PlayerName[MAX_PLAYER_NAME], AdminName[MAX_PLAYER_NAME], string[150];
    GetPlayerName(playerid, AdminName, sizeof(AdminName));
    GetPlayerName(targetid, PlayerName, sizeof(PlayerName));
    new year, month, day, hour, minute, second;
    getdate(year, month, day);
    gettime(hour, minute, second);
    format(string, sizeof(string), "{FF0000}{FFD700}[xWF Info] {FF0000}%s (ID: %d) has been Range banned by Administrator %s (ID: %d) [Reason: %s]", PlayerName, targetid, AdminName, playerid, reason);
    SendClientMessageToAll(red, string);
    CMDMessageToAdmins(playerid, "rBan");
    PlayerInfo[playerid][Used] += 1;
    SaveToFile("BanLog", string);
    aresetpall(targetid);
    print(string);
    if(udb_Exists(PlayerName2(targetid)) && PlayerInfo[targetid][LoggedIn] == 1) dUserSetINT(PlayerName2(targetid)).("banned",1);
    SendClientMessage(targetid, red, "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
    SendClientMessage(targetid, red, "xWF:: YOU HAVE BEEN RANGE BANNED - READ THE FOLLOWING DETAILS:");
    format(string, sizeof(string), "xWF:: Your Name: %s", PlayerName);
    SendClientMessage(targetid, green, string);
    format(string, sizeof(string), "xWF:: Admin Name: %s", AdminName);
    SendClientMessage(targetid, green, string);
    format(string, sizeof(string), "xWF:: Date And Time: %d/%d/%d %d:%d", day, month, year, hour, minute);
    SendClientMessage(targetid, green, string);
    format(string, sizeof(string), "xWF:: Reason: %s", reason);
    SendClientMessage(targetid, green, string);
    SendClientMessage(targetid, green, "(If You Wish To Make an Appeal goto samp-gamers.tk and post in the Unban Appeals Category.)");
    SendClientMessage(targetid, red, "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
    return SetTimerEx("rBanTimer", 200, false, "is", targetid, reason);
}

forward rBanTimer(playerid, reason[]);
public rBanTimer(playerid, reason[]) return BanEx(playerid, reason);
CAn anyone help me to make this also ban player IP ?
Reply
#2

just remove those public rBanTimer and forward ban timer.
And add
pawn Код:
new IP[16]; // near that reason[40]
pawn Код:
GetPlayerIp(targetid,IP,sizeof(IP)); //Remove that return timerex and paste this there.

format(string,sizeof(string),"banip %s",IP);
SendRconCommand(string);
Atlast don't forget to use return 1;
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)