Jump to content
  • 0

Cum dau unban?


peterseN

Question

Problema intalnita (descriere): Nu stiu cum sa creez comanda /untban.... Comanda /unban nu merge la /tban
Ero(area / rile) / warning-(ul / urile): -
Liniile de cod / sursa / script-ul(obligatoriu):

    if(strcmp(cmd, "/tban", true) == 0)
    {
        new name[MAX_PLAYER_NAME];

        if(PlayerInfo[playerid][pAdmin] >= 1)
        {
            tmp = strtok(cmdtext,idx);
            if(!strlen(tmp))
            {
                  SendClientMessage(playerid, COLOR_LIGHTBLUE, "Usage: /tban [NumeJucator/ID] [Zile] [Motiv]");
                //SendClientMessage(playerid, COLOR_ORANGE, "Function: Temporarily bans a player for specified Days");
                return 1;
            }
            if(PlayerBanned[playerid] == -1)
            {
              SendClientMessage(playerid,COLOR_RED,"Poti da /tban doar o data la 1 minut!");
              return 1;
            }
            giveplayerid = ReturnUser(tmp);
            if(IsPlayerConnected(giveplayerid))
            {
                tmp = strtok(cmdtext, idx);
                if (!strlen(tmp))
                {
                SendClientMessage(playerid, COLOR_LIGHTBLUE, "Usage: /tban [NumeJucator/ID] [Zile)] [Motiv]");
                return 1;
                }
                new days = strval(tmp);
                if(!IsNumeric(tmp))
                return SendClientMessage(playerid, COLOR_RED, "ERROR: Invalid Day! Only Numbers!");

                if(strval(tmp) <= 0 || strval(tmp) > 1000)
                return SendClientMessage(playerid, COLOR_RED, "ERROR: Invalid Day! (1-1000)");

                new reason[128];
                reason = strtok2(cmdtext,idx);
                if (!strlen(reason))
                return SendClientMessage(playerid, COLOR_RED, "ERROR: Reason not Specified!");

                if (strlen(reason) <= 0 || strlen(reason) > 100)
                return SendClientMessage(playerid, COLOR_RED, "ERROR: Invalid Reason length!");

                GetPlayerName(playerid, name, sizeof name);
                GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                new File:tempban = fopen("TempBans.ban", io_append);
                if (tempban)
                {
                    new year,month,day;
                    getdate(year, month, day);
                    day += days;
                    if (IsMonth31(month))
                    {
                        if (day > 31)
                        {
                            month += 1;
                            if (month > 12)
                            {
                                year += 1;
                                while(day > 31) day -= 31;
                            }
                            else while(day > 31) day -= 31;
                        }
                    }
                    else if (!IsMonth31(month))
                    {
                        if (day > 30)
                        {
                            month += 1;
                            if (month > 12)
                            {
                                year += 1;
                                while(day > 30) day -= 30;
                            }
                            else while(day > 30) day -= 30;
                        }
                    }
                    else if (!IsMonth31(month) && IsMonth29(year) && month == 2)
                    {
                        if (day > 29)
                        {
                            month += 1;
                            if (month > 12)
                            {
                                year += 1;
                                while(day > 29) day -= 29;
                            }
                            else while(day > 29) day -= 29;
                        }
                    }
                    else if (!IsMonth31(month) && !IsMonth29(year) && month == 2)
                    {
                        if (day > 28)
                        {
                            month += 1;
                            if (month > 12)
                            {
                                year += 1;
                                while(day > 28) day -= 28;
                            }
                            else while(day > 28) day -= 28;
                        }
                    }
                    format(string, sizeof string, "%d|%d|%d|%s\n", day, month, year, giveplayer);
                    fwrite(tempban, string);
                    fclose(tempban);
                }
                new y,m,d;
                getdate(y,m,d);
                format(string,128,"AdmCmd: %s Banned %s for %d days , reason: %s",name,giveplayer,days,reason);
                SendClientMessageToAll(COLOR_LIGHTRED,string);
                BanLog(string);
                format(string, sizeof string, "(%d-%d-%d)AdmCmd: Admin %s Banned %s for %d Day(s) | Reason: %s",d,m,y,name,giveplayer,days,reason);
                PlayerInfo[giveplayerid][pLocked] = 1;
                new plrIP[16];
                GetPlayerIp(giveplayerid,plrIP, sizeof(plrIP));
                SendClientMessage(giveplayerid,COLOR_ORANGE,"|___________[BAN INFO]___________|");
                format(string, sizeof(string), "Numele tau este: %s.",giveplayer);
                SendClientMessage(giveplayerid, COLOR_WHITE, string);
                   format(string, sizeof(string), "IP-ul tau este: %s.",plrIP);
                SendClientMessage(giveplayerid, COLOR_WHITE, string);
                format(string, sizeof(string), "Ai fost banat de: %s.",name);
                SendClientMessage(giveplayerid, COLOR_WHITE, string);
                format(string, sizeof(string), "Ai fost banat pentru urmatorul motiv: %s.",reason);
                SendClientMessage(giveplayerid, COLOR_WHITE, string);
                format(string, sizeof(string), "Ai primit ban pentru: %s zile.",days);
                SendClientMessage(giveplayerid, COLOR_WHITE, string);
                format(string, sizeof(string), "Ai fost banat pe data de: %d/%d/%d (Ziua-Luna-Anul)",d,m,y);
                SendClientMessage(giveplayerid, COLOR_WHITE, string);
                SendClientMessage(giveplayerid,COLOR_ORANGE,"|___________[BAN INFO]___________|");
                SendClientMessage(giveplayerid,COLOR_LIGHTRED,"[BAN INFO]:"#COL_WHITE" Poti face o cerere de unban pe forumul nostru: | Succes !");
                SendClientMessage(giveplayerid,COLOR_ORANGE,"[HINT]: "#COL_WHITE"Te sfatuim sa faci o "#COL_ORANGE"poza"#COL_WHITE" la aceste informatii,si sa o postezi cand faci cerere unban.Apasa"#COL_ORANGE" F8"#COL_WHITE" pentru a face poza !");
                SetTimerEx("ResetBan", 60000, 0, "d", playerid);
                Kick ( giveplayerid );
            }
            else
            {
                format(string, sizeof(string), "   %d is not an active player.", giveplayerid);
                SendClientMessage(playerid, COLOR_GRAD1, string);
            }
        }
        else return SendClientMessage(playerid,COLOR_GRAD1,"You are not authorized to use that command");
        return true;
    }


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

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

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.