I tell ya, thank GOODNESS it's a leap year and February! Made it much easier to check for errors.
My skill is lacking, but I did the best I could and created an abomination based on your script that will return the right value regardless of whether it is leap year or after midnight or whatever. Please remember I am not formally trained for any kind of scripting or programming.
Nominations for worst code that technically does what it's supposed to?
$puts(diff,$sub($add($mul($add($mul(%_system_year%,365),$sub($div(%_system_year%,4),$sub($div(%_system_year%,100),$div(%_system_year%,400)))),24),$mul($add($if($greater(%_system_month%,1),31,0),$if($greater(%_system_month%,2),$if($and($stricmp($mod($right(%_system_year%,1),4),0),$not($stricmp($mod(%_system_year%,200),0))),29,28)),$if($greater(%_system_month%,3),31,0),$if($greater(%_system_month%,4),30,0),$if($greater(%_system_month%,5),31,0),$if($greater(%_system_month%,6),30,0),$if($greater(%_system_month%,7),31,0),$if($greater(%_system_month%,8),31,0),$if($greater(%_system_month%,9),30,0),$if($greater(%_system_month%,10),31,0),$if($greater(%_system_month%,11),30,0)),24),$mul(%_system_day%,24),%_system_hour%),$add($mul($add($mul($year(%last_played%),365),$sub($div($year(%last_played%),4),$sub($div($year(%last_played%),100),$div($year(%last_played%),400)))),24),$mul($add($if($greater($month(%last_played%),01),31,0),$if($greater($month(%last_played%),02),$if($and($stricmp($mod($right($year(%last_played%),1),4),0),$not($stricmp($mod($year(%last_played%),200),0))),29,28)),$if($greater($month(%last_played%),03),31,0),$if($greater($month(%last_played%),04),30,0),$if($greater($month(%last_played%),05),31,0),$if($greater($month(%last_played%),06),30,0),$if($greater($month(%last_played%),07),31,0),$if($greater($month(%last_played%),08),31,0),$if($greater($month(%last_played%),09),30,0),$if($greater($month(%last_played%),10),31,0),$if($greater($month(%last_played%),11),30,0)),24),$mul($day_of_month(%last_played%),24),$left($time(%last_played%),2))))$ifgreater($get(diff),8,,$get(diff)h)
My next job is to get it to display minutes when <1hour and disappear when 8 hours have passed using Marc's Playcount2003 component.
*Edit*
I realized a mistake I made. If system year is a leap year, it will calculate every year as a leap year. I'll fix it later. I'm new to this!
Bunch of mistakes and apparently I can't remember 1st grade stuff this late. Oh well. Me dumb.
*Edit 2*
Should be right now. In case anyone else wants to use this abomination.