How to make a Custom "compiles.sqf"
- In you "init.sqf" find:
call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf"; //Compile regular functions
- And Under That insert:
call compile preprocessFileLineNumbers "Custom\compiles.sqf"; //Compile regular functions
- So it look's like this:
progressLoadingScreen 0.4; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf"; //Compile regular functions call compile preprocessFileLineNumbers "Custom\compiles.sqf"; progressLoadingScreen 0.5;
//call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf"; //Compile regular functions
call compile preprocessFileLineNumbers "custom\compiles.sqf"; //Compile custom compilesprogressLoadingScreen 0.5;
Then Make a "Custom" Folder in your main mission file.
After you have done that make a "compiles.sqf" and in side the "Custom" folder and paste:
//Player only
if (!isDedicated) then {"filmic" setToneMappingParams [0.07, 0.31, 0.23, 0.37, 0.011, 3.750, 6, 4]; setToneMapping "Filmic";BIS_Effects_Burn = compile preprocessFile "\ca\Data\ParticleEffects\SCRIPTS\destruction\burn.sqf";player_zombieCheck = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_zombieCheck.sqf"; //Run on a players computer, checks if the player is near a zombieplayer_zombieAttack = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_zombieAttack.sqf"; //Run on a players computer, causes a nearby zombie to attack themfnc_usec_damageActions = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_damageActions.sqf"; //Checks which actions for nearby casualtyfnc_inAngleSector = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_inAngleSector.sqf"; //Checks which actions for nearby casualtyfnc_usec_selfActions = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_selfActions.sqf"; //Checks which actions for selffnc_usec_unconscious = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_unconscious.sqf";player_temp_calculation = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_temperatur.sqf"; //Temperatur System //TeeChangeplayer_weaponFiredNear = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_weaponFiredNear.sqf";player_animalCheck = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_animalCheck.sqf";player_spawnCheck = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_spawnCheck.sqf";//player_spawnLootCheck = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_spawnlootCheck.sqf";//player_spawnZedCheck = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_spawnzedCheck.sqf";building_spawnLoot = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\building_spawnLoot.sqf";//player_taskHint = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_taskHint.sqf";building_spawnZombies = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\building_spawnZombies.sqf";//animal_monitor = compile preprocessFileLineNumbers "\z\addons\dayz_code\system\animal_monitor.sqf";//building_monitor = compile preprocessFileLineNumbers "\z\addons\dayz_code\system\building_monitor.sqf";player_fired = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_fired.sqf"; //Runs when player fires. Alerts nearby Zeds depending on calibre and audial ratingplayer_packTent = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_packTent.sqf";//control_zombieAgent = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\control_zombieAgent.sqf";player_updateGui = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_updateGui.sqf";player_crossbowBolt = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_crossbowBolt.sqf";stream_locationFill = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\stream_locationFill.sqf";stream_locationDel = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\stream_locationDel.sqf";stream_locationCheck = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\stream_locationCheck.sqf";player_music = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_music.sqf"; //Used to generate ambient music//player_login = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_login.sqf"; //Used to generate ambient musicplayer_death = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_death.sqf";player_switchModel = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_switchModel.sqf";player_checkStealth = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_checkStealth.sqf";world_sunRise = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_sunRise.sqf";world_surfaceNoise = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_surfaceNoise.sqf";player_humanityMorph = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_humanityMorph.sqf";player_throwObject = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_throwObject.sqf";player_alertZombies = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_alertZombies.sqf";player_fireMonitor = compile preprocessFileLineNumbers "\z\addons\dayz_code\system\fire_monitor.sqf";player_countMagazines = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_countMagazines.sqf";player_forceSave = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_forceSave.sqf";player_Bubble = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_Bubble.sqf";//Objectsobject_roadFlare = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\object_roadFlare.sqf";object_setpitchbank = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_setpitchbank.sqf";object_monitorGear = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\object_monitorGear.sqf";//Zombieszombie_findTargetAgent = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\zombie_findTargetAgent.sqf";zombie_loiter = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\zombie_loiter.sqf"; //Server compile, used for loiter behaviourzombie_generate = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\zombie_generate.sqf"; //Server compile, used for loiter behaviours//actionsplayer_addToolbelt = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_addToolbelt.sqf";player_addtoBack = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_addtoBack.sqf";player_reloadMag = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_reloadMags.sqf";player_tentPitch = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\tent_pitch.sqf";player_createstash = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_createstash.sqf";player_drink = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_drink.sqf";player_eat = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_eat.sqf";player_useMeds = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_useMeds.sqf";player_fillWater = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\water_fill.sqf";player_makeFire = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_makefire.sqf";player_chopWood = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_chopWood.sqf";player_build = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_build.sqf";object_build = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\object_build.sqf";player_wearClothes = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_wearClothes.sqf";player_dropWeapon = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_dropWeapon.sqf";player_setTrap = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_setTrap.sqf";object_pickup = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\object_pickup.sqf";player_flipvehicle = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_flipvehicle.sqf";player_sleep = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_sleep.sqf";player_combineMag = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_combineMags.sqf";player_createquiver = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_createQuiver.sqf";player_fillquiver = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_fillQuiver.sqf";player_takearrow = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_takeArrow.sqf";player_switchWeapon = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_switchWeapon.sqf";player_goFishing = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_goFishing.sqf";player_gather = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_gather.sqf";//uiplayer_selectSlot = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\ui_selectSlot.sqf";player_gearSet = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_gearSet.sqf";ui_changeDisplay = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\ui_changeDisplay.sqf";ui_gear_sound = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\ui_gear_sound.sqf";//playerstatshorde_epeen_fnc_fill_page = compile preProcessFile "\z\addons\dayz_code\actions\playerstats\fill_page_fnc.sqf";horde_epeen_determine_humanity_fnc = compile preProcessFile "\z\addons\dayz_code\actions\playerstats\determine_humanity_fnc.sqf";horde_epeen_setText_journal_fnc = compile preProcessFile "\z\addons\dayz_code\actions\playerstats\epeen_setText_journal.sqf";horde_epeen_setText_humanity_fnc = compile preProcessFile "\z\addons\dayz_code\actions\playerstats\epeen_setText_humanity.sqf";horde_epeen_setText_stats_fnc = compile preProcessFile "\z\addons\dayz_code\actions\playerstats\epeen_setText_stats.sqf";horde_epeen_show_humanity_fnc = compile preProcessFile "\z\addons\dayz_code\actions\playerstats\show_humanity_fnc.sqf";//Systemplayer_monitor = compile preprocessFileLineNumbers "\z\addons\dayz_code\system\player_monitor.sqf";player_spawn_1 = compile preprocessFileLineNumbers "\z\addons\dayz_code\system\player_spawn_1.sqf";player_spawn_2 = compile preprocessFileLineNumbers "\z\addons\dayz_code\system\player_spawn_2.sqf";onPreloadStarted "dayz_preloadFinished = false;";onPreloadFinished "dayz_preloadFinished = true;";infectedcamps = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\object_infectedcamps.sqf";camp_spawnZombies = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\camp_spawnZombies.sqf"; //Server compile, used for loiter behaviour//Craftingfn_updateCraftUI = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_updateCraftUI.sqf";player_craftItem = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_craftItem.sqf";player_checkRecipe = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_checkRecipe.sqf";// TODO: need move it in player_monitor.fsm// allow player disconnect from server, if loading hang, kicked by BE etc.//This is still needed but the fsm should terminate if any errors pop up.[] spawn {private["_timeOut","_display","_control1","_control2"];disableSerialization;_timeOut = 0;dayz_loadScreenMsg = "";diag_log "DEBUG: loadscreen guard started.";_display = uiNameSpace getVariable "BIS_loadingScreen";if (!isNil "_display") then {_control1 = _display displayctrl 8400;_control2 = _display displayctrl 102;};// 120 sec timeout (12000 * 0.01)while { _timeOut < 12000 } do {if (dayz_clientPreload && dayz_authed) exitWith { diag_log "PLOGIN: Login loop completed!"; };if (!isNil "_display") then {if ( isNull _display ) then {waitUntil { !dialog; };startLoadingScreen ["","RscDisplayLoadCustom"];_display = uiNameSpace getVariable "BIS_loadingScreen";_control1 = _display displayctrl 8400;_control2 = _display displayctrl 102;};if ( dayz_loadScreenMsg != "" ) then {_control1 ctrlSetText dayz_loadScreenMsg;dayz_loadScreenMsg = "";};_control2 ctrlSetText format["%1",round(_timeOut*0.01)];};_timeOut = _timeOut + 1;if (_timeOut >= 12000) then {1 cutText [localize "str_player_login_timeout", "PLAIN DOWN"];sleep 10;endLoadingScreen;endMission "END1";};sleep 0.01;};};dayz_losChance = {//private["_agent","_maxDis","_dis","_val","_maxExp","_myExp"];_agent = _this select 0;_dis = _this select 1;_maxDis = _this select 2;//diag_log ("VAL: " + str(_this));_val = (_maxDis - _dis) max 0;_maxExp = ((exp 2) * _maxDis);_myExp = ((exp 2) * (_val)) / _maxExp;_myExp = _myExp * 0.7;_myExp};ui_initDisplay = {private ["_ctrlBleed","_ctrlFracture"];disableSerialization;_display = uiNamespace getVariable 'DAYZ_GUI_display';_control = _display displayCtrl 1204;_control ctrlShow false;if (!r_player_injured) then {_ctrlBleed = _display displayCtrl 1303;_ctrlBleed ctrlShow false;};if (!r_fracture_legs and !r_fracture_arms) then {_ctrlFracture = _display displayCtrl 1203;_ctrlFracture ctrlShow false;};};dayz_angleCheck = {private ["_degree","_tPos","_zPos","_inAngle"];_target = _this select 0;_agent = _this select 1;_degree = _this select 2;_inAngle = false;_tPos = (getPosASL _target);_zPos = (getPosASL _agent);_eyeDir = (direction _agent);_inAngle = [_zPos,_eyeDir,_degree,_tPos] call fnc_inAngleSector;_inAngle};dayz_AttackCheck = {private ["_cantSee","_attackCheck"];_target = _this select 0;_agent = _this select 1;_degree = _this select 2;_attackCheck = false;_inAngle = [_target,_agent,_degree] call dayz_angleCheck;if (_inAngle) then {_cantSee = [_target,_agent] call dayz_losCheck;if (!_cantSee) then {_attackCheck = true;};};_attackCheck};dayz_losCheck = {private "_cantSee";_target = _this select 0; // PUT THE PLAYER IN FIRST ARGUMENT!!!!_agent = _this select 1;_cantSee = true;if (!isNull _target) then {private ["_tPos","_zPos"];_tPos = eyePos _target;_zPos = eyePos _agent;if ((count _tPos > 0) and (count _zPos > 0)) then {_cantSee = terrainIntersectASL [_tPos, _zPos];if (!_cantSee) then {_cantSee = lineIntersects [_tPos, _zPos, _agent, vehicle _target];};};};_cantSee};/* //not actually useddayz_losCheck_attack = {private["_target","_agent","_cantSee"];_target = _this select 0;_agent = _this select 1;_cantSee = true;if (!isNull _target) then {_tPos = [_target select 0, _target select 1, eyePos _target select 2];_zPos = [_agent select 0, _agent select 1, eyePos _agent select 2];if ((count _tPos > 0) and (count _zPos > 0)) then {_cantSee = terrainIntersectASL [_tPos, _zPos];if (!_cantSee) then {_cantSee = lineIntersects [_tPos, _zPos, _agent, _target];};};};_cantSee}; */dayz_spaceInterrupt = {private "_handled";_dikCode = _this select 1;_shiftState = _this select 2;_ctrlState = _this select 3;_altState = _this select 4;_handled = false;// Disable ESC after death (not sure if needed but it's here to make sure)if (_dikCode == 0x01 && r_player_dead) then {_handled = true;};switch (_dikCode) do {case 0x02: {["rifle"] spawn player_switchWeapon;_handled = true;};case 0x03: {["pistol"] spawn player_switchWeapon;_handled = true;};case 0x04: {["melee"] spawn player_switchWeapon;_handled = true;};default {if (_dikCode in [0x58,0x57,0x44,0x43,0x42,0x41,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x0B,0x0A,0x09,0x08,0x07,0x06,0x05]) then {_handled = true;};};};if ((_dikCode in actionKeys "Gear") and (vehicle player != player) and !_shiftState and !_ctrlState and !_altState && !dialog) then {createGearDialog [player, "RscDisplayGear"];_handled = true;};//if (_dikCode in actionKeys 'MoveForward' or _dikCode in actionKeys 'MoveBack') then {r_interrupt = true};//Prevent exploit of drag bodyif ((_dikCode in actionKeys "Prone") and r_drag_sqf) then { force_dropBody = true; };if ((_dikCode in actionKeys "Crouch") and r_drag_sqf) then { force_dropBody = true; };if (_dikCode in actionKeys "MoveLeft") then {r_interrupt = true};if (_dikCode in actionKeys "MoveRight") then {r_interrupt = true};if (_dikCode in actionKeys "MoveForward") then {r_interrupt = true};if (_dikCode in actionKeys "MoveBack") then {r_interrupt = true};if (_dikCode in actionKeys "ForceCommandingMode") then {_handled = true};if (_dikCode in actionKeys "PushToTalk" and (time - dayz_lastCheckBit > 10)) then {dayz_lastCheckBit = time;[player,15,true,(getPosATL player)] call player_alertZombies;};if (_dikCode in actionKeys "VoiceOverNet" and (time - dayz_lastCheckBit > 10)) then {dayz_lastCheckBit = time;[player,15,true,(getPosATL player)] call player_alertZombies;};if (_dikCode in actionKeys "PushToTalkDirect" and (time - dayz_lastCheckBit > 10)) then {dayz_lastCheckBit = time;[player,5,false,(getPosATL player)] call player_alertZombies;};if (_dikCode in actionKeys "Chat" and (time - dayz_lastCheckBit > 10)) then {dayz_lastCheckBit = time;[player,15,false,(getPosATL player)] call player_alertZombies;};if (_dikCode in actionKeys "User20" or _dikCode in actionKeys "NetworkStats") then {if (!dayz_isSwimming and !dialog) then {[player,4,true,(getPosATL player)] call player_alertZombies;createDialog "horde_journal_front_cover";};_handled = true;};if ((_dikCode in [0x3E,0x0F,0xD3]) and (time - dayz_lastCheckBit > 10)) then {dayz_lastCheckBit = time;call player_forceSave;};if (_dikCode in [0xB8,0x38,0x3E,0x2A,0x36,0x01]) then {_displayg = findDisplay 106;if (!isNull _displayg) then {call player_forceSave;} else {if (dialog) then {call player_forceSave;};};};_object = player getVariable ["constructionObject", objNull];if (!isNull _object and _dikCode in actionKeys "LeanLeft") then {_dir = getDir _object - 3;_object setDir _dir;_handled = true;};if (!isNull _object and _dikCode in actionKeys "LeanRight") then {_dir = getDir _object + 3;_object setDir _dir;_handled = true;};_handled};player_guiControlFlash = {//private["_control"];//_control = _this;if (ctrlShown _this) then {_this ctrlShow false;} else {_this ctrlShow true;};};gear_ui_offMenu = {private["_control","_parent","_menu","_grpPos"];disableSerialization;_control = _this select 0;_parent = findDisplay 106;if (!(_this select 3)) then {for "_i" from 0 to 9 do {_menu = _parent displayCtrl (1600 + _i);_menu ctrlShow false;};_grpPos = ctrlPosition _control;_grpPos set [3,0];_control ctrlSetPosition _grpPos;_control ctrlShow false;_control ctrlCommit 0;};};gear_ui_init = {//private["_control","_parent","_menu","_grpPos"];disableSerialization;_parent = findDisplay 106;_control = _parent displayCtrl 6902;for "_i" from 0 to 9 do {_menu = _parent displayCtrl (1600 + _i);_menu ctrlShow false;};_grpPos = ctrlPosition _control;_grpPos set [3,0];_control ctrlSetPosition _grpPos;_control ctrlShow false;_control ctrlCommit 0;};gear_ui_hide = {//private["_display","_BP"];disableSerialization;_display = findDisplay 106;_BP = unitBackpack player;if (ctrlShown (_display displayCtrl 159)) then {//prevent background images in backpack viewfor "_i" from 1006 to 1011 do {(_display displayCtrl _i) ctrlShow false;};} else {for "_i" from 1006 to 1011 do {if (!(ctrlShown (_display displayCtrl _i))) then {(_display displayCtrl _i) ctrlShow true;};};};//hide buttons if unnecessaryif (isNull _BP || ((typeOf _BP) == "")) then {(_display displayCtrl 132) ctrlShow false;(_display displayCtrl 157) ctrlShow false;(_display displayCtrl 158) ctrlShow false;};// Prevent carrying 2 rifles 'exploit'if (primaryWeapon player == "" && dayz_onBack != "" && !(dayz_onBack in MeleeWeapons)) then {["gear"] call player_switchWeapon;};if (primaryWeapon player != "" && (primaryWeapon player in MeleeWeapons || dayz_onBack in MeleeWeapons)) then {(_display displayCtrl 1204) ctrlShow true;} else {(_display displayCtrl 1204) ctrlShow false;};if (DayZ_onBack != "") then {(_display displayCtrl 1208) ctrlShow true;} else {(_display displayCtrl 1208) ctrlShow false;};for "_i" from 0 to (lbSize (_display displayCtrl 105)) - 1 do {(_display displayCtrl 105) lbSetColor [_i, [0.06, 0.05, 0.03, 1]];};};dayz_lowHumanity = {//private["_unit","_humanity","_delay"];_unit = _this;if ((_unit distance player) < 15) then {private "_humanity";_humanity = _unit getVariable["humanity",0];dayz_heartBeat = true;if (_humanity < -3000) then {private "_delay";_delay = ((10000 + _humanity) / 5500) + 0.3;playSound "heartbeat_1";sleep _delay;};dayz_heartBeat = false;};};dayz_meleeMagazineCheck = {//private["_meleeNum","_magType","_wpnType","_ismelee"];_wpnType = primaryWeapon player;_ismelee = (gettext (configFile >> "CfgWeapons" >> _wpnType >> "melee"));if (_ismelee == "true") then {private ["_meleeNum","_magType"];_magType = ([] + getArray (configFile >> "CfgWeapons" >> _wpnType >> "magazines")) select 0;_meleeNum = ({_x == _magType} count magazines player);if (_meleeNum < 1) then {player addMagazine _magType;};};};/* //not actually used...dayz_futurePos = {private ["_vehicle","_velo","_speed","_nextPlayerPos"];_vehicle = (vehicle _this);_velo = velocity _vehicle;_speed = ([0, 0, 0] distance (_velo)); // buggy: if player/veh is blocked by an object, speed is not zero_nextPlayerPos = getPosATL _this;if (_speed > 0) then {// try compute next player pos. This works both whether player is bare foot, or in a vehicle, whatever his place._velo = [ (_velo select 0) / _speed, (_velo select 1) / _speed, (_velo select 2) / _speed]; // normalize speed vector_nextPlayerPos set [0, (_nextPlayerPos select 0) + (_velo select 0) * 1]; // 1 = a meter alongside the movement_nextPlayerPos set [1, (_nextPlayerPos select 1) + (_velo select 1) * 1];_nextPlayerPos set [2, (_nextPlayerPos select 2) + (_velo select 2) * 1];};_nextPlayerPos}; */dayz_originalPlayer = player;};progressLoadingScreen 0.8;//BothBIS_fnc_selectRandom = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_selectRandom.sqf"; //Checks which actions for nearby casualtyfnc_buildWeightedArray = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_buildWeightedArray.sqf"; //Checks which actions for nearby casualtyzombie_initialize = compile preprocessFileLineNumbers "\z\addons\dayz_code\init\zombie_init.sqf";//object_vehicleKilled = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\object_vehicleKilled.sqf"; //Event handler run on damageobject_getHit = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\object_getHit.sqf"; //gets the hit value for a HitPoint (i.e. HitLegs) against the selection (i.e. "legs"), returns the valueobject_setHit = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\object_setHit.sqf"; //process the hit as a NORMAL damage (useful for persistent vehicles)object_processHit = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\object_processHit.sqf"; //process the hit in the REVO damage system (records and sets hit)//object_delLocal = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\object_delLocal.sqf";//object_cargoCheck = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\object_cargoCheck.sqf"; //Run by the player or server to monitor changes in cargo contentsfnc_usec_damageHandler = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_damageHandler.sqf"; //Event handler run on damage// Vehicle damage fixfnc_veh_handleDam = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\veh_handleDam.sqf";fnc_veh_handleKilled = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\veh_handleKilled.sqf";fnc_veh_handleRepair = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\veh_handleRepair.sqf"; //process the hit as a NORMAL damage (useful for persistent vehicles)fnc_veh_ResetEH = compile preprocessFileLineNumbers "\z\addons\dayz_code\init\veh_ResetEH.sqf"; //Initialize vehiclefnc_veh_setFixServer = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\veh_setFixServer.sqf"; //process the hit as a NORMAL damage (useful for persistent vehicles)fnc_inString = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_inString.sqf";fnc_isInsideBuilding = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_isInsideBuilding.sqf"; //_isInside = [_unit,_building] call fnc_isInsideBuilding;dayz_zombieSpeak = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\object_speak.sqf"; //Used to generate random speech for a unitvehicle_getHitpoints = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\vehicle_getHitpoints.sqf";local_gutObject = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\local_gutObject.sqf"; //Generated on the server (or local to unit) when gutting an objectlocal_zombieDamage = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_damageHandlerZ.sqf"; //Generated by the client who created a zombie to track damagelocal_setFuel = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\local_setFuel.sqf"; //Generated when someone refuels a vehiclelocal_eventKill = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\local_eventKill.sqf"; //Generated when something is killed//player_weaponCheck = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_weaponCheck.sqf"; //Run by the player or server to monitor whether they have picked up a new weapon//curTimeStr = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_curTimeStr.sqf";player_medBandage = compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\publicEH\medBandaged.sqf";player_medInject = compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\publicEH\medInject.sqf";player_medEpi = compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\publicEH\medEpi.sqf";player_medTransfuse = compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\publicEH\medTransfuse.sqf";player_medMorphine = compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\publicEH\medMorphine.sqf";player_medPainkiller = compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\publicEH\medPainkiller.sqf";player_medAntiBiotics = compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\publicEH\medAntibiotics.sqf";player_humanityChange = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_humanityChange.sqf";spawn_loot = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\spawn_loot.sqf";player_projectileNear = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_projectileNear.sqf";call compile preprocessFileLineNumbers "\z\addons\dayz_code\traps\init.sqf";player_sumMedical = {private["_character","_wounds","_legs","_arms","_medical", "_status"];_character = _this;_wounds = [];if (_character getVariable["USEC_injured",false]) then {{_status = _character getVariable["hit_"+_x,false];if ((typeName _status == "BOOLEAN") AND {(_status)}) then {_wounds set [count _wounds,_x];};} forEach USEC_typeOfWounds;};_legs = _character getVariable ["hit_legs",0];_arms = _character getVariable ["hit_arms",0];_medical = [_character getVariable["USEC_isDead",false],_character getVariable["NORRN_unconscious", false],_character getVariable["USEC_infected",false],_character getVariable["USEC_injured",false],_character getVariable["USEC_inPain",false],_character getVariable["USEC_isCardiac",false],_character getVariable["USEC_lowBlood",false],_character getVariable["USEC_BloodQty",12000],_wounds,[_legs,_arms],_character getVariable["unconsciousTime",0],_character getVariable["messing",[0,0]]];_medical};fn_niceSpot = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_niceSpot.sqf";//Server Onlyif (isServer) then {call compile preprocessFileLineNumbers "\z\addons\dayz_server\init\server_functions.sqf";} else {eh_localCleanup = {};};//Start Dynamic WeatherexecVM "\z\addons\dayz_code\system\DynamicWeatherEffects.sqf";initialized = true;
- In your "init.sqf" find:
call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\variables.sqf"; //Initilize the Variables (IMPORTANT: Must happen very early)
- And under that put:
call compile preprocessFileLineNumbers "Custom\variables.sqf"; //Initilize the Variables (IMPORTANT: Must happen very early)
- So It look's like this:
call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\variables.sqf"; //Initilize the Variables (IMPORTANT: Must happen very early) call compile preprocessFileLineNumbers "custom\variables.sqf"; //Initilize the Variables (IMPORTANT: Must happen very early) progressLoadingScreen 0.1
(NOTE YOU CAN MARK THE OTHER ONE OUT)
//call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\variables.sqf"; //Initilize the Variables (IMPORTANT: Must happen very early)
call compile preprocessFileLineNumbers "custom\variables.sqf"; //Initilize the Variables (IMPORTANT: Must happen very early)
progressLoadingScreen 0.1
Then make a "Custom" folder in your mission file, if you dont have one already.
After that make a "variables.sqf" in your "Custom" folder and paste:
disableSerialization;
// Enable// 0=False/off, 1=True/ondayz_Trash = 1;//Model VariablesBandit1_DZ = "Bandit1_DZ";BanditW1_DZ = "BanditW1_DZ";Survivor1_DZ = "Survivor2_DZ";Survivor2_DZ = "Survivor2_DZ";SurvivorW2_DZ = "SurvivorW2_DZ";Sniper1_DZ = "Sniper1_DZ";Sniper2_DZ = "Sniper2_DZ";Sniper3_DZ = "Sniper3_DZ";Sniper4_DZ = "Sniper4_DZ";Sniper5_DZ = "Sniper5_DZ";Sniper6_DZ = "Sniper6_DZ";Camo1_DZ = "Camo1_DZ";Camo2_DZ = "Camo2_DZ";Camo3_DZ = "Camo3_DZ";Camo4_DZ = "Camo4_DZ";Camo5_DZ = "Camo5_DZ";Camo6_DZ = "Camo6_DZ";Camo7_DZ = "Camo7_DZ";Camo8_DZ = "Camo8_DZ";Camo9_DZ = "Camo9_DZ";Camo10_DZ = "Camo10_DZ";Camo11_DZ = "Camo11_DZ";Camo12_DZ = "Camo12_DZ";Camo13_DZ = "Camo13_DZ";Camo14_DZ = "Camo14_DZ";Camo15_DZ = "Camo15_DZ";Camo16_DZ = "Camo16_DZ";Camo17_DZ = "Camo17_DZ";Camo18_DZ = "Camo18_DZ";Camo19_DZ = "Camo19_DZ";Camo20_DZ = "Camo20_DZ";Camo21_DZ = "Camo21_DZ";Camo22_DZ = "Camo22_DZ";Camo23_DZ = "Camo23_DZ";Camo24_DZ = "Camo24_DZ";Camo25_DZ = "Camo25_DZ";Camo26_DZ = "Camo26_DZ";Camo27_DZ = "Camo27_DZ";Soldier1_DZ = "Soldier1_DZ";Rocket_DZ = "Rocket_DZ";AllPlayers = ["SurvivorW2_DZ","Survivor2_DZ","Sniper1_DZ","Soldier1_DZ","BanditW1_DZ","Bandit1_DZ","Survivor3_DZ","Pilot_DZ, INS_Lopotev_DZ","Rocker3_DZ","gsc_eco_stalker_mask_duty","Soldier_Crew_PMC","Sniper2_DZ","Sniper3_DZ","Sniper4_DZ","Sniper5_DZ","Sniper6_DZ","Camo1_DZ","Camo2_DZ","Camo3_DZ","Camo4_DZ","Camo5_DZ","Camo6_DZ","Camo7_DZ","Camo8_DZ","Camo9_DZ","Camo10_DZ","Camo11_DZ","Camo12_DZ","Camo13_DZ","Camo14_DZ","Camo15_DZ","Camo16_DZ","Camo17_DZ","Camo18_DZ","Camo19_DZ","Camo20_DZ","Camo21_DZ","Camo22_DZ","Camo23_DZ","Camo24_DZ","Camo25_DZ","Camo26_DZ","Camo27_DZ","Rocket_DZ"];MeleeWeapons = ["MeleeHatchet","MeleeCrowbar","MeleeMachete","MeleeBaseball","MeleeBaseBallBat","MeleeBaseBallBatBarbed","MeleeBaseBallBatNails","MeleeFishingPole"];MeleeMagazines = ["hatchet_swing","crowbar_swing","Machete_swing","Bat_Swing","BatBarbed_Swing","BatNails_Swing","Fishing_Swing"];Dayz_fishingItems = ["MeleeFishingPole"];Dayz_plants = ["Dayz_Plant1","Dayz_Plant2","Dayz_Plant3"];//New ZedsDayZ_ViralZeds = ["z_new_villager2","z_new_villager3","z_new_villager4","z_new_worker2","z_new_worker3","z_new_worker4"];//BagsDayZ_Backpacks = ["DZ_Patrol_Pack_EP1","DZ_Assault_Pack_EP1","DZ_Czech_Vest_Puch","DZ_ALICE_Pack_EP1","DZ_TK_Assault_Pack_EP1","DZ_British_ACU","DZ_CivilBackpack_EP1","DZ_Backpack_EP1"];SafeObjects = ["Land_Fire_DZ", "TentStorage", "Wire_cat1", "Sandbag1_DZ", "Hedgehog_DZ", "StashSmall", "StashMedium", "BearTrap_DZ", "DomeTentStorage", "CamoNet_DZ", "Trap_Cans", "TrapTripwireFlare", "TrapBearTrapSmoke", "TrapTripwireGrenade", "TrapTripwireSmoke", "TrapBearTrapFlare"];//Cookingmeatraw = ["FoodSteakRaw","FoodmeatRaw","FoodbeefRaw","FoodmuttonRaw","FoodchickenRaw","FoodrabbitRaw","FoodbaconRaw","FoodgoatRaw","FishRawTrout","FishRawSeaBass","FishRawTuna"];meatcooked = ["FoodSteakCooked","FoodmeatCooked","FoodbeefCooked","FoodmuttonCooked","FoodchickenCooked","FoodrabbitCooked","FoodbaconCooked","FoodgoatCooked","FishCookedTrout","FishCookedSeaBass","FishCookedTuna"];//Eatingno_output_food = ["FoodMRE","FoodPistachio","FoodNutmix","FoodCandyAnders","FoodCandyLegacys","FoodCandyMintception"]+meatcooked+meatraw;food_with_output=["FoodCanBakedBeans","FoodCanSardines","FoodCanFrankBeans","FoodCanPasta","FoodCanGriff","FoodCanBadguy","FoodCanBoneboy","FoodCanCorn","FoodCanCurgon","FoodCanDemon","FoodCanFraggleos","FoodCanHerpy","FoodCanDerpy","FoodCanOrlok","FoodCanPowell","FoodCanTylers","FoodCanUnlabeled","FoodCanRusUnlabeled","FoodCanRusPork","FoodCanRusPeas","FoodCanRusMilk","FoodCanRusCorn","FoodCanRusStew","FoodChipsSulahoops","FoodChipsMysticales"];food_output = ["TrashTinCan","TrashTinCan","TrashTinCan","TrashTinCan","FoodCanGriffEmpty","FoodCanBadguyEmpty","FoodCanBoneboyEmpty","FoodCanCornEmpty","FoodCanCurgonEmpty","FoodCanDemonEmpty","FoodCanFraggleosEmpty","FoodCanHerpyEmpty","FoodCanDerpyEmpty","FoodCanOrlokEmpty","FoodCanPowellEmpty","FoodCanTylersEmpty","FoodCanUnlabeledEmpty","FoodCanRusUnlabeledEmpty","FoodCanRusPorkEmpty","FoodCanRusPeasEmpty","FoodCanRusMilkEmpty","FoodCanRusCornEmpty","FoodCanRusStewEmpty","FoodChipsSulahoopsEmpty","FoodChipsMysticalesEmpty"];//Drinkingno_output_drink = ["ItemWaterbottle", "ItemWaterbottleBoiled"];drink_with_output = ["ItemSoda", //just to define item for ItemSodaEmpty"ItemSodaCoke","ItemSodaPepsi","ItemSodaMdew","ItemSodaMtngreen","ItemSodaR4z0r","ItemSodaClays","ItemSodaSmasht","ItemSodaDrwaste","ItemSodaLemonade","ItemSodaLvg","ItemSodaMzly","ItemSodaRabbit"];drink_output = ["ItemSodaEmpty","ItemSodaCokeEmpty","ItemSodaPepsiEmpty","ItemSodaMdewEmpty","ItemSodaMtngreenEmpty","ItemSodaR4z0rEmpty","ItemSodaClaysEmpty","ItemSodaSmashtEmpty","ItemSodaDrwasteEmpty","ItemSodaLemonadeEmpty","ItemSodaLvgEmpty","ItemSodaMzlyEmpty","ItemSodaRabbitEmpty"];boil_tin_cans = ["TrashTinCan","FoodCanGriffEmpty","FoodCanBadguyEmpty","FoodCanBoneboyEmpty","FoodCanCornEmpty","FoodCanCurgonEmpty","FoodCanDemonEmpty","FoodCanFraggleosEmpty","FoodCanHerpyEmpty","FoodCanDerpyEmpty","FoodCanOrlokEmpty","FoodCanPowellEmpty","FoodCanTylersEmpty","FoodCanUnlabeledEmpty","FoodCanRusUnlabeledEmpty","FoodCanRusStewEmpty","FoodCanRusPorkEmpty","FoodCanRusPeasEmpty","FoodCanRusMilkEmpty","FoodCanRusCornEmpty","ItemSodaEmpty","ItemSodaCokeEmpty","ItemSodaPepsiEmpty","ItemSodaMdewEmpty","ItemSodaMtngreenEmpty","ItemSodaR4z0rEmpty","ItemSodaClaysEmpty","ItemSodaSmashtEmpty","ItemSodaDrwasteEmpty","ItemSodaLemonadeEmpty","ItemSodaLvgEmpty","ItemSodaMzlyEmpty","ItemSodaRabbitEmpty"];canPickup = false;pickupInit = false;//Hunting VariablesdayZ_partClasses = ["PartFueltank","PartWheel",//"PartGeneric", //No need to add, it is default for everything"PartEngine"];dayZ_explosiveParts = ["palivo","motor"];//Survival VariablesSleepFood = 2160; //minutes (48 hours)SleepWater = 1440; //minutes (24 hours)SleepTemperatur = 90 / 100; //Firs Value = Minutes untill Player reaches the coldest Point at night (without other effects! night factor expected to be -1) //TeeChange//Server VariablesallowConnection = false;dayz_serverObjectMonitor = [];//Streaming Variables (player only)dayz_Locations = [];dayz_locationsActive = [];//GUIDayz_GUI_R = 0.38; // 0.7 .38Dayz_GUI_G = 0.63; // -0.63Dayz_GUI_B = 0.26; // -0.26//actions blockersa_player_cooking = false;a_player_boil = false;a_player_jerryfilling = false;a_player_repairing = false;//Player self-action handlesdayz_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_butcher = -1;s_player_packtent = -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_forceSave = -1;s_player_flipveh = -1;s_player_stats = -1;s_player_sleep = -1;s_player_selfBloodbag = -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;};call dayz_resetSelfActions;//Engineering variabless_player_lastTarget = objNull;s_player_repairActions = [];//for carry slot since determining mouse pos doesn't work rightmouseOverCarry = false;//Initialize Medical Variablesforce_dropBody = false;r_interrupt = false;r_doLoop = false;r_self = false;r_self_actions = [];r_drag_sqf = false;r_action = false;r_action_unload = false;r_player_handler = false;r_player_handler1 = false;r_player_dead = false;r_player_unconscious = false;r_player_infected = false;//infection from hitsr_player_Sepsis = [false, 0];r_player_injured = false;r_player_inpain = false;r_player_loaded = false;r_player_cardiac = false;r_fracture_legs = false;r_fracture_arms = false;r_player_vehicle = player;r_player_blood = 12000;//Blood Regenr_player_bloodregen = 0;//Blood Gain Per Secr_player_bloodgainpersec = 0;//Blood Loss Per Secr_player_bloodlosspersec = 0;//Blood Per Sec (gain - loss)r_player_bloodpersec = 0;//Food Stackr_player_foodstack = 1;//player skillr_player_lowblood = false;r_player_timeout = 0;r_player_bloodTotal = r_player_blood;r_public_blood = r_player_blood;r_player_bloodDanger = r_player_bloodTotal * 0.2;r_player_actions = [];r_handlerCount = 0;r_action_repair = false;r_action_targets = [];r_pitchWhine = false;r_isBandit = false;//count actionsr_action_count = 0;//ammo routiner_player_actions2 = [];r_action2 = false;r_player_lastVehicle = objNull;r_player_lastSeat = [];r_player_removeActions2 = {if (!isNull r_player_lastVehicle) then {{r_player_lastVehicle removeAction _x;} forEach r_player_actions2;r_player_actions2 = [];r_action2 = false;};};USEC_woundHit = [ // limbs hit given by arma engine when fnc_usec_damageHandler is called"","body","hands","legs","head_hit"];DAYZ_woundHit = [["body","hands","legs","head_hit"],[ 0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,2,2,3]];DAYZ_woundHit_ok = [["body","hands","legs"],[0,0,0,0,0,1,1,1,2,2]];USEC_MinorWounds = ["hands","legs"];USEC_woundPoint = [ // translation table USEC_woundHit -> SV suffixes["Pelvis","aimpoint"],["aimpoint"], //,"RightShoulder","LeftShoulder"["lelbow","relbow"],["RightFoot","LeftFoot"],["neck","pilot"]];USEC_typeOfWounds = [ // used by player_sumMedical, should contains all limbs described in USEC_woundPoint. These limbs statuses are saved by server_playerSync in HIVE if they are bleeding (medical select 8)"Pelvis","aimpoint","lelbow","relbow","RightFoot","LeftFoot","neck","pilot"];//Initialize Zombie Variablesdayz_zombieTargetList = [["SoldierWB",50],["Air",500],["LandVehicle",200]];PVDZ_obj_Publish = []; //used for eventhandler to spawn a mirror of players tentPVCDZ_obj_HideBody = objNull;//DayZ settingsdayz_maxAnimals = 5;dayz_maxPlants = 3;dayz_animalDistance = 600;dayz_plantDistance = 600;dayz_maxMaxModels = 100; // max quantity of Man models (player or Z, dead or alive) around players. Below this limit we can spawn Z // max quantity of loot piles around players. Below this limit we can spawn some lootdayz_spawnArea = 200; // radius around player where we can spawn loot & Zdayz_cantseeDist = 150; // distance from which we can spawn a Z in front of any player without ray-tracing and angle checksdayz_cantseefov = 70; // half player field-of-view. Visible Z won't be spawned in front of any near playersdayz_canDelete = 300; // Z, further than this distance from its "owner", will be deleted//init global arrays for Loot Chancescall compile preprocessFileLineNumbers "\z\addons\dayz_code\init\loot_init.sqf";if(isServer) then {dayz_players = [];dead_bodyCleanup = [];needUpdate_objects = [];Server_InfectedCamps = [];//dayz_spawnCrashSite_clutterCutter=0; // helicrash spawn... 0: loot hidden in grass, 1: loot lifted, 2: no grass//dayz_spawnInfectedSite_clutterCutter=0; // infected base spawn... 0: loot hidden in grass, 1: loot lifted, 2: no grassdayz_traps = [];dayz_traps_active = [];dayz_traps_trigger = [];};if(!isDedicated) then {//Establish Location Streaming_funcGetLocation ={dayz_Locations = [];for "_i" from 0 to ((count _this) - 1) do{private ["_location","_config","_locHdr","_position","_size","_type"];//Get Location Data from config_config = (_this select _i);_position = getArray (_config >> "position");_locHdr = configName _config;_size = getNumber (_config >> "size");dayz_Locations set [count dayz_Locations, [_position,_locHdr,_size]];};};_cfgLocation = configFile >> "CfgTownGeneratorChernarus";_cfgLocation call _funcGetLocation;dayz_buildingMonitor = []; //Buildings to checkdayz_bodyMonitor = [];dayz_flyMonitor = []; //used for monitor fliesdayz_zedMonitor = [];dayz_buildingBubbleMonitor = [];dayz_baseTypes = getArray (configFile >> "CfgBuildingLoot" >> "Default" >> "zombieClass");//temperature variablesdayz_temperatur = 36; //TeeChangedayz_temperaturnormal = 36; //TeeChangedayz_temperaturmax = 42; //TeeChangedayz_temperaturmin = 27; //TeeChange//player special variablesdayZ_lastPlayerUpdate = 0;dayz_hunger = 0;dayz_thirst = 0;dayz_preloadFinished = true;dayz_statusArray = [1,1];dayz_disAudial = 0;dayz_disVisual = 0;dayz_firedCooldown = 0;dayz_damageCounter = time;dayz_lastSave = time;dayz_isSwimming = true;dayz_currentDay = 0;dayz_hasLight = false;dayz_surfaceNoise = 0;dayz_surfaceType = "None";dayz_noPenalty = [];dayz_heavenCooldown = 0;deathHandled = false;dayz_firstGroup = group player;dayz_originalPlayer = player;dayz_playerName = "Unknown";dayz_sourceBleeding = objNull;dayz_clientPreload = false;dayz_authed = false;dayz_panicCooldown = 0;dayz_areaAffect = 3.5;dayz_monitorPeriod = 0.6; // number of seconds between each player_zombieCheck callsdayz_heartBeat = false;//Current localdayz_spawnZombies = 0;dayz_swarmSpawnZombies = 0;//Max localdayz_maxLocalZombies = 30; // max quantity of Z controlled by local gameclient, used by player_spawnCheck. Below this limit we can spawn Z//Current NearBydayz_CurrentNearByZombies = 0;//Max NearBydayz_maxNearByZombies = 60; // max quantity of Z controlled by local gameclient, used by player_spawnCheck. Below this limit we can spawn Z//Current totaldayz_currentGlobalZombies = 0;//Max global zeds.dayz_maxGlobalZeds = 3000;//Animalsdayz_currentGlobalAnimals = 0;dayz_maxGlobalAnimals = 100;//Plnatsdayz_currentGlobalPlants = 0;dayz_maxGlobalPlants = 100;//Lootdayz_currentWeaponHolders = 0;dayz_maxMaxWeaponHolders = 80;dayz_inVehicle = false;dayzGearSave = false;dayz_unsaved = false;dayz_scaleLight = 0;dayzDebug = false;dayzState = -1;dayz_onBack = "";dayz_onBackActive = false;dayz_fishingInprogress = false;dayz_siphonFuelInProgress = false;dayz_salvageInProgress = false;lastSpawned = diag_tickTime;lastSepsis = 0;//uiNamespace setVariable ['DAYZ_GUI_display',displayNull];//if (uiNamespace getVariable ['DZ_displayUI', 0] == 2) then {// dayzDebug = true;//};};
- In your "compiles.sqf" find:
fnc_usec_selfActions = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_selfActions.sqf"; //Checks which actions for self
- And change that too:
fnc_usec_selfActions = compile preprocessFileLineNumbers "Custom\fn_selfActions.sqf"; //Checks which actions for self
Then make a "Custom" folder in your mission file, if you dont have one already.
After that make a "fn_selfActions.sqf" in your "Custom" folder and paste:
scriptName "Functions\misc\fn_selfActions.sqf";
/***********************************************************ADD ACTIONS FOR SELF- Function- [] call fnc_usec_selfActions;************************************************************/_vehicle = vehicle player;_inVehicle = (_vehicle != player);_cursorTarget = cursorTarget;_primaryWeapon = primaryWeapon player;_currentWeapon = currentWeapon player;_onLadder = (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1;_nearLight = nearestObject [player,"LitObject"];_canPickLight = false;if (!isNull _nearLight) then {if (_nearLight distance player < 4) then {_canPickLight = isNull (_nearLight getVariable ["owner",objNull]);};};_canDo = (!r_drag_sqf and !r_player_unconscious and !_onLadder);//Krixes Self Bloodbag_mags = magazines player;// Krixes Self Bloodbagif ("ItemBloodbag" in _mags) then {hasBagItem = true;} else { hasBagItem = false;};if((speed player <= 1) && hasBagItem && _canDo) then {if (s_player_selfBloodbag < 0) then {s_player_selfBloodbag = player addaction[("<t color="#c70000"">" + ("Self Bloodbag") +"</t>"),"\z\addons\ow_assets\actions\player_selfbloodbag.sqf","",5,false,true,"", "];};} else {player removeAction s_player_selfBloodbag;s_player_selfBloodbag = -1;};//Grab Flareif (_canPickLight and !dayz_hasLight) then {if (s_player_grabflare < 0) then {_text = getText (configFile >> "CfgAmmo" >> (typeOf _nearLight) >> "displayName");s_player_grabflare = player addAction [format[localize "str_actions_medical_15",_text], "\z\addons\dayz_code\actions\flare_pickup.sqf",_nearLight, 1, false, true, "", ""];s_player_removeflare = player addAction [format[localize "str_actions_medical_17",_text], "\z\addons\dayz_code\actions\flare_remove.sqf",_nearLight, 1, false, true, "", ""];};} else {player removeAction s_player_grabflare;player removeAction s_player_removeflare;s_player_grabflare = -1;s_player_removeflare = -1;};if (dayz_onBack != "" && !dayz_onBackActive && !_inVehicle && !_onLadder && !r_player_unconscious) then {if (s_player_equip_carry < 0) then {_text = getText (configFile >> "CfgWeapons" >> dayz_onBack >> "displayName");s_player_equip_carry = player addAction [format[localize "STR_ACTIONS_WEAPON", _text], "\z\addons\dayz_code\actions\player_switchWeapon.sqf", "action", 0.5, false, true];};} else {player removeAction s_player_equip_carry;s_player_equip_carry = -1;};//fishingif ((_currentWeapon in Dayz_fishingItems) && !dayz_fishingInprogress && !_inVehicle && !dayz_isSwimming) then {if (s_player_fishing < 0) then {s_player_fishing = player addAction [localize "STR_ACTION_CAST", "\z\addons\dayz_code\actions\player_goFishing.sqf",player, 0.5, false, true];};} else {player removeAction s_player_fishing;s_player_fishing = -1;};if ((_primaryWeapon in Dayz_fishingItems) && !dayz_fishingInprogress && (_inVehicle and (driver _vehicle != player))) then {if (s_player_fishing_veh < 0) then {s_player_fishing_veh = _vehicle addAction [localize "STR_ACTION_CAST", "\z\addons\dayz_code\actions\player_goFishing.sqf",_vehicle, 0.5, false, true];};} else {_vehicle removeAction s_player_fishing_veh;s_player_fishing_veh = -1;};if (!isNull _cursorTarget and !_inVehicle and (player distance _cursorTarget < 4)) then { //Has some kind of target_isVehicle = _cursorTarget isKindOf "AllVehicles";_isMan = _cursorTarget isKindOf "Man";_isAnimal = _cursorTarget isKindOf "Animal";_isZombie = _cursorTarget isKindOf "zZombie_base";_isDestructable = _cursorTarget isKindOf "BuiltItems";_isTent = _cursorTarget isKindOf "TentStorage";_isStash = _cursorTarget isKindOf "StashSmall";_isMediumStash = _cursorTarget isKindOf "StashMedium";_isHarvested = _cursorTarget getVariable["meatHarvested",false];_ownerID = _cursorTarget getVariable ["characterID","0"];_isVehicletype = typeOf _cursorTarget in ["ATV_US_EP1","ATV_CZ_EP1"];_isFuel = false;_hasFuel20 = "ItemJerrycan" in magazines player;_hasFuel5 = "ItemFuelcan" in magazines player;_hasFuelE20 = "ItemJerrycanEmpty" in magazines player;_hasFuelE5 = "ItemFuelcanEmpty" in magazines player;_hasKnife = "ItemKnife" in items player;_hasMatches = "ItemMatchbox" in items player;_hasToolbox = "ItemToolbox" in items player;_hasbottleitem = "ItemWaterbottle" in magazines player;_isAlive = alive _cursorTarget;_canmove = canmove _cursorTarget;_text = getText (configFile >> "CfgVehicles" >> typeOf _cursorTarget >> "displayName");_isPlant = typeOf _cursorTarget in Dayz_plants;if (_hasFuelE20 or _hasFuelE5) then {_isFuel = (_cursorTarget isKindOf "Land_Ind_TankSmall") or (_cursorTarget isKindOf "Land_fuel_tank_big") or (_cursorTarget isKindOf "Land_fuel_tank_stairs") or (_cursorTarget isKindOf "Land_wagon_tanker");};//gatherif(_isPlant and _canDo) then {if (s_player_gather < 0) then {_text = getText (configFile >> "CfgVehicles" >> typeOf _cursorTarget >> "displayName");s_player_gather = player addAction [format[localize "str_actions_gather",_text], "\z\addons\dayz_code\actions\player_gather.sqf",_cursorTarget, 1, true, true, "", ""];};} else {player removeAction s_player_gather;s_player_gather = -1;};//Allow player to delete objectsif(_isDestructable and _hasToolbox and _canDo) then {if (s_player_deleteBuild < 0) then {s_player_deleteBuild = player addAction [format[localize "str_actions_delete",_text], "\z\addons\dayz_code\actions\remove.sqf",_cursorTarget, 1, true, true, "", ""];};} else {player removeAction s_player_deleteBuild;s_player_deleteBuild = -1;};//Allow player to force saveif((_isVehicle or _isTent or _isStash or _isMediumStash) and _canDo and !_isMan and (damage _cursorTarget < 1)) then {if (s_player_forceSave < 0) then {s_player_forceSave = player addAction [format[localize "str_actions_save",_text], "\z\addons\dayz_code\actions\forcesave.sqf",_cursorTarget, 1, true, true, "", ""];};} else {player removeAction s_player_forceSave;s_player_forceSave = -1;};//flip vehicleif ((_isVehicletype) and !_canmove and _isAlive and (player distance _cursorTarget >= 2) and (count (crew _cursorTarget))== 0 and ((vectorUp _cursorTarget) select 2) < 0.5) then {if (s_player_flipveh < 0) then {s_player_flipveh = player addAction [format[localize "str_actions_flipveh",_text], "\z\addons\dayz_code\actions\player_flipvehicle.sqf",_cursorTarget, 1, true, true, "", ""];};} else {player removeAction s_player_flipveh;s_player_flipveh = -1;};//Allow player to fill Fuel canif((_hasFuelE20 or _hasFuelE5) and _isFuel and !_isZombie and !_isAnimal and !_isMan and _canDo and !a_player_jerryfilling) then {if (s_player_fillfuel < 0) then {s_player_fillfuel = player addAction [localize "str_actions_self_10", "\z\addons\dayz_code\actions\jerry_fill.sqf",[], 1, false, true, "", ""];};} else {player removeAction s_player_fillfuel;s_player_fillfuel = -1;};//Auto Refuel_gasolineras = nearestObjects[player,["Land_Ind_TankSmall","Land_fuel_tank_big","Land_fuel_tank_stairs","Land_wagon_tanker"],10];_esGasolinera=(count _gasolineras) > 0;if((dayz_myCursorTarget != cursorTarget) and _isVehicle and _esGasolinera and _canDo and !_isMan) then {_vehicle = cursorTarget;{dayz_myCursorTarget removeAction _x} forEach s_player_repairActions;s_player_repairActions = [];dayz_myCursorTarget = _vehicle;_string = "<t color='#ffff00'>Auto Refuel</t>";_handle = dayz_myCursorTarget addAction [_string, "\z\addons\ow_assets\actions\refuel_auto.sqf",[_vehicle], 0, false, true, "",""];s_player_repairActions set [count s_player_repairActions,_handle];};//Allow player to fill vehicle 20Lif(_hasFuel20 and _canDo and !_isZombie and !_isAnimal and !_isMan and _isVehicle and (fuel _cursorTarget < 1) and (damage _cursorTarget < 1)) then {if (s_player_fillfuel20 < 0) then {s_player_fillfuel20 = player addAction [format[localize "str_actions_medical_10",_text,"20"], "\z\addons\dayz_code\actions\refuel.sqf",["ItemJerrycan"], 0, true, true, "", "'ItemJerrycan' in magazines player"];};} else {player removeAction s_player_fillfuel20;s_player_fillfuel20 = -1;};//Allow player to fill vehicle 5Lif(_hasFuel5 and _canDo and !_isZombie and !_isAnimal and !_isMan and _isVehicle and (fuel _cursorTarget < 1)) then {if (s_player_fillfuel5 < 0) then {s_player_fillfuel5 = player addAction [format[localize "str_actions_medical_10",_text,"5"], "\z\addons\dayz_code\actions\refuel.sqf",["ItemFuelcan"], 0, true, true, "", "'ItemFuelcan' in magazines player"];};} else {player removeAction s_player_fillfuel5;s_player_fillfuel5 = -1;};//Allow player to spihon vehiclesif ((_hasFuelE20 or _hasFuelE5) and !_isZombie and !_isAnimal and !_isMan and _isVehicle and _canDo and !a_player_jerryfilling and (fuel _cursorTarget > 0) and (damage _cursorTarget < 1)) then {if (s_player_siphonfuel < 0) then {s_player_siphonfuel = player addAction [format[localize "str_siphon_start"], "\z\addons\dayz_code\actions\siphonFuel.sqf",_cursorTarget, 0, true, true, "", ""];};} else {player removeAction s_player_siphonfuel;s_player_siphonfuel = -1;};//Harvestedif (!alive _cursorTarget and _isAnimal and _hasKnife and !_isHarvested and _canDo) then {if (s_player_butcher < 0) then {s_player_butcher = player addAction [localize "str_actions_self_04", "\z\addons\dayz_code\actions\gather_meat.sqf",_cursorTarget, 3, true, true, "", ""];};} else {player removeAction s_player_butcher;s_player_butcher = -1;};//Fireplace Actions checkif (inflamed _cursorTarget and _canDo) then {/*{if (_x in magazines player) then {_hastinitem = true;};} forEach boil_tin_cans;_rawmeat = meatraw;_hasRawMeat = false;{if (_x in magazines player) then {_hasRawMeat = true;};} forEach _rawmeat;*/_hasRawMeat = {_x in meatraw} count magazines player > 0;_hastinitem = {_x in boil_tin_cans} count magazines player > 0;//Cook Meatif (_hasRawMeat and !a_player_cooking) then {if (s_player_cook < 0) then {s_player_cook = player addAction [localize "str_actions_self_05", "\z\addons\dayz_code\actions\cook.sqf",_cursorTarget, 3, true, true, "", ""];};};//Boil Waterif (_hastinitem and _hasbottleitem and !a_player_boil) then {if (s_player_boil < 0) then {s_player_boil = player addAction [localize "str_actions_boilwater", "\z\addons\dayz_code\actions\boil.sqf",_cursorTarget, 3, true, true, "", ""];};};} else {if (a_player_cooking) then {player removeAction s_player_cook;s_player_cook = -1;};if (a_player_boil) then {player removeAction s_player_boil;s_player_boil = -1;};};if(_cursorTarget == dayz_hasFire and _canDo) then {if ((s_player_fireout < 0) and !(inflamed _cursorTarget) and (player distance _cursorTarget < 3)) then {s_player_fireout = player addAction [localize "str_actions_self_06", "\z\addons\dayz_code\actions\fire_pack.sqf",_cursorTarget, 0, false, true, "",""];};} else {player removeAction s_player_fireout;s_player_fireout = -1;};//DANCEif (inflamed cursorTarget and _canDo) then {if (s_player_dance < 0) then {s_player_dance = player addAction ["Dance","\z\addons\ow_assets\actions\dance.sqf",cursorTarget, 0, false, true, "",""];};} else {player removeAction s_player_dance;s_player_dance = -1;};//Allow player to set tent on fireif(_isTent and _hasMatches and _canDo and !_isMan) then {if (s_player_igniteTent < 0) then {s_player_igniteTent = player addAction [format["Ignite Tent"], "\z\addons\dayz_code\actions\tent_ignite.sqf",cursorTarget, 1, true, true, "", ""];};} else {player removeAction s_player_igniteTent;s_player_igniteTent = -1;};//Packing my tentif(_cursorTarget isKindOf "TentStorage" and _canDo and _ownerID == dayz_characterID) then {if ((s_player_packtent < 0) and (player distance _cursorTarget < 3)) then {s_player_packtent = player addAction [localize "str_actions_self_07", "\z\addons\dayz_code\actions\tent_pack.sqf",_cursorTarget, 0, false, true, "",""];};} else {player removeAction s_player_packtent;s_player_packtent = -1;};//Sleepif(_cursorTarget isKindOf "TentStorage" and _canDo and _ownerID == dayz_characterID) then {if ((s_player_sleep < 0) and (player distance _cursorTarget < 3)) then {s_player_sleep = player addAction [localize "str_actions_self_sleep", "\z\addons\dayz_code\actions\player_sleep.sqf",_cursorTarget, 0, false, true, "",""];};} else {player removeAction s_player_sleep;s_player_sleep = -1;};// Remove Parts from Vehicles - By SilverShot.if( !_isMan and _canDo and _hasToolbox and (silver_myCursorTarget != cursorTarget) and cursorTarget isKindOf "AllVehicles" and (getDammage cursorTarget < 0.95) ) then {_vehicle = cursorTarget;_invalidVehicle = (_vehicle isKindOf "Motorcycle") or (_vehicle isKindOf "Tractor"); //or (_vehicle isKindOf "ATV_US_EP1") or (_vehicle isKindOf "ATV_CZ_EP1");if( !_invalidVehicle ) then {{silver_myCursorTarget removeAction _x} forEach s_player_removeActions;s_player_removeActions = [];silver_myCursorTarget = _vehicle;_hitpoints = _vehicle call vehicle_getHitpoints;{_damage = [_vehicle,_x] call object_getHit;if( _damage < 0.15 ) then {//change "HitPart" to " - Part" rather than complicated string replace_cmpt = toArray (_x);_cmpt set [0,20];_cmpt set [1,toArray ("-") select 0];_cmpt set [2,20];_cmpt = toString _cmpt;_skip = true;if( _skip and _x == "HitFuel" ) then { _skip = false; _part = "PartFueltank"; _cmpt = _cmpt + "tank"};if( _skip and _x == "HitEngine" ) then { _skip = false; _part = "PartEngine"; };if( _skip and _x == "HitLFWheel" ) then { _skip = false; _part = "PartWheel"; };if( _skip and _x == "HitRFWheel" ) then { _skip = false; _part = "PartWheel"; };if( _skip and _x == "HitLBWheel" ) then { _skip = false; _part = "PartWheel"; };if( _skip and _x == "HitRBWheel" ) then { _skip = false; _part = "PartWheel"; };if( _skip and _x == "HitGlass1" ) then { _skip = false; _part = "PartGlass"; };if( _skip and _x == "HitGlass2" ) then { _skip = false; _part = "PartGlass"; };if( _skip and _x == "HitGlass3" ) then { _skip = false; _part = "PartGlass"; };if( _skip and _x == "HitGlass4" ) then { _skip = false; _part = "PartGlass"; };if( _skip and _x == "HitGlass5" ) then { _skip = false; _part = "PartGlass"; };if( _skip and _x == "HitGlass6" ) then { _skip = false; _part = "PartGlass"; };if( _skip and _x == "HitHRotor" ) then { _skip = false; _part = "PartVRotor"; };if (!_skip ) then {_string = format["<t color='#0096ff'>Remove%1</t>",_cmpt,_color]; //Remove - Part_handle = silver_myCursorTarget addAction [_string, "\z\addons\ow_assets\actions\ss_remove.sqf",[_vehicle,_part,_x], 0, false, true, "",""];s_player_removeActions set [count s_player_removeActions,_handle];};};} forEach _hitpoints;};};//Repairing Vehiclesif ((dayz_myCursorTarget != _cursorTarget) and _isVehicle and !_isMan and _hasToolbox and (damage _cursorTarget < 1)) then {if (s_player_repair_crtl < 0) then {dayz_myCursorTarget = _cursorTarget;_menu = dayz_myCursorTarget addAction [localize "str_actions_rapairveh", "\z\addons\dayz_code\actions\repair_vehicle.sqf",_cursorTarget, 0, true, false, "",""];//_menu1 = dayz_myCursorTarget addAction [localize "str_actions_salvageveh", "\z\addons\dayz_code\actions\salvage_vehicle.sqf",_cursorTarget, 0, true, false, "",""];s_player_repairActions set [count s_player_repairActions,_menu];//s_player_repairActions set [count s_player_repairActions,_menu1];s_player_repair_crtl = 1;} else {{dayz_myCursorTarget removeAction _x} forEach s_player_repairActions;s_player_repairActions = [];s_player_repair_crtl = -1;};};if (_isMan and !_isAlive and !_isZombie and !_isAnimal) then {if (s_player_studybody < 0) then {s_player_studybody = player addAction [localize "str_action_studybody", "\z\addons\dayz_code\actions\study_body.sqf",_cursorTarget, 0, false, true, "",""];};} else {player removeAction s_player_studybody;s_player_studybody = -1;};//Remove CLOTHESif (_isMan and !_isAlive and !_isZombie and !_isAnimal) then {if (s_clothes < 0) then {s_clothes = player addAction [("<t color="#FF0000"">" + ("Take Clothes") + "</t>"), "\z\addons\ow_assets\actions\removeclothes.sqf",cursorTarget, 1, false, true, "","];};} else {player removeAction s_clothes;s_clothes = -1;};} else {//Extras//Remove Parts{silver_myCursorTarget removeAction _x} forEach s_player_removeActions;s_player_removeActions = [];silver_myCursorTarget = objNull;//Engineering{dayz_myCursorTarget removeAction _x} forEach s_player_repairActions;s_player_repairActions = [];player removeAction s_player_repair_crtl;s_player_repair_crtl = -1;dayz_myCursorTarget = objNull;//Othersplayer removeAction s_player_forceSave;s_player_forceSave = -1;player removeAction s_player_flipveh;s_player_flipveh = -1;player removeAction s_player_sleep;s_player_sleep = -1;player removeAction s_player_igniteTent;s_player_igniteTent = -1;player removeAction s_player_deleteBuild;s_player_deleteBuild = -1;player removeAction s_player_butcher;s_player_butcher = -1;player removeAction s_player_cook;s_player_cook = -1;player removeAction s_player_boil;s_player_boil = -1;player removeAction s_player_fireout;s_player_fireout = -1;player removeAction s_player_packtent;s_player_packtent = -1;player removeAction s_player_fillfuel;s_player_fillfuel = -1;player removeAction s_player_studybody;s_player_studybody = -1;//Danceplayer removeAction s_player_dance;s_player_dance = -1;//Remove CLOTHESplayer removeAction s_clothes;s_clothes = -1;//fuelplayer removeAction s_player_fillfuel20;s_player_fillfuel20 = -1;player removeAction s_player_fillfuel5;s_player_fillfuel5 = -1;//Allow player to siphon vehicle fuelplayer removeAction s_player_siphonfuel;s_player_siphonfuel = -1;//Allow player to gatherplayer removeAction s_player_gather;s_player_gather = -1;};
Your done with the "fn_selfActions.sqf"
Thats it Want me to make more tut just PM me, Need help with sever stuff? Just PM me.