-
Posts
18 -
Joined
-
Last visited
Content Type
Profiles
Forums
Articles
Posts posted by Overlord
-
-
Anyone know how to set the check for plotfriends on the plotpole check?
private ["_plotReq","_proceed","_location","_dir","_classname","_item","_hasrequireditem","_missing","_hastoolweapon","_cancel","_reason","_started","_finished","_animState","_isMedic","_dis","_sfx","_hasbuilditem","_tmpbuilt","_onLadder","_isWater","_require","_text","_offset","_IsNearPlot","_isOk","_location1","_location2","_counter","_limit","_proceed","_num_removed","_position","_object","_canBuildOnPlot","_friendlies","_nearestPole","_ownerID","_findNearestPoles","_findNearestPole","_distance","_classnametmp","_ghost","_isPole","_needText","_lockable","_zheightchanged","_rotate","_combination_1","_combination_2","_combination_3","_combination_4","_combination","_combination_1_Display","_combinationDisplay","_zheightdirection","_abort","_isNear","_need","_needNear","_vehicle","_inVehicle","_requireplot","_objHDiff","_isLandFireDZ","_isTankTrap","_itemgemsspawn"];
_plotReq = false; //Plotpole requirement to build enabled
fnc_Pos_fired1 = {
disableSerialization;
_indexPic = lbCurSel 2667; // index of selection
_returnTextPic = lbText [2667, _indexPic]; // name of selection
hint format["BAR : [%1] \n [%2]",_indexPic,_returnTextPic];// display the value
classnameChange = _returnTextPic;
itemgems = "ItemObsidian"; // change made here to say what gem is use to pay
};
fnc_Pos_fired2 = {
disableSerialization;
_indexChair = lbCurSel 2668; // index of selection
_returnTextChair = lbText [2668, _indexChair]; // name of selection
hint format["BAR : [%1] \n [%2]",_indexChair,_returnTextChair];// display the value
classnameChange = _returnTextChair;
itemgems = "ItemSapphire"; // change made here to say what gem is use to pay
};
fnc_Pos_fired3 = {
disableSerialization;
_indexBed = lbCurSel 2669; // index of selection
_returnTextBed = lbText [2669, _indexBed]; // name of selection
hint format["BAR : [%1] \n [%2]",_indexBed,_returnTextBed];// display the value
classnameChange = _returnTextBed;
itemgems = "ItemCitrine"; // change made here to say what gem is use to pay
};
fnc_Pos_fired4 = {
disableSerialization;
_indexBath = lbCurSel 2670; // index of selection
_returnTextBath = lbText [2670, _indexBath]; // name of selection
hint format["BAR : [%1] \n [%2]",_indexBath,_returnTextBath];// display the value
classnameChange = _returnTextBath;
itemgems = "ItemTopaz"; // change made here to say what gem is use to pay
};
fnc_Pos_fired5 = {
disableSerialization;
_indexShelf = lbCurSel 2671; // index of selection
_returnTextShelf = lbText [2671, _indexShelf]; // name of selection
hint format["BAR : [%1] \n [%2]",_indexShelf,_returnTextShelf];// display the value
classnameChange = _returnTextShelf;
itemgems = "ItemAmethyst"; // change made here to say what gem is use to pay
};
fnc_Pos_fired6 = {
disableSerialization;
_indexMisc = lbCurSel 2672; // index of selection
_returnTextMisc = lbText [2672, _indexMisc]; // name of selection
hint format["BAR : [%1] \n [%2]",_indexMisc,_returnTextMisc];// display the value
classnameChange = _returnTextMisc;
itemgems = "ItemObsidian"; // change made here to say what gem is use to pay
};
fnc_Pos_fired7 = {
disableSerialization;
_indexTable = lbCurSel 2673; // index of selection
_returnTextTable = lbText [2673, _indexTable]; // name of selection
hint format["BAR : [%1] \n [%2]",_indexTable,_returnTextTable];// display the value
classnameChange = _returnTextTable;
itemgems = "ItemRuby"; // change made here to say what gem is use to pay
};
fnc_Pos_fired8 = {
disableSerialization;
_indexExt = lbCurSel 2674; // index of selection
_returnTextExt = lbText [2674, _indexExt]; // name of selection
hint format["BAR : [%1] \n [%2]",_indexExt,_returnTextExt];// display the value
classnameChange = _returnTextExt;
itemgems = "ItemEmerald"; // change made here to say what gem is use to pay
};_itemgemsspawn = itemgems; // _itemgemsspawn define in private on top
_classname = classnameChange;if(DZE_ActionInProgress) exitWith { cutText [(localize "str_epoch_player_40") , "PLAIN DOWN"]; };
DZE_ActionInProgress = true;
_onLadder = (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1;
_isWater = dayz_isSwimming;
_cancel = false;
_reason = "";
_canBuildOnPlot = false;
_vehicle = vehicle player;
_inVehicle = (_vehicle != player);
DZE_Q = false;
DZE_Z = false;
DZE_Q_alt = false;
DZE_Z_alt = false;
DZE_Q_ctrl = false;
DZE_Z_ctrl = false;
DZE_5 = false;
DZE_4 = false;
DZE_6 = false;
DZE_cancelBuilding = false;
call gear_ui_init;
closeDialog 1;
if (_isWater) exitWith {DZE_ActionInProgress = false; cutText [localize "str_player_26", "PLAIN DOWN"];};
if (_inVehicle) exitWith {DZE_ActionInProgress = false; cutText [(localize "str_epoch_player_42"), "PLAIN DOWN"];};
if (_onLadder) exitWith {DZE_ActionInProgress = false; cutText [localize "str_player_21", "PLAIN DOWN"];};
if (player getVariable["combattimeout", 0] >= time) exitWith {DZE_ActionInProgress = false; cutText [(localize "str_epoch_player_43"), "PLAIN DOWN"];};
_item = _this;
// Need Near Requirements
_abort = false;
_distance = 3;
_reason = "";
if(_abort) exitWith {
cutText [format[(localize "str_epoch_player_135"),_reason,_distance], "PLAIN DOWN"];
DZE_ActionInProgress = false;
};
_classnametmp = _classname;
//_require = getArray (configFile >> "cfgMagazines" >> _this >> "ItemActions" >> "Build" >> "require");
_text = getText (configFile >> "CfgVehicles" >> _classname >> "displayName");
_ghost = getText (configFile >> "CfgVehicles" >> _classname >> "ghostpreview");
_lockable = 0;
_requireplot = DZE_requireplot;
if(isNumber (configFile >> "CfgVehicles" >> _classname >> "requireplot")) then {
_requireplot = getNumber(configFile >> "CfgVehicles" >> _classname >> "requireplot");
};
_isAllowedUnderGround = 1;
if(isNumber (configFile >> "CfgVehicles" >> _classname >> "nounderground")) then {
_isAllowedUnderGround = getNumber(configFile >> "CfgVehicles" >> _classname >> "nounderground");
};
_offset = getArray (configFile >> "CfgVehicles" >> _classname >> "offset");
if((count _offset) <= 0) then {
_offset = [0,3.5,0]; //This is distance of object from player XYZ.. increase Y if you want an object to spawn further away from player
};
_isPole = (_classname == "Plastic_Pole_EP1_DZ");
_isLandFireDZ = (_classname == "Land_Fire_DZ");
_distance = DZE_PlotPole select 0;
_needText = localize "str_epoch_player_246";
if(_isPole) then {
_distance = DZE_PlotPole select 1;
};
_proceed = true;
// check for near plot
_findNearestPoles = nearestObjects[player, ["Plastic_Pole_EP1_DZ"], 30];
_findNearestPole = [];
{if (alive _x) then {_findNearestPole set [(count _findNearestPole),_x];};} foreach _findNearestPoles;_IsNearPlot = count (_findNearestPole);
if(_IsNearPlot >= 1) then {
_proceed = false;
_plotReq = false;
_nearestPole = _findNearestPole select 0;// Find owner
_ownerID = _nearestPole getVariable["CharacterID","0"];
// check if friendly to owner
if(dayz_characterID != _ownerID) then {_friendlies = player getVariable ["friendlyTo",[]];
// check if friendly to owner
if(!(_ownerID in _friendlies)) then {
_proceed = false;
} else {
_proceed = true;
};
} else {
_proceed = true;
};
};
_missing = "";
_location = [0,0,0];
_isOk = true;
// get inital players position
_location1 = getPosATL player;
_dir = getDir player;
_object = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"];
_object attachTo [player,_offset];
_position = getPosATL _object;
cutText [(localize "str_epoch_player_45"), "PLAIN DOWN"];
_objHDiff = 0;
while {_isOk} do {
_zheightchanged = false;
_zheightdirection = "";
_rotate = false;
if (DZE_Q) then {
DZE_Q = false;
_zheightdirection = "up";
_zheightchanged = true;
};
if (DZE_Z) then {
DZE_Z = false;
_zheightdirection = "down";
_zheightchanged = true;
};
if (DZE_Q_alt) then {
DZE_Q_alt = false;
_zheightdirection = "up_alt";
_zheightchanged = true;
};
if (DZE_Z_alt) then {
DZE_Z_alt = false;
_zheightdirection = "down_alt";
_zheightchanged = true;
};
if (DZE_Q_ctrl) then {
DZE_Q_ctrl = false;
_zheightdirection = "up_ctrl";
_zheightchanged = true;
};
if (DZE_Z_ctrl) then {
DZE_Z_ctrl = false;
_zheightdirection = "down_ctrl";
_zheightchanged = true;
};
if (DZE_4) then {
_rotate = true;
DZE_4 = false;
_dir = 180;
};
if (DZE_6) then {
_rotate = true;
DZE_6 = false;
_dir = 0;
};
if(_rotate) then {
_object setDir _dir;
_object setPosATL _position;
//diag_log format["DEBUG Rotate BUILDING POS: %1", _position];
};
if(_zheightchanged) then {
detach _object;
_position = getPosATL _object;
if(_zheightdirection == "up") then {
_position set [2,((_position select 2)+0.1)];
_objHDiff = _objHDiff + 0.1;
};
if(_zheightdirection == "down") then {
_position set [2,((_position select 2)-0.1)];
_objHDiff = _objHDiff - 0.1;
};
if(_zheightdirection == "up_alt") then {
_position set [2,((_position select 2)+1)];
_objHDiff = _objHDiff + 1;
};
if(_zheightdirection == "down_alt") then {
_position set [2,((_position select 2)-1)];
_objHDiff = _objHDiff - 1;
};
if(_zheightdirection == "up_ctrl") then {
_position set [2,((_position select 2)+0.01)];
_objHDiff = _objHDiff + 0.01;
};
if(_zheightdirection == "down_ctrl") then {
_position set [2,((_position select 2)-0.01)];
_objHDiff = _objHDiff - 0.01;
};
_object setDir (getDir _object);
if((_isAllowedUnderGround == 0) and ((_position select 2) < 0)) then {
_position set [2,0];
};
_object setPosATL _position;
//diag_log format["DEBUG Change BUILDING POS: %1", _position];
_object attachTo [player];
};
sleep 0.5;
_location2 = getPosATL player;
if(DZE_5) exitWith {
_isOk = false;
detach _object;
_dir = getDir _object;
_position = getPosATL _object;
//diag_log format["DEBUG BUILDING POS: %1", _position];
deleteVehicle _object;
};
if(_location1 distance _location2 > 5) exitWith {
_isOk = false;
_cancel = true;
_reason = "You've moved to far away from where you started building (within 5 meters)";
detach _object;
deleteVehicle _object;
};
if(abs(_objHDiff) > 5) exitWith {
_isOk = false;
_cancel = true;
_reason = "Cannot move up or down more than 5 meters";
detach _object;
deleteVehicle _object;
};
if (player getVariable["combattimeout", 0] >= time) exitWith {
_isOk = false;
_cancel = true;
_reason = (localize "str_epoch_player_43");
detach _object;
deleteVehicle _object;
};
if (DZE_cancelBuilding) exitWith {
_isOk = false;
_cancel = true;
_reason = "Cancelled building.";
detach _object;
deleteVehicle _object;
};
};
//No building on roads unless toggled
if (!DZE_BuildOnRoads) then {
if (isOnRoad _position) then { _cancel = true; _reason = "Cannot build on a road."; };
};
// No building in trader zones
if(!canbuild) then { _cancel = true; _reason = "Cannot build in a city."; };
if (!_proceed) then {_cancel = true; _reason = "Someone's plotpole nearby";};
if (_plotReq) then {_cancel = true; _reason = "Plotpole required to build here";};if(!_cancel) then {
_classname = _classnametmp;
// Start Build
_tmpbuilt = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"];
_tmpbuilt setdir _dir;
// Get position based on object
_location = _position;
if((_isAllowedUnderGround == 0) and ((_location select 2) < 0)) then {
_location set [2,0];
};
_tmpbuilt setPosATL _location;
cutText [format[(localize "str_epoch_player_138"),_text], "PLAIN DOWN"];
_limit = 1;
if (DZE_StaticConstructionCount > 0) then {
_limit = DZE_StaticConstructionCount;
}
else {
if (isNumber (configFile >> "CfgVehicles" >> _classname >> "constructioncount")) then {
_limit = getNumber(configFile >> "CfgVehicles" >> _classname >> "constructioncount");
};
};
player playActionNow "Medic";
[player,"repair",0,false,10] call dayz_zombieSpeak;
[player,10,true,(getPosATL player)] spawn player_alertZombies;
sleep 3;
cutText [format[localize "str_build_01",_text], "PLAIN DOWN"];
if (_isPole) then {
[] spawn player_plotPreview;
};
_tmpbuilt setVariable ["OEMPos",_location,true];
_tmpbuilt setVariable ["CharacterID",dayz_characterID,true];
_charID = dayz_characterID;
_activatingPlayer = player;
PVDZE_obj_Publish = [dayz_characterID,_tmpbuilt,[_dir,_location],_classname];
publicVariableServer "PVDZE_obj_Publish";// I know the code is prehaps not very good but that work
// Test to see if the gem to pay is in inventory else we try to pay with the superior
_removed=0;
while {_removed == 0} do {
_removed = ([player,_itemgemsspawn,1] call BIS_fnc_invRemove);
if((_itempierre == "ItemRuby") and (_removed == 0)) then {
_itempierre = "ItemEmerald";
};
if((_itempierre == "ItemSapphire") and (_removed == 0)) then {
_itempierre = "ItemRuby";
};
if((_itempierre == "ItemAmethyst") and (_removed == 0)) then {
_itempierre = "ItemSapphire";
};
if((_itempierre == "ItemCitrine") and (_removed == 0)) then {
_itempierre = "ItemAmethyst";
};
if((_itempierre == "ItemTopaz") and (_removed == 0)) then {
_itempierre = "ItemCitrine";
};
if((_itempierre == "ItemObsidian") and (_removed == 0)) then {
_itempierre = "ItemTopaz";
};
};// just change text for on screen
if(_itemgemsspawn == "ItemObsidian") then {
_itemgemsspawn = "Obsidian";
};
if(_itemgemsspawn == "ItemTopaz") then {
_itemgemsspawn = "Topaz";
};
if(_itemgemsspawn == "ItemCitrine") then {
_itemgemsspawn = "Citrine";
};
if(_itemgemsspawn == "ItemAmethyst") then {
_itemgemsspawn = "Amethyst";
};
if(_itemgemsspawn == "ItemSapphire") then {
_itemgemsspawn = "Sapphire";
};
if(_itemgemsspawn == "ItemRuby") then {
_itemgemsspawn = "Ruby";
};
if(_itemgemsspawn == "ItemEmerald") then {
_itemgemsspawn = "Emerald";
};cutText [format["%1 saved to database ! %2 delete from inventory !",_classname,_itemgemsspawn], "PLAIN DOWN",3];
player reveal _tmpbuilt;
DZE_ActionInProgress = false;
} else {
cutText [format[(localize "str_epoch_player_47"),_text,_reason], "PLAIN DOWN"];
DZE_ActionInProgress = false;
};
DZE_ActionInProgress = false; -
Sounds like an Antihack Problem to me. Do you use Infistar or similar 3rd Party AH Software? If so you need to whitelist the selfaction functions (s_player_garage) and the dialog function (50003,50004) in the AHconfig.sqf, I would guess.
Thanks Copper. I thought i had those added.
-
I have Plot Management, Door Management, and 0verheat vehicle garage installed without plot 4 life. Everything works perfectly for me but other players report the garage menu showing then disappearing when trying to access it. I don't know if it is an admin thing or not. Does anyone know what would cause the menu to show then disappear for normal players?
-
Everything is working great for me except i do not get money storage option on vehicles or storage items. Can anyone see the problem in my fn_selfactions?
scriptName "Functions\misc\fn_selfActions.sqf";
/***********************************************************
ADD ACTIONS FOR SELF
- Function
- [] call fnc_usec_selfActions;
************************************************************/
private ["_isWreckBuilding","_temp_keys","_magazinesPlayer","_isPZombie","_vehicle","_inVehicle","_hasFuelE","_hasRawMeat","_hasKnife","_hasToolbox","_onLadder","_nearLight","_canPickLight","_canDo","_text","_isHarvested","_isVehicle","_isVehicletype","_isMan","_traderType","_ownerID","_isAnimal","_isDog","_isZombie","_isDestructable","_isTent","_isFuel","_isAlive","_Unlock","_lock","_buy","_dogHandle","_lieDown","_warn","_hastinitem","_allowedDistance","_menu","_menu1","_humanity_logic","_low_high","_cancel","_metals_trader","_traderMenu","_isWreck","_isRemovable","_isDisallowRepair","_rawmeat","_humanity","_speed","_dog","_hasbottleitem","_isAir","_isShip","_playersNear","_findNearestGens","_findNearestGen","_IsNearRunningGen","_cursorTarget","_isnewstorage","_itemsPlayer","_ownerKeyId","_typeOfCursorTarget","_hasKey","_oldOwner","_combi","_key_colors","_player_deleteBuild","_player_flipveh","_player_lockUnlock_crtl","_player_butcher","_player_studybody","_player_cook","_player_boil","_hasFuelBarrelE","_hasHotwireKit","_player_SurrenderedGear","_isSurrendered","_isModular","_isModularDoor","_ownerKeyName","_temp_keys_names","_hasAttached","_allowTow","_liftHeli","_found","_posL","_posC","_height","_liftHelis","_attached"];
if (DZE_ActionInProgress) exitWith {}; // Do not allow if any script is running.
_vehicle = vehicle player;
_isPZombie = player isKindOf "PZombie_VB";
_inVehicle = (_vehicle != player);
_onLadder = (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1;
_canDo = (!r_drag_sqf && !r_player_unconscious && !_onLadder);
_nearLight = nearestObject [player,"LitObject"];
_canPickLight = false;
if (!isNull _nearLight) then {
if (_nearLight distance player < 4) then {
_canPickLight = isNull (_nearLight getVariable ["owner",objNull]);
};
};
//Grab Flare
if (_canPickLight && !dayz_hasLight && !_isPZombie) 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 (DZE_HeliLift) then {
_hasAttached = _vehicle getVariable["hasAttached",false];
if(_inVehicle && (_vehicle isKindOf "Air") && ((([_vehicle] call FNC_getPos) select 2) < 30) && (speed _vehicle < 5) && (typeName _hasAttached == "OBJECT")) then {
if (s_player_heli_detach < 0) then {
dayz_myLiftVehicle = _vehicle;
s_player_heli_detach = dayz_myLiftVehicle addAction ["Detach Vehicle","\z\addons\dayz_code\actions\player_heliDetach.sqf",[dayz_myLiftVehicle,_hasAttached],2,false,true,"",""];
};
} else {
dayz_myLiftVehicle removeAction s_player_heli_detach;
s_player_heli_detach = -1;
};
};
if(DZE_HaloJump) then {
if(_inVehicle && (_vehicle isKindOf "Air") && ((([_vehicle] call FNC_getPos) select 2) > 400)) then {
if (s_halo_action < 0) then {
DZE_myHaloVehicle = _vehicle;
s_halo_action = DZE_myHaloVehicle addAction [localize "STR_EPOCH_ACTIONS_HALO","\z\addons\dayz_code\actions\halo_jump.sqf",[],2,false,true,"",""];
};
} else {
DZE_myHaloVehicle removeAction s_halo_action;
s_halo_action = -1;
};
};
if (!DZE_ForceNameTagsOff) then {
if (s_player_showname < 0 && !_isPZombie) then {
if (DZE_ForceNameTags) then {
s_player_showname = 1;
player setVariable["DZE_display_name",true,true];
} else {
s_player_showname = player addAction [localize "STR_EPOCH_ACTIONS_NAMEYES", "\z\addons\dayz_code\actions\display_name.sqf",true, 0, true, false, "",""];
s_player_showname1 = player addAction [localize "STR_EPOCH_ACTIONS_NAMENO", "\z\addons\dayz_code\actions\display_name.sqf",false, 0, true, false, "",""];
};
};
};
if(_isPZombie) then {
if (s_player_callzombies < 0) then {
s_player_callzombies = player addAction [localize "STR_EPOCH_ACTIONS_RAISEHORDE", "\z\addons\dayz_code\actions\call_zombies.sqf",player, 5, true, false, "",""];
};
if (DZE_PZATTACK) then {
call pz_attack;
DZE_PZATTACK = false;
};
if (s_player_pzombiesvision < 0) then {
s_player_pzombiesvision = player addAction [localize "STR_EPOCH_ACTIONS_NIGHTVIS", "\z\addons\dayz_code\actions\pzombie\pz_vision.sqf", [], 4, false, true, "nightVision", "_this == _target"];
};
if (!isNull cursorTarget && (player distance cursorTarget < 3)) then { //Has some kind of target
_isAnimal = cursorTarget isKindOf "Animal";
_isZombie = cursorTarget isKindOf "zZombie_base";
_isHarvested = cursorTarget getVariable["meatHarvested",false];
_isMan = cursorTarget isKindOf "Man";
// Pzombie Gut human corpse || animal
if (!alive cursorTarget && (_isAnimal || _isMan) && !_isZombie && !_isHarvested) then {
if (s_player_pzombiesfeed < 0) then {
s_player_pzombiesfeed = player addAction [localize "STR_EPOCH_ACTIONS_FEED", "\z\addons\dayz_code\actions\pzombie\pz_feed.sqf",cursorTarget, 3, true, false, "",""];
};
} else {
player removeAction s_player_pzombiesfeed;
s_player_pzombiesfeed = -1;
};
} else {
player removeAction s_player_pzombiesfeed;
s_player_pzombiesfeed = -1;
};
};
// Bank Robbery
_bankrobbery = cursorTarget isKindOf "Notebook";
if ((speed player <= 1) && _bankrobbery && (player distance cursorTarget < 5)) then {
if (s_player_bankrob < 0) then {
s_player_bankrob = player addAction ["Rob the bank","rob\robbank.sqf",cursorTarget, 0, false, true, "",""];
};
} else {
player removeAction s_player_bankrob;
s_player_bankrob = -1;
};
// Bank Robbery END
// Increase distance only if AIR || SHIP
_allowedDistance = 4;
_isAir = cursorTarget isKindOf "Air";
_isShip = cursorTarget isKindOf "Ship";
if(_isAir || _isShip) then {
_allowedDistance = 8;
};
if (!isNull cursorTarget && !_inVehicle && !_isPZombie && (player distance cursorTarget < _allowedDistance) && _canDo) then { //Has some kind of target
// set cursortarget to variable
_cursorTarget = cursorTarget;
// get typeof cursortarget once
_typeOfCursorTarget = typeOf _cursorTarget;
// hintsilent _typeOfCursorTarget;
_isVehicle = _cursorTarget isKindOf "AllVehicles";
_isVehicletype = _typeOfCursorTarget in ["ATV_US_EP1","ATV_CZ_EP1"];
_isnewstorage = _typeOfCursorTarget in DZE_isNewStorage;
// get items && magazines only once
_magazinesPlayer = magazines player;
//boiled Water
_hasbottleitem = "ItemWaterbottle" in _magazinesPlayer;
_hastinitem = false;
{
if (_x in _magazinesPlayer) then {
_hastinitem = true;
};
} count boil_tin_cans;
_hasFuelE = "ItemJerrycanEmpty" in _magazinesPlayer;
_hasFuelBarrelE = "ItemFuelBarrelEmpty" in _magazinesPlayer;
_hasHotwireKit = "ItemHotwireKit" in _magazinesPlayer;
_itemsPlayer = items player;
_temp_keys = [];
_temp_keys_names = [];
// find available keys
_key_colors = ["ItemKeyYellow","ItemKeyBlue","ItemKeyRed","ItemKeyGreen","ItemKeyBlack"];
{
if (configName(inheritsFrom(configFile >> "CfgWeapons" >> _x)) in _key_colors) then {
_ownerKeyId = getNumber(configFile >> "CfgWeapons" >> _x >> "keyid");
_ownerKeyName = getText(configFile >> "CfgWeapons" >> _x >> "displayName");
_temp_keys_names set [_ownerKeyId,_ownerKeyName];
_temp_keys set [count _temp_keys,str(_ownerKeyId)];
};
} count _itemsPlayer;
_hasKnife = "ItemKnife" in _itemsPlayer;
_hasToolbox = "ItemToolbox" in _itemsPlayer;
_isMan = _cursorTarget isKindOf "Man";
_traderType = _typeOfCursorTarget;
_ownerID = _cursorTarget getVariable ["CharacterID","0"];
_isAnimal = _cursorTarget isKindOf "Animal";
_isDog = (_cursorTarget isKindOf "DZ_Pastor" || _cursorTarget isKindOf "DZ_Fin");
_isZombie = _cursorTarget isKindOf "zZombie_base";
_isDestructable = _cursorTarget isKindOf "BuiltItems";
_isWreck = _typeOfCursorTarget in DZE_isWreck;
_isWreckBuilding = _typeOfCursorTarget in DZE_isWreckBuilding;
_isModular = _cursorTarget isKindOf "ModularItems";
_isModularDoor = _typeOfCursorTarget in ["Land_DZE_WoodDoor","Land_DZE_LargeWoodDoor","Land_DZE_GarageWoodDoor","CinderWallDoor_DZ","CinderWallDoorSmall_DZ"];
_isRemovable = _typeOfCursorTarget in DZE_isRemovable;
_isDisallowRepair = _typeOfCursorTarget in ["M240Nest_DZ"];
_isTent = _cursorTarget isKindOf "TentStorage";
_isAlive = alive _cursorTarget;
_text = getText (configFile >> "CfgVehicles" >> _typeOfCursorTarget >> "displayName");
_rawmeat = meatraw;
_hasRawMeat = false;
{
if (_x in _magazinesPlayer) then {
_hasRawMeat = true;
};
} count _rawmeat;
_isFuel = false;
if (_hasFuelE || _hasFuelBarrelE) then {
{
if(_cursorTarget isKindOf _x) exitWith {_isFuel = true;};
} count dayz_fuelsources;
};
// diag_log ("OWNERID = " + _ownerID + " CHARID = " + dayz_characterID + " " + str(_ownerID == dayz_characterID));
// logic vars
_player_flipveh = false;
_player_deleteBuild = false;
_player_lockUnlock_crtl = false;
/*if (_canDo && (speed player <= 1) && (_cursorTarget isKindOf "Plastic_Pole_EP1_DZ")) then {
if (s_player_maintain_area < 0) then {
s_player_maintain_area = player addAction [format["<t color=#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_MAINTAREA], "actions\maintain_area.sqf", "maintain", 5, false];
s_player_maintain_area_preview = player addAction [format["<t color=#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_MAINTPREV], "actions\maintain_area.sqf", "preview", 5, false];
};
} else {
player removeAction s_player_maintain_area;
s_player_maintain_area = -1;
player removeAction s_player_maintain_area_preview;
s_player_maintain_area_preview = -1;
};*/
// CURSOR TARGET ALIVE
if(_isAlive) then {
//Allow player to delete objects
if(_isDestructable || _isWreck || _isRemovable || _isWreckBuilding) then {
if(_hasToolbox && "ItemCrowbar" in _itemsPlayer) then {
_player_deleteBuild = true;
};
};
//Allow owners to delete modulars
if(_isModular && (dayz_characterID == _ownerID)) then {
if(_hasToolbox && "ItemCrowbar" in _itemsPlayer) then {
_player_deleteBuild = true;
};
};
//Allow owners to delete modular doors without locks
if(_isModularDoor && (dayz_characterID == _ownerID)) then {
if(_hasToolbox && "ItemCrowbar" in _itemsPlayer) then {
_player_deleteBuild = true;
};
};
// CURSOR TARGET VEHICLE
if(_isVehicle) then {
//flip vehicle small vehicles by your self && all other vehicles with help nearby
if (!(canmove _cursorTarget) && (player distance _cursorTarget >= 2) && (count (crew _cursorTarget))== 0 && ((vectorUp _cursorTarget) select 2) < 0.5) then {
_playersNear = {isPlayer _x} count (player nearEntities ["CAManBase", 6]);
if(_isVehicletype || (_playersNear >= 2)) then {
_player_flipveh = true;
};
};
if(!_isMan && _ownerID != "0" && !(_cursorTarget isKindOf "Bicycle")) then {
_player_lockUnlock_crtl = true;
};
};
};
if(_player_deleteBuild) 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;
};
if (DZE_HeliLift) then {
_liftHeli = objNull;
_found = false;
_allowTow = false;
if ((count (crew _cursorTarget)) == 0) then {
{
if(!_allowTow) then {
_allowTow = _cursorTarget isKindOf _x;
};
} count DZE_HeliAllowToTow;
};
//diag_log format["CREW: %1 ALLOW: %2",(count (crew _cursorTarget)),_allowTow];
if (_allowTow) then {
_liftHelis = nearestObjects [player, DZE_HeliAllowTowFrom, 15];
{
if(!_found) then {
_posL = [_x] call FNC_getPos;
_posC = [_cursorTarget] call FNC_getPos;
_height = (_posL select 2) - (_posC select 2);
_hasAttached = _x getVariable["hasAttached",false];
if(_height < 15 && _height > 5 && (typeName _hasAttached != "OBJECT")) then {
if(((abs((_posL select 0) - (_posC select 0))) < 10) && ((abs((_posL select 1) - (_posC select 1))) < 10)) then {
_liftHeli = _x;
_found = true;
};
};
};
} count _liftHelis;
};
//diag_log format["HELI: %1 TARGET: %2",_found,_cursorTarget];
_attached = _cursorTarget getVariable["attached",false];
if(_found && _allowTow && _canDo && !locked _cursorTarget && !_isPZombie && (typeName _attached != "OBJECT")) then {
if (s_player_heli_lift < 0) then {
s_player_heli_lift = player addAction ["Attach to Heli", "\z\addons\dayz_code\actions\player_heliLift.sqf",[_liftHeli,_cursorTarget], -10, false, true, "",""];
};
} else {
player removeAction s_player_heli_lift;
s_player_heli_lift = -1;
};
};
// Allow Owner to lock && unlock vehicle
if(_player_lockUnlock_crtl) then {
if (s_player_lockUnlock_crtl < 0) then {
_hasKey = _ownerID in _temp_keys;
_oldOwner = (_ownerID == dayz_playerUID);
if(locked _cursorTarget) then {
if(_hasKey || _oldOwner) then {
_Unlock = player addAction [format[localize "STR_EPOCH_ACTIONS_UNLOCK",_text], "\z\addons\dayz_code\actions\unlock_veh.sqf",[_cursorTarget,(_temp_keys_names select (parseNumber _ownerID))], 2, true, true, "", ""];
s_player_lockunlock set [count s_player_lockunlock,_Unlock];
s_player_lockUnlock_crtl = 1;
} else {
if(_hasHotwireKit) then {
_Unlock = player addAction [format[localize "STR_EPOCH_ACTIONS_HOTWIRE",_text], "\z\addons\dayz_code\actions\hotwire_veh.sqf",_cursorTarget, 2, true, true, "", ""];
} else {
_Unlock = player addAction [format["<t color=#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_VEHLOCKED], "",_cursorTarget, 2, true, true, "", ""];
};
s_player_lockunlock set [count s_player_lockunlock,_Unlock];
s_player_lockUnlock_crtl = 1;
};
} else {
if(_hasKey || _oldOwner) then {
_lock = player addAction [format[localize "STR_EPOCH_ACTIONS_LOCK",_text], "\z\addons\dayz_code\actions\lock_veh.sqf",_cursorTarget, 1, true, true, "", ""];
s_player_lockunlock set [count s_player_lockunlock,_lock];
if (_typeOfCursorTarget in ColourVehicles) then {
private ["_paint"];
_paint = player addAction ["<t color=#0059FF'>Paint Vehicle</t>", "Paint\player_paint_init.sqf", _cursorTarget, 2, true, true, "", "];
s_player_lockunlock set [count s_player_lockunlock,_paint];
};
s_player_lockUnlock_crtl = 1;
};
};
};
} else {
{player removeAction _x} count s_player_lockunlock;s_player_lockunlock = [];
s_player_lockUnlock_crtl = -1;
};
if(DZE_AllowForceSave) then {
//Allow player to force save
if((_isVehicle || _isTent) && !_isMan) 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;
};
};
If(DZE_AllowCargoCheck) then {
if((_isVehicle || _isTent || _isnewstorage) && _isAlive && !_isMan && !locked _cursorTarget) then {
if (s_player_checkGear < 0) then {
s_player_checkGear = player addAction [localize "STR_EPOCH_PLAYER_CARGO", "\z\addons\dayz_code\actions\cargocheck.sqf",_cursorTarget, 1, true, true, "", ""];
};
} else {
player removeAction s_player_checkGear;
s_player_checkGear = -1;
};
};
//flip vehicle small vehicles by your self && all other vehicles with help nearby
if(_player_flipveh) 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 jerrycan
if((_hasFuelE || _hasFuelBarrelE) && _isFuel) 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;
};
// logic vars for addactions
_player_butcher = false;
_player_studybody = false;
_player_SurrenderedGear = false;
// CURSOR TARGET NOT ALIVE
if (!_isAlive) then {
// Gut animal/zed
if((_isAnimal || _isZombie) && _hasKnife) then {
_isHarvested = _cursorTarget getVariable["meatHarvested",false];
if (!_isHarvested) then {
_player_butcher = true;
};
};
// Study body
if (_isMan && !_isZombie && !_isAnimal) then {
_player_studybody = true;
}
} else {
// unit alive
// gear access on surrendered player
if(_isMan && !_isZombie && !_isAnimal) then {
_isSurrendered = _cursorTarget getVariable ["DZE_Surrendered",false];
if (_isSurrendered) then {
_player_SurrenderedGear = true;
};
};
};
// Human Gut animal || zombie
if (_player_butcher) then {
if (s_player_butcher < 0) then {
if(_isZombie) then {
s_player_butcher = player addAction [localize "STR_EPOCH_ACTIONS_GUTZOM", "\z\addons\dayz_code\actions\gather_zparts.sqf",_cursorTarget, 0, true, true, "", ""];
} else {
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;
};
// Study Body
if (_player_studybody) then {
if (s_player_studybody < 0) then {
s_player_studybody = player addAction [("<t color="#FF0000"">"+("Check Wallet") + "</t>"), "ZSC\actions\check_wallet.sqf",_cursorTarget, 0, false, true, "","];
};
} else {
player removeAction s_player_studybody;
s_player_studybody = -1;
};
// logic vars
_player_cook = false;
_player_boil = false;
// CURSOR TARGET IS FIRE
if (inflamed _cursorTarget) then {
//Fireplace Actions check
if (_hasRawMeat) then {
_player_cook = true;
};
// Boil water
if (_hasbottleitem && _hastinitem) then {
_player_boil = true;
};
};
if (_player_SurrenderedGear) then {
if (s_player_SurrenderedGear < 0) then {
s_player_SurrenderedGear = player addAction [localize "STR_EPOCH_ACTIONS_GEAR", "\z\addons\dayz_code\actions\surrender_gear.sqf",_cursorTarget, 1, true, true, "", ""];
};
} else {
player removeAction s_player_SurrenderedGear;
s_player_SurrenderedGear = -1;
};
//Fireplace Actions check
if (_player_cook) 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, "", ""];
};
} else {
player removeAction s_player_cook;
s_player_cook = -1;
};
// Boil water
if (_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 {
player removeAction s_player_boil;
s_player_boil = -1;
};
if(_cursorTarget == dayz_hasFire) then {
if ((s_player_fireout < 0) && !(inflamed _cursorTarget) && (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;
};
//Packing my tent
if(_isTent && (player distance _cursorTarget < 3)) then {
if (_ownerID == dayz_characterID) then {
if (s_player_packtent < 0) then {
s_player_packtent = player addAction [localize "str_actions_self_07", "\z\addons\dayz_code\actions\tent_pack.sqf",_cursorTarget, 0, false, true, "",""];
};
} else {
if(("ItemJerrycan" in _magazinesPlayer) && ("ItemMatchbox_DZE" in weapons player)) then {
if (s_player_packtent < 0) then {
s_player_packtent = player addAction [localize "STR_EPOCH_ACTIONS_DESTROYTENT", "\z\addons\dayz_code\actions\remove.sqf",_cursorTarget, 1, true, true, "", ""];
};
};
};
} else {
player removeAction s_player_packtent;
s_player_packtent = -1;
};
//Allow manage door
if((_typeOfCursorTarget in DZE_DoorsLocked)) then {
if (s_player_manageDoor >= 0 && door_management_last != _cursorTarget) then {
player removeAction s_player_manageDoor;
s_player_manageDoor = -1;
};
if (s_player_manageDoor < 0) then {
door_management_last = _cursorTarget;
s_player_manageDoor = player addAction ["<t color='#0059FF'>Manage Door</t>", "doorManagement\initDoorManagement.sqf", _cursorTarget, 5, false];
};
} else {
door_management_last = objNull;
player removeAction s_player_manageDoor;
s_player_manageDoor = -1;
};
//Allow owner to unlock vault
if((_typeOfCursorTarget in DZE_LockableStorage) && _ownerID != "0" && (player distance _cursorTarget < 3)) then {
if (s_player_unlockvault < 0) then {
if(_typeOfCursorTarget in DZE_LockedStorage) then {
if(_ownerID == dayz_combination || _ownerID == dayz_playerUID) then {
_combi = player addAction [format[localize "STR_EPOCH_ACTIONS_OPEN",_text], "\z\addons\dayz_code\actions\vault_unlock.sqf",_cursorTarget, 0, false, true, "",""];
s_player_combi set [count s_player_combi,_combi];
} else {
_combi = player addAction [format[localize "STR_EPOCH_ACTIONS_UNLOCK",_text], "\z\addons\dayz_code\actions\vault_combination_1.sqf",_cursorTarget, 0, false, true, "",""];
s_player_combi set [count s_player_combi,_combi];
};
s_player_unlockvault = 1;
} else {
if(_ownerID != dayz_combination && _ownerID != dayz_playerUID) then {
_combi = player addAction [localize "STR_EPOCH_ACTIONS_RECOMBO", "\z\addons\dayz_code\actions\vault_combination_1.sqf",_cursorTarget, 0, false, true, "",""];
s_player_combi set [count s_player_combi,_combi];
s_player_unlockvault = 1;
};
};
};
} else {
{player removeAction _x} count s_player_combi;s_player_combi = [];
s_player_unlockvault = -1;
};
if(_typeOfCursorTarget in ZSC_MoneyStorage && (player distance _cursorTarget < 5)) then {
if (s_bank_dialog < 0) then {
s_bank_dialog = player addAction ["Money Storage", "ZSC\actions\bank_dialog.sqf",_cursorTarget, 3, true, true, "", ""];
};
} else {
player removeAction s_bank_dialog;
s_bank_dialog = -1;
};
// cars
if( _isVehicle && !_isMan &&_isAlive && !_isMan && !locked _cursorTarget && !(_cursorTarget isKindOf "Bicycle") && (player distance _cursorTarget < 5)) then {
if (s_bank_dialog2 < 0) then {
s_bank_dialog2 = player addAction ["Money Storage", "ZSC\actions\bank_dialog.sqf",_cursorTarget, 3, true, true, "", ""];
};
} else {
player removeAction s_bank_dialog2;
s_bank_dialog2 = -1;
};
//Allow owner to change Door code
if((_isDestructable || _cursorTarget isKindOf "Land_DZE_WoodDoorLocked_Base" || _cursorTarget isKindOf "CinderWallDoorLocked_DZ_Base") && (DZE_Lock_Door == _ownerID)) then {
if ((s_player_lastTarget select 1) != _cursorTarget) then {
if (s_player_ckc > 0) then {
player removeAction s_player_ckc;
s_player_ckc = -1;
};
};
if (s_player_ckc < 0) then {
s_player_lastTarget set [1,_cursorTarget];
s_player_ckc = player addaction["Set new Code", "ckc\ckc_startUI.sqf","",0,false,true,"", ""];
};
} else {
player removeAction s_player_ckc;
s_player_ckc = -1;
};
//Allow owner to change vault code
_unlockedVault = ["VaultStorage"];
if(typeOf(cursortarget) in _unlockedVault && _ownerID != "0" && (player distance _cursorTarget < 2)) then {
if (s_player_Safe_ckc < 0) then {
if ((typeOf(cursortarget) == "VaultStorage") &&(_ownerID == dayz_combination || _ownerID == dayz_playerUID) ) then {
s_player_Safe_ckc = player addaction["Set new Code", "ckc\ckc_startSafeUI.sqf","",1,false,true,"", ""];
};
};
} else {
player removeAction s_player_Safe_ckc;
s_player_Safe_ckc = -1;
};
//Allow owner to pack vault
if(_typeOfCursorTarget in DZE_UnLockedStorage && _ownerID != "0" && (player distance _cursorTarget < 3)) then {
if (s_player_lockvault < 0) then {
if(_ownerID == dayz_combination || _ownerID == dayz_playerUID) then {
s_player_lockvault = player addAction [format[localize "STR_EPOCH_ACTIONS_LOCK",_text], "\z\addons\dayz_code\actions\vault_lock.sqf",_cursorTarget, 0, false, true, "",""];
};
};
if (s_player_packvault < 0 && (_ownerID == dayz_combination || _ownerID == dayz_playerUID)) then {
s_player_packvault = player addAction [format["<t color=#ff0000'>%1</t>",(format[localize "STR_EPOCH_ACTIONS_PACK",_text])], "\z\addons\dayz_code\actions\vault_pack.sqf",_cursorTarget, 0, false, true, "","];
};
} else {
player removeAction s_player_packvault;
s_player_packvault = -1;
player removeAction s_player_lockvault;
s_player_lockvault = -1;
};
//Player Deaths
if(_typeOfCursorTarget == "Info_Board_EP1") then {
if (s_player_information < 0) then {
s_player_information = player addAction [localize "STR_EPOCH_ACTIONS_MURDERS", "\z\addons\dayz_code\actions\list_playerDeaths.sqf",[], 7, false, true, "",""];
};
} else {
player removeAction s_player_information;
s_player_information = -1;
};
if (_isMan and _isAlive and !_isZombie and !_isAnimal and !(_traderType in serverTraders)) then {
if (s_givemoney_dialog < 0) then {
s_givemoney_dialog = player addAction [format["Give Money to %1", (name _cursorTarget)], "ZSC\actions\give_player_dialog.sqf",_cursorTarget, 3, true, true, "", ""];
};
} else {
player removeAction s_givemoney_dialog;
s_givemoney_dialog = -1;
};
//Fuel Pump
if(_typeOfCursorTarget in dayz_fuelpumparray) then {
if (s_player_fuelauto < 0) then {
// check if Generator_DZ is running within 30 meters
_findNearestGens = nearestObjects [player, ["Generator_DZ"], 30];
_findNearestGen = [];
{
if (alive _x && (_x getVariable ["GeneratorRunning", false])) then {
_findNearestGen set [(count _findNearestGen),_x];
};
} count _findNearestGens;
_IsNearRunningGen = count (_findNearestGen);
// show that pump needs power if no generator nearby.
if(_IsNearRunningGen > 0) then {
s_player_fuelauto = player addAction [localize "STR_EPOCH_ACTIONS_FILLVEH", "\z\addons\dayz_code\actions\fill_nearestVehicle.sqf",objNull, 0, false, true, "",""];
} else {
s_player_fuelauto = player addAction [format["<t color=#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_NEEDPOWER], "",[], 0, false, true, "",""];
};
};
} else {
player removeAction s_player_fuelauto;
s_player_fuelauto = -1;
};
//Fuel Pump on truck
if(_typeOfCursorTarget in DZE_fueltruckarray && alive _cursorTarget) then {
if (s_player_fuelauto2 < 0) then {
// show that fuel truck pump needs power.
if(isEngineOn _cursorTarget) then {
s_player_fuelauto2 = player addAction [localize "STR_EPOCH_ACTIONS_FILLVEH", "\z\addons\dayz_code\actions\fill_nearestVehicle.sqf",_cursorTarget, 0, false, true, "",""];
} else {
s_player_fuelauto2 = player addAction [format["<t color=#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_NEEDPOWER], "",[], 0, false, true, "",""];
};
};
} else {
player removeAction s_player_fuelauto2;
s_player_fuelauto2 = -1;
player removeAction s_givemoney_dialog;
s_givemoney_dialog = -1;
player removeAction s_bank_dialog;
s_bank_dialog = -1;
player removeAction s_bank_dialog2;
s_bank_dialog2 = -1;
};
// inplace upgrade tool
if ((_cursorTarget isKindOf "ModularItems") || (_cursorTarget isKindOf "Land_DZE_WoodDoor_Base") || (_cursorTarget isKindOf "CinderWallDoor_DZ_Base")) then {
if ((s_player_lastTarget select 0) != _cursorTarget) then {
if (s_player_upgrade_build > 0) then {
player removeAction s_player_upgrade_build;
s_player_upgrade_build = -1;
};
};
if (s_player_upgrade_build < 0) then {
// s_player_lastTarget = _cursorTarget;
s_player_lastTarget set [0,_cursorTarget];
s_player_upgrade_build = player addAction [format[localize "STR_EPOCH_ACTIONS_UPGRADE",_text], "custom\BuildVectors\action\player_upgrade.sqf",_cursorTarget, -1, false, true, "",""];
};
} else {
player removeAction s_player_upgrade_build;
s_player_upgrade_build = -1;
};
// downgrade system
if((_isDestructable || _cursorTarget isKindOf "Land_DZE_WoodDoorLocked_Base" || _cursorTarget isKindOf "CinderWallDoorLocked_DZ_Base") && (DZE_Lock_Door == _ownerID)) then {
if ((s_player_lastTarget select 1) != _cursorTarget) then {
if (s_player_downgrade_build > 0) then {
player removeAction s_player_downgrade_build;
s_player_downgrade_build = -1;
};
};
if (s_player_downgrade_build < 0) then {
s_player_lastTarget set [1,_cursorTarget];
s_player_downgrade_build = player addAction [format[localize "STR_EPOCH_ACTIONS_REMLOCK",_text], "custom\BuildVectors\action\player_buildingDowngrade.sqf",_cursorTarget, -2, false, true, "",""];
};
} else {
player removeAction s_player_downgrade_build;
s_player_downgrade_build = -1;
};
// inplace maintenance tool
//if((_cursorTarget isKindOf "ModularItems" || _cursorTarget isKindOf "DZE_Housebase" || _typeOfCursorTarget == "LightPole_DZ") && (damage _cursorTarget >= DZE_DamageBeforeMaint)) then {
// if ((s_player_lastTarget select 2) != _cursorTarget) then {
// if (s_player_maint_build > 0) then {
// player removeAction s_player_maint_build;
// s_player_maint_build = -1;
// };
// };
//
// if (s_player_maint_build < 0) then {
// s_player_lastTarget set [2,_cursorTarget];
// s_player_maint_build = player addAction [format[localize "STR_EPOCH_ACTIONS_MAINTAIN",_text], "\z\addons\dayz_code\actions\player_buildingMaint.sqf",_cursorTarget, -2, false, true, "",""];
// };
//} else {
// player removeAction s_player_maint_build;
// s_player_maint_build = -1;
//};
//Start Generator
if(_cursorTarget isKindOf "Generator_DZ") then {
if (s_player_fillgen < 0) then {
// check if not running
if((_cursorTarget getVariable ["GeneratorRunning", false])) then {
s_player_fillgen = player addAction [localize "STR_EPOCH_ACTIONS_GENERATOR1", "\z\addons\dayz_code\actions\stopGenerator.sqf",_cursorTarget, 0, false, true, "",""];
} else {
// check if not filled && player has jerry.
if((_cursorTarget getVariable ["GeneratorFilled", false])) then {
s_player_fillgen = player addAction [localize "STR_EPOCH_ACTIONS_GENERATOR2", "\z\addons\dayz_code\actions\fill_startGenerator.sqf",_cursorTarget, 0, false, true, "",""];
} else {
if("ItemJerrycan" in _magazinesPlayer) then {
s_player_fillgen = player addAction [localize "STR_EPOCH_ACTIONS_GENERATOR3", "\z\addons\dayz_code\actions\fill_startGenerator.sqf",_cursorTarget, 0, false, true, "",""];
};
};
};
};
} else {
player removeAction s_player_fillgen;
s_player_fillgen = -1;
};
//Towing with tow truck
/*
if(_typeOfCursorTarget == "TOW_DZE") then {
if (s_player_towing < 0) then {
if(!(_cursorTarget getVariable ["DZEinTow", false])) then {
s_player_towing = player addAction [localize "STR_EPOCH_ACTIONS_ATTACH" "\z\addons\dayz_code\actions\tow_AttachStraps.sqf",_cursorTarget, 0, false, true, "",""];
} else {
s_player_towing = player addAction [localize "STR_EPOCH_ACTIONS_DETACH", "\z\addons\dayz_code\actions\tow_DetachStraps.sqf",_cursorTarget, 0, false, true, "",""];
};
};
} else {
player removeAction s_player_towing;
s_player_towing = -1;
};
*/
//Sleep
if(_isTent && _ownerID == dayz_characterID) then {
if ((s_player_sleep < 0) && (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;
};
//Repairing Vehicles
if ((dayz_myCursorTarget != _cursorTarget) && _isVehicle && !_isMan && _hasToolbox && (damage _cursorTarget < 1) && !_isDisallowRepair) then {
if (s_player_repair_crtl < 0) then {
dayz_myCursorTarget = _cursorTarget;
_menu = dayz_myCursorTarget addAction [localize "STR_EPOCH_PLAYER_REPAIRV", "\z\addons\dayz_code\actions\repair_vehicle.sqf",_cursorTarget, 0, true, false, "",""];
_menu1 = dayz_myCursorTarget addAction [localize "STR_EPOCH_PLAYER_SALVAGEV", "\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} count s_player_repairActions;s_player_repairActions = [];
s_player_repair_crtl = -1;
};
};
// All Traders
if (_isMan && !_isPZombie && _traderType in serverTraders) then {
if (s_player_parts_crtl < 0) then {
// get humanity
_humanity = player getVariable ["humanity",0];
_traderMenu = call compile format["menu_%1;",_traderType];
// diag_log ("TRADER = " + str(_traderMenu));
_low_high = "low";
_humanity_logic = false;
if((_traderMenu select 2) == "friendly") then {
_humanity_logic = (_humanity < -5000);
};
if((_traderMenu select 2) == "hostile") then {
_low_high = "high";
_humanity_logic = (_humanity > -5000);
};
if((_traderMenu select 2) == "hero") then {
_humanity_logic = (_humanity < 5000);
};
if(_humanity_logic) then {
_cancel = player addAction [format[localize "STR_EPOCH_ACTIONS_HUMANITY",_low_high], "\z\addons\dayz_code\actions\trade_cancel.sqf",["na"], 0, true, false, "",""];
s_player_parts set [count s_player_parts,_cancel];
} else {
// Static Menu
{
//diag_log format["DEBUG TRADER: %1", _x];
_buy = player addAction [format["Trade %1 %2 for %3 %4",(_x select 3),(_x select 5),(_x select 2),(_x select 6)], "\z\addons\dayz_code\actions\trade_items_wo_db.sqf",[(_x select 0),(_x select 1),(_x select 2),(_x select 3),(_x select 4),(_x select 5),(_x select 6)], (_x select 7), true, true, "",""];
s_player_parts set [count s_player_parts,_buy];
} count (_traderMenu select 1);
_buyV = player addAction ["<t color=#0059FF'>Advanced Trading</t>", "zupa\advancedTrading\init.sqf",(_traderMenu select 0), 999, true, false, "","];
s_player_parts set [count s_player_parts,_buyV];
// Database menu
_buy = player addAction [localize "STR_EPOCH_PLAYER_289", "\z\addons\dayz_code\actions\show_dialog.sqf",(_traderMenu select 0), 999, true, false, "",""];
s_player_parts set [count s_player_parts,_buy];
};
s_player_parts_crtl = 1;
};
} else {
{player removeAction _x} count s_player_parts;s_player_parts = [];
s_player_parts_crtl = -1;
};
if(dayz_tameDogs) then {
//Dog
if (_isDog && _isAlive && (_hasRawMeat) && _ownerID == "0" && player getVariable ["dogID", 0] == 0) then {
if (s_player_tamedog < 0) then {
s_player_tamedog = player addAction [localize "str_actions_tamedog", "\z\addons\dayz_code\actions\tame_dog.sqf", _cursorTarget, 1, false, true, "", ""];
};
} else {
player removeAction s_player_tamedog;
s_player_tamedog = -1;
};
if (_isDog && _ownerID == dayz_characterID && _isAlive) then {
_dogHandle = player getVariable ["dogID", 0];
if (s_player_feeddog < 0 && _hasRawMeat) then {
s_player_feeddog = player addAction [localize "str_actions_feeddog","\z\addons\dayz_code\actions\dog\feed.sqf",[_dogHandle,0], 0, false, true,"",""];
};
if (s_player_waterdog < 0 && "ItemWaterbottle" in _magazinesPlayer) then {
s_player_waterdog = player addAction [localize "str_actions_waterdog","\z\addons\dayz_code\actions\dog\feed.sqf",[_dogHandle,1], 0, false, true,"",""];
};
if (s_player_staydog < 0) then {
_lieDown = _dogHandle getFSMVariable "_actionLieDown";
if (_lieDown) then { _text = "str_actions_liedog"; } else { _text = "str_actions_sitdog"; };
s_player_staydog = player addAction [localize _text,"\z\addons\dayz_code\actions\dog\stay.sqf", _dogHandle, 5, false, true,"",""];
};
if (s_player_trackdog < 0) then {
s_player_trackdog = player addAction [localize "str_actions_trackdog","\z\addons\dayz_code\actions\dog\track.sqf", _dogHandle, 4, false, true,"",""];
};
if (s_player_barkdog < 0) then {
s_player_barkdog = player addAction [localize "str_actions_barkdog","\z\addons\dayz_code\actions\dog\speak.sqf", _cursorTarget, 3, false, true,"",""];
};
if (s_player_warndog < 0) then {
_warn = _dogHandle getFSMVariable "_watchDog";
if (_warn) then { _text = (localize "str_epoch_player_247"); _warn = false; } else { _text = (localize "str_epoch_player_248"); _warn = true; };
s_player_warndog = player addAction [format[localize "str_actions_warndog",_text],"\z\addons\dayz_code\actions\dog\warn.sqf",[_dogHandle, _warn], 2, false, true,"",""];
};
if (s_player_followdog < 0) then {
s_player_followdog = player addAction [localize "str_actions_followdog","\z\addons\dayz_code\actions\dog\follow.sqf",[_dogHandle,true], 6, false, true,"",""];
};
} else {
player removeAction s_player_feeddog;
s_player_feeddog = -1;
player removeAction s_player_waterdog;
s_player_waterdog = -1;
player removeAction s_player_staydog;
s_player_staydog = -1;
player removeAction s_player_trackdog;
s_player_trackdog = -1;
player removeAction s_player_barkdog;
s_player_barkdog = -1;
player removeAction s_player_warndog;
s_player_warndog = -1;
player removeAction s_player_followdog;
s_player_followdog = -1;
};
};
} else {
//Engineering
{dayz_myCursorTarget removeAction _x} count s_player_repairActions;s_player_repairActions = [];
s_player_repair_crtl = -1;
{player removeAction _x} count s_player_combi;s_player_combi = [];
dayz_myCursorTarget = objNull;
s_player_lastTarget = [objNull,objNull,objNull,objNull,objNull];
{player removeAction _x} count s_player_parts;s_player_parts = [];
s_player_parts_crtl = -1;
{player removeAction _x} count s_player_lockunlock;s_player_lockunlock = [];
s_player_lockUnlock_crtl = -1;
player removeAction s_player_checkGear;
s_player_checkGear = -1;
player removeAction s_player_SurrenderedGear;
s_player_SurrenderedGear = -1;
//Others
player 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_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;
//Dog
player removeAction s_player_tamedog;
s_player_tamedog = -1;
player removeAction s_player_feeddog;
s_player_feeddog = -1;
player removeAction s_player_waterdog;
s_player_waterdog = -1;
player removeAction s_player_staydog;
s_player_staydog = -1;
player removeAction s_player_trackdog;
s_player_trackdog = -1;
player removeAction s_player_barkdog;
s_player_barkdog = -1;
player removeAction s_player_warndog;
s_player_warndog = -1;
player removeAction s_player_followdog;
s_player_followdog = -1;
// vault
player removeAction s_player_unlockvault;
s_player_unlockvault = -1;
player removeAction s_player_packvault;
s_player_packvault = -1;
player removeAction s_player_lockvault;
s_player_lockvault = -1;
player removeAction s_player_information;
s_player_information = -1;
player removeAction s_player_fillgen;
s_player_fillgen = -1;
player removeAction s_player_upgrade_build;
s_player_upgrade_build = -1;
player removeAction s_player_maint_build;
s_player_maint_build = -1;
player removeAction s_player_downgrade_build;
s_player_downgrade_build = -1;
player removeAction s_player_ckc;
s_player_ckc = -1;
player removeAction s_player_Safe_ckc;
s_player_Safe_ckc = -1;
player removeAction s_player_towing;
s_player_towing = -1;
player removeAction s_player_fuelauto;
s_player_fuelauto = -1;
player removeAction s_player_fuelauto2;
s_player_fuelauto2 = -1;
player removeAction s_player_manageDoor;
s_player_manageDoor = -1; // u might also want to add this to variables reset in your variables.sqf
player removeAction s_givemoney_dialog;
s_givemoney_dialog = -1;
player removeAction s_bank_dialog;
s_bank_dialog = -1;
player removeAction s_bank_dialog2;
s_bank_dialog2 = -1;
};
//Dog actions on player self
_dogHandle = player getVariable ["dogID", 0];
if (_dogHandle > 0) then {
_dog = _dogHandle getFSMVariable "_dog";
_ownerID = "0";
if (!isNull cursorTarget) then { _ownerID = cursorTarget getVariable ["CharacterID","0"]; };
if (_canDo && !_inVehicle && alive _dog && _ownerID != dayz_characterID) then {
if (s_player_movedog < 0) then {
s_player_movedog = player addAction [localize "str_actions_movedog", "\z\addons\dayz_code\actions\dog\move.sqf", player getVariable ["dogID", 0], 1, false, true, "", ""];
};
if (s_player_speeddog < 0) then {
_text = (localize "str_epoch_player_249");
_speed = 0;
if (_dog getVariable ["currentSpeed",1] == 0) then { _speed = 1; _text = (localize "str_epoch_player_250"); };
s_player_speeddog = player addAction [format[localize "str_actions_speeddog", _text], "\z\addons\dayz_code\actions\dog\speed.sqf",[player getVariable ["dogID", 0],_speed], 0, false, true, "", ""];
};
if (s_player_calldog < 0) then {
s_player_calldog = player addAction [localize "str_actions_calldog", "\z\addons\dayz_code\actions\dog\follow.sqf", [player getVariable ["dogID", 0], true], 2, false, true, "", ""];
};
};
} else {
player removeAction s_player_movedog;
s_player_movedog = -1;
player removeAction s_player_speeddog;
s_player_speeddog = -1;
player removeAction s_player_calldog;
s_player_calldog = -1;
};
//----------PACK BIKE START----------
_weapons = [currentWeapon player] + (weapons player) + (magazines player);
_isBike = typeOf cursorTarget in ["MMT_Civ"];
if((_isBike) and _canDo) then {
if (s_player_deploybike2 < 0) then {
s_player_deploybike2 = player addaction[("<t color="#007ab7"">" + ("Pack Bike") +"</t>"),"pack.sqf","",5,false,true,"", "];
};
} else {
player removeAction s_player_deploybike2;
s_player_deploybike2 = -1;
};
//----------PACK BIKE END----------
I went completely through the install again and everything is good. I only get the option for money storage on the ural refuel. No other vehicles or the storages get the option. Has anyone else run into this problem?
I tried changing where the option shows up and no luck. I changed the 3 to 0 after _cursorTarget and still just get the option only on the ural refuel. s_bank_dialog2 = player addAction ["Money Storage", "ZSC\actions\bank_dialog.sqf",_cursorTarget, 3, true, true, "", ""];
-
Everything is working great for me except i do not get money storage option on vehicles or storage items. Can anyone see the problem in my fn_selfactions?
scriptName "Functions\misc\fn_selfActions.sqf";
/***********************************************************
ADD ACTIONS FOR SELF
- Function
- [] call fnc_usec_selfActions;
************************************************************/
private ["_isWreckBuilding","_temp_keys","_magazinesPlayer","_isPZombie","_vehicle","_inVehicle","_hasFuelE","_hasRawMeat","_hasKnife","_hasToolbox","_onLadder","_nearLight","_canPickLight","_canDo","_text","_isHarvested","_isVehicle","_isVehicletype","_isMan","_traderType","_ownerID","_isAnimal","_isDog","_isZombie","_isDestructable","_isTent","_isFuel","_isAlive","_Unlock","_lock","_buy","_dogHandle","_lieDown","_warn","_hastinitem","_allowedDistance","_menu","_menu1","_humanity_logic","_low_high","_cancel","_metals_trader","_traderMenu","_isWreck","_isRemovable","_isDisallowRepair","_rawmeat","_humanity","_speed","_dog","_hasbottleitem","_isAir","_isShip","_playersNear","_findNearestGens","_findNearestGen","_IsNearRunningGen","_cursorTarget","_isnewstorage","_itemsPlayer","_ownerKeyId","_typeOfCursorTarget","_hasKey","_oldOwner","_combi","_key_colors","_player_deleteBuild","_player_flipveh","_player_lockUnlock_crtl","_player_butcher","_player_studybody","_player_cook","_player_boil","_hasFuelBarrelE","_hasHotwireKit","_player_SurrenderedGear","_isSurrendered","_isModular","_isModularDoor","_ownerKeyName","_temp_keys_names","_hasAttached","_allowTow","_liftHeli","_found","_posL","_posC","_height","_liftHelis","_attached"];
if (DZE_ActionInProgress) exitWith {}; // Do not allow if any script is running.
_vehicle = vehicle player;
_isPZombie = player isKindOf "PZombie_VB";
_inVehicle = (_vehicle != player);
_onLadder = (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1;
_canDo = (!r_drag_sqf && !r_player_unconscious && !_onLadder);
_nearLight = nearestObject [player,"LitObject"];
_canPickLight = false;
if (!isNull _nearLight) then {
if (_nearLight distance player < 4) then {
_canPickLight = isNull (_nearLight getVariable ["owner",objNull]);
};
};
//Grab Flare
if (_canPickLight && !dayz_hasLight && !_isPZombie) 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 (DZE_HeliLift) then {
_hasAttached = _vehicle getVariable["hasAttached",false];
if(_inVehicle && (_vehicle isKindOf "Air") && ((([_vehicle] call FNC_getPos) select 2) < 30) && (speed _vehicle < 5) && (typeName _hasAttached == "OBJECT")) then {
if (s_player_heli_detach < 0) then {
dayz_myLiftVehicle = _vehicle;
s_player_heli_detach = dayz_myLiftVehicle addAction ["Detach Vehicle","\z\addons\dayz_code\actions\player_heliDetach.sqf",[dayz_myLiftVehicle,_hasAttached],2,false,true,"",""];
};
} else {
dayz_myLiftVehicle removeAction s_player_heli_detach;
s_player_heli_detach = -1;
};
};
if(DZE_HaloJump) then {
if(_inVehicle && (_vehicle isKindOf "Air") && ((([_vehicle] call FNC_getPos) select 2) > 400)) then {
if (s_halo_action < 0) then {
DZE_myHaloVehicle = _vehicle;
s_halo_action = DZE_myHaloVehicle addAction [localize "STR_EPOCH_ACTIONS_HALO","\z\addons\dayz_code\actions\halo_jump.sqf",[],2,false,true,"",""];
};
} else {
DZE_myHaloVehicle removeAction s_halo_action;
s_halo_action = -1;
};
};
if (!DZE_ForceNameTagsOff) then {
if (s_player_showname < 0 && !_isPZombie) then {
if (DZE_ForceNameTags) then {
s_player_showname = 1;
player setVariable["DZE_display_name",true,true];
} else {
s_player_showname = player addAction [localize "STR_EPOCH_ACTIONS_NAMEYES", "\z\addons\dayz_code\actions\display_name.sqf",true, 0, true, false, "",""];
s_player_showname1 = player addAction [localize "STR_EPOCH_ACTIONS_NAMENO", "\z\addons\dayz_code\actions\display_name.sqf",false, 0, true, false, "",""];
};
};
};
if(_isPZombie) then {
if (s_player_callzombies < 0) then {
s_player_callzombies = player addAction [localize "STR_EPOCH_ACTIONS_RAISEHORDE", "\z\addons\dayz_code\actions\call_zombies.sqf",player, 5, true, false, "",""];
};
if (DZE_PZATTACK) then {
call pz_attack;
DZE_PZATTACK = false;
};
if (s_player_pzombiesvision < 0) then {
s_player_pzombiesvision = player addAction [localize "STR_EPOCH_ACTIONS_NIGHTVIS", "\z\addons\dayz_code\actions\pzombie\pz_vision.sqf", [], 4, false, true, "nightVision", "_this == _target"];
};
if (!isNull cursorTarget && (player distance cursorTarget < 3)) then { //Has some kind of target
_isAnimal = cursorTarget isKindOf "Animal";
_isZombie = cursorTarget isKindOf "zZombie_base";
_isHarvested = cursorTarget getVariable["meatHarvested",false];
_isMan = cursorTarget isKindOf "Man";
// Pzombie Gut human corpse || animal
if (!alive cursorTarget && (_isAnimal || _isMan) && !_isZombie && !_isHarvested) then {
if (s_player_pzombiesfeed < 0) then {
s_player_pzombiesfeed = player addAction [localize "STR_EPOCH_ACTIONS_FEED", "\z\addons\dayz_code\actions\pzombie\pz_feed.sqf",cursorTarget, 3, true, false, "",""];
};
} else {
player removeAction s_player_pzombiesfeed;
s_player_pzombiesfeed = -1;
};
} else {
player removeAction s_player_pzombiesfeed;
s_player_pzombiesfeed = -1;
};
};
// Bank Robbery
_bankrobbery = cursorTarget isKindOf "Notebook";
if ((speed player <= 1) && _bankrobbery && (player distance cursorTarget < 5)) then {
if (s_player_bankrob < 0) then {
s_player_bankrob = player addAction ["Rob the bank","rob\robbank.sqf",cursorTarget, 0, false, true, "",""];
};
} else {
player removeAction s_player_bankrob;
s_player_bankrob = -1;
};
// Bank Robbery END
// Increase distance only if AIR || SHIP
_allowedDistance = 4;
_isAir = cursorTarget isKindOf "Air";
_isShip = cursorTarget isKindOf "Ship";
if(_isAir || _isShip) then {
_allowedDistance = 8;
};
if (!isNull cursorTarget && !_inVehicle && !_isPZombie && (player distance cursorTarget < _allowedDistance) && _canDo) then { //Has some kind of target
// set cursortarget to variable
_cursorTarget = cursorTarget;
// get typeof cursortarget once
_typeOfCursorTarget = typeOf _cursorTarget;
// hintsilent _typeOfCursorTarget;
_isVehicle = _cursorTarget isKindOf "AllVehicles";
_isVehicletype = _typeOfCursorTarget in ["ATV_US_EP1","ATV_CZ_EP1"];
_isnewstorage = _typeOfCursorTarget in DZE_isNewStorage;
// get items && magazines only once
_magazinesPlayer = magazines player;
//boiled Water
_hasbottleitem = "ItemWaterbottle" in _magazinesPlayer;
_hastinitem = false;
{
if (_x in _magazinesPlayer) then {
_hastinitem = true;
};
} count boil_tin_cans;
_hasFuelE = "ItemJerrycanEmpty" in _magazinesPlayer;
_hasFuelBarrelE = "ItemFuelBarrelEmpty" in _magazinesPlayer;
_hasHotwireKit = "ItemHotwireKit" in _magazinesPlayer;
_itemsPlayer = items player;
_temp_keys = [];
_temp_keys_names = [];
// find available keys
_key_colors = ["ItemKeyYellow","ItemKeyBlue","ItemKeyRed","ItemKeyGreen","ItemKeyBlack"];
{
if (configName(inheritsFrom(configFile >> "CfgWeapons" >> _x)) in _key_colors) then {
_ownerKeyId = getNumber(configFile >> "CfgWeapons" >> _x >> "keyid");
_ownerKeyName = getText(configFile >> "CfgWeapons" >> _x >> "displayName");
_temp_keys_names set [_ownerKeyId,_ownerKeyName];
_temp_keys set [count _temp_keys,str(_ownerKeyId)];
};
} count _itemsPlayer;
_hasKnife = "ItemKnife" in _itemsPlayer;
_hasToolbox = "ItemToolbox" in _itemsPlayer;
_isMan = _cursorTarget isKindOf "Man";
_traderType = _typeOfCursorTarget;
_ownerID = _cursorTarget getVariable ["CharacterID","0"];
_isAnimal = _cursorTarget isKindOf "Animal";
_isDog = (_cursorTarget isKindOf "DZ_Pastor" || _cursorTarget isKindOf "DZ_Fin");
_isZombie = _cursorTarget isKindOf "zZombie_base";
_isDestructable = _cursorTarget isKindOf "BuiltItems";
_isWreck = _typeOfCursorTarget in DZE_isWreck;
_isWreckBuilding = _typeOfCursorTarget in DZE_isWreckBuilding;
_isModular = _cursorTarget isKindOf "ModularItems";
_isModularDoor = _typeOfCursorTarget in ["Land_DZE_WoodDoor","Land_DZE_LargeWoodDoor","Land_DZE_GarageWoodDoor","CinderWallDoor_DZ","CinderWallDoorSmall_DZ"];
_isRemovable = _typeOfCursorTarget in DZE_isRemovable;
_isDisallowRepair = _typeOfCursorTarget in ["M240Nest_DZ"];
_isTent = _cursorTarget isKindOf "TentStorage";
_isAlive = alive _cursorTarget;
_text = getText (configFile >> "CfgVehicles" >> _typeOfCursorTarget >> "displayName");
_rawmeat = meatraw;
_hasRawMeat = false;
{
if (_x in _magazinesPlayer) then {
_hasRawMeat = true;
};
} count _rawmeat;
_isFuel = false;
if (_hasFuelE || _hasFuelBarrelE) then {
{
if(_cursorTarget isKindOf _x) exitWith {_isFuel = true;};
} count dayz_fuelsources;
};
// diag_log ("OWNERID = " + _ownerID + " CHARID = " + dayz_characterID + " " + str(_ownerID == dayz_characterID));
// logic vars
_player_flipveh = false;
_player_deleteBuild = false;
_player_lockUnlock_crtl = false;
/*if (_canDo && (speed player <= 1) && (_cursorTarget isKindOf "Plastic_Pole_EP1_DZ")) then {
if (s_player_maintain_area < 0) then {
s_player_maintain_area = player addAction [format["<t color=#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_MAINTAREA], "actions\maintain_area.sqf", "maintain", 5, false];
s_player_maintain_area_preview = player addAction [format["<t color=#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_MAINTPREV], "actions\maintain_area.sqf", "preview", 5, false];
};
} else {
player removeAction s_player_maintain_area;
s_player_maintain_area = -1;
player removeAction s_player_maintain_area_preview;
s_player_maintain_area_preview = -1;
};*/
// CURSOR TARGET ALIVE
if(_isAlive) then {
//Allow player to delete objects
if(_isDestructable || _isWreck || _isRemovable || _isWreckBuilding) then {
if(_hasToolbox && "ItemCrowbar" in _itemsPlayer) then {
_player_deleteBuild = true;
};
};
//Allow owners to delete modulars
if(_isModular && (dayz_characterID == _ownerID)) then {
if(_hasToolbox && "ItemCrowbar" in _itemsPlayer) then {
_player_deleteBuild = true;
};
};
//Allow owners to delete modular doors without locks
if(_isModularDoor && (dayz_characterID == _ownerID)) then {
if(_hasToolbox && "ItemCrowbar" in _itemsPlayer) then {
_player_deleteBuild = true;
};
};
// CURSOR TARGET VEHICLE
if(_isVehicle) then {
//flip vehicle small vehicles by your self && all other vehicles with help nearby
if (!(canmove _cursorTarget) && (player distance _cursorTarget >= 2) && (count (crew _cursorTarget))== 0 && ((vectorUp _cursorTarget) select 2) < 0.5) then {
_playersNear = {isPlayer _x} count (player nearEntities ["CAManBase", 6]);
if(_isVehicletype || (_playersNear >= 2)) then {
_player_flipveh = true;
};
};
if(!_isMan && _ownerID != "0" && !(_cursorTarget isKindOf "Bicycle")) then {
_player_lockUnlock_crtl = true;
};
};
};
if(_player_deleteBuild) 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;
};
if (DZE_HeliLift) then {
_liftHeli = objNull;
_found = false;
_allowTow = false;
if ((count (crew _cursorTarget)) == 0) then {
{
if(!_allowTow) then {
_allowTow = _cursorTarget isKindOf _x;
};
} count DZE_HeliAllowToTow;
};
//diag_log format["CREW: %1 ALLOW: %2",(count (crew _cursorTarget)),_allowTow];
if (_allowTow) then {
_liftHelis = nearestObjects [player, DZE_HeliAllowTowFrom, 15];
{
if(!_found) then {
_posL = [_x] call FNC_getPos;
_posC = [_cursorTarget] call FNC_getPos;
_height = (_posL select 2) - (_posC select 2);
_hasAttached = _x getVariable["hasAttached",false];
if(_height < 15 && _height > 5 && (typeName _hasAttached != "OBJECT")) then {
if(((abs((_posL select 0) - (_posC select 0))) < 10) && ((abs((_posL select 1) - (_posC select 1))) < 10)) then {
_liftHeli = _x;
_found = true;
};
};
};
} count _liftHelis;
};
//diag_log format["HELI: %1 TARGET: %2",_found,_cursorTarget];
_attached = _cursorTarget getVariable["attached",false];
if(_found && _allowTow && _canDo && !locked _cursorTarget && !_isPZombie && (typeName _attached != "OBJECT")) then {
if (s_player_heli_lift < 0) then {
s_player_heli_lift = player addAction ["Attach to Heli", "\z\addons\dayz_code\actions\player_heliLift.sqf",[_liftHeli,_cursorTarget], -10, false, true, "",""];
};
} else {
player removeAction s_player_heli_lift;
s_player_heli_lift = -1;
};
};
// Allow Owner to lock && unlock vehicle
if(_player_lockUnlock_crtl) then {
if (s_player_lockUnlock_crtl < 0) then {
_hasKey = _ownerID in _temp_keys;
_oldOwner = (_ownerID == dayz_playerUID);
if(locked _cursorTarget) then {
if(_hasKey || _oldOwner) then {
_Unlock = player addAction [format[localize "STR_EPOCH_ACTIONS_UNLOCK",_text], "\z\addons\dayz_code\actions\unlock_veh.sqf",[_cursorTarget,(_temp_keys_names select (parseNumber _ownerID))], 2, true, true, "", ""];
s_player_lockunlock set [count s_player_lockunlock,_Unlock];
s_player_lockUnlock_crtl = 1;
} else {
if(_hasHotwireKit) then {
_Unlock = player addAction [format[localize "STR_EPOCH_ACTIONS_HOTWIRE",_text], "\z\addons\dayz_code\actions\hotwire_veh.sqf",_cursorTarget, 2, true, true, "", ""];
} else {
_Unlock = player addAction [format["<t color=#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_VEHLOCKED], "",_cursorTarget, 2, true, true, "", ""];
};
s_player_lockunlock set [count s_player_lockunlock,_Unlock];
s_player_lockUnlock_crtl = 1;
};
} else {
if(_hasKey || _oldOwner) then {
_lock = player addAction [format[localize "STR_EPOCH_ACTIONS_LOCK",_text], "\z\addons\dayz_code\actions\lock_veh.sqf",_cursorTarget, 1, true, true, "", ""];
s_player_lockunlock set [count s_player_lockunlock,_lock];
if (_typeOfCursorTarget in ColourVehicles) then {
private ["_paint"];
_paint = player addAction ["<t color=#0059FF'>Paint Vehicle</t>", "Paint\player_paint_init.sqf", _cursorTarget, 2, true, true, "", "];
s_player_lockunlock set [count s_player_lockunlock,_paint];
};
s_player_lockUnlock_crtl = 1;
};
};
};
} else {
{player removeAction _x} count s_player_lockunlock;s_player_lockunlock = [];
s_player_lockUnlock_crtl = -1;
};
if(DZE_AllowForceSave) then {
//Allow player to force save
if((_isVehicle || _isTent) && !_isMan) 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;
};
};
If(DZE_AllowCargoCheck) then {
if((_isVehicle || _isTent || _isnewstorage) && _isAlive && !_isMan && !locked _cursorTarget) then {
if (s_player_checkGear < 0) then {
s_player_checkGear = player addAction [localize "STR_EPOCH_PLAYER_CARGO", "\z\addons\dayz_code\actions\cargocheck.sqf",_cursorTarget, 1, true, true, "", ""];
};
} else {
player removeAction s_player_checkGear;
s_player_checkGear = -1;
};
};
//flip vehicle small vehicles by your self && all other vehicles with help nearby
if(_player_flipveh) 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 jerrycan
if((_hasFuelE || _hasFuelBarrelE) && _isFuel) 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;
};
// logic vars for addactions
_player_butcher = false;
_player_studybody = false;
_player_SurrenderedGear = false;
// CURSOR TARGET NOT ALIVE
if (!_isAlive) then {
// Gut animal/zed
if((_isAnimal || _isZombie) && _hasKnife) then {
_isHarvested = _cursorTarget getVariable["meatHarvested",false];
if (!_isHarvested) then {
_player_butcher = true;
};
};
// Study body
if (_isMan && !_isZombie && !_isAnimal) then {
_player_studybody = true;
}
} else {
// unit alive
// gear access on surrendered player
if(_isMan && !_isZombie && !_isAnimal) then {
_isSurrendered = _cursorTarget getVariable ["DZE_Surrendered",false];
if (_isSurrendered) then {
_player_SurrenderedGear = true;
};
};
};
// Human Gut animal || zombie
if (_player_butcher) then {
if (s_player_butcher < 0) then {
if(_isZombie) then {
s_player_butcher = player addAction [localize "STR_EPOCH_ACTIONS_GUTZOM", "\z\addons\dayz_code\actions\gather_zparts.sqf",_cursorTarget, 0, true, true, "", ""];
} else {
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;
};
// Study Body
if (_player_studybody) then {
if (s_player_studybody < 0) then {
s_player_studybody = player addAction [("<t color="#FF0000"">"+("Check Wallet") + "</t>"), "ZSC\actions\check_wallet.sqf",_cursorTarget, 0, false, true, "","];
};
} else {
player removeAction s_player_studybody;
s_player_studybody = -1;
};
// logic vars
_player_cook = false;
_player_boil = false;
// CURSOR TARGET IS FIRE
if (inflamed _cursorTarget) then {
//Fireplace Actions check
if (_hasRawMeat) then {
_player_cook = true;
};
// Boil water
if (_hasbottleitem && _hastinitem) then {
_player_boil = true;
};
};
if (_player_SurrenderedGear) then {
if (s_player_SurrenderedGear < 0) then {
s_player_SurrenderedGear = player addAction [localize "STR_EPOCH_ACTIONS_GEAR", "\z\addons\dayz_code\actions\surrender_gear.sqf",_cursorTarget, 1, true, true, "", ""];
};
} else {
player removeAction s_player_SurrenderedGear;
s_player_SurrenderedGear = -1;
};
//Fireplace Actions check
if (_player_cook) 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, "", ""];
};
} else {
player removeAction s_player_cook;
s_player_cook = -1;
};
// Boil water
if (_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 {
player removeAction s_player_boil;
s_player_boil = -1;
};
if(_cursorTarget == dayz_hasFire) then {
if ((s_player_fireout < 0) && !(inflamed _cursorTarget) && (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;
};
//Packing my tent
if(_isTent && (player distance _cursorTarget < 3)) then {
if (_ownerID == dayz_characterID) then {
if (s_player_packtent < 0) then {
s_player_packtent = player addAction [localize "str_actions_self_07", "\z\addons\dayz_code\actions\tent_pack.sqf",_cursorTarget, 0, false, true, "",""];
};
} else {
if(("ItemJerrycan" in _magazinesPlayer) && ("ItemMatchbox_DZE" in weapons player)) then {
if (s_player_packtent < 0) then {
s_player_packtent = player addAction [localize "STR_EPOCH_ACTIONS_DESTROYTENT", "\z\addons\dayz_code\actions\remove.sqf",_cursorTarget, 1, true, true, "", ""];
};
};
};
} else {
player removeAction s_player_packtent;
s_player_packtent = -1;
};
//Allow manage door
if((_typeOfCursorTarget in DZE_DoorsLocked)) then {
if (s_player_manageDoor >= 0 && door_management_last != _cursorTarget) then {
player removeAction s_player_manageDoor;
s_player_manageDoor = -1;
};
if (s_player_manageDoor < 0) then {
door_management_last = _cursorTarget;
s_player_manageDoor = player addAction ["<t color='#0059FF'>Manage Door</t>", "doorManagement\initDoorManagement.sqf", _cursorTarget, 5, false];
};
} else {
door_management_last = objNull;
player removeAction s_player_manageDoor;
s_player_manageDoor = -1;
};
//Allow owner to unlock vault
if((_typeOfCursorTarget in DZE_LockableStorage) && _ownerID != "0" && (player distance _cursorTarget < 3)) then {
if (s_player_unlockvault < 0) then {
if(_typeOfCursorTarget in DZE_LockedStorage) then {
if(_ownerID == dayz_combination || _ownerID == dayz_playerUID) then {
_combi = player addAction [format[localize "STR_EPOCH_ACTIONS_OPEN",_text], "\z\addons\dayz_code\actions\vault_unlock.sqf",_cursorTarget, 0, false, true, "",""];
s_player_combi set [count s_player_combi,_combi];
} else {
_combi = player addAction [format[localize "STR_EPOCH_ACTIONS_UNLOCK",_text], "\z\addons\dayz_code\actions\vault_combination_1.sqf",_cursorTarget, 0, false, true, "",""];
s_player_combi set [count s_player_combi,_combi];
};
s_player_unlockvault = 1;
} else {
if(_ownerID != dayz_combination && _ownerID != dayz_playerUID) then {
_combi = player addAction [localize "STR_EPOCH_ACTIONS_RECOMBO", "\z\addons\dayz_code\actions\vault_combination_1.sqf",_cursorTarget, 0, false, true, "",""];
s_player_combi set [count s_player_combi,_combi];
s_player_unlockvault = 1;
};
};
};
} else {
{player removeAction _x} count s_player_combi;s_player_combi = [];
s_player_unlockvault = -1;
};
if(_typeOfCursorTarget in ZSC_MoneyStorage && (player distance _cursorTarget < 5)) then {
if (s_bank_dialog < 0) then {
s_bank_dialog = player addAction ["Money Storage", "ZSC\actions\bank_dialog.sqf",_cursorTarget, 3, true, true, "", ""];
};
} else {
player removeAction s_bank_dialog;
s_bank_dialog = -1;
};
// cars
if( _isVehicle && !_isMan &&_isAlive && !_isMan && !locked _cursorTarget && !(_cursorTarget isKindOf "Bicycle") && (player distance _cursorTarget < 5)) then {
if (s_bank_dialog2 < 0) then {
s_bank_dialog2 = player addAction ["Money Storage", "ZSC\actions\bank_dialog.sqf",_cursorTarget, 3, true, true, "", ""];
};
} else {
player removeAction s_bank_dialog2;
s_bank_dialog2 = -1;
};
//Allow owner to change Door code
if((_isDestructable || _cursorTarget isKindOf "Land_DZE_WoodDoorLocked_Base" || _cursorTarget isKindOf "CinderWallDoorLocked_DZ_Base") && (DZE_Lock_Door == _ownerID)) then {
if ((s_player_lastTarget select 1) != _cursorTarget) then {
if (s_player_ckc > 0) then {
player removeAction s_player_ckc;
s_player_ckc = -1;
};
};
if (s_player_ckc < 0) then {
s_player_lastTarget set [1,_cursorTarget];
s_player_ckc = player addaction["Set new Code", "ckc\ckc_startUI.sqf","",0,false,true,"", ""];
};
} else {
player removeAction s_player_ckc;
s_player_ckc = -1;
};
//Allow owner to change vault code
_unlockedVault = ["VaultStorage"];
if(typeOf(cursortarget) in _unlockedVault && _ownerID != "0" && (player distance _cursorTarget < 2)) then {
if (s_player_Safe_ckc < 0) then {
if ((typeOf(cursortarget) == "VaultStorage") &&(_ownerID == dayz_combination || _ownerID == dayz_playerUID) ) then {
s_player_Safe_ckc = player addaction["Set new Code", "ckc\ckc_startSafeUI.sqf","",1,false,true,"", ""];
};
};
} else {
player removeAction s_player_Safe_ckc;
s_player_Safe_ckc = -1;
};
//Allow owner to pack vault
if(_typeOfCursorTarget in DZE_UnLockedStorage && _ownerID != "0" && (player distance _cursorTarget < 3)) then {
if (s_player_lockvault < 0) then {
if(_ownerID == dayz_combination || _ownerID == dayz_playerUID) then {
s_player_lockvault = player addAction [format[localize "STR_EPOCH_ACTIONS_LOCK",_text], "\z\addons\dayz_code\actions\vault_lock.sqf",_cursorTarget, 0, false, true, "",""];
};
};
if (s_player_packvault < 0 && (_ownerID == dayz_combination || _ownerID == dayz_playerUID)) then {
s_player_packvault = player addAction [format["<t color=#ff0000'>%1</t>",(format[localize "STR_EPOCH_ACTIONS_PACK",_text])], "\z\addons\dayz_code\actions\vault_pack.sqf",_cursorTarget, 0, false, true, "","];
};
} else {
player removeAction s_player_packvault;
s_player_packvault = -1;
player removeAction s_player_lockvault;
s_player_lockvault = -1;
};
//Player Deaths
if(_typeOfCursorTarget == "Info_Board_EP1") then {
if (s_player_information < 0) then {
s_player_information = player addAction [localize "STR_EPOCH_ACTIONS_MURDERS", "\z\addons\dayz_code\actions\list_playerDeaths.sqf",[], 7, false, true, "",""];
};
} else {
player removeAction s_player_information;
s_player_information = -1;
};
if (_isMan and _isAlive and !_isZombie and !_isAnimal and !(_traderType in serverTraders)) then {
if (s_givemoney_dialog < 0) then {
s_givemoney_dialog = player addAction [format["Give Money to %1", (name _cursorTarget)], "ZSC\actions\give_player_dialog.sqf",_cursorTarget, 3, true, true, "", ""];
};
} else {
player removeAction s_givemoney_dialog;
s_givemoney_dialog = -1;
};
//Fuel Pump
if(_typeOfCursorTarget in dayz_fuelpumparray) then {
if (s_player_fuelauto < 0) then {
// check if Generator_DZ is running within 30 meters
_findNearestGens = nearestObjects [player, ["Generator_DZ"], 30];
_findNearestGen = [];
{
if (alive _x && (_x getVariable ["GeneratorRunning", false])) then {
_findNearestGen set [(count _findNearestGen),_x];
};
} count _findNearestGens;
_IsNearRunningGen = count (_findNearestGen);
// show that pump needs power if no generator nearby.
if(_IsNearRunningGen > 0) then {
s_player_fuelauto = player addAction [localize "STR_EPOCH_ACTIONS_FILLVEH", "\z\addons\dayz_code\actions\fill_nearestVehicle.sqf",objNull, 0, false, true, "",""];
} else {
s_player_fuelauto = player addAction [format["<t color=#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_NEEDPOWER], "",[], 0, false, true, "",""];
};
};
} else {
player removeAction s_player_fuelauto;
s_player_fuelauto = -1;
};
//Fuel Pump on truck
if(_typeOfCursorTarget in DZE_fueltruckarray && alive _cursorTarget) then {
if (s_player_fuelauto2 < 0) then {
// show that fuel truck pump needs power.
if(isEngineOn _cursorTarget) then {
s_player_fuelauto2 = player addAction [localize "STR_EPOCH_ACTIONS_FILLVEH", "\z\addons\dayz_code\actions\fill_nearestVehicle.sqf",_cursorTarget, 0, false, true, "",""];
} else {
s_player_fuelauto2 = player addAction [format["<t color=#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_NEEDPOWER], "",[], 0, false, true, "",""];
};
};
} else {
player removeAction s_player_fuelauto2;
s_player_fuelauto2 = -1;
player removeAction s_givemoney_dialog;
s_givemoney_dialog = -1;
player removeAction s_bank_dialog;
s_bank_dialog = -1;
player removeAction s_bank_dialog2;
s_bank_dialog2 = -1;
};
// inplace upgrade tool
if ((_cursorTarget isKindOf "ModularItems") || (_cursorTarget isKindOf "Land_DZE_WoodDoor_Base") || (_cursorTarget isKindOf "CinderWallDoor_DZ_Base")) then {
if ((s_player_lastTarget select 0) != _cursorTarget) then {
if (s_player_upgrade_build > 0) then {
player removeAction s_player_upgrade_build;
s_player_upgrade_build = -1;
};
};
if (s_player_upgrade_build < 0) then {
// s_player_lastTarget = _cursorTarget;
s_player_lastTarget set [0,_cursorTarget];
s_player_upgrade_build = player addAction [format[localize "STR_EPOCH_ACTIONS_UPGRADE",_text], "custom\BuildVectors\action\player_upgrade.sqf",_cursorTarget, -1, false, true, "",""];
};
} else {
player removeAction s_player_upgrade_build;
s_player_upgrade_build = -1;
};
// downgrade system
if((_isDestructable || _cursorTarget isKindOf "Land_DZE_WoodDoorLocked_Base" || _cursorTarget isKindOf "CinderWallDoorLocked_DZ_Base") && (DZE_Lock_Door == _ownerID)) then {
if ((s_player_lastTarget select 1) != _cursorTarget) then {
if (s_player_downgrade_build > 0) then {
player removeAction s_player_downgrade_build;
s_player_downgrade_build = -1;
};
};
if (s_player_downgrade_build < 0) then {
s_player_lastTarget set [1,_cursorTarget];
s_player_downgrade_build = player addAction [format[localize "STR_EPOCH_ACTIONS_REMLOCK",_text], "custom\BuildVectors\action\player_buildingDowngrade.sqf",_cursorTarget, -2, false, true, "",""];
};
} else {
player removeAction s_player_downgrade_build;
s_player_downgrade_build = -1;
};
// inplace maintenance tool
//if((_cursorTarget isKindOf "ModularItems" || _cursorTarget isKindOf "DZE_Housebase" || _typeOfCursorTarget == "LightPole_DZ") && (damage _cursorTarget >= DZE_DamageBeforeMaint)) then {
// if ((s_player_lastTarget select 2) != _cursorTarget) then {
// if (s_player_maint_build > 0) then {
// player removeAction s_player_maint_build;
// s_player_maint_build = -1;
// };
// };
//
// if (s_player_maint_build < 0) then {
// s_player_lastTarget set [2,_cursorTarget];
// s_player_maint_build = player addAction [format[localize "STR_EPOCH_ACTIONS_MAINTAIN",_text], "\z\addons\dayz_code\actions\player_buildingMaint.sqf",_cursorTarget, -2, false, true, "",""];
// };
//} else {
// player removeAction s_player_maint_build;
// s_player_maint_build = -1;
//};
//Start Generator
if(_cursorTarget isKindOf "Generator_DZ") then {
if (s_player_fillgen < 0) then {
// check if not running
if((_cursorTarget getVariable ["GeneratorRunning", false])) then {
s_player_fillgen = player addAction [localize "STR_EPOCH_ACTIONS_GENERATOR1", "\z\addons\dayz_code\actions\stopGenerator.sqf",_cursorTarget, 0, false, true, "",""];
} else {
// check if not filled && player has jerry.
if((_cursorTarget getVariable ["GeneratorFilled", false])) then {
s_player_fillgen = player addAction [localize "STR_EPOCH_ACTIONS_GENERATOR2", "\z\addons\dayz_code\actions\fill_startGenerator.sqf",_cursorTarget, 0, false, true, "",""];
} else {
if("ItemJerrycan" in _magazinesPlayer) then {
s_player_fillgen = player addAction [localize "STR_EPOCH_ACTIONS_GENERATOR3", "\z\addons\dayz_code\actions\fill_startGenerator.sqf",_cursorTarget, 0, false, true, "",""];
};
};
};
};
} else {
player removeAction s_player_fillgen;
s_player_fillgen = -1;
};
//Towing with tow truck
/*
if(_typeOfCursorTarget == "TOW_DZE") then {
if (s_player_towing < 0) then {
if(!(_cursorTarget getVariable ["DZEinTow", false])) then {
s_player_towing = player addAction [localize "STR_EPOCH_ACTIONS_ATTACH" "\z\addons\dayz_code\actions\tow_AttachStraps.sqf",_cursorTarget, 0, false, true, "",""];
} else {
s_player_towing = player addAction [localize "STR_EPOCH_ACTIONS_DETACH", "\z\addons\dayz_code\actions\tow_DetachStraps.sqf",_cursorTarget, 0, false, true, "",""];
};
};
} else {
player removeAction s_player_towing;
s_player_towing = -1;
};
*/
//Sleep
if(_isTent && _ownerID == dayz_characterID) then {
if ((s_player_sleep < 0) && (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;
};
//Repairing Vehicles
if ((dayz_myCursorTarget != _cursorTarget) && _isVehicle && !_isMan && _hasToolbox && (damage _cursorTarget < 1) && !_isDisallowRepair) then {
if (s_player_repair_crtl < 0) then {
dayz_myCursorTarget = _cursorTarget;
_menu = dayz_myCursorTarget addAction [localize "STR_EPOCH_PLAYER_REPAIRV", "\z\addons\dayz_code\actions\repair_vehicle.sqf",_cursorTarget, 0, true, false, "",""];
_menu1 = dayz_myCursorTarget addAction [localize "STR_EPOCH_PLAYER_SALVAGEV", "\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} count s_player_repairActions;s_player_repairActions = [];
s_player_repair_crtl = -1;
};
};
// All Traders
if (_isMan && !_isPZombie && _traderType in serverTraders) then {
if (s_player_parts_crtl < 0) then {
// get humanity
_humanity = player getVariable ["humanity",0];
_traderMenu = call compile format["menu_%1;",_traderType];
// diag_log ("TRADER = " + str(_traderMenu));
_low_high = "low";
_humanity_logic = false;
if((_traderMenu select 2) == "friendly") then {
_humanity_logic = (_humanity < -5000);
};
if((_traderMenu select 2) == "hostile") then {
_low_high = "high";
_humanity_logic = (_humanity > -5000);
};
if((_traderMenu select 2) == "hero") then {
_humanity_logic = (_humanity < 5000);
};
if(_humanity_logic) then {
_cancel = player addAction [format[localize "STR_EPOCH_ACTIONS_HUMANITY",_low_high], "\z\addons\dayz_code\actions\trade_cancel.sqf",["na"], 0, true, false, "",""];
s_player_parts set [count s_player_parts,_cancel];
} else {
// Static Menu
{
//diag_log format["DEBUG TRADER: %1", _x];
_buy = player addAction [format["Trade %1 %2 for %3 %4",(_x select 3),(_x select 5),(_x select 2),(_x select 6)], "\z\addons\dayz_code\actions\trade_items_wo_db.sqf",[(_x select 0),(_x select 1),(_x select 2),(_x select 3),(_x select 4),(_x select 5),(_x select 6)], (_x select 7), true, true, "",""];
s_player_parts set [count s_player_parts,_buy];
} count (_traderMenu select 1);
_buyV = player addAction ["<t color=#0059FF'>Advanced Trading</t>", "zupa\advancedTrading\init.sqf",(_traderMenu select 0), 999, true, false, "","];
s_player_parts set [count s_player_parts,_buyV];
// Database menu
_buy = player addAction [localize "STR_EPOCH_PLAYER_289", "\z\addons\dayz_code\actions\show_dialog.sqf",(_traderMenu select 0), 999, true, false, "",""];
s_player_parts set [count s_player_parts,_buy];
};
s_player_parts_crtl = 1;
};
} else {
{player removeAction _x} count s_player_parts;s_player_parts = [];
s_player_parts_crtl = -1;
};
if(dayz_tameDogs) then {
//Dog
if (_isDog && _isAlive && (_hasRawMeat) && _ownerID == "0" && player getVariable ["dogID", 0] == 0) then {
if (s_player_tamedog < 0) then {
s_player_tamedog = player addAction [localize "str_actions_tamedog", "\z\addons\dayz_code\actions\tame_dog.sqf", _cursorTarget, 1, false, true, "", ""];
};
} else {
player removeAction s_player_tamedog;
s_player_tamedog = -1;
};
if (_isDog && _ownerID == dayz_characterID && _isAlive) then {
_dogHandle = player getVariable ["dogID", 0];
if (s_player_feeddog < 0 && _hasRawMeat) then {
s_player_feeddog = player addAction [localize "str_actions_feeddog","\z\addons\dayz_code\actions\dog\feed.sqf",[_dogHandle,0], 0, false, true,"",""];
};
if (s_player_waterdog < 0 && "ItemWaterbottle" in _magazinesPlayer) then {
s_player_waterdog = player addAction [localize "str_actions_waterdog","\z\addons\dayz_code\actions\dog\feed.sqf",[_dogHandle,1], 0, false, true,"",""];
};
if (s_player_staydog < 0) then {
_lieDown = _dogHandle getFSMVariable "_actionLieDown";
if (_lieDown) then { _text = "str_actions_liedog"; } else { _text = "str_actions_sitdog"; };
s_player_staydog = player addAction [localize _text,"\z\addons\dayz_code\actions\dog\stay.sqf", _dogHandle, 5, false, true,"",""];
};
if (s_player_trackdog < 0) then {
s_player_trackdog = player addAction [localize "str_actions_trackdog","\z\addons\dayz_code\actions\dog\track.sqf", _dogHandle, 4, false, true,"",""];
};
if (s_player_barkdog < 0) then {
s_player_barkdog = player addAction [localize "str_actions_barkdog","\z\addons\dayz_code\actions\dog\speak.sqf", _cursorTarget, 3, false, true,"",""];
};
if (s_player_warndog < 0) then {
_warn = _dogHandle getFSMVariable "_watchDog";
if (_warn) then { _text = (localize "str_epoch_player_247"); _warn = false; } else { _text = (localize "str_epoch_player_248"); _warn = true; };
s_player_warndog = player addAction [format[localize "str_actions_warndog",_text],"\z\addons\dayz_code\actions\dog\warn.sqf",[_dogHandle, _warn], 2, false, true,"",""];
};
if (s_player_followdog < 0) then {
s_player_followdog = player addAction [localize "str_actions_followdog","\z\addons\dayz_code\actions\dog\follow.sqf",[_dogHandle,true], 6, false, true,"",""];
};
} else {
player removeAction s_player_feeddog;
s_player_feeddog = -1;
player removeAction s_player_waterdog;
s_player_waterdog = -1;
player removeAction s_player_staydog;
s_player_staydog = -1;
player removeAction s_player_trackdog;
s_player_trackdog = -1;
player removeAction s_player_barkdog;
s_player_barkdog = -1;
player removeAction s_player_warndog;
s_player_warndog = -1;
player removeAction s_player_followdog;
s_player_followdog = -1;
};
};
} else {
//Engineering
{dayz_myCursorTarget removeAction _x} count s_player_repairActions;s_player_repairActions = [];
s_player_repair_crtl = -1;
{player removeAction _x} count s_player_combi;s_player_combi = [];
dayz_myCursorTarget = objNull;
s_player_lastTarget = [objNull,objNull,objNull,objNull,objNull];
{player removeAction _x} count s_player_parts;s_player_parts = [];
s_player_parts_crtl = -1;
{player removeAction _x} count s_player_lockunlock;s_player_lockunlock = [];
s_player_lockUnlock_crtl = -1;
player removeAction s_player_checkGear;
s_player_checkGear = -1;
player removeAction s_player_SurrenderedGear;
s_player_SurrenderedGear = -1;
//Others
player 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_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;
//Dog
player removeAction s_player_tamedog;
s_player_tamedog = -1;
player removeAction s_player_feeddog;
s_player_feeddog = -1;
player removeAction s_player_waterdog;
s_player_waterdog = -1;
player removeAction s_player_staydog;
s_player_staydog = -1;
player removeAction s_player_trackdog;
s_player_trackdog = -1;
player removeAction s_player_barkdog;
s_player_barkdog = -1;
player removeAction s_player_warndog;
s_player_warndog = -1;
player removeAction s_player_followdog;
s_player_followdog = -1;
// vault
player removeAction s_player_unlockvault;
s_player_unlockvault = -1;
player removeAction s_player_packvault;
s_player_packvault = -1;
player removeAction s_player_lockvault;
s_player_lockvault = -1;
player removeAction s_player_information;
s_player_information = -1;
player removeAction s_player_fillgen;
s_player_fillgen = -1;
player removeAction s_player_upgrade_build;
s_player_upgrade_build = -1;
player removeAction s_player_maint_build;
s_player_maint_build = -1;
player removeAction s_player_downgrade_build;
s_player_downgrade_build = -1;
player removeAction s_player_ckc;
s_player_ckc = -1;
player removeAction s_player_Safe_ckc;
s_player_Safe_ckc = -1;
player removeAction s_player_towing;
s_player_towing = -1;
player removeAction s_player_fuelauto;
s_player_fuelauto = -1;
player removeAction s_player_fuelauto2;
s_player_fuelauto2 = -1;
player removeAction s_player_manageDoor;
s_player_manageDoor = -1; // u might also want to add this to variables reset in your variables.sqf
player removeAction s_givemoney_dialog;
s_givemoney_dialog = -1;
player removeAction s_bank_dialog;
s_bank_dialog = -1;
player removeAction s_bank_dialog2;
s_bank_dialog2 = -1;
};
//Dog actions on player self
_dogHandle = player getVariable ["dogID", 0];
if (_dogHandle > 0) then {
_dog = _dogHandle getFSMVariable "_dog";
_ownerID = "0";
if (!isNull cursorTarget) then { _ownerID = cursorTarget getVariable ["CharacterID","0"]; };
if (_canDo && !_inVehicle && alive _dog && _ownerID != dayz_characterID) then {
if (s_player_movedog < 0) then {
s_player_movedog = player addAction [localize "str_actions_movedog", "\z\addons\dayz_code\actions\dog\move.sqf", player getVariable ["dogID", 0], 1, false, true, "", ""];
};
if (s_player_speeddog < 0) then {
_text = (localize "str_epoch_player_249");
_speed = 0;
if (_dog getVariable ["currentSpeed",1] == 0) then { _speed = 1; _text = (localize "str_epoch_player_250"); };
s_player_speeddog = player addAction [format[localize "str_actions_speeddog", _text], "\z\addons\dayz_code\actions\dog\speed.sqf",[player getVariable ["dogID", 0],_speed], 0, false, true, "", ""];
};
if (s_player_calldog < 0) then {
s_player_calldog = player addAction [localize "str_actions_calldog", "\z\addons\dayz_code\actions\dog\follow.sqf", [player getVariable ["dogID", 0], true], 2, false, true, "", ""];
};
};
} else {
player removeAction s_player_movedog;
s_player_movedog = -1;
player removeAction s_player_speeddog;
s_player_speeddog = -1;
player removeAction s_player_calldog;
s_player_calldog = -1;
};
//----------PACK BIKE START----------
_weapons = [currentWeapon player] + (weapons player) + (magazines player);
_isBike = typeOf cursorTarget in ["MMT_Civ"];
if((_isBike) and _canDo) then {
if (s_player_deploybike2 < 0) then {
s_player_deploybike2 = player addaction[("<t color="#007ab7"">" + ("Pack Bike") +"</t>"),"pack.sqf","",5,false,true,"", "];
};
} else {
player removeAction s_player_deploybike2;
s_player_deploybike2 = -1;
};
//----------PACK BIKE END----------
Only one other thing does not look right but another mod changes the line in server_monitor.sqf. Could this be causing me any issues with money storage not showing as an option? Everything else is exactly how it should be edited.
The edit comes from door management. if ((count _intentory > 0) && !(typeOf( _object) in DZE_DoorsLocked)) then {
if ((count _intentory > 0) && !(typeOf( _object) in DZE_DoorsLocked)) then {
/*ZSC*/
if( count (_intentory) > 3)then{
_object setVariable ["bankMoney", _intentory select 3, true];
}else{
_object setVariable ["bankMoney", 0, true];
};
/*ZSC*/
if (_type in DZE_LockedStorage) then {
// Fill variables with loot
_object setVariable ["WeaponCargo", (_intentory select 0),true];
_object setVariable ["MagazineCargo", (_intentory select 1),true];
_object setVariable ["BackpackCargo", (_intentory select 2),true];
} else {
//Add weapons
_objWpnTypes = (_intentory select 0) select 0;
_objWpnQty = (_intentory select 0) select 1;
_countr = 0;
{
if(_x in (DZE_REPLACE_WEAPONS select 0)) then {
_x = (DZE_REPLACE_WEAPONS select 1) select ((DZE_REPLACE_WEAPONS select 0) find _x);
};
_isOK = isClass(configFile >> "CfgWeapons" >> _x);
if (_isOK) then {
_object addWeaponCargoGlobal [_x,(_objWpnQty select _countr)];
};
_countr = _countr + 1;
} count _objWpnTypes;
//Add Magazines
_objWpnTypes = (_intentory select 1) select 0;
_objWpnQty = (_intentory select 1) select 1;
_countr = 0;
{
if (_x == "BoltSteel") then { _x = "WoodenArrow" }; // Convert BoltSteel to WoodenArrow
if (_x == "ItemTent") then { _x = "ItemTentOld" };
_isOK = isClass(configFile >> "CfgMagazines" >> _x);
if (_isOK) then {
_object addMagazineCargoGlobal [_x,(_objWpnQty select _countr)];
};
_countr = _countr + 1;
} count _objWpnTypes;
//Add Backpacks
_objWpnTypes = (_intentory select 2) select 0;
_objWpnQty = (_intentory select 2) select 1;
_countr = 0;
{
_isOK = isClass(configFile >> "CfgVehicles" >> _x);
if (_isOK) then {
_object addBackpackCargoGlobal [_x,(_objWpnQty select _countr)];
};
_countr = _countr + 1;
} count _objWpnTypes;
};
};
-
Everything is working great for me except i do not get money storage option on vehicles or storage items. Can anyone see the problem in my fn_selfactions?
scriptName "Functions\misc\fn_selfActions.sqf";
/***********************************************************
ADD ACTIONS FOR SELF
- Function
- [] call fnc_usec_selfActions;
************************************************************/
private ["_isWreckBuilding","_temp_keys","_magazinesPlayer","_isPZombie","_vehicle","_inVehicle","_hasFuelE","_hasRawMeat","_hasKnife","_hasToolbox","_onLadder","_nearLight","_canPickLight","_canDo","_text","_isHarvested","_isVehicle","_isVehicletype","_isMan","_traderType","_ownerID","_isAnimal","_isDog","_isZombie","_isDestructable","_isTent","_isFuel","_isAlive","_Unlock","_lock","_buy","_dogHandle","_lieDown","_warn","_hastinitem","_allowedDistance","_menu","_menu1","_humanity_logic","_low_high","_cancel","_metals_trader","_traderMenu","_isWreck","_isRemovable","_isDisallowRepair","_rawmeat","_humanity","_speed","_dog","_hasbottleitem","_isAir","_isShip","_playersNear","_findNearestGens","_findNearestGen","_IsNearRunningGen","_cursorTarget","_isnewstorage","_itemsPlayer","_ownerKeyId","_typeOfCursorTarget","_hasKey","_oldOwner","_combi","_key_colors","_player_deleteBuild","_player_flipveh","_player_lockUnlock_crtl","_player_butcher","_player_studybody","_player_cook","_player_boil","_hasFuelBarrelE","_hasHotwireKit","_player_SurrenderedGear","_isSurrendered","_isModular","_isModularDoor","_ownerKeyName","_temp_keys_names","_hasAttached","_allowTow","_liftHeli","_found","_posL","_posC","_height","_liftHelis","_attached"];
if (DZE_ActionInProgress) exitWith {}; // Do not allow if any script is running.
_vehicle = vehicle player;
_isPZombie = player isKindOf "PZombie_VB";
_inVehicle = (_vehicle != player);
_onLadder = (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1;
_canDo = (!r_drag_sqf && !r_player_unconscious && !_onLadder);
_nearLight = nearestObject [player,"LitObject"];
_canPickLight = false;
if (!isNull _nearLight) then {
if (_nearLight distance player < 4) then {
_canPickLight = isNull (_nearLight getVariable ["owner",objNull]);
};
};
//Grab Flare
if (_canPickLight && !dayz_hasLight && !_isPZombie) 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 (DZE_HeliLift) then {
_hasAttached = _vehicle getVariable["hasAttached",false];
if(_inVehicle && (_vehicle isKindOf "Air") && ((([_vehicle] call FNC_getPos) select 2) < 30) && (speed _vehicle < 5) && (typeName _hasAttached == "OBJECT")) then {
if (s_player_heli_detach < 0) then {
dayz_myLiftVehicle = _vehicle;
s_player_heli_detach = dayz_myLiftVehicle addAction ["Detach Vehicle","\z\addons\dayz_code\actions\player_heliDetach.sqf",[dayz_myLiftVehicle,_hasAttached],2,false,true,"",""];
};
} else {
dayz_myLiftVehicle removeAction s_player_heli_detach;
s_player_heli_detach = -1;
};
};
if(DZE_HaloJump) then {
if(_inVehicle && (_vehicle isKindOf "Air") && ((([_vehicle] call FNC_getPos) select 2) > 400)) then {
if (s_halo_action < 0) then {
DZE_myHaloVehicle = _vehicle;
s_halo_action = DZE_myHaloVehicle addAction [localize "STR_EPOCH_ACTIONS_HALO","\z\addons\dayz_code\actions\halo_jump.sqf",[],2,false,true,"",""];
};
} else {
DZE_myHaloVehicle removeAction s_halo_action;
s_halo_action = -1;
};
};
if (!DZE_ForceNameTagsOff) then {
if (s_player_showname < 0 && !_isPZombie) then {
if (DZE_ForceNameTags) then {
s_player_showname = 1;
player setVariable["DZE_display_name",true,true];
} else {
s_player_showname = player addAction [localize "STR_EPOCH_ACTIONS_NAMEYES", "\z\addons\dayz_code\actions\display_name.sqf",true, 0, true, false, "",""];
s_player_showname1 = player addAction [localize "STR_EPOCH_ACTIONS_NAMENO", "\z\addons\dayz_code\actions\display_name.sqf",false, 0, true, false, "",""];
};
};
};
if(_isPZombie) then {
if (s_player_callzombies < 0) then {
s_player_callzombies = player addAction [localize "STR_EPOCH_ACTIONS_RAISEHORDE", "\z\addons\dayz_code\actions\call_zombies.sqf",player, 5, true, false, "",""];
};
if (DZE_PZATTACK) then {
call pz_attack;
DZE_PZATTACK = false;
};
if (s_player_pzombiesvision < 0) then {
s_player_pzombiesvision = player addAction [localize "STR_EPOCH_ACTIONS_NIGHTVIS", "\z\addons\dayz_code\actions\pzombie\pz_vision.sqf", [], 4, false, true, "nightVision", "_this == _target"];
};
if (!isNull cursorTarget && (player distance cursorTarget < 3)) then { //Has some kind of target
_isAnimal = cursorTarget isKindOf "Animal";
_isZombie = cursorTarget isKindOf "zZombie_base";
_isHarvested = cursorTarget getVariable["meatHarvested",false];
_isMan = cursorTarget isKindOf "Man";
// Pzombie Gut human corpse || animal
if (!alive cursorTarget && (_isAnimal || _isMan) && !_isZombie && !_isHarvested) then {
if (s_player_pzombiesfeed < 0) then {
s_player_pzombiesfeed = player addAction [localize "STR_EPOCH_ACTIONS_FEED", "\z\addons\dayz_code\actions\pzombie\pz_feed.sqf",cursorTarget, 3, true, false, "",""];
};
} else {
player removeAction s_player_pzombiesfeed;
s_player_pzombiesfeed = -1;
};
} else {
player removeAction s_player_pzombiesfeed;
s_player_pzombiesfeed = -1;
};
};
// Bank Robbery
_bankrobbery = cursorTarget isKindOf "Notebook";
if ((speed player <= 1) && _bankrobbery && (player distance cursorTarget < 5)) then {
if (s_player_bankrob < 0) then {
s_player_bankrob = player addAction ["Rob the bank","rob\robbank.sqf",cursorTarget, 0, false, true, "",""];
};
} else {
player removeAction s_player_bankrob;
s_player_bankrob = -1;
};
// Bank Robbery END
// Increase distance only if AIR || SHIP
_allowedDistance = 4;
_isAir = cursorTarget isKindOf "Air";
_isShip = cursorTarget isKindOf "Ship";
if(_isAir || _isShip) then {
_allowedDistance = 8;
};
if (!isNull cursorTarget && !_inVehicle && !_isPZombie && (player distance cursorTarget < _allowedDistance) && _canDo) then { //Has some kind of target
// set cursortarget to variable
_cursorTarget = cursorTarget;
// get typeof cursortarget once
_typeOfCursorTarget = typeOf _cursorTarget;
// hintsilent _typeOfCursorTarget;
_isVehicle = _cursorTarget isKindOf "AllVehicles";
_isVehicletype = _typeOfCursorTarget in ["ATV_US_EP1","ATV_CZ_EP1"];
_isnewstorage = _typeOfCursorTarget in DZE_isNewStorage;
// get items && magazines only once
_magazinesPlayer = magazines player;
//boiled Water
_hasbottleitem = "ItemWaterbottle" in _magazinesPlayer;
_hastinitem = false;
{
if (_x in _magazinesPlayer) then {
_hastinitem = true;
};
} count boil_tin_cans;
_hasFuelE = "ItemJerrycanEmpty" in _magazinesPlayer;
_hasFuelBarrelE = "ItemFuelBarrelEmpty" in _magazinesPlayer;
_hasHotwireKit = "ItemHotwireKit" in _magazinesPlayer;
_itemsPlayer = items player;
_temp_keys = [];
_temp_keys_names = [];
// find available keys
_key_colors = ["ItemKeyYellow","ItemKeyBlue","ItemKeyRed","ItemKeyGreen","ItemKeyBlack"];
{
if (configName(inheritsFrom(configFile >> "CfgWeapons" >> _x)) in _key_colors) then {
_ownerKeyId = getNumber(configFile >> "CfgWeapons" >> _x >> "keyid");
_ownerKeyName = getText(configFile >> "CfgWeapons" >> _x >> "displayName");
_temp_keys_names set [_ownerKeyId,_ownerKeyName];
_temp_keys set [count _temp_keys,str(_ownerKeyId)];
};
} count _itemsPlayer;
_hasKnife = "ItemKnife" in _itemsPlayer;
_hasToolbox = "ItemToolbox" in _itemsPlayer;
_isMan = _cursorTarget isKindOf "Man";
_traderType = _typeOfCursorTarget;
_ownerID = _cursorTarget getVariable ["CharacterID","0"];
_isAnimal = _cursorTarget isKindOf "Animal";
_isDog = (_cursorTarget isKindOf "DZ_Pastor" || _cursorTarget isKindOf "DZ_Fin");
_isZombie = _cursorTarget isKindOf "zZombie_base";
_isDestructable = _cursorTarget isKindOf "BuiltItems";
_isWreck = _typeOfCursorTarget in DZE_isWreck;
_isWreckBuilding = _typeOfCursorTarget in DZE_isWreckBuilding;
_isModular = _cursorTarget isKindOf "ModularItems";
_isModularDoor = _typeOfCursorTarget in ["Land_DZE_WoodDoor","Land_DZE_LargeWoodDoor","Land_DZE_GarageWoodDoor","CinderWallDoor_DZ","CinderWallDoorSmall_DZ"];
_isRemovable = _typeOfCursorTarget in DZE_isRemovable;
_isDisallowRepair = _typeOfCursorTarget in ["M240Nest_DZ"];
_isTent = _cursorTarget isKindOf "TentStorage";
_isAlive = alive _cursorTarget;
_text = getText (configFile >> "CfgVehicles" >> _typeOfCursorTarget >> "displayName");
_rawmeat = meatraw;
_hasRawMeat = false;
{
if (_x in _magazinesPlayer) then {
_hasRawMeat = true;
};
} count _rawmeat;
_isFuel = false;
if (_hasFuelE || _hasFuelBarrelE) then {
{
if(_cursorTarget isKindOf _x) exitWith {_isFuel = true;};
} count dayz_fuelsources;
};
// diag_log ("OWNERID = " + _ownerID + " CHARID = " + dayz_characterID + " " + str(_ownerID == dayz_characterID));
// logic vars
_player_flipveh = false;
_player_deleteBuild = false;
_player_lockUnlock_crtl = false;
/*if (_canDo && (speed player <= 1) && (_cursorTarget isKindOf "Plastic_Pole_EP1_DZ")) then {
if (s_player_maintain_area < 0) then {
s_player_maintain_area = player addAction [format["<t color=#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_MAINTAREA], "actions\maintain_area.sqf", "maintain", 5, false];
s_player_maintain_area_preview = player addAction [format["<t color=#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_MAINTPREV], "actions\maintain_area.sqf", "preview", 5, false];
};
} else {
player removeAction s_player_maintain_area;
s_player_maintain_area = -1;
player removeAction s_player_maintain_area_preview;
s_player_maintain_area_preview = -1;
};*/
// CURSOR TARGET ALIVE
if(_isAlive) then {
//Allow player to delete objects
if(_isDestructable || _isWreck || _isRemovable || _isWreckBuilding) then {
if(_hasToolbox && "ItemCrowbar" in _itemsPlayer) then {
_player_deleteBuild = true;
};
};
//Allow owners to delete modulars
if(_isModular && (dayz_characterID == _ownerID)) then {
if(_hasToolbox && "ItemCrowbar" in _itemsPlayer) then {
_player_deleteBuild = true;
};
};
//Allow owners to delete modular doors without locks
if(_isModularDoor && (dayz_characterID == _ownerID)) then {
if(_hasToolbox && "ItemCrowbar" in _itemsPlayer) then {
_player_deleteBuild = true;
};
};
// CURSOR TARGET VEHICLE
if(_isVehicle) then {
//flip vehicle small vehicles by your self && all other vehicles with help nearby
if (!(canmove _cursorTarget) && (player distance _cursorTarget >= 2) && (count (crew _cursorTarget))== 0 && ((vectorUp _cursorTarget) select 2) < 0.5) then {
_playersNear = {isPlayer _x} count (player nearEntities ["CAManBase", 6]);
if(_isVehicletype || (_playersNear >= 2)) then {
_player_flipveh = true;
};
};
if(!_isMan && _ownerID != "0" && !(_cursorTarget isKindOf "Bicycle")) then {
_player_lockUnlock_crtl = true;
};
};
};
if(_player_deleteBuild) 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;
};
if (DZE_HeliLift) then {
_liftHeli = objNull;
_found = false;
_allowTow = false;
if ((count (crew _cursorTarget)) == 0) then {
{
if(!_allowTow) then {
_allowTow = _cursorTarget isKindOf _x;
};
} count DZE_HeliAllowToTow;
};
//diag_log format["CREW: %1 ALLOW: %2",(count (crew _cursorTarget)),_allowTow];
if (_allowTow) then {
_liftHelis = nearestObjects [player, DZE_HeliAllowTowFrom, 15];
{
if(!_found) then {
_posL = [_x] call FNC_getPos;
_posC = [_cursorTarget] call FNC_getPos;
_height = (_posL select 2) - (_posC select 2);
_hasAttached = _x getVariable["hasAttached",false];
if(_height < 15 && _height > 5 && (typeName _hasAttached != "OBJECT")) then {
if(((abs((_posL select 0) - (_posC select 0))) < 10) && ((abs((_posL select 1) - (_posC select 1))) < 10)) then {
_liftHeli = _x;
_found = true;
};
};
};
} count _liftHelis;
};
//diag_log format["HELI: %1 TARGET: %2",_found,_cursorTarget];
_attached = _cursorTarget getVariable["attached",false];
if(_found && _allowTow && _canDo && !locked _cursorTarget && !_isPZombie && (typeName _attached != "OBJECT")) then {
if (s_player_heli_lift < 0) then {
s_player_heli_lift = player addAction ["Attach to Heli", "\z\addons\dayz_code\actions\player_heliLift.sqf",[_liftHeli,_cursorTarget], -10, false, true, "",""];
};
} else {
player removeAction s_player_heli_lift;
s_player_heli_lift = -1;
};
};
// Allow Owner to lock && unlock vehicle
if(_player_lockUnlock_crtl) then {
if (s_player_lockUnlock_crtl < 0) then {
_hasKey = _ownerID in _temp_keys;
_oldOwner = (_ownerID == dayz_playerUID);
if(locked _cursorTarget) then {
if(_hasKey || _oldOwner) then {
_Unlock = player addAction [format[localize "STR_EPOCH_ACTIONS_UNLOCK",_text], "\z\addons\dayz_code\actions\unlock_veh.sqf",[_cursorTarget,(_temp_keys_names select (parseNumber _ownerID))], 2, true, true, "", ""];
s_player_lockunlock set [count s_player_lockunlock,_Unlock];
s_player_lockUnlock_crtl = 1;
} else {
if(_hasHotwireKit) then {
_Unlock = player addAction [format[localize "STR_EPOCH_ACTIONS_HOTWIRE",_text], "\z\addons\dayz_code\actions\hotwire_veh.sqf",_cursorTarget, 2, true, true, "", ""];
} else {
_Unlock = player addAction [format["<t color=#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_VEHLOCKED], "",_cursorTarget, 2, true, true, "", ""];
};
s_player_lockunlock set [count s_player_lockunlock,_Unlock];
s_player_lockUnlock_crtl = 1;
};
} else {
if(_hasKey || _oldOwner) then {
_lock = player addAction [format[localize "STR_EPOCH_ACTIONS_LOCK",_text], "\z\addons\dayz_code\actions\lock_veh.sqf",_cursorTarget, 1, true, true, "", ""];
s_player_lockunlock set [count s_player_lockunlock,_lock];
if (_typeOfCursorTarget in ColourVehicles) then {
private ["_paint"];
_paint = player addAction ["<t color=#0059FF'>Paint Vehicle</t>", "Paint\player_paint_init.sqf", _cursorTarget, 2, true, true, "", "];
s_player_lockunlock set [count s_player_lockunlock,_paint];
};
s_player_lockUnlock_crtl = 1;
};
};
};
} else {
{player removeAction _x} count s_player_lockunlock;s_player_lockunlock = [];
s_player_lockUnlock_crtl = -1;
};
if(DZE_AllowForceSave) then {
//Allow player to force save
if((_isVehicle || _isTent) && !_isMan) 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;
};
};
If(DZE_AllowCargoCheck) then {
if((_isVehicle || _isTent || _isnewstorage) && _isAlive && !_isMan && !locked _cursorTarget) then {
if (s_player_checkGear < 0) then {
s_player_checkGear = player addAction [localize "STR_EPOCH_PLAYER_CARGO", "\z\addons\dayz_code\actions\cargocheck.sqf",_cursorTarget, 1, true, true, "", ""];
};
} else {
player removeAction s_player_checkGear;
s_player_checkGear = -1;
};
};
//flip vehicle small vehicles by your self && all other vehicles with help nearby
if(_player_flipveh) 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 jerrycan
if((_hasFuelE || _hasFuelBarrelE) && _isFuel) 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;
};
// logic vars for addactions
_player_butcher = false;
_player_studybody = false;
_player_SurrenderedGear = false;
// CURSOR TARGET NOT ALIVE
if (!_isAlive) then {
// Gut animal/zed
if((_isAnimal || _isZombie) && _hasKnife) then {
_isHarvested = _cursorTarget getVariable["meatHarvested",false];
if (!_isHarvested) then {
_player_butcher = true;
};
};
// Study body
if (_isMan && !_isZombie && !_isAnimal) then {
_player_studybody = true;
}
} else {
// unit alive
// gear access on surrendered player
if(_isMan && !_isZombie && !_isAnimal) then {
_isSurrendered = _cursorTarget getVariable ["DZE_Surrendered",false];
if (_isSurrendered) then {
_player_SurrenderedGear = true;
};
};
};
// Human Gut animal || zombie
if (_player_butcher) then {
if (s_player_butcher < 0) then {
if(_isZombie) then {
s_player_butcher = player addAction [localize "STR_EPOCH_ACTIONS_GUTZOM", "\z\addons\dayz_code\actions\gather_zparts.sqf",_cursorTarget, 0, true, true, "", ""];
} else {
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;
};
// Study Body
if (_player_studybody) then {
if (s_player_studybody < 0) then {
s_player_studybody = player addAction [("<t color="#FF0000"">"+("Check Wallet") + "</t>"), "ZSC\actions\check_wallet.sqf",_cursorTarget, 0, false, true, "","];
};
} else {
player removeAction s_player_studybody;
s_player_studybody = -1;
};
// logic vars
_player_cook = false;
_player_boil = false;
// CURSOR TARGET IS FIRE
if (inflamed _cursorTarget) then {
//Fireplace Actions check
if (_hasRawMeat) then {
_player_cook = true;
};
// Boil water
if (_hasbottleitem && _hastinitem) then {
_player_boil = true;
};
};
if (_player_SurrenderedGear) then {
if (s_player_SurrenderedGear < 0) then {
s_player_SurrenderedGear = player addAction [localize "STR_EPOCH_ACTIONS_GEAR", "\z\addons\dayz_code\actions\surrender_gear.sqf",_cursorTarget, 1, true, true, "", ""];
};
} else {
player removeAction s_player_SurrenderedGear;
s_player_SurrenderedGear = -1;
};
//Fireplace Actions check
if (_player_cook) 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, "", ""];
};
} else {
player removeAction s_player_cook;
s_player_cook = -1;
};
// Boil water
if (_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 {
player removeAction s_player_boil;
s_player_boil = -1;
};
if(_cursorTarget == dayz_hasFire) then {
if ((s_player_fireout < 0) && !(inflamed _cursorTarget) && (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;
};
//Packing my tent
if(_isTent && (player distance _cursorTarget < 3)) then {
if (_ownerID == dayz_characterID) then {
if (s_player_packtent < 0) then {
s_player_packtent = player addAction [localize "str_actions_self_07", "\z\addons\dayz_code\actions\tent_pack.sqf",_cursorTarget, 0, false, true, "",""];
};
} else {
if(("ItemJerrycan" in _magazinesPlayer) && ("ItemMatchbox_DZE" in weapons player)) then {
if (s_player_packtent < 0) then {
s_player_packtent = player addAction [localize "STR_EPOCH_ACTIONS_DESTROYTENT", "\z\addons\dayz_code\actions\remove.sqf",_cursorTarget, 1, true, true, "", ""];
};
};
};
} else {
player removeAction s_player_packtent;
s_player_packtent = -1;
};
//Allow manage door
if((_typeOfCursorTarget in DZE_DoorsLocked)) then {
if (s_player_manageDoor >= 0 && door_management_last != _cursorTarget) then {
player removeAction s_player_manageDoor;
s_player_manageDoor = -1;
};
if (s_player_manageDoor < 0) then {
door_management_last = _cursorTarget;
s_player_manageDoor = player addAction ["<t color='#0059FF'>Manage Door</t>", "doorManagement\initDoorManagement.sqf", _cursorTarget, 5, false];
};
} else {
door_management_last = objNull;
player removeAction s_player_manageDoor;
s_player_manageDoor = -1;
};
//Allow owner to unlock vault
if((_typeOfCursorTarget in DZE_LockableStorage) && _ownerID != "0" && (player distance _cursorTarget < 3)) then {
if (s_player_unlockvault < 0) then {
if(_typeOfCursorTarget in DZE_LockedStorage) then {
if(_ownerID == dayz_combination || _ownerID == dayz_playerUID) then {
_combi = player addAction [format[localize "STR_EPOCH_ACTIONS_OPEN",_text], "\z\addons\dayz_code\actions\vault_unlock.sqf",_cursorTarget, 0, false, true, "",""];
s_player_combi set [count s_player_combi,_combi];
} else {
_combi = player addAction [format[localize "STR_EPOCH_ACTIONS_UNLOCK",_text], "\z\addons\dayz_code\actions\vault_combination_1.sqf",_cursorTarget, 0, false, true, "",""];
s_player_combi set [count s_player_combi,_combi];
};
s_player_unlockvault = 1;
} else {
if(_ownerID != dayz_combination && _ownerID != dayz_playerUID) then {
_combi = player addAction [localize "STR_EPOCH_ACTIONS_RECOMBO", "\z\addons\dayz_code\actions\vault_combination_1.sqf",_cursorTarget, 0, false, true, "",""];
s_player_combi set [count s_player_combi,_combi];
s_player_unlockvault = 1;
};
};
};
} else {
{player removeAction _x} count s_player_combi;s_player_combi = [];
s_player_unlockvault = -1;
};
if(_typeOfCursorTarget in ZSC_MoneyStorage && (player distance _cursorTarget < 5)) then {
if (s_bank_dialog < 0) then {
s_bank_dialog = player addAction ["Money Storage", "ZSC\actions\bank_dialog.sqf",_cursorTarget, 3, true, true, "", ""];
};
} else {
player removeAction s_bank_dialog;
s_bank_dialog = -1;
};
// cars
if( _isVehicle && !_isMan &&_isAlive && !_isMan && !locked _cursorTarget && !(_cursorTarget isKindOf "Bicycle") && (player distance _cursorTarget < 5)) then {
if (s_bank_dialog2 < 0) then {
s_bank_dialog2 = player addAction ["Money Storage", "ZSC\actions\bank_dialog.sqf",_cursorTarget, 3, true, true, "", ""];
};
} else {
player removeAction s_bank_dialog2;
s_bank_dialog2 = -1;
};
//Allow owner to change Door code
if((_isDestructable || _cursorTarget isKindOf "Land_DZE_WoodDoorLocked_Base" || _cursorTarget isKindOf "CinderWallDoorLocked_DZ_Base") && (DZE_Lock_Door == _ownerID)) then {
if ((s_player_lastTarget select 1) != _cursorTarget) then {
if (s_player_ckc > 0) then {
player removeAction s_player_ckc;
s_player_ckc = -1;
};
};
if (s_player_ckc < 0) then {
s_player_lastTarget set [1,_cursorTarget];
s_player_ckc = player addaction["Set new Code", "ckc\ckc_startUI.sqf","",0,false,true,"", ""];
};
} else {
player removeAction s_player_ckc;
s_player_ckc = -1;
};
//Allow owner to change vault code
_unlockedVault = ["VaultStorage"];
if(typeOf(cursortarget) in _unlockedVault && _ownerID != "0" && (player distance _cursorTarget < 2)) then {
if (s_player_Safe_ckc < 0) then {
if ((typeOf(cursortarget) == "VaultStorage") &&(_ownerID == dayz_combination || _ownerID == dayz_playerUID) ) then {
s_player_Safe_ckc = player addaction["Set new Code", "ckc\ckc_startSafeUI.sqf","",1,false,true,"", ""];
};
};
} else {
player removeAction s_player_Safe_ckc;
s_player_Safe_ckc = -1;
};
//Allow owner to pack vault
if(_typeOfCursorTarget in DZE_UnLockedStorage && _ownerID != "0" && (player distance _cursorTarget < 3)) then {
if (s_player_lockvault < 0) then {
if(_ownerID == dayz_combination || _ownerID == dayz_playerUID) then {
s_player_lockvault = player addAction [format[localize "STR_EPOCH_ACTIONS_LOCK",_text], "\z\addons\dayz_code\actions\vault_lock.sqf",_cursorTarget, 0, false, true, "",""];
};
};
if (s_player_packvault < 0 && (_ownerID == dayz_combination || _ownerID == dayz_playerUID)) then {
s_player_packvault = player addAction [format["<t color=#ff0000'>%1</t>",(format[localize "STR_EPOCH_ACTIONS_PACK",_text])], "\z\addons\dayz_code\actions\vault_pack.sqf",_cursorTarget, 0, false, true, "","];
};
} else {
player removeAction s_player_packvault;
s_player_packvault = -1;
player removeAction s_player_lockvault;
s_player_lockvault = -1;
};
//Player Deaths
if(_typeOfCursorTarget == "Info_Board_EP1") then {
if (s_player_information < 0) then {
s_player_information = player addAction [localize "STR_EPOCH_ACTIONS_MURDERS", "\z\addons\dayz_code\actions\list_playerDeaths.sqf",[], 7, false, true, "",""];
};
} else {
player removeAction s_player_information;
s_player_information = -1;
};
if (_isMan and _isAlive and !_isZombie and !_isAnimal and !(_traderType in serverTraders)) then {
if (s_givemoney_dialog < 0) then {
s_givemoney_dialog = player addAction [format["Give Money to %1", (name _cursorTarget)], "ZSC\actions\give_player_dialog.sqf",_cursorTarget, 3, true, true, "", ""];
};
} else {
player removeAction s_givemoney_dialog;
s_givemoney_dialog = -1;
};
//Fuel Pump
if(_typeOfCursorTarget in dayz_fuelpumparray) then {
if (s_player_fuelauto < 0) then {
// check if Generator_DZ is running within 30 meters
_findNearestGens = nearestObjects [player, ["Generator_DZ"], 30];
_findNearestGen = [];
{
if (alive _x && (_x getVariable ["GeneratorRunning", false])) then {
_findNearestGen set [(count _findNearestGen),_x];
};
} count _findNearestGens;
_IsNearRunningGen = count (_findNearestGen);
// show that pump needs power if no generator nearby.
if(_IsNearRunningGen > 0) then {
s_player_fuelauto = player addAction [localize "STR_EPOCH_ACTIONS_FILLVEH", "\z\addons\dayz_code\actions\fill_nearestVehicle.sqf",objNull, 0, false, true, "",""];
} else {
s_player_fuelauto = player addAction [format["<t color=#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_NEEDPOWER], "",[], 0, false, true, "",""];
};
};
} else {
player removeAction s_player_fuelauto;
s_player_fuelauto = -1;
};
//Fuel Pump on truck
if(_typeOfCursorTarget in DZE_fueltruckarray && alive _cursorTarget) then {
if (s_player_fuelauto2 < 0) then {
// show that fuel truck pump needs power.
if(isEngineOn _cursorTarget) then {
s_player_fuelauto2 = player addAction [localize "STR_EPOCH_ACTIONS_FILLVEH", "\z\addons\dayz_code\actions\fill_nearestVehicle.sqf",_cursorTarget, 0, false, true, "",""];
} else {
s_player_fuelauto2 = player addAction [format["<t color=#ff0000'>%1</t>",localize "STR_EPOCH_ACTIONS_NEEDPOWER], "",[], 0, false, true, "",""];
};
};
} else {
player removeAction s_player_fuelauto2;
s_player_fuelauto2 = -1;
player removeAction s_givemoney_dialog;
s_givemoney_dialog = -1;
player removeAction s_bank_dialog;
s_bank_dialog = -1;
player removeAction s_bank_dialog2;
s_bank_dialog2 = -1;
};
// inplace upgrade tool
if ((_cursorTarget isKindOf "ModularItems") || (_cursorTarget isKindOf "Land_DZE_WoodDoor_Base") || (_cursorTarget isKindOf "CinderWallDoor_DZ_Base")) then {
if ((s_player_lastTarget select 0) != _cursorTarget) then {
if (s_player_upgrade_build > 0) then {
player removeAction s_player_upgrade_build;
s_player_upgrade_build = -1;
};
};
if (s_player_upgrade_build < 0) then {
// s_player_lastTarget = _cursorTarget;
s_player_lastTarget set [0,_cursorTarget];
s_player_upgrade_build = player addAction [format[localize "STR_EPOCH_ACTIONS_UPGRADE",_text], "custom\BuildVectors\action\player_upgrade.sqf",_cursorTarget, -1, false, true, "",""];
};
} else {
player removeAction s_player_upgrade_build;
s_player_upgrade_build = -1;
};
// downgrade system
if((_isDestructable || _cursorTarget isKindOf "Land_DZE_WoodDoorLocked_Base" || _cursorTarget isKindOf "CinderWallDoorLocked_DZ_Base") && (DZE_Lock_Door == _ownerID)) then {
if ((s_player_lastTarget select 1) != _cursorTarget) then {
if (s_player_downgrade_build > 0) then {
player removeAction s_player_downgrade_build;
s_player_downgrade_build = -1;
};
};
if (s_player_downgrade_build < 0) then {
s_player_lastTarget set [1,_cursorTarget];
s_player_downgrade_build = player addAction [format[localize "STR_EPOCH_ACTIONS_REMLOCK",_text], "custom\BuildVectors\action\player_buildingDowngrade.sqf",_cursorTarget, -2, false, true, "",""];
};
} else {
player removeAction s_player_downgrade_build;
s_player_downgrade_build = -1;
};
// inplace maintenance tool
//if((_cursorTarget isKindOf "ModularItems" || _cursorTarget isKindOf "DZE_Housebase" || _typeOfCursorTarget == "LightPole_DZ") && (damage _cursorTarget >= DZE_DamageBeforeMaint)) then {
// if ((s_player_lastTarget select 2) != _cursorTarget) then {
// if (s_player_maint_build > 0) then {
// player removeAction s_player_maint_build;
// s_player_maint_build = -1;
// };
// };
//
// if (s_player_maint_build < 0) then {
// s_player_lastTarget set [2,_cursorTarget];
// s_player_maint_build = player addAction [format[localize "STR_EPOCH_ACTIONS_MAINTAIN",_text], "\z\addons\dayz_code\actions\player_buildingMaint.sqf",_cursorTarget, -2, false, true, "",""];
// };
//} else {
// player removeAction s_player_maint_build;
// s_player_maint_build = -1;
//};
//Start Generator
if(_cursorTarget isKindOf "Generator_DZ") then {
if (s_player_fillgen < 0) then {
// check if not running
if((_cursorTarget getVariable ["GeneratorRunning", false])) then {
s_player_fillgen = player addAction [localize "STR_EPOCH_ACTIONS_GENERATOR1", "\z\addons\dayz_code\actions\stopGenerator.sqf",_cursorTarget, 0, false, true, "",""];
} else {
// check if not filled && player has jerry.
if((_cursorTarget getVariable ["GeneratorFilled", false])) then {
s_player_fillgen = player addAction [localize "STR_EPOCH_ACTIONS_GENERATOR2", "\z\addons\dayz_code\actions\fill_startGenerator.sqf",_cursorTarget, 0, false, true, "",""];
} else {
if("ItemJerrycan" in _magazinesPlayer) then {
s_player_fillgen = player addAction [localize "STR_EPOCH_ACTIONS_GENERATOR3", "\z\addons\dayz_code\actions\fill_startGenerator.sqf",_cursorTarget, 0, false, true, "",""];
};
};
};
};
} else {
player removeAction s_player_fillgen;
s_player_fillgen = -1;
};
//Towing with tow truck
/*
if(_typeOfCursorTarget == "TOW_DZE") then {
if (s_player_towing < 0) then {
if(!(_cursorTarget getVariable ["DZEinTow", false])) then {
s_player_towing = player addAction [localize "STR_EPOCH_ACTIONS_ATTACH" "\z\addons\dayz_code\actions\tow_AttachStraps.sqf",_cursorTarget, 0, false, true, "",""];
} else {
s_player_towing = player addAction [localize "STR_EPOCH_ACTIONS_DETACH", "\z\addons\dayz_code\actions\tow_DetachStraps.sqf",_cursorTarget, 0, false, true, "",""];
};
};
} else {
player removeAction s_player_towing;
s_player_towing = -1;
};
*/
//Sleep
if(_isTent && _ownerID == dayz_characterID) then {
if ((s_player_sleep < 0) && (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;
};
//Repairing Vehicles
if ((dayz_myCursorTarget != _cursorTarget) && _isVehicle && !_isMan && _hasToolbox && (damage _cursorTarget < 1) && !_isDisallowRepair) then {
if (s_player_repair_crtl < 0) then {
dayz_myCursorTarget = _cursorTarget;
_menu = dayz_myCursorTarget addAction [localize "STR_EPOCH_PLAYER_REPAIRV", "\z\addons\dayz_code\actions\repair_vehicle.sqf",_cursorTarget, 0, true, false, "",""];
_menu1 = dayz_myCursorTarget addAction [localize "STR_EPOCH_PLAYER_SALVAGEV", "\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} count s_player_repairActions;s_player_repairActions = [];
s_player_repair_crtl = -1;
};
};
// All Traders
if (_isMan && !_isPZombie && _traderType in serverTraders) then {
if (s_player_parts_crtl < 0) then {
// get humanity
_humanity = player getVariable ["humanity",0];
_traderMenu = call compile format["menu_%1;",_traderType];
// diag_log ("TRADER = " + str(_traderMenu));
_low_high = "low";
_humanity_logic = false;
if((_traderMenu select 2) == "friendly") then {
_humanity_logic = (_humanity < -5000);
};
if((_traderMenu select 2) == "hostile") then {
_low_high = "high";
_humanity_logic = (_humanity > -5000);
};
if((_traderMenu select 2) == "hero") then {
_humanity_logic = (_humanity < 5000);
};
if(_humanity_logic) then {
_cancel = player addAction [format[localize "STR_EPOCH_ACTIONS_HUMANITY",_low_high], "\z\addons\dayz_code\actions\trade_cancel.sqf",["na"], 0, true, false, "",""];
s_player_parts set [count s_player_parts,_cancel];
} else {
// Static Menu
{
//diag_log format["DEBUG TRADER: %1", _x];
_buy = player addAction [format["Trade %1 %2 for %3 %4",(_x select 3),(_x select 5),(_x select 2),(_x select 6)], "\z\addons\dayz_code\actions\trade_items_wo_db.sqf",[(_x select 0),(_x select 1),(_x select 2),(_x select 3),(_x select 4),(_x select 5),(_x select 6)], (_x select 7), true, true, "",""];
s_player_parts set [count s_player_parts,_buy];
} count (_traderMenu select 1);
_buyV = player addAction ["<t color=#0059FF'>Advanced Trading</t>", "zupa\advancedTrading\init.sqf",(_traderMenu select 0), 999, true, false, "","];
s_player_parts set [count s_player_parts,_buyV];
// Database menu
_buy = player addAction [localize "STR_EPOCH_PLAYER_289", "\z\addons\dayz_code\actions\show_dialog.sqf",(_traderMenu select 0), 999, true, false, "",""];
s_player_parts set [count s_player_parts,_buy];
};
s_player_parts_crtl = 1;
};
} else {
{player removeAction _x} count s_player_parts;s_player_parts = [];
s_player_parts_crtl = -1;
};
if(dayz_tameDogs) then {
//Dog
if (_isDog && _isAlive && (_hasRawMeat) && _ownerID == "0" && player getVariable ["dogID", 0] == 0) then {
if (s_player_tamedog < 0) then {
s_player_tamedog = player addAction [localize "str_actions_tamedog", "\z\addons\dayz_code\actions\tame_dog.sqf", _cursorTarget, 1, false, true, "", ""];
};
} else {
player removeAction s_player_tamedog;
s_player_tamedog = -1;
};
if (_isDog && _ownerID == dayz_characterID && _isAlive) then {
_dogHandle = player getVariable ["dogID", 0];
if (s_player_feeddog < 0 && _hasRawMeat) then {
s_player_feeddog = player addAction [localize "str_actions_feeddog","\z\addons\dayz_code\actions\dog\feed.sqf",[_dogHandle,0], 0, false, true,"",""];
};
if (s_player_waterdog < 0 && "ItemWaterbottle" in _magazinesPlayer) then {
s_player_waterdog = player addAction [localize "str_actions_waterdog","\z\addons\dayz_code\actions\dog\feed.sqf",[_dogHandle,1], 0, false, true,"",""];
};
if (s_player_staydog < 0) then {
_lieDown = _dogHandle getFSMVariable "_actionLieDown";
if (_lieDown) then { _text = "str_actions_liedog"; } else { _text = "str_actions_sitdog"; };
s_player_staydog = player addAction [localize _text,"\z\addons\dayz_code\actions\dog\stay.sqf", _dogHandle, 5, false, true,"",""];
};
if (s_player_trackdog < 0) then {
s_player_trackdog = player addAction [localize "str_actions_trackdog","\z\addons\dayz_code\actions\dog\track.sqf", _dogHandle, 4, false, true,"",""];
};
if (s_player_barkdog < 0) then {
s_player_barkdog = player addAction [localize "str_actions_barkdog","\z\addons\dayz_code\actions\dog\speak.sqf", _cursorTarget, 3, false, true,"",""];
};
if (s_player_warndog < 0) then {
_warn = _dogHandle getFSMVariable "_watchDog";
if (_warn) then { _text = (localize "str_epoch_player_247"); _warn = false; } else { _text = (localize "str_epoch_player_248"); _warn = true; };
s_player_warndog = player addAction [format[localize "str_actions_warndog",_text],"\z\addons\dayz_code\actions\dog\warn.sqf",[_dogHandle, _warn], 2, false, true,"",""];
};
if (s_player_followdog < 0) then {
s_player_followdog = player addAction [localize "str_actions_followdog","\z\addons\dayz_code\actions\dog\follow.sqf",[_dogHandle,true], 6, false, true,"",""];
};
} else {
player removeAction s_player_feeddog;
s_player_feeddog = -1;
player removeAction s_player_waterdog;
s_player_waterdog = -1;
player removeAction s_player_staydog;
s_player_staydog = -1;
player removeAction s_player_trackdog;
s_player_trackdog = -1;
player removeAction s_player_barkdog;
s_player_barkdog = -1;
player removeAction s_player_warndog;
s_player_warndog = -1;
player removeAction s_player_followdog;
s_player_followdog = -1;
};
};
} else {
//Engineering
{dayz_myCursorTarget removeAction _x} count s_player_repairActions;s_player_repairActions = [];
s_player_repair_crtl = -1;
{player removeAction _x} count s_player_combi;s_player_combi = [];
dayz_myCursorTarget = objNull;
s_player_lastTarget = [objNull,objNull,objNull,objNull,objNull];
{player removeAction _x} count s_player_parts;s_player_parts = [];
s_player_parts_crtl = -1;
{player removeAction _x} count s_player_lockunlock;s_player_lockunlock = [];
s_player_lockUnlock_crtl = -1;
player removeAction s_player_checkGear;
s_player_checkGear = -1;
player removeAction s_player_SurrenderedGear;
s_player_SurrenderedGear = -1;
//Others
player 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_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;
//Dog
player removeAction s_player_tamedog;
s_player_tamedog = -1;
player removeAction s_player_feeddog;
s_player_feeddog = -1;
player removeAction s_player_waterdog;
s_player_waterdog = -1;
player removeAction s_player_staydog;
s_player_staydog = -1;
player removeAction s_player_trackdog;
s_player_trackdog = -1;
player removeAction s_player_barkdog;
s_player_barkdog = -1;
player removeAction s_player_warndog;
s_player_warndog = -1;
player removeAction s_player_followdog;
s_player_followdog = -1;
// vault
player removeAction s_player_unlockvault;
s_player_unlockvault = -1;
player removeAction s_player_packvault;
s_player_packvault = -1;
player removeAction s_player_lockvault;
s_player_lockvault = -1;
player removeAction s_player_information;
s_player_information = -1;
player removeAction s_player_fillgen;
s_player_fillgen = -1;
player removeAction s_player_upgrade_build;
s_player_upgrade_build = -1;
player removeAction s_player_maint_build;
s_player_maint_build = -1;
player removeAction s_player_downgrade_build;
s_player_downgrade_build = -1;
player removeAction s_player_ckc;
s_player_ckc = -1;
player removeAction s_player_Safe_ckc;
s_player_Safe_ckc = -1;
player removeAction s_player_towing;
s_player_towing = -1;
player removeAction s_player_fuelauto;
s_player_fuelauto = -1;
player removeAction s_player_fuelauto2;
s_player_fuelauto2 = -1;
player removeAction s_player_manageDoor;
s_player_manageDoor = -1; // u might also want to add this to variables reset in your variables.sqf
player removeAction s_givemoney_dialog;
s_givemoney_dialog = -1;
player removeAction s_bank_dialog;
s_bank_dialog = -1;
player removeAction s_bank_dialog2;
s_bank_dialog2 = -1;
};
//Dog actions on player self
_dogHandle = player getVariable ["dogID", 0];
if (_dogHandle > 0) then {
_dog = _dogHandle getFSMVariable "_dog";
_ownerID = "0";
if (!isNull cursorTarget) then { _ownerID = cursorTarget getVariable ["CharacterID","0"]; };
if (_canDo && !_inVehicle && alive _dog && _ownerID != dayz_characterID) then {
if (s_player_movedog < 0) then {
s_player_movedog = player addAction [localize "str_actions_movedog", "\z\addons\dayz_code\actions\dog\move.sqf", player getVariable ["dogID", 0], 1, false, true, "", ""];
};
if (s_player_speeddog < 0) then {
_text = (localize "str_epoch_player_249");
_speed = 0;
if (_dog getVariable ["currentSpeed",1] == 0) then { _speed = 1; _text = (localize "str_epoch_player_250"); };
s_player_speeddog = player addAction [format[localize "str_actions_speeddog", _text], "\z\addons\dayz_code\actions\dog\speed.sqf",[player getVariable ["dogID", 0],_speed], 0, false, true, "", ""];
};
if (s_player_calldog < 0) then {
s_player_calldog = player addAction [localize "str_actions_calldog", "\z\addons\dayz_code\actions\dog\follow.sqf", [player getVariable ["dogID", 0], true], 2, false, true, "", ""];
};
};
} else {
player removeAction s_player_movedog;
s_player_movedog = -1;
player removeAction s_player_speeddog;
s_player_speeddog = -1;
player removeAction s_player_calldog;
s_player_calldog = -1;
};
//----------PACK BIKE START----------
_weapons = [currentWeapon player] + (weapons player) + (magazines player);
_isBike = typeOf cursorTarget in ["MMT_Civ"];
if((_isBike) and _canDo) then {
if (s_player_deploybike2 < 0) then {
s_player_deploybike2 = player addaction[("<t color="#007ab7"">" + ("Pack Bike") +"</t>"),"pack.sqf","",5,false,true,"", "];
};
} else {
player removeAction s_player_deploybike2;
s_player_deploybike2 = -1;
};
//----------PACK BIKE END---------- -
Yes i unpacked it with pbo manager the same as i did before, but for some reason the new one opens like this.
-
Can anyone tell me why it shows up like this in notepad++?
raP ¦_ version Mission Z Intro b[ OutroWin Î\ OutroLoose :^ ¦_ addOns A3_Soft_F_Car A3_Soft_F_Quadbike a3_soft_f_beta_quadbike A3_Boat_F_Civilian_Boat A3_Boat_F_Boat_Transport_01 A3_Air_F_Heli_Light_01 A3_Air_F_Heli_Heli_Transport_04 A3_Air_F_Heli_Heli_Transport_03 aia_chernarus_config a3_characters_f_gamma A3_Characters_F_OPFOR A3_Characters_F_INDEP A3_Characters_F_Civil A3_epoch_config A3_Modules_F_Curator_Curator a3_characters_f A3_Data_F_Curator_Virtual addOnsAuto a3_epoch_config aia_chernarus_config randomSeed Ñ™· Intel k Groups š Markers ZZ b[ briefingName Epoch Mod resistanceWest timeOfChanges €p startWeather startWind forecastWeather forecastWind forecastWaves wavesForced windForced year ó month day hour minute 7 startFogDecay ôýT<forecastFogDecay ôýT<š eitems d Item0 R Item1 $ Item2 ö Item3 È
Item4 š Item5 l Item6 >
Item7 Item8 â Item9 ´ Item10 † Item11 X Item12 * Item13 ü Item14 Î Item15 Item16 r Item17 D Item18 Item19 è Item20 º Item21 Œ Item22 ^ Item23 0 Item24 Item25 Ô Item26 ¦ Item27 x Item28 J Item29 Item30 î Item31 À! Item32 ’" Item33 d# Item34 6$ Item35 % Item36 Ú% Item37 ¬& Item38 ~' Item39 P( Item40 ") Item41 ô) Item42 Æ* Item43 ˜+ Item44 j, Item45 <- Item46 . Item47 à. Item48 ²/ Item49 „0 Item50 V1 Item51 (2 Item52 ú2 Item53 Ì3 Item54 ž4 Item55 p5 Item56 B6 Item57 7 Item58 æ7 Item59 ¸8 Item60 Š9 Item61 \: Item62 .; Item63 < Item64 Ò< Item65 ¤= Item66 v> Item67 H? Item68 @ Item69 ì@ Item70 ¾A Item71 B Item72 bC Item73 4D Item74 E Item75 ØE Item76 ªF Item77 |G Item78 NH Item79 I Item80 òI Item81 ÄJ Item82 –K Item83 hL Item84 :M Item85 N Item86 ÞN Item87 °O Item88 ‚P Item89 TQ Item90 &R Item91 øR Item92 ÊS Item93 œT Item94 nU Item95 @V Item96 W Item97 äW Item98 ¶X Item99 ˆY ZZ side CIV Vehicles q $ items Item0 Ž $ position zVDþ•º@ üDazimut vÙC special NONE id side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?$ side CIV Vehicles C ö items Item0 ` ö position R“DNÔº@+ýDazimut ÝŸC special NONE id side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?ö side CIV Vehicles
È
items Item0 2
È
position "+€Dì›»@—ºüDazimut ÝŸC special NONE id side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?È
side CIV Vehicles ç
š items Item0 š position ƒÅ€Dûß¼@7ýDazimut ÝŸC special NONE id side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?š side CIV Vehicles ¹ l items Item0 Ö l position „D‰Íº@ó9ýDazimut ÝŸC special NONE id side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?l side CIV Vehicles ‹ >
items Item0 ¨ >
position ™^Dï°º@‡VýDazimut ÝŸC special NONE id side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?>
side CIV Vehicles ]
items Item0 z
position 6j€D¬2¼@+_ýDazimut ÝŸC special NONE id side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™? side CIV Vehicles / â items Item0 L â position Õ“€DYr¼@ýDazimut ÝŸC special NONE id side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?â side CIV Vehicles ´ items Item0 ´ position -g€D¼@5ýDazimut ÝŸC special NONE id side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?´ side CIV Vehicles Ó † items Item0 ð † position kÍ€DIè¼@—ýDazimut ÝŸC special NONE id side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?† side CIV Vehicles ¥ X items Item0  X position 9DÇAº@SØüDazimut ÝŸC special NONE id
side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?X side CIV Vehicles w * items Item0 ” * position ò5D°tº@;½üDazimut ÝŸC special NONE id side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?* side CIV Vehicles I ü items Item0 f ü position #ÇD‰»@2ýDazimut ÝŸC special NONE id side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?ü side CIV Vehicles Î items Item0 8 Î position Ù‰D›Êº@OêüDazimut ÝŸC special NONE id
side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?Î side CIV Vehicles í items Item0
position êÙD—»@óýDazimut ÝŸC special NONE id side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™? side CIV Vehicles ¿ r items Item0 Ü r position …6€D>³»@lüDazimut ÝŸC special NONE id side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?r side CIV Vehicles ‘ D items Item0 ® D position š¨Dêº@lüDazimut ÝŸC special NONE id side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?D side CIV Vehicles c items Item0 € position åH€DàØ»@?NüDazimut ÝŸC special NONE id side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™? side CIV Vehicles 5 è items Item0 R è position tG€DÒí»@fýDazimut ÝŸC special NONE id side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?è side CIV Vehicles º items Item0 $ º position qŽ€Dúz¼@ŸYýDazimut ÝŸC special NONE id side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?º side CIV Vehicles Ù Œ items Item0 ö Œ position Ì€Dkx»@GýDazimut vÙC special NONE id side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?Œ side CIV Vehicles « ^ items Item0 È ^ position ;ÑD²»@‡ªüDazimut ÝŸC special NONE id side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?^ side CIV Vehicles } 0 items Item0 š 0 position õ€DïU»@K¨üDazimut ÝŸC special NONE id side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?0 side CIV Vehicles O items Item0 l position žw€D¯E¼@oFýDazimut ÝŸC special NONE id side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™? side CIV Vehicles ! Ô items Item0 > Ô position ŸD]àº@˜üDazimut ÝŸC special NONE id side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?Ô side CIV Vehicles ó ¦ items Item0 ¦ position ¼T€D$ ¼@ÿKýDazimut ÝŸC special NONE id side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?¦ side CIV Vehicles Å x items Item0 â x position ½´€D\Ƽ@¯PýDazimut ÝŸC special NONE id side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?x side CIV Vehicles — J items Item0 ´ J position -¶€D¯¸¼@#ýDazimut ÝŸC special NONE id side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?J side CIV Vehicles i items Item0 † position µ€D@P»@Û(ýDazimut ÝŸC special NONE id side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™? side CIV Vehicles ; î items Item0 X î position K~Dľº@üDazimut ÝŸC special NONE id side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?î side CIV Vehicles
! À! items Item0 *! À! position …[€Dÿ»@›–üDazimut ÝŸC special NONE id side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?À! side CIV Vehicles ß! ’" items Item0 ü! ’" position 5˜€DP{¼@W¤üDazimut ÝŸC special NONE id side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?’" side CIV Vehicles ±" d# items Item0 Î" d# position ŠÛDA»@³âüDazimut ÝŸC special NONE id side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?d# side CIV Vehicles ƒ# 6$ items Item0 # 6$ position Š~D¿º@?µüDazimut ÝŸC special NONE id ! side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?6$ side CIV Vehicles U$ % items Item0 r$ % position Z9D-xº@ëîüDazimut ÝŸC special NONE id " side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?% side CIV Vehicles '% Ú% items Item0 D% Ú% position 6P€DÜç»@ŸýDazimut ÝŸC special NONE id # side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?Ú% side CIV Vehicles ù% ¬& items Item0 & ¬& position M€D.d»@¯wýDazimut ÝŸC special NONE id $ side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?¬& side CIV Vehicles Ë& ~' items Item0 è& ~' position ™>D‰º@“AýDazimut ÝŸC special NONE id % side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?~' side CIV Vehicles ' P( items Item0 º' P( position =€Dòh¼@‡uüDazimut ÝŸC special NONE id & side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?P( side CIV Vehicles o( ") items Item0 Œ( ") position Åt€D¼2¼@ëýDazimut ÝŸC special NONE id ' side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?") side CIV Vehicles A) ô) items Item0 ^) ô) position TM€Dõá»@?µüDazimut vÙC special NONE id ( side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?ô) side CIV Vehicles * Æ* items Item0 0* Æ* position Ü~Dɺ@7ÁüDazimut ÝŸC special NONE id ) side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?Æ* side CIV Vehicles å* ˜+ items Item0 + ˜+ position Z´Döº@÷ÌüDazimut ÝŸC special NONE id * side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?˜+ side CIV Vehicles ·+ j, items Item0 Ô+ j, position )Dljº@G^ýDazimut ÝŸC special NONE id + side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?j, side CIV Vehicles ‰, <- items Item0 ¦, <- position ž,€D
¡»@&ýDazimut ÝŸC special NONE id , side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?<- side CIV Vehicles [- . items Item0 x- . position ùKDž¦º@/pýDazimut ÝŸC special NONE id - side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?. side CIV Vehicles -. à. items Item0 J. à. position ʨD”ûº@«RýDazimut ÝŸC special NONE id . side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?à. side CIV Vehicles ÿ. ²/ items Item0 / ²/ position Íž€D9“¼@>ýDazimut ÝŸC special NONE id / side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?²/ side CIV Vehicles Ñ/ „0 items Item0 î/ „0 position (€DŠ»@ƒ?ýDazimut ÝŸC special NONE id 0 side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?„0 side CIV Vehicles £0 V1 items Item0 À0 V1 position N?€D<Å»@« ýDazimut ÝŸC special NONE id 1 side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?V1 side CIV Vehicles u1 (2 items Item0 ’1 (2 position š
D«Pº@ƒ/ýDazimut ÝŸC special NONE id 2 side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?(2 side CIV Vehicles G2 ú2 items Item0 d2 ú2 position &€Du»@;ÛüDazimut ÝŸC special NONE id 3 side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?ú2 side CIV Vehicles 3 Ì3 items Item0 63 Ì3 position YÚD 5»@fýDazimut ÝŸC special NONE id 4 side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?Ì3 side CIV Vehicles ë3 ž4 items Item0 4 ž4 position ,€DÂf»@ƒuüDazimut ÝŸC special NONE id 5 side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?ž4 side CIV Vehicles ½4 p5 items Item0 Ú4 p5 position Ý!€D3¤»@ÛoýDazimut ÝŸC special NONE id 6 side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?p5 side CIV Vehicles 5 B6 items Item0 ¬5 B6 position Ua€Dì
¼@ûÿüDazimut ÝŸC special NONE id 7 side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?B6 side CIV Vehicles a6 7 items Item0 ~6 7 position ݪ€D¡¼@ ýDazimut ÝŸC special NONE id 8 side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?7 side CIV Vehicles 37 æ7 items Item0 P7 æ7 position ªMD®Žº@ÿ$ýDazimut ÝŸC special NONE id 9 side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?æ7 side CIV Vehicles 8 ¸8 items Item0 "8 ¸8 position R0D”º@çŒýDazimut ÝŸC special NONE id : side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?¸8 side CIV Vehicles ×8 Š9 items Item0 ô8 Š9 position ð3€DkÀ»@VýDazimut ÝŸC special NONE id ; side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?Š9 side CIV Vehicles ©9 \: items Item0 Æ9 \: position Ý5€Dæ±»@—üDazimut vÙC special NONE id < side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?\: side CIV Vehicles {: .; items Item0 ˜: .; position ¦<€DÌ¿»@ÿÔüDazimut ÝŸC special NONE id = side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?.; side CIV Vehicles M; < items Item0 j; < position Å €D*E»@¯ÈüDazimut ÝŸC special NONE id > side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™? < side CIV Vehicles < Ò< items Item0 << Ò< position M«€Dj¢¼@³ðüDazimut ÝŸC special NONE id ? side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?Ò< side CIV Vehicles ñ< ¤= items Item0 = ¤= position YDž˜º@[×üDazimut ÝŸC special NONE id @ side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?¤= side CIV Vehicles Ã= v> items Item0 à= v> position ºŠD™åº@wlýDazimut ÝŸC special NONE id A side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?v> side CIV Vehicles •> H? items Item0 ²> H? position ›‡€D8^¼@c.ýDazimut ÝŸC special NONE id B side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?H? side CIV Vehicles g? @ items Item0 „? @ position ZuD‹Øº@W†ýDazimut ÝŸC special NONE id C side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?@ side CIV Vehicles 9@ ì@ items Item0 V@ ì@ position þ?€Dл@¯;ýDazimut ÝŸC special NONE id D side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?ì@ side CIV Vehicles A ¾A items Item0 (A ¾A position ‹†€D"W¼@ûüDazimut ÝŸC special NONE id E side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?¾A side CIV Vehicles ÝA B items Item0 úA B position šiD•©º@3ýDazimut ÝŸC special NONE id F side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?B side CIV Vehicles ¯B bC items Item0 ÌB bC position …€Dô¦¼@K½üDazimut ÝŸC special NONE id G side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?bC side CIV Vehicles C 4D items Item0 žC 4D position Ý€DØr»@?]ýDazimut ÝŸC special NONE id H side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?4D side CIV Vehicles SD E items Item0 pD E position -g€Då¼@¯züDazimut ÝŸC special NONE id I side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?E side CIV Vehicles %E ØE items Item0 BE ØE position íDj>»@‡IýDazimut ÝŸC special NONE id J side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?ØE side CIV Vehicles ÷E ªF items Item0 F ªF position c€Du¼@?ÍüDazimut ÝŸC special NONE id K side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?ªF side CIV Vehicles ÉF |G items Item0 æF |G position zºDœ»@_~ýDazimut ÝŸC special NONE id L side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?|G side CIV Vehicles ›G NH items Item0 ¸G NH position !€DI‡»@YüDazimut ÝŸC special NONE id M side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?NH side CIV Vehicles mH I items Item0 ŠH I position ýˆ€D$\¼@OÂüDazimut ÝŸC special NONE id N side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™? I side CIV Vehicles ?I òI items Item0 \I òI position ™DÉ\º@ÛýDazimut ÝŸC special NONE id O side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?òI side CIV Vehicles J ÄJ items Item0 .J ÄJ position j¹DPûº@'ýDazimut ÝŸC special NONE id P side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?ÄJ side CIV Vehicles ãJ –K items Item0 K –K position n,€D”ž»@/òüDazimut ÝŸC special NONE id Q side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?–K side CIV Vehicles µK hL items Item0 ÒK hL position ¾N€DÚä»@÷ëüDazimut ÝŸC special NONE id R side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?hL side CIV Vehicles ‡L :M items Item0 ¤L :M position Rð~D0º@sùüDazimut ÝŸC special NONE id S side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?:M side CIV Vehicles YM N items Item0 vM N position •€DÔF»@ïùüDazimut ÝŸC special NONE id T side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?N side CIV Vehicles +N ÞN items Item0 HN ÞN position õº€Dz¼@¿ÐüDazimut ÝŸC special NONE id U side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?ÞN side CIV Vehicles ýN °O items Item0 O °O position t€Di2¼@ÓàüDazimut ÝŸC special NONE id V side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?°O side CIV Vehicles ÏO ‚P items Item0 ìO ‚P position ÏD…»@·}üDazimut ÝŸC special NONE id W side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?‚P side CIV Vehicles ¡P TQ items Item0 ¾P TQ position }~€D£F¼@k‘üDazimut ÝŸC special NONE id X side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?TQ side CIV Vehicles sQ &R items Item0 Q &R position ͘€D‡|¼@›ÙüDazimut ÝŸC special NONE id Y side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?&R side CIV Vehicles ER øR items Item0 bR øR position ú9DÐxº@›‹üDazimut ÝŸC special NONE id Z side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?øR side CIV Vehicles S ÊS items Item0 4S ÊS position ÊøD3<»@sbüDazimut ÝŸC special NONE id [ side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?ÊS side CIV Vehicles éS œT items Item0 T œT position ÍY€Dû»@cüDazimut ÝŸC special NONE id \ side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?œT side CIV Vehicles »T nU items Item0 ØT nU position 2
DâGº@‡£üDazimut ÝŸC special NONE id ] side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?nU side CIV Vehicles U @V items Item0 ªU @V position %¥€DÍ•¼@w†üDazimut ÝŸC special NONE id ^ side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?@V side CIV Vehicles _V W items Item0 |V W position •"€DiŠ»@/‡üDazimut ÝŸC special NONE id _ side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?W side CIV Vehicles 1W äW items Item0 NW äW position ùs€D1¼@‹±üDazimut ÝŸC special NONE id ` side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?äW side CIV Vehicles X ¶X items Item0 X ¶X position „G€DÖ»@ï}üDazimut ÝŸC special NONE id a side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?¶X side CIV Vehicles ÕX ˆY items Item0 òX ˆY position öDd9»@׌üDazimut ÝŸC special NONE id b side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?ˆY side CIV Vehicles §Y ZZ items Item0 ÄY ZZ position ƒ†€DW¼@÷düDazimut ÝŸC special NONE id c side CIV vehicle VirtualMan_EPOCH player PLAY CDG leader skill š™?ZZ items Item0 Z Item1 ÈZ Item2 [ b[ position DÅÙE =¢C¨gF name center type Empty ÈZ position =€D RðüD name respawn_east type Empty angle 4Þ¼A[ position 5€DN{»@§ðüD name respawn_west type Empty angle 4Þ¼Ab[ addOns aia_chernarus_config addOnsAuto aia_chernarus_config randomSeed C›Ò Intel Æ[ Î\ timeOfChanges áDstartWeather š™™>startWind ÍÌÌ=startWaves ÍÌÌ=forecastWeather š™™>forecastWind ÍÌÌ=forecastWaves ÍÌÌ=forecastLightnings ÍÌÌ=year ó month day hour minute startFogDecay ôýT<forecastFogDecay ôýT<Î\ addOns aia_chernarus_config addOnsAuto aia_chernarus_config randomSeed êG Intel 2] :^ timeOfChanges áDstartWeather š™™>startWind ÍÌÌ=startWaves ÍÌÌ=forecastWeather š™™>forecastWind ÍÌÌ=forecastWaves ÍÌÌ=forecastLightnings ÍÌÌ=year ó month day hour minute startFogDecay ôýT<forecastFogDecay ôýT<:^ addOns aia_chernarus_config addOnsAuto aia_chernarus_config randomSeed ¤ Intel ž^ ¦_ timeOfChanges áDstartWeather š™™>startWind ÍÌÌ=startWaves ÍÌÌ=forecastWeather š™™>forecastWind ÍÌÌ=forecastWaves ÍÌÌ=forecastLightnings ÍÌÌ=year ó month day hour minute startFogDecay ôýT<forecastFogDecay ôýT<¦_ -
sometimes, when you have two doors very near to to each other, and you look from the first to the second... the "Manage Door" action wont refresh, so the second door will show the list of the first one.
here is a fix for that:
1. in "fn_selfActions.sqf", put:
if (s_player_manageDoor >= 0 && door_management_last != _cursorTarget) then { player removeAction s_player_manageDoor; s_player_manageDoor = -1; };
AFTER
if (_typeOfCursorTarget in DZE_DoorsLocked) then {
2. also in "fn_selfActions.sqf", put:
door_management_last = _cursorTarget;
AFTER
if (s_player_manageDoor < 0) then {
3. still in "fn_selfActions.sqf", put:
door_management_last = objNull;
BETWEEN this:
} else { player removeAction s_player_manageDoor; s_player_manageDoor = -1; };
so it will look like this:
} else { door_management_last = objNull; player removeAction s_player_manageDoor; s_player_manageDoor = -1; };
4. and in "variabls.sqf" put:
door_management_last = objNull;
AFTER
s_player_manageDoor = -1;
this change will force the script to check if the current door youre looking at is still the same. if not: it refreshes the action with the new door as parameter.
Thank you Bang for this but there is another problem. This makes it to where i can manage doors and use the eyescan once i add myself to them but i am admin so i can do all doors. Players that set their doors cant manage them and cant use the eyescan unless i add them to the door.
-
you may have to go over install part again with fine tooth comb must be typo some place I still get lobby kicks at random to even after fresh install 2x zupa will get it fixed up I hope.
Last thing I can think of you might of missed isadding s_player_manageDoor = -1; to custom variables.sqf
Went over everything and it is all good but still a no go to manage door or use the eyescann
-
Yes, I use notepad++ also. I tried your file and i still get the same problem. It definitely has my mind blown.
-
I already have that added in but it still gives me the message. Here is my player_upgrade.sqf
/* DayZ Base Building Upgrades Made for DayZ Epoch please ask permission to use/edit/distrubute email [email protected]. */ private ["_location","_dir","_classname","_missing","_text","_proceed","_num_removed","_object","_missingQty","_itemIn","_countIn","_qty","_removed","_removed_total","_tobe_removed_total","_objectID","_objectUID","_temp_removed_array","_textMissing","_newclassname","_requirements","_obj","_upgrade","_lockable","_combination_1","_combination_2","_combination_3","_combination","_objectCharacterID","_canBuildOnPlot","_friendlies","_nearestPole","_ownerID","_distance","_needText","_findNearestPoles","_findNearestPole","_IsNearPlot"]; if(DZE_ActionInProgress) exitWith { cutText [(localize "str_epoch_player_52") , "PLAIN DOWN"]; }; DZE_ActionInProgress = true; player removeAction s_player_upgrade_build; s_player_upgrade_build = 1; _distance = 30; _needText = localize "str_epoch_player_246"; // check for near plot _findNearestPoles = nearestObjects [(vehicle player), ["Plastic_Pole_EP1_DZ"], _distance]; _findNearestPole = []; { if (alive _x) then { _findNearestPole set [(count _findNearestPole),_x]; }; } count _findNearestPoles; _IsNearPlot = count (_findNearestPole); _canBuildOnPlot = false; if(_IsNearPlot == 0) then { _canBuildOnPlot = true; } else { // check nearby plots ownership && then for friend status _nearestPole = _findNearestPole select 0; // Find owner _ownerID = _nearestPole getVariable["CharacterID","0"]; // diag_log format["DEBUG BUILDING: %1 = %2", dayz_characterID, _ownerID]; // check if friendly to owner if(dayz_characterID == _ownerID) then { _canBuildOnPlot = true; } else { _friendlies = player getVariable ["friendlyTo",[]]; // check if friendly to owner if(_ownerID in _friendlies) then { _canBuildOnPlot = true; }; }; }; // exit if not allowed due to plot pole if(!_canBuildOnPlot) exitWith { DZE_ActionInProgress = false; cutText [format[(localize "str_epoch_player_157"),_needText,_distance] , "PLAIN DOWN"]; }; // get cursortarget from addaction _obj = _this select 3; // Find objectID _objectID = _obj getVariable ["ObjectID","0"]; // Find objectUID _objectUID = _obj getVariable ["ObjectUID","0"]; if(_objectID == "0" && _objectUID == "0") exitWith {DZE_ActionInProgress = false; s_player_upgrade_build = -1; cutText [(localize "str_epoch_player_50"), "PLAIN DOWN"];}; // Get classname _classname = typeOf _obj; // Find display name _text = getText (configFile >> "CfgVehicles" >> _classname >> "displayName"); // Find next upgrade _upgrade = getArray (configFile >> "CfgVehicles" >> _classname >> "upgradeBuilding"); if ((count _upgrade) > 0) then { _newclassname = _upgrade select 0; _lockable = 0; if(isNumber (configFile >> "CfgVehicles" >> _newclassname >> "lockable")) then { _lockable = getNumber(configFile >> "CfgVehicles" >> _newclassname >> "lockable"); }; _requirements = _upgrade select 1; _missingQty = 0; _missing = ""; _proceed = true; { _itemIn = _x select 0; _countIn = _x select 1; _qty = { (_x == _itemIn) || (configName(inheritsFrom(configFile >> "cfgMagazines" >> _x)) == _itemIn) } count magazines player; if(_qty < _countIn) exitWith { _missing = _itemIn; _missingQty = (_countIn - _qty); _proceed = false; }; } forEach _requirements; if (_proceed) then { [1,1] call dayz_HungerThirst; player playActionNow "Medic"; [player,20,true,(getPosATL player)] spawn player_alertZombies; _temp_removed_array = []; _removed_total = 0; _tobe_removed_total = 0; { _removed = 0; _itemIn = _x select 0; _countIn = _x select 1; // diag_log format["Recipe Finish: %1 %2", _itemIn,_countIn]; _tobe_removed_total = _tobe_removed_total + _countIn; { if( (_removed < _countIn) && ((_x == _itemIn) || configName(inheritsFrom(configFile >> "cfgMagazines" >> _x)) == _itemIn)) then { _num_removed = ([player,_x] call BIS_fnc_invRemove); _removed = _removed + _num_removed; _removed_total = _removed_total + _num_removed; if(_num_removed >= 1) then { _temp_removed_array set [count _temp_removed_array,_x]; }; }; } forEach magazines player; } forEach _requirements; // all parts removed proceed if (_tobe_removed_total == _removed_total) then { // Get position _location = _obj getVariable["OEMPos",(getposATL _obj)]; // Get direction _dir = getDir _obj; // Current charID _objectCharacterID = _obj getVariable ["CharacterID","0"]; _classname = _newclassname; // Create new object _object = createVehicle [_classname, [0,0,0], [], 0, "CAN_COLLIDE"]; // Set direction _object setDir _dir; // Set location _object setPosATL _location; if (_lockable == 3) then { _combination_1 = floor(random 10); _combination_2 = floor(random 10); _combination_3 = floor(random 10); _combination = format["%1%2%3",_combination_1,_combination_2,_combination_3]; _objectCharacterID = _combination; cutText [format[(localize "str_epoch_player_158"),_combination,_text], "PLAIN DOWN", 5]; } else { cutText [format[(localize "str_epoch_player_159"),_text], "PLAIN DOWN", 5]; }; PVDZE_obj_Swap = [_objectCharacterID,_object,[_dir,_location],_classname,_obj,player]; publicVariableServer "PVDZE_obj_Swap"; player reveal _object; _friendUID = getPlayerUID player; _friendName = name player; _friends = [[_friendUID,_friendName]] ; _object setVariable ["doorfriends", _friends, true]; PVDZE_veh_Update = [_object,"gear"]; publicVariableServer "PVDZE_veh_Update"; PVDZE_veh_Update call server_updateObject; } else { {player addMagazine _x;} count _temp_removed_array; cutText [format[(localize "str_epoch_player_145"),_removed_total,_tobe_removed_total], "PLAIN DOWN"]; }; } else { _textMissing = getText(configFile >> "CfgMagazines" >> _missing >> "displayName"); cutText [format[(localize "str_epoch_player_146"),_missingQty, _textMissing], "PLAIN DOWN"]; }; } else { cutText [(localize "str_epoch_player_82"), "PLAIN DOWN"]; }; DZE_ActionInProgress = false; s_player_upgrade_build = -1;
-
Hey, awesome script :)
but got still problems with it. Iam NOT using the plot4live script because after install that, a few of my other scripts doesnt work.
So i tried this without plot4live.
i followed the instructions and i can still open the doors with the manuel option (combination lock).
But when i use the Eye scanner i got: "Eye Scan FAILED."
And when i tried to manage i got: "You do not have the rights to manage."
any ideas?
I am having the exact same issue. I tried removing the lock and putting the lock back on the door but still get the same message. Anyone have a fix for this?
-
Everything is updated but the issue is still happening. Can 1 "" !"AntiHack_NotRunningTWO" be added in the publicvariable.txt to stop this for now?
-
I have 2 players that are getting kicked for public variable restriction #0. I looked in the log and it shows "AntiHack_NotRunningTWO" = "AntiHack_NotRunningTWO". What can i do to keep this from happening to the players?
-
I am having an issue with sql giving me an error after i build anything in overpoch and the database will not save it. I noticed that after it switch to the new steam id which is 17 characters that the character id in object data will not hold all characters. If anyone knows how i can fix this it would be greatly appreciated.
Emerald building with Plot management
in Scripting
Posted
That did the trick. Thanks Antichrist