Desync with DataTableInstanceCreate

Using a custom script init function (so this is ran before map starts), I have reduced a desync case to the following (might be able to be reduced further, but this is good enough):

// Custom script, with init function set to main
include "main.galaxy"

// main.galaxy file
include "f_a"
include "f_b"

void f_a();
void f_b();

void main(){
	f_a();
	f_b();
}

// f_a.galaxy file
static int a;
void f_a(){
	DataTableInstanceCreate();
	a = DataTableInstanceLastCreated();
}

// f_b.galaxy file
static int b;
void f_b(){
	DataTableInstanceCreate();
	b = DataTableInstanceLastCreated();
}

It seems that the return value of DataTableInstanceLastCreated varies from player to player if it’s called that early in the map loading sequence.

To expand a bit. This desync caused such a problem that the player wouldn’t be able to play any games, even other arcade maps or melee until they restarted their game. It’s really bad.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.