Forum Discussion

ZerbuTabek's avatar
11 years ago

@SimGuruModSquad: BUG REPORT: "Objective" Type Doesn't Properly Accept FNV64 Instance Values

I've been meaning to report this bug for a while, but have been a bit lazy about it, sorry.

There is a bug with the "Objective" type where using an FNV62 instance value will cause severe problems with the game when it's used for a custom whimset or for an aspiration goal that has been completed. Most importantly, trying to save the game fails and produces an error. There are also other problems, like recently aged up Sims reverting back after going into CAS. Using an FNV32 instance fixes the problem.

lastException.txt produces the following error:



2
905787373451870212
desync
ea.maxis.sims4.13.pc
2014-10-27 20:03:38
Local.Unknown.Unknown.1.0.797.20-1.200.000.59.Release
test_events.py:444
905787373451870212


File "T:\InGame\Gameplay\Scripts\Server\event_testing\test_events.py", line 442, in _process_test_event File "T:\InGame\Gameplay\Scripts\Server\aspirations\aspiration_tuning.py", line 116, in handle_event File "T:\InGame\Gameplay\Scripts\Server\event_testing\event_data_tracker.py", line 131, in handle_event File "T:\InGame\Gameplay\Scripts\Server\event_testing\event_data_tracker.py", line 155, in send_if_dirty File "T:\InGame\Gameplay\Scripts\Server\aspirations\aspirations.py", line 154, in _send_tracker_to_client File "T:\InGame\Gameplay\Scripts\Core\google\protobuf\internal\cpp_message.py", line 145, in append ValueError: Value out of range: {INSERT DECIMAL VALUE HERE}


My guess is that there's a mistake in the code where the function asks for an INT value, who's range isn't enough to accommodate a 64-bit decimal hash.
  • You are correct, that value is limited to a 32-bit integer. We'll look into it. In the meantime, you can probably use the lower 32-bits of your hash for this. You will most likely not conflict with Maxis IDs as long as you're over a million or so.