/oban Help needed -
Venice - 21.08.2014
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 ?
Re: /oban Help needed -
Joe Staff - 21.08.2014
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).
Re: /oban Help needed -
Venice - 21.08.2014
there a ip saved on userfiles how to get ip and ban if i use /oban
Re: /oban Help needed -
Venice - 22.08.2014
Anyone ?
Re: /oban Help needed -
krytans - 22.08.2014
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
Re: /oban Help needed -
tyler12 - 22.08.2014
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;
}