gettime confusion (HELP)!
#1

Hello guys im trying to update gettime every seconds. so player can check how many they played
Hours, Minutes, Seconds it shows correct when i only use this

Variables i used
pawn Код:
new Playedhours[MAX_PLAYERS],Playedminutes[MAX_PLAYERS],Playedseconds[MAX_PLAYERS],
                                            Firstspawn[MAX_PLAYERS],shour[MAX_PLAYERS],ehour[MAX_PLAYERS],sminute[MAX_PLAYERS],eminute[MAX_PLAYERS],ssecond[MAX_PLAYERS],esecond[MAX_PLAYERS];
Timer OnPlayer Disconnect
pawn Код:
gettime(ehour[playerid],eminute[playerid],esecond[playerid]);
Playedhours[playerid] = (ehour[playerid]-shour[playerid])+Playedhours[playerid];//Total played hours in this session
Playedminutes[playerid] = (eminute[playerid]-sminute[playerid])+Playedminutes[playerid];//Total played minutes this session
Playedseconds[playerid] = (esecond[playerid]-ssecond[playerid])+Playedseconds[playerid];//Total played seconds
When i put inside the timer it gives me double ammount of my playing time1000 mile seconds = 1 second
pawn Код:
forward TotalPlayedHours();// im not sure if i put playerid or loop for player, but i am using loop for all player
public TotalPlayedHours()// im not sure if i put playerid or loop for player, but i am using loop for all player
{
for(new i=0; i<MAX_PLAYERS; i++)
{
gettime(ehour[i],eminute[i],esecond[i]);
Playedhours[i] = (ehour[i]-shour[i])+Playedhours[i];//Total played hours in this session
Playedminutes[i] = (eminute[i]-sminute[i])+Playedminutes[i];//Total played minutes this session
Playedseconds[i] = (esecond[i]-ssecond[i])+Playedseconds[i];//Total played seconds
}
return 1;
}
but when i type on /stats it gives me x4 or more ammount of the hours,minutes,seconds i played

Stats Commands
PS: im not sure what integer i will use, either %i or %d
pawn Код:
CMD:stats(playerid, unused[]) {
    #pragma unused unused

    static const
        NoYes[][] = { "No", "Yes" },
        form[] = "\
            Total Played: Hours: %d Minutes: %d Seconds: %d"

//rest of my stats strings

    ;
    new
        string[128]
    ;
    format(string, sizeof string, form
        ,Playedhours[playerid],Playedminutes[playerid],Playedseconds[playerid]
//rest of my stats info!
    );
    return ShowPlayerDialog(playerid, STATS, DIALOG_STYLE_MSGBOX, "Status", string, "Close", "");
}
++ Rep to who can help me
Reply
#2

What is the point in updating this every second? You only really need to update it when the information is needed; i.e. when someone asks for it or when the player logs off.
Reply
#3

My point of updating it every seconds. so everytime when player checks /stats command he can see how many hours,minutes,seconds he played, but i think im wrong cuz as the wiki-samp.com said " Get the current server time, which will be stored in the variables &hour, &minute and &second."
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)