Help with a /ban cmd
#7

pawn Код:
(top of script)
new playername[30];
new sendername[30];
new giveplayer[30];
new string[128];

enum Ban
{
    Banned,
};

new Banned[MAX_PLAYERS][Ban];

(OnPlayerConnect)
        new File: file = fopen(string, io_read);
        if (file)
        {
            fread(file, valtmp);Banned[playerid][Ban] = strval(valtmp);DelPrint(valtmp);
            if(Banned[playerid][Ban] == 1)
            {
                SendClientMessage(playerid, COLOR_(ADD YOUR COLOR HERE), "Your banned.");
                Kick(playerid); (or Ban(playerid); )
            }
            fclose(file);
            return 1;
        }
        Banned[playerid][Ban] = 0;
        GetPlayerName(playerid, playername, sizeof(playername));
        format(string, sizeof(string), "/%s.txt", playername);
        new File:hFile;
        hFile = fopen(string, io_append);
        format(var, 32, "%d Ban\n", Banned[playerid][Ban]);fwrite(hFile, var);

(On player command text)
    if(strcmp(cmd, "/ban", true) == 0)
    {
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp))
        {
            SendClientMessage(playerid, COLOR_(ADD YOUR COLOR HERE, "USAGE: /ban [playerid] [reason]");
            return 1;
        }
        new length = strlen(cmdtext);
        while ((idx < length) && (cmdtext[idx] <= ' '))
        {
            idx++;
        }
        new offset = idx;
        new reason[64];
        while ((idx < length) && ((idx - offset) < (sizeof(reason) - 1)))
        {
            reason[idx - offset] = cmdtext[idx];
            idx++;
        }
        reason[idx - offset] = EOS;
        new playa = strval(tmp);
        GetPlayerName(playa, giveplayer, sizeof(giveplayer));
        GetPlayerName(playerid, sendername, sizeof(sendername));
        if ((IsPlayerAdmin(playerid)) || PlayerInfo[playerid][pAdmin] >= 1)
        {
            format(string, sizeof(string), "AdmCmd: %s Banned %s's name. Reason: %s",sendername, giveplayer, reason);
            printf("%s",string);
            SendClientMessageToAll(COLOR HERE, string);
            Banned[playerid][Ban] = 1;
            Kick(playerid);
            return 1;
        }
        else
        {
            SendClientMessage(playerid, ADD YOUR COLOR, "  you are not authorized to use that command!");
        }
        return 1;
    }

public OnPlayerUpdate(playerid)
{
    new string3[32];
    new playername3[30];
    GetPlayerName(playerid, playername3, sizeof(playername3));
    format(string3, sizeof(string3), "/%s.txt", playername3);
    new File: pFile = fopen(string3, io_append);
    if (pFile)
    {
        new var[32];
        format(var, 32, "%s Ban\n", Banned[playerid][Ban]);fwrite(pFile, var);
        fclose(pFile);
        return 1;
    }
    return 1;
}
try this > untested <
Reply


Messages In This Thread
Help with a /ban cmd - by tomnidi - 12.02.2009, 10:53
Re: Help with a /ban cmd - by [RP]Rav - 12.02.2009, 11:09
Re: Help with a /ban cmd - by tomnidi - 12.02.2009, 14:52
Re: Help with a /ban cmd - by MenaceX^ - 12.02.2009, 15:02
Re: Help with a /ban cmd - by tomnidi - 12.02.2009, 15:05
Re: Help with a /ban cmd - by [RP]Rav - 12.02.2009, 15:08
Re: Help with a /ban cmd - by Think - 12.02.2009, 16:11

Forum Jump:


Users browsing this thread: 1 Guest(s)