SA-MP Forums Archive
A banned player can join like nothing happend. - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: A banned player can join like nothing happend. (/showthread.php?tid=515943)



A banned player can join like nothing happend. - Johnson_Brooks - 28.05.2014

I banned myself to test the /ban command and when i rejoined to see the ban message that i wanted , i joined normally like nothing had happen .
pawn Код:
//onplayerconnect
    if(PlayerInfo[playerid] [pBanned] >=1)
    {
    SendClientMessage(playerid,COLOR_WHITE,"This account is currently{FF0000} banned{EEEEEE} from <Censored>");
    format(banstring,sizeof(banstring),"{FF0000}Username{EEEEEE}:%s",PlayerInfo[playerid][pBannedName]);
    format(banstring,sizeof(banstring),"{FF0000}Banned{EEEEEE} By:%s",PlayerInfo[playerid][pBannedBy]);
    format(banstring,sizeof(banstring),"{FF0000}Banned{EEEEEE} For%s",PlayerInfo[playerid][pBannedFor]);
    SendClientMessage(playerid,COLOR_WHITE,banstring);
    SetTimerEx("KickPlayer", 120, false, "i",playerid);
    }



Re: A banned player can join like nothing happend. - Cookland - 28.05.2014

Are you maybe using a VPN by accident?
Or something which may change your IP?


Re: A banned player can join like nothing happend. - Konstantinos - 28.05.2014

Two things:

- Checking directly in OnPlayerConnect if PlayerInfo[playerid][pBanned] is equal or greather than 1 without loading the data and assign it to the variable will do nothing.
- Never getting the player's IP on disconnect because it will return 255.255.255.255


Re: A banned player can join like nothing happend. - Pottus - 28.05.2014

A good custom ban system takes a lot of work conveniently Konstantinos tutorial will show you what you need to know before starting to make that kind of system.


Re: A banned player can join like nothing happend. - Johnson_Brooks - 28.05.2014

pawn Код:
public OnPlayerConnect(playerid)
{
    new banstring[300];
    if(PlayerInfo[playerid][pBanned] ==1)
    {
    SendClientMessage(playerid,COLOR_WHITE,"This account is currently{FF0000} banned{EEEEEE} from San Fierro Cops and Robbers");
    format(banstring,sizeof(banstring),"{FF0000}Username{EEEEEE}:%s",PlayerInfo[playerid][pBannedName]);
    format(banstring,sizeof(banstring),"{FF0000}Banned{EEEEEE} By:%s",PlayerInfo[playerid][pBannedBy]);
    format(banstring,sizeof(banstring),"{FF0000}Banned{EEEEEE} For%s",PlayerInfo[playerid][pBannedFor]);
    SendClientMessage(playerid,COLOR_WHITE,banstring);
    SetTimerEx("KickPlayer", 100 , false, "i",playerid);
    }
Still , it lets me join normally


Re: A banned player can join like nothing happend. - Eth - 28.05.2014

show me the ban command please?


Re: A banned player can join like nothing happend. - Johnson_Brooks - 28.05.2014

pawn Код:
CMD:ban(playerid, params[])
{
    if(PlayerInfo[playerid][pAdmin] < 1) return NOACCESS
    new targetid;
    new reason[128];
    if(sscanf(params, "us[128]", targetid, reason)) return SendClientMessage(playerid, -1, "USAGE: /ban [id] [reason]");
    if(!IsPlayerConnected(targetid) || targetid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, "The player is not connected.");
    new pName[MAX_PLAYER_NAME], targetname[MAX_PLAYER_NAME], day, month, year, hour, minute, second, string[150];
    new string2[300];
    GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
    GetPlayerName(playerid,targetname,MAX_PLAYER_NAME);
    getdate(day, month, year);
    gettime(hour, minute, second);
    format(string, sizeof(string), "[{FF0000}BAN{EEEEEE}]Administrator %s has banned %s for %s",pName,targetname,reason);
    SendClientMessageToAll(COLOR_WHITE,string);
    format(string, sizeof(string),"[{FF0000}BAN{EEEEEE}]Administrator %s has banned you for %s",pName,reason);
    SendClientMessage(targetid,COLOR_WHITE,string);
    SendClientMessage(targetid,COLOR_WHITE,"--------------------------------------");
    SendClientMessage(targetid, COLOR_RED, "Ban Information");
    format(string, sizeof(string), "Banned by: %s", pName);
    SendClientMessage(targetid, COLOR_RED, string);
    format(string, sizeof(string), "Banned for: %s", reason);
    SendClientMessage(targetid, COLOR_RED, string);
    format(string, sizeof(string), "Ban date: %d/%d/%d at %d:%d:%d.", day, month, year, hour, minute, second);
    SendClientMessage(targetid, COLOR_RED, string);
    SendClientMessage(targetid, COLOR_WHITE,"Please press the F8 button to take a screenshot to use it on your appeal");
    SendClientMessage(targetid,COLOR_WHITE,"--------------------------------------");
    PlayerInfo[targetid][pBanned] = 1;
    strcpy(PlayerInfo[playerid][pBannedName],targetname,MAX_PLAYER_NAME);
    strcpy(PlayerInfo[targetid][pBannedBy], pName, MAX_PLAYER_NAME);
    strcpy(PlayerInfo[targetid][pBannedFor], reason, sizeof (reason));
    format(string2,sizeof(string2), "Administrator %s has banned %s for %s(Date: %d/%d/%d at %d:%d:%d)",pName,targetname,reason,day,month,year,hour,minute,second);
    printf(string2);
    new File:log;
    log = fopen("logs/bans.txt", io_append);
    fwrite(log, string2);
    fclose(log);
    SetTimerEx("KickPlayer", 150, false, "i", targetid);
    return 1;
}



Re: A banned player can join like nothing happend. - Eth - 28.05.2014

show me the login dialog.


Re: A banned player can join like nothing happend. - Hiddos - 28.05.2014

You're not checking if the player is actually banned, in order to do so you'll need to look through your bans.txt file for an entry containing that player's name. Do that, find his name and ban/kick him.


Re: A banned player can join like nothing happend. - Josh_Main - 28.05.2014

Quote:
Originally Posted by Hiddos
Посмотреть сообщение
You're not checking if the player is actually banned, in order to do so you'll need to look through your bans.txt file for an entry containing that player's name. Do that, find his name and ban/kick him.
This