From 58742df73a13046f72b3c875b6a0aab69693b178 Mon Sep 17 00:00:00 2001 From: vbawol Date: Thu, 14 Feb 2013 17:20:35 -0600 Subject: [PATCH] 0.95 + work around added to player zombie "get over" stuck animation issue. + added setpos to vaults, allows precise positioning + possible fix for damage spam at server start. + added player zombie attack move, Works with animals and zombies only currently. + 10oz bars for all types of metal + fix for detecting near vehicles when selling fixes #81 --- dayz/config.cpp | 339 +------------------- dayz_code/actions/call_zombies.sqf | 6 +- dayz_code/actions/player_craftItem.sqf | 43 +++ dayz_code/actions/pzombie/pz_attack.sqf | 44 +++ dayz_code/actions/pzombie/pz_feed.sqf | 30 +- dayz_code/actions/sell_db.sqf | 2 +- dayz_code/compile/fn_selfActions.sqf | 7 +- dayz_code/init/compiles.sqf | 11 +- dayz_code/init/variables.sqf | 1 + dayz_code/medical/setup_functions_med.sqf | 2 +- dayz_code/system/player_monitor.fsm | 2 +- dayz_equip/config.cpp | 109 ++++++- dayz_server/compile/server_updateObject.sqf | 6 +- dayz_server/system/server_monitor.sqf | 3 + 14 files changed, 244 insertions(+), 361 deletions(-) create mode 100644 dayz_code/actions/pzombie/pz_attack.sqf diff --git a/dayz/config.cpp b/dayz/config.cpp index 1a1591a63..ad9964524 100644 --- a/dayz/config.cpp +++ b/dayz/config.cpp @@ -45271,7 +45271,7 @@ class CfgMovesZombie: CfgMovesBasic }; }; -class CfgMovesPlayerZombie: CfgMovesBasic +class CfgMovesZombieBase: CfgMovesMaleSdr { skeletonName = "OFP2_ManSkeleton"; gestures = "CfgGesturesMale"; @@ -47302,35 +47302,6 @@ class CfgMovesPlayerZombie: CfgMovesBasic ConnectTo[] = {"AmovPknlMstpSrasWlnrDnon",0.02}; InterpolateTo[] = {"AmovPknlMstpSrasWlnrDnon",0.02}; }; - class AmovPercMstpSnonWnonDnon: StandBase - { - actions = "CivilStandActions"; - duty = -0.4; - file = "\ca\Anims\Characters\data\Anim\Sdr\Mov\Erc\stp\non\non\AmovPercMstpSnonWnonDnon"; - showWeaponAim = "false"; - disableWeapons = "false"; - canPullTrigger = "false"; - speed = 1e+010; - relSpeedMin = 0.7; - relSpeedMax = 1.1; - leaningFactorBeg = 0; - leaningFactorEnd = 0; - looped = "true"; - soundEnabled = "false"; - enableBinocular = "true"; - leftHandIKBeg = "false"; - leftHandIKCurve[] = {}; - leftHandIKEnd = "false"; - rightHandIKBeg = "false"; - rightHandIKCurve[] = {}; - rightHandIKEnd = "false"; - collisionShape = "ca\Anims\Characters\data\Geom\Sdr\Perc_Wnon.p3d"; - headBobStrength = 0.21393; - limitGunMovement = 0.1; - enableOptics = -1; - ConnectTo[] = {"ActsPercMstpSnonWpstDnon_suicide1A",0.02,"ActsPercMstpSnonWpstDnon_suicide2A",0.02,"AmovPercMstpSnonWnonDnon_sekaniIn",0.02,"AidlPercMstpSnonWnonDnon",0.01,"AidlPercMstpSnonWnonDnon_player",0.01,"AovrPercMstpSnonWnonDf",0.01,"AmovPercMstpSnonWnonDnon_turnL",0.02,"AmovPercMstpSnonWnonDnon_turnR",0.02,"AmovPercMstpSnonWnonDnon_AmovPknlMstpSnonWnonDnon",0.02,"AmovPercMstpSnonWnonDnon_AmovPpneMstpSnonWnonDnon",0.02,"AmovPercMstpSnonWnonDnon_AmovPercMstpSrasWrflDnon",0.02,"AmovPercMstpSnonWnonDnon_AmovPercMstpSrasWpstDnon",0.02,"AmovPercMstpSnonWnonDnon_AmovPknlMstpSrasWlnrDnon",0.03,"AmovPercMstpSnonWnonDnon_AwopPercMstpSoptWbinDnon",0.02,"ActsPercMstpSnonWnonDnon_varStayLeant",2.0,"ActsPercMstpSnonWrflDnon_Interrogate01",2.0,"ActsPercMstpSnonWrflDnon_Interrogate02",2.0,"ActsPsitMstpSnonWnonDnon_InterrogateLeaves",2.0,"AmovPercMstpSnonWnonDnon_Scared",2.0,"AmovPercMstpSnonWnonDnon_Scared2",2.0,"AmovPercMstpSnonWnonDnon_carCheckPush",2.0,"AmovPercMstpSnonWnonDnon_carCheckWash",2.0,"AmovPercMstpSnonWnonDnon_carCheckWheel",2.0,"AmovPercMstpSnonWnonDnon_exerciseKata",2.0,"ActsPercMstpSnonWnonDnon_DancingDuoIvan",2.0,"ActsPercMstpSnonWnonDnon_DancingDuoStefan",2.0,"ActsPercMstpSnonWnonDnon_DancingStefan",2.0,"AmovPercMstpSnonWnonDnon_exercisekneeBendA",2.0,"AmovPercMstpSnonWnonDnon_exercisekneeBendB",2.0,"AmovPercMstpSnonWnonDnon_exercisePushup",2.0,"AmovPercMstpSnonWnonDnon_seeWatch",2.0,"AmovPercMstpSnonWnonDnon_talking",2.0,"ActsPercMstpSnonWpstDnon_sceneBardak01",0.1,"AmovPercMstpSnonWnonDnon_normalizationTest",0.1,"AmovPercMstpSnonWnonDnon_SaluteIn",0.1,"AmovPercMstpSnonWnonDnon_EaseIn",0.1,"AmovPercMstpSnonWnonDnon_AmovPsitMstpSnonWnonDnon_ground",0.1,"AmovPercMstpSnonWnonDnon_AmovPercMstpSsurWnonDnon",0.1,"AwopPercMstpSgthWnonDnon_start",0.1,"LadderCivilOn",1.0,"AswmPercMstpSnonWnonDnon",0.3,"ActsPknlMstpWunaSnonDnon_sceneCrashSite_Villager",0.1,"AmovPercMstpSnonWnonDnon_AinvPknlMstpSnonWnonDnon",0.02,"AmovPercMstpSnonWnonDnon_AcrgPknlMstpSnonWnonDnon_getInLow",0.02,"AmovPercMstpSnonWnonDnon_AcrgPknlMstpSnonWnonDnon_getInMedium",0.02,"AmovPercMstpSnonWnonDnon_AcrgPknlMstpSnonWnonDnon_getInHigh",0.02,"amovpercmstpsnonwnondnon_amovpercmstpsraswlnrdnon",0.02,"ActsPercSnonWnonDnon_assembling",0.01,"ActsPercSnonWnonDnon_carFixing",0.01,"ActsPercSnonWnonDnon_carFixing2",0.01,"ActsPercSnonWnonDnon_tableSupport_TalkIn",0.01,"ActsPercMstpSrasWunaDnon_sceneLopotevBandCaptured_Kostey",0.01,"AidlPpneMstpSnonWnonDnon_SleepA_layDown",0.01,"AidlPpneMstpSnonWnonDnon_SleepB_layDown",0.01,"AidlPpneMstpSnonWnonDnon_SleepC_layDown",0.01,"ActsPercMstpSnonWunaDnon_sceneNikitinDisloyalty_Nikitin",0.01,"ActsPercMstpSnonWunaDnon_sceneNikitinDisloyalty_Bardak",0.01,"ActsPercMstpSlowWrflDnon_sceneNikitinDisloyalty_Homeless",0.01,"ActsPercMstpSnonWunaDnon_sceneNikitinDisloyalty_Lopotev1",0.01,"ErcUnarm_sitUnarm_L",0.01,"ErcUnarm_sitUnarm_R",0.01,"sitTableRfl_listening_onTTractor",0.01,"sitUnarm_L_idleLoop_onFoiledPallets",0.01,"sitUnarm_L_idleLoop_onFoiledPallets2",0.01,"ErcUnarm_sitTable",0.01,"sitTableUnarm_talkingListening_TowingTractor",0.01,"UnaErc_UnaErcPoslechVelitele",0.01,"Csdr_LHD_oprenOzabradli118cm_A",0.01,"UnaErcVelitelProslov1",0.01,"FPS_shift",0.01,"ctsLopoHover_cdf2",0.01,"ctsLopoHover_lopotev",0.01,"sitUnarm_L_idleLoop_inUH1Y",0.01,"AmelPercMstpSnonWnonDnon_amaterUder1",0.02,"AmelPercMstpSnonWnonDnon_amaterUder2",0.02,"AmelPercMstpSnonWnonDnon_amaterUder3",0.02,"AmelPercMstpSnonWnonDnon_zasah1",0.02,"AmelPercMstpSnonWnonDnon_zasah2",0.02,"AmelPercMstpSnonWnonDnon_zasah3hard",0.02,"AmelPercMstpSnonWnonDnon_zasah4",0.02,"AmelPercMstpSnonWnonDnon_zasah5hard",0.02,"AmelPercMstpSnonWnonDnon_zasah6hlava",0.02,"AmelPercMstpSnonWnonDnon_zasah7bricho",0.02,"NavigationDriverReverse",0.01,"RepairingKneel",0.01,"RepairingErc",0.01,"NavigationHeli",0.01,"AmovPercMstpSnonWnonDnon_initLoop",0.01,"AmovPercMstpSnonWnonDnon_idle70chozeniPoRukou",0.01,"AmovPercMstpSnonWnonDnon_idle68boxing",0.01,"AmovPercMstpSnonWnonDnon_zevl",0.01}; - InterpolateTo[] = {"AinvPknlMstpSnonWnonDnon_AinvPknlMstpSnonWnonDnon_medic",0.02,"AmovPercMwlkSnonWnonDfr",0.02,"AmovPercMrunSnonWnonDf",0.02,"AmovPercMrunSnonWnonDfl",0.02,"AmovPercMstpSnonWnonDnon_turnL",0.02,"AmovPercMstpSnonWnonDnon_turnR",0.02,"AmovPercMwlkSnonWnonDf",0.02,"AmovPercMwlkSnonWnonDfl",0.02,"AmovPercMwlkSnonWnonDl",0.02,"AmovPercMwlkSnonWnonDbl",0.02,"AmovPercMwlkSnonWnonDb",0.02,"AmovPercMwlkSnonWnonDbr",0.02,"AmovPercMwlkSnonWnonDr",0.02,"AmovPercMrunSnonWnonDl",0.02,"AmovPercMrunSnonWnonDbl",0.02,"AmovPercMrunSnonWnonDb",0.02,"AmovPercMrunSnonWnonDbr",0.02,"AmovPercMrunSnonWnonDr",0.02,"AmovPercMrunSnonWnonDfr",0.02,"AmovPercMevaSnonWnonDf",0.02,"AmovPercMevaSnonWnonDfl",0.02,"AmovPercMevaSnonWnonDfr",0.02,"AdthPercMstpSnonWnonDnon_1",0.01,"AdthPercMstpSnonWnonDnon_2",0.01,"AdthPercMstpSnonWnonDnon_3",0.01,"ActsPsitMstpSnonWnonDnon_varSittingDrinking",0.02,"AmovPercMstpSnonWnonDnon_AcinPknlMwlkSnonWnonDb_1",0.1,"ActsPercMstpSnonWnonDnon_talking01",0.1,"ActsPercMstpSnonWnonDnon_talking02",0.1,"ActsPercMstpSnonWnonDnon_talking03",0.1,"ActsPercMstpSnonWnonDnon_talking04",0.1,"AidlPercSnonWnonDnon_talkBS",0.01,"sitTableRfl_listening_onTTractor",0.01,"sitUnarm_L_idleLoop_onFoiledPallets",0.01,"sitUnarm_L_idleLoop_onFoiledPallets2",0.01,"sitUnarm_L_idleLoop_inUH1Y",0.01}; - }; class ActsPercMstpSnonWpstDnon_suicide1A: AmovPercMstpSnonWnonDnon { looped = "false"; @@ -47407,14 +47378,6 @@ class CfgMovesPlayerZombie: CfgMovesBasic ConnectTo[] = {"AmovPercMstpSnonWnonDnon",0.02}; InterpolateTo[] = {}; }; - class AidlPercMstpSnonWnonDnon: AmovPercMstpSnonWnonDnon - { - variantsAI[] = {"AidlPercMstpSnonWnonDnon01",0.01,"AidlPercMstpSnonWnonDnon02",0.01,"AidlPercMstpSnonWnonDnon03",0.01,"AidlPercMstpSnonWnonDnon04",0.01,"AidlPercMstpSnonWnonDnon05",0.01,"AidlPercMstpSnonWnonDnon06",0.01,"AidlPercMstpSnonWnonDnon07",0.01,"AidlPercMstpSnonWnonDnon08",0.01,"AidlPercMstpSnonWnonDnon_idleSteady04",0.23,"AidlPercMstpSnonWnonDnon_idleSteady03",0.23,"AidlPercMstpSnonWnonDnon_idleSteady02",0.23,"AidlPercMstpSnonWnonDnon_idleSteady01",0.23}; - variantAfter[] = {1,1,1}; - collisionShape = "ca\Anims\Characters\data\Geom\Sdr\Perc_Idle.p3d"; - ConnectTo[] = {"AmovPercMstpSnonWnonDnon",0.01,"AidlPercMstpSnonWnonDnon0S",0.01}; - InterpolateTo[] = {}; - }; class AidlPercMstpSnonWnonDnon_player: AidlPercMstpSnonWnonDnon { variantsAI[] = {}; @@ -47501,19 +47464,6 @@ class CfgMovesPlayerZombie: CfgMovesBasic ConnectTo[] = {"AmovPercMstpSnonWnonDnon",0.02}; InterpolateTo[] = {"AmovPercMstpSnonWnonDnon",0.02}; }; - class AmovPknlMstpSnonWnonDnon: AmovPercMstpSnonWnonDnon - { - actions = "CivilKneelActions"; - duty = -0.7; - file = "\ca\Anims\Characters\data\Anim\Sdr\Mov\knl\stp\non\non\AmovPknlMstpSnonWnonDnon"; - collisionShape = "ca\Anims\Characters\data\Geom\Sdr\Pknl_Wnon.p3d"; - canPullTrigger = "false"; - enableOptics = -1; - disableWeapons = "false"; - disableWeaponsLong = "false"; - ConnectTo[] = {"AmovPknlMstpSnonWnonDnon_gear",0.02,"AmovPercMstpSnonWnonDnon_gear",0.02,"AmovPknlMstpSnonWnonDnon_turnL",0.02,"AmovPknlMstpSnonWnonDnon_turnR",0.02,"AmovPknlMstpSnonWnonDnon_AmovPercMsprSnonWnonDf",0.01,"amovpknlmstpsnonwnondnon_amovpknlmstpsraswpstdnon",0.02,"AmovPknlMstpSnonWnonDnon_AmovPercMstpSnonWnonDnon",0.02,"AmovPknlMstpSnonWnonDnon_AmovPpneMstpSnonWnonDnon",0.02,"amovpknlmstpsnonwnondnon_amovpknlmstpsraswlnrdnon",0.01,"AidlPknlMstpSnonWnonDnon",0.01,"AidlPknlMstpSnonWnonDnon_player",0.01,"AmovPknlMstpSnonWnonDnon_AinvPknlMstpSnonWnonDnon",0.02,"c7a_bravoErcTOknl",0.01}; - InterpolateTo[] = {"AinvPknlMstpSnonWnonDnon_AinvPknlMstpSnonWnonDnon_medic",0.02,"AmovPknlMstpSnonWnonDnon_turnL",0.02,"AmovPknlMstpSnonWnonDnon_turnR",0.02,"AmovPknlMrunSnonWnonDf",0.02,"AmovPknlMwlkSnonWnonDf",0.02,"AmovPknlMwlkSnonWnonDbr",0.02,"AmovPknlMwlkSnonWnonDbl",0.02,"AmovPknlMwlkSnonWnonDb",0.02,"AmovPknlMwlkSnonWnonDl",0.02,"AmovPknlMwlkSnonWnonDr",0.02,"AmovPknlMwlkSnonWnonDfr",0.02,"AmovPknlMwlkSnonWnonDfl",0.02,"AmovPknlMrunSnonWnonDfl",0.02,"AmovPknlMrunSnonWnonDl",0.02,"AmovPknlMrunSnonWnonDbl",0.02,"AmovPknlMrunSnonWnonDb",0.02,"AmovPknlMrunSnonWnonDbr",0.02,"AmovPknlMrunSnonWnonDr",0.02,"AmovPknlMrunSnonWnonDfr",0.02,"AdthPknlMstpSnonWnonDnon_1",0.01,"AdthPknlMstpSnonWnonDnon_2",0.01,"AmovPercMstpSnonWnonDnon_AcinPknlMwlkSnonWnonDb_2",0.1}; - }; class AmovPknlMstpSnonWnonDnon_gear: AmovPknlMstpSnonWnonDnon { actions = "CivilKneelActions_gear"; @@ -47985,19 +47935,6 @@ class CfgMovesPlayerZombie: CfgMovesBasic ConnectTo[] = {}; InterpolateTo[] = {"AmovPercMstpSrasWrflDnon",0.02,"AmovPercMrunSlowWrflDfr",0.025,"AmovPercMwlkSrasWrflDfr",0.025,"AmovPercMrunSrasWrflDf",0.025,"AmovPercMrunSrasWrflDr",0.025,"AmovPknlMrunSrasWrflDfr",0.03,"AmovPercMrunSlowWrflDf_AmovPpneMstpSrasWrflDnon",0.02,"AmovPercMevaSrasWrflDf",0.02,"AmovPercMevaSrasWrflDfr",0.025,"AmovPercMevaSlowWrflDfr",0.025,"AmovPercMrunSlowWrflDf_AmovPercMevaSrasWrflDl",0.02,"AmovPercMrunSlowWrflDf_AmovPercMevaSrasWrflDr",0.02,"AmovPercMrunSlowWrflDf_AmovPercMevaSrasWrflDb",0.02,"AdthPercMstpSlowWrflDf_1",0.01,"AdthPercMstpSlowWrflDf_2",0.01,"AdthPercMstpSlowWrflDf_4",0.01}; }; - class AmovPercMwlkSnonWnonDf: AmovPercMstpSnonWnonDnon - { - actions = "CivilWlkActionsF"; - file = "\ca\Anims\Characters\data\Anim\Sdr\Mov\Erc\Wlk\non\non\AmovPercMwlkSnonWnonDf"; - soundEdge[] = {0.25,0.5,0.75,1}; - speed = 0.47619; - duty = -0.1; - soundOverride = "walk"; - soundEnabled = "true"; - walkcycles = 2; - ConnectTo[] = {}; - InterpolateTo[] = {"AmovPercMwlkSnonWnonDfr",0.025,"AmovPercMrunSnonWnonDf",0.025,"AmovPercMwlkSnonWnonDnon_transition",0.015,"AmovPercMwlkSnonWnonDfl",0.025,"AmovPknlMwlkSnonWnonDf",0.03,"AmovPercMevaSnonWnonDf",0.025,"AmovPercMrunSnonWnonDf_AmovPercMstpSnonWnonDnon_gthStart",0.1}; - }; class AmovPercMwlkSnonWnonDfl: AmovPercMwlkSnonWnonDf { actions = "CivilWlkActionsFL"; @@ -48022,14 +47959,6 @@ class CfgMovesPlayerZombie: CfgMovesBasic ConnectTo[] = {}; InterpolateTo[] = {"AmovPercMwlkSnonWnonDnon_transition",0.015,"AmovPercMwlkSnonWnonDl",0.025,"AmovPercMwlkSnonWnonDb",0.025,"AmovPercMrunSnonWnonDbl",0.025,"AmovPknlMwlkSnonWnonDbl",0.03}; }; - class AmovPercMwlkSnonWnonDb: AmovPercMwlkSnonWnonDf - { - actions = "CivilWlkActionsB"; - file = "\ca\Anims\Characters\data\Anim\Sdr\Mov\Erc\Wlk\non\non\AmovPercMwlkSnonWnonDb"; - speed = 0.337079; - ConnectTo[] = {}; - InterpolateTo[] = {"AmovPercMwlkSnonWnonDnon_transition",0.015,"AmovPercMwlkSnonWnonDbl",0.025,"AmovPercMwlkSnonWnonDbr",0.025,"AmovPercMrunSnonWnonDb",0.025,"AmovPknlMwlkSnonWnonDb",0.03}; - }; class AmovPercMwlkSnonWnonDbr: AmovPercMwlkSnonWnonDf { actions = "CivilWlkActionsBR"; @@ -48054,23 +47983,6 @@ class CfgMovesPlayerZombie: CfgMovesBasic ConnectTo[] = {}; InterpolateTo[] = {"AmovPercMwlkSnonWnonDnon_transition",0.015,"AmovPercMwlkSnonWnonDf",0.025,"AmovPercMwlkSnonWnonDr",0.15,"AmovPercMrunSnonWnonDfr",0.025,"AmovPknlMwlkSnonWnonDfr",0.03,"AmovPercMevaSnonWnonDfr",0.025,"AmovPercMrunSnonWnonDf_AmovPercMstpSnonWnonDnon_gthStart",0.1}; }; - class AmovPercMrunSnonWnonDf: AmovPercMstpSnonWnonDnon - { - actions = "CivilRunActionsF"; - file = "\ca\Anims\Characters\data\Anim\Sdr\Mov\Erc\run\non\non\AmovPercMrunSnonWnonDf"; - speed = 1.1; - soundEdge[] = {0.25,0.5,0.75,1}; - duty = 0.1; - soundOverride = "run"; - soundEnabled = "true"; - relSpeedMin = 0.697171; - relSpeedMax = 1.09651; - limitGunMovement = 0.1; - walkcycles = 2; - disableWeapons = "true"; - ConnectTo[] = {"AmovPercMsprSnonWnonDf_AmovPpneMstpSnonWnonDnon",0.02}; - InterpolateTo[] = {"AmovPercMrunSnonWnonDfl",0.025,"AmovPercMstpSnonWnonDnon",0.02,"AmovPercMwlkSnonWnonDf",0.025,"AmovPercMrunSnonWnonDfr",0.025,"AmovPknlMrunSnonWnonDf",0.03,"AmovPercMsprSnonWnonDf_AmovPpneMstpSnonWnonDnon",0.02,"AmovPercMevaSnonWnonDf",0.02}; - }; class AmovPercMrunSnonWnonDfl: AmovPercMrunSnonWnonDf { actions = "CivilRunActionsFL"; @@ -49470,31 +49382,6 @@ class CfgMovesPlayerZombie: CfgMovesBasic ConnectTo[] = {}; InterpolateTo[] = {"AmovPknlMstpSrasWlnrDnon",0.02,"AmovPknlMrunSrasWlnrDfr",0.025,"AmovPknlMwlkSrasWlnrDf",0.025,"AmovPknlMwlkSrasWlnrDr",0.025,"AdthPknlMwlkSrasWlnrDf_1",0.01,"AdthPknlMwlkSrasWlnrDf_2",0.01,"AmovPercMwlkSlowWlnrDfl",0.03,"AmovPercMwlkSrasWlnrDfr",0.03}; }; - class AmovPknlMrunSnonWnonDf: AmovPknlMstpSnonWnonDnon - { - file = "\ca\anims\characters\data\anim\sdr\mov\knl\run\non\non\amovpknlmrunsnonwnondf"; - soundEdge[] = {0.25,0.5,0.75,1}; - speed = 0.666667; - duty = 0.2; - soundOverride = "run"; - soundEnabled = "true"; - actions = "CivilKneelActionsRunF"; - collisionShape = "ca\Anims\Characters\data\Geom\Sdr\Pknl_Mrun_Slow_Wrfl.p3d"; - walkcycles = 2; - disableWeapons = "true"; - ConnectTo[] = {}; - InterpolateTo[] = {"AmovPercMrunSnonWnonDf",0.03,"AmovPknlMstpSnonWnonDnon",0.02,"AmovPknlMwlkSnonWnonDf",0.025,"AmovPknlMrunSnonWnonDfl",0.025,"AmovPknlMrunSnonWnonDfr",0.025}; - }; - class AmovPknlMwlkSnonWnonDf: AmovPknlMrunSnonWnonDf - { - file = "\ca\anims\characters\data\anim\sdr\mov\knl\wlk\non\non\amovpknlmwlksnonwnondf"; - speed = 0.337079; - duty = 0.05; - walkcycles = 2; - actions = "CivilKneelActionsWlkF"; - ConnectTo[] = {}; - InterpolateTo[] = {"AmovPknlMstpSnonWnonDnon",0.02,"AmovPercMwlkSnonWnonDf",0.03,"AmovPknlMrunSnonWnonDf",0.025,"AmovPknlMwlkSnonWnonDfr",0.025,"AmovPknlMwlkSnonWnonDfl",0.025}; - }; class AmovPknlMwlkSnonWnonDbr: AmovPknlMwlkSnonWnonDf { file = "\ca\anims\characters\data\anim\sdr\mov\knl\wlk\non\non\amovpknlmwlksnonwnondbr"; @@ -49511,14 +49398,6 @@ class CfgMovesPlayerZombie: CfgMovesBasic ConnectTo[] = {}; InterpolateTo[] = {"AmovPknlMstpSnonWnonDnon",0.02,"AmovPercMwlkSnonWnonDbl",0.03,"AmovPknlMwlkSnonWnonDb",0.025,"AmovPknlMwlkSnonWnonDl",0.025,"AmovPknlMrunSnonWnonDbl",0.025}; }; - class AmovPknlMwlkSnonWnonDb: AmovPknlMwlkSnonWnonDf - { - file = "\ca\anims\characters\data\anim\sdr\mov\knl\wlk\non\non\amovpknlmwlksnonwnondb"; - speed = 0.29703; - actions = "CivilKneelActionsWlkB"; - ConnectTo[] = {}; - InterpolateTo[] = {"AmovPknlMstpSnonWnonDnon",0.02,"AmovPercMwlkSnonWnonDb",0.03,"AmovPknlMwlkSnonWnonDbr",0.025,"AmovPknlMwlkSnonWnonDbl",0.025,"AmovPknlMrunSnonWnonDb",0.025}; - }; class AmovPknlMwlkSnonWnonDl: AmovPknlMwlkSnonWnonDf { file = "\ca\anims\characters\data\anim\sdr\mov\knl\wlk\non\non\amovpknlmwlksnonwnondl"; @@ -49582,14 +49461,6 @@ class CfgMovesPlayerZombie: CfgMovesBasic ConnectTo[] = {}; InterpolateTo[] = {"AmovPknlMstpSnonWnonDnon",0.02,"AmovPercMrunSnonWnonDbl",0.03,"AmovPknlMwlkSnonWnonDbl",0.025,"AmovPknlMrunSnonWnonDl",0.025,"AmovPknlMrunSnonWnonDb",0.025}; }; - class AmovPknlMrunSnonWnonDb: AmovPknlMrunSnonWnonDf - { - file = "\ca\anims\characters\data\anim\sdr\mov\knl\run\non\non\amovpknlmrunsnonwnondb"; - speed = 0.666667; - actions = "CivilKneelActionsRunB"; - ConnectTo[] = {}; - InterpolateTo[] = {"AmovPknlMstpSnonWnonDnon",0.02,"AmovPercMrunSnonWnonDb",0.03,"AmovPknlMwlkSnonWnonDb",0.025,"AmovPknlMrunSnonWnonDbl",0.025,"AmovPknlMrunSnonWnonDbr",0.025}; - }; class AmovPknlMrunSnonWnonDbr: AmovPknlMrunSnonWnonDf { file = "\ca\anims\characters\data\anim\sdr\mov\knl\run\non\non\amovpknlmrunsnonwnondbr"; @@ -51308,37 +51179,6 @@ class CfgMovesPlayerZombie: CfgMovesBasic ConnectTo[] = {"AmovPknlMstpSnonWnonDnon",0.02,"AmovPercMstpSnonWnonDnon_gear",0.02}; InterpolateTo[] = {"AmovPknlMstpSnonWnonDnon_AmovPercMstpSnonWnonDnon",0.02,"AdthPknlMstpSnonWnonDnon_1",0.01}; }; - class AmovPercMsprSnonWnonDf_AmovPpneMstpSnonWnonDnon: TransAnimBase - { - actions = "CivilStandActions"; - file = "\ca\Anims\Characters\data\Anim\Sdr\Mov\erc\spr\non\non\AmovPercMsprSnonWnonDf_AmovPpneMstpSnonWnonDnon.rtm"; - speed = 0.95; - onLandBeg = "false"; - onLandEnd = "true"; - soundOverride = "laydown"; - canPullTrigger = "false"; - aiming = "aimingCivil"; - aimingBody = "aimingUpCivil"; - enableDirectControl = 0; - interpolationRestart = "true"; - collisionShape = "ca\Anims\Characters\Data\Geom\Sdr\Perc_Wnon.p3d"; - duty = 2; - ConnectTo[] = {"AmovPercMsprSnonWnonDf_AmovPpneMstpSnonWnonDnon_2",0.02}; - InterpolateTo[] = {"AdthPercMstpSnonWnonDnon_1",0.01}; - }; - class AmovPercMsprSnonWnonDf_AmovPpneMstpSnonWnonDnon_2: AmovPercMsprSnonWnonDf_AmovPpneMstpSnonWnonDnon - { - actions = "CivilProneActions"; - file = "\ca\Anims\Characters\data\Anim\Sdr\Mov\erc\spr\non\non\AmovPercMsprSnonWnonDf_AmovPpneMstpSnonWnonDnon_2.rtm"; - speed = 1.5; - soundOverride = "laydown"; - canPullTrigger = "false"; - aiming = "aimingCivil"; - aimingBody = "aimingUpCivil"; - duty = 2; - ConnectTo[] = {"AmovPpneMstpSnonWnonDnon",0.02}; - InterpolateTo[] = {"AdthPpneMstpSnonWnonDnon",0.01}; - }; class AmovPercMstpSnonWnonDnon_AmovPpneMstpSnonWnonDnon: TransAnimBase { actions = "CivilProneActions"; @@ -51355,32 +51195,6 @@ class CfgMovesPlayerZombie: CfgMovesBasic ConnectTo[] = {"AmovPpneMstpSnonWnonDnon",0.02}; InterpolateTo[] = {"AmovPpneMstpSnonWnonDnon_AmovPercMstpSnonWnonDnon",0.02,"AdthPpneMstpSnonWnonDnon",0.01}; }; - class AmovPknlMstpSnonWnonDnon_AmovPercMstpSnonWnonDnon: TransAnimBase - { - actions = "CivilStandActions"; - file = "\ca\Anims\Characters\data\Anim\Sdr\Mov\knl\stp\non\non\AmovPknlMstpSnonWnonDnon_AmovPercMstpSnonWnonDnon.rtm"; - speed = 0.652174; - soundOverride = "standup"; - canPullTrigger = "false"; - aiming = "aimingCivil"; - aimingBody = "aimingUpDefault"; - limitGunMovement = 0.1; - duty = 0.5; - ConnectTo[] = {"AmovPercMstpSnonWnonDnon",0.02}; - InterpolateTo[] = {"AmovPercMstpSnonWnonDnon_AmovPknlMstpSnonWnonDnon",0.02,"AdthPercMstpSnonWnonDnon_1",0.01}; - }; - class AmovPknlMstpSnonWnonDnon_AmovPercMsprSnonWnonDf: TransAnimBase - { - actions = "CivilKneelActions"; - file = "\ca\Anims\Characters\data\Anim\Sdr\Mov\knl\stp\non\non\AmovPknlMstpSnonWnonDnon_AmovPercMsprSnonWnonDf"; - speed = 2.55; - canPullTrigger = "false"; - aiming = "aimingCivil"; - aimingBody = "aimingUpCivil"; - enableDirectControl = 0; - ConnectTo[] = {"AmovPknlMstpSnonWnonDnon_AmovPercMsprSnonWnonDf_2",0.01}; - InterpolateTo[] = {"AdthPknlMstpSnonWnonDnon_1",0.01}; - }; class AmovPknlMstpSnonWnonDnon_AmovPercMsprSnonWnonDf_2: AmovPknlMstpSnonWnonDnon_AmovPercMsprSnonWnonDf { actions = "CivilStandActions"; @@ -59634,149 +59448,6 @@ class CfgMovesPlayerZombie: CfgMovesBasic ConnectTo[] = {"AidlPknlMstpSrasWlnrDnon0S",0.02}; InterpolateTo[] = {"AmovPknlMstpSrasWlnrDnon",0.02,"AdthPknlMstpSrasWlnrDnon_1",0.01}; }; - class AidlPercMstpSnonWnonDnon0S: AmovPercMstpSnonWnonDnon - { - equivalentTo = "AidlPercMstpSnonWnonDnon01"; - ConnectTo[] = {"AidlPercMstpSnonWnonDnon",0.01,"AidlPercMstpSnonWnonDnon01",0.01,"AidlPercMstpSnonWnonDnon02",0.01,"AidlPercMstpSnonWnonDnon03",0.01,"AidlPercMstpSnonWnonDnon04",0.01,"AidlPercMstpSnonWnonDnon05",0.01,"AidlPercMstpSnonWnonDnon06",0.01,"AidlPercMstpSnonWnonDnon07",0.01,"AidlPercMstpSnonWnonDnon08",0.01,"AidlPercMstpSnonWnonDnon_idleSteady01",0.01,"AidlPercMstpSnonWnonDnon_idleSteady02",0.01,"AidlPercMstpSnonWnonDnon_idleSteady03",0.01,"AidlPercMstpSnonWnonDnon_idleSteady04",0.01}; - InterpolateTo[] = {"AdthPercMstpSnonWnonDnon_1",0.01}; - }; - class AidlPercMstpSnonWnonDnon01: AidlPercMstpSnonWnonDnon0S - { - file = "\ca\Anims\Characters\data\Anim\Sdr\Idl\erc\stp\non\non\AidlPercMstpSnonWnonDnon01"; - speed = 0.29; - looped = "false"; - variantAfter[] = {1,1,1}; - interpolationSpeed = 6; - ConnectTo[] = {"AidlPercMstpSnonWnonDnon0S",0.01}; - InterpolateTo[] = {"AidlPercMstpSnonWnonDnon",0.01,"AdthPercMstpSnonWnonDnon_1",0.01}; - }; - class AidlPercMstpSnonWnonDnon02: AidlPercMstpSnonWnonDnon01 - { - file = "\ca\Anims\Characters\data\Anim\Sdr\Idl\erc\stp\non\non\AidlPercMstpSnonWnonDnon02"; - speed = 0.31; - canPullTrigger = "false"; - ConnectTo[] = {"AidlPercMstpSnonWnonDnon0S",0.01}; - InterpolateTo[] = {"AidlPercMstpSnonWnonDnon",0.01,"AdthPercMstpSnonWnonDnon_1",0.01}; - }; - class AidlPercMstpSnonWnonDnon03: AidlPercMstpSnonWnonDnon01 - { - file = "\ca\Anims\Characters\data\Anim\Sdr\Idl\erc\stp\non\non\AidlPercMstpSnonWnonDnon03"; - speed = 0.48; - canPullTrigger = "false"; - ConnectTo[] = {"AidlPercMstpSnonWnonDnon0S",0.01}; - InterpolateTo[] = {"AidlPercMstpSnonWnonDnon",0.01,"AdthPercMstpSnonWnonDnon_1",0.01}; - }; - class AidlPercMstpSnonWnonDnon04: AidlPercMstpSnonWnonDnon01 - { - file = "\ca\Anims\Characters\data\Anim\Sdr\Idl\erc\stp\non\non\AidlPercMstpSnonWnonDnon04"; - speed = 0.37; - canPullTrigger = "false"; - ConnectTo[] = {"AidlPercMstpSnonWnonDnon0S",0.01}; - InterpolateTo[] = {"AidlPercMstpSnonWnonDnon",0.01,"AdthPercMstpSnonWnonDnon_1",0.01}; - }; - class AidlPercMstpSnonWnonDnon05: AidlPercMstpSnonWnonDnon01 - { - file = "\ca\Anims\Characters\data\Anim\Sdr\Idl\erc\stp\non\non\AidlPercMstpSnonWnonDnon05"; - speed = 0.21; - canPullTrigger = "false"; - ConnectTo[] = {"AidlPercMstpSnonWnonDnon0S",0.01}; - InterpolateTo[] = {"AidlPercMstpSnonWnonDnon",0.01,"AdthPercMstpSnonWnonDnon_1",0.01}; - }; - class AidlPercMstpSnonWnonDnon06: AidlPercMstpSnonWnonDnon01 - { - file = "\ca\Anims\Characters\data\Anim\Sdr\Idl\erc\stp\non\non\AidlPercMstpSnonWnonDnon06"; - speed = 0.33; - canPullTrigger = "false"; - ConnectTo[] = {"AidlPercMstpSnonWnonDnon0S",0.01}; - InterpolateTo[] = {"AidlPercMstpSnonWnonDnon",0.01,"AdthPercMstpSnonWnonDnon_1",0.01}; - }; - class AidlPercMstpSnonWnonDnon07: AidlPercMstpSnonWnonDnon01 - { - file = "\ca\Anims\Characters\data\Anim\Sdr\Idl\erc\stp\non\non\AidlPercMstpSnonWnonDnon07"; - speed = 0.22; - canPullTrigger = "false"; - ConnectTo[] = {"AidlPercMstpSnonWnonDnon0S",0.01}; - InterpolateTo[] = {"AidlPercMstpSnonWnonDnon",0.01,"AdthPercMstpSnonWnonDnon_1",0.01}; - }; - class AidlPercMstpSnonWnonDnon08: AidlPercMstpSnonWnonDnon01 - { - file = "\ca\Anims\Characters\data\Anim\Sdr\Idl\erc\stp\non\non\AidlPercMstpSnonWnonDnon08"; - speed = 0.25; - canPullTrigger = "false"; - ConnectTo[] = {"AidlPercMstpSnonWnonDnon0S",0.01}; - InterpolateTo[] = {"AidlPercMstpSnonWnonDnon",0.01,"AdthPercMstpSnonWnonDnon_1",0.01}; - }; - class AidlPercMstpSnonWnonDnon_idleSteady01: AidlPercMstpSnonWnonDnon01 - { - file = "\ca\Anims\Characters\data\Anim\Sdr\Idl\erc\stp\non\non\AidlPercMstpSnonWnonDnon_idleSteady01"; - speed = 0.069767; - interpolationSpeed = 30; - ConnectTo[] = {"AidlPercMstpSnonWnonDnon0S",0.01}; - InterpolateTo[] = {"AidlPercMstpSnonWnonDnon",0.01}; - }; - class AidlPercMstpSnonWnonDnon_idleSteady02: AidlPercMstpSnonWnonDnon_idleSteady01 - { - file = "\ca\Anims\Characters\data\Anim\Sdr\Idl\erc\stp\non\non\AidlPercMstpSnonWnonDnon_idleSteady02"; - speed = 0.064516; - ConnectTo[] = {"AidlPercMstpSnonWnonDnon0S",0.01}; - InterpolateTo[] = {"AidlPercMstpSnonWnonDnon",0.01}; - }; - class AidlPercMstpSnonWnonDnon_idleSteady03: AidlPercMstpSnonWnonDnon_idleSteady01 - { - file = "\ca\Anims\Characters\data\Anim\Sdr\Idl\erc\stp\non\non\AidlPercMstpSnonWnonDnon_idleSteady03"; - speed = 0.070588; - ConnectTo[] = {"AidlPercMstpSnonWnonDnon0S",0.01}; - InterpolateTo[] = {"AidlPercMstpSnonWnonDnon",0.01}; - }; - class AidlPercMstpSnonWnonDnon_idleSteady04: AidlPercMstpSnonWnonDnon_idleSteady01 - { - file = "\ca\Anims\Characters\data\Anim\Sdr\Idl\erc\stp\non\non\AidlPercMstpSnonWnonDnon_idleSteady04"; - speed = 0.070588; - ConnectTo[] = {"AidlPercMstpSnonWnonDnon0S",0.01}; - InterpolateTo[] = {"AidlPercMstpSnonWnonDnon",0.01}; - }; - class AidlPknlMstpSnonWnonDnon: AmovPknlMstpSnonWnonDnon - { - variantsAI[] = {"AidlPknlMstpSnonWnonDnon01",0.04,"AidlPknlMstpSnonWnonDnon02",0.03,"AidlPknlMstpSnonWnonDnon03",0.03,"AidlPknlMstpSnonWnonDnon_idleSteady03",0.3,"AidlPknlMstpSnonWnonDnon_idleSteady02",0.3,"AidlPknlMstpSnonWnonDnon_idleSteady01",0.3}; - variantAfter[] = {0,0,0}; - ConnectTo[] = {"AmovPknlMstpSnonWnonDnon",0.01,"AidlPknlMstpSnonWnonDnon0S",0.01}; - InterpolateTo[] = {}; - }; - class AidlPknlMstpSnonWnonDnon0S: AidlPknlMstpSnonWnonDnon - { - equivalentTo = "AidlPknlMstpSnonWnonDnon01"; - collisionShape = "ca\Anims\Characters\Data\Geom\Sdr\Pknl_Wnon.p3d"; - file = "\ca\Anims\Characters\data\Anim\Sdr\Mov\knl\stp\non\non\AmovPknlMstpSnonWnonDnon"; - variantAfter[] = {1,1,1}; - ConnectTo[] = {"AidlPknlMstpSnonWnonDnon01",0.01,"AidlPknlMstpSnonWnonDnon02",0.01,"AidlPknlMstpSnonWnonDnon03",0.01,"AidlPknlMstpSnonWnonDnon_idleSteady01",0.01,"AidlPknlMstpSnonWnonDnon_idleSteady02",0.01,"AidlPknlMstpSnonWnonDnon_idleSteady03",0.01}; - InterpolateTo[] = {"AdthPknlMstpSnonWnonDnon_1",0.01,"AidlPknlMstpSnonWnonDnon",0.01}; - }; - class AidlPknlMstpSnonWnonDnon01: AidlPknlMstpSnonWnonDnon0S - { - file = "\ca\Anims\Characters\data\Anim\Sdr\Idl\knl\stp\non\non\AidlPknlMstpSnonWnonDnon01"; - speed = 0.23; - looped = "false"; - variantAfter[] = {1,1,1}; - canPullTrigger = "false"; - ConnectTo[] = {"AidlPknlMstpSnonWnonDnon0S",0.01}; - InterpolateTo[] = {"AdthPknlMstpSnonWnonDnon_1",0.01,"AidlPknlMstpSnonWnonDnon",0.01}; - }; - class AidlPknlMstpSnonWnonDnon02: AidlPknlMstpSnonWnonDnon01 - { - file = "\ca\Anims\Characters\data\Anim\Sdr\Idl\knl\stp\non\non\AidlPknlMstpSnonWnonDnon02"; - speed = 0.18; - canPullTrigger = "false"; - ConnectTo[] = {"AidlPknlMstpSnonWnonDnon0S",0.01}; - InterpolateTo[] = {"AdthPknlMstpSnonWnonDnon_1",0.01,"AidlPknlMstpSnonWnonDnon",0.01}; - }; - class AidlPknlMstpSnonWnonDnon03: AidlPknlMstpSnonWnonDnon01 - { - file = "\ca\Anims\Characters\data\Anim\Sdr\Idl\knl\stp\non\non\AidlPknlMstpSnonWnonDnon03"; - speed = 0.26; - canPullTrigger = "false"; - ConnectTo[] = {"AidlPknlMstpSnonWnonDnon0S",0.01}; - InterpolateTo[] = {"AdthPknlMstpSnonWnonDnon_1",0.01,"AidlPknlMstpSnonWnonDnon",0.01}; - }; class AidlPknlMstpSnonWnonDnon_player: AidlPknlMstpSnonWnonDnon { variantsAI[] = {}; @@ -62844,6 +62515,14 @@ class CfgMovesPlayerZombie: CfgMovesBasic }; }; +class CfgMovesPlayerZombie: CfgMovesZombieBase +{ + +}; + + + + class CfgFaces { diff --git a/dayz_code/actions/call_zombies.sqf b/dayz_code/actions/call_zombies.sqf index 16839a263..cc9bb3f74 100644 --- a/dayz_code/actions/call_zombies.sqf +++ b/dayz_code/actions/call_zombies.sqf @@ -1,4 +1,4 @@ -private["_hasKnife","_qty","_item","_text","_string","_type","_loop","_meat","_timer"]; +private ["_item","_id"]; _item = _this select 3; // remove menu @@ -12,10 +12,10 @@ s_player_callzombies = 1; [player,"spotted",0,false] call dayz_zombieSpeak; -_id = [player,100,true,(getPosATL player)] spawn player_alertZombies; +_id = [player,50,true,(getPosATL player)] spawn player_alertZombies; // wait a bit -sleep 6; +sleep 15; // allow menu again s_player_callzombies = -1; diff --git a/dayz_code/actions/player_craftItem.sqf b/dayz_code/actions/player_craftItem.sqf index d7b23e6fb..a0425d43f 100644 --- a/dayz_code/actions/player_craftItem.sqf +++ b/dayz_code/actions/player_craftItem.sqf @@ -79,6 +79,49 @@ if (inflamed cursorTarget and _canDo) then { [ ["ItemGoldBar",10] ], [ ["ItemGoldBar10oz",1] ] ]; + + _recipe_ItemSilverBar10oz = [ + [ ["ItemSilverBar10oz",1] ], + [ ["ItemSilverBar",10] ] + ]; + + _recipe_ItemSilverBar = [ + [ ["ItemSilverBar",10] ], + [ ["ItemSilverBar10oz",1] ] + ]; + + _recipe_ItemCopperBar10oz = [ + [ ["ItemCopperBar10oz",1] ], + [ ["ItemCopperBar",10] ] + ]; + + _recipe_ItemCopperBar = [ + [ ["ItemCopperBar",10] ], + [ ["ItemCopperBar10oz",1] ] + ]; + + _recipe_ItemTinBar10oz = [ + [ ["ItemTinBar10oz",1] ], + [ ["ItemTinBar",10] ] + ]; + + _recipe_ItemTinBar = [ + [ ["ItemTinBar",10] ], + [ ["ItemTinBar10oz",1] ] + ]; + + _recipe_ItemAluminumBar10oz = [ + [ ["ItemAluminumBar10oz",1] ], + [ ["ItemAluminumBar",10] ] + ]; + + _recipe_ItemAluminumBar = [ + [ ["ItemAluminumBar",10] ], + [ ["ItemAluminumBar10oz",1] ] + ]; + + + _recipe_FoodChickenNoodle = [["FoodchickenRaw",1],["FoodCanPasta",1],["ItemWaterbottle",1]]; _recipe_FoodBeefBakedBeans = [["FoodbeefRaw",1],["FoodCanBakedBeans",1]]; diff --git a/dayz_code/actions/pzombie/pz_attack.sqf b/dayz_code/actions/pzombie/pz_attack.sqf new file mode 100644 index 000000000..98ddb06a8 --- /dev/null +++ b/dayz_code/actions/pzombie/pz_attack.sqf @@ -0,0 +1,44 @@ +private ["_item","_ent","_cnt","_index","_wound","_damage","_rnd","_move"]; +_item = _this select 3; +_ent = _item; + +// remove menu +player removeAction s_player_pzombiesattack; +s_player_pzombiesattack = 1; + +_rnd = round(random 9) + 1; +_move = "ZombieStandingAttack" + str(_rnd); +player playMoveNow _move; + +sleep 1; + +_isZombie = _ent isKindOf "zZombie_base"; + +// TODO add distance check and maybe los + +if (_ent isKindOf "Animal" or _isZombie) then { + _ent setDamage 1; +} else { + + // TODO TEST AND Improve + _cnt = count (DAYZ_woundHit select 1); + _index = floor (random _cnt); + _index = (DAYZ_woundHit select 1) select _index; + _wound = (DAYZ_woundHit select 0) select _index; + + _damage = 0.1 + random (1.2); + + [_item, _wound, _damage, player,"zombie"] call fnc_usec_damageHandler; +}; + + + + +[player,"hit",0,false] call dayz_zombieSpeak; + + +player switchmove ""; + +sleep 1; + +s_player_pzombiesattack = -1; \ No newline at end of file diff --git a/dayz_code/actions/pzombie/pz_feed.sqf b/dayz_code/actions/pzombie/pz_feed.sqf index d07beb435..7f3593ea2 100644 --- a/dayz_code/actions/pzombie/pz_feed.sqf +++ b/dayz_code/actions/pzombie/pz_feed.sqf @@ -1,25 +1,19 @@ -private["_item","_id","_regen","_isAnimal","_animalType","_isMan","_config","_isListed","_qty","_ent"]; +private ["_item","_id","_regen","_isAnimal","_animalType","_isMan","_config","_isListed","_qty","_ent","_ctrlBlood","_rnd","_move","_display","_control","_bloodVal"]; _item = _this select 3; _ent = _item; +disableSerialization; + player removeAction s_player_butcher; +s_player_butcher = 1; -if (_ent isKindOf "Animal") then { - _ent setDamage 1; -} else { - _ent setHit ["legs",1]; - _ent setVariable ["hit_legs",2,true]; -}; +if(!(alive _item)) then { -_rnd = round(random 4) + 1; -_move = "ZombieFeed" + str(_rnd); - -[nil, player, rSWITCHMOVE,_move] call RE; - -sleep 5; - -if(not alive _item) then { + _rnd = round(random 4) + 1; + _move = "ZombieFeed" + str(_rnd); + player playMoveNow _move; + sleep 1; // player playActionNow "PutDown"; _id = [player,50,true,(getPosATL player)] spawn player_alertZombies; @@ -91,8 +85,10 @@ if(not alive _item) then { _control ctrlShow true; - cutText [format[(localize "str_player_consumed"),_item, "PLAIN DOWN"]; - + cutText [format[(localize "str_player_consumed"),_animalType], "PLAIN DOWN"]; + player switchmove ""; }; + + s_player_butcher = -1; \ No newline at end of file diff --git a/dayz_code/actions/sell_db.sqf b/dayz_code/actions/sell_db.sqf index 6c072d024..b6b1729ee 100644 --- a/dayz_code/actions/sell_db.sqf +++ b/dayz_code/actions/sell_db.sqf @@ -91,7 +91,7 @@ diag_log format["DEBUG Buy: %1", dayzTraderMenuResult]; _count = 0; if(_stype == "CfgVehicles") then { - _count = position player nearObjects [_name,10]; + _count = count (position player nearObjects [_name,10]); }; if(_stype == "CfgMagazines") then { _count = {_x == _name} count magazines player; diff --git a/dayz_code/compile/fn_selfActions.sqf b/dayz_code/compile/fn_selfActions.sqf index 4ff294ce6..67d1f10e0 100644 --- a/dayz_code/compile/fn_selfActions.sqf +++ b/dayz_code/compile/fn_selfActions.sqf @@ -52,8 +52,9 @@ if(_isPZombie) then { //hint str(_state); 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, "",""]; - //s_player_callzombies1 = player addAction ["Zombie Vison", "\z\addons\dayz_code\actions\vison_zombie.sqf",player, 4, true, false, "",""]; - + }; + if (s_player_pzombiesattack < 0) then { + s_player_pzombiesattack = player addAction ["Attack", "\z\addons\dayz_code\actions\pzombie\pz_attack.sqf",cursorTarget, 6, true, false, "",""]; }; }; @@ -150,7 +151,7 @@ if (!isNull cursorTarget and !_inVehicle and (player distance cursorTarget < 6)) if(_isPZombie) then { // Pzombie Gut human corpse or animal - if ((_isAnimal or _isMan) and !_isHarvested and _canDo) then { + if (!alive cursorTarget and (_isAnimal or _isMan) and !_isZombie and !_isHarvested and _canDo) then { if (s_player_butcher < 0) then { s_player_butcher = player addAction ["Feed", "\z\addons\dayz_code\actions\pzombie\pz_feed.sqf",cursorTarget, 3, true, false, "",""]; }; diff --git a/dayz_code/init/compiles.sqf b/dayz_code/init/compiles.sqf index 9821948b8..fd00c0c9e 100644 --- a/dayz_code/init/compiles.sqf +++ b/dayz_code/init/compiles.sqf @@ -225,12 +225,21 @@ if (!isDedicated) then { _dikCode = _this select 1; _handled = false; if (_dikCode in (actionKeys "GetOver")) then { + + if (player isKindOf "PZombie_VB") exitWith { + //player action ["sitDown", player]; + player switchAction "sitDown"; + //player playMoveNow "ZombieStandingAttack1"; + //player switchMove "AmovPercMstpSnonWnonDnon"; + diag_log "Saved player zombie from animation lockup?"; + }; + DoRE = ({isPlayer _x} count (player nearEntities ["AllVehicles",500]) > 1); if (canRoll && animationState player in ["amovpercmrunslowwrfldf","amovpercmrunsraswrfldf","amovpercmevaslowwrfldf","amovpercmevasraswrfldf"]) then { canRoll = false; null = [] spawn { if (DoRE) then { - [nil, player, rSWITCHMOVE,"ActsPercMrunSlowWrflDf_FlipFlopPara"] call RE; + [nil, player, rSWITCHMOVE,"ActsPercMrunSlowWrflDf_FlipFlopPara"] call RE; } else { player switchMove "ActsPercMrunSlowWrflDf_FlipFlopPara"; }; diff --git a/dayz_code/init/variables.sqf b/dayz_code/init/variables.sqf index d8cbda5e7..4c8f9f09b 100644 --- a/dayz_code/init/variables.sqf +++ b/dayz_code/init/variables.sqf @@ -106,6 +106,7 @@ dayz_resetSelfActions = { s_player_fillfuel = -1; s_player_grabflare = -1; s_player_callzombies = -1; + s_player_pzombiesattack = -1; s_player_removeflare = -1; s_player_painkiller = -1; s_player_studybody = -1; diff --git a/dayz_code/medical/setup_functions_med.sqf b/dayz_code/medical/setup_functions_med.sqf index 8134bba6c..3c9d923e1 100644 --- a/dayz_code/medical/setup_functions_med.sqf +++ b/dayz_code/medical/setup_functions_med.sqf @@ -6,7 +6,7 @@ fnc_usec_damageHandle = { ************************************************************/ private["_unit","_eh"]; _unit = _this select 0; - mydamage_eh1 = _unit addeventhandler ["HandleDamage",{_this call fnc_usec_damageHandler;0} ]; + mydamage_eh1 = _unit addeventhandler ["HandleDamage",{_this call fnc_usec_damageHandler;} ]; mydamage_eh2 = _unit addEventHandler ["Fired", {_this call player_fired;}]; mydamage_eh3 = _unit addEventHandler ["Killed", {_id = [] spawn player_death;}]; }; diff --git a/dayz_code/system/player_monitor.fsm b/dayz_code/system/player_monitor.fsm index 42909d0b5..f22d4bdd2 100644 --- a/dayz_code/system/player_monitor.fsm +++ b/dayz_code/system/player_monitor.fsm @@ -545,7 +545,7 @@ class FSM "selectNoPlayer;" \n "" \n "_myTime = time;" \n - "1 cutText [""This server is running an incorrect version of the server side application. You cannot play on this server. If you are the server admin please contact DayZepoch.com staff."", ""PLAIN"",5];"/*%FSM*/; + "1 cutText [""This server is running an incorrect version of the server side application. If this is the first time you have seen this error please reconnect. If you are the server admin please contact DayZepoch.com staff."", ""PLAIN"",5];"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { diff --git a/dayz_equip/config.cpp b/dayz_equip/config.cpp index cfad07293..4d0461206 100644 --- a/dayz_equip/config.cpp +++ b/dayz_equip/config.cpp @@ -1416,6 +1416,35 @@ class CfgMagazines model = "\dayz_equip\models\silver_bar.p3d"; picture = "\dayz_equip\textures\equip_bar_silver_CA.paa"; descriptionShort = "Silver Bar"; + class ItemActions + { + class Crafting + { + text = "Smelt 10oz bar"; + script = "spawn player_craftItem;"; + output[] = {"ItemSilverBar10oz"}; + }; + }; + }; + + class ItemSilverBar10oz: CA_Magazine + { + scope = 2; + count = 1; + type = 256; + displayName = "10oz Silver"; + model = "\dayz_equip\models\silver_bar.p3d"; + picture = "\dayz_equip\textures\equip_bar_silver_CA.paa"; + descriptionShort = "10oz Silver Bar"; + class ItemActions + { + class Crafting + { + text = "Smelt 1oz bars"; + script = "spawn player_craftItem;"; + output[] = {"ItemSilverBar"}; + }; + }; }; class ItemCopperBar: CA_Magazine { @@ -1430,9 +1459,29 @@ class CfgMagazines { class Crafting { - text = "Smelt Bronze"; + text = "Smelt 10oz bar"; script = "spawn player_craftItem;"; - output[] = {"ItemBronzeBar"}; + output[] = {"ItemCopperBar10oz"}; + }; + }; + }; + + class ItemCopperBar10oz: CA_Magazine + { + scope = 2; + count = 1; + type = 256; + displayName = "10oz Copper"; + model = "\dayz_equip\models\copper_bar.p3d"; + picture = "\dayz_equip\textures\equip_bar_copper_CA.paa"; + descriptionShort = "10oz Copper Bar"; + class ItemActions + { + class Crafting + { + text = "Smelt 1oz bars"; + script = "spawn player_craftItem;"; + output[] = {"ItemCopperBar"}; }; }; }; @@ -1456,6 +1505,34 @@ class CfgMagazines model = "\dayz_equip\models\aluminum_bar.p3d"; picture = "\dayz_equip\textures\equip_bar_aluminum_CA.paa"; descriptionShort = "Aluminum Bar"; + class ItemActions + { + class Crafting + { + text = "Smelt 10oz bar"; + script = "spawn player_craftItem;"; + output[] = {"ItemAluminumBar10oz"}; + }; + }; + }; + class ItemAluminumBar10oz: CA_Magazine + { + scope = 2; + count = 1; + type = 256; + displayName = "10oz Aluminum"; + model = "\dayz_equip\models\aluminum_bar.p3d"; + picture = "\dayz_equip\textures\equip_bar_aluminum_CA.paa"; + descriptionShort = "10oz Aluminum Bar"; + class ItemActions + { + class Crafting + { + text = "Smelt 1oz bars"; + script = "spawn player_craftItem;"; + output[] = {"ItemAluminumBar"}; + }; + }; }; class ItemTinBar: CA_Magazine { @@ -1466,6 +1543,34 @@ class CfgMagazines model = "\dayz_equip\models\tin_bar.p3d"; picture = "\dayz_equip\textures\equip_bar_tin_CA.paa"; descriptionShort = "Tin Bar"; + class ItemActions + { + class Crafting + { + text = "Smelt 10oz bar"; + script = "spawn player_craftItem;"; + output[] = {"ItemTinBar10oz"}; + }; + }; + }; + class ItemTinBar10oz: CA_Magazine + { + scope = 2; + count = 1; + type = 256; + displayName = "10oz Tin"; + model = "\dayz_equip\models\tin_bar.p3d"; + picture = "\dayz_equip\textures\equip_bar_tin_CA.paa"; + descriptionShort = "10oz Tin Bar"; + class ItemActions + { + class Crafting + { + text = "Smelt 1oz bars"; + script = "spawn player_craftItem;"; + output[] = {"ItemTinBar"}; + }; + }; }; class ItemZombieParts: CA_Magazine diff --git a/dayz_server/compile/server_updateObject.sqf b/dayz_server/compile/server_updateObject.sqf index 28854d820..2c69824e3 100644 --- a/dayz_server/compile/server_updateObject.sqf +++ b/dayz_server/compile/server_updateObject.sqf @@ -150,8 +150,10 @@ switch (_type) do { if ( (time - _lastUpdate) > 5) then { call _object_damage; } else { - diag_log format["DEBUG: Added to NeedUpdate=%1",_object]; - needUpdate_objects set [count needUpdate_objects, _object]; + if(!_needUpdate)then { + diag_log format["DEBUG: Added to NeedUpdate=%1",_object]; + needUpdate_objects set [count needUpdate_objects, _object]; + }; }; }; case "killed": { diff --git a/dayz_server/system/server_monitor.sqf b/dayz_server/system/server_monitor.sqf index da8a4a5c0..48d352991 100644 --- a/dayz_server/system/server_monitor.sqf +++ b/dayz_server/system/server_monitor.sqf @@ -103,6 +103,9 @@ diag_log "HIVE: Starting"; _object setpos _pos; _object addMPEventHandler ["MPKilled",{_this call vehicle_handleServerKilled;}]; }; + if (_object isKindOf "VaultStorageLocked") then { + _object setpos _pos; + }; _object setdir _dir; _object setDamage _damage;