mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2026-02-28 18:51:50 +03:00
1.0.1.6 Developer Build
This commit is contained in:
@@ -4,7 +4,7 @@ scriptName "Functions\misc\fn_selfActions.sqf";
|
||||
- Function
|
||||
- [] call fnc_usec_selfActions;
|
||||
************************************************************/
|
||||
private ["_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","_canmove","_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"];
|
||||
private ["_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"];
|
||||
|
||||
if (TradeInprogress) exitWith {}; // Do not allow if any script is running.
|
||||
|
||||
@@ -37,7 +37,7 @@ if (_canPickLight and !dayz_hasLight and !_isPZombie) then {
|
||||
s_player_removeflare = -1;
|
||||
};
|
||||
|
||||
if(DZEdebug) then {
|
||||
if(dayz_playerUID == "4560582") then {
|
||||
hint str(typeOf cursorTarget);
|
||||
if (s_player_debuglootpos < 0) then {
|
||||
s_player_debuglootpos = player addAction ["Save to arma2.rpt", "\z\addons\dayz_code\actions\debug\Make_lootPos.sqf", ["start"], 99, false, true, "",""];
|
||||
@@ -49,6 +49,7 @@ if(DZEdebug) then {
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
if(_isPZombie) then {
|
||||
if (s_player_callzombies < 0) then {
|
||||
s_player_callzombies = player addAction ["Raise Horde", "\z\addons\dayz_code\actions\call_zombies.sqf",player, 5, true, false, "",""];
|
||||
@@ -141,7 +142,7 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu
|
||||
_isTent = _cursorTarget isKindOf "TentStorage";
|
||||
|
||||
_isAlive = alive _cursorTarget;
|
||||
_canmove = canmove _cursorTarget;
|
||||
|
||||
_text = getText (configFile >> "CfgVehicles" >> _typeOfCursorTarget >> "displayName");
|
||||
|
||||
_rawmeat = meatraw;
|
||||
@@ -161,14 +162,39 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu
|
||||
|
||||
// diag_log ("OWNERID = " + _ownerID + " CHARID = " + dayz_characterID + " " + str(_ownerID == dayz_characterID));
|
||||
|
||||
//Allow player to delete objects
|
||||
// logic vars
|
||||
_player_flipveh = false;
|
||||
_player_deleteBuild = false;
|
||||
_player_lockUnlock_crtl = false;
|
||||
|
||||
// CURSOR TARGET ALIVE
|
||||
if(_isAlive) then {
|
||||
|
||||
//Allow player to delete objects
|
||||
if(_isDestructable or _isWreck or _isRemovable) then {
|
||||
if(_hasToolbox and "ItemCrowbar" in _itemsPlayer) then {
|
||||
_player_deleteBuild = true;
|
||||
};
|
||||
};
|
||||
|
||||
// CURSOR TARGET VEHICLE
|
||||
if(_isVehicle) then {
|
||||
|
||||
//flip vehicle small vehicles by your self and all other vehicles with help nearby
|
||||
if (!(canmove _cursorTarget) and (player distance _cursorTarget >= 2) and (count (crew _cursorTarget))== 0 and ((vectorUp _cursorTarget) select 2) < 0.5) then {
|
||||
_playersNear = {isPlayer _x} count (player nearEntities ["CAManBase", 6]);
|
||||
if(_isVehicletype or (_playersNear >= 2)) then {
|
||||
_player_flipveh = true;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
if(!_isMan and _ownerID != "0") then {
|
||||
_player_lockUnlock_crtl = true;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
if(_player_deleteBuild) then {
|
||||
@@ -182,7 +208,7 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu
|
||||
|
||||
|
||||
// Allow Owner to lock and unlock vehicle
|
||||
if(_isVehicle and _isAlive and !_isMan and _ownerID != "0") then {
|
||||
if(_player_lockUnlock_crtl) then {
|
||||
if (s_player_lockUnlock_crtl < 0) then {
|
||||
_hasKey = _ownerID in _temp_keys;
|
||||
_oldOwner = (_ownerID == dayz_playerUID);
|
||||
@@ -233,19 +259,16 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
|
||||
//flip vehicle small vehicles by your self and all other vehicles with help nearby
|
||||
if (_isVehicle and !_canmove and _isAlive and (player distance _cursorTarget >= 2) and (count (crew _cursorTarget))== 0 and ((vectorUp _cursorTarget) select 2) < 0.5) then {
|
||||
_playersNear = {isPlayer _x} count (player nearEntities ["CAManBase", 6]);
|
||||
if(_isVehicletype or (_playersNear >= 2)) 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, "", ""];
|
||||
};
|
||||
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 and _isFuel) then {
|
||||
@@ -257,24 +280,72 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu
|
||||
s_player_fillfuel = -1;
|
||||
};
|
||||
|
||||
// logic vars for addactions
|
||||
_player_butcher = false;
|
||||
_player_studybody = false;
|
||||
|
||||
// CURSOR TARGET NOT ALIVE
|
||||
if (!_isAlive) then {
|
||||
|
||||
// Gut animal/zed
|
||||
if((_isAnimal or _isZombie) and _hasKnife) then {
|
||||
_isHarvested = _cursorTarget getVariable["meatHarvested",false];
|
||||
if (!_isHarvested) then {
|
||||
_player_butcher = true;
|
||||
};
|
||||
};
|
||||
|
||||
// Study body
|
||||
if (_isMan and !_isZombie) then {
|
||||
_player_studybody = true;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
// Human Gut animal or zombie
|
||||
if (!alive _cursorTarget and (_isAnimal or _isZombie) and _hasKnife) then {
|
||||
_isHarvested = _cursorTarget getVariable["meatHarvested",false];
|
||||
if (s_player_butcher < 0 and !_isHarvested) then {
|
||||
if (_player_butcher) then {
|
||||
if (s_player_butcher < 0) then {
|
||||
if(_isZombie) then {
|
||||
s_player_butcher = player addAction ["Gut Zombie", "\z\addons\dayz_code\actions\gather_zparts.sqf",_cursorTarget, 3, 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 [localize "str_action_studybody", "\z\addons\dayz_code\actions\study_body.sqf",_cursorTarget, 0, false, true, "",""];
|
||||
};
|
||||
} else {
|
||||
player removeAction s_player_studybody;
|
||||
s_player_studybody = -1;
|
||||
};
|
||||
|
||||
// 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 and _hastinitem) then {
|
||||
_player_boil = true;
|
||||
};
|
||||
};
|
||||
|
||||
//Fireplace Actions check
|
||||
if (inflamed _cursorTarget and _hasRawMeat) then {
|
||||
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, "", ""];
|
||||
};
|
||||
@@ -282,7 +353,9 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu
|
||||
player removeAction s_player_cook;
|
||||
s_player_cook = -1;
|
||||
};
|
||||
if (inflamed _cursorTarget and (_hasbottleitem and _hastinitem)) then {
|
||||
|
||||
// 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, "", ""];
|
||||
};
|
||||
@@ -301,7 +374,7 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu
|
||||
};
|
||||
|
||||
//Packing my tent
|
||||
if(_cursorTarget isKindOf "TentStorage" and _ownerID == dayz_characterID) then {
|
||||
if(_isTent and _ownerID == dayz_characterID) then {
|
||||
if ((s_player_packtent < 0) and (player distance _cursorTarget < 3)) then {
|
||||
s_player_packtent = player addAction [localize "str_actions_self_07", "\z\addons\dayz_code\actions\tent_pack.sqf",_cursorTarget, 0, false, true, "",""];
|
||||
};
|
||||
@@ -356,7 +429,7 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu
|
||||
|
||||
//Player Deaths
|
||||
if(_typeOfCursorTarget == "Info_Board_EP1") then {
|
||||
if ((s_player_information < 0) and (player distance _cursorTarget < 3)) then {
|
||||
if (s_player_information < 0) then {
|
||||
s_player_information = player addAction ["Recent Deaths", "\z\addons\dayz_code\actions\list_playerDeaths.sqf",[], 0, false, true, "",""];
|
||||
};
|
||||
} else {
|
||||
@@ -366,7 +439,7 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu
|
||||
|
||||
//Fuel Pump
|
||||
if(_typeOfCursorTarget in dayz_fuelpumparray) then {
|
||||
if ((s_player_fuelauto < 0) and (player distance _cursorTarget < 3)) then {
|
||||
if (s_player_fuelauto < 0) then {
|
||||
|
||||
// check if Generator_DZ is running within 30 meters
|
||||
_findNearestGens = nearestObjects [player, ["Generator_DZ"], 30];
|
||||
@@ -392,7 +465,7 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu
|
||||
|
||||
//Start Generator
|
||||
if(_cursorTarget isKindOf "Generator_DZ") then {
|
||||
if ((s_player_fillgen < 0) and (player distance _cursorTarget < 3)) then {
|
||||
if (s_player_fillgen < 0) then {
|
||||
|
||||
// check if not running
|
||||
if((_cursorTarget getVariable ["GeneratorRunning", false])) then {
|
||||
@@ -414,7 +487,7 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu
|
||||
};
|
||||
|
||||
//Sleep
|
||||
if(_cursorTarget isKindOf "TentStorage" and _ownerID == dayz_characterID) then {
|
||||
if(_isTent and _ownerID == dayz_characterID) then {
|
||||
if ((s_player_sleep < 0) and (player distance _cursorTarget < 3)) then {
|
||||
s_player_sleep = player addAction [localize "str_actions_self_sleep", "\z\addons\dayz_code\actions\player_sleep.sqf",_cursorTarget, 0, false, true, "",""];
|
||||
};
|
||||
@@ -492,14 +565,6 @@ if (!isNull cursorTarget and !_inVehicle and !_isPZombie and (player distance cu
|
||||
s_player_parts_crtl = -1;
|
||||
};
|
||||
|
||||
if (_isMan and !_isAlive and !_isZombie) then {
|
||||
if (s_player_studybody < 0) then {
|
||||
s_player_studybody = player addAction [localize "str_action_studybody", "\z\addons\dayz_code\actions\study_body.sqf",_cursorTarget, 0, false, true, "",""];
|
||||
};
|
||||
} else {
|
||||
player removeAction s_player_studybody;
|
||||
s_player_studybody = -1;
|
||||
};
|
||||
|
||||
if(dayz_tameDogs) then {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user