Yes, sorry for the confusion, I have not upgraded from 2.6.8 yet or looked at the latest arcade.php, so maybe that problem had already been fixed. I did check the current holdsession.php and I don't think that's been fixed yet.
ETA: No, I don't think that fix is in 2.7.0. The original line reads:
PHP Code:
$vs['start'] = $gametime;
I added the " - 1.0". The way I described it probably wasn't clear. I should have just included the new code in my post, but that was my first post on this forum and I didn't know what I should or shouldn't at that time.
Here's what I found:
Code:
if ((($vs['sessd']!=1) && ($vs['sessid']>0)) && ($FIXIE==1))
{
// this score has NOT run through the verify() function!
// actual issue using IE7 and doing more than one play per game
// make it valid anyway ;)
list($usec, $sec) = explode(" ", microtime());
$gametime = ((float)$usec + (float)$sec);
$randomchar = rand(1, 10);
$randomchar2 = rand(1, 5);
$vs['sessd'] = 1;
$vs['start'] = $gametime;
.
.
.
list($usec, $sec) = explode(" ", microtime());
$time_end = ((float)$usec + (float)$sec);
$timecheck = round($time_end - $vs['start'], 4);
.
.
.
if( !$timecheck || $timecheck > $SCORETIMEOUT )
{
$ERRORLEVEL = ($DEBUGMODE == 0) ? "Transmission Timeout (".$timecheck." sec)" : "Error #005";
I found that because of the parts in red above, the value of $timecheck ended up being 0. Now that I look at it again, maybe the problem is really with the "round" statement? Or else the two calls to microtime() are returning the same thing.