How to make an counter - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (
https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (
https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: How to make an counter (
/showthread.php?tid=559296)
How to make an counter -
lulo356 - 22.01.2015
How can i make an counter thats counting the most users in the server,
Re: How to make an counter -
Schneider - 22.01.2015
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;
}
Re: How to make an counter -
lulo356 - 22.01.2015
Well, Im jusing DINI.
Re: How to make an counter -
Schneider - 22.01.2015
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.
Re: How to make an counter -
xVIP3Rx - 22.01.2015
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;
}