So just found out something interesting, and a temporary work around the devs might want to apply.
Certain Surfaces do not seem to play well with the vectorup command. Invariably when a vehicle is on one of these surfaces the z element of vectorup is saved to the database as 0. On server restart, when vehicles are loaded from the database it picks up this 0 and spawns the vehicle on it's side.
Not sure if its an arma issue or something about the database. I tried to change the "Exileserver_object_vehicle_database_update" file to check if the z element of vectorup result was 0 and set it to 1 before updating the db, but it seemed to have no effect.
However, and this will help everyone with issues of disappearing or exploding vehicles, if you modify "ExileServer_object_vehicle_database_load" to include:
if ((_vectorUp select 2) == 0) then {_vectorUp set [2,1]};
Whenever the vehicle is loaded from the database with this error, the line above will put the vehicle back on it's wheels when loading it from the DB.
PROBLEM SOLVED! And no need to use a vehicle invulnerability script.
Since the problem ALWAYS sets the vectorup z axis to 0, and i can't barely even imagine a situation where a vehicle would be saved to the DB exactly on its side, this only addresses the specific issue without creating other problems.
I found a way to consistently reproduce the problem, if a dev wants details let me know and i'll provide.
So just found out something interesting, and a temporary work around the devs might want to apply.
Certain Surfaces do not seem to play well with the vectorup command. Invariably when a vehicle is on one of these surfaces the z element of vectorup is saved to the database as 0. On server restart, when vehicles are loaded from the database it picks up this 0 and spawns the vehicle on it's side.
Not sure if its an arma issue or something about the database. I tried to change the "Exileserver_object_vehicle_database_update" file to check if the z element of vectorup result was 0 and set it to 1 before updating the db, but it seemed to have no effect.
However, and this will help everyone with issues of disappearing or exploding vehicles, if you modify "ExileServer_object_vehicle_database_load" to include:
if ((_vectorUp select 2) == 0) then {_vectorUp set [2,1]};
immediately after the line containing:
_vectorUp = [_data select 14, _data select 15, _data select 16];
Whenever the vehicle is loaded from the database with this error, the line above will put the vehicle back on it's wheels when loading it from the DB.
PROBLEM SOLVED! And no need to use a vehicle invulnerability script.
Since the problem ALWAYS sets the vectorup z axis to 0, and i can't barely even imagine a situation where a vehicle would be saved to the DB exactly on its side, this only addresses the specific issue without creating other problems.
I found a way to consistently reproduce the problem, if a dev wants details let me know and i'll provide.
Share this post
Link to post
Share on other sites