Jump to content
  • 0

Problema sistem de ban


Jimmi

Question

Problema intalnita (descriere):Am schimbat sistemul de ban.Cand ii dau ban cu comanda /ban merge ii da ban etc il scoate de pe server dar cand revine nu mai are ban...
Ero(area / rile) / warning-(ul / urile):-
Liniile de cod / sursa / script-ul(obligatoriu):Comanda /ban


Imagini / Video (optional):
Ati incercat sa rezolvati singur?:Da

//========================================[CMD:BAN]==========================================================//
CMD:ban(playerid, params[])
{
    if(IsPlayerConnected(playerid))
    {
        if(PlayerInfo[playerid][pAdmin] >= 1)
        {
            new giveid,days,reason[256];
            if (!sscanf(params, "uds[256]", giveid,days,reason))
            {
                if(IsPlayerConnected(giveid))
                {
                    if(days == 0)
                    {
                        new giveplayer[128],adminame[128],y,m,d,h,mi,s;
                        GetPlayerName(playerid,adminame,sizeof(adminame));
                        GetPlayerName(giveid,giveplayer,sizeof(giveplayer));
                        new string[256];
                        getdate(y,m,d);
                        gettime(h,mi,s);
                        format(string,sizeof(string),"INSERT INTO `bans`(`Name`, `Reason`, `Admin`, `Permanent`, `BanDate`) VALUES ('%s','%s','%s','1','%i/%i/%i')",giveplayer,reason,adminame,d,m,y);
                        mysql_query(string);
                        format(string,sizeof(string),"{FFFFFF}__________________________________________________________________");
                        SendClientMessage(giveid,-1,string);
                        format(string,sizeof(string),"{99CCFF}Ban Info {FF1919}%s {99CCFF}- %i/%i/%i",giveplayer,d,m,y);
                        SendClientMessage(giveid,-1,string);
                        format(string,sizeof(string),"{99CCFF}Account name: {FF1919}%s",giveplayer);
                        SendClientMessage(giveid,-1,string);
                           format(string,sizeof(string),"{99CCFF}Admin who banned you: {FF1919}%s",adminame);
                        SendClientMessage(giveid,-1,string);
                        format(string,sizeof(string),"{99CCFF}Reason: {FF1919}%s",reason);
                        SendClientMessage(giveid,-1,string);
                        format(string,sizeof(string),"{99CCFF}Ban date:{FF1919} %i/%i/%i",d,m,y);
                        SendClientMessage(giveid,-1,string);
                        format(string,sizeof(string),"{99CCFF}Expiration date: {FF1919}Never, permanent.");
                        SendClientMessage(giveid,-1,string);
                        format(string,sizeof(string),"{99CCFF}For unban enter on the forum: {FF1919}WWW.PG-ZONE.RO{99CCFF}.");
                        SendClientMessage(giveid,-1,string);
                        format(string,sizeof(string),"{FFFFFF}__________________________________________________________________");
                           SendClientMessage(giveid,-1,string);
                        SetTimerEx("Kicks",100,false,"i",giveid);
                    }
                    if(days > 0)
                    {
                        new giveplayer[128],adminame[128],d,m,y,h,mi,s;
                        GetPlayerName(playerid,adminame,sizeof(adminame));
                        GetPlayerName(giveid,giveplayer,sizeof(giveplayer));
                        new string[256],date_unban,Hour,Minutes,Seconds,Day,Month,Year;
                        getdate(y,m,d);
                        gettime(h,mi,s);
                        date_unban = gettime() + (days * 86400);
                        TimestampToDate(date_unban,Year,Month,Day,Hour,Minutes,Seconds,3);
                        ExecCMD[playerid]++;
                        format(string,sizeof(string),"INSERT INTO `bans`(`Name`, `Reason`, `Admin`, `Permanent`, `Day`, `Month`, `Year`, `Hour`, `Minutes`, `Seconds`, `BanDate`) VALUES ('%s','%s','%s','0','%d','%d','%d','%d','%d','%d','%d/%d/%d')",giveplayer,reason,adminame,Day,Month,Year,Hour,Minutes,Seconds,d,m,y);
                        mysql_query(string);
                        format(string,sizeof(string),"{FFFFFF}__________________________________________________________________");
                        SendClientMessage(giveid,-1,string);
                        format(string,sizeof(string),"{99CCFF}Ban Info {FF1919}%s {99CCFF}- %i/%i/%i",giveplayer,d,m,y);
                        SendClientMessage(giveid,-1,string);
                        format(string,sizeof(string),"{99CCFF}Account name: {FF1919}%s",giveplayer);
                        SendClientMessage(giveid,-1,string);
                           format(string,sizeof(string),"{99CCFF}Admin who banned you: {FF1919}%s",adminame);
                        SendClientMessage(giveid,-1,string);
                        format(string,sizeof(string),"{99CCFF}Reason: {FF1919}%s",reason);
                        SendClientMessage(giveid,-1,string);
                        format(string,sizeof(string),"{99CCFF}Ban date:{FF1919} %i/%i/%i",d,m,y);
                        SendClientMessage(giveid,-1,string);
                        format(string,sizeof(string),"{99CCFF}Expiration date:{FF1919} %d/%d/%d, %d:%d:%d",Day,Month,Year,Hour,Minutes,Seconds);
                        SendClientMessage(giveid,-1,string);
                        format(string,sizeof(string),"{99CCFF}For unban enter on the forum: {FF1919}WWW.PG-ZONE.RO{99CCFF}.");
                        SendClientMessage(giveid,-1,string);
                        format(string,sizeof(string),"{FFFFFF}__________________________________________________________________");
                           SendClientMessage(giveid,-1,string);
                           SetTimerEx("Kicks",100,false,"i",giveid);
                    }
                }
                else SendClientMessage(playerid, COLOR_GREY, "{FF4D4D}Info: {FFFFFF}Jucatorul nu este connectat!");
            }
            else SendClientMessage(playerid, 0xFFFFFFFF, "{FF4D4D}Foloseste: {FFFFFF}/ban [ID/Nume Jucator] [Zile / 0(permanent)] [Motiv]");
        }
        else SendClientMessage(playerid, COLOR_GREY, "{FF4D4D}Info: {FFFFFF}Nu ai rangul administrativ necesar !");
    }
    SaveExecCMDS(playerid, "/ban", ExecCMD[playerid]);
    return 1;
}
check ban
forward BanCheck(i);
public BanCheck(i)
{
    new name[32], query[256], qwr[256], result[256], string[256],d,m,y,h,mi,s;
    getdate(y,m,d); gettime(h,mi,s);
    GetPlayerName(i, name, sizeof(name));
    format(query,sizeof(query),"SELECT * FROM `bans` WHERE Name = '%s'",name);
    mysql_query(query);
    mysql_store_result();
    if(mysql_num_rows())
    {
        mysql_get_field("Permanent", result);    PlayerBan[i][pType] = strval(result);
        mysql_get_field("Day", result);          PlayerBan[i][pDay] = strval(result);
        mysql_get_field("Month", result);        PlayerBan[i][pMonth] = strval(result);
        mysql_get_field("Year", result);         PlayerBan[i][pYear] = strval(result);
        mysql_get_field("Hour", result);         PlayerBan[i][pHour] = strval(result);
        mysql_get_field("Minutes", result);      PlayerBan[i][pMinutes] = strval(result);
        mysql_get_field("Seconds", result);      PlayerBan[i][pSeconds] = strval(result);
        mysql_fetch_field_row(result, "Reason"); format(PlayerBan[i][pReason],128,result);
        mysql_fetch_field_row(result, "Admin"); format(PlayerBan[i][pAdmin],128,result);
        mysql_fetch_field_row(result, "BanDate"); format(PlayerBan[i][pBanDate],128,result);
        if(PlayerBan[i][pType] == 1)
        {
            format(string,sizeof(string),"{FFFFFF}__________________________________________________________________",name);
            SendClientMessage(i,-1,string);
            format(string,sizeof(string),"{99CCFF}Ban Info {FF1919}%s {99CCFF}- %s",name,PlayerBan[i][pBanDate]);
            SendClientMessage(i,-1,string);
            format(string,sizeof(string),"{99CCFF}Account name: {FF1919}%s",name);
            SendClientMessage(i,-1,string);
            format(string,sizeof(string),"{99CCFF}Admin who banned you: {FF1919}%s",PlayerBan[i][pAdmin]);
            SendClientMessage(i,-1,string);
            format(string,sizeof(string),"{99CCFF}Reason: {FF1919}%s",PlayerBan[i][pReason]);
            SendClientMessage(i,-1,string);
            format(string,sizeof(string),"{99CCFF}Ban date: {FF1919}%s",PlayerBan[i][pBanDate]);
            SendClientMessage(i,-1,string);
            format(string,sizeof(string),"{99CCFF}Expiration date: {FF1919}Never, permanent.",PlayerBan[i][pDay],PlayerBan[i][pMonth],PlayerBan[i][pYear],PlayerBan[i][pHour],PlayerBan[i][pMinutes],PlayerBan[i][pSeconds]);
            SendClientMessage(i,-1,string);
            format(string,sizeof(string),"{99CCFF}For unban enter on the forum: {FF1919}WWW.PG-ZONE.RO{99CCFF}.");
            SendClientMessage(i,-1,string);
            format(string,sizeof(string),"{FFFFFF}__________________________________________________________________",name);
            SendClientMessage(i,-1,string);
            SetTimerEx("Kicks", 1000, false, "i", i);
        }
        else
        {
            if((d>PlayerBan[i][pDay] && m>=PlayerBan[i][pMonth] && y>=PlayerBan[i][pYear]) || (d>PlayerBan[i][pDay] && m==PlayerBan[i][pMonth]) || (m>PlayerBan[i][pMonth] ||
         y>PlayerBan[i][pYear]) || (d==PlayerBan[i][pDay] && m==PlayerBan[i][pMonth] && y==PlayerBan[i][pYear] && h>=PlayerBan[i][pHour] && mi>=PlayerBan[i][pMinutes]))
            {
                format(qwr,sizeof(qwr),"DELETE FROM `bans` WHERE Name = '%s'",name);
                mysql_query(string);
                format(qwr,sizeof(qwr),"SELECT * FROM players WHERE Name = '%s'",name);
                mysql_query(string);
            }
            else
            {
                format(string,sizeof(string),"{FFFFFF}__________________________________________________________________",name);
                SendClientMessage(i,-1,string);
                format(string,sizeof(string),"{99CCFF}Ban Info {FF1919}%s {99CCFF}- %s",name,PlayerBan[i][pBanDate]);
                SendClientMessage(i,-1,string);
                format(string,sizeof(string),"{99CCFF}Account name: {FF1919}%s",name);
                SendClientMessage(i,-1,string);
                format(string,sizeof(string),"{99CCFF}Admin who banned you: {FF1919}%s",PlayerBan[i][pAdmin]);
                SendClientMessage(i,-1,string);
                format(string,sizeof(string),"{99CCFF}Reason: {FF1919}%s",PlayerBan[i][pReason]);
                SendClientMessage(i,-1,string);
                format(string,sizeof(string),"{99CCFF}Ban date: {FF1919}%s",PlayerBan[i][pBanDate]);
                SendClientMessage(i,-1,string);
                format(string,sizeof(string),"{99CCFF}Expiration date: {FF1919}%i/%i/%i, %i:%i:%i",PlayerBan[i][pDay],PlayerBan[i][pMonth],PlayerBan[i][pYear],PlayerBan[i][pHour],PlayerBan[i][pMinutes],PlayerBan[i][pSeconds]);
                SendClientMessage(i,-1,string);
                format(string,sizeof(string),"{99CCFF}For unban enter on the forum: {FF1919}WWW.PG-ZONE.RO{99CCFF}.");
                SendClientMessage(i,-1,string);
                format(string,sizeof(string),"{FFFFFF}__________________________________________________________________",name);
                SendClientMessage(i,-1,string);
                SetTimerEx("Kicks", 1000, false, "i", i);
            }
        }
    }
    return 1;
}
Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0
Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.