20.12.2010, 20:28
Hello. How do I detect which player how much time was online on the server. Hours Minutes Seconds. Ladmin system but has a bug. Thanks in advance!
#include <a_samp>
//#include <foreach>
new
CheckEachTimer,
PlayerSeconds[MAX_PLAYERS]
;
public OnFilterScriptInit()
{
CheckEachTimer = SetTimer("CheckEachPlayer", 1000, true);
return true;
}
public OnFilterScriptExit()
{
KillTimer(CheckEachTimer);
return true;
}
public OnPlayerConnect(playerid)
{
PlayerSeconds[playerid] = 0;
return true;
}
public OnPlayerDisconnect(playerid, reason)
{
new hh, mm, ss;
GetPlayerOnlineTime(playerid, hh, mm, ss);
printf("ID%i was online for %i hours %i minutes %i seconds.",playerid,hh,mm,ss);
return true;
}
forward CheckEachPlayer();
public CheckEachPlayer()
{
#if defined foreach
foreach(Player, i) { if(IsPlayerConnected(i)) PlayerSeconds[i]++; }
#else
for(new i=0; i<MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) PlayerSeconds[i]++; }
#endif
return true;
}
stock GetPlayerOnlineTime(playerid, &hours, &minutes, &seconds)
{
hours = (PlayerSeconds[playerid]/(60*60))%24;
minutes = (PlayerSeconds[playerid]/60)%60;
seconds = PlayerSeconds[playerid]%60;
}
Name=Tigerbeast11 Password=HasedPassword Cash=200 Hours Online=2 Minutes Online=34
But I want to save it in the .ini file using y_ini
eg. Код:
Name=Tigerbeast11 Password=HasedPassword Cash=200 Hours Online=2 Minutes Online=34 |
public OnPlayerLogin(playerid, password) //or connect.
{
//If success:
//Load the userfile...
PlayerSeconds[playerid] = PlayerInfo[playerid][pSeconds]; //According to your variable.
return true;
}
public OnPlayerDisconnect(playerid, reason)
{
PlayerInfo[playerid][pSeconds] = PlayerSeconds[playerid];
//Then save the userfile.
return true;
}