Jump to content

neiljb

Member
  • Posts

    154
  • Joined

  • Last visited

Reputation Activity

  1. Like
    neiljb got a reaction from MGT in Frankie's Hour Long Epoch Video: Ep41   
    Very good vid, one of his best recent ones, the last few have not been that great IMO. :)
  2. Like
    neiljb got a reaction from Renegade2k6 in DayZ Stand Alone!   
    Epoch for standalone FTW :D
  3. Like
    neiljb got a reaction from MGT in 1.0.3 players getting kicked when trading by Infistar   
    Yep, same here. Don't want those admins having to much power. :D
  4. Like
    neiljb got a reaction from NateDaBeast in How can I add military vehicles to my server?   
    I have noticed a few epoch servers have full on military vehicles for sale at their traders and also have them spawning around the map (AH1Z, AH64, T90, M1A2 etc). These servers are not running rmod and I was wondering how this is possible, I would love to add military vehicles to my server but I am having a few problems doing so. I have tried simply adding them to my traders_data table (in the same way I have successfully added other items), but when I try and buy said vehicle, AH1Z for example the trade takes place and my gold is taken but rather than the vehicle spawning in I simply get a message popping up saying something like bin\cfgmagazines.AH1Z is missing.  
     
     
    Does anyone have any ideas how I could get this to work? I would be very grateful for any help. :)  
  5. Like
    neiljb reacted to Nasdero in SQL Clean Up   
    If you believe or not, sometimes ppl go for vacation and then you reset their humanity? Take this and they will keep their humanity:

    delete FROM `character_data`
    USING character_data, character_data AS tmpcharacter_data
    WHERE NOT character_data.CharacterID=tmpcharacter_data.CharacterID
    AND character_data.CharacterID<tmpcharacter_data.CharacterID
    AND (character_data.PlayerUID=tmpcharacter_data.PlayerUID)[/php]
  6. Like
    neiljb got a reaction from Afgegsop in Help Installing Epoch on a dedi box running Ubuntu   
    Hi, myself and my friend Steve have an OVH dedi box we use to run minecraft servers from. Its being totally under stretched ATM and we would like to run an Epoch server from it, mainly because we are tired of waiting for dayzpriv to update our server, and also so we can have full control over the running of our server without all the BS restrictions placed upon us by using such a hosting company.
     
    Does anyone have any guides for installing a dayz (more specifically Epoch) server on a linux box? I have been doing some research for the last couple of days and most of the guides I have found are old and outdated and for very old versions of vanilla dayz.
     
    The box is running Ubuntu and we already have a Mysql server setup. As far as I understand we need wine to run the server but I am unsure whether we need a GUI, ideally we would like to avoid this as they are kinda resource hungry although the box we have is pretty powerful so if we do need one its not that big of a deal.
     
    Any help/tips/links from fellow linux server owners would be greatly appreciated. :)
     
    Ps. I forgot to mention that I already have a server setup and running correctly from my windows PC so that part is covered, its just getting the environment on the box setup ready to run the server which we could do with a little help with.
  7. Like
    neiljb got a reaction from Asaderokaw in Help Installing Epoch on a dedi box running Ubuntu   
    Hi, myself and my friend Steve have an OVH dedi box we use to run minecraft servers from. Its being totally under stretched ATM and we would like to run an Epoch server from it, mainly because we are tired of waiting for dayzpriv to update our server, and also so we can have full control over the running of our server without all the BS restrictions placed upon us by using such a hosting company.
     
    Does anyone have any guides for installing a dayz (more specifically Epoch) server on a linux box? I have been doing some research for the last couple of days and most of the guides I have found are old and outdated and for very old versions of vanilla dayz.
     
    The box is running Ubuntu and we already have a Mysql server setup. As far as I understand we need wine to run the server but I am unsure whether we need a GUI, ideally we would like to avoid this as they are kinda resource hungry although the box we have is pretty powerful so if we do need one its not that big of a deal.
     
    Any help/tips/links from fellow linux server owners would be greatly appreciated. :)
     
    Ps. I forgot to mention that I already have a server setup and running correctly from my windows PC so that part is covered, its just getting the environment on the box setup ready to run the server which we could do with a little help with.
  8. Like
    neiljb got a reaction from frartombabogy in Sandbags get cleaned up!   
    Is there any way to stop sandbags getting cleaned up?
     
    There is no option to maintain them so they get cleaned up after the default 6 days.
  9. Like
    neiljb reacted to Axe Cop in [Release] Vehicle Service Point (Refuel, Repair, Rearm) [Script]   
    Just made a new script for proper vehicle service points where you are able to refuel, repair and rearm your vehicles! (I could not find a good one, so I did it myself)
    "Proper" meaning everything is done like it should be in Epoch and saved to the database, e.g. the script is really repairing all vehicle parts and not just setting the damage to 0, so it's the same as if you would repair every damaged part yourself.
     
    Main Features:
    dynamic service points where you are able to select the options (default at every fuel station, if you want it's easy to add the epoch fuel pumps so you can build a service point in your base, you can also add vehicles or units if you want, like a NPC trader) you can refuel and repair any vehicle by just sitting inside and get close to a service station (default 10m), then you get the actions menu attached to the vehicle, with rearm you have to be in the gunner seat because only that turret will be rearmed (for all cases the vehicle has to be local to your PC, so your have to be the driver/pilot or are alone in the vehicle) the services don't have to be for free, you can add a price to every option like the traders (e.g. refuel is free but repair would cost 2 gold and rearm 3 10oz gold) dynamic costs based on vehicle type you can also disable any option if you don't want or need it, like disabling the rearm option completely anything important is configurable in one place with config variables (there are comments in the config block, just take a look at the file service_point.sqf)  
    The Installation is pretty simple, it's just a client side script.
    Add this to your init.sqf in the "if (!isDedicated) then { PUT HERE SOMEWHERE (at the end is ok) }" block (so it will only be started on your client and not the server):
    if (!isDedicated) then { // ... some other stuff ... // add the next line somewhere in this block execVM "service_point\service_point.sqf"; }; Download all files from here into a folder "service_point" inside your mission folder: https://github.com/vos/dayz/tree/master/service_point
    If you want to change the path, there is one config variable in the file service_point.sqf called "_folder", you have to change that so it can access the other files needed for the script.
     
    Here a screenshot how it looks like (click on the preview to show a full screenshot with the UAZ DShKM):

     
    Feel free to add features and tell me your ideas. :)
  10. Like
    neiljb got a reaction from motionblurrr in maintain walls etc   
    This is how our server is setup. You need a plot pole to build anything and you can maintain your entire base from the plot pole itself. :)
  11. Like
    neiljb reacted to Axe Cop in [RELEASE] Area Maintenance for Player Bases (Script)   
    Since Epoch version 1.0.4 this script is included in the default Epoch client. So you don't need to install it yourself anymore! :)
     
     
    Hey guys, another script release from me. :P
     
    This time area based maintenance for player bases, you know it can be a pain to maintain every single building part in your base, fear no more with this "simple" script. ;)
     
    With the default options it works like this: players will get an option to "Maintain Area" if they look at a plot pole (item can be  changed but plot poles make sense I guess), then the script will maintain all base building parts within a specified range (default 50m around the plot pole), the same way as you would maintain every single part by hand. Because of the amount of affected parts admins can define other requirements to actually maintain the whole area (like a briefcase for more then 100 building parts or whatever you like there is an example in the script with some requirements for different amounts of building parts).
     
    This is just my first release, I had other plans with making the maintain requirements based on the actual building parts in the area. e.g. every part gets a value (similar then it is now but with items you can stack easily like gold), so it would calculate the exact costs like 2 gold for each wooden wall, 5 gold for metal floors etc.. just an idea there might be other problems with that and it may not be easy to implement this with ArmA scripts as far as my knowledge goes at least.
    So for now the maintain cost is only dependent on the amount of items to maintain, no matter what parts you use. But there can be multiple items defined for each amount, maybe someone of you have a better way of doing this, that's one reason I publish it here for all to use and improve on it (hopefully).
     
    There is also a preview option ("Maintain Area Preview") to see how many building parts would be affected and what the exact costs for that would be. This option does nothing and it won't remove anything from your gear, it only displays an information text on the screen. If you use the real "Maintain Area" option the required items will be removed from your gear, if you don't own them you get a message with the missing parts like with the default maintain option.
     
     
    Ok here comes the installation steps, it is pretty easy, similar to including self bloodbag to your server.
     
    Step 1: Add this to your fn_selfActions.sqf file right after the line with "_canDo = ..." around line 16 (I assume you already have the file set up for other changes, if not there are many topics with how to do that):
    // ---------------------------------------Maintain Area Start------------------------------------ if (_canDo && (speed player <= 1) && (cursorTarget isKindOf "Plastic_Pole_EP1_DZ")) then { if (s_player_maintain_area < 0) then { s_player_maintain_area = player addAction ["<t color=""#ffffff"">Maintain Area</t>", "scripts\maintain_area.sqf", "maintain", 5, false]; s_player_maintain_area_preview = player addAction ["<t color=""#ccffffff"">Maintain Area Preview</t>", "scripts\maintain_area.sqf", "preview", 5, false]; }; } else { player removeAction s_player_maintain_area; s_player_maintain_area = -1; player removeAction s_player_maintain_area_preview; s_player_maintain_area_preview = -1; }; // ---------------------------------------Maintain Area End------------------------------------ If you want change the item where your players can activate the "Maintain Area" option (default plot pole - "Plastic_Pole_EP1_DZ"). You can also change the color of the menu (default white - #ffffff) and the path where you want to safe the actual script (default "scripts\maintain_area.sqf" in your mission.pbo).
     
    Step 2: Here is the complete maintain area script:
    private ["_missing","_missingQty","_proceed","_itemIn","_countIn","_qty","_num_removed","_removed","_removed_total","_tobe_removed_total","_obj","_objectID","_objectUID","_classname","_location","_dir","_objectCharacterID","_object","_temp_removed_array","_textMissing","_target","_objectClasses","_range","_objects","_requirements","_count","_cost","_itemText","_option"]; if (TradeInprogress) exitWith { cutText ["Maintenance already in progress." , "PLAIN DOWN"]; }; TradeInprogress = true; player removeAction s_player_maintain_area; s_player_maintain_area = 1; player removeAction s_player_maintain_area_preview; s_player_maintain_area_preview = 1; _target = cursorTarget; // Plastic_Pole_EP1_DZ _objectClasses = ["ModularItems", "DZE_Housebase"]; _range = 50; // set the max range for the maintain area _objects = nearestObjects [_target, _objectClasses, _range]; // TODO dynamic requirements based on used building parts? _count = count _objects; _requirements = []; switch true do { case (_count <= 10): {_requirements = [["ItemGoldBar10oz",1]]}; case (_count <= 50): {_requirements = [["ItemGoldBar10oz",4],["ItemGoldBar",2]]}; // 42 gold case (_count <= 100): {_requirements = [["ItemBriefcase100oz",1]]}; case (_count <= 200): {_requirements = [["ItemBriefcase100oz",2]]}; case (_count <= 300): {_requirements = [["ItemBriefcase100oz",3]]}; case (_count <= 400): {_requirements = [["ItemBriefcase100oz",4]]}; case (_count > 400): {_requirements = [["ItemBriefcase100oz",5]]}; }; _option = _this select 3; switch _option do { case "maintain": { _missing = ""; _missingQty = 0; _proceed = true; { _itemIn = _x select 0; _countIn = _x select 1; _qty = { (_x == _itemIn) || (configName(inheritsFrom(configFile >> "cfgMagazines" >> _x)) == _itemIn) } count magazines player; if (_qty < _countIn) exitWith { _missing = _itemIn; _missingQty = (_countIn - _qty); _proceed = false; }; } forEach _requirements; if (_proceed) then { player playActionNow "Medic"; [player,_range,true,(getPosATL player)] spawn player_alertZombies; _temp_removed_array = []; _removed_total = 0; _tobe_removed_total = 0; { _removed = 0; _itemIn = _x select 0; _countIn = _x select 1; _tobe_removed_total = _tobe_removed_total + _countIn; { if ((_removed < _countIn) && ((_x == _itemIn) || configName(inheritsFrom(configFile >> "cfgMagazines" >> _x)) == _itemIn)) then { _num_removed = ([player,_x] call BIS_fnc_invRemove); _removed = _removed + _num_removed; _removed_total = _removed_total + _num_removed; if (_num_removed >= 1) then { _temp_removed_array set [count _temp_removed_array,_x]; }; }; } forEach magazines player; } forEach _requirements; // all required items removed from player gear if (_tobe_removed_total == _removed_total) then { { _obj = _x; // Find objectID _objectID = _obj getVariable ["ObjectID","0"]; // Find objectUID _objectUID = _obj getVariable ["ObjectUID","0"]; if (_objectID == "0" && _objectUID == "0") exitWith { cutText ["At least one building part is not setup yet.", "PLAIN DOWN"];}; // Get classname _classname = typeOf _obj; // Get position _location = _obj getVariable["OEMPos",(getposATL _obj)]; // Get direction _dir = getDir _obj; // Find CharacterID _objectCharacterID = _obj getVariable ["CharacterID","0"]; // Create new object _object = createVehicle [_classname, [0,0,0], [], 0, "CAN_COLLIDE"]; // Set direction _object setDir _dir; // Set location _object setPosATL _location; PVDZE_obj_Swap = [_objectCharacterID,_object,[_dir,_location],_classname,_obj,_objectID,_objectUID]; publicVariableServer "PVDZE_obj_Swap"; player reveal _object; } forEach _objects; cutText [format["You have maintained %1 building parts.", _count], "PLAIN DOWN", 5]; // uncomment the next 2 lines if you want logging of area maintenance to the server report file (Arma2OAserver.RPT) //maintainArea_log = [player, _target, _count]; //publicVariableServer "maintainArea_log"; } else { {player addMagazine _x;} forEach _temp_removed_array; cutText [format["Missing Parts after first check Item: %1 / %2",_removed_total,_tobe_removed_total], "PLAIN DOWN"]; }; } else { _textMissing = getText(configFile >> "CfgMagazines" >> _missing >> "displayName"); cutText [format["Missing %1 more of %2", _missingQty, _textMissing], "PLAIN DOWN"]; }; }; case "preview": { _cost = ""; { _itemIn = _x select 0; _countIn = _x select 1; _itemText = getText(configFile >> "CfgMagazines" >> _itemIn >> "displayName"); if (_cost != "") then { _cost = _cost + " and "; }; _cost = _cost + (str(_countIn) + " of " + _itemText); } forEach _requirements; cutText [format["%1 building parts in range, maintenance would cost %2.", _count, _cost], "PLAIN DOWN"]; }; }; TradeInprogress = false; s_player_maintain_area = -1; s_player_maintain_area_preview = -1; Save it as "scripts\maintain_area.sqf" in your mission.pbo or whatever you have defined in the menu before.
     
    Step 3 (optional): change the default options in the script:
    _range (line 13): sets the maximum range for the maintain area around the plot pole (default 50m).
    _requirements (line 18+): defines the required items for the amount of affected base building parts, there are some examples just take a look it should be easy to extend/modify.
     
    Step 4 (optional): logging of area maintenance to the server report file (Arma2OAserver.RPT):
    Since the script runs on the client (player computer who starts the maintenance) it can be desirable to log additional info in the server report file to keep track what player did the maintenance at what time and position on the map and how many building parts were affected, to do this the script has to send that info to the server. This can be done with the "publicVariableServer" command, just uncomment (remove the leading //) the 2 lines in the script where it says so for logging (line 110+111).
    For the server to receive that variable and log the info you have to add an public variable event handler with "addPublicVariableEventHandler", this can be done at any place in the mission.pbo, but usually all event handlers are handled in the file "dayz_code\init\publicEH.sqf", copy that file to your mission.pbo and change the reference to it in the init.sqf if you haven't already and add the following to the "Server only" block (after the line with "PVDZE_plr_DeathB" is fine):
    "maintainArea_log" addPublicVariableEventHandler { _val = _this select 1; _player = _val select 0; _playerName = name _player; _playerID = getPlayerUID _player; _target = _val select 1; _position = position _target; _count = _val select 2; diag_log format["MAINTAIN_AREA: Player %1 (%2) has maintained %3 building parts at position %4", _playerName, _playerID, _count, _position]; }; This will log a line like this every time a player runs the maintenance script: 14:33:01 "MAINTAIN_AREA: Player Axe Cop (12345678) has maintained 245 building parts at position [4937,9421.44,-0.796936]"
    If you are lazy your can add the event handler to your init.sqf after the line "_serverMonitor = ... " without changing the file publicEH.sqf  :P
     
    That's it, should be easy enough to get the script working on your server.  ;)
     
     
    One major problem with the whole maintenance thing in Epoch (not this script) is the fact, that you can't visually see if your base needs to be maintained or when it was last maintained, I hope that will be fixed with the next Epoch updates because I don't see any way of even accessing the last maintain date form the script itself. What Epoch does is just set a small damage value to every part to indicate that it needs to be maintained soon, but you can't see that damage in game (yet).
    For now my script just maintains every single part within range, no matter when it was last maintained. I could change it so it only affects damaged parts like Epoch does when maintenance is needed (just to decrease the maintenance cost for players).
    Also keep in mind the maintain process replaces the objects rather then just removing the damage and resetting the date, don't ask me why but I guess there is a reason for it so I did it the same way in my script.
     
     
    At last sorry for the long text, as always if you have any questions or ideas to make this script better please tell me or improve the script. :)
     
     
    Edit: logging of area maintenance (see step 4)
  12. Like
    neiljb got a reaction from lolism in Removing items from locked vehicles   
    AFAIK this only happens when a single item type is in the vehicles inventory. You could try placing something else in there as well as the gold.
  13. Like
    neiljb got a reaction from Axle in Build/Crafting Snapping   
    Looks awesome maca. :)
     
    Hope you decide to release this when its finished. :D
  14. Like
    neiljb reacted to Armifer in [How To] [CPC] Indestructible Bases   
    Setting clean up to -1 is a terrible idea. It will mean ALL objects will never be cleaned up, including vehicles. Abandoned bases will litter the game world, eventually slowing down your server.
     
    Just edit fn self acitons and remove the .10 damage requirement to allow maintenance at any time :)
     
    Many servers already use a custom self actions file so fixing that only takes about 10 seconds.
  15. Like
    neiljb got a reaction from skittles in How to make a Dayz Epoch Server?   
    Just to clarify, you don't need to download regular dayz at all. You just need the client and server files for Epoch, plus Arma 2 + Arma 2 OA.
  16. Like
    neiljb got a reaction from happysan in Rolling change log for 1.0.2.4   
    Hi, the next version looks as though its shaping up to be pretty awesome, but for one thing that concerns me;
     
    [CHANGED] All armed vehicles now spawn with no ammo and on each restart. You must now find then add your own ammunition to wreak havoc.  
    Now my server kind of depends on there being ammo in the vehicles when they spawn so I would be very greatfull if you could add a config option in the init.sqf to enable/disable this feature. The whole idea of my server is to be able to wreak havoc, so with no ammo in any of the vehicles it would totally screw my server over.
     
    Thanks for reading. :)
  17. Like
    neiljb reacted to MrTesla in [Tutorial] Disabling R3F Tow/Lift for Locked Vehicles   
    This will disable the functions of the R3F Artillery & Logistics addon (tow, lift, load in, and move) for vehicles that are locked.
     
    Requirements:
    -Something to unpack pbo files, such as PBO Manager.
    -Text editor (Notepad++ recommended)
     
    1. Unpack these files:
    -dayz_code.pbo from your @DayZ_Epoch folder in your Arma 2 OA directory
    -mission pbo
    -server pbo (dayz_server.pbo)
     
    2. Copy the "local_lockunlock.sqf" from "dayz_code\compile\" folder and the "compiles.sqf" from the "dayz_code\init\" folder and place them into your mission file. For this tutorial, they'll be placed in a folder call "Custom".
    NOTE: If you already have a custom "compiles.sqf" in your mission file (such as for self BB and other addons) you don't need to copy it over. Just use the one you already have and skip step 5.
     
    3. In the "local_lockunlock.sqf", change this section (and only this section):
    if (local _vehicle) then { if(_status) then { _vehicle setVehicleLock "LOCKED"; } else { _vehicle setVehicleLock "UNLOCKED"; }; }; to this:
    if (local _vehicle) then { if(_status) then { _vehicle setVehicleLock "LOCKED"; _vehicle setVariable ["R3F_LOG_disabled",true,true]; } else { _vehicle setVehicleLock "UNLOCKED"; _vehicle setVariable ["R3F_LOG_disabled",false,true]; }; }; 4. In "compiles.sqf", change the file path in this line to point to your edited "local_lockunlock.sqf":
    local_lockUnlock = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\local_lockUnlock.sqf"; //When vehicle is local to unit perform locking vehicle So for this tutorial, it would be changed to this:
    local_lockUnlock = compile preprocessFileLineNumbers "Custom\local_lockUnlock.sqf"; //When vehicle is local to unit perform locking vehicle 5. In your mission file's "init.sqf", change the file path in this line to point to your edited "compiles.sqf":
    call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf"; //Compile regular functions For this tutorial, it would be changed to this:
    call compile preprocessFileLineNumbers "Custom\compiles.sqf"; //Compile regular functions 6. Repack the mission file and upload it to your server.
     
    7. Open "server_publishVehicle2.sqf" in the "dayz_server\compile\" folder and "server_monitor.sqf" in the "dayz_server\system\" folder.
     
    8. In "server_publishVehicle2.sqf", after the 3rd line (_object setvehiclelock "locked";):
        if(!_donotusekey) then {         // Lock vehicle         _object setvehiclelock "locked";     }; add this line:
    _object setVariable ["R3F_LOG_disabled",true,true]; 9. Do the same thing in the "server_monitor.sqf" in this section:
    if(_ownerID != "0" and !(_object isKindOf "Bicycle")) then { _object setvehiclelock "locked"; }; so it should look like this:
    if(_ownerID != "0" and !(_object isKindOf "Bicycle")) then { _object setvehiclelock "locked"; _object setVariable ["R3F_LOG_disabled",true,true]; }; 10. Repack the server pbo and upload it to the server.
  18. Like
    neiljb reacted to TheVol in [How To] [CPC] Indestructible Bases   
    Answered this in your other post... but here you go again.
     
    in HiveExt.ini
     
    Remove the ; from this line
     
    ;CleanupPlacedAfterDays = 30
     
    should look like this
     
    CleanupPlacedAfterDays = 30
  19. Like
    neiljb got a reaction from happysan in The currency system needs a complete do over   
    Nice, sounds like it should be pretty sweet. :D
  20. Like
    neiljb got a reaction from axeman in jackfrags does Epoch with frankie :D   
    It was bound to happen :D
     
    http://www.youtube.com/watch?v=0GDI1-66qYU
  21. Like
    neiljb reacted to ToejaM in [How To] [CPC] Indestructible Bases   
    Patch 1.0.3 Information
    I would just like to point out that my script is working entirely flawlessly however the line numbers are wrong in some cases in the tutorials below but they are easy enough to see where it goes instead by searching for the correct words. All the information you need is in this post.
     
    At present I do not have time to write the tutorial on pulling the maintain_area.sqf from the DayZ code files, however you will need to do this as Axe Cop's script is now part of Epoch as standard.
     
    When I get time I will add this if someone hasn't done it already, its very quick and easy to do but I want to make sure I write it as perfectly as possible to avoid confusion. Its as simple as finding it in the file structure, placing it in your mission folder and then changing the path inside the self actions file.
     
    If you do not pull the maintain_area.sqf from the code and add my fix to it, when you maintain your base using the area function on the plot pole it will make your base vulnerable to attack until the restart.
     
    [CPC] Indestructible Bases - PART1: On Server Restart
     
    What it does:
     
    Anything you define inside the _cpcimmune tag will respawn on server restart entirely indestructible and will also not be able to be knocked down. You can add anything you like to the list. the list currently only comprises of the new modular base buildables.
     
    How to:
     
    Step 1)
     
    Unpack your dayz_server.pbo
     
    Step 2)
     
    Find \system\server_monitor.sqf add copy this at around line 6
    _script = getText(missionConfigFile >> "onPauseScript"); // ### [CPC] Indestructible Buildables Fix _cpcimmune =[ "WoodFloor_DZ", "WoodFloorHalf_DZ", "WoodFloorQuarter_DZ", "Land_DZE_LargeWoodDoorLocked", "WoodLargeWallDoor_DZ", "WoodLargeWallWin_DZ", "WoodLargeWall_DZ", "Land_DZE_WoodDoorLocked", "WoodSmallWallDoor_DZ", "WoodSmallWallWin_DZ", "Land_DZE_GarageWoodDoor", "Land_DZE_GarageWoodDoorLocked", "WoodLadder_DZ", "WoodStairsSans_DZ", "WoodStairs_DZ", "WoodSmallWall_DZ", "WoodSmallWallThird_DZ", "CinderWallHalf_DZ", "CinderWall_DZ", "CinderWallDoorway_DZ", "Land_DZE_LargeWoodDoor", "MetalFloor_DZ", "CinderWallDoorSmallLocked_DZ", "CinderWallSmallDoorway_DZ", "CinderWallDoor_DZ" ]; // ### [CPC] Indestructible Buildables Fix if ((count playableUnits == 0) and !isDedicated) then { Step 3)
     
    Scroll down to around line 180 and copy this
    _object setdir _dir; _object setpos _pos; _object setDamage _damage; // ### [CPC] Indestructible Buildables Fix if (typeOf(_object) in _cpcimmune) then { _object addEventHandler ["HandleDamage", {false}]; _object enableSimulation false; }; // ### [CPC] Indestructible Buildables Fix Step 4)
     
    Repack your dayz_server.pbo
     
    Notes:
     
    You're done, its as simple as that. This has been tested on my server for well over a few weeks and is entirely stable. We don't have buildables destructible until a server restart to allow players to remove them by force themselves if neccesary to reduce admin intervention.
     
    If you wish to contribute and add your a tutorial for spawning items indestructible without need for a server restart then send me a PM and I'll update this post.
     
    [CPC] Indestructible Base Fix - PART2: On Object Creation
     
    What it does
     
    This is how to make your base objects spawn immediately indestructible without the need for a restart - Credit to Snowmobil for the player_build.sqf coding.
     
    If you already have a custom compiles.sqf you can skip the first 3 steps
     
    Create a custom compiles.sqf in your mission file.
    Creating a custom compiles.sqf
     
    Step 1)
    Unpack your dayz_code.pbo in Dayz_Epoch\addons\
     
    Step 2)
    Pull out the compiles.sqf from dayz_code\init\ and place into your root mission folder (where mission.sqm is)
     
    Step 3)
     
    Edit your init.sqf inside your mission file around line 58 to look like this
    call compile preprocessFileLineNumbers "compiles.sqf"; //Compile regular functions Step 4)
     
    If not already done due to step 1, unpack your dayz_code.pbo in DayZ_Epoch\addons\
     
    Step 5)
     
    Find your player_build.sqf in your dayz_code\actions\
     
    Step 6)
     
    Around line 231 copy to look like this
    // Start Build _tmpbuilt = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"]; // ### [CPC] Indestructible Base Fix _tmpbuilt addEventHandler ["HandleDamage", {false}]; _tmpbuilt enableSimulation false; // ### [CPC] Indestructible Base Fix Save the file in its current location if not already made a copy elsewhere.
     
    Step 7)
    In your mission folder create a folder called "fixes" and place the player_build.sqf in there.
     
    Step 8)
     
    Edit your compiles.sqf around line 95
    player_build = compile preprocessFileLineNumbers "fixes\player_build.sqf"; Notes:
    You're now done. You don't need to repack your dayz_code folder as the fix overwrites the original file due to where its called from, you also don't need to save the player_buid.sqf in the folder you copied it from, you can copy it elsewhere if you wish to keep an original version incase you need to revert for what ever reason.
     
    This does not need the buildable array that the first part of this tutorial needs, however you will need the first part that edits the server side files for a restart to keep these buildables indestructible.
     
    Locations of files are optional, the compiles.sqf does not have to be in the root folder if you wish to have it in your fixes folder just amend the file path. This also means you do not need to name the folder where player_build.sqf goes to "fixes" it can be called anything you like, I just happen to use "fixes" for my custom files.
     
    If you use this fix or think its a good idea, please hit the like button on this post. It doesn't do anything for me but shows interest in having indestructible bases. Thanks.
     
    [CPC] Indestructible Base Fix - PART3: Prevent Maintenance Exploit
     
     
    Currently you can "maintain" an object and it becomes destructible. This stops players from "maintaining" your buildables and then destroying them, as the server swaps them out to destructible types. There are several ways to implement this fix. If someone wishes to modify the server_dayzswap file so that the swapped buildables are also indestructible I will update this post. This however is suitable for my servers needs and helps players to register their base.   If you have a custom fn_selfActions file you can skip to step 3.   Step 1)   Unpack your dayz_code.pbo in your @DayZ_Epoch client folder   Step 2)   Put the \addons\dayz_code\compile\fn_selfActions.sqf inside your fixes folder.   Step 3)   Modify your fn_selfActions.sqf this around line 501 and save   if (s_player_maint_build < 0) then { s_player_lastTarget set [1,_cursorTarget]; // ### [CPC] Maintenance Fix s_player_maint_build = player addAction [format["Maintain %1",_text], "fixes\cpcmaintfix.sqf",_cursorTarget, -2, false, true, "",""]; // ### [CPC] Maintenance Fix }; } else { Step 4)
     
    Create a new .sqf file, either by copying an existing one or renaming the file extension of a newly created .txt document. Name this file cpcmaintfix.sqf, place this in your fixes folder and put this code inside the newly created .sqf
    cutText [format["Maintenance is disabled on this server as it is not required. Please see our website on how to ensure your base is not deleted."], "PLAIN DOWN"]; Optionally customize the message to what you like, we run a base registration system so that we can delete old bases due to there being no viable cleanup system thanks to indestructible buildables and believing that maintenance as it stands, its too much work for base owners.
    Step 5)
    Modify your compiles.sqf (see above on this post on how to create one, you should have already done it by now if you're this far though) around line 17
    fnc_usec_selfActions = compile preprocessFileLineNumbers "fixes\fn_selfActions.sqf"; //Checks which actions for self Notes:
     
    None
     
    [CPC] Indestructible Base Fix - PART4: Swap Objects Fix
     
    When you maintain an object either through Axe Cop's areal maintenance script or by doing it individually on each object, it swaps out the object for a new one. You don't see a change but it does happen. This spawns it in using server_swapObject.sqf which does not have the indestructible code inside. You don't have to do this as a restart will make your objects indestructible again however, if you maintain many objects they will be vulnerable to normal attacks until a restart, so it is advised that you do this.
     
    Part 4a: Normal DayZ Epoch maintenance system
     
    Step 1)
     
    Decompile dayz_server.pbo
     
    Step 2)
     
    Goto: @DayZ_Epoch_Server\addons\dayz_server\compile\ and find server_swapObject.sqf
     
    Step 3)
     
    Around line 44 change this:
    _object addMPEventHandler ["MPKilled",{_this call object_handleServerKilled;}]; // Test disabling simulation server side on buildables only. _object enableSimulation false; to this:
    _object addMPEventHandler ["MPKilled",{_this call object_handleServerKilled;}]; // Test disabling simulation server side on buildables only. _object enableSimulation false; // ### CPC Swap Object Fix _object addEventHandler ["HandleDamage", {false}]; // ### CPC Swap Object Fix Step 4)
     
    Recompile your dayz_server.pbo and you're now done.
     
    Notes:
     
    None
     
    Part 4b: Axe Cop's Maintain Area Script
     
    Step 1)
     
    In your mission file, or where ever you have stored the script, open the file
     
    e.g mine: D:\Gameservers\testserver\MPMissions\DayZ_Epoch_11.Chernarus\fixes\maintain_area.sqf
     
    If neccesary you might need to unpack your mission.pbo
     
    Step 2)
     
    Go to around line 104
    // Set location _object setPosATL _location; PVDZE_obj_Swap = [_objectCharacterID,_object,[_dir,_location],_classname,_obj,_objectID,_objectUID]; publicVariableServer "PVDZE_obj_Swap"; player reveal _object; } forEach _objects; and change to this
    // Set location _object setPosATL _location; // ### CPC Swap Object Fix _object enableSimulation false; _object addEventHandler ["HandleDamage", {false}]; // ### CPC Swap Object Fix PVDZE_obj_Swap = [_objectCharacterID,_object,[_dir,_location],_classname,_obj,_objectID,_objectUID]; publicVariableServer "PVDZE_obj_Swap"; player reveal _object; } forEach _objects; Step 3)
     
    Save your file and if necessary, repack your mission.pbo and you're done.
     
    Notes:
     
    None
  22. Like
    neiljb got a reaction from MGT in Possible Frankie Epoch video incoming?   
    Awesome. :D
  23. Like
    neiljb got a reaction from UKSS in Modular Building System Alignment   
    Or even if you just had the item build where the preview "ghost" item displays. Its very frustrating taking the time to line something up properly with the preview only to find when you hit the space bar it goes wonkey.
  24. Like
    neiljb got a reaction from MrEnderMC in Possible Frankie Epoch video incoming?   
    Hi, was just watching this youtube video from FRANKIEonPCin1080p and right near the start he mentions he has been playing some rust in DayZ, surely he can only be referring to Epochs new base building? :D
     
    Hopefully he is planning an awesome Epoch episode. :D
     
     
    Edit: 
     
    For those of you who don't know who frankie is, check out his dayz series on youtube, utterly amazing IMO. :)
  25. Like
    neiljb got a reaction from Axle in Possible Frankie Epoch video incoming?   
    Hi, was just watching this youtube video from FRANKIEonPCin1080p and right near the start he mentions he has been playing some rust in DayZ, surely he can only be referring to Epochs new base building? :D
     
    Hopefully he is planning an awesome Epoch episode. :D
     
     
    Edit: 
     
    For those of you who don't know who frankie is, check out his dayz series on youtube, utterly amazing IMO. :)
×
×
  • Create New...