mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-13 19:52:38 +03:00
Move some addActions to config UserActions
Should improve client FPS while still allowing conditions and scripts to be customized. Some special vehicles like MV22, UH1Y, etc. have UserActions overwritten in their configs, so please let me know if you find any others that do not get the option to repair or salvage because UserActions is overwritten in their config. I think I got them all. Vanilla commits:a8c4238c0c350d73abe1
This commit is contained in:
@@ -534,10 +534,10 @@ class CfgSurvival {
|
||||
rawfoodtype = "FoodchickenRaw";
|
||||
};
|
||||
class Cock: Hen {};
|
||||
class DZ_Fin: Default {
|
||||
class Fin: Default {
|
||||
rawfoodtype = "FoodDogRaw";
|
||||
};
|
||||
class DZ_Pastor: DZ_Fin {};
|
||||
class Pastor: Fin {};
|
||||
class Rabbit: Default {
|
||||
yield = 2;
|
||||
rawfoodtype = "FoodrabbitRaw";
|
||||
|
||||
@@ -1,15 +1,30 @@
|
||||
|
||||
class CAAnimalBase;
|
||||
class animal_DZ: CAAnimalBase
|
||||
class Animal;
|
||||
class CAAnimalBase: Animal
|
||||
{
|
||||
class Eventhandlers
|
||||
{
|
||||
//local = "_z = _this select 0; if ((!isServer and !isNull _z) and {(side _z != civilian)}) exitWith { PVDZ_sec_atp = [ 'wrong side', player ]; publicVariableServer 'PVDZ_sec_atp'; deleteVehicle _z; }; if ((_this select 1) and isServer) exitWith { _z call sched_co_deleteVehicle; };";
|
||||
local = "_z = _this select 0; if ((_this select 1) and isServer) exitWith { _z call sched_co_deleteVehicle; };";
|
||||
};
|
||||
class UserActions
|
||||
{
|
||||
class Butcher
|
||||
{
|
||||
displayName = $STR_ACTIONS_SELF_04;
|
||||
displayNameDefault = $STR_ACTIONS_SELF_04;
|
||||
priority = 3;
|
||||
radius = 3;
|
||||
position = "";
|
||||
showWindow = 1;
|
||||
onlyForPlayer = 1;
|
||||
shortcut = "";
|
||||
condition = "(['Butcher',this] call userActionConditions)";
|
||||
statement = "this spawn player_butcher;";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
class DZ_Pastor : Pastor {
|
||||
class Pastor: CAAnimalBase {
|
||||
scope = public;
|
||||
side = 1;
|
||||
model = "\ca\animals2\Dogs\Pastor\Pastor";
|
||||
@@ -30,7 +45,7 @@ class DZ_Pastor : Pastor {
|
||||
class VariablesString {};
|
||||
};
|
||||
|
||||
class DZ_Fin : Fin {
|
||||
class Fin: CAAnimalBase {
|
||||
scope = public;
|
||||
model = "\ca\animals2\Dogs\Fin\Fin";
|
||||
displayName = "Fin";
|
||||
@@ -40,7 +55,7 @@ class DZ_Fin : Fin {
|
||||
fsmFormation = "";
|
||||
};
|
||||
|
||||
class Cow: animal_DZ
|
||||
class Cow: CAAnimalBase
|
||||
{
|
||||
scope = private;
|
||||
model = "\ca\animals2\cow\cow";
|
||||
@@ -96,8 +111,10 @@ class Cow04: Cow01
|
||||
displayName = "$STR_DN_COW04";
|
||||
hiddenSelectionsTextures[] = {"ca\animals2\cow\data\cow4_co.PAA"};
|
||||
};
|
||||
class Cow_Base_EP1 : Cow {};
|
||||
class Cow01_EP1 : Cow_Base_EP1 {};
|
||||
|
||||
class Goat: animal_DZ
|
||||
class Goat: CAAnimalBase
|
||||
{
|
||||
scope = public;
|
||||
model = "\ca\animals2\Goat\Goat";
|
||||
@@ -121,8 +138,11 @@ class Goat: animal_DZ
|
||||
mat[] = {"ca\animals2\Goat\data\goat.rvmat","ca\animals2\Goat\data\W1_goat.rvmat","ca\animals2\Goat\data\W2_goat.rvmat"};
|
||||
};
|
||||
};
|
||||
class Goat_Base_EP1 : Goat {};
|
||||
class Goat01_EP1 : Goat_Base_EP1 {};
|
||||
class Goat02_EP1 : Goat01_EP1 {};
|
||||
|
||||
class Rabbit: animal_DZ
|
||||
class Rabbit: CAAnimalBase
|
||||
{
|
||||
scope = public;
|
||||
side = 3;
|
||||
@@ -156,7 +176,7 @@ class Rabbit: animal_DZ
|
||||
};
|
||||
};
|
||||
|
||||
class Sheep: animal_DZ
|
||||
class Sheep: CAAnimalBase
|
||||
{
|
||||
scope = public;
|
||||
model = "\ca\animals2\Sheep\Sheep";
|
||||
@@ -181,9 +201,11 @@ class Sheep: animal_DZ
|
||||
_sound3 = "sheep_03";
|
||||
};
|
||||
};
|
||||
class Sheep_Base_EP1 : Sheep {};
|
||||
class Sheep01_EP1 : Sheep_Base_EP1 {};
|
||||
class Sheep02_EP1 : Sheep01_EP1 {};
|
||||
|
||||
|
||||
class WildBoar: animal_DZ
|
||||
class WildBoar: CAAnimalBase
|
||||
{
|
||||
scope = public;
|
||||
model = "\ca\animals2\WildBoar\WildBoar";
|
||||
@@ -203,3 +225,5 @@ class WildBoar: animal_DZ
|
||||
};
|
||||
};
|
||||
|
||||
class Hen : CAAnimalBase {};
|
||||
class Cock : Hen {};
|
||||
|
||||
@@ -5,6 +5,11 @@
|
||||
//class DefaultEventhandlers;
|
||||
class Ship : AllVehicles
|
||||
{
|
||||
class UserActions
|
||||
{
|
||||
class Repair {ACTION_REPAIR; radius = 8;};
|
||||
class Salvage {ACTION_SALVAGE; radius = 8;};
|
||||
};
|
||||
transportMaxMagazines = 2000;
|
||||
transportMaxWeapons = 200;
|
||||
transportMaxBackpacks = 40;
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#include "CommonActions.hpp"
|
||||
class WeaponFireGun; // External class reference
|
||||
class WeaponCloudsGun; // External class reference
|
||||
class WeaponFireMGun; // External class reference
|
||||
@@ -136,6 +137,11 @@ class CfgVehicles {
|
||||
class ViewOptics;
|
||||
};
|
||||
};
|
||||
class UserActions
|
||||
{
|
||||
class Repair {ACTION_REPAIR; radius = 8;};
|
||||
class Salvage {ACTION_SALVAGE; radius = 8;};
|
||||
};
|
||||
};
|
||||
class Plane: Air
|
||||
{
|
||||
@@ -147,6 +153,12 @@ class CfgVehicles {
|
||||
class HitHull;
|
||||
};
|
||||
class AnimationSources;
|
||||
class UserActions
|
||||
{
|
||||
class Repair {ACTION_REPAIR; radius = 8;};
|
||||
class Salvage {ACTION_SALVAGE; radius = 8;};
|
||||
class PushPlane {ACTION_PUSH;};
|
||||
};
|
||||
};
|
||||
class Land; // External class reference
|
||||
class LandVehicle : Land
|
||||
@@ -179,6 +191,11 @@ class CfgVehicles {
|
||||
brightness = 0.5;
|
||||
};
|
||||
};
|
||||
class UserActions
|
||||
{
|
||||
class Repair {ACTION_REPAIR; radius = 4;};
|
||||
class Salvage {ACTION_SALVAGE; radius = 4;};
|
||||
};
|
||||
};
|
||||
class Car: LandVehicle {
|
||||
class HitPoints
|
||||
@@ -440,9 +457,6 @@ class CfgVehicles {
|
||||
class Strategic;
|
||||
class NonStrategic;
|
||||
// class Land_Fire;
|
||||
class Animal;
|
||||
class Pastor;
|
||||
class Fin;
|
||||
class BuiltItems;
|
||||
class Building;
|
||||
class ReammoBox;
|
||||
@@ -531,7 +545,7 @@ class CfgVehicles {
|
||||
#include "Bikes\TT650_Civ.hpp"
|
||||
#include "Bikes\M1030.hpp"
|
||||
//Boat
|
||||
#include "Boat\RHIB.hpp"
|
||||
#include "Boat\RHIB.hpp" //Must be first boat, includes Ship base class
|
||||
#include "Boat\PBX.hpp"
|
||||
#include "Boat\Fishing_Boat.hpp"
|
||||
#include "Boat\smallboat.hpp"
|
||||
|
||||
30
SQF/dayz_code/Configs/CfgVehicles/CommonActions.hpp
Normal file
30
SQF/dayz_code/Configs/CfgVehicles/CommonActions.hpp
Normal file
@@ -0,0 +1,30 @@
|
||||
#define ACTION_REPAIR displayName = $STR_ACTIONS_REPAIRVEH;\
|
||||
displayNameDefault = $STR_ACTIONS_REPAIRVEH;\
|
||||
priority = 0;\
|
||||
position = "";\
|
||||
showWindow = 0;\
|
||||
onlyForPlayer = 1;\
|
||||
shortcut = "";\
|
||||
condition = "(['Repair',this] call userActionConditions)";\
|
||||
statement = "this call player_repairVehicle;"
|
||||
|
||||
#define ACTION_SALVAGE displayName = $STR_ACTIONS_SALVAGEVEH;\
|
||||
displayNameDefault = $STR_ACTIONS_SALVAGEVEH;\
|
||||
priority = 0;\
|
||||
position = "";\
|
||||
showWindow = 0;\
|
||||
onlyForPlayer = 1;\
|
||||
shortcut = "";\
|
||||
condition = "(['Salvage',this] call userActionConditions)";\
|
||||
statement = "this call player_salvageVehicle;"
|
||||
|
||||
#define ACTION_PUSH displayName = $STR_ACTIONS_PUSH;\
|
||||
displayNameDefault = $STR_ACTIONS_PUSH;\
|
||||
priority = 0;\
|
||||
radius = 8;\
|
||||
position = "";\
|
||||
showWindow = 0;\
|
||||
onlyForPlayer = 1;\
|
||||
shortcut = "";\
|
||||
condition = "(['PushPlane',this] call userActionConditions)";\
|
||||
statement = "this call player_pushPlane;"
|
||||
@@ -105,13 +105,15 @@ class CSJ_GyroP: Plane
|
||||
};
|
||||
class push
|
||||
{
|
||||
displayName = "push aircraft";
|
||||
displayName = $STR_ACTIONS_PUSH;
|
||||
position = "osa leve smerovky";
|
||||
onlyforplayer = 0;
|
||||
radius = 2;
|
||||
condition = "(Count (Crew this)==0) and ((getpos this select 2) <1) and (!isengineon this)";
|
||||
statement = "this exec ""\CSJ_GyroAC\scripts\CSJ_moveGyro.sqs"" ";
|
||||
};
|
||||
class Repair {ACTION_REPAIR; radius = 4;};
|
||||
class Salvage {ACTION_SALVAGE; radius = 4;};
|
||||
};
|
||||
class DefaultEventhandlers;
|
||||
class EventHandlers: DefaultEventhandlers
|
||||
@@ -220,7 +222,10 @@ class CSJ_GyroC: Helicopter
|
||||
dammageFull[] = {};
|
||||
class Reflectors{};
|
||||
class AnimationSources: AnimationSources{};
|
||||
class UserActions{};
|
||||
class UserActions {
|
||||
class Repair {ACTION_REPAIR; radius = 4;};
|
||||
class Salvage {ACTION_SALVAGE; radius = 4;};
|
||||
};
|
||||
class DefaultEventhandlers;
|
||||
class EventHandlers: DefaultEventhandlers
|
||||
{
|
||||
|
||||
@@ -483,7 +483,7 @@ class M240Nest_DZ: USMC_WarfareBMGNest_M240
|
||||
transportMaxBackpacks = 1;
|
||||
constructioncount = 10;
|
||||
removeoutput[] = {{"m240_nest_kit",1}};
|
||||
|
||||
class UserActions {delete Repair; delete Salvage;};
|
||||
};
|
||||
class Land_covering_hut_EP1;
|
||||
class CanvasHut_DZ: Land_covering_hut_EP1
|
||||
|
||||
@@ -33,4 +33,82 @@ class CH53_DZE : USEC_ch53_E {
|
||||
init = "MonitorVM = [_this select 0] execvm '\usec_ch53\scripts\ch53_monitor.sqf';MonitorSFXVM = [_this select 0] execvm '\usec_ch53\scripts\ch53_monitorSFX.sqf';";
|
||||
killed = "_this spawn BIS_Effects_EH_Killed;";
|
||||
};
|
||||
class UserActions {
|
||||
class Repair {ACTION_REPAIR; radius = 8;};
|
||||
class Salvage {ACTION_SALVAGE; radius = 8;};
|
||||
class RampOpen {
|
||||
displayName = "Open Ramp";
|
||||
position = "ramp action";
|
||||
showWindow = 0;
|
||||
radius = 5;
|
||||
condition = "this animationPhase ""ramp_bottom"" < 0.50;";
|
||||
statement = "if(((getPos this) select 2) < 2) then {this animate [""ramp_bottom"",1];this animate [""ramp_top"",1];} else {this animate [""ramp_bottom"",0.56];this animate [""ramp_top"",1];};";
|
||||
onlyforplayer = 0;
|
||||
};
|
||||
class RampClose {
|
||||
displayName = "Close Ramp";
|
||||
position = "ramp action";
|
||||
showWindow = 0;
|
||||
radius = 5;
|
||||
condition = "this animationPhase ""ramp_bottom"" > 0.50;";
|
||||
statement = "this animate [""ramp_bottom"",0];this animate [""ramp_top"",0];";
|
||||
onlyforplayer = 0;
|
||||
};
|
||||
class LandingGear_down {
|
||||
displayName = "Gear Down";
|
||||
position = "ramp action";
|
||||
showWindow = 0;
|
||||
onlyforplayer = 0;
|
||||
shortcut = "landGear";
|
||||
radius = 5;
|
||||
condition = "(this animationPhase ""gear_nose_1"" > 0.9)&&(player == driver this)";
|
||||
statement = "[this] execvm ""\usec_ch53\scripts\ch53_geardown.sqf""";
|
||||
};
|
||||
class LandingGear_up {
|
||||
displayName = "Gear Up";
|
||||
position = "ramp action";
|
||||
showWindow = 0;
|
||||
onlyforplayer = 0;
|
||||
shortcut = "landGear";
|
||||
radius = 5;
|
||||
condition = "(this animationPhase ""gear_nose_1"" < 0.1)&&(player == driver this)";
|
||||
statement = "[this] execvm ""\usec_ch53\scripts\ch53_gearup.sqf""";
|
||||
};
|
||||
class StropDown {
|
||||
displayName = "Attach Strop";
|
||||
position = "ramp action";
|
||||
showWindow = 0;
|
||||
onlyforplayer = 0;
|
||||
radius = 5;
|
||||
condition = "(this animationPhase ""Strop1_Empty"" == 1)&&((this animationPhase 'cargo' == 1) AND (this animationPhase 'cargo2' == 1))&&(player == driver this)";
|
||||
statement = "[this,true] execvm ""\usec_ch53\scripts\ch53_strop.sqf""";
|
||||
};
|
||||
class StropUp {
|
||||
displayName = "Detach Strop";
|
||||
position = "ramp action";
|
||||
showWindow = 0;
|
||||
onlyforplayer = 0;
|
||||
radius = 5;
|
||||
condition = "(this animationPhase ""Strop1_Empty"" == 0)&&(player == driver this)";
|
||||
statement = "[this,false] execvm ""\usec_ch53\scripts\ch53_strop.sqf""";
|
||||
};
|
||||
class CollectCargo {
|
||||
displayName = "Collect Cargo";
|
||||
position = "ramp action";
|
||||
showWindow = 1;
|
||||
onlyforplayer = 0;
|
||||
radius = 5;
|
||||
condition = "(count(nearestObjects [(this modeltoworld [0,0,-10]), [""USEC_CargoContainer1"",""USEC_CargoContainer2""], 6])>0) and (this animationPhase 'Strop1_Empty' == 0) and (this animationPhase 'cargo' == 1);";
|
||||
statement = "[this] execvm ""\usec_ch53\scripts\ch53_cargo.sqf"";";
|
||||
};
|
||||
class DetachCargo {
|
||||
displayName = "Detach Cargo";
|
||||
position = "ramp action";
|
||||
showWindow = 1;
|
||||
onlyforplayer = 0;
|
||||
radius = 5;
|
||||
condition = "((this animationPhase 'cargo' == 0) OR (this animationPhase 'cargo2' == 0));";
|
||||
statement = "[this] execvm ""\usec_ch53\scripts\ch53_cargodrop.sqf"";";
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -295,6 +295,8 @@ class Mi171Sh_CZ_EP1_DZ: Mi17_base {
|
||||
};
|
||||
|
||||
class UserActions {
|
||||
class Repair {ACTION_REPAIR; radius = 8;};
|
||||
class Salvage {ACTION_SALVAGE; radius = 8;};
|
||||
class HUDoff {
|
||||
displayName = $STR_AM_HUDON;
|
||||
displayNameDefault = $STR_AM_HUDON;
|
||||
@@ -304,7 +306,6 @@ class Mi171Sh_CZ_EP1_DZ: Mi17_base {
|
||||
condition = "(player==driver this)and(this animationphase ""HUDAction"" !=0)";
|
||||
statement = "this animate [""HUDAction"",0];this animate [""HUDaction_Hide"",0]";
|
||||
};
|
||||
|
||||
class HUDon {
|
||||
displayName = $STR_AM_HUDOFF;
|
||||
displayNameDefault = $STR_AM_HUDOFF;
|
||||
|
||||
@@ -88,6 +88,28 @@ class UH1Y_DZ: UH1_Base {
|
||||
magazines[] = {"2000Rnd_762x51_M134"};
|
||||
};
|
||||
};*/
|
||||
class UserActions {
|
||||
class Repair {ACTION_REPAIR; radius = 8;};
|
||||
class Salvage {ACTION_SALVAGE; radius = 8;};
|
||||
class HUDoff {
|
||||
displayName = $STR_AM_HUDON;
|
||||
displayNameDefault = $STR_AM_HUDON;
|
||||
position = "zamerny";
|
||||
radius = 1;
|
||||
onlyForPlayer = 1;
|
||||
condition = "(player==driver this)and(this animationphase ""HUDAction"" !=1)";
|
||||
statement = "this animate [""HUDAction"",1];this animate [""HUDAction_1"",1]";
|
||||
};
|
||||
class HUDon {
|
||||
displayName = $STR_AM_HUDOFF;
|
||||
displayNameDefault = $STR_AM_HUDOFF;
|
||||
position = "zamerny";
|
||||
radius = 1;
|
||||
onlyForPlayer = 1;
|
||||
condition = "(player==driver this)and(this animationphase ""HUDAction"" !=0)";
|
||||
statement = "this animate [""HUDAction"",0];this animate [""HUDAction_1"",0]";
|
||||
};
|
||||
};
|
||||
};
|
||||
class UH1Y_DZE: UH1Y_DZ {
|
||||
class Turrets : Turrets {
|
||||
|
||||
@@ -14,4 +14,10 @@ class MV22_DZ : MV22 {
|
||||
transportMaxMagazines = 400;
|
||||
transportmaxbackpacks = 10;
|
||||
fuelCapacity = 6513;
|
||||
class UserActions
|
||||
{
|
||||
class Repair {ACTION_REPAIR; radius = 8;};
|
||||
class Salvage {ACTION_SALVAGE; radius = 8;};
|
||||
class PushPlane {ACTION_PUSH;};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
class Man;
|
||||
class CAManBase: Man
|
||||
class CAManBase: Man //Covers all custom Epoch skins
|
||||
{
|
||||
class TalkTopics;
|
||||
class HitPoints
|
||||
@@ -8,6 +8,22 @@ class CAManBase: Man
|
||||
class HitHead;
|
||||
class HitBody;
|
||||
};
|
||||
class UserActions
|
||||
{
|
||||
class StudyBody
|
||||
{
|
||||
displayName = $STR_ACTION_STUDYBODY;
|
||||
displayNameDefault = $STR_ACTION_STUDYBODY;
|
||||
priority = 0;
|
||||
radius = 3;
|
||||
position = "";
|
||||
showWindow = 0;
|
||||
onlyForPlayer = 1;
|
||||
shortcut = "";
|
||||
condition = "(['StudyBody',this] call userActionConditions)";
|
||||
statement = "this call player_studyBody;";
|
||||
};
|
||||
};
|
||||
};
|
||||
class Civilian: CAManBase
|
||||
{
|
||||
|
||||
@@ -57,6 +57,23 @@ class zZombie_Base : Zed_Base {
|
||||
local = "_z = _this select 0; if (!(_this select 1)) exitWith {}; if (isServer) exitWith { _z call sched_co_deleteVehicle; }; [(position _z), _z, true] execFSM '\z\AddOns\dayz_code\system\zombie_agent.fsm';";
|
||||
};
|
||||
|
||||
class UserActions
|
||||
{
|
||||
class Butcher
|
||||
{
|
||||
displayName = $STR_EPOCH_ACTIONS_GUTZOM;
|
||||
displayNameDefault = $STR_EPOCH_ACTIONS_GUTZOM;
|
||||
priority = 0;
|
||||
radius = 3;
|
||||
position = "";
|
||||
showWindow = 1;
|
||||
onlyForPlayer = 1;
|
||||
shortcut = "";
|
||||
condition = "(['Butcher',this] call userActionConditions)";
|
||||
statement = "this spawn player_butcher;";
|
||||
};
|
||||
};
|
||||
|
||||
class HitPoints {
|
||||
class HitHead {
|
||||
armor = 0.1;
|
||||
|
||||
@@ -1,17 +1,21 @@
|
||||
private ["_item","_type","_hasHarvested","_config","_knifeArray","_PlayerNear","_isListed","_activeKnife","_text","_dis","_sfx","_sharpnessRemaining","_qty","_chance","_string"];
|
||||
if (dayz_actionInProgress) exitWith {localize "str_epoch_player_29" call dayz_rollingMessages;};
|
||||
private ["_item","_type","_hasHarvested","_knifeArray","_PlayerNear","_isListed","_activeKnife","_text","_dis","_sfx","_sharpnessRemaining","_qty","_chance","_string","_isZombie","_humanity"];
|
||||
|
||||
_isZombie = _this isKindOf "zZombie_base";
|
||||
if (dayz_actionInProgress) exitWith {
|
||||
if (_isZombie) then {
|
||||
localize "str_epoch_player_31" call dayz_rollingMessages;
|
||||
} else {
|
||||
localize "str_epoch_player_29" call dayz_rollingMessages;
|
||||
};
|
||||
};
|
||||
dayz_actionInProgress = true;
|
||||
|
||||
_item = _this select 3;
|
||||
_item = _this;
|
||||
_type = typeOf _item;
|
||||
_hasHarvested = _item getVariable["meatHarvested",false];
|
||||
_config = configFile >> "CfgSurvival" >> "Meat" >> _type;
|
||||
|
||||
_knifeArray = [];
|
||||
|
||||
player removeAction s_player_butcher;
|
||||
s_player_butcher = -1;
|
||||
|
||||
_PlayerNear = {isPlayer _x} count ((getPosATL _item) nearEntities ["CAManBase", 10]) > 1;
|
||||
if (_PlayerNear) exitWith {localize "str_pickup_limit_5" call dayz_rollingMessages; dayz_actionInProgress = false;};
|
||||
|
||||
@@ -22,8 +26,14 @@ if (_PlayerNear) exitWith {localize "str_pickup_limit_5" call dayz_rollingMessag
|
||||
};
|
||||
} count Dayz_Gutting;
|
||||
|
||||
if ((count _knifeArray) < 1) exitWith { localize "str_cannotgut" call dayz_rollingMessages; dayz_actionInProgress = false; };
|
||||
|
||||
if ((count _knifeArray) < 1) exitWith {
|
||||
if (_isZombie) then {
|
||||
format[localize "str_missing_to_do_this",localize "STR_EQUIP_NAME_4"] call dayz_rollingMessages;
|
||||
} else {
|
||||
localize "str_cannotgut" call dayz_rollingMessages;
|
||||
};
|
||||
dayz_actionInProgress = false;
|
||||
};
|
||||
|
||||
if ((count _knifeArray > 0) and !_hasHarvested) then {
|
||||
private "_qty";
|
||||
@@ -32,7 +42,7 @@ if ((count _knifeArray > 0) and !_hasHarvested) then {
|
||||
_activeKnife = _knifeArray call BIS_fnc_selectRandom;
|
||||
|
||||
//Get Animal Type
|
||||
_isListed = isClass _config;
|
||||
_isListed = isClass (configFile >> "CfgSurvival" >> "Meat" >> _type);
|
||||
_text = getText (configFile >> "CfgVehicles" >> _type >> "displayName");
|
||||
|
||||
player playActionNow "Medic";
|
||||
@@ -46,7 +56,7 @@ if ((count _knifeArray > 0) and !_hasHarvested) then {
|
||||
|
||||
_item setVariable ["meatHarvested",true,true];
|
||||
|
||||
_qty = if (_isListed) then {getNumber (_config >> "yield")} else {2};
|
||||
_qty = if (_isListed) then {getNumber (configFile >> "CfgSurvival" >> "Meat" >> _type >> "yield")} else {2};
|
||||
if (_activeKnife == "ItemKnifeBlunt") then { _qty = round(_qty / 2); };
|
||||
|
||||
if (local _item) then {
|
||||
@@ -83,7 +93,15 @@ if ((count _knifeArray > 0) and !_hasHarvested) then {
|
||||
};
|
||||
|
||||
uiSleep 6;
|
||||
_string = format[localize "str_success_gutted_animal",_text,_qty];
|
||||
if (_isZombie) then {
|
||||
// Reduce humanity for gutting zeds
|
||||
_humanity = player getVariable ["humanity",0];
|
||||
_humanity = _humanity - 10;
|
||||
player setVariable ["humanity",_humanity,true];
|
||||
_string = format[localize "str_success_gutted_zombie",_text]; //%1 has been gutted, zombie parts are now on the carcass
|
||||
} else {
|
||||
_string = format[localize "str_success_gutted_animal",_text,_qty];
|
||||
};
|
||||
closeDialog 0;
|
||||
uiSleep 0.02;
|
||||
_string call dayz_rollingMessages;
|
||||
|
||||
@@ -1,83 +0,0 @@
|
||||
private ["_item","_type","_hasHarvested","_config","_knifeArray","_playerNear","_isListed","_activeKnife","_text","_sharpnessRemaining","_qty","_chance","_string"];
|
||||
if (dayz_actionInProgress) exitWith {localize "str_epoch_player_31" call dayz_rollingMessages;};
|
||||
dayz_actionInProgress = true;
|
||||
|
||||
_item = _this select 3;
|
||||
_type = typeOf _item;
|
||||
_hasHarvested = _item getVariable ["meatHarvested",false];
|
||||
//_config = configFile >> "CfgSurvival" >> "Meat" >> _type;
|
||||
_knifeArray = [];
|
||||
player removeAction s_player_butcher;
|
||||
s_player_butcher = -1;
|
||||
|
||||
_playerNear = {isPlayer _x} count ((getPosATL _item) nearEntities ["CAManBase", 10]) > 1;
|
||||
if (_playerNear) exitWith {localize "str_pickup_limit_5" call dayz_rollingMessages; dayz_actionInProgress = false;};
|
||||
|
||||
//Count how many active tools the player has
|
||||
{
|
||||
if (_x in items player) then {_knifeArray set [count _knifeArray, _x];};
|
||||
} count Dayz_Gutting;
|
||||
|
||||
if ((count _knifeArray) < 1) exitWith {format[localize "str_missing_to_do_this",localize "STR_EQUIP_NAME_4"] call dayz_rollingMessages; dayz_actionInProgress = false; };
|
||||
|
||||
if ((count _knifeArray > 0) && !_hasHarvested) then {
|
||||
private "_qty";
|
||||
|
||||
//Select random can from array
|
||||
_activeKnife = _knifeArray call BIS_fnc_selectRandom;
|
||||
|
||||
//Get Zombie Type
|
||||
//_isListed = isClass _config;
|
||||
_text = getText (configFile >> "CfgVehicles" >> _type >> "displayName");
|
||||
|
||||
player playActionNow "Medic";
|
||||
[player,"gut",0,false,10] call dayz_zombieSpeak;
|
||||
[player,10,true,(getPosATL player)] call player_alertZombies;
|
||||
["Working",0,[20,40,15,0]] call dayz_NutritionSystem; // Added Nutrition-Factor for work
|
||||
|
||||
_item setVariable ["meatHarvested",true,true];
|
||||
|
||||
_qty = 2; //not used for gutting zombies
|
||||
if (_activeKnife == "ItemKnifeBlunt") then { _qty = round(_qty / 2); };
|
||||
|
||||
if (local _item) then {
|
||||
[_item,_qty] spawn local_gutObjectZ; //leave as spawn (sleeping in loops will work but can freeze the script)
|
||||
} else {
|
||||
PVDZE_plr_GutBodyZ = [_item,_qty];
|
||||
publicVariable "PVDZE_plr_GutBodyZ";
|
||||
};
|
||||
|
||||
if (dayz_knifeDulling) then {
|
||||
_sharpnessRemaining = getText (configFile >> "cfgWeapons" >> _activeKnife >> "sharpnessRemaining");
|
||||
switch _activeKnife do {
|
||||
case "ItemKnife" : {
|
||||
//_chance = getNumber (configFile >> "cfgWeapons" >> _activeKnife >> "chance");
|
||||
if ([0.2] call fn_chance) then {
|
||||
player removeWeapon _activeKnife;
|
||||
player addWeapon _sharpnessRemaining;
|
||||
|
||||
//systemChat (localize "str_info_bluntknife");
|
||||
localize "str_info_bluntknife" call dayz_rollingMessages;
|
||||
};
|
||||
};
|
||||
case "ItemKnifeBlunt" : {
|
||||
//do nothing
|
||||
};
|
||||
default {
|
||||
player removeWeapon _activeKnife;
|
||||
player addWeapon _sharpnessRemaining;
|
||||
};
|
||||
};
|
||||
};
|
||||
// Reduce humanity for gutting zeds
|
||||
_humanity = player getVariable ["humanity",0];
|
||||
_humanity = _humanity - 10;
|
||||
player setVariable ["humanity",_humanity,true];
|
||||
|
||||
uiSleep 6;
|
||||
_string = format[localize "str_success_gutted_zombie",_text]; //%1 has been gutted, zombie parts are now on the carcass
|
||||
closeDialog 0;
|
||||
uiSleep 0.02;
|
||||
_string call dayz_rollingMessages;
|
||||
};
|
||||
dayz_actionInProgress = false;
|
||||
@@ -1,8 +1,5 @@
|
||||
private ["_dir","_nearPlayers","_object","_speed","_vel"];
|
||||
_object = _this select 3;
|
||||
|
||||
player removeAction s_player_pushPlane;
|
||||
s_player_pushPlane = -1;
|
||||
_object = _this;
|
||||
|
||||
if (!local _object) exitWith {
|
||||
localize "str_actions_pilot_seat" call dayz_rollingMessages;
|
||||
|
||||
@@ -4,9 +4,6 @@ _item = _this select 3;
|
||||
|
||||
disableSerialization;
|
||||
|
||||
player removeAction s_player_butcher;
|
||||
s_player_butcher = 1;
|
||||
|
||||
if !(alive _item) then {
|
||||
|
||||
_rnd = (round(random 4)) + 1;
|
||||
@@ -94,5 +91,3 @@ if !(alive _item) then {
|
||||
format[localize "str_player_consumed",getText(configFile >> "CfgVehicles" >> _animalType >> "displayName")] call dayz_rollingMessages;
|
||||
player switchmove "";
|
||||
};
|
||||
|
||||
s_player_butcher = -1;
|
||||
|
||||
@@ -1,3 +1,2 @@
|
||||
{dayz_myCursorTarget removeAction _x} count s_player_repairActions;s_player_repairActions = [];
|
||||
s_player_repair_crtl = -1;
|
||||
dayz_myCursorTarget = objNull;
|
||||
@@ -1,6 +1,6 @@
|
||||
private ["_part","_cancel","_color","_string","_handle","_damage","_cmpt","_vehicle","_hitpoints","_damagePercent","_configVeh"];
|
||||
|
||||
_vehicle = _this select 3;
|
||||
_vehicle = _this;
|
||||
{dayz_myCursorTarget removeAction _x} count s_player_repairActions;s_player_repairActions = [];
|
||||
dayz_myCursorTarget = _vehicle;
|
||||
|
||||
@@ -39,5 +39,4 @@ if (count _hitpoints > 0) then {
|
||||
// Localized in A2OA\Expansion\dta\languagecore
|
||||
_cancel = dayz_myCursorTarget addAction [localize "str_action_cancel_action", "\z\addons\dayz_code\actions\repair_cancel.sqf","repair", 0, true, false];
|
||||
s_player_repairActions set [count s_player_repairActions,_cancel];
|
||||
s_player_repair_crtl = 1;
|
||||
};
|
||||
@@ -19,7 +19,6 @@ _namePart = getText(configFile >> "cfgMagazines" >> _part >> "displayName");
|
||||
|
||||
{_vehicle removeAction _x} count s_player_repairActions;
|
||||
s_player_repairActions = [];
|
||||
s_player_repair_crtl = 1;
|
||||
|
||||
if (_hasToolbox) then {
|
||||
player playActionNow "Medic";
|
||||
@@ -94,7 +93,6 @@ if (_hasToolbox) then {
|
||||
};
|
||||
|
||||
dayz_myCursorTarget = objNull;
|
||||
s_player_repair_crtl = -1;
|
||||
dayz_salvageInProgress = false;
|
||||
|
||||
//adding melee mags back if needed
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
private ["_part","_color","_vehicle","_PlayerNear","_hitpoints","_isATV","_is6WheelType","_HasNoGlassKind",
|
||||
"_6WheelTypeArray","_NoGlassArray","_NoExtraWheelsArray","_RemovedPartsArray","_damage","_cmpt","_configVeh","_damagePercent","_string","_handle","_cancel","_type"];
|
||||
|
||||
_vehicle = _this select 3;
|
||||
_vehicle = _this;
|
||||
{dayz_myCursorTarget removeAction _x} count s_player_repairActions;s_player_repairActions = [];
|
||||
|
||||
_PlayerNear = {isPlayer _x} count ((getPosATL _vehicle) nearEntities ["CAManBase", 10]) > 1;
|
||||
@@ -73,5 +73,4 @@ if (count _hitpoints > 0 ) then {
|
||||
// Localized in A2OA\Expansion\dta\languagecore
|
||||
_cancel = dayz_myCursorTarget addAction [localize "str_action_cancel_action", "\z\addons\dayz_code\actions\repair_cancel.sqf","repair", 0, true, false];
|
||||
s_player_repairActions set [count s_player_repairActions,_cancel];
|
||||
s_player_repair_crtl = 1;
|
||||
};
|
||||
@@ -1,6 +1,6 @@
|
||||
private["_body","_name","_method","_methodStr","_message","_killingBlow"];
|
||||
|
||||
_body = _this select 3;
|
||||
_body = _this;
|
||||
_name = _body getVariable["bodyName","unknown"];
|
||||
_method = _body getVariable["deathType","unknown"];
|
||||
_methodStr = localize format ["str_death_%1",_method];
|
||||
|
||||
22
SQF/dayz_code/actions/userActionConditions.sqf
Normal file
22
SQF/dayz_code/actions/userActionConditions.sqf
Normal file
@@ -0,0 +1,22 @@
|
||||
#define CAN_DO (!r_drag_sqf && !r_player_unconscious && getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder") != 1)
|
||||
#define HAS_TOOLBOX ("ItemToolbox" in items player)
|
||||
#define IN_VEHICLE (vehicle player != player)
|
||||
#define IS_ALIVE (damage _object < 1)
|
||||
#define IS_BIKE (_object isKindOf "Bicycle")
|
||||
#define IS_PZOMBIE (player isKindOf "PZombie_VB")
|
||||
|
||||
private ["_action","_object","_show"];
|
||||
|
||||
_action = _this select 0;
|
||||
_object = _this select 1;
|
||||
|
||||
_show = switch _action do {
|
||||
case "Butcher": {!IS_ALIVE && !IN_VEHICLE && CAN_DO && !(_object getVariable["meatHarvested",false]) && !IS_PZOMBIE};
|
||||
case "PushPlane": {IS_ALIVE && !IN_VEHICLE && CAN_DO && count crew _object == 0 && !isEngineOn _object && !IS_PZOMBIE};
|
||||
case "Repair": {IS_ALIVE && !IN_VEHICLE && CAN_DO && _object != dayz_myCursorTarget && HAS_TOOLBOX};
|
||||
case "Salvage": {IS_ALIVE && !IN_VEHICLE && CAN_DO && _object != dayz_myCursorTarget && HAS_TOOLBOX && !IS_BIKE && (DZE_salvageLocked or !locked _object)};
|
||||
case "StudyBody": {!IS_ALIVE && !IN_VEHICLE && !(_object isKindOf "zZombie_base")};
|
||||
default {false};
|
||||
};
|
||||
|
||||
_show
|
||||
@@ -14,7 +14,7 @@ private ["_canPickLight","_text","_dir","_canDoThis","_w2m","_bb","_waterHoles",
|
||||
"_isModular","_isModularDoor","_isHouse","_isGate","_isFence","_isLockableGate","_isUnlocked","_isOpen","_isClosed","_ownerArray","_ownerBuildLock",
|
||||
"_ownerPID","_speed","_dog","_vehicle","_inVehicle","_cursorTarget","_primaryWeapon","_currentWeapon","_magazinesPlayer","_onLadder","_canDo",
|
||||
"_nearLight","_vehicleOwnerID","_hasHotwireKit","_isPZombie","_dogHandle","_allowedDistance","_id","_upgrade","_weaponsPlayer","_hasCrowbar",
|
||||
"_isPlane","_allowed","_hasAccess","_uid"];
|
||||
"_allowed","_hasAccess","_uid"];
|
||||
|
||||
_vehicle = vehicle player;
|
||||
_inVehicle = (_vehicle != player);
|
||||
@@ -238,12 +238,10 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur
|
||||
_typeOfCursorTarget = typeOf _cursorTarget;
|
||||
_isVehicle = _cursorTarget isKindOf "AllVehicles";
|
||||
_isBicycle = _cursorTarget isKindOf "Bicycle";
|
||||
_isPlane = _cursorTarget isKindOf "Plane";
|
||||
_isMan = _cursorTarget isKindOf "Man";
|
||||
_isAnimal = _cursorTarget isKindOf "Animal";
|
||||
_isZombie = _cursorTarget isKindOf "zZombie_base";
|
||||
_isDestructable = _cursorTarget isKindOf "BuiltItems";
|
||||
_isHarvested = _cursorTarget getVariable["meatHarvested",false];
|
||||
_isGenerator = _cursorTarget isKindOf "Generator_DZ";
|
||||
//_isVehicletype = _typeOfCursorTarget in ["ATV_US_EP1","ATV_CZ_EP1"]; //Checked in player_flipvehicle
|
||||
_isFuel = false;
|
||||
@@ -273,7 +271,7 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur
|
||||
};
|
||||
|
||||
_isDisallowRefuel = _typeOfCursorTarget in ["M240Nest_DZ","MMT_Civ","MMT_USMC","Old_bike_TK_CIV_EP1","Old_bike_TK_INS_EP1"];
|
||||
_isDog = (_cursorTarget isKindOf "DZ_Pastor" || _cursorTarget isKindOf "DZ_Fin");
|
||||
_isDog = (_cursorTarget isKindOf "Pastor" || _cursorTarget isKindOf "Fin");
|
||||
_isModular = _cursorTarget isKindOf "ModularItems";
|
||||
_isModularDoor = _typeOfCursorTarget in ["Land_DZE_WoodDoor","Land_DZE_LargeWoodDoor","Land_DZE_GarageWoodDoor","CinderWallDoor_DZ","CinderWallDoorSmall_DZ"];
|
||||
_player_deleteBuild = false;
|
||||
@@ -301,15 +299,6 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur
|
||||
s_player_flipveh = -1;
|
||||
};
|
||||
|
||||
if (_isPlane && {_isAlive} && {count (crew _cursorTarget) == 0}) then {
|
||||
if (s_player_pushPlane < 0) then {
|
||||
s_player_pushPlane = player addAction [format[localize "str_actions_push",_text], "\z\addons\dayz_code\actions\player_pushPlane.sqf",_cursorTarget,1,true,true];
|
||||
};
|
||||
} else {
|
||||
player removeAction s_player_pushPlane;
|
||||
s_player_pushPlane = -1;
|
||||
};
|
||||
|
||||
//Allow player to fill Fuel can
|
||||
if (_hasEmptyFuelCan && {_isFuel} && {!a_player_jerryfilling} && {_isAlive}) then {
|
||||
if (s_player_fillfuel < 0) then {
|
||||
@@ -375,27 +364,6 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur
|
||||
s_player_siphonfuel = -1;
|
||||
};
|
||||
|
||||
//Harvested
|
||||
if (!_isAlive && (_isAnimal or _isZombie) && !_isHarvested) then {
|
||||
//_hasknife = {_x in ["ItemKnife","ItemKnife5","ItemKnife4","ItemKnife3","ItemKnife2","ItemKnifeBlunt"]} count _itemsPlayer > 0;
|
||||
//make sure the player has a knife
|
||||
//if (_hasknife) 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;
|
||||
//};
|
||||
} else {
|
||||
player removeAction s_player_butcher;
|
||||
s_player_butcher = -1;
|
||||
};
|
||||
|
||||
//Fireplace Actions check
|
||||
if ((_cursorTarget call isInflamed) or (inflamed _cursorTarget)) then {
|
||||
_hasRawMeat = {_x in Dayz_meatraw} count _magazinesPlayer > 0;
|
||||
@@ -526,16 +494,6 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur
|
||||
player removeAction s_player_sleep;
|
||||
s_player_sleep = -1;
|
||||
};
|
||||
|
||||
//Study Body
|
||||
if (_isMan && {!_isAlive} && {!_isZombie} && {!_isAnimal}) then {
|
||||
if (s_player_studybody < 0) then {
|
||||
s_player_studybody = player addAction [localize "str_action_studybody", "\z\addons\dayz_code\actions\study_body.sqf",_cursorTarget, 0, false, true];
|
||||
};
|
||||
} else {
|
||||
player removeAction s_player_studybody;
|
||||
s_player_studybody = -1;
|
||||
};
|
||||
/*
|
||||
//Carbomb
|
||||
_hasCarBomb = "ItemCarBomb" in _magazinesPlayer;
|
||||
@@ -548,30 +506,6 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur
|
||||
s_player_attach_bomb = -1;
|
||||
};
|
||||
*/
|
||||
//Repairing Vehicles
|
||||
if (_isVehicle && {!_isMan} && {dayz_myCursorTarget != _cursorTarget} && {_hasToolbox} && {damage _cursorTarget < 1} && {_typeOfCursorTarget != "M240Nest_DZ"}) then {
|
||||
if (s_player_repair_crtl < 0) then {
|
||||
dayz_myCursorTarget = _cursorTarget;
|
||||
_menu = dayz_myCursorTarget addAction [localize "str_actions_repairveh", "\z\addons\dayz_code\actions\repair_vehicle.sqf",_cursorTarget, 0, true, false];
|
||||
if (!_isBicycle) then { //Bike wheels should not give full size tires. Also model does not update to show removed wheels.
|
||||
if (!DZE_salvageLocked) then {
|
||||
if (!locked _cursorTarget) then {
|
||||
_menu1 = dayz_myCursorTarget addAction [localize "str_actions_salvageveh", "\z\addons\dayz_code\actions\salvage_vehicle.sqf",_cursorTarget, 0, true, false];
|
||||
s_player_repairActions set [count s_player_repairActions,_menu1];
|
||||
};
|
||||
} else {
|
||||
_menu1 = dayz_myCursorTarget addAction [localize "str_actions_salvageveh", "\z\addons\dayz_code\actions\salvage_vehicle.sqf",_cursorTarget, 0, true, false];
|
||||
s_player_repairActions set [count s_player_repairActions,_menu1];
|
||||
};
|
||||
};
|
||||
s_player_repairActions set [count s_player_repairActions,_menu];
|
||||
s_player_repair_crtl = 1;
|
||||
} else {
|
||||
{dayz_myCursorTarget removeAction _x} forEach s_player_repairActions;
|
||||
s_player_repairActions = [];
|
||||
s_player_repair_crtl = -1;
|
||||
};
|
||||
};
|
||||
/* //Vanilla base building currently not used in Epoch
|
||||
// House locking and unlocking
|
||||
_isHouse = _typeOfCursorTarget in ["SurvivorWorkshopAStage5", "SurvivorWorkshopBStage5", "SurvivorWorkshopCStage5"];
|
||||
@@ -1090,20 +1024,12 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur
|
||||
s_player_plot_take_ownership = -1;
|
||||
player removeAction s_player_plotManagement;
|
||||
s_player_plotManagement = -1;
|
||||
{dayz_myCursorTarget removeAction _x} count s_player_repairActions;s_player_repairActions = [];
|
||||
player removeAction s_player_repair_crtl;
|
||||
s_player_repair_crtl = -1;
|
||||
dayz_myCursorTarget = objNull;
|
||||
player removeAction s_player_flipveh;
|
||||
s_player_flipveh = -1;
|
||||
player removeAction s_player_pushPlane;
|
||||
s_player_pushPlane = -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;
|
||||
@@ -1116,8 +1042,6 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur
|
||||
s_player_packtentinfected = -1;
|
||||
player removeAction s_player_fillfuel;
|
||||
s_player_fillfuel = -1;
|
||||
player removeAction s_player_studybody;
|
||||
s_player_studybody = -1;
|
||||
//fuel
|
||||
player removeAction s_player_fillfuel210;
|
||||
s_player_fillfuel210 = -1;
|
||||
|
||||
@@ -1,6 +1,14 @@
|
||||
private ["_amount","_animalbody","_rawfoodtype","_qty"];
|
||||
|
||||
_animalbody = _this select 0;
|
||||
_qty = _this select 1;
|
||||
_rawfoodtype = getText (configFile >> "CfgSurvival" >> "Meat" >> typeOf _animalbody >> "rawfoodtype");
|
||||
|
||||
if (_animalbody isKindOf "zZombie_base") then {
|
||||
_qty = 1;
|
||||
_rawfoodtype = "ItemZombieParts";
|
||||
} else {
|
||||
_rawfoodtype = getText (configFile >> "CfgSurvival" >> "Meat" >> typeOf _animalbody >> "rawfoodtype");
|
||||
};
|
||||
|
||||
if (local _animalbody) then {
|
||||
for "_i" from 1 to _qty do {
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
private "_zombiebody";
|
||||
_zombiebody = _this select 0;
|
||||
// _qty = _this select 1;
|
||||
|
||||
if (local _zombiebody) then {
|
||||
_zombiebody addMagazine "ItemZombieParts";
|
||||
|
||||
[time, _zombiebody] spawn {
|
||||
private ["_timer","_body"];
|
||||
_timer = _this select 0;
|
||||
_body = _this select 1;
|
||||
_pos = getPosATL _body;
|
||||
while {(count magazines _body > 0) && (time - _timer < 300)} do {
|
||||
uiSleep 5;
|
||||
};
|
||||
|
||||
hideBody _body;
|
||||
|
||||
_inRange = _pos nearEntities ["CAManBase",100];
|
||||
{
|
||||
if ((isPlayer _x) && {_x != player}) then {
|
||||
PVDZ_send = [_x,"HideBody",[_body]];
|
||||
publicVariableServer "PVDZ_send";
|
||||
};
|
||||
} count _inRange;
|
||||
|
||||
uiSleep 5;
|
||||
deleteVehicle _body;
|
||||
true
|
||||
};
|
||||
};
|
||||
@@ -76,6 +76,7 @@ if (!isDedicated) then {
|
||||
//zombie_generateSwarm = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\swarm_generate.sqf";
|
||||
|
||||
//actions
|
||||
userActionConditions = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\userActionConditions.sqf";
|
||||
player_addToolbelt = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_addToolbelt.sqf";
|
||||
player_addtoBack = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_addtoBack.sqf";
|
||||
player_reloadMag = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_reloadMags.sqf";
|
||||
@@ -124,6 +125,11 @@ if (!isDedicated) then {
|
||||
//object_remove = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\remove.sqf";
|
||||
player_fixHatchet = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_fixTools.sqf";
|
||||
player_sharpen = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_sharpen.sqf";
|
||||
player_butcher = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\gather_meat.sqf";
|
||||
player_pushPlane = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_pushPlane.sqf";
|
||||
player_repairVehicle = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\repair_vehicle.sqf";
|
||||
player_salvageVehicle = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\salvage_vehicle.sqf";
|
||||
player_studyBody = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\study_body.sqf";
|
||||
|
||||
//ui
|
||||
player_toggleSoundMute = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_toggleSoundMute.sqf";
|
||||
@@ -682,7 +688,6 @@ call compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\psrnd.sqf";
|
||||
BIS_fnc_numberDigits = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_numberDigits.sqf";
|
||||
BIS_fnc_numberText = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_numberText.sqf";
|
||||
local_lockUnlock = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\local_lockUnlock.sqf"; //When vehicle is local to unit perform locking vehicle
|
||||
local_gutObjectZ = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\local_gutObjectZ.sqf"; //Generated on the server (or local to unit) when gutting an object
|
||||
local_spawnObjects = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\local_spawnObjects.sqf";
|
||||
FNC_GetSetPos = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fnc_getSetPos.sqf";
|
||||
FNC_GetPos = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fnc_getPos.sqf";
|
||||
|
||||
@@ -13,7 +13,6 @@
|
||||
|
||||
// EPOCH ADDITIONS
|
||||
"PVDZE_veh_Lock" addPublicVariableEventHandler {(_this select 1) call local_lockUnlock};
|
||||
"PVDZE_plr_GutBodyZ" addPublicVariableEventHandler {(_this select 1) spawn local_gutObjectZ};
|
||||
"PVDZE_veh_Init" addPublicVariableEventHandler {(_this select 1) call fnc_veh_ResetEH};
|
||||
"PVDZE_obj_Remove" addPublicVariableEventHandler {_pos = (_this select 1); _obj = nearestObjects [_pos, DZE_isWreckBuilding, 5]; if (count _obj > 0) then {deleteVehicle (_obj select 0);};};
|
||||
if (dayz_groupSystem) then {
|
||||
|
||||
@@ -170,7 +170,6 @@ dayz_resetSelfActions = {
|
||||
s_player_cook = -1;
|
||||
s_player_boil = -1;
|
||||
s_player_fireout = -1;
|
||||
s_player_butcher = -1;
|
||||
s_player_packtent = -1;
|
||||
s_player_packtentinfected = -1;
|
||||
s_player_fillwater = -1;
|
||||
@@ -179,20 +178,17 @@ dayz_resetSelfActions = {
|
||||
s_player_grabflare = -1;
|
||||
s_player_removeflare = -1;
|
||||
s_player_painkiller = -1;
|
||||
s_player_studybody = -1;
|
||||
s_build_Sandbag1_DZ = -1;
|
||||
s_build_Hedgehog_DZ = -1;
|
||||
s_build_Wire_cat1 = -1;
|
||||
s_player_deleteBuild = -1;
|
||||
s_player_flipveh = -1;
|
||||
s_player_pushPlane = -1;
|
||||
s_player_stats = -1;
|
||||
s_player_sleep = -1;
|
||||
s_player_fillfuel210 = -1;
|
||||
s_player_fillfuel20 = -1;
|
||||
s_player_fillfuel5 = -1;
|
||||
s_player_siphonfuel = -1;
|
||||
s_player_repair_crtl = -1;
|
||||
s_player_fishing = -1;
|
||||
s_player_fishing_veh = -1;
|
||||
s_player_gather = -1;
|
||||
@@ -315,7 +311,6 @@ r_public_blood = r_player_blood;
|
||||
r_player_bloodDanger = r_player_bloodTotal * 0.2;
|
||||
r_player_actions = [];
|
||||
r_handlerCount = 0;
|
||||
r_action_repair = false;
|
||||
r_action_targets = [];
|
||||
r_pitchWhine = false;
|
||||
r_isBandit = false;
|
||||
|
||||
@@ -871,8 +871,7 @@
|
||||
<Czech>Otočit %1</Czech>
|
||||
</Key>
|
||||
<Key ID="str_actions_push">
|
||||
<English>Push %1</English>
|
||||
<German>%1 schieben</German>
|
||||
<English>Push Plane</English>
|
||||
</Key>
|
||||
<Key ID="str_actions_stats">
|
||||
<English>Enable Stats</English>
|
||||
|
||||
@@ -65,7 +65,7 @@ sched_animals = {
|
||||
_type = _animalssupported select floor random count _animalssupported;
|
||||
};
|
||||
if (_type == "Dog") then {
|
||||
_animalssupported = ["DZ_Fin","DZ_Pastor"];
|
||||
_animalssupported = ["Fin","Pastor"];
|
||||
_type = _animalssupported select floor random count _animalssupported;
|
||||
};
|
||||
_root = configFile >> "CfgVehicles" >> _type;
|
||||
@@ -79,7 +79,7 @@ sched_animals = {
|
||||
if (count _PosList > 0) then {
|
||||
_Pos = (_PosList select 0) select 0;
|
||||
if ((!surfaceIsWater _Pos) AND {(0 == {alive _x} count (_Pos nearEntities [ AllPlayers, 200 ]))}) then {
|
||||
_agent = if (_type == "DZ_Pastor") then {createAgent [_type, _Pos, [], 0, "NONE"]} else {createAgent [_type, _Pos, [], 0, "FORM"]};
|
||||
_agent = if (_type == "Pastor") then {createAgent [_type, _Pos, [], 0, "NONE"]} else {createAgent [_type, _Pos, [], 0, "FORM"]};
|
||||
[_pos,_agent] execFSM "\z\addons\dayz_code\system\animal_agent.fsm";
|
||||
_agent setVariable [ "", true ];
|
||||
_count = _count + 1;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
//new
|
||||
5 !(^DZ_|^z_|^pz_|^WeaponHolder|Box|dog|PZombie_VB|^Smoke|^Chem|^._40mm|_DZ$|^Trap) !=(SeaGull|SmallSecondary|HelicopterExplo(Small|Big)|DesertTentStorage|Stash(Small|Medium)(|[1-4])|(|Dome)TentStorage(|[0-4])) !=(CZ_VestPouch_EP1|R_M136_AT|R_MEEWS_HEAT|Wire_cat1) !=(JackDaniels|(Tin|Soda)Can|RoadFlare|WoodenArrowF|zZombie_Base|Parachute(West|C)|Grenade(_|HandTimed)(West|East)) !=(CMflareAmmo|Pipebomb) !=(WildBoar|Rabbit|Sheep|Sheep(01_EP1|02_EP1)|Goat|Goat(01_EP1|02_EP1)|Hen|Cow0[1234]|Cow01_EP1|Cock) !=Blood_Trail_DZ !^(Wooden|Metal)Fence !^WoodenGate_ !=(ShantyHouse(|Stage[2-7])|SurvivorWorkshop(|Stage2|[ABC]Stage[345])|WorkBench) !=explosive_bolt !"Land_" !=Sign_(arrow_down_large|sphere10cm)_EP1 !="MAP_c_fern" !="Grave" !"VaultStorage" !="LaserTargetW" !Fort_ !Nest !CMflare !="GyroGrenade" !="CraterLong" !="pook_camel_HE"
|
||||
5 !(^DZ_|^z_|^pz_|^WeaponHolder|Box|dog|PZombie_VB|^Smoke|^Chem|^._40mm|_DZ$|^Trap) !=(SeaGull|SmallSecondary|HelicopterExplo(Small|Big)|DesertTentStorage|Stash(Small|Medium)(|[1-4])|(|Dome)TentStorage(|[0-4])) !=(CZ_VestPouch_EP1|R_M136_AT|R_MEEWS_HEAT|Wire_cat1) !=(JackDaniels|(Tin|Soda)Can|RoadFlare|WoodenArrowF|zZombie_Base|Parachute(West|C)|Grenade(_|HandTimed)(West|East)) !=(CMflareAmmo|Pipebomb) !=(WildBoar|Rabbit|Sheep|Sheep(01_EP1|02_EP1)|Goat|Goat(01_EP1|02_EP1)|Hen|Cow0[1234]|Cow01_EP1|Cock) !=Blood_Trail_DZ !^(Wooden|Metal)Fence !^WoodenGate_ !=(ShantyHouse(|Stage[2-7])|SurvivorWorkshop(|Stage2|[ABC]Stage[345])|WorkBench) !=explosive_bolt !"Land_" !=Sign_(arrow_down_large|sphere10cm)_EP1 !="MAP_c_fern" !="Grave" !"VaultStorage" !="LaserTargetW" !Fort_ !Nest !CMflare !="GyroGrenade" !="CraterLong" !="pook_camel_HE" !="Fin" !="Pastor"
|
||||
5 SeaGull //set to its own line so we know which kick we have here with out looking in the logs
|
||||
1 ^DZ_ !=DZ_(British_ACU|Czech_Vest_Pouch|(TK_Assault_Pack|Patrol_Pack|Assault_Pack|ALICE_Pack|CivilBackpack|Backpack)_EP1)
|
||||
1 ^z_ !=z_((|new_)villager[1234]|(|new_)worker[1234]|teacher|hunter|suit[12]|soldier(|_pilot|_heavy)|policeman|doctor|priest)
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
//new
|
||||
5 !=(remExField|remExFP) !=(PVCDZ_obj_GutBody|drn_AskServerDynamicWeatherEventArgs|BIS_effects_gepv|achievement|dayzFlies) !=PVDZ_(drg_(RaDrag|RaLW|RLact)|getTickTime|hlt_Bleed|obj_(Delete|Publish|RoadFlare|Destroy|Fire)|veh_Save|veh_SF) !=PVDZ_(plr_(Death|Login[12]|LoginRecord|Save|SwitchMove)|Server(_Simulation|StoreVar)|sec_atp) !=PVDZ_(playerMedicalSync|object_replace|groupInvite) !=PVDZ_(send(|Unconscious)) !=PVDZ_Server_(buildLock|LogIt|UpdateGroup) !=PVDZ_Server_process(Code|SetAccessCode) !=PVDZ_objgather_(Delete|Knockdown) !=PVDZE_(obj_(Delete|Publish|Swap|Trade)|fullobj_Publish|maintainArea|veh_(Lock|Publish2|Upgrade)|handleSafeGear|plr_(DeathB|FriendRQ|GutBodyZ|TradeMenu))
|
||||
5 !=(remExField|remExFP) !=(PVCDZ_obj_GutBody|drn_AskServerDynamicWeatherEventArgs|BIS_effects_gepv|achievement|dayzFlies) !=PVDZ_(drg_(RaDrag|RaLW|RLact)|getTickTime|hlt_Bleed|obj_(Delete|Publish|RoadFlare|Destroy|Fire)|veh_Save|veh_SF) !=PVDZ_(plr_(Death|Login[12]|LoginRecord|Save|SwitchMove)|Server(_Simulation|StoreVar)|sec_atp) !=PVDZ_(playerMedicalSync|object_replace|groupInvite) !=PVDZ_(send(|Unconscious)) !=PVDZ_Server_(buildLock|LogIt|UpdateGroup) !=PVDZ_Server_process(Code|SetAccessCode) !=PVDZ_objgather_(Delete|Knockdown) !=PVDZE_(obj_(Delete|Publish|Swap|Trade)|fullobj_Publish|maintainArea|veh_(Lock|Publish2|Upgrade)|handleSafeGear|plr_(DeathB|FriendRQ|TradeMenu))
|
||||
1=BIS_effects_gepv|PVDZ_(drg_RaDrag|hlt_Bleed|obj_Delete|obj_Destroy|obj_Publish|plr_Death|plr_LoginRecord|sec_atp|send|veh_SF)
|
||||
@@ -8,7 +8,7 @@
|
||||
5 "buttonSetAction"
|
||||
5 "callExtension"
|
||||
5 "closeDisplay" !"'closeDisplay'" !"closeDisplay 0" !"closeDisplay 2" !"if (!isNil \"closeDisplay\") then {"
|
||||
5 "createAgent" !="_agent = createAgent [_type, _position, [], _radius, \"CAN_COLLIDE\"];" !="_agent = if (_type == \"DZ_Pastor\") then {createAgent [_type, _Pos, [], 0, \"NONE\"]} else {createAgent [_type, _Pos, [], 0, \"FORM\"]};" !="_dog = createAgent [_type, _Pos, [], 0, \"NONE\"];"
|
||||
5 "createAgent" !="_agent = createAgent [_type, _position, [], _radius, \"CAN_COLLIDE\"];" !="_agent = if (_type == \"Pastor\") then {createAgent [_type, _Pos, [], 0, \"NONE\"]} else {createAgent [_type, _Pos, [], 0, \"FORM\"]};" !="_dog = createAgent [_type, _Pos, [], 0, \"NONE\"];"
|
||||
5 "createDialog" !="_region = createDialog \"RscDisplaySpawnSelecter\";" !="_gender = createDialog 'RscDisplayGenderSelect';" !="_dialog = createDialog \"bloodTest\";" !="createDialog 'RscDisplayCraftingMenu';" !="createDialog \"DAYZ_PADLOCK\";" !="createDialog \"horde_journal_front_cover\";" !="createDialog 'horde_journal_pages_headshots';" !="createDialog 'horde_journal_pages_murders';" !="createDialog 'horde_journal_pages_journal_humanity';" !="createDialog 'horde_journal_pages_zombies';" !="createDialog 'horde_journal_pages_bandits';" !="createDialog 'horde_journal_pages_humanity_art';" !"Z_ResetContainer = true;\ncreateDialog \"AdvancedTrading\";" !"createDialog \"DoorManagement\";\ncall DoorNearbyHumans;" !="createDialog \"ComboLockUI\";" !"createdialog \"PlotManagement\";\ncall PlotNearbyHumans;" !"_trader_data = (_this select 3);\n\n_dialog = createdialog \"TraderDialog\";" !="_ok = createdialog \"SafeKeyPad\";" !="_ok = createdialog \"KeypadUI\";" !"EpochDeathBoardLoad = {\ncreatedialog \"EpochDeathBoardDialog\";" !="if(DZE_doorManagement) then {createdialog \"DoorAccess\";} else {createdialog \"ComboLockUI\";};" !"\ndisableSerialization;\ncreateDialog \"DZ_GroupDialog\";"
|
||||
5 "createDisplay"
|
||||
5 "createMarker" !"\"createMarkerLocal\",\n\"setMarkerPosLocal\"," !="rcreateMarkerLocal = 'createMarkerLocal'" !"rcreateMarkerLocalcode" !"\"createMarkerLocal\", \"createSimpleTask\"," !"if (isnil 'BIS_GITA_fnc_createMarkers' || false) then {" !"_marker = createMarkerLocal [format[\"groupMember" !="_marker = createMarkerLocal [\"MyBody\",_pos];"
|
||||
|
||||
Reference in New Issue
Block a user