godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
88.35k stars 20.01k forks source link

set_multiplayer_authority doesn't save 64 bit numbers correctly. #92044

Open hislittlecuzin opened 3 months ago

hislittlecuzin commented 3 months ago

Tested versions

Godot 4.2 (mono) With GD Script

System information

Windows 10 64 bit ryzen 5600. Godot 4.2.1 stable mono official b09f793f5

Issue description

I have a 64 bit integer I print the value of. It is the correct value. my number is in the "quadrillions." (5 commas) When I set the value, it changes to a number in the millions.

Steps to reproduce

Using GD Script

# Example number with commas : 12,345,678,901,234,567 var my_id : int = 12345678901234567

print("My number is : " + str(my_id) ) my_other_node.set_multiplayer_authority(my_id) print ( "Is my number the same? " + str(my_other_node.get_multiplayer_authority) )

Minimal reproduction project (MRP)

As far as I'm aware this is all you need. I'm not using Godot's multiplayer API for anything. I WAS using that. The steps to reproduce should be capable of showing you the problem.

AThousandShips commented 3 months ago

The value isn't 64 bits, it's 32 bits, this needs to be documented