Hi!
Sorry, I'm misunderstood your request
Could you please try this then? GameTime will be saved once the command is called or players have log-out from the game.
- script atcmd_gamestat -1,{
OnInit:
bindatcmd("gametime","atcmd_gamestat::OnGameTime");
bindatcmd("playtime","atcmd_gamestat::OnPlayTime");
end;
OnPlayTime:
set .@time,(gettimetick(2) - @gs_playtime);
set .@h,.@time / 3600;
set .@m,.@time / 60 % 60;
set .@s,.@time % 60;
dispbottom "You have played "+.@h+"h "+.@m+"m and "+.@s+"s.";
end;
OnGameTime:
set gs_gametime,@gs_gametime_t+(gettimetick(2) - @gs_playtime); //Save GameTime total
set .@time,gs_gametime;
set .@d,.@time / 86400 % 7;
set .@h,.@time / 3600 % 24;
set .@m,.@time / 60 % 60;
set .@s,.@time % 60;
dispbottom "You have played "+.@d+"d "+.@h+"h "+.@m+"m and "+.@s+"s total.";
end;
OnPCLoginEvent:
set @gs_playtime,gettimetick(2);
set @gs_gametime_t,gs_gametime;
end;
OnPCLogoutEvent:
set gs_gametime,@gs_gametime_t+(gettimetick(2) - @gs_playtime); //Save GameTime total
end;
}