• 0
Bombstock

Extended base mod Door Solution

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
 * www.exilemod.com
 * © 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
 * www.exilemod.com
 * © 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 27 minutes ago by Bombstock

Edited by Bombstock
3 people like this

Share this post


Link to post
Share on other sites

13 answers to this question

  • 0

Is that the proper classname for concrete floor hatch and window hatch, they arent working after a server reboot.

 

nm, working now

Edited by Timber

Share this post


Link to post
Share on other sites
Advertisement
  • 0

thanks,

1 thing, would you not want to do an override in the

cfgexilecustomcode

{
ExileServer_object_construction_database_load = "EBM\ExileServer_object_construction_database_load.sqf ";

};

1 person likes this

Share this post


Link to post
Share on other sites
  • 0
On 4/5/2017 at 6:55 PM, tinboye said:

thanks,

1 thing, would you not want to do an override in the

cfgexilecustomcode

{
ExileServer_object_construction_database_load = "EBM\ExileServer_object_construction_database_load.sqf ";

};

I did it exactly as he said to do it and it worked for me. Does this still work with the override option?

Share this post


Link to post
Share on other sites
  • 0
On 4/11/2017 at 5:09 PM, Grumplestache said:

Does this fix the issue with doors not working after server restart? 

This fixed the problem your suggesting in our server. Also fixed the EBM doors. If you don't have EBM I think its just the concrete and wood parts it the sqf. Maybe looks like this:

Spoiler

/**

 * ExileServer_object_construction_database_load
 *
 * Exile Mod
 * www.exilemod.com
 * © 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"]) 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

this was before the latest arma 3 update, so not sure lol i heard some people say after the latest update that arma released, things had to be reverted, because arma fixed some things, so the fixes now are broken. but don't quote me on that

1 person likes this

Share this post


Link to post
Share on other sites
  • 0

I use the EBM Override. Exile Doors are working. But EBM Doors arent ;)

I will undo this override later and test what is working then ;)

Share this post


Link to post
Share on other sites
  • 0
2 hours ago, Orbitus said:

I use the EBM Override. Exile Doors are working. But EBM Doors arent ;)

I will undo this override later and test what is working then ;)

did you do it like this:

Spoiler

/**
 * ExileServer_object_construction_database_load
 *
 * Exile Mod
 * www.exilemod.com
 * © 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

that is the way I have mine but I didn't override the file. I just simply edited it just like Bombstock suggested.

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.