Quick answer: Add a System → Pick all Array action before Set Array X, Y. Confirm the Array’s Global property is Yes if you need cross-layout persistence.
Inventory event sets array X=0 to 5. Next tick reads X=0 and gets back the old value. Picking from a previous condition narrowed which array instance was modified.
The Fix
Event:
On player picked up coin
System: Pick all Array // reset picking
Array: Set value at (0, 0) to 5 // targets THE Array
Browser: Log "set, now=" & Array.At(0, 0)
Object property:
Array (right-click) → Properties:
Global: Yes
Pick all Array clears any prior pick narrowing the instance set. Global ensures the array survives layout changes.
Verifying
Set then read on the next tick: value matches. Without Pick all: value reverts. Browser console logs make the cause obvious.
“Pick all. Set. Persists. Global for cross-layout.”
Related Issues
For Construct 3 family pick, see browse the blog index for more Construct 3 fixes.
Pick all first. Array sticks.