• 0
Bombstock

EBM Door Fix

Question

So if anyone is having trouble with the EBM. I have provided a solution. In the EBM folder find exileServer_object_construction_database_load.sqf and open it.

you will see the following:

Spoiler

/**
 * ExileServer_object_construction_database_load
 *
 * Exile Mod
 * exile.majormittens.co.uk
 * © 2015 Exile Mod Team
 *
 * This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. 
 * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
 */
 
private["_constructionID","_data","_position","_vectorDirection","_vectorUp","_constructionObject","_damageLevel","_public","_pinCode"];
_constructionID = _this;
_data = format ["loadConstruction:%1", _constructionID] call ExileServer_system_database_query_selectSingle;
_position = [_data select 4, _data select 5, _data select 6];
_vectorDirection = [_data select 7, _data select 8, _data select 9];
_vectorUp = [_data select 10, _data select 11, _data select 12];
_constructionObject = createVehicle [(_data select 1), _position, [], 0, "CAN_COLLIDE"];
_constructionObject setPosATL _position;
_constructionObject setVectorDirAndUp [_vectorDirection, _vectorUp];
_constructionObject setVariable ["ExileDatabaseID", _data select 0];
_constructionObject setVariable ["ExileOwnerUID", (_data select 2)];
_constructionObject setVariable ["ExileIsPersistent", true];
_constructionObject setVariable ["ExileTerritoryID", (_data select 15)];
_damageLevel = (_data select 17);
_public = _damageLevel > 0;
_constructionObject setVariable ["ExileConstructionDamage",_damageLevel,_public];
if(_public)then
{
    _constructionObject call ExileServer_util_setDamageTexture;
};
_pinCode = _data select 14;
if !(_pinCode isEqualTo "000000") then
{
    _constructionObject setVariable ["ExileAccessCode", _pinCode];
    _constructionObject setVariable ["ExileIsLocked", (_data select 13), true];
};

// 2017-03-16 + TEMPORARY WORKAROUND UNTIL EXILE UPDATE
//if (getNumber(configFile >> "CfgVehicles" >> (_data select 1) >> "exileRequiresSimulation") isEqualTo 1) then
//{
//    _constructionObject enableSimulationGlobal true;
//    _constructionObject call ExileServer_system_simulationMonitor_addVehicle;
//}
//else 
//{
//    _constructionObject enableSimulationGlobal false;
//};


if (typeOf _constructionObject in [
"Exile_Construction_ConcreteDoor_Static",
"Exile_Construction_ConcreteGate_Static",
 "Exile_Construction_WoodGate_Static",
 "Exile_Construction_WoodDoor_Static",
 "Exile_Construction_ConcreteWindowHatch_Static",
 "Exile_Construction_WoodGate_Reinforced_Static",
 "Exile_Construction_WoodDoor_Reinforced_Static",
 "Exile_Construction_ConcreteFloorHatch_Static",
 "Land_Stone_Gate_F",
 "Land_City_Gate_F",
 "Land_BarGate_F",
 "Land_Cargo_Patrol_V2_F",
 "Land_Cargo_Tower_V2_F",
 "Land_FuelStation_Feed_F",
 "Land_Cargo_House_V2_F",
 "Land_i_Garage_V2_F",
 "Land_ToiletBox_F",
 "Land_Dome_Big_F",
 "Land_spp_Tower_F",
 "Land_Airport_Tower_F",
 "Land_i_Barracks_V1_F",
 "Land_TTowerSmall_1_F",
 "Land_i_House_Small_03_V1_F",
 "Land_i_House_Big_01_V2_F",
 "Land_PlasticCase_01_medium_F",
 "Land_Research_HQ_F",
 "Land_Research_house_V1_F"
 ]) then
{
    _constructionObject enableSimulationGlobal true;
    _constructionObject call ExileServer_system_simulationMonitor_addVehicle;
}
else 
{
    _constructionObject enableSimulationGlobal false;
};
// 2017-03-16 - TEMPORARY WORKAROUND UNTIL EXILE UPDATE

_constructionObject setVelocity [0, 0, 0];
_constructionObject setPosATL _position;
_constructionObject setVelocity [0, 0, 0];
_constructionObject setVectorDirAndUp [_vectorDirection, _vectorUp];
_constructionObject setVelocity [0, 0, 0];
_constructionObject

copy this:

Spoiler

 "Land_Stone_Gate_F",
 "Land_City_Gate_F",
 "Land_BarGate_F",
 "Land_Cargo_Patrol_V2_F",
 "Land_Cargo_Tower_V2_F",
 "Land_FuelStation_Feed_F",
 "Land_Cargo_House_V2_F",
 "Land_i_Garage_V2_F",
 "Land_ToiletBox_F",
 "Land_Dome_Big_F",
 "Land_spp_Tower_F",
 "Land_Airport_Tower_F",
 "Land_i_Barracks_V1_F",
 "Land_TTowerSmall_1_F",
 "Land_i_House_Small_03_V1_F",
 "Land_i_House_Big_01_V2_F",
 "Land_PlasticCase_01_medium_F",
 "Land_Research_HQ_F",
 "Land_Research_house_V1_F"

then add it to your ExileServer_object_construction_database_load.sqf located in the exile server.pbo. It should look like this:

Spoiler

/**
 * ExileServer_object_construction_database_load
 *
 * Exile Mod
 * exile.majormittens.co.uk
 * © 2015 Exile Mod Team
 *
 * This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. 
 * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
 */
 
private["_constructionID","_data","_position","_vectorDirection","_vectorUp","_constructionObject","_damageLevel","_public","_pinCode"];
_constructionID = _this;
_data = format ["loadConstruction:%1", _constructionID] call ExileServer_system_database_query_selectSingle;
_position = [_data select 4, _data select 5, _data select 6];
_vectorDirection = [_data select 7, _data select 8, _data select 9];
_vectorUp = [_data select 10, _data select 11, _data select 12];
_constructionObject = createVehicle [(_data select 1), _position, [], 0, "CAN_COLLIDE"];
_constructionObject setPosATL _position;
_constructionObject setVectorDirAndUp [_vectorDirection, _vectorUp];
_constructionObject setVariable ["ExileDatabaseID", _data select 0];
_constructionObject setVariable ["ExileOwnerUID", (_data select 2)];
_constructionObject setVariable ["ExileIsPersistent", true];
_constructionObject setVariable ["ExileTerritoryID", (_data select 15)];
_damageLevel = (_data select 17);
_public = _damageLevel > 0;
_constructionObject setVariable ["ExileConstructionDamage",_damageLevel,_public];
if(_public)then
{
    _constructionObject call ExileServer_util_setDamageTexture;
};
_pinCode = _data select 14;
if !(_pinCode isEqualTo "000000") then
{
    _constructionObject setVariable ["ExileAccessCode", _pinCode];
    _constructionObject setVariable ["ExileIsLocked", (_data select 13), true];
};

// 2017-03-16 + TEMPORARY WORKAROUND UNTIL EXILE UPDATE
//if (getNumber(configFile >> "CfgVehicles" >> (_data select 1) >> "exileRequiresSimulation") isEqualTo 1) then
//{
//    _constructionObject enableSimulationGlobal true;
//    _constructionObject call ExileServer_system_simulationMonitor_addVehicle;
//}
//else 
//{
//    _constructionObject enableSimulationGlobal false;
//};

if (typeOf _constructionObject in ["Exile_Construction_ConcreteDoor_Static", "Exile_Construction_ConcreteGate_Static", "Exile_Construction_WoodGate_Static", "Exile_Construction_WoodDoor_Static", "Exile_Construction_ConcreteWindowHatch_Static", "Exile_Construction_WoodGate_Reinforced_Static", "Exile_Construction_WoodDoor_Reinforced_Static", "Exile_Construction_ConcreteFloorHatch_Static","Land_Stone_Gate_F","Land_City_Gate_F","Land_BarGate_F","Land_Cargo_Patrol_V2_F","Land_Cargo_Tower_V2_F","Land_FuelStation_Feed_F","Land_Cargo_House_V2_F","Land_i_Garage_V2_F","Land_ToiletBox_F","Land_Dome_Big_F","Land_spp_Tower_F","Land_Airport_Tower_F","Land_i_Barracks_V1_F","Land_TTowerSmall_1_F","Land_i_House_Small_03_V1_F","Land_i_House_Big_01_V2_F","Land_PlasticCase_01_medium_F","Land_Research_HQ_F","Land_Research_house_V1_F"]) then
{
    _constructionObject enableSimulationGlobal true;
    _constructionObject call ExileServer_system_simulationMonitor_addVehicle;
}
else 
{
    _constructionObject enableSimulationGlobal false;
};

// 2017-03-16 - TEMPORARY WORKAROUND UNTIL EXILE UPDATE

_constructionObject setVelocity [0, 0, 0];
_constructionObject setPosATL _position;
_constructionObject setVelocity [0, 0, 0];
_constructionObject setVectorDirAndUp [_vectorDirection, _vectorUp];
_constructionObject setVelocity [0, 0, 0];
_constructionObject

You could also just copy and paste this. It would be easier. This has works in my server, if you must know.

Edited by Bombstock
  • Like 1

Share this post


Link to post
Share on other sites

21 answers to this question

  • 0

You dont need to replace files in the exile_server.pbo.

Just copy that file from the EBM folder into your mission somewhere (eg: custom\overwrite) and add the line to your CustomCode overwrites.

class CfgExileCustomCode 
{
	ExileServer_object_construction_database_load = "custom\overwrite\ExileServer_object_construction_database_load.sqf";
};

 

Share this post


Link to post
Share on other sites
  • 0

Is this door fix for doors that refuse to open after a server restart?

I am having an issue with my exile server where i have placed a wood doorway kit and a wood gate kit in my territory compound and on each server restart some of the walls are weirdly snapped out at an angle but within a couple of minutes they snap back into original angle all by themselves... after that i try to open the door or gate and it refuses to open, i've tried doors with a code lock and without and same issue, to fix it i have to move and set down that doorway again and the door works fine.

I'm new to running a server and i just cant find the answer so i was hoping maybe this post was what i'm looking for but looking down Bombstock's code i see nothing about wood walls or anything, is this relevant to me? any help would be very grateful.

Share this post


Link to post
Share on other sites
Advertisement
  • 0
Quote

It didn't worked.
 

Could you help me, please?

Your probably better off using this tried and tested method, watch those fps though, we lose 20 - 25 fps over the course of a four hour restart period

Just add the required ebm parts to the list of exile constructions

Share this post


Link to post
Share on other sites
  • 0
1 hour ago, wilderness said:

Just add the required ebm parts to the list of exile constructions

I did it and don't worked. I can't open doors at NE Trader Zone on Altis map =(

Look my file:

Spoiler

/**
 * ExileServer_object_construction_database_load
 *
 * Exile Mod
 * exile.majormittens.co.uk
 * © 2015 Exile Mod Team
 *
 * This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. 
 * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
 */
 
private["_constructionID","_data","_position","_vectorDirection","_vectorUp","_constructionObject","_damageLevel","_public","_pinCode"];
_constructionID = _this;
_data = format ["loadConstruction:%1", _constructionID] call ExileServer_system_database_query_selectSingle;
_position = [_data select 4, _data select 5, _data select 6];
_vectorDirection = [_data select 7, _data select 8, _data select 9];
_vectorUp = [_data select 10, _data select 11, _data select 12];
_constructionObject = createVehicle [(_data select 1), _position, [], 0, "CAN_COLLIDE"];
_constructionObject setPosATL _position;
_constructionObject setVectorDirAndUp [_vectorDirection, _vectorUp];
_constructionObject setVariable ["ExileDatabaseID", _data select 0];
_constructionObject setVariable ["ExileOwnerUID", (_data select 2)];
_constructionObject setVariable ["ExileIsPersistent", true];
_constructionObject setVariable ["ExileTerritoryID", (_data select 15)];
_damageLevel = (_data select 17);
_public = _damageLevel > 0;
_constructionObject setVariable ["ExileConstructionDamage",_damageLevel,_public];
if(_public)then
{
    _constructionObject call ExileServer_util_setDamageTexture;
};
_pinCode = _data select 14;
if !(_pinCode isEqualTo "000000") then
{
    _constructionObject setVariable ["ExileAccessCode", _pinCode];
    _constructionObject setVariable ["ExileIsLocked", (_data select 13), true];
};

// 2017-03-16 + TEMPORARY WORKAROUND UNTIL EXILE UPDATE
//if (getNumber(configFile >> "CfgVehicles" >> (_data select 1) >> "exileRequiresSimulation") isEqualTo 1) then
//{
//    _constructionObject enableSimulationGlobal true;
//    _constructionObject call ExileServer_system_simulationMonitor_addVehicle;
//}
//else 
//{
//    _constructionObject enableSimulationGlobal false;
//};

if (typeOf _constructionObject in ["Exile_Construction_ConcreteDoor_Static", "Exile_Construction_ConcreteGate_Static", "Exile_Construction_WoodGate_Static", "Exile_Construction_WoodDoor_Static", "Exile_Construction_ConcreteWindowHatch_Static", "Exile_Construction_WoodGate_Reinforced_Static", "Exile_Construction_WoodDoor_Reinforced_Static", "Exile_Construction_ConcreteFloorHatch_Static","Land_Stone_Gate_F","Land_City_Gate_F","Land_BarGate_F","Land_Cargo_Patrol_V2_F","Land_Cargo_Tower_V2_F","Land_FuelStation_Feed_F","Land_Cargo_House_V2_F","Land_i_Garage_V2_F","Land_ToiletBox_F","Land_Dome_Big_F","Land_spp_Tower_F","Land_Airport_Tower_F","Land_i_Barracks_V1_F","Land_TTowerSmall_1_F","Land_i_House_Small_03_V1_F","Land_i_House_Big_01_V2_F","Land_PlasticCase_01_medium_F","Land_Research_HQ_F","Land_Research_house_V1_F"]) then
{
    _constructionObject enableSimulationGlobal true;
    _constructionObject call ExileServer_system_simulationMonitor_addVehicle;
}
else 
{
    _constructionObject enableSimulationGlobal false;
};

// 2017-03-16 - TEMPORARY WORKAROUND UNTIL EXILE UPDATE

_constructionObject setVelocity [0, 0, 0];
_constructionObject setPosATL _position;
_constructionObject setVelocity [0, 0, 0];
_constructionObject setVectorDirAndUp [_vectorDirection, _vectorUp];
_constructionObject setVelocity [0, 0, 0];
_constructionObject

 

Share this post


Link to post
Share on other sites
  • 0

Everything that is in your ebm  exileServer_object_construction_database_load.sq, needs to match your  ExileServer_object_construction_database_load.sqf in your exile server. If you don't have ebm then I would suggest bothering with this. however if other building on the map are giving you trouble and they are not on the list provided, then add the building code to the list and see if that fixes the issue. Also I have noticed that door won't open when you load in right away but given enough time they will eventually open.

Share this post


Link to post
Share on other sites
  • 0

My bad I missread, I thought you were trying to get player built doors and EBM stuff working not trader doors, don't really know what to say as our traders door are all good.

 

Share this post


Link to post
Share on other sites
Advertisement

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.