How to make an counter
#1

How can i make an counter thats counting the most users in the server,
Reply
#2

Create a new file in your scriptfiles-folder and name it: OnlinePlayersRecord.txt

And add this to your gamemode:
pawn Код:
new OnlinePlayers, OnlinePlayersRecord;

public OnPlayerConnect(playerid)
{
    OnlinePlayers++;
    new File:file=fopen("OnlinePlayersRecord.txt", io_read);
    new string[12];
    while(fread(file, string))
    {
        OnlinePlayersRecord = strval(string);
    }
    fclose(file);
    if(OnlinePlayers > OnlinePlayersRecord)
    {
        OnlinePlayersRecord = OnlinePlayers;
        file=fopen("OnlinePlayersRecord.txt", io_write);
        if(file)
        {
            format(string, 12, "%d", OnlinePlayersRecord);
            fwrite(file, string);
            fclose(file);
        }
    }
    return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
    OnlinePlayers--;
    return 1;
}
Reply
#3

Well, Im jusing DINI.
Reply
#4

That's fine too:
pawn Код:
new OnlinePlayers, OnlinePlayersRecord;

public OnPlayerConnect(playerid)
{
    OnlinePlayers++;
    OnlinePlayersRecord = dini_Int("OnlinePlayersRecord.txt", "OnlinePlayersRecord");
    if(OnlinePlayers > OnlinePlayersRecord)
    {
        new year, month, day, hour, minute, second;
        getdate(year, month, day);
        gettime(hour, minute, second);
        OnlinePlayersRecord = OnlinePlayers;
        dini_IntSet("OnlinePlayersRecord.txt", "OnlinePlayersRecord", OnlinePlayersRecord);
        dini_IntSet("OnlinePlayersRecord.txt", "Year", year);
        dini_IntSet("OnlinePlayersRecord.txt", "Month", month);
        dini_IntSet("OnlinePlayersRecord.txt", "Day", day);
        dini_IntSet("OnlinePlayersRecord.txt", "Hour", hour);
        dini_IntSet("OnlinePlayersRecord.txt", "Minute", minute);
        dini_IntSet("OnlinePlayersRecord.txt", "Second", second);
    }
    return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
    OnlinePlayers--;
    return 1;
}
Edit: Added the date too.
Reply
#5

Don't like loading and saving it once each player connects, I'm not really mature with dini but here's what I've wrote
pawn Код:
new OnlinePlayers, OnlinePlayersRecord;


public OnGameModeInit()
{
    new filename[] = "bestrecord.ini";
    if(fexist(filename))
    {
        OnlinePlayersRecord = dini_Int(filename, "BestRecord");
    }
    else
    {
        dini_Create(filename);
        dini_IntSet(filename, "BestRecord", 0);
    }
}

public OnGameModeExit()
{
    new filename[] = "bestrecord.ini";
    if(fexist(filename))
    {
        dini_IntSet(filename, "BestRecord", OnlinePlayersRecord);
    }
    else
    {
        dini_Create(filename);
        dini_IntSet(filename, "BestRecord", OnlinePlayersRecord);
     }
}
public OnPlayerConnect(playerid)
{
    OnlinePlayers++;
    if(OnlinePlayers > OnlinePlayersRecord) OnlinePlayersRecord = OnlinePlayers;
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    OnlinePlayers--;
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)