-
Posts
125 -
Joined
-
Last visited
Content Type
Profiles
Forums
Articles
Posts posted by (AOW)Recon
-
-
You need to be using WAI 2.2.0 Beta for this feature. Then you need to set these :
wai_keep_vehicles = true; wai_lock_vehicles = true;
in the WAI config.sqf.
change wai_keep_vehicles = true; to false if you dont want the vehicle to save to the db
-
something like take the carrier mission from wasteland where you have to take back the aircraft back from the ai out in the ocean
hmmmm maybe the only thing ai spawn on ground so there would span under the water on the ocean floor
-
I have an idea
What about get 4 choppers to spawn say Huey's, each Huey full of troops and 2 towing GPK or something with maybe 20% fuel
With refreshing map marker and create random way point on map for destination of Huey's when Fuel hits 7% Huey's fly at 60m above Ground So Troops can parachute down when Fuel Reaches 5% Troops eject And GPK's untow to to Ground give say 4 Ai 50cals that they can setup when they reach crashed Hueys, have Some Ai get in GPK's and patrol the Huey's with the rest of Ai When The Huey's Crash. Have Another 2 Huey's spawn and do a para troop Reinforcements over crash site. you could make the Huey's that crash carry loot and when they crash eject the cargo so loot is scattered at site.
This would be a lil to much out of my zone right now but i can see it happening one day maybe :)
Another Idea
Do a intel Mission have a laptop at mission site guarded by Ai and a few 50cals Then when players have Killed Ai They scroll on Laptop and could say Scan Area and Have map markers of players show on map that are carrying Radio's in inventory within say 5000m from laptop
or Scan Area for Unlocked Vehicles have markers show on map within Area so they could go sell a few abandoned vehicles
This is a little more Realistic
And what about the Convoy Mission every wants make that would be great have like 2 GPK in front of 2 Ural's 2 GPK's at back of Ural's and a Foot patrol along both sides of the convoy make the convoy go from 1 side of map to other at walking pace with refreshing map marker until engaged then they defend and if not attacked after 5min continue on
WAI is working on that it is complicated
any type of convoy mission would be good, random start, random path and random finish (I can see players running all-round the map trying to find somewhere to hijack the convoy, only to have to move because the convoy went down a little side road hehe)
^^
another lol
What about get a big Hemp Farm to spawn 20-30 plants with Towers and Fence around have Ai Guards with 50cals as well maybe Huey Para Troop Reinforcements loot would be harvesting the extra hemp maybe have a small loot box
i could do this but hve to find plant name's
-
here i found it
_unit setSkill [(_x select 0),(_x select 1)] } count _aicskill; ai_ground_units = (ai_ground_units + 1); _unit addEventHandler ["Killed",{[_this select 0, _this select 1, "ground"] call on_kill;}]; if (!isNil "_mission") then { _ainum = (wai_mission_data select _mission) select 0; wai_mission_data select _mission set [0, (_ainum + 1)]; _unit setVariable ["missionclean", "ground"]; _unit setVariable ["mission", _mission, true]; }; }; if (!isNil "_launcher" && wai_use_launchers) then { call { //if (_launcher == "Random") exitWith { _launcher = (ai_launchers_AT + ai_launchers_AA) call BIS_fnc_selectRandom; }; if (_launcher == "at") exitWith { _launcher = ai_wep_launchers_AT call BIS_fnc_selectRandom; }; if (_launcher == "aa") exitWith { _launcher = ai_wep_launchers_AA call BIS_fnc_selectRandom; }; }; _rocket = _launcher call find_suitable_ammunition; _unit addMagazine _rocket; _unit addMagazine _rocket; _unit addWeapon _launcher; };
Just remove the // so it looks like this
_unit setSkill [(_x select 0),(_x select 1)] } count _aicskill; ai_ground_units = (ai_ground_units + 1); _unit addEventHandler ["Killed",{[_this select 0, _this select 1, "ground"] call on_kill;}]; if (!isNil "_mission") then { _ainum = (wai_mission_data select _mission) select 0; wai_mission_data select _mission set [0, (_ainum + 1)]; _unit setVariable ["missionclean", "ground"]; _unit setVariable ["mission", _mission, true]; }; }; if (!isNil "_launcher" && wai_use_launchers) then { call { if (_launcher == "Random") exitWith { _launcher = (ai_launchers_AT + ai_launchers_AA) call BIS_fnc_selectRandom; }; if (_launcher == "at") exitWith { _launcher = ai_wep_launchers_AT call BIS_fnc_selectRandom; }; if (_launcher == "aa") exitWith { _launcher = ai_wep_launchers_AA call BIS_fnc_selectRandom; }; }; _rocket = _launcher call find_suitable_ammunition; _unit addMagazine _rocket; _unit addMagazine _rocket; _unit addWeapon _launcher; };
or you can go into the mission's you and add and put this code in the ai section you can change the bandit to hero if it's a bandit mission
_num = round (random 3) + 4; [[_position select 0, _position select 1, 0],_num,"extreme",["random","at"],4,"random","bandit","random",["bandit",150],_mission] call spawn_group;
the "at" or "aa" are the RPG's
the "random" is a gun
so it's saying give him a gun aswell as a rpg
["random","at"]
-
ok only 1 ai has the RPG per Group.. also you might need to goin you anti hack and take out of banned weapons
ill see if i can get it working ok?
-
WAI Mission Add on
I Have Made This Add on Work For Overpoch and epoch
Mission's
==================================
[H]Farmer ReSupply
Large Convoy
==================================
Next Mission to make:
=====================
(WORKING ON)Sniper's Shipment
Hero's Check Point
=============
Maybe's
=====
[H]Hemp Farm (dansoe)
Going To Add (Denny's Farm),(Troop's Suppy),([H]Kill Benlate)
These Are Made By: AllenFromStacysmom
More To Come! If You Want Me To Post How To Install It and or download it say..
Do You have AnyGood Idea's About More Mission's?
HERE IT IS
iT'S NOT LIKE I REALLY WANT IT BUTTT IT WORKS IT'S BEEN TO LONG SOO HERE
-
_Benlate = [[((_position select 0) + 5), _position select 1, 4.1],1,"Extreme","Random",4,"none","TK_Aziz_EP1","Random",["Bandit",750],_mission] call spawn_group;
_Wife = [[((_position select 0) + 5), _position select 1, 4.1],1,"Extreme","Random",4,"none","TK_CIV_Woman01_EP1","Random",["Bandit",250],_mission] call spawn_group;
_Benlate_himself = (units _president) select 0;
_Benlate_himself disableAI "MOVE";also you need to change the "_president" to "_Benlate" -
ok i have an issue that i cant figure out every works just fine untill i up grade the wall or anything.. when it's rotated...
it goes back to standard position... like it's not saving.
i have reinstalled everything and dont have p4L
-
Hi, thanks for the reply.
_vector is in the private arrays at the top of both files. That's why I'm puzzled.
Everything is working fine, P4L 2.35, Precise & Vector just get these 2 errors spammed in the client rpt.
hey man witch on are you useing?
-
Did anyone ever manage to fix these 2 errors? Haven't seen a reply to previous posts about them...
Error in expression <Array = [_cancel,_reason,_position,_dir,_vector]; _passArray > Error position: <_vector]; _passArray > Error Undefined variable in expression: _vector File mpmissions\__CUR_MP.Chernarus\custom\A_Plot_for_Life\Action\player_build_controls.sqf, line 224 Error in expression <text, _isPole, _lockable,_dir, _reason, _vector] call player_build_publish; }; }> Error position: <_vector] call player_build_publish; }; }> Error Undefined variable in expression: _vector File mpmissions\__CUR_MP.Chernarus\custom\A_Plot_for_Life\Action\modular_build.sqf, line 91
Thanks
no but i think you may have to add _vector to the array on the .sqf did you merge them? hope on my ts ill see whats going on
-
dont forget you can add the side an drear gun to the mv22 as well ;)
Hmm you can? Want to hope on my ts?
-
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;
(NOTE YOU CAN MARK THE OTHER ONE OUT)//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;Your done with the "compiles.sqf"How to make a Custom "variables.sqf"- 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.1Then 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;//};};Your done with the "variables.sqf"How to make a "fn_selfActions.sqf"- 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.
-
ahh ok well do there's only one thing thoe... i need to slow all of them down
-
Sorry man i had it almost done then i hit the back butten on my mouse and had to restart it was late i was sleepy ill fix it when i get back
-
AND `Object_DATA`.`Datestamp` < now() - INTERVAL 3 DAY This makes it so you have to wait a minimum of 3 days since the last maintenance or from placing the object before maintaining will work. This value can be adjusted/removed as preferred.
ON COMPLETION NOT PRESERVE ENABLE just makes it so the sql event doesn't expire and get dropped after completing the first time and will allow it to be a repeating event.
CLOCWORK IS A NOOB :P and yes allen cloc is right :)
-
I installed the same as your link [Alpha Release] Single Currency 3.0 & Storage DEFAULT HIVE ( No global banking).
I had a problem with the safe not saving the coins but I just fixed that buy replacing the lock vault and unlock vault with Zupa's files. I already have those file in my Vector so its working perfectly, everything is saving.
I could use some help from you if you don't mind I know Zupa is pretty busy.
Thanks
join my ts
-
Well I installed the script and trade, backpack, vehicle.... works fine BUT when I go to my trader building/parts it only show up the building supplies not the toolbelt and vehicle parts, the menu are empty this is for stary and klen BUT odd I got it working at Bash, any Idea? Also I got the advanced menu + the trader menu is it supposed to be like that?
Thanks for help
that's becuz you have to install zupa coin i recommend zupa coin 3.0 if you need help with ill help you
-
http://epochmod.com/forum/index.php?/topic/28493-alpha-release-single-currency-30-storage-default-hive-no-global-banking/
All arma 2 projects are on hold. Currently too busy with arma 3 servers and some private projects and my job and my social life ^^ u gotta keep the girls happy.
IF someone expererienced is interested in continue dev on any of my projects, feel free to contact me.
Merge request on the git is also welcome.
ill be Happy to help you man im not the best but i not the worst ik what thing goto what and how they work
-
Is there a non single currency version still coming Zupa?
no but you can make it so
-
Is it still so that when you have packed your MV you can start the engine again and fly with a folded MV?
it unfold's when you start it
-
fix i fergot to add
UH1Y_pack = compile preprocessFileLineNumbers "\ca\air2\UH1Y\scripts\fold.sqf";
-
Not meaning to look a gift horse in the mouth mate, but is there anyway to make their current state (folded/unfolded) persist through server restart?
hmm i dont think soo but you might be able to but your going to just alot of changing the way they spawn in
ill look in to it if i have time
-
i have fix this lol
it's not hard
there are more then 3 way's to dupe
hardest one to fix when they log
-
Thnx Vampire for your reply, it only happens with mk17 mags and as50, every other gun is fine, the code hasnt been changed here and is the same to that posted above, no rpt errors as far as i can see, removed those weapons from Ai config until i find out the problem
do you have infastar?
that might be your problem look there
and are you useing dzms?
WAI Help
in Scripting
Posted
i cant get the weapons to spawn in mission creates