Can game maker handle the number format of "long"?
I have an api call that's returning a number in a "long" format and it gets turned into a random number automatically. I checked that it's being returned correctly using charles proxy to see the net traffic.
If the 64 bits are being kept, but GameMaker is interpreting them as a double instead of a long (which would probably appear to a human as practically random) then you could use the buffer functions to convert it back. Create a 4-byte buffer, use
buffer_write with a type of buffer_f64 to write the value in (based on the assumption that although it's a long, GML thinks it's a float64), and then
buffer_read with some smaller types to read its bytes back out again. Or maybe it would work if you instantly read the value into a buffer without storing it in a variable (based on the assumption that it being stored in a variable is when GML converts it), like buffer_write(mybuffer,buffer_u64,api_function_call(argument));
Whatever you need such a large value for, hopefully you can just store it in a buffer until you need it again (i.e. if you need to send the value again to the same api, send it using buffer_read), or read out it's 32-bit parts, both of which should be able to be stored in variables, and figure out what you need to using those parts individually.