subj
just add this line into code already
source code:
PHP Code:
void __fastcall tr::BikeManager::setupBikeLevel(tr::BikeManager *this, float *bikelevel,
float sum_of_upgrades, float min_upgrade_level, float max_upgrade_level)
{
*bikelevel = min_upgrade_level + ((max_upgrade_level - min_upgrade_level) * (sum_of_upgrades / 1000.0));
}
fixed code:
PHP Code:
void __fastcall tr::BikeManager::setupBikeLevel(tr::BikeManager *this, float *bikelevel,
float sum_of_upgrades, float min_upgrade_level, float max_upgrade_level)
{
if (sum_of_upgrades > 1000.0) sum_of_upgrades = 1000.0; // <-- here's the check
*bikelevel = min_upgrade_level + ((max_upgrade_level - min_upgrade_level) * (sum_of_upgrades / 1000.0));
}
ah, very good! i think next update will officially include the speed-hack, so that the honest players do not feel disadvantaged anymore.
it should definitely be fixxed, but when i'am able to change the 1000 in the division line, why i'am not be able to hack the conditions 1000.
your fix is quick but not bullet proofed...
my idea was, track the max speed the whole run and send the maxspeed with the record to the server, and their is the validation of a hacked run or not.
in this way they have to hack more vars and more code as now.
cheers
it's added to the fixlist http://trialstrackmap.sb-f.de/fixlist.html
cheers
Of course it's not, but it's almost impossible to find this constant in memory. There will be too many false alarms that will cause game to crash if they willl be edited.Originally Posted by dutscher-DE Go to original post
Max speed actually recorded in the ghost file already. But it's hard to detect not obvious speedhack this way. I think best way is to guard all bike-related variables by comparing them to their fast-encrypted copies. But hey, they can't even add the simple check![]()
you forgot to add all scoring bugs thereOriginally Posted by dutscher-DE Go to original post![]()
Forgot to say, actually it's not the 1000 that changed. They search for elements which sum_of_upgrades consists of. So total sum become much greater than 1000. And upgrade level exceeds maximum greatly.Originally Posted by dutscher-DE Go to original post