Compatible with DayZ Epoch 1.0.6.1 +
-
Allows players to deploy a Bike, ATV, or a Mozzie (by default).
-
Compatible with almost all (if not all) vehicles.
-
Required parts can include both magazines and toolbelt items (or weapons in general if needed).
-
Vehicles can be deployed on high buildings, bases, or bridges without issue.
-
The server owner can:
- Configure what vehicles players can deploy
- Decide if the player will go through an animation while deploying the vehicle
- Decide if the player can deploy the vehicle while within someone else's plot area
- Decide if the player can deploy the vehicle while in combat
- Decide if the vehicle can be sold at traders
- Decide if the player can deploy the vehicle while in a vehicle
- Decide if the vehicle should have it's ammo removed when deployed
- Decide if the player can deploy the vehicle on a ladder
- Decide what parts each vehicle needs to be deployed
- Decide what the display name of the vehicle will be on all messages that appear during the process
-
Drag the vehicle_deploy folder into the root of your mission file.
-
File Transfers:
-
If you don't already have a custom compiles.sqf:
-
Create a new file called compiles.sqf and save it to a folder in your mission root called "custom".
-
In your init.sqf find:
call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf";
- Under it add:
call compile preprocessFileLineNumbers "custom\compiles.sqf";
- In compiles.sqf, copy and paste the following (these two files will be created in the instructions below):
if (!isDedicated) then { fnc_usec_selfactions = compile preprocessFileLineNumbers "custom\fn_selfActions.sqf"; player_selectSlot = compile preprocessFileLineNumbers "custom\ui_selectSlot.sqf"; };
-
-
If you don't already have a custom variables.sqf:
-
Create a new file called variables.sqf and save it to a folder in your mission root called "custom".
-
In your init.sqf find:
call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\variables.sqf";
- Under it add:
call compile preprocessFileLineNumbers "custom\variables.sqf";
- In variables.sqf, copy and paste the following:
dayz_resetSelfActions = { s_player_equip_carry = -1; s_player_dragbody = -1; s_player_fire = -1; s_player_cook = -1; s_player_boil = -1; s_player_fireout = -1; s_player_packtent = -1; s_player_packtentinfected = -1; s_player_fillwater = -1; s_player_fillwater2 = -1; s_player_fillfuel = -1; s_player_grabflare = -1; s_player_removeflare = -1; s_player_painkiller = -1; s_player_studybody = -1; s_build_Sandbag1_DZ = -1; s_build_Hedgehog_DZ = -1; s_build_Wire_cat1 = -1; s_player_deleteBuild = -1; s_player_flipveh = -1; s_player_stats = -1; s_player_sleep = -1; s_player_fillfuel210 = -1; s_player_fillfuel20 = -1; s_player_fillfuel5 = -1; s_player_siphonfuel = -1; s_player_repair_crtl = -1; s_player_fishing = -1; s_player_fishing_veh = -1; s_player_gather = -1; s_player_debugCheck = -1; s_player_destroytent = -1; s_player_attach_bomb = -1; s_player_upgradestorage = -1; s_player_Drinkfromhands = -1; /*s_player_lockhouse = -1; //Vanilla base building currently not used in Epoch s_player_unlockhouse = -1; s_player_openGate = -1; s_player_CloseGate = -1; s_player_breakinhouse = -1; s_player_setCode = -1; s_player_BuildUnLock = -1; s_player_BuildLock = -1;*/ // EPOCH ADDITIONS s_player_packvault = -1; s_player_lockvault = -1; s_player_unlockvault = -1; s_player_attack = -1; s_player_callzombies = -1; s_player_showname = -1; s_player_pzombiesattack = -1; s_player_pzombiesvision = -1; s_player_pzombiesfeed = -1; s_player_tamedog = -1; s_player_parts_crtl = -1; s_player_movedog = -1; s_player_speeddog = -1; s_player_calldog = -1; s_player_feeddog = -1; s_player_waterdog = -1; s_player_staydog = -1; s_player_trackdog = -1; s_player_barkdog = -1; s_player_warndog = -1; s_player_followdog = -1; s_player_information = -1; s_player_fuelauto = -1; s_player_fuelauto2 = -1; s_player_fillgen = -1; s_player_upgrade_build = -1; s_player_maint_build = -1; s_player_downgrade_build = -1; s_player_towing = -1; s_halo_action = -1; s_player_SurrenderedGear = -1; s_player_maintain_area = -1; s_player_maintain_area_force = -1; s_player_maintain_area_preview = -1; s_player_heli_lift = -1; s_player_heli_detach = -1; s_player_lockUnlock_crtl = -1; s_player_lockUnlockInside_ctrl = -1; s_player_toggleSnap = -1; s_player_toggleSnapSelect = -1; s_player_toggleSnapSelectPoint = []; snapActions = -1; s_player_plot_boundary = -1; s_player_plotManagement = -1; s_player_toggleDegree = -1; s_player_toggleDegrees=[]; degreeActions = -1; s_player_toggleVector = -1; s_player_toggleVectors=[]; vectorActions = -1; s_player_manageDoor = -1; }; call dayz_resetSelfActions;
-
-
If you don't have a custom fn_selfActions.sqf:
- Copy fn_selfActions.sqf to your custom folder from dayz_code\compile
-
If you don't have a custom ui_selectSlot.sqf:
- Copy ui_selectSlot.sqf to your custom folder from dayz_code\compile
- Variables.sqf:
-
Find:
s_player_manageDoor = -1;
-
Below it add:
// Vehicle Deployment s_player_packvehicle = -1;
-
Add at the bottom:
Deployables = ["MMT_Civ", "ATV_US_EP1", "CSJ_GyroC"];
if (isServer) then {
DZE_safeVehicle = DZE_safeVehicle + Deployables;
};
- fn_selfActions.sqf:
- Find:
if (_isGenerator) then {
if (s_player_fillgen < 0) then {
if (_cursorTarget getVariable["GeneratorRunning", false]) then {
s_player_fillgen = player addAction[localize "STR_EPOCH_ACTIONS_GENERATOR1", "\z\addons\dayz_code\actions\stopGenerator.sqf", _cursorTarget, 0, false, true];
} else {
if (_cursorTarget getVariable["GeneratorFilled", false]) then {
s_player_fillgen = player addAction[localize "STR_EPOCH_ACTIONS_GENERATOR2", "\z\addons\dayz_code\actions\fill_startGenerator.sqf", _cursorTarget, 0, false, true];
} else {
if (_hasFuel20 or _hasFuel5 or _hasBarrel) then {
s_player_fillgen = player addAction[localize "STR_EPOCH_ACTIONS_GENERATOR3", "\z\addons\dayz_code\actions\fill_startGenerator.sqf", _cursorTarget, 0, false, true];
};
};
};
};
} else {
player removeAction s_player_fillgen;
s_player_fillgen = -1;
};
- Below it add:
if ((speed player <= 1) && (_cursorTarget getVariable["DeployedVehicle", 0] == 1) && ((count(crew _cursorTarget)) == 0) && (damage _cursorTarget < 1) && _hasToolbox) then {
if (s_player_packvehicle < 0) then {
s_player_packvehicle = player addAction["Pack Vehicle", "vehicle_deploy\pack.sqf", _cursorTarget, 0, false, true, "", ""];
};
} else {
player removeAction s_player_packvehicle;
s_player_packvehicle = -1;
};
- Find:
player removeAction s_player_fuelauto2;
s_player_fuelauto2 = -1;
player removeAction s_player_manageDoor;
s_player_manageDoor = -1;
- Below it add:
player removeAction s_player_packvehicle;
s_player_packvehicle = -1;
- ui_selectSlot.sqf:
- Find:
_pos set [3,_height];
- Above it add:
// Extra Right Click Options by Maca134
_erc_cfgActions = (missionConfigFile >> "ExtraRc" >> _item);
_erc_numActions = (count _erc_cfgActions);
if (isClass _erc_cfgActions) then {
for "_j" from 0 to (_erc_numActions - 1) do {
_menu = _parent displayCtrl (1600 + _j + _numActions);
_menu ctrlShow true;
_config = (_erc_cfgActions select _j);
_text = getText (_config >> "text");
_script = getText (_config >> "script");
_height = _height + (0.025 * safezoneH);
uiNamespace setVariable ['uiControl', _control];
_menu ctrlSetText _text;
_menu ctrlSetEventHandler ["ButtonClick",_script];
};
};
- description.ext:
- At the bottom add:
#include "vehicle_deploy\extra_rc.hpp";
This work is licensed under the DAYZ MOD LICENSE SHARE ALIKE (DML-SA). The full license is here: https://www.bistudio.com/community/licenses/dayz-mod-license-share-alike