[HELP] Log ban
#1

I need a system that's time to ban a player, save to a file. Txt with Reason, what admin banned by and reason.

I tried but did not.

Sorry for my bad english.
Reply
#2

Post your current ban command.
Reply
#3

pawn Код:
if(strcmp(cmd, "/ban", true) == 0)
    {
        new string[256];
        if(IsPlayerConnected(playerid))
        {
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_RED, "USE: /ban [id] [reason]");
                return 1;
            }
            giveplayerid = ReturnUser(tmp);
            if (PlayerInfo[playerid][Admin] >= 2)
            {
                if(PlayerInfo[giveplayerid][Admin] >= 1) return SendClientMessage(playerid, COLOR_RED, "[ERROR] You can not ban an Admin!");
                if(IsPlayerConnected(giveplayerid))
                {
                    if(giveplayerid != INVALID_PLAYER_ID)
                    {
                        GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        new length = strlen(cmdtext);
                        while ((idx < length) && (cmdtext[idx] <= ' '))
                        {
                            idx++;
                        }
                        new offset = idx;
                        new result[64];
                        while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
                        {
                            result[idx - offset] = cmdtext[idx];
                            idx++;
                        }
                        result[idx - offset] = EOS;
                        if(!strlen(result))
                        {
                            SendClientMessage(playerid, COLOR_RED, "USE: /ban [id] [reason]");
                            return 1;
                        }
                        format(string, sizeof(string), "The Player {FFFFFF}%s {FF0000}has been banned by {FF0000}%s. {FFFFFF}Reason: {FF0000}%s", giveplayer, sendername, (result));
                        SendClientMessageToAll(COLOR_RED, string);
                        Ban(giveplayerid);
                        return 1;
                    }
                }//not connected
            }
            else
            {
                format(string, sizeof(string), "%d not connected.", giveplayerid);
                SendClientMessage(playerid, COLOR_WHITE, string);
            }
        }
        return 1;
}
Reply
#4

pawn Код:
stock AdminLog(string[])
{
    new LogString[150], YEAR_string[5], Year, Month, Day, Hour, Minute, Second;
    new File:AdminLog = fopen("admin_log.txt", io_append);
    getdate(Year, Month, Day);
    gettime(Hour, Minute, Second);
    format(YEAR_string, sizeof(YEAR_string), "%d", Year);
    strdel(YEAR_string, 0, 2);
    format(LogString, sizeof(LogString), "[%d/%d/%s | %d:%d] %s", Day, Month, YEAR_string, Hour, Minute, string);
    fwrite(AdminLog, LogString);
    fwrite(AdminLog, "\r\n");
    return fclose(AdminLog);
}
And add this under your SendClientMessage
pawn Код:
AdminLog(string);
Reply
#5

Warnings...

Код:
warning 219: local variable "AdminLog" shadows a variable at a preceding level
Line:

pawn Код:
new File:AdminLog = fopen("admin_log.txt", io_append);
Reply
#6

You have defined the variable AdminLog twice (or more).
Once global, and one or more times local .
Reply
#7

Need forward AdminLog(string[])?
Reply
#8

Example what I use:
pawn Код:
stock BanLog(string[])
{
    new LogString[150], YEAR_string[5], Year, Month, Day, Hour, Minute, Second;
    new File:Banlog = fopen("/Logs/Slaps.txt", io_append);
    getdate(Year, Month, Day);
    gettime(Hour, Minute, Second);
    format(YEAR_string, sizeof(YEAR_string), "%d", Year);
    strdel(YEAR_string, 0, 2);
    format(LogString, sizeof(LogString), "[%d/%d/%s | %d:%d] %s", Day, Month, YEAR_string, Hour, Minute, string);
    fwrite(Banlog, LogString);
    fwrite(Banlog, "\r\n");
    return fclose(Banlog);
}
Change the:
Код:
"/Logs/Slaps.txt"
To your own thing.
Reply
#9

pawn Код:
stock admLog(string[])
{
    new LogString[150], YEAR_string[5], Year, Month, Day, Hour, Minute, Second;
    new File:AdminLog = fopen("admin_log.txt", io_append);
    getdate(Year, Month, Day);
    gettime(Hour, Minute, Second);
    format(YEAR_string, sizeof(YEAR_string), "%d", Year);
    strdel(YEAR_string, 0, 2);
    format(LogString, sizeof(LogString), "[%d/%d/%s | %d:%d] %s", Day, Month, YEAR_string, Hour, Minute, string);
    fwrite(AdminLog, LogString);
    fwrite(AdminLog, "\r\n");
    return fclose(AdminLog);
}

use

admLog("string");
Reply
#10

Ricopp valeu pela a ajude mas o Kingunit jб me ajudou

Kingunit thanks, worked perfectly. Reputation
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)