Screamer

Indestructible Bases

18 posts in this topic

Hello,
After few tests we notice that upgraded wood walls are fully indestructible (100 shots by KUMA :)

Unfortunately Wood floor have no upgrade option and can be easy destroy by few explosions.

Any idea how to set allowDamage false; for all building elements on server side?

Share this post


Link to post
Share on other sites
Advertisement

I think this one setup objects :)  its inside config.bin

class Exile_Construction_WoodWallHalf_Reinforced_Static: Exile_Construction_Abstract_Static {
        scope = 2;
        model = "\exile_client\model\Exile_Construction_WoodWallHalf_Reinforced.p3d";
        displayName = "1/2 Wood Wall Reinforced";
        armor = 30000;                     <- settings for indestructible
        destrType = "DestructNo";           <- settings for indestructible
    };

 

Share this post


Link to post
Share on other sites

I added a line to the "ExileServer_object_construction_database_load.sqf" base part are only indestructible on server restart when the server loads all construction objects

Share this post


Link to post
Share on other sites

Not sure if this is still helpful to anyone, but I just saw this thread and figured I would share what I use on my server.

 

The following script modification forces all player-built constructions to take no damage after the server has restarted.

Newly built objects can still be destroyed up until the server restarts. Once the server reloads the objects, they will remain indestructible unless moved, in which case this process repeats.

 

Working as of Exile Version 0.9.4.1

 

Step 1:

Open up the following path in your @ExileServer folder. Either use a .pbo editor or extract the folder completely.

@ExileServer\addons\exile_server\code

 

Step 2:

Open the file

ExileServer_object_construction_database_load.sqf

 in a text editor of your choice.

 

Step 3:

In between these two lines of code...

_constructionObject setVariable ["ExileIsPersistent",true];

and

_pinCode = _data select 15;

 

insert the following line of code:

_constructionObject allowDamage false;

Alternatively you can just cut out the whole chunk of code and paste the modified version...

 /**
 * 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","_pinCode"];
_constructionID = _this;
_data = format ["loadConstruction:%1", _constructionID] call ExileServer_system_database_query_selectSingle;
_position = [_data select 5, _data select 6, _data select 7];
_vectorDirection = [_data select 8, _data select 9, _data select 10];
_vectorUp = [_data select 11, _data select 12, _data select 13];
_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 allowDamage false;
_pinCode = _data select 15;
if !(_pinCode isEqualTo "000000") then
{
    _constructionObject setVariable ["ExileAccessCode",_pinCode];
    _constructionObject setVariable ["ExileIsLocked",(_data select 14),true];
};
_constructionObject addMPEventHandler ["MPKilled", { if !(isServer) exitWith {}; (_this select 0) call ExileServer_object_construction_event_onMpKilled; }];
if (getNumber(configFile >> "CfgVehicles" >> (_data select 1) >> "exileRequiresSimulation") isEqualTo 1) then
{
    _constructionObject enableSimulationGlobal true;
    _constructionObject call ExileServer_system_simulationMonitor_addVehicle;
}
else 
{
    _constructionObject enableSimulationGlobal false;
};
_constructionObject

 

Step 5;

Save the file, repack your .pbo and call it a day.
 

 

Edited by [O4CE] Johnjohns

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.