Current behaviour:
If you “Read from XX File and store YY value in ZZ” and the value read from the file is exactly 0 then the current scene variable value remains untouched.
Expected behaviour:
The value of the scene variable should be set to 0 and overwrite it’s current value.
Workaround:
Use a temporary variable, set it to 0 and read the value into that variable. Then assign it’s value to that of your scene variable.
Web platform (haven’t tested this with native)
GDevelop 4.0.92.0, built 27/06/2016
Can’t reproduce it (tried Firefox, Opera and native), check if this one works:
ReadZeroBug.gdg (9.45 KB)
Press “A” to read the value and show it in the debug text
Same Bug with your project file.
But upon opening GD said that the project was created with a newer version of GD. Maybe the bug has already been eliminated. Unfortunately I can’t test it with a newer version of 4.x cause I’m affected by the Linux freeze bug when opening a scene in newer versions.
I tried your project in GD5 and hitting “a” indeed showed 0.
Yup, it was fixed two years ago (github.com/4ian/GD/commit/73984 … a1664b703a), you can make the modifications yourself to make it to work in your version, the file to edit is located at:
GDevelopInstallationDirectory/JsPlatform/Runtime/events-tools/storagetools.js
Line 227 (approximately, maybe it has changed), search for this line:
if ( i == elemArray.length-1 && currentElem[elemArray[i]].value)
And change it to:
if ( i == elemArray.length-1 && typeof currentElem[elemArray[i]].value !== "undefined")
This will make loading 0’s to work.
And change this line (253 approximately), to make loading empty strings “” to work:
if ( i == elemArray.length-1 && currentElem[elemArray[i]].str)
Into:
if ( i == elemArray.length-1 && typeof currentElem[elemArray[i]].str !== "undefined")
Cool, thank you very much