diff --git a/dayz_anim/config.cpp b/dayz_anim/config.cpp index f371f2a51..bf2da642d 100644 --- a/dayz_anim/config.cpp +++ b/dayz_anim/config.cpp @@ -1,20 +1,10 @@ -//////////////////////////////////////////////////////////////////// -//DeRap: Produced from mikero's Dos Tools Dll version 3.97 -//http://dev-heaven.net/projects/list_files/mikero-pbodll -//////////////////////////////////////////////////////////////////// - -#define _ARMA_ - -//Class dayz_anim : config.bin{ -class CfgPatches -{ - class dayz_anim - { +class CfgPatches { + class dayz_anim { units[] = {}; weapons[] = {}; requiredVersion = 0.1; requiredAddons[] = {"CAData","HALO_Test","CAAnimals","CA_Anims","CA_Anims_Sdr","CA_Anims_Wmn","CA_Anims_E","CA_Anims_E_Sdr","CA_Anims_E_Wmn","CABuildings","CA_E","CA_PMC","CA_Heads","CAData_ParticleEffects","CA_Dubbing","CA_Dubbing_Counterattack","CA_Dubbing_E","CA_Dubbing_PMC","CA_Editor","CALanguage","CALanguage_e","CALanguage_PMC","CALanguage_missions","CALanguage_missions_e","CALanguage_missions_PMC","CA_HC_Sounds","CA_Modules","CA_Missions_AlternativeInjurySimulation","CA_Modules_Alice","CA_Missions_AmbientCombat","CA_Modules_Animals","CA_Missions_BattlefieldClearance","CA_Modules_clouds","CA_Modules_Coin","CA_Modules_DynO","CA_Missions_FirstAidSystem","CA_Modules_Functions","CA_Missions_GarbageCollector","CA_HighCommand","CA_Modules_Marta","CA_Modules_Silvie","BI_SRRS","CA_Modules_UAV","CA_Modules_ZoRA","CA_Modules_E","CA_Modules_Alice2","CA_Modules_E_DynO","CA_Modules_E_Functions","CA_Modules_E_Gita","CA_Modules_E_Jukebox","CA_Modules_E_OO","CA_Support","CA_Modules_E_UAV","CA_Modules_E_UAV_Heli","CA_Modules_E_Weather","CA_Modules_PMC","CA_Modules_PMC_Functions","CA_Modules_PMC_SimpleFIrstAid","CA_MPA","CA_MPA_Core","CA_MPA_Challenges","CA_MPA_Scenarios","CAMusic","CARoads2","CARoads2Bridge","CARoads2Dam","CARoads_E","CARoads_PMC_Bridge","CARocks2","CARocks_E","CASigns2","CASounds_Missions","CA_SoundsMissions_E","CASounds","CA_Sounds_Baf","CASounds_E","CAStructures","CAStructures_A_BuildingWIP","CAStructures_A_CraneCon","CAStructuresLand_A_MunicipalOffice","CAStructuresBarn_W","CAStructures_Castle","CAStructuresHouse","CAStructuresHouse_A_FuelStation","CAStructuresHouse_A_Hospital","CAStructuresHouse_A_Office01","CAStructuresHouse_A_Office02","CAStructuresHouse_a_stationhouse","CAStructuresHouse_Church_02","CAStructuresHouse_Church_03","CAStructuresHouse_Church_05R","CAStructuresHouse_HouseBT","CAStructuresHouse_HouseV2","CAStructuresHouse_HouseV","CAStructuresLand_Ind_Stack_Big","CAStructures_IndPipe1","CAStructuresInd_Quarry","Ind_SawMill","CAStructures_Mil","CAStructures_Misc_Powerlines","CAStructures_Nav","CAStructuresLand_Nav_Boathouse","pond_test","CAStructures_Proxy_BuildingParts","CAStructures_Proxy_Ruins","CAStructures_Rail","CAStructuresHouse_rail_station_big","CAStructures_Ruins","CAStructuresShed_Small","CAStructuresHouse_Shed_Ind","CAStructures_Wall","CAFonts","Utes","CAVideo2_PMC","CA_Animals2","CA_Animals2_Anim_Config","CA_Animals2_Chicken","CA_Animals2_Cow","CA_Animals2_Dogs","CA_Animals2_Dogs_Fin","CA_Animals2_Dogs_Pastor","CA_Animals2_Goat","CA_Animals2_Rabbit","CA_Animals2_Sheep","CA_Animals2_WildBoar","CA_Animals_E","CA_Anims_Char","CABuildings2","A_Crane_02","A_GeneralStore_01","CABuildings2_A_Pub","A_statue","Barn_Metal","Church_01","Farm_Cowshed","Farm_WTower","CAHouseBlock_A","CAHouseBlock_B","CAHouseBlock_C","CAHouseBlock_D","HouseRuins","Ind_Dopravnik","Ind_Expedice","Ind_MalyKomin","Ind_Mlyn","Ind_Pec","ind_silomale","Ind_SiloVelke","Ind_Vysypka","Ind_Garage01","CAStructures_IndPipe1_todo_delete","IndPipe2","Ind_Shed_01","Ind_Shed_02","Ind_Tank","Ind_Workshop01","CABuildings2_Misc_Cargo","Misc_PowerStation","Misc_WaterStation","Rail_House_01","Shed_small","Shed_wooden","CA_E_ParticleEffects","CA_DubbingRadio_E","CAMisc_fix","CAMisc_fix_Str","CA_Missions","CA_Missions_E","CAMusic_E","CAMusic_PMC","A_TVTower","CAStructures_Nav_pier","CAStructures_Railway","CAStructures_E","CAStructures_E_HouseA","CAStructures_E_HouseA_A_BuildingWIP","CAStructures_E_HouseA_A_CityGate1","CAStructures_E_HouseA_A_Minaret","CAStructures_E_HouseA_A_Minaret_Porto","CAStructures_E_HouseA_A_Mosque_big","CAStructures_E_HouseA_A_Mosque_small","CAStructures_E_HouseA_A_Office01","CAStructures_E_HouseA_a_stationhouse","CAStructures_E_HouseA_A_Statue","CAStructures_E_HouseA_A_Villa","CAStructures_E_HouseC","CAStructures_E_HouseK","CAStructures_E_HouseL","CAStructures_E_Ind","CAStructures_E_Ind_Ind_Coltan_Mine","CAStructures_E_Ind_Ind_FuelStation","CAStructures_E_Ind_Ind_Garage01","CAStructures_E_Ind_Oil_Mine","CAStructures_E_Ind_IndPipes","CAStructures_E_Ind_Misc_PowerStation","CAStructures_E_Ind_Ind_Shed","CAStructures_E_Mil","CAStructures_E_Misc","CAStructures_E_Misc_Misc_cables","CAStructures_E_Misc_Misc_Construction","CAStructures_E_Misc_Misc_Garbage","CAStructures_E_Misc_Misc_Lamp","CAStructures_E_Misc_Misc_powerline","CAStructures_E_Misc_Misc_Water","CAStructures_E_Misc_Misc_Well","CAStructures_E_Wall","CAStructures_E_Wall_Wall_L","CAStructures_PMC","CAStructures_PMC_Buildings","CAStructures_PMC_Buildings_Bunker","CAStructures_PMC_Buildings_GeneralStore_PMC","CAStructures_PMC_Buildings_Ruin_Cowshed","CAStructures_PMC_Ind","CAStructures_PMC_FuelStation","CAStructures_PMC_Misc","CAStructures_PMC_Misc_Shed","CAStructures_PMC_Ruins","CAStructures_PMC_Walls","CAUI","CAWeapons","CAWeapons_AK","CAWeapons_AmmoBoxes","CAWeapons_bizon","CAWeapons_Colt1911","CAWeapons_DMR","CAweapons_ksvk","CAWeapons_M1014","CAweapons_m107","CAWeapons_M252_81mm_Mortar","CAWeapons_Metis_AT_13","CAWeapons_2b14_82mm_Mortar","CAWeapons_Saiga12K","CAWeapons_SPG9","CAWeapons_VSS_vintorez","CAWeapons_ZU23","CAWeapons_E_AmmoBoxes","CACharacters","CACharacters_E_Head","CACharacters_PMC_Head","CA_Dubbing_Baf","CA_DubbingRadio_PMC","CAMisc2","CAMisc","CAMisc_fix_A2FREE","CAMisc_fix_Weap","CA_Missions_Armory2","CA_Missions_SecOps","CA_Missions_Templates_SecOps","CA_Missions_BAF","CA_Missions_BAF_Templates_SecOps","CA_Missions_E_Armory2","CA_Missions_E_SecOps","CA_Missions_E_Templates_SecOps","CA_Missions_PMC","CA_Modules_StratLayer","CA_MPA_MP","Warfare2","Warfare2_E","CAWater","CAWeapons2","CAWeapons2_HuntingRifle","CAWeapons2_RPG18","CAWeapons2_SMAW","CAWeapons_Kord","CABuildingParts","CABuildingParts_Signs","CATEC","CACharacters2","CACharacters_E","Chernarus","CAMisc_fix_Ch2","CA_Missions_BAF_2","missions_ew","CATracked","CAWater2","CAWater2_Destroyer","CAWater2_fishing_boat","CAWater2_Fregata","CAWater2_LHD","CAWater2_seafox","CAWater2_smallboat_1","CAWeapons_Warfare_weapons","CAWheeled","CAWheeled_Pickup","CAWheeled_Offroad","CAAir","CAMisc3","CAWater2_seafox_EP1","CAStructures_E_Misc_Misc_Interier","CAStructures_E_Misc_Misc_Market","CATracked2","CATracked2_2S6M_Tunguska","CATracked2_AAV","CATracked2_BMP3","CATracked2_T34","CATracked2_T90","CATracked2_us_m270mlrs","CAWheeled2","CAWheeled2_BTR90","CAWheeled2_GAZ39371","CAWheeled2_HMMWV_BASE","CAWheeled2_M1114_Armored","CAWheeled2_HMMWV_Ambulance","CAWheeled2_M998A2_Avenger","CAWheeled2_Ikarus","CAWheeled2_Kamaz","CAWheeled2_LADA","CAWheeled2_LAV25","CAWheeled2_MMT","CAWheeled2_MTVR","CAWheeled2_TowingTractor","CAWheeled2_V3S","CAWheeled2_VWGolf","CAWheeled3","CAWheeled3_M1030","CAWheeled3_TT650","CAWheeled_E","CAWheeled_E_ATV","CAWheeled_E_BRDM2","CAWheeled_E_BTR40","CAWheeled_E_BTR60","CAWheeled_E_Pickup","CAWheeled_E_Offroad","CAWheeled_E_HMMWV","CAWheeled_E_Ikarus","CAWheeled_E_LADA","CAWheeled_E_LandRover","CAWheeled_E_M1030","CAWheeled_E_MTVR","CAWheeled_E_Old_bike","CAWheeled_E_Old_moto","CAWheeled_E_s1203","CAWheeled_E_SCUD","CAWheeled_E_stryker","CAWheeled_E_SUV","CAWheeled_E_TT650","CAWheeled_E_UAZ","CAWheeled_E_Volha","CAWheeled_PMC","CAWheeled_PMC_ArmoredSUV","CAA10","CA_AH64D","CAAir2","CAAir2_C130J","CAAir2_ChukarTarget","CAAir2_F35B","Arma2_Ka52","CAAir2_MQ9PredatorB","CAAir2_MV22","CAAir2_Pchela1T","CA_AIR2_Su25","CAAir2_UH1Y","CAAir3","CAAir3_Su34","CA_BAF","CALanguage_Baf","CALanguageMissions_baf","WarfareBuildings","CAMisc_E","CAMisc_E_WF","CAMisc_fix_air","CA_Modules_ARTY","CAMP_Armory_Misc","CAMP_Armory_Misc_Concrete_Wall","CAMP_Armory_Misc_Entrance_Gate","CAMP_Armory_Misc_Info_Board","CAMP_Armory_Misc_Infostands","CAMP_Armory_Misc_Laptop","CAMP_Armory_Misc_Loudspeakers","CAMP_Armory_Misc_Plasticpole","CAMP_Armory_Misc_Red_Light","CAMP_Armory_Misc_Sign_Armex","CAMP_Armory_Misc_Sign_Direction","ProvingGrounds_PMC","Shapur_BAF","CASigns_E","Takistan","Warfare2Vehicles","CAWeapons_BAF","CAWeapons_E","CAWeapons_E_AGS","CAWeapons_E_AK","CAWeapons_E_Colt1911","CAWeapons_E_D30","CAWeapons_E_DSHKM","CAWeapons_E_FIM92_static","CAWeapons_E_fnfal","CAWeapons_E_G36","CAWeapons_E_GrenadeLauncher","CAWeapons_E_Igla","CAWeapons_E_Javelin","CAWeapons_E_KORD","CAWeapons_E_ksvk","CAWeapons_E_LeeEnfield","CAweapons_E_m107","CAWeapons_E_M110","CAWeapons_E_M119_Howitzer","CAWeapons_E_M136","CAWeapons_E_M14","CAWeapons_E_M16","CAWeapons_E_M240","CAWeapons_E_M252_81mm_Mortar","CAWeapons_E_M2StaticMG","CAWeapons_E_M47","CAWeapons_E_M9","CAWeapons_E_MAAWS","CAWeapons_E_Makarov","CAWeapons_E_Metis","CAWeapons_E_Mk19_MiniTriPod","CAWeapons_E_PK","CAWeapons_E_Podnos_2b14_82mm","CAWeapons_E_RPG18","CAWeapons_E_RPG7","CAWeapons_E_scar","CAWeapons_E_Searchlight","CAWeapons_E_SPG9","CAWeapons_E_STATIC","CAWeapons_E_Stinger","CAWeapons_E_Strela","CAWeapons_E_TOW","CAWeapons_E_ZU23","CAWeapons_PMC","CAWeapons_PMC_AA_12","CAWeapons_PMC_AS50","CAWeapons_PMC_XM8","CAWheeled_E_Ural","CAWheeled_E_V3S","zargabad","CA_CruiseMissile","CAAir_E","CAAir_E_A10","CAAir_E_AH64D","CAAir_E_AH6J","CAAir_E_An2","CAAir_E_C130J","CAAir_E_CH_47F","CAAir_E_Halo","CAAir_E_MI8","CAAir_E_Mi24","CA_AIR_E_MQ9PredatorB","CA_AIR_E_Su25","CAAir_E_UH1H_EP1","CAAir_E_UH60M","CAAir_PMC","CAAir_PMC_KA137","CAAir_PMC_KA60","CACharacters_BAF","CACharacters_BAF_Head","CACharacters_PMC","CACharacters_W_BAF","Desert_E","CA_L39","CA_Missions2_PMC","CATracked_E","CATracked_E_BMP2","CATracked_E_M113","CATracked_E_M1_Abrams","CATracked_E_M2A2_Bradley","CATracked_E_T34","CATracked_E_T55","CATracked_E_T72","CATracked_E_us_m270mlrs","CATracked_E_ZSU","CAWheeled_D_BAF","CAWheeled_W_BAF","CAAir_BAF","CAAir_BAF_CH_47F","CATracked_BAF","CATracked_W_BAF"}; - isUpdated = "true"; + isUpdated = true; }; }; class CfgMarkers @@ -27,14 +17,14 @@ class CfgAmmo class FakeAmmo; }; -class CfgMagazines -{ + +class CfgMagazines { class Default; class FakeMagazine: Default { scope = 1; ammo = "FakeAmmo"; - stopThis = "true"; + stopThis = true; value = 1; displayName = ""; model = ""; @@ -58,7 +48,7 @@ class CfgWeapons class FakeWeapon: RifleCore { scope = 1; - stopThis = "true"; + stopThis = true; type = 0; cursor = ""; cursoraim = ""; @@ -67,12 +57,10 @@ class CfgWeapons }; }; -class CfgVehicles -{ +class CfgVehicles { class All; class Banned: All { - stopThis = "true"; + stopThis = true; }; }; -//}; diff --git a/dayz_anim/zmb/KneelFeeding2zombieStand.rtm b/dayz_anim/zmb/KneelFeeding2zombieStand.rtm index f880e2579..2a025913b 100644 Binary files a/dayz_anim/zmb/KneelFeeding2zombieStand.rtm and b/dayz_anim/zmb/KneelFeeding2zombieStand.rtm differ diff --git a/dayz_anim/zmb/model.cfg b/dayz_anim/zmb/model.cfg deleted file mode 100644 index 0f291d88d..000000000 --- a/dayz_anim/zmb/model.cfg +++ /dev/null @@ -1,307 +0,0 @@ -class CfgSkeletons -{ - class Default - { - isDiscrete = 1; - skeletonInherit = ""; - skeletonBones[] = {}; - }; - - class OFP2_ManSkeleton - { - isDiscrete = 0; - skeletonInherit = ""; - skeletonBones[] = - { - "Pelvis", "", - "Spine", "Pelvis", - "Spine1", "Spine", - "Spine2", "Spine1", - "Spine3", "Spine2", - "Camera", "Pelvis", - "weapon", "Spine1", - "launcher", "Spine1", - - //Head skeleton in hierarchy - "neck", "Spine3", - "neck1", "neck", - "head", "neck1", - "HeadCutScene", "head", - "jaw", "head", - "chin", "head", - "jaw_rf", "head", - "jaw_rm", "head", - "jaw_rs", "head", - "jaw_lf", "head", - "jaw_lm", "head", - "jaw_ls", "head", - "ear_r", "head", - "ear_l", "head", - "lip_lc", "head", - "lip_lwlb", "head", - "lip_lwlf", "head", - "lip_lwm", "head", - "lip_lwrf", "head", - "lip_lwrb", "head", - "lip_rc", "head", - "lip_uprb", "head", - "lip_uprf", "head", - "lip_upm", "head", - "lip_uplf", "head", - "lip_uplb", "head", - "nose_tip", "head", - "nose_r", "head", - "nose_l", "head", - "zig_lt", "head", - "zig_lm", "head", - "zig_lb", "head", - "zig_rt", "head", - "zig_rm", "head", - "zig_rb", "head", - "cheek_r", "head", - "cheek_l", "head", - "eyebrow_lb", "head", - "eyebrow_lm", "head", - "eyebrow_lf", "head", - "corr", "head", - "eyebrow_rf", "head", - "eyebrow_rm", "head", - "eyebrow_rb", "head", - "eye_upr", "head", - "eye_lwr", "head", - "eye_upl", "head", - "eye_lwl", "head", - "cheek_rf", "head", - "cheek_rm", "head", - "cheek_rb", "head", - "cheek_lf", "head", - "cheek_lm", "head", - "cheek_lb", "head", - "forehead_l", "head", - "forehead_m", "head", - "forehead_r", "head", - "l_eye", "head", - "r_eye", "head", - "l_pupila", "head", - "r_pupila", "head", - "neck_t", "head", - "neck_b", "head", - "neck_r", "head", - "neck_l", "head", - "tongue_b", "head", - "tongue_m", "head", - "tongue_f", "head", - - //Left upper side - "LeftShoulder", "Spine3", - "LeftArm", "LeftShoulder", - "LeftArmRoll", "LeftArm", - "LeftForeArm", "LeftArmRoll", - "LeftForeArmRoll", "LeftForeArm", - "LeftHand", "LeftForeArmRoll", - "LeftHandRing", "LeftHand", - "LeftHandRing1", "LeftHandRing", - "LeftHandRing2", "LeftHandRing1", - "LeftHandRing3", "LeftHandRing2", - "LeftHandPinky1", "LeftHandRing", - "LeftHandPinky2", "LeftHandPinky1", - "LeftHandPinky3", "LeftHandPinky2", - "LeftHandMiddle1", "LeftHand", - "LeftHandMiddle2", "LeftHandMiddle1", - "LeftHandMiddle3", "LeftHandMiddle2", - "LeftHandIndex1", "LeftHand", - "LeftHandIndex2", "LeftHandIndex1", - "LeftHandIndex3", "LeftHandIndex2", - "LeftHandThumb1", "LeftHand", - "LeftHandThumb2", "LeftHandThumb1", - "LeftHandThumb3", "LeftHandThumb2", - - //Right upper side - "RightShoulder", "Spine3", - "RightArm", "RightShoulder", - "RightArmRoll", "RightArm", - "RightForeArm", "RightArmRoll", - "RightForeArmRoll", "RightForeArm", - "RightHand", "RightForeArmRoll", - "RightHandRing", "RightHand", - "RightHandRing1", "RightHandRing", - "RightHandRing2", "RightHandRing1", - "RightHandRing3", "RightHandRing2", - "RightHandPinky1", "RightHandRing", - "RightHandPinky2", "RightHandPinky1", - "RightHandPinky3", "RightHandPinky2", - "RightHandMiddle1", "RightHand", - "RightHandMiddle2", "RightHandMiddle1", - "RightHandMiddle3", "RightHandMiddle2", - "RightHandIndex1", "RightHand", - "RightHandIndex2", "RightHandIndex1", - "RightHandIndex3", "RightHandIndex2", - "RightHandThumb1", "RightHand", - "RightHandThumb2", "RightHandThumb1", - "RightHandThumb3", "RightHandThumb2", - - //Left lower side - "LeftUpLeg", "Pelvis", - "LeftUpLegRoll", "LeftUpLeg", - "LeftLeg", "LeftUpLegRoll", - "LeftLegRoll", "LeftLeg", - "LeftFoot", "LeftLegRoll", - "LeftToeBase", "LeftFoot", - - //Right lower side - "RightUpLeg", "Pelvis", - "RightUpLegRoll", "RightUpLeg", - "RightLeg", "RightUpLegRoll", - "RightLegRoll", "RightLeg", - "RightFoot", "RightLegRoll", - "RightToeBase", "RightFoot" - }; - - pivotsModel = ""; - }; -}; - -class CfgModels -{ - class Default - { - sectionsInherit = ""; - sections[] = {}; - skeletonName = ""; - }; - - class ArmaMan : Default - { - sections[] = - { - "osobnost", - "Head_Injury", - "Body_Injury", - "l_leg_in jury", - "l_arm_injury", - "r_arm_injury", - "r_leg_injury", - "clan", - "clan_sign", - "Camo", - "CamoB" - }; - - skeletonName = "OFP2_ManSkeleton"; - }; - - class zmbStandIdleA : ArmaMan {}; - class zmbStandIdleB : ArmaMan {}; - class zmbStandIdleC_lookAround : ArmaMan {}; - class zmbStandIdleD_sniffingHyped : ArmaMan {}; - class zmbStandIdleE_swinging : ArmaMan {}; - class zmbStandCry1 : ArmaMan {}; - class zmbStandCry2 : ArmaMan {}; - class zmbStandDeath1 : ArmaMan {}; - class zmbStandDeath2 : ArmaMan {}; - class zmbStandDeath3 : ArmaMan {}; - class zmbStandAttack1 : ArmaMan {}; - class zmbStandAttack2bite : ArmaMan {}; - class zmbStandAttack3 : ArmaMan {}; - class zmbStandAttack4 : ArmaMan {}; - class zmbStandAttack5 : ArmaMan {}; - class zmbStandAttack6 : ArmaMan {}; - class zmbStandWalkF1 : ArmaMan {}; - class zmbStandWalkF2 : ArmaMan {}; - class zmbStandRunF1 : ArmaMan {}; - class zmbStandRunF2 : ArmaMan {}; - class zmbStandRunF3 : ArmaMan {}; - class zmbStandHit1_toRunF1 : ArmaMan {}; - class zmbStandHit2 : ArmaMan {}; - class zmbStandHit3_fromBehind : ArmaMan {}; - class zmbStandHit4 : ArmaMan {}; - class zmbBentIdleA : ArmaMan {}; - class zmbBentIdleB_lookAroundSwing : ArmaMan {}; - class zmbBentIdleC_lookAround : ArmaMan {}; - class zmbStand_zmbKneel : ArmaMan {}; - class zmbKneel_zmbStand : ArmaMan {}; - class zmbKneel_idleA : ArmaMan {}; - class zmbKneel_idleB : ArmaMan {}; - class zmbKneel_idleC : ArmaMan {}; - class zmbKneel_idleD : ArmaMan {}; - class zmbKneel_feedA : ArmaMan {}; - class zmbKneel_feedB : ArmaMan {}; - class zmbKneel_feedC : ArmaMan {}; - class zmbKneel_feedD : ArmaMan {}; - class zmbKneel_feedE : ArmaMan {}; - class zmbKneel_deathA : ArmaMan {}; - class zmbKneel_deathB : ArmaMan {}; - class zmbKneelAttack1_toStand : ArmaMan {}; - class zmbKneelAttack2 : ArmaMan {}; - class zmbKneelWalkF : ArmaMan {}; - class zmbKneelWalkB : ArmaMan {}; - class zmbKneeljogF : ArmaMan {}; - class zmbKneelrunF1 : ArmaMan {}; - class zmbKneelrunF2 : ArmaMan {}; - class zmbKneelrunF3 : ArmaMan {}; - class zmbKneelrunFrenzy1 : ArmaMan {}; - class zmbKneelrunFrenzy2 : ArmaMan {}; - class zmbKneelHit1 : ArmaMan {}; - class zmbKneelHit1 : ArmaMan {}; - class zmbKneelHit2 : ArmaMan {}; - class zombie1_attack : ArmaMan {}; - class zombie1_deathFromWalk : ArmaMan {}; - class zombie1_walk : ArmaMan {}; - class zombie1_jump : ArmaMan {}; - class zombie1_birth : ArmaMan {}; - class zombie2_walk : ArmaMan {}; - class zombie2_birth : ArmaMan {}; - class zombie2_deathFromWalk : ArmaMan {}; - class zombie2_attack : ArmaMan {}; - class zombie2_jump : ArmaMan {}; - class zombie3_attack : ArmaMan {}; - class zombie3_birth : ArmaMan {}; - class zombie3_walk : ArmaMan {}; - class zombie3_jump : ArmaMan {}; - class zmbErcSprint9 : ArmaMan {}; - class zmbErcSprint13 : ArmaMan {}; - class zombie_frenziedCrawl3 : ArmaMan {}; - class zombie_frenziedCrawl3 : ArmaMan {}; - class zombie_runDeaths6 : ArmaMan {}; - class zombie_stumble3 : ArmaMan {}; - class zombie_walk2sprint2 : ArmaMan {}; - class zombie_frenziedCrawl3 : ArmaMan {}; - class zombieStand2KneelFeeding : ArmaMan {}; - class KneelFeeding2zombieStand : ArmaMan {}; - class zombie_kneelFeeding2_112_301 : ArmaMan {}; - class zombie_kneelFeeding2_1054_1275 : ArmaMan {}; - class zombie_kneelFeeding3_109-308 : ArmaMan {}; - class zombie_kneelFeeding3_363-574 : ArmaMan {}; - class zombie_kneelFeeding3_idle_1292-1461 : ArmaMan {}; - class zombie_kneelFeeding3_idle_1488-1587 : ArmaMan {}; - class zombie_kneelFeeding2_idle_893-1054 : ArmaMan {}; - class zombie_kneelFeeding2_idle_893-1054 : ArmaMan {}; - class zombie_kneelFeeding2_idle_1275-1430 : ArmaMan {}; - class zombie_standSpasms1Stand_74-112 : ArmaMan {}; - class zombie_standSpasms1Stand_74-112 : ArmaMan {}; - class zombie_standSpasms1Stand_113-198 : ArmaMan {}; - class zombie_standSpasms1Stand_199-327 : ArmaMan {}; - class zombie_standSpasms1Stand_199-327 : ArmaMan {}; - class zombie_standSpasms2bentPose_82-134 : ArmaMan {}; - class zombie_standSpasms2bentPose_135-178 : ArmaMan {}; - class zombie_standSpasms2bentPose_179-235 : ArmaMan {}; - class zombie_standSpasms2bentPose_236-293 : ArmaMan {}; - class zombie_standSpasms2bentPose_294-336 : ArmaMan {}; - class zombie_standSpasms2bentPose_337-439 : ArmaMan {}; - class zombie_standSpasms3Stand_83-190 : ArmaMan {}; - class zombie_standSpasms3Stand_191-314 : ArmaMan {}; - class zombie_standSpasms3Stand_315-400 : ArmaMan {}; - class zombie_standSpasms3Stand_315-400 : ArmaMan {}; - class zombie_standSpasms3Stand_401-478 : ArmaMan {}; - class zombie_staticAttack3_67-158 : ArmaMan {}; - class zombie_staticAttack3_67-158 : ArmaMan {}; - class zombie_staticAttack3_183-274 : ArmaMan {}; - class zombie_staticAttack3_183-274 : ArmaMan {}; - class zombie_staticAttack3_441-554 : ArmaMan {}; - class zombie_staticAttack3_570-707 : ArmaMan {}; - class zombie_staticAttack3_742-833 : ArmaMan {}; - class zombie_staticAttack3_855-987 : ArmaMan {}; - class zombie_sniffing_264-499 : ArmaMan {}; - class zombie_sniffing_573-809 : ArmaMan {}; - class zombie_sniffing_573-809 : ArmaMan {}; -}; \ No newline at end of file diff --git a/dayz_anim/zmb/zmbBentIdleA.rtm b/dayz_anim/zmb/zmbBentIdleA.rtm index baca712dd..fe342f8c1 100644 Binary files a/dayz_anim/zmb/zmbBentIdleA.rtm and b/dayz_anim/zmb/zmbBentIdleA.rtm differ diff --git a/dayz_anim/zmb/zmbBentIdleB_lookAroundSwing.rtm b/dayz_anim/zmb/zmbBentIdleB_lookAroundSwing.rtm index ce09d227e..08928f9bd 100644 Binary files a/dayz_anim/zmb/zmbBentIdleB_lookAroundSwing.rtm and b/dayz_anim/zmb/zmbBentIdleB_lookAroundSwing.rtm differ diff --git a/dayz_anim/zmb/zmbBentIdleC_lookAround.rtm b/dayz_anim/zmb/zmbBentIdleC_lookAround.rtm index c25f45dd7..a83e34962 100644 Binary files a/dayz_anim/zmb/zmbBentIdleC_lookAround.rtm and b/dayz_anim/zmb/zmbBentIdleC_lookAround.rtm differ diff --git a/dayz_anim/zmb/zmbErcSprint13.rtm b/dayz_anim/zmb/zmbErcSprint13.rtm index 07aed6a5a..53296d8bc 100644 Binary files a/dayz_anim/zmb/zmbErcSprint13.rtm and b/dayz_anim/zmb/zmbErcSprint13.rtm differ diff --git a/dayz_anim/zmb/zmbErcSprint9.rtm b/dayz_anim/zmb/zmbErcSprint9.rtm index b8c733ff2..b03055ebf 100644 Binary files a/dayz_anim/zmb/zmbErcSprint9.rtm and b/dayz_anim/zmb/zmbErcSprint9.rtm differ diff --git a/dayz_anim/zmb/zmbKneelAttack1_toStand.rtm b/dayz_anim/zmb/zmbKneelAttack1_toStand.rtm index 19e0d4a00..09b475fec 100644 Binary files a/dayz_anim/zmb/zmbKneelAttack1_toStand.rtm and b/dayz_anim/zmb/zmbKneelAttack1_toStand.rtm differ diff --git a/dayz_anim/zmb/zmbKneelAttack2.rtm b/dayz_anim/zmb/zmbKneelAttack2.rtm index 8968dd9c5..56f03143c 100644 Binary files a/dayz_anim/zmb/zmbKneelAttack2.rtm and b/dayz_anim/zmb/zmbKneelAttack2.rtm differ diff --git a/dayz_anim/zmb/zmbKneelHit1.rtm b/dayz_anim/zmb/zmbKneelHit1.rtm index 11a6ced9f..6d7945bcf 100644 Binary files a/dayz_anim/zmb/zmbKneelHit1.rtm and b/dayz_anim/zmb/zmbKneelHit1.rtm differ diff --git a/dayz_anim/zmb/zmbKneelHit2.rtm b/dayz_anim/zmb/zmbKneelHit2.rtm index 7a6f3f340..18dc086fc 100644 Binary files a/dayz_anim/zmb/zmbKneelHit2.rtm and b/dayz_anim/zmb/zmbKneelHit2.rtm differ diff --git a/dayz_anim/zmb/zmbKneelPose.rtm b/dayz_anim/zmb/zmbKneelPose.rtm index 47181fbca..587b3142a 100644 Binary files a/dayz_anim/zmb/zmbKneelPose.rtm and b/dayz_anim/zmb/zmbKneelPose.rtm differ diff --git a/dayz_anim/zmb/zmbKneelWalkB.rtm b/dayz_anim/zmb/zmbKneelWalkB.rtm index f58ec1139..c728f4fc3 100644 Binary files a/dayz_anim/zmb/zmbKneelWalkB.rtm and b/dayz_anim/zmb/zmbKneelWalkB.rtm differ diff --git a/dayz_anim/zmb/zmbKneelWalkF.rtm b/dayz_anim/zmb/zmbKneelWalkF.rtm index 3d90d3e5d..66947e7b3 100644 Binary files a/dayz_anim/zmb/zmbKneelWalkF.rtm and b/dayz_anim/zmb/zmbKneelWalkF.rtm differ diff --git a/dayz_anim/zmb/zmbKneel_deathA.rtm b/dayz_anim/zmb/zmbKneel_deathA.rtm index a91f3e304..1b1b95e54 100644 Binary files a/dayz_anim/zmb/zmbKneel_deathA.rtm and b/dayz_anim/zmb/zmbKneel_deathA.rtm differ diff --git a/dayz_anim/zmb/zmbKneel_deathB.rtm b/dayz_anim/zmb/zmbKneel_deathB.rtm index b53c2d048..3dd629c5e 100644 Binary files a/dayz_anim/zmb/zmbKneel_deathB.rtm and b/dayz_anim/zmb/zmbKneel_deathB.rtm differ diff --git a/dayz_anim/zmb/zmbKneel_feedA.rtm b/dayz_anim/zmb/zmbKneel_feedA.rtm index 9629693eb..5f1f1b604 100644 Binary files a/dayz_anim/zmb/zmbKneel_feedA.rtm and b/dayz_anim/zmb/zmbKneel_feedA.rtm differ diff --git a/dayz_anim/zmb/zmbKneel_feedB.rtm b/dayz_anim/zmb/zmbKneel_feedB.rtm index 9595b4ce8..11c985fa4 100644 Binary files a/dayz_anim/zmb/zmbKneel_feedB.rtm and b/dayz_anim/zmb/zmbKneel_feedB.rtm differ diff --git a/dayz_anim/zmb/zmbKneel_feedC.rtm b/dayz_anim/zmb/zmbKneel_feedC.rtm index e0706bf98..6fadedac8 100644 Binary files a/dayz_anim/zmb/zmbKneel_feedC.rtm and b/dayz_anim/zmb/zmbKneel_feedC.rtm differ diff --git a/dayz_anim/zmb/zmbKneel_feedD.rtm b/dayz_anim/zmb/zmbKneel_feedD.rtm index 4b27efd40..61547847b 100644 Binary files a/dayz_anim/zmb/zmbKneel_feedD.rtm and b/dayz_anim/zmb/zmbKneel_feedD.rtm differ diff --git a/dayz_anim/zmb/zmbKneel_feedE.rtm b/dayz_anim/zmb/zmbKneel_feedE.rtm index 289647987..9717bdfc5 100644 Binary files a/dayz_anim/zmb/zmbKneel_feedE.rtm and b/dayz_anim/zmb/zmbKneel_feedE.rtm differ diff --git a/dayz_anim/zmb/zmbKneel_idleA.rtm b/dayz_anim/zmb/zmbKneel_idleA.rtm index c25eec4dd..71d05f5b3 100644 Binary files a/dayz_anim/zmb/zmbKneel_idleA.rtm and b/dayz_anim/zmb/zmbKneel_idleA.rtm differ diff --git a/dayz_anim/zmb/zmbKneel_idleB.rtm b/dayz_anim/zmb/zmbKneel_idleB.rtm index 1df15198a..d65cae911 100644 Binary files a/dayz_anim/zmb/zmbKneel_idleB.rtm and b/dayz_anim/zmb/zmbKneel_idleB.rtm differ diff --git a/dayz_anim/zmb/zmbKneel_idleC.rtm b/dayz_anim/zmb/zmbKneel_idleC.rtm index 9e24b51f7..a4c620280 100644 Binary files a/dayz_anim/zmb/zmbKneel_idleC.rtm and b/dayz_anim/zmb/zmbKneel_idleC.rtm differ diff --git a/dayz_anim/zmb/zmbKneel_idleD.rtm b/dayz_anim/zmb/zmbKneel_idleD.rtm index 16053e425..c7930c1d7 100644 Binary files a/dayz_anim/zmb/zmbKneel_idleD.rtm and b/dayz_anim/zmb/zmbKneel_idleD.rtm differ diff --git a/dayz_anim/zmb/zmbKneel_zmbStand.rtm b/dayz_anim/zmb/zmbKneel_zmbStand.rtm index c78af34ef..fe544bf5e 100644 Binary files a/dayz_anim/zmb/zmbKneel_zmbStand.rtm and b/dayz_anim/zmb/zmbKneel_zmbStand.rtm differ diff --git a/dayz_anim/zmb/zmbKneeljogF.rtm b/dayz_anim/zmb/zmbKneeljogF.rtm index cbc50ab7e..859884c86 100644 Binary files a/dayz_anim/zmb/zmbKneeljogF.rtm and b/dayz_anim/zmb/zmbKneeljogF.rtm differ diff --git a/dayz_anim/zmb/zmbKneelrunF1.rtm b/dayz_anim/zmb/zmbKneelrunF1.rtm index 076e1e528..c32b59677 100644 Binary files a/dayz_anim/zmb/zmbKneelrunF1.rtm and b/dayz_anim/zmb/zmbKneelrunF1.rtm differ diff --git a/dayz_anim/zmb/zmbKneelrunF2.rtm b/dayz_anim/zmb/zmbKneelrunF2.rtm index 72dda93af..8e99a6e34 100644 Binary files a/dayz_anim/zmb/zmbKneelrunF2.rtm and b/dayz_anim/zmb/zmbKneelrunF2.rtm differ diff --git a/dayz_anim/zmb/zmbKneelrunF3.rtm b/dayz_anim/zmb/zmbKneelrunF3.rtm index 5d7e6b026..444cb8f84 100644 Binary files a/dayz_anim/zmb/zmbKneelrunF3.rtm and b/dayz_anim/zmb/zmbKneelrunF3.rtm differ diff --git a/dayz_anim/zmb/zmbKneelrunFrenzy1.rtm b/dayz_anim/zmb/zmbKneelrunFrenzy1.rtm index 09af5d538..6c08c782f 100644 Binary files a/dayz_anim/zmb/zmbKneelrunFrenzy1.rtm and b/dayz_anim/zmb/zmbKneelrunFrenzy1.rtm differ diff --git a/dayz_anim/zmb/zmbKneelrunFrenzy2.rtm b/dayz_anim/zmb/zmbKneelrunFrenzy2.rtm index 214a6c8c0..196159b59 100644 Binary files a/dayz_anim/zmb/zmbKneelrunFrenzy2.rtm and b/dayz_anim/zmb/zmbKneelrunFrenzy2.rtm differ diff --git a/dayz_anim/zmb/zmbStandAttack1.rtm b/dayz_anim/zmb/zmbStandAttack1.rtm index 2db1f3df2..dd165a4f5 100644 Binary files a/dayz_anim/zmb/zmbStandAttack1.rtm and b/dayz_anim/zmb/zmbStandAttack1.rtm differ diff --git a/dayz_anim/zmb/zmbStandAttack2bite.rtm b/dayz_anim/zmb/zmbStandAttack2bite.rtm index c99175781..dd76970c3 100644 Binary files a/dayz_anim/zmb/zmbStandAttack2bite.rtm and b/dayz_anim/zmb/zmbStandAttack2bite.rtm differ diff --git a/dayz_anim/zmb/zmbStandAttack3.rtm b/dayz_anim/zmb/zmbStandAttack3.rtm index 22b96ec62..7a212a834 100644 Binary files a/dayz_anim/zmb/zmbStandAttack3.rtm and b/dayz_anim/zmb/zmbStandAttack3.rtm differ diff --git a/dayz_anim/zmb/zmbStandAttack4.rtm b/dayz_anim/zmb/zmbStandAttack4.rtm index 21ebf2eff..0c5de3fd3 100644 Binary files a/dayz_anim/zmb/zmbStandAttack4.rtm and b/dayz_anim/zmb/zmbStandAttack4.rtm differ diff --git a/dayz_anim/zmb/zmbStandAttack5.rtm b/dayz_anim/zmb/zmbStandAttack5.rtm index f7b6f0093..281d77d36 100644 Binary files a/dayz_anim/zmb/zmbStandAttack5.rtm and b/dayz_anim/zmb/zmbStandAttack5.rtm differ diff --git a/dayz_anim/zmb/zmbStandAttack6.rtm b/dayz_anim/zmb/zmbStandAttack6.rtm index 9d238c184..f6f2e6452 100644 Binary files a/dayz_anim/zmb/zmbStandAttack6.rtm and b/dayz_anim/zmb/zmbStandAttack6.rtm differ diff --git a/dayz_anim/zmb/zmbStandCry1.rtm b/dayz_anim/zmb/zmbStandCry1.rtm index e7b3e1af2..a9879f3e2 100644 Binary files a/dayz_anim/zmb/zmbStandCry1.rtm and b/dayz_anim/zmb/zmbStandCry1.rtm differ diff --git a/dayz_anim/zmb/zmbStandCry2.rtm b/dayz_anim/zmb/zmbStandCry2.rtm index 81d346d4e..200deba5a 100644 Binary files a/dayz_anim/zmb/zmbStandCry2.rtm and b/dayz_anim/zmb/zmbStandCry2.rtm differ diff --git a/dayz_anim/zmb/zmbStandDeath1.rtm b/dayz_anim/zmb/zmbStandDeath1.rtm index 0345e0623..700baa021 100644 Binary files a/dayz_anim/zmb/zmbStandDeath1.rtm and b/dayz_anim/zmb/zmbStandDeath1.rtm differ diff --git a/dayz_anim/zmb/zmbStandDeath2.rtm b/dayz_anim/zmb/zmbStandDeath2.rtm index 85381f789..46a2ed9dd 100644 Binary files a/dayz_anim/zmb/zmbStandDeath2.rtm and b/dayz_anim/zmb/zmbStandDeath2.rtm differ diff --git a/dayz_anim/zmb/zmbStandDeath3.rtm b/dayz_anim/zmb/zmbStandDeath3.rtm index 309c08f2c..33929b2e8 100644 Binary files a/dayz_anim/zmb/zmbStandDeath3.rtm and b/dayz_anim/zmb/zmbStandDeath3.rtm differ diff --git a/dayz_anim/zmb/zmbStandHit1_toRunF1.rtm b/dayz_anim/zmb/zmbStandHit1_toRunF1.rtm index c40474ef4..4840ac595 100644 Binary files a/dayz_anim/zmb/zmbStandHit1_toRunF1.rtm and b/dayz_anim/zmb/zmbStandHit1_toRunF1.rtm differ diff --git a/dayz_anim/zmb/zmbStandHit2.rtm b/dayz_anim/zmb/zmbStandHit2.rtm index c752302f1..522cd33e4 100644 Binary files a/dayz_anim/zmb/zmbStandHit2.rtm and b/dayz_anim/zmb/zmbStandHit2.rtm differ diff --git a/dayz_anim/zmb/zmbStandHit3_fromBehind.rtm b/dayz_anim/zmb/zmbStandHit3_fromBehind.rtm index 9c9c8bc47..2e5bddb9c 100644 Binary files a/dayz_anim/zmb/zmbStandHit3_fromBehind.rtm and b/dayz_anim/zmb/zmbStandHit3_fromBehind.rtm differ diff --git a/dayz_anim/zmb/zmbStandHit4.rtm b/dayz_anim/zmb/zmbStandHit4.rtm index a6135410b..71e3f649b 100644 Binary files a/dayz_anim/zmb/zmbStandHit4.rtm and b/dayz_anim/zmb/zmbStandHit4.rtm differ diff --git a/dayz_anim/zmb/zmbStandIdleA.rtm b/dayz_anim/zmb/zmbStandIdleA.rtm index e711d3076..b566b3193 100644 Binary files a/dayz_anim/zmb/zmbStandIdleA.rtm and b/dayz_anim/zmb/zmbStandIdleA.rtm differ diff --git a/dayz_anim/zmb/zmbStandIdleB.rtm b/dayz_anim/zmb/zmbStandIdleB.rtm index 05d864b74..d636cb68f 100644 Binary files a/dayz_anim/zmb/zmbStandIdleB.rtm and b/dayz_anim/zmb/zmbStandIdleB.rtm differ diff --git a/dayz_anim/zmb/zmbStandIdleC_lookAround.rtm b/dayz_anim/zmb/zmbStandIdleC_lookAround.rtm index 8793b2fcb..d5751eead 100644 Binary files a/dayz_anim/zmb/zmbStandIdleC_lookAround.rtm and b/dayz_anim/zmb/zmbStandIdleC_lookAround.rtm differ diff --git a/dayz_anim/zmb/zmbStandIdleD_sniffingHyped.rtm b/dayz_anim/zmb/zmbStandIdleD_sniffingHyped.rtm index 066f126cc..4aec7b2ea 100644 Binary files a/dayz_anim/zmb/zmbStandIdleD_sniffingHyped.rtm and b/dayz_anim/zmb/zmbStandIdleD_sniffingHyped.rtm differ diff --git a/dayz_anim/zmb/zmbStandIdleE_swinging.rtm b/dayz_anim/zmb/zmbStandIdleE_swinging.rtm index e8edf9ab8..a06aa86e2 100644 Binary files a/dayz_anim/zmb/zmbStandIdleE_swinging.rtm and b/dayz_anim/zmb/zmbStandIdleE_swinging.rtm differ diff --git a/dayz_anim/zmb/zmbStandPose.rtm b/dayz_anim/zmb/zmbStandPose.rtm index e8e876081..35a9b8b51 100644 Binary files a/dayz_anim/zmb/zmbStandPose.rtm and b/dayz_anim/zmb/zmbStandPose.rtm differ diff --git a/dayz_anim/zmb/zmbStandRunF1.rtm b/dayz_anim/zmb/zmbStandRunF1.rtm index 7fbdb355b..b6d9be5d4 100644 Binary files a/dayz_anim/zmb/zmbStandRunF1.rtm and b/dayz_anim/zmb/zmbStandRunF1.rtm differ diff --git a/dayz_anim/zmb/zmbStandRunF2.rtm b/dayz_anim/zmb/zmbStandRunF2.rtm index 7ab999d15..e294d0c9d 100644 Binary files a/dayz_anim/zmb/zmbStandRunF2.rtm and b/dayz_anim/zmb/zmbStandRunF2.rtm differ diff --git a/dayz_anim/zmb/zmbStandRunF3.rtm b/dayz_anim/zmb/zmbStandRunF3.rtm index da2d81932..8b6b24ee5 100644 Binary files a/dayz_anim/zmb/zmbStandRunF3.rtm and b/dayz_anim/zmb/zmbStandRunF3.rtm differ diff --git a/dayz_anim/zmb/zmbStandWalkF1.rtm b/dayz_anim/zmb/zmbStandWalkF1.rtm index 0c1e48037..7a4864e10 100644 Binary files a/dayz_anim/zmb/zmbStandWalkF1.rtm and b/dayz_anim/zmb/zmbStandWalkF1.rtm differ diff --git a/dayz_anim/zmb/zmbStandWalkF2.rtm b/dayz_anim/zmb/zmbStandWalkF2.rtm index c4d6f1763..0b594c930 100644 Binary files a/dayz_anim/zmb/zmbStandWalkF2.rtm and b/dayz_anim/zmb/zmbStandWalkF2.rtm differ diff --git a/dayz_anim/zmb/zmbStand_zmbKneel.rtm b/dayz_anim/zmb/zmbStand_zmbKneel.rtm index 3591b921c..e8f205320 100644 Binary files a/dayz_anim/zmb/zmbStand_zmbKneel.rtm and b/dayz_anim/zmb/zmbStand_zmbKneel.rtm differ diff --git a/dayz_anim/zmb/zombie2_attack.rtm b/dayz_anim/zmb/zombie2_attack.rtm index 56a01dc41..2ebea27bb 100644 Binary files a/dayz_anim/zmb/zombie2_attack.rtm and b/dayz_anim/zmb/zombie2_attack.rtm differ diff --git a/dayz_anim/zmb/zombie2_birth.rtm b/dayz_anim/zmb/zombie2_birth.rtm index 6fe17bb7c..45d383536 100644 Binary files a/dayz_anim/zmb/zombie2_birth.rtm and b/dayz_anim/zmb/zombie2_birth.rtm differ diff --git a/dayz_anim/zmb/zombie2_deathFromWalk.rtm b/dayz_anim/zmb/zombie2_deathFromWalk.rtm index 82d14de7a..7a03f25de 100644 Binary files a/dayz_anim/zmb/zombie2_deathFromWalk.rtm and b/dayz_anim/zmb/zombie2_deathFromWalk.rtm differ diff --git a/dayz_anim/zmb/zombie2_jump.rtm b/dayz_anim/zmb/zombie2_jump.rtm index d98efff00..cf28c66aa 100644 Binary files a/dayz_anim/zmb/zombie2_jump.rtm and b/dayz_anim/zmb/zombie2_jump.rtm differ diff --git a/dayz_anim/zmb/zombie2_walk.rtm b/dayz_anim/zmb/zombie2_walk.rtm index a7389c10f..b96a41503 100644 Binary files a/dayz_anim/zmb/zombie2_walk.rtm and b/dayz_anim/zmb/zombie2_walk.rtm differ diff --git a/dayz_anim/zmb/zombie3_attack.rtm b/dayz_anim/zmb/zombie3_attack.rtm index 69f381738..6af0d1b0f 100644 Binary files a/dayz_anim/zmb/zombie3_attack.rtm and b/dayz_anim/zmb/zombie3_attack.rtm differ diff --git a/dayz_anim/zmb/zombie3_birth.rtm b/dayz_anim/zmb/zombie3_birth.rtm index 98d99c46a..58ef2b9c1 100644 Binary files a/dayz_anim/zmb/zombie3_birth.rtm and b/dayz_anim/zmb/zombie3_birth.rtm differ diff --git a/dayz_anim/zmb/zombie3_jump.rtm b/dayz_anim/zmb/zombie3_jump.rtm index fb4ef087d..33914971d 100644 Binary files a/dayz_anim/zmb/zombie3_jump.rtm and b/dayz_anim/zmb/zombie3_jump.rtm differ diff --git a/dayz_anim/zmb/zombie3_walk.rtm b/dayz_anim/zmb/zombie3_walk.rtm index f1926a1d2..a8dc9a834 100644 Binary files a/dayz_anim/zmb/zombie3_walk.rtm and b/dayz_anim/zmb/zombie3_walk.rtm differ diff --git a/dayz_anim/zmb/zombieStand2KneelFeeding.rtm b/dayz_anim/zmb/zombieStand2KneelFeeding.rtm index 03cbee2ad..a571af9c8 100644 Binary files a/dayz_anim/zmb/zombieStand2KneelFeeding.rtm and b/dayz_anim/zmb/zombieStand2KneelFeeding.rtm differ diff --git a/dayz_anim/zmb/zombie_frenziedCrawl3.rtm b/dayz_anim/zmb/zombie_frenziedCrawl3.rtm index 0e511946c..824956779 100644 Binary files a/dayz_anim/zmb/zombie_frenziedCrawl3.rtm and b/dayz_anim/zmb/zombie_frenziedCrawl3.rtm differ diff --git a/dayz_anim/zmb/zombie_kneelFeeding2_1054_1275.rtm b/dayz_anim/zmb/zombie_kneelFeeding2_1054_1275.rtm index b96b89a83..cfa22b360 100644 Binary files a/dayz_anim/zmb/zombie_kneelFeeding2_1054_1275.rtm and b/dayz_anim/zmb/zombie_kneelFeeding2_1054_1275.rtm differ diff --git a/dayz_anim/zmb/zombie_kneelFeeding2_112_301.rtm b/dayz_anim/zmb/zombie_kneelFeeding2_112_301.rtm index 444ba7d42..24a8afdfc 100644 Binary files a/dayz_anim/zmb/zombie_kneelFeeding2_112_301.rtm and b/dayz_anim/zmb/zombie_kneelFeeding2_112_301.rtm differ diff --git a/dayz_anim/zmb/zombie_kneelFeeding2_idle_1275-1430.rtm b/dayz_anim/zmb/zombie_kneelFeeding2_idle_1275-1430.rtm index 6bd3d0532..4e921b2f4 100644 Binary files a/dayz_anim/zmb/zombie_kneelFeeding2_idle_1275-1430.rtm and b/dayz_anim/zmb/zombie_kneelFeeding2_idle_1275-1430.rtm differ diff --git a/dayz_anim/zmb/zombie_kneelFeeding2_idle_893-1054.rtm b/dayz_anim/zmb/zombie_kneelFeeding2_idle_893-1054.rtm index 9bd298104..437a01db7 100644 Binary files a/dayz_anim/zmb/zombie_kneelFeeding2_idle_893-1054.rtm and b/dayz_anim/zmb/zombie_kneelFeeding2_idle_893-1054.rtm differ diff --git a/dayz_anim/zmb/zombie_kneelFeeding3_109-308.rtm b/dayz_anim/zmb/zombie_kneelFeeding3_109-308.rtm index 29db9e2eb..65b82395a 100644 Binary files a/dayz_anim/zmb/zombie_kneelFeeding3_109-308.rtm and b/dayz_anim/zmb/zombie_kneelFeeding3_109-308.rtm differ diff --git a/dayz_anim/zmb/zombie_kneelFeeding3_363-574.rtm b/dayz_anim/zmb/zombie_kneelFeeding3_363-574.rtm index 8fc1ecfee..b1452dff3 100644 Binary files a/dayz_anim/zmb/zombie_kneelFeeding3_363-574.rtm and b/dayz_anim/zmb/zombie_kneelFeeding3_363-574.rtm differ diff --git a/dayz_anim/zmb/zombie_kneelFeeding3_idle_1292-1461.rtm b/dayz_anim/zmb/zombie_kneelFeeding3_idle_1292-1461.rtm index 934ce1266..6c6d3b56f 100644 Binary files a/dayz_anim/zmb/zombie_kneelFeeding3_idle_1292-1461.rtm and b/dayz_anim/zmb/zombie_kneelFeeding3_idle_1292-1461.rtm differ diff --git a/dayz_anim/zmb/zombie_kneelFeeding3_idle_1488-1587.rtm b/dayz_anim/zmb/zombie_kneelFeeding3_idle_1488-1587.rtm index c7e44f06e..261de0816 100644 Binary files a/dayz_anim/zmb/zombie_kneelFeeding3_idle_1488-1587.rtm and b/dayz_anim/zmb/zombie_kneelFeeding3_idle_1488-1587.rtm differ diff --git a/dayz_anim/zmb/zombie_runDeaths6.rtm b/dayz_anim/zmb/zombie_runDeaths6.rtm index ea46683f6..3b342720a 100644 Binary files a/dayz_anim/zmb/zombie_runDeaths6.rtm and b/dayz_anim/zmb/zombie_runDeaths6.rtm differ diff --git a/dayz_anim/zmb/zombie_sniffing_264-499.rtm b/dayz_anim/zmb/zombie_sniffing_264-499.rtm index 7e2aee483..f149a7ade 100644 Binary files a/dayz_anim/zmb/zombie_sniffing_264-499.rtm and b/dayz_anim/zmb/zombie_sniffing_264-499.rtm differ diff --git a/dayz_anim/zmb/zombie_sniffing_573-809.rtm b/dayz_anim/zmb/zombie_sniffing_573-809.rtm index fc0de1bd8..6f6951232 100644 Binary files a/dayz_anim/zmb/zombie_sniffing_573-809.rtm and b/dayz_anim/zmb/zombie_sniffing_573-809.rtm differ diff --git a/dayz_anim/zmb/zombie_standSpasms1Stand_113-198.rtm b/dayz_anim/zmb/zombie_standSpasms1Stand_113-198.rtm index fe894cdb2..9ee8b50dc 100644 Binary files a/dayz_anim/zmb/zombie_standSpasms1Stand_113-198.rtm and b/dayz_anim/zmb/zombie_standSpasms1Stand_113-198.rtm differ diff --git a/dayz_anim/zmb/zombie_standSpasms1Stand_199-327.rtm b/dayz_anim/zmb/zombie_standSpasms1Stand_199-327.rtm index 46c637f9f..7bf5708b7 100644 Binary files a/dayz_anim/zmb/zombie_standSpasms1Stand_199-327.rtm and b/dayz_anim/zmb/zombie_standSpasms1Stand_199-327.rtm differ diff --git a/dayz_anim/zmb/zombie_standSpasms1Stand_74-112.rtm b/dayz_anim/zmb/zombie_standSpasms1Stand_74-112.rtm index d972f72c6..e130b27bb 100644 Binary files a/dayz_anim/zmb/zombie_standSpasms1Stand_74-112.rtm and b/dayz_anim/zmb/zombie_standSpasms1Stand_74-112.rtm differ diff --git a/dayz_anim/zmb/zombie_standSpasms2bentPose_135-178.rtm b/dayz_anim/zmb/zombie_standSpasms2bentPose_135-178.rtm index 18b8b1bfd..0ac3d34cd 100644 Binary files a/dayz_anim/zmb/zombie_standSpasms2bentPose_135-178.rtm and b/dayz_anim/zmb/zombie_standSpasms2bentPose_135-178.rtm differ diff --git a/dayz_anim/zmb/zombie_standSpasms2bentPose_179-235.rtm b/dayz_anim/zmb/zombie_standSpasms2bentPose_179-235.rtm index 5a2258fa8..f3ae7ba6d 100644 Binary files a/dayz_anim/zmb/zombie_standSpasms2bentPose_179-235.rtm and b/dayz_anim/zmb/zombie_standSpasms2bentPose_179-235.rtm differ diff --git a/dayz_anim/zmb/zombie_standSpasms2bentPose_236-293.rtm b/dayz_anim/zmb/zombie_standSpasms2bentPose_236-293.rtm index 074dadb6d..fddfd88cf 100644 Binary files a/dayz_anim/zmb/zombie_standSpasms2bentPose_236-293.rtm and b/dayz_anim/zmb/zombie_standSpasms2bentPose_236-293.rtm differ diff --git a/dayz_anim/zmb/zombie_standSpasms2bentPose_294-336.rtm b/dayz_anim/zmb/zombie_standSpasms2bentPose_294-336.rtm index f60f26455..59ae96736 100644 Binary files a/dayz_anim/zmb/zombie_standSpasms2bentPose_294-336.rtm and b/dayz_anim/zmb/zombie_standSpasms2bentPose_294-336.rtm differ diff --git a/dayz_anim/zmb/zombie_standSpasms2bentPose_337-439.rtm b/dayz_anim/zmb/zombie_standSpasms2bentPose_337-439.rtm index f007cc610..adb731512 100644 Binary files a/dayz_anim/zmb/zombie_standSpasms2bentPose_337-439.rtm and b/dayz_anim/zmb/zombie_standSpasms2bentPose_337-439.rtm differ diff --git a/dayz_anim/zmb/zombie_standSpasms2bentPose_82-134.rtm b/dayz_anim/zmb/zombie_standSpasms2bentPose_82-134.rtm index 8feb943f7..e7ee2ad98 100644 Binary files a/dayz_anim/zmb/zombie_standSpasms2bentPose_82-134.rtm and b/dayz_anim/zmb/zombie_standSpasms2bentPose_82-134.rtm differ diff --git a/dayz_anim/zmb/zombie_standSpasms3Stand_191-314.rtm b/dayz_anim/zmb/zombie_standSpasms3Stand_191-314.rtm index 52c777d37..434ab36e8 100644 Binary files a/dayz_anim/zmb/zombie_standSpasms3Stand_191-314.rtm and b/dayz_anim/zmb/zombie_standSpasms3Stand_191-314.rtm differ diff --git a/dayz_anim/zmb/zombie_standSpasms3Stand_315-400.rtm b/dayz_anim/zmb/zombie_standSpasms3Stand_315-400.rtm index 20a1b0a81..5682d1565 100644 Binary files a/dayz_anim/zmb/zombie_standSpasms3Stand_315-400.rtm and b/dayz_anim/zmb/zombie_standSpasms3Stand_315-400.rtm differ diff --git a/dayz_anim/zmb/zombie_standSpasms3Stand_401-478.rtm b/dayz_anim/zmb/zombie_standSpasms3Stand_401-478.rtm index 4fa4d65b3..3f473baec 100644 Binary files a/dayz_anim/zmb/zombie_standSpasms3Stand_401-478.rtm and b/dayz_anim/zmb/zombie_standSpasms3Stand_401-478.rtm differ diff --git a/dayz_anim/zmb/zombie_standSpasms3Stand_83-190.rtm b/dayz_anim/zmb/zombie_standSpasms3Stand_83-190.rtm index 2f944ae32..95d89789e 100644 Binary files a/dayz_anim/zmb/zombie_standSpasms3Stand_83-190.rtm and b/dayz_anim/zmb/zombie_standSpasms3Stand_83-190.rtm differ diff --git a/dayz_anim/zmb/zombie_staticAttack3_183-274.rtm b/dayz_anim/zmb/zombie_staticAttack3_183-274.rtm index fdf94227d..6e5b4b013 100644 Binary files a/dayz_anim/zmb/zombie_staticAttack3_183-274.rtm and b/dayz_anim/zmb/zombie_staticAttack3_183-274.rtm differ diff --git a/dayz_anim/zmb/zombie_staticAttack3_441-554.rtm b/dayz_anim/zmb/zombie_staticAttack3_441-554.rtm index 7e66f460b..517f70b26 100644 Binary files a/dayz_anim/zmb/zombie_staticAttack3_441-554.rtm and b/dayz_anim/zmb/zombie_staticAttack3_441-554.rtm differ diff --git a/dayz_anim/zmb/zombie_staticAttack3_570-707.rtm b/dayz_anim/zmb/zombie_staticAttack3_570-707.rtm index a039df5fa..78cdf613f 100644 Binary files a/dayz_anim/zmb/zombie_staticAttack3_570-707.rtm and b/dayz_anim/zmb/zombie_staticAttack3_570-707.rtm differ diff --git a/dayz_anim/zmb/zombie_staticAttack3_67-158.rtm b/dayz_anim/zmb/zombie_staticAttack3_67-158.rtm index efa5d03ed..0e709eddb 100644 Binary files a/dayz_anim/zmb/zombie_staticAttack3_67-158.rtm and b/dayz_anim/zmb/zombie_staticAttack3_67-158.rtm differ diff --git a/dayz_anim/zmb/zombie_staticAttack3_742-833.rtm b/dayz_anim/zmb/zombie_staticAttack3_742-833.rtm index 7b171bbdf..2df605ec7 100644 Binary files a/dayz_anim/zmb/zombie_staticAttack3_742-833.rtm and b/dayz_anim/zmb/zombie_staticAttack3_742-833.rtm differ diff --git a/dayz_anim/zmb/zombie_staticAttack3_855-987.rtm b/dayz_anim/zmb/zombie_staticAttack3_855-987.rtm index 86f1e4003..43168e685 100644 Binary files a/dayz_anim/zmb/zombie_staticAttack3_855-987.rtm and b/dayz_anim/zmb/zombie_staticAttack3_855-987.rtm differ diff --git a/dayz_anim/zmb/zombie_stumble3.rtm b/dayz_anim/zmb/zombie_stumble3.rtm index 1b58d2309..668701dc9 100644 Binary files a/dayz_anim/zmb/zombie_stumble3.rtm and b/dayz_anim/zmb/zombie_stumble3.rtm differ diff --git a/dayz_anim/zmb/zombie_walk2sprint2.rtm b/dayz_anim/zmb/zombie_walk2sprint2.rtm index 7e294fa11..5686c604a 100644 Binary files a/dayz_anim/zmb/zombie_walk2sprint2.rtm and b/dayz_anim/zmb/zombie_walk2sprint2.rtm differ diff --git a/dayz_code/actions/buy_db.sqf b/dayz_code/actions/buy_db.sqf index 97b6be0e7..99befa5c8 100644 --- a/dayz_code/actions/buy_db.sqf +++ b/dayz_code/actions/buy_db.sqf @@ -18,44 +18,96 @@ if (isServer) then { waitUntil {!isNil "dayzTraderMenuResult"}; +/* + `item` varchar(255) NOT NULL COMMENT '[Class Name,1 = CfgMagazines | 2 = Vehicle | 3 = Weapon]', + `qty` int(8) NOT NULL COMMENT 'amount in stock available to buy', + `buy` varchar(255) NOT NULL COMMENT '[[Qty,Class,Type],]', + `sell` varchar(255) NOT NULL COMMENT '[[Qty,Class,Type],]', + `order` int(2) NOT NULL DEFAULT '0' COMMENT '# sort order for addAction menu', + `tid` int(8) NOT NULL COMMENT 'Trader Menu ID', + `afile` varchar(64) NOT NULL DEFAULT 'trade_items', +*/ + diag_log format["DEBUG Buy: %1", dayzTraderMenuResult]; { _header = _x select 0; // "TRD" - _btype = _x select 1; - _stype = _x select 2; - _loc = _x select 3; - _name = _x select 4; - _qty = _x select 5; - _cost = _x select 6; - _bcurrency = _x select 7; - _sell = _x select 8; - _scurrency = _x select 9; - _cat = _x select 10; - _order = _x select 11; - _tid = _x select 12; - _actionFile = _x select 13; - _textPart = getText(configFile >> _btype >> _name >> "displayName"); + // Trader Item name|type + _item = _x select 1; + _name = _item select 0; + _type = _item select 1; + switch(true)do{ + case (_type == 1): { + _type = "CfgMagazines"; + }; + case (_type == 2): { + _type = "CfgVehicles"; + }; + case (_type == 3): { + _type = "CfgWeapons"; + }; + }; + // Display Name of item + _textPart = getText(configFile >> _type >> _name >> "displayName"); - _File = "\z\addons\dayz_code\actions\" + _actionFile + ".sqf"; + // Total in stock + _qty = _x select 2; - _part_out = _name; - _part_in = _bcurrency; + // Buy Data from array + _buy = _x select 3; + _bqty = _buy select 0; + _bname = _buy select 1; + _btype = _buy select 2; + switch(true)do{ + case (_btype == 1): { + _btype = "CfgMagazines"; + }; + case (_btype == 2): { + _btype = "CfgVehicles"; + }; + case (_btype == 3): { + _btype = "CfgWeapons"; + }; + }; + // Display Name of buy item + _textCurrency = getText(configFile >> _btype >> _bname >> "displayName"); + + // Sell data from array + _sell = _x select 4; + _sqty = _sell select 0; + _sname = _sell select 1; + _stype = _sell select 2; + + // Menu sort order + _order = _x select 5; + + // Trader Menu ID + _tid = _x select 6; + + // Action file to use for trade + _afile = _x select 7; + _File = "\z\addons\dayz_code\actions\" + _afile + ".sqf"; + + // Allways 1 for now _out = 1; - _in = _cost; + // qty consumed of bname + _in = _bqty; - _textCurrency = getText(configFile >> _stype >> _part_in >> "displayName"); - - _Display = format["Buy %1 for %2 %3", _textPart, _cost, _textCurrency]; - // trade_items.sqf | [part_out, part_in, qty_out, qty_in,_textPart,_textCurrency]; - _part = player addAction [_Display, _File,[_part_out,_part_in,_out,_in,"buy",_textPart,_textCurrency], _order, true, true, "",""]; + if(_qty <= 0) then { + _Display = format["Buy %1 (Out of Stock: %2)", _textPart, _qty]; + _part = player addAction [_Display, "\z\addons\dayz_code\actions\trade_cancel.sqf",[], 0, true, false, "",""]; + } else { + _Display = format["Buy %1 for %2 %3 (Available: %4)", _textPart, _in, _textCurrency, _qty]; + _part = player addAction [_Display, _File,[_name,_bname,_out,_in,"buy",_textCurrency,_textPart], _order, true, true, "",""]; + }; + diag_log format["DEBUG TRADER: %1", _part]; s_player_parts set [count s_player_parts,_part]; } forEach dayzTraderMenuResult; -_cancel = player addAction ["Cancel", "\z\addons\dayz_code\actions\trade_cancel.sqf",["medical"], 10, true, false, "",""]; +_cancel = player addAction ["Cancel", "\z\addons\dayz_code\actions\trade_cancel.sqf",["medical"], 0, true, false, "",""]; s_player_parts set [count s_player_parts,_cancel]; // Clear Data maybe consider cacheing results diff --git a/dayz_code/actions/lock_veh.sqf b/dayz_code/actions/lock_veh.sqf index c37f5de9d..82a596857 100644 --- a/dayz_code/actions/lock_veh.sqf +++ b/dayz_code/actions/lock_veh.sqf @@ -1,6 +1,6 @@ private["_vehicle"]; _vehicle = _this select 3; -_vehicle setVehicleInit "this lock true"; -_vehicle setVehicleInit "this lockCargo true"; +_vehicle setVehicleInit "this lock true; this lockCargo true;"; + processInitCommands; diff --git a/dayz_code/actions/sell_db.sqf b/dayz_code/actions/sell_db.sqf index 3f0a6dc74..59db3089c 100644 --- a/dayz_code/actions/sell_db.sqf +++ b/dayz_code/actions/sell_db.sqf @@ -1,4 +1,4 @@ -private["_activatingPlayer","_trader_id","_category","_action","_id","_btype","_stype","_loc","_name","_qty","_cost","_qty","_sell","_order","_tid","_bcurrency","_scurrency","_actionFile","_in","_out","_part","_cat","_cancel","_Display","_File","_textCurrency","_textPart"]; +private["_activatingPlayer","_trader_id","_category","_action","_id","_type","_loc","_name","_qty","_cost","_qty","_sell","_cur","_order","_tid","_currency","_actionFile","_in","_out","_part","_cat","_cancel","_Display","_File","_textCurrency","_textPart"]; {player removeAction _x} forEach s_player_parts;s_player_parts = []; @@ -18,45 +18,93 @@ if (isServer) then { waitUntil {!isNil "dayzTraderMenuResult"}; -diag_log format["DEBUG Sell: %1", dayzTraderMenuResult]; +/* + `item` varchar(255) NOT NULL COMMENT '[Class Name,1 = CfgMagazines | 2 = Vehicle | 3 = Weapon]', + `qty` int(8) NOT NULL COMMENT 'amount in stock available to buy', + `buy` varchar(255) NOT NULL COMMENT '[[Qty,Class,Type],]', + `sell` varchar(255) NOT NULL COMMENT '[[Qty,Class,Type],]', + `order` int(2) NOT NULL DEFAULT '0' COMMENT '# sort order for addAction menu', + `tid` int(8) NOT NULL COMMENT 'Trader Menu ID', + `afile` varchar(64) NOT NULL DEFAULT 'trade_items', +*/ + +diag_log format["DEBUG Buy: %1", dayzTraderMenuResult]; { _header = _x select 0; // "TRD" - _btype = _x select 1; - _stype = _x select 2; - _loc = _x select 3; - _name = _x select 4; - _qty = _x select 5; - _cost = _x select 6; - _bcurrency = _x select 7; - _sell = _x select 8; - _scurrency = _x select 9; - _cat = _x select 10; - _order = _x select 11; - _tid = _x select 12; - _actionFile = _x select 13; - _textPart = getText(configFile >> _stype >> _scurrency >> "displayName"); + // Trader Item name|type + _item = _x select 1; + _name = _item select 0; + _type = _item select 1; + switch(true)do{ + case (_type == 1): { + _type = "CfgMagazines"; + }; + case (_type == 2): { + _type = "CfgVehicles"; + }; + case (_type == 3): { + _type = "CfgWeapons"; + }; + }; + // Display Name of item + _textPart = getText(configFile >> _type >> _name >> "displayName"); - _File = "\z\addons\dayz_code\actions\" + _actionFile + ".sqf"; - - _part_out = _scurrency; - _part_in = _name; - _out = _sell; + // Total in stock + _qty = _x select 2; + + // Buy Data from array + _buy = _x select 3; + _bqty = _buy select 0; + _bname = _buy select 1; + _btype = _buy select 2; + + // Sell data from array + _sell = _x select 4; + _sqty = _sell select 0; + _sname = _sell select 1; + _stype = _sell select 2; + switch(true)do{ + case (_stype == 1): { + _stype = "CfgMagazines"; + }; + case (_stype == 2): { + _stype = "CfgVehicles"; + }; + case (_stype == 3): { + _stype = "CfgWeapons"; + }; + }; + // Display Name of sell item + _textCurrency = getText(configFile >> _stype >> _sname >> "displayName"); + + // Menu sort order + _order = _x select 5; + + // Trader Menu ID + _tid = _x select 6; + + // Action file to use for trade + _afile = _x select 7; + _File = "\z\addons\dayz_code\actions\" + _afile + ".sqf"; + + // Allways 1 for now + _out = _sqty; + // qty consumed of bname _in = 1; - _textCurrency = getText(configFile >> _btype >> _part_in >> "displayName"); - - _Display = format["Sell %1 for %2 %3", _textPart, _sell, _textCurrency]; - - // trade_items.sqf | [part_out, part_in, qty_out, qty_in,"buy",_textPart,_textCurrency]; - _part = player addAction [_Display, _File,[_part_out,_part_in,_out,_in,"sell",_textPart,_textCurrency], _order, true, true, "",""]; - //diag_log format["DEBUG TRADER: %1", _part]; + // trade_items.sqf | [part_out, part_in, qty_out, qty_in,_textPart,_textCurrency]; + _Display = format["Sell %1 for %2 %3", _textPart, _sqty, _textCurrency]; + _part = player addAction [_Display, _File,[_sname,_name,_out,_in,"sell",_textPart,_textCurrency], _order, true, true, "",""]; + + diag_log format["DEBUG TRADER: %1", _part]; s_player_parts set [count s_player_parts,_part]; } forEach dayzTraderMenuResult; -_cancel = player addAction ["Cancel", "\z\addons\dayz_code\actions\trade_cancel.sqf",["medical"], 10, true, false, "",""]; +_cancel = player addAction ["Cancel", "\z\addons\dayz_code\actions\trade_cancel.sqf",["medical"], 0, true, false, "",""]; s_player_parts set [count s_player_parts,_cancel]; +// Clear Data maybe consider cacheing results dayzTraderMenuResult = nil; -s_player_parts_crtl = 1; \ No newline at end of file +s_player_parts_crtl = 1; diff --git a/dayz_code/actions/tent_pitch.sqf b/dayz_code/actions/tent_pitch.sqf index be96959f3..8ad3b4ba9 100644 --- a/dayz_code/actions/tent_pitch.sqf +++ b/dayz_code/actions/tent_pitch.sqf @@ -1,6 +1,7 @@ private["_position","_tent","_location","_isOk","_backpack","_tentType","_trg","_key"]; //check if can pitch here call gear_ui_init; +_playerPos = getPosATL player; _item = _this; _hastentitem = _this in magazines player; _location = player modeltoworld [0,2.5,0]; @@ -9,23 +10,28 @@ _building = nearestObject [(vehicle player), "HouseBase"]; _isOk = [(vehicle player),_building] call fnc_isInsideBuilding; //_isOk = true; -diag_log ("Pitch Tent: " + str(_isok) ); +//diag_log ("Pitch Tent: " + str(_isok) ); _config = configFile >> "CfgMagazines" >> _item; _text = getText (_config >> "displayName"); if (!_hastentitem) exitWith {cutText [format[(localize "str_player_31"),_text,"pitch"] , "PLAIN DOWN"]}; - -//allowed -if (["forest",dayz_surfaceType] call fnc_inString) then { _isOk = false; diag_log ("surface forest"); }; -//if (["grass",dayz_surfaceType] call fnc_inString) then { _isOk = false; diag_log ("surface grass"); }; - //blocked if (["concrete",dayz_surfaceType] call fnc_inString) then { _isOk = true; diag_log ("surface concrete"); }; -//if (["wood",dayz_surfaceType] call fnc_inString) then { _isOk = true; diag_log ("surface concrete"); }; +//Block Tents in pounds +_objectsPond = nearestObjects [_playerPos, [], 10]; + { + _isPond = ["pond",str(_x),false] call fnc_inString; + if (_isPond) then { + _pondPos = (_x worldToModel _playerPos) select 2; + if (_pondPos < 0) then { + _isOk = true; + }; + }; + } forEach _objectsPond; -diag_log ("Pitch Tent Surface: " + str(_isok) ); +//diag_log ("Pitch Tent: " + str(_isok) ); if (!_isOk) then { //remove tentbag diff --git a/dayz_code/actions/trade_any_vehicle.sqf b/dayz_code/actions/trade_any_vehicle.sqf index 4e12ee6bd..d1e625789 100644 --- a/dayz_code/actions/trade_any_vehicle.sqf +++ b/dayz_code/actions/trade_any_vehicle.sqf @@ -75,5 +75,6 @@ if (_qty >= _qty_in) then { s_player_parts_crtl = -1; } else { + _needed = _qty_in - _qty; cutText [format[("Need %1 More %2"),_needed,_textPartIn] , "PLAIN DOWN"]; }; \ No newline at end of file diff --git a/dayz_code/actions/trade_backpacks.sqf b/dayz_code/actions/trade_backpacks.sqf new file mode 100644 index 000000000..67e5f95b2 --- /dev/null +++ b/dayz_code/actions/trade_backpacks.sqf @@ -0,0 +1,48 @@ +private["_iarray","_part_out","_part_in","_qty_out","_qty_in","_qty"]; +// [part_out,part_in, qty_out, qty_in,]; + +_part_out = (_this select 3) select 0; +_part_in = (_this select 3) select 1; +_qty_out = (_this select 3) select 2; +_qty_in = (_this select 3) select 3; +_buy_o_sell = (_this select 3) select 4; +_textPartIn = (_this select 3) select 5; +_textPartOut = (_this select 3) select 6; + +if(_buy_o_sell == "buy") then { + _qty = {_x == _part_in} count magazines player; +} else { + _qty = 0; + _bag = unitBackpack player; + _class = typeOf _bag; + if(_class == _part_in) then { + _qty = 1; + }; +}; + +if (_qty >= _qty_in) then { + + if(_buy_o_sell == "buy") then { + for "_x" from 1 to _qty_in do { + player removeMagazine _part_in; + }; + removeBackpack player; + player addBackpack _part_out; + } else { + // Sell + for "_x" from 1 to _qty_out do { + player addMagazine _part_out; + }; + removeBackpack player; + // player addBackpack _part_out; + }; + + cutText [format[("Traded %1 %2 for %3 %4"),_qty_in,_textPartIn,_qty_out,_textPartOut], "PLAIN DOWN"]; + + {player removeAction _x} forEach s_player_parts;s_player_parts = []; + s_player_parts_crtl = -1; + +} else { + _needed = _qty_in - _qty; + cutText [format[("Need %1 More %2"),_needed,_textPartIn] , "PLAIN DOWN"]; +}; \ No newline at end of file diff --git a/dayz_code/actions/trade_items.sqf b/dayz_code/actions/trade_items.sqf index 90c8197f2..2c6d7b4bc 100644 --- a/dayz_code/actions/trade_items.sqf +++ b/dayz_code/actions/trade_items.sqf @@ -24,8 +24,6 @@ if (_qty >= _qty_in) then { // [player,"repair",0,false] call dayz_zombieSpeak; cutText [format[("Traded %1 %2 for %3 %4"),_qty_in,_textPartIn,_qty_out,_textPartOut], "PLAIN DOWN"]; - {player removeAction _x} forEach s_player_parts;s_player_parts = []; - s_player_parts_crtl = -1; } else { _needed = _qty_in - _qty; cutText [format[("Need %1 More %2"),_needed,_textPartIn] , "PLAIN DOWN"]; diff --git a/dayz_code/actions/trade_weapons.sqf b/dayz_code/actions/trade_weapons.sqf index c5957693a..922ee64d2 100644 --- a/dayz_code/actions/trade_weapons.sqf +++ b/dayz_code/actions/trade_weapons.sqf @@ -40,7 +40,6 @@ if (_qty >= _qty_in) then { {player removeAction _x} forEach s_player_parts;s_player_parts = []; s_player_parts_crtl = -1; - } else { _needed = _qty_in - _qty; cutText [format[("Need %1 More %2"),_needed,_textPartIn] , "PLAIN DOWN"]; diff --git a/dayz_code/actions/unlock_veh.sqf b/dayz_code/actions/unlock_veh.sqf index d2aa55755..cd0db32d7 100644 --- a/dayz_code/actions/unlock_veh.sqf +++ b/dayz_code/actions/unlock_veh.sqf @@ -1,6 +1,6 @@ private["_vehicle"]; _vehicle = _this select 3; -_vehicle setVehicleInit "this lock false"; -_vehicle setVehicleInit "this lockCargo false"; +_vehicle setVehicleInit "this lock false; this lockCargo false;"; + processInitCommands; diff --git a/dayz_code/actions/vault_pack.sqf b/dayz_code/actions/vault_pack.sqf new file mode 100644 index 000000000..b350dff28 --- /dev/null +++ b/dayz_code/actions/vault_pack.sqf @@ -0,0 +1,3 @@ +private["_obj","_bag","_pos"]; +_obj = _this select 3; +_obj spawn player_packVault; diff --git a/dayz_code/actions/vault_pitch.sqf b/dayz_code/actions/vault_pitch.sqf new file mode 100644 index 000000000..46dbdd061 --- /dev/null +++ b/dayz_code/actions/vault_pitch.sqf @@ -0,0 +1,70 @@ +private["_position","_tent","_location","_isOk","_backpack","_tentType","_trg","_key"]; +//check if can pitch here +call gear_ui_init; +_playerPos = getPosATL player; +_item = _this; +_hastentitem = _this in magazines player; +_location = player modeltoworld [0,2.5,0]; +_location set [2,0]; +_building = nearestObject [(vehicle player), "HouseBase"]; +_isOk = [(vehicle player),_building] call fnc_isInsideBuilding; +//_isOk = true; + +//diag_log ("Pitch Tent: " + str(_isok) ); + +_config = configFile >> "CfgMagazines" >> _item; +_text = getText (_config >> "displayName"); + +if (!_hastentitem) exitWith {cutText [format[(localize "str_player_31"),_text,"pitch"] , "PLAIN DOWN"]}; + +//blocked +if (["concrete",dayz_surfaceType] call fnc_inString) then { _isOk = true; diag_log ("surface concrete"); }; +//Block Tents in pounds +_objectsPond = nearestObjects [_playerPos, [], 10]; + { + _isPond = ["pond",str(_x),false] call fnc_inString; + if (_isPond) then { + _pondPos = (_x worldToModel _playerPos) select 2; + if (_pondPos < 0) then { + _isOk = true; + }; + }; + } forEach _objectsPond; + +//diag_log ("Pitch Tent: " + str(_isok) ); + +if (!_isOk) then { + //remove tentbag + player removeMagazine _item; + _dir = round(direction player); + + //wait a bit + player playActionNow "Medic"; + sleep 1; + [player,"tentunpack",0,false] call dayz_zombieSpeak; + + _id = [player,50,true,(getPosATL player)] spawn player_alertZombies; + + sleep 5; + //place tent (local) + _tent = createVehicle ["VaultStorage", _location, [], 0, "CAN_COLLIDE"]; + _tent setdir _dir; + _tent setpos _location; + player reveal _tent; + _location = getPosATL _tent; + + _tent setVariable ["characterID",dayz_characterID,true]; + + //player setVariable ["tentUpdate",["Land_A_tent",_dir,_location,[dayz_tentWeapons,dayz_tentMagazines,dayz_tentBackpacks]],true]; + + dayzPublishObj = [dayz_characterID,_tent,[_dir,_location],"VaultStorage"]; + publicVariable "dayzPublishObj"; + if (isServer) then { + dayzPublishObj call server_publishObj; + }; + + cutText ["You have setup your vault", "PLAIN DOWN"]; +} else { + cutText ["You cannot place a Vault here. The area must be flat, and free of other objects", "PLAIN DOWN"]; +}; + diff --git a/dayz_code/cfgLoot.hpp b/dayz_code/cfgLoot.hpp index cc2a6c1aa..4fa45a8de 100644 --- a/dayz_code/cfgLoot.hpp +++ b/dayz_code/cfgLoot.hpp @@ -243,7 +243,7 @@ class CfgLoot { 0.02, 0.02, 0.04 - }; + } }; policeman[] = { { diff --git a/dayz_code/cfgVehicles.hpp b/dayz_code/cfgVehicles.hpp index f00307da5..7fed93695 100644 --- a/dayz_code/cfgVehicles.hpp +++ b/dayz_code/cfgVehicles.hpp @@ -1,4 +1,22 @@ class CfgVehicles { + class AllVehicles; + class Air : AllVehicles + { + class NewTurret; + class ViewPilot; + class AnimationSources; + }; + class Helicopter : Air + { + class HitPoints; + class Turrets + { + class MainTurret: NewTurret + { + class Turrets; + }; + }; + }; class Animal; class Pastor; class Fin; @@ -194,51 +212,99 @@ class CfgVehicles { gunnerCanSee = 2+16+32; driverCanSee = 2+16+32; }; - //Mi17_TK_EP1 - class Mi17_TK_EP1 + + class Mi17_base : Helicopter { - scope = 2; - side = 2; - crew = ""; - typicalCargo[] = {}; - hiddenSelections[] = {}; - class TransportMagazines{}; - class TransportWeapons{}; - weapons[] = {}; - magazines[] = {}; - gunnerHasFlares = false; - commanderCanSee = 2+16+32; - gunnerCanSee = 2+16+32; - driverCanSee = 2+16+32; + class Turrets: Turrets + { + class MainTurret: MainTurret + { + minElev = -80; + maxElev = 25; + initElev = -80; + minTurn = 30; + maxTurn = 150; + initTurn = 90; + class ViewOptics { + initAngleX = 0; + minAngleX = -30; + maxAngleX = 30; + initAngleY = 0; + minAngleY = -100; + maxAngleY = 100; + initFov = 0.7; + minFov = 0.25; + maxFov = 1.1; + }; + class Turrets: Turrets {}; + }; + class BackTurret : MainTurret + { + minElev = -80; + maxElev = 25; + initElev = -80; + minTurn = -185; + maxTurn = -45; + initTurn = -155; + class Turrets: Turrets {}; + }; + }; }; - class Mi17_DZ: Mi17_TK_EP1 + class Mi17_DZ: Mi17_base { displayName = "Mi17_DZ"; + scope = 2; + side = 2; + crew = ""; + maxSpeed = 180; // max speed on level road, km/h + typicalCargo[] = {}; + hiddenSelectionsTextures[] = {"\ca\air_E\Data\mi17_body_IND_CO.paa", "\ca\air_E\Data\mi17_det_IND_CO.paa", "\ca\air\data\clear_empty.paa", "\ca\air\data\mi8_decals_ca.paa"}; + class Turrets : Turrets { + class FrontTurret : MainTurret { + weapons[] = {PKT_2}; + magazines[] = {"100Rnd_762x54_PK"}; + }; + class BackTurret : BackTurret { + weapons[] = {PKT_2}; + magazines[] = {"100Rnd_762x54_PK"}; + }; + }; + class AnimationSources : AnimationSources { + class ReloadAnim { + source = "reload"; + weapon = PKT; + }; + class ReloadMagazine { + source = "reloadmagazine"; + weapon = PKT; + }; + class Revolving { + source = "revolving"; + weapon = PKT; + }; + class ReloadAnim_2 { + source = "reload"; + weapon = PKT_2; + }; + class ReloadMagazine_2 { + source = "reloadmagazine"; + weapon = PKT_2; + }; + class Revolving_2 { + source = "revolving"; + weapon = PKT_2; + }; + }; + gunnerHasFlares = false; + commanderCanSee = 2+16+32; + gunnerCanSee = 2+16+32; + driverCanSee = 2+16+32; }; //An2_TK_EP1 - class An2_TK_EP1 - { - scope = 2; - side = 2; - crew = ""; - typicalCargo[] = {}; - hiddenSelections[] = {}; - class TransportMagazines{}; - class TransportWeapons{}; - weapons[] = {}; - magazines[] = {}; - gunnerHasFlares = false; - commanderCanSee = 2+16+32; - gunnerCanSee = 2+16+32; - driverCanSee = 2+16+32; - }; - class AN2_DZ: An2_TK_EP1 + class An2_Base_EP1; + class AN2_DZ: An2_Base_EP1 { displayName = "AN2_DZ"; - }; - //AH6X_EP1 - class AH6X_EP1 - { scope = 2; side = 2; crew = ""; @@ -253,9 +319,24 @@ class CfgVehicles { gunnerCanSee = 2+16+32; driverCanSee = 2+16+32; }; + //AH6X_EP1 + class AH6X_EP1{ scope = 0; }; class AH6X_DZ: AH6X_EP1 { displayName = "AH6X_DZ"; + scope = 2; + side = 2; + crew = ""; + typicalCargo[] = {}; + hiddenSelections[] = {}; + class TransportMagazines{}; + class TransportWeapons{}; + weapons[] = {}; + magazines[] = {}; + gunnerHasFlares = false; + commanderCanSee = 2+16+32; + gunnerCanSee = 2+16+32; + driverCanSee = 2+16+32; }; class House { class DestructionEffects; @@ -268,34 +349,7 @@ class CfgVehicles { displayName = "Crashed UH-1Y"; vehicleClass = "Wrecks"; }; - class HouseDZ: House { - class MarkerLights - { - class RedBlinking - { - name = ""; - color[] = {0,0.0,0,0}; - ambient[] = {0,0,0,0}; - brightness = 0; - blinking = "false"; - }; - }; - class Reflectors - { - class MainLight - { - color[] = {0,0.0,0,0}; - ambient[] = {0,0,0,0}; - brightness = 0; - position = ""; - direction = ""; - hitpoint = ""; - selection = ""; - size = 0; - period[] = {0,1}; - }; - }; - }; + class Strategic; class NonStrategic; @@ -313,958 +367,13 @@ class CfgVehicles { nameSound = "fuelstation"; }; - // Lingor hangars - class land_ibr_hangar: House - { - model = "\ibr\ibr_hangars\ibr_hangar"; - scope = 2; - vehicleClass = "ibr_hangars"; - transportFuel = 0; - transportRepair = 0; - icon = "\ibr\ibr_hangars\icons\icon5.paa"; - mapSize = 40; - displayName = "House"; - destrType = "DestructBuilding"; - armor = 1200; - class DestructionEffects: DestructionEffects - { - class Ruin1 - { - simulation = "ruin"; - type = "\ibr\ibr_hangars\ibr_hangar_ruins"; - position = ""; - intensity = 2; - interval = 1; - lifeTime = 1; - }; - }; - class MarkerLights - { - class WhiteBlinking - { - name = "svet1"; - color[] = {0,0,0,0}; - ambient[] = {0,0,0,0}; - brightness = 0; - blinking = 0; - }; - }; - class AnimationSources - { - class doorf - { - source = "user"; - animPeriod = 5; - initPhase = 0; - }; - }; - class UserActions - { - class Open_Gate - { - displayName = "Open Gate"; - position = "handle1"; - radius = 10.0; - onlyForPlayer = 0; - condition = "this animationPhase ""doorfanim"" < 0.5"; - statement = "this animate [""doorfanim"", 1]"; - }; - class Close_Gate - { - displayName = "Close Gate"; - position = "handle1"; - radius = 10.0; - onlyForplayer = 0; - condition = "this animationPhase ""doorfanim"" > 0.5"; - statement = "this animate [""doorfanim"",0]"; - }; - }; - }; - class Land_Ind_MalyKomin: House - { - scope = 1; - armor = 100; - featureSize = 40; - model = "\Ca\buildings2\Ind_CementWorks\Ind_MalyKomin\Ind_MalyKomin"; - class DestructionEffects: DestructionEffects - { - class Ruin1 - { - simulation = "ruin"; - type = "\ca\Buildings2\Ind_CementWorks\Ind_MalyKomin\Ind_MalyKomin_ruins"; - position = ""; - intensity = 1; - interval = 0.05; - lifeTime = 1; - }; - }; - ladders[] = {{"start","end"}}; - class MarkerLights - { - class RedBlinking - { - name = ""; - color[] = {0,0,0,0}; - ambient[] = {0,0,0,0}; - brightness = 0; - blinking = 0; - }; - }; - }; - class Land_Rail_Semafor: House - { - scope = 1; - model = "\CA\Structures\Rail\Rail_Misc\rail_Semafor"; - destrType = "DestructTree"; - class MarkerLights - { - class GreenStill - { - name = ""; - color[] = {0,0,0,0}; - ambient[] = {0,0,0,0}; - brightness = 0; - blinking = 0; - }; - }; - }; - class Land_Rail_Zavora: House - { - scope = 1; - model = "\CA\Structures\Rail\Rail_Misc\rail_Zavora"; - destrType = "DestructTree"; - class MarkerLights - { - class WhiteBlinking - { - name = ""; - color[] = {0,0,0,0}; - ambient[] = {0,0,0,0}; - brightness = 0; - blinking = 0; - }; - }; - }; - class Land_majak: House - { - scope = 1; - model = "\ca\buildings\majak"; - displayName = "Lighthouse"; - animated = 1; - ladders[] = {{"start","end"}}; - class DestructionEffects: DestructionEffects - { - class Ruin1 - { - simulation = "ruin"; - type = "\ca\buildings\ruins\majak_ruins.p3d"; - position = ""; - intensity = 1; - interval = 1; - lifeTime = 1; - }; - }; - armor = 1000; - class MarkerLights - { - class RedBlinking - { - name = ""; - color[] = {0,0,0,0}; - ambient[] = {0,0,0,0}; - brightness = 0; - blinking = 0; - }; - }; - class Reflectors - { - class MainLight - { - color[] = {0,0,0,0}; - ambient[] = {0,0,0,0}; - position = ""; - direction = ""; - hitpoint = ""; - selection = ""; - size = 0; - brightness = 0; - period[] = {0,1}; - }; - }; - }; - class Land_majak2: Land_majak - { - model = "\ca\buildings\majak2"; - class Reflectors - { - class MainLight - { - color[] = {0,0,0,0}; - ambient[] = {0,0,0,0}; - position = ""; - direction = ""; - hitpoint = ""; - selection = ""; - size = 0; - brightness = 0; - period[] = {0,1}; - }; - }; - class DestructionEffects: DestructionEffects - { - class Ruin1 - { - simulation = "ruin"; - type = "\ca\buildings\ruins\majak_ruins.p3d"; - position = ""; - intensity = 1; - interval = 1; - lifeTime = 1; - }; - }; - }; - class Land_Vysilac_FM: House - { - scope = 1; - armor = 150; - destrType = "DestructBuilding"; - ladders[] = {{"start","end"}}; - model = "\ca\buildings\Vysilac_FM"; - class MarkerLights - { - class RedBlinking - { - name = ""; - color[] = {0,0,0,0}; - ambient[] = {0,0,0,0}; - brightness = 0; - blinking = 0; - }; - }; - class Destruction - { - animations[] = {{"ca\buildings\rtm\vysilac_fm.rtm",0.5,3}}; - }; - displayName = "Radio 1"; - }; - class Land_telek1: House - { - scope = 1; - armor = 600; - destrType = "DestructBuilding"; - model = "\ca\buildings\telek1"; - class DestructionEffects: DestructionEffects - { - class Ruin1 - { - simulation = "ruin"; - type = "\ca\buildings\ruins\telek1_ruins.p3d"; - position = ""; - intensity = 1; - interval = 1; - lifeTime = 1; - }; - }; - class MarkerLights - { - class RedBlinking - { - name = ""; - color[] = {0,0,0,0}; - ambient[] = {0,0,0,0}; - brightness = 0; - blinking = 0; - }; - }; - displayName = "Telek 1"; - ladders[] = {{"start1","end1"},{"start2","end2"},{"start3","end3"}}; - }; - class Land_komin: House - { - ladders[] = {{"start","end"}}; - model = "\ca\buildings\komin"; - armor = 300; - class DestructionEffects: DestructionEffects - { - class Ruin1 - { - simulation = "ruin"; - type = "\ca\buildings\ruins\komin_ruins.p3d"; - position = ""; - intensity = 1; - interval = 1; - lifeTime = 1; - }; - }; - class MarkerLights - { - class RedBlinking - { - name = ""; - color[] = {0,0,0,0}; - ambient[] = {0,0,0,0}; - brightness = 0; - blinking = 0; - }; - }; - }; - class Land_Stoplight01: House - { - scope = 1; - model = "\ca\buildings\Misc\stoplight01"; - armor = 50; - class MarkerLights - { - class YellowTopBlinking - { - name = ""; - color[] = {0,0,0,0}; - ambient[] = {0,0,0,0}; - brightness = 0; - blinking = 0; - }; - class YellowLowBlinking - { - name = ""; - color[] = {0,0,0,0}; - ambient[] = {0,0,0,0}; - brightness = 0; - blinking = 0; - }; - }; - }; - class Land_Stoplight02: Land_Stoplight01 - { - model = "\ca\buildings\Misc\stoplight02"; - class MarkerLights - { - class YellowTopBlinking - { - name = ""; - color[] = {0,0,0,0}; - ambient[] = {0,0,0,0}; - brightness = 0; - blinking = 0; - }; - }; - }; - class Land_NavigLight: House - { - scope = 1; - displayName = ""; - model = "\ca\buildings\Misc\NavigLight"; - armor = 50; - class MarkerLights - { - class WhiteStill - { - name = ""; - color[] = {0,0,0,0}; - ambient[] = {0,0,0,0}; - brightness = 0; - blinking = 0; - }; - }; - }; - class Land_runway_edgelight: House - { - scope = 1; - displayName = ""; - model = "\ca\buildings\Misc\runway_edgelight"; - armor = 20; - class MarkerLights - { - class RedStill - { - name = ""; - color[] = {0,0,0,0}; - ambient[] = {0,0,0,0}; - brightness = 0; - blinking = 0; - }; - }; - }; - class Land_VASICore: NonStrategic - { - scope = 1; - animated = 0; - reversed = 0; - vehicleClass = "Objects"; - icon = ""; - model = ""; - displayName = "VASI"; - accuracy = 0.2; - typicalCargo[] = {}; - destrType = "DestructBuilding"; - irTarget = 0; - transportAmmo = 0; - transportRepair = 0; - transportFuel = 0; - cost = 0; - armor = 100; - mapSize = 6.4; - simulation = "house"; - }; - class Land_HouseB_Tenement: House - { - armor = 180; - model = "\Ca\Structures\House\HouseBT\HouseB_Tenement"; - scope = 1; - featureSize = 50; - class HitPoints - { - class Hit1 - { - armor = 0.15; - material = -1; - name = "dam 1"; - visual = "damT1"; - passThrough = 0; - convexComponent = "dam 1"; - class DestructionEffects - { - class Dust - { - simulation = "particles"; - type = "HousePartDust"; - position = ""; - intensity = 1; - interval = 1; - lifeTime = 0.01; - }; - class Dust2: Dust - { - type = "HousePartDustLong"; - }; - class Walls: Dust - { - type = "HousePartWall"; - }; - }; - }; - }; - class MarkerLights - { - class RedBlinking - { - name = ""; - color[] = {0,0.0,0,0}; - ambient[] = {0,0,0,0}; - brightness = 0; - blinking = "false"; - }; - }; - class AnimationSources - { - class Lights_1 - { - source = "user"; - animPeriod = 0.001; - initPhase = 0; - }; - class Lights_2: Lights_1 - { - }; - }; - }; - class Land_Mil_ControlTower: House - { - scope = 1; - armor = 400; - class DestructionEffects: DestructionEffects - { - class Ruin1 - { - simulation = "ruin"; - type = "\Ca\Structures\Mil\Mil_ControlTower_ruins.p3d"; - position = ""; - intensity = 1; - interval = 1; - lifeTime = 1; - }; - }; - class HitPoints - { - class Hit1 - { - armor = 0.25; - material = -1; - name = "dam 1"; - visual = "damT1"; - passThrough = 1; - convexComponent = "dam 1"; - class DestructionEffects - { - class Dust - { - simulation = "particles"; - type = "HousePartDust"; - position = ""; - intensity = 1; - interval = 1; - lifeTime = 0.01; - }; - class Dust2: Dust - { - type = "HousePartDustLong"; - }; - class Walls: Dust - { - type = "HousePartWall"; - }; - }; - }; - class Hit2 - { - armor = 0.25; - material = -1; - name = "dam 2"; - visual = "damT2"; - passThrough = 1; - convexComponent = "dam 2"; - class DestructionEffects - { - class Dust - { - simulation = "particles"; - type = "HousePartDust"; - position = ""; - intensity = 1; - interval = 1; - lifeTime = 0.01; - }; - class Dust2: Dust - { - type = "HousePartDustLong"; - }; - class Walls: Dust - { - type = "HousePartWall"; - }; - }; - }; - class Hit3 - { - armor = 0.25; - material = -1; - name = "dam 3"; - visual = "damT3"; - passThrough = 1; - convexComponent = "dam 3"; - class DestructionEffects - { - class Dust - { - simulation = "particles"; - type = "HousePartDust"; - position = ""; - intensity = 1; - interval = 1; - lifeTime = 0.01; - }; - class Dust2: Dust - { - type = "HousePartDustLong"; - }; - class Walls: Dust - { - type = "HousePartWall"; - }; - }; - }; - class Hit4 - { - armor = 0.25; - material = -1; - name = "dam 4"; - visual = "damT4"; - passThrough = 1; - convexComponent = "dam 4"; - class DestructionEffects - { - class Dust - { - simulation = "particles"; - type = "HousePartDust"; - position = ""; - intensity = 1; - interval = 1; - lifeTime = 0.01; - }; - class Dust2: Dust - { - type = "HousePartDustLong"; - }; - class Walls: Dust - { - type = "HousePartWall"; - }; - }; - }; - class Hit5 - { - armor = 0.25; - material = -1; - name = "dam 5"; - visual = "damT5"; - passThrough = 1; - convexComponent = "dam 5"; - class DestructionEffects - { - class Dust - { - simulation = "particles"; - type = "HousePartDust"; - position = ""; - intensity = 1; - interval = 1; - lifeTime = 0.01; - }; - class Dust2: Dust - { - type = "HousePartDustLong"; - }; - class Walls: Dust - { - type = "HousePartWall"; - }; - }; - }; - class Hit6 - { - armor = 0.25; - material = -1; - name = "dam 6"; - visual = "damT6"; - passThrough = 1; - convexComponent = "dam 6"; - class DestructionEffects - { - class Dust - { - simulation = "particles"; - type = "HousePartDust"; - position = ""; - intensity = 1; - interval = 1; - lifeTime = 0.01; - }; - class Dust2: Dust - { - type = "HousePartDustLong"; - }; - class Walls: Dust - { - type = "HousePartWall"; - }; - }; - }; - class Hitglass - { - armor = 0.0005; - material = -1; - name = "dam glass"; - visual = "damTglass"; - passThrough = 0; - convexComponent = "dam glass"; - }; - class Hittower - { - armor = 0.0005; - material = -1; - name = "dam tower"; - visual = "damTtower"; - passThrough = 0; - convexComponent = "dam tower"; - }; - }; - replaceDamagedHitpoints[] = {"Hit1","Hit2","Hit3","Hit4","Hit5","Hit6"}; - class Damage - { - tex[] = {}; - mat[] = {"CA\Structures\Mil\Data\Mil_ControlTower_windows1.rvmat","CA\Structures\Mil\Data\destruct_half_Mil_ControlTower_windows1.rvmat","CA\Structures\Mil\Data\destruct_full_Mil_ControlTower_windows1.rvmat"}; - }; - model = "\CA\Structures\Mil\Mil_ControlTower"; - ladders[] = {{"start1","end1"},{"start2","end2"}}; - class AnimationSources - { - class dvere_spodni_R - { - animPeriod = 1; - initPhase = 0; - source = "user"; - }; - class dvere_spodni_L - { - animPeriod = 1; - initPhase = 1; - source = "user"; - }; - class dvere_vrchni - { - animPeriod = 1; - initPhase = 1; - source = "user"; - }; - class HitTower - { - source = "Hit"; - hitpoint = "HitTower"; - raw = 1; - }; - }; - class UserActions - { - class OpenDoors1 - { - displayNameDefault = ""; - displayName = "Open door"; - position = "Dvere_spodni_R_osa"; - radius = 3; - onlyForPlayer = 0; - condition = "this animationPhase ""Dvere_spodni_R"" < 0.5"; - statement = "this animate [""Dvere_spodni_R"", 1];this animate [""Dvere_spodni_L"", 1]"; - }; - class CloseDoors1: OpenDoors1 - { - displayNameDefault = ""; - displayName = "Close door"; - condition = "this animationPhase ""Dvere_spodni_R"" >= 0.5"; - statement = "this animate [""Dvere_spodni_R"", 0];this animate [""Dvere_spodni_L"", 0]"; - }; - class OpenDoors3 - { - displayNameDefault = ""; - displayName = "Open door"; - position = "Dvere_Vrchni_osa"; - radius = 2; - onlyForPlayer = 0; - condition = "this animationPhase ""dvere_vrchni"" < 0.5"; - statement = "this animate [""dvere_vrchni"", 1]"; - }; - class CloseDoors3: OpenDoors3 - { - displayNameDefault = ""; - displayName = "Close door"; - condition = "this animationPhase ""dvere_vrchni"" >= 0.5"; - statement = "this animate [""dvere_vrchni"", 0]"; - }; - }; - actionBegin1 = "OpenDoors1"; - actionEnd1 = "OpenDoors1"; - actionBegin2 = "OpenDoors3"; - actionEnd2 = "OpenDoors3"; - class MarkerLights - { - class RedBlinking - { - name = ""; - color[] = {0,0,0,0}; - ambient[] = {0,0,0,0}; - brightness = 0; - blinking = 0; - }; - }; - replaceDamaged = "Land_Mil_ControlTower_dam"; - }; - class Land_NAV_Lighthouse: House - { - scope = 1; - armor = 500; - featureSize = 15; - model = "\Ca\Structures\NAV\NAV_Lighthouse"; - ladders[] = {{"start1","end1"}}; - class MarkerLights - { - class RedBlinking - { - name = ""; - color[] = {0,0,0,0}; - ambient[] = {0,0,0,0}; - brightness = 0; - blinking = 0; - }; - }; - class Reflectors - { - class MainLight - { - color[] = {0,0,0,0}; - ambient[] = {0,0,0,0}; - position = ""; - direction = ""; - hitpoint = ""; - selection = ""; - size = 0; - brightness = 0; - period[] = {0,1}; - }; - }; - class Damage - { - tex[] = {}; - mat[] = {"ca\structures\nav\data\nav_lighthouse_multi.rvmat","ca\structures\nav\data\destruct_half_nav_lighthouse_multi.rvmat","ca\structures\nav\data\destruct_full_nav_lighthouse_multi.rvmat","ca\structures\nav\data\nav_lighthouse_windows.rvmat","ca\structures\nav\data\destruct_half_lighthouse_windows.rvmat","ca\structures\nav\data\destruct_full_lighthouse_windows.rvmat"}; - }; - class DestructionEffects: DestructionEffects - { - class Ruin1 - { - simulation = "ruin"; - type = "\Ca\Structures\Nav\NAV_Lighthouse_ruins.p3d"; - position = ""; - intensity = 1; - interval = 1; - lifeTime = 1; - }; - }; - }; - class Land_NAV_Lighthouse2: Land_NAV_Lighthouse - { - model = "\Ca\Structures\NAV\NAV_Lighthouse2"; - class Reflectors: Reflectors - { - class MainLight: MainLight - { - period[] = {0,1}; - }; - }; - class DestructionEffects: DestructionEffects - { - class Ruin1 - { - simulation = "ruin"; - type = "\Ca\Structures\Nav\NAV_Lighthouse_ruins.p3d"; - position = ""; - intensity = 1; - interval = 1; - lifeTime = 1; - }; - }; - }; - class Land_A_Crane_02b: House - { - scope = 1; - armor = 110; - featureSize = 30; - model = "\ca\buildings2\A_Crane_02\A_Crane_02b"; - destrType = "DestructBuilding"; - ladders[] = {{"start3","end3"},{"start4","end4"},{"start5","end5"},{"start6","end6"}}; - class MarkerLights - { - class RedBlinking - { - name = ""; - color[] = {0,0,0,0}; - ambient[] = {0,0,0,0}; - brightness = 0; - blinking = 0; - }; - }; - class Destruction - { - animations[] = {{"ca\buildings2\A_Crane_02\data\anim\crane.rtm",0.5,3}}; - }; - }; - class Land_Farm_WTower: House - { - scope = 1; - armor = 100; - model = "\CA\buildings2\Farm_WTower\Farm_WTower"; - class MarkerLights - { - class RedBlinking - { - name = ""; - color[] = {0,0,0,0}; - ambient[] = {0,0,0,0}; - brightness = 0; - blinking = 0; - }; - }; - class DestructionEffects: DestructionEffects - { - class Ruin1 - { - simulation = "ruin"; - type = "\Ca\buildings2\Farm_WTower\Farm_WTower_ruins"; - position = ""; - intensity = 1; - interval = 1; - lifeTime = 1; - }; - }; - }; - class Land_A_TVTower_Mid: House - { - scope = 1; - destrType = "DestructNo"; - model = "\ca\Structures\A_TVTower\A_TVTower_Mid"; - featureSize = 150; - class MarkerLights - { - class RedStill - { - name = ""; - color[] = {0,0,0,0}; - ambient[] = {0,0,0,0}; - brightness = 0; - blinking = 0; - }; - }; - }; - class Land_A_TVTower_Top: House - { - scope = 1; - destrType = "DestructNo"; - model = "\ca\Structures\A_TVTower\A_TVTower_Top"; - featureSize = 150; - class MarkerLights - { - class RedLight - { - name = ""; - color[] = {0,0,0,0}; - ambient[] = {0,0,0,0}; - brightness = 0; - blinking = 0; - }; - }; - }; -}; -class CfgNonAIVehicles -{ - access = 0; - class StreetLamp - { - scope = 0; - model = ""; - destrType = "DestructTree"; - simulation = "thing"; - }; - class Land_lampa_sidl: StreetLamp - { - scope = 1; - model = "\ca\buildings\Misc\lampa_sidl"; - }; - class Land_lampa_sidl_2: StreetLamp - { - scope = 1; - model = "\ca\buildings\Misc\lampa_sidl_2"; - }; - class Land_lampa_sidl_3: StreetLamp - { - scope = 1; - model = "\ca\buildings\Misc\lampa_sidl_3"; - }; - class Land_lampa_ind: StreetLamp - { - scope = 1; - model = "\ca\buildings\Misc\lampa_ind"; - }; - class Land_lampa_ind_zebr: StreetLamp - { - scope = 1; - model = "\ca\buildings\Misc\lampa_ind_zebr"; - }; -}; \ No newline at end of file + // Lingor hangars + //class land_ibr_hangar: land_ibr_hangar + //{ + // scope = 2; + // transportFuel = 0; + // transportRepair = 0; + //}; + +}; \ No newline at end of file diff --git a/dayz_code/compile/fn_selfActions.sqf b/dayz_code/compile/fn_selfActions.sqf index 29cd0ab9b..e894d4935 100644 --- a/dayz_code/compile/fn_selfActions.sqf +++ b/dayz_code/compile/fn_selfActions.sqf @@ -52,6 +52,7 @@ if (!isNull cursorTarget and !_inVehicle and (player distance cursorTarget < 4)) _isZombie = cursorTarget isKindOf "zZombie_base"; _isDestructable = cursorTarget isKindOf "BuiltItems"; _isTent = cursorTarget isKindOf "TentStorage"; + _isVault = cursorTarget isKindOf "VaultStorage"; _isFuel = false; _isAlive = alive cursorTarget; _text = getText (configFile >> "CfgVehicles" >> typeOf cursorTarget >> "displayName"); @@ -175,6 +176,18 @@ if (!isNull cursorTarget and !_inVehicle and (player distance cursorTarget < 4)) player removeAction s_player_packtent; s_player_packtent = -1; }; + + + //Packing my vault + if(cursorTarget isKindOf "VaultStorage" and _canDo and _ownerID == dayz_characterID) then { + if ((s_player_packvault < 0) and (player distance cursorTarget < 3)) then { + s_player_packvault = player addAction ["Pack Vault", "\z\addons\dayz_code\actions\vault_pack.sqf",cursorTarget, 0, false, true, "",""]; + // s_player_packvault = player addAction ["Lock Vault", "\z\addons\dayz_code\actions\vault_pack.sqf",cursorTarget, 0, false, true, "",""]; + }; + } else { + player removeAction s_player_packvault; + s_player_packvault = -1; + }; //Repairing Vehicles if ((dayz_myCursorTarget != cursorTarget) and !_isMan and _hasToolbox and (damage cursorTarget < 1)) then { @@ -241,11 +254,21 @@ if (!isNull cursorTarget and !_inVehicle and (player distance cursorTarget < 4)) if (s_player_parts_crtl < 0) then { // [_trader_id, _category, ]; - _buy = player addAction ["Buy Parts", "\z\addons\dayz_code\actions\buy_db.sqf",[1,"Parts"], 99, true, false, "",""]; - _sell = player addAction ["Sell Parts", "\z\addons\dayz_code\actions\sell_db.sqf",[1,"Parts"], 98, true, false, "",""]; + _buy = player addAction ["Buy Car Parts", "\z\addons\dayz_code\actions\buy_db.sqf",[21], 99, true, false, "",""]; + _sell = player addAction ["Sell Car Parts", "\z\addons\dayz_code\actions\sell_db.sqf",[21], 98, true, false, "",""]; + + _buy2 = player addAction ["Buy Building Supplies", "\z\addons\dayz_code\actions\buy_db.sqf",[22], 97, true, false, "",""]; + _sell2 = player addAction ["Sell Building Supplies", "\z\addons\dayz_code\actions\sell_db.sqf",[22], 96, true, false, "",""]; + + _buy3 = player addAction ["Buy Explosives", "\z\addons\dayz_code\actions\buy_db.sqf",[23], 95, true, false, "",""]; + _sell3 = player addAction ["Sell Explosives", "\z\addons\dayz_code\actions\sell_db.sqf",[23], 94, true, false, "",""]; s_player_parts set [count s_player_parts,_buy]; s_player_parts set [count s_player_parts,_sell]; + s_player_parts set [count s_player_parts,_buy2]; + s_player_parts set [count s_player_parts,_sell2]; + s_player_parts set [count s_player_parts,_buy3]; + s_player_parts set [count s_player_parts,_sell3]; s_player_parts_crtl = 1; }; @@ -260,11 +283,43 @@ if (!isNull cursorTarget and !_inVehicle and (player distance cursorTarget < 4)) if (s_player_parts_crtl < 0) then { // [_trader_id, _category, ]; - _buy = player addAction ["Buy Weapons", "\z\addons\dayz_code\actions\buy_db.sqf",[4,"Weapons"], 99, true, false, "",""]; - _sell = player addAction ["Sell Weapons", "\z\addons\dayz_code\actions\sell_db.sqf",[4,"Weapons"], 98, true, false, "",""]; + _buy1 = player addAction ["Buy Sidearm", "\z\addons\dayz_code\actions\buy_db.sqf",[11], 99, true, false, "",""]; + _sell1 = player addAction ["Sell Sidearm", "\z\addons\dayz_code\actions\sell_db.sqf",[11], 98, true, false, "",""]; + + _buy = player addAction ["Buy Rifle", "\z\addons\dayz_code\actions\buy_db.sqf",[12], 97, true, false, "",""]; + _sell = player addAction ["Sell Rifle", "\z\addons\dayz_code\actions\sell_db.sqf",[12], 96, true, false, "",""]; + + _buy2 = player addAction ["Buy Shotgun", "\z\addons\dayz_code\actions\buy_db.sqf",[13], 95, true, false, "",""]; + _sell2 = player addAction ["Sell Shotgun", "\z\addons\dayz_code\actions\sell_db.sqf",[13], 94, true, false, "",""]; + + _buy3 = player addAction ["Buy Assault Rifle", "\z\addons\dayz_code\actions\buy_db.sqf",[14], 93, true, false, "",""]; + _sell3 = player addAction ["Sell Assault Rifle", "\z\addons\dayz_code\actions\sell_db.sqf",[14], 92, true, false, "",""]; + + _buy4 = player addAction ["Buy Machine Gun", "\z\addons\dayz_code\actions\buy_db.sqf",[15], 91, true, false, "",""]; + _sell4 = player addAction ["Sell Machine Gun", "\z\addons\dayz_code\actions\sell_db.sqf",[15], 90, true, false, "",""]; + + _buy5 = player addAction ["Buy Sniper Rifle", "\z\addons\dayz_code\actions\buy_db.sqf",[16], 89, true, false, "",""]; + _sell5 = player addAction ["Sell Sniper Rifle", "\z\addons\dayz_code\actions\sell_db.sqf",[16], 88, true, false, "",""]; + + + + s_player_parts set [count s_player_parts,_buy1]; + s_player_parts set [count s_player_parts,_sell1]; s_player_parts set [count s_player_parts,_buy]; s_player_parts set [count s_player_parts,_sell]; + + s_player_parts set [count s_player_parts,_buy2]; + s_player_parts set [count s_player_parts,_sell2]; + + s_player_parts set [count s_player_parts,_buy3]; + s_player_parts set [count s_player_parts,_sell3]; + + s_player_parts set [count s_player_parts,_buy4]; + s_player_parts set [count s_player_parts,_sell4]; + + s_player_parts set [count s_player_parts,_buy5]; + s_player_parts set [count s_player_parts,_sell5]; s_player_parts_crtl = 1; }; @@ -277,11 +332,26 @@ if (!isNull cursorTarget and !_inVehicle and (player distance cursorTarget < 4)) if (s_player_parts_crtl < 0) then { // [_trader_id, _category, ]; - _buy = player addAction ["Buy Food", "\z\addons\dayz_code\actions\buy_db.sqf",[5,"Food"], 99, true, false, "",""]; - _sell = player addAction ["Sell Food", "\z\addons\dayz_code\actions\sell_db.sqf",[5,"Food"], 98, true, false, "",""]; + _buy = player addAction ["Buy Food", "\z\addons\dayz_code\actions\buy_db.sqf",[51], 99, true, false, "",""]; + _sell = player addAction ["Sell Food", "\z\addons\dayz_code\actions\sell_db.sqf",[51], 98, true, false, "",""]; + + _buy2 = player addAction ["Buy Backpacks", "\z\addons\dayz_code\actions\buy_db.sqf",[52], 97, true, false, "",""]; + _sell2 = player addAction ["Sell Backpacks", "\z\addons\dayz_code\actions\sell_db.sqf",[52], 96, true, false, "",""]; + + _buy3 = player addAction ["Buy Toolbelt", "\z\addons\dayz_code\actions\buy_db.sqf",[53], 95, true, false, "",""]; + _sell3 = player addAction ["Sell Toolbelt", "\z\addons\dayz_code\actions\sell_db.sqf",[53], 94, true, false, "",""]; + + _buy4 = player addAction ["Buy Clothes", "\z\addons\dayz_code\actions\buy_db.sqf",[54], 93, true, false, "",""]; + _sell4 = player addAction ["Sell Clothes", "\z\addons\dayz_code\actions\sell_db.sqf",[54], 92, true, false, "",""]; s_player_parts set [count s_player_parts,_buy]; s_player_parts set [count s_player_parts,_sell]; + s_player_parts set [count s_player_parts,_buy2]; + s_player_parts set [count s_player_parts,_sell2]; + s_player_parts set [count s_player_parts,_buy3]; + s_player_parts set [count s_player_parts,_sell3]; + s_player_parts set [count s_player_parts,_buy4]; + s_player_parts set [count s_player_parts,_sell4]; s_player_parts_crtl = 1; }; @@ -294,11 +364,43 @@ if (!isNull cursorTarget and !_inVehicle and (player distance cursorTarget < 4)) if (s_player_parts_crtl < 0) then { // [_trader_id, _category, ]; - _buy = player addAction ["Buy Ammo", "\z\addons\dayz_code\actions\buy_db.sqf",[2,"Ammo"], 99, true, false, "",""]; - _sell = player addAction ["Sell Ammo", "\z\addons\dayz_code\actions\sell_db.sqf",[2,"Ammo"], 98, true, false, "",""]; + _buy1 = player addAction ["Buy Sidearm Ammo", "\z\addons\dayz_code\actions\buy_db.sqf",[1], 99, true, false, "",""]; + _sell1 = player addAction ["Sell Sidearm Ammo", "\z\addons\dayz_code\actions\sell_db.sqf",[1], 98, true, false, "",""]; + + _buy = player addAction ["Buy Rifle Ammo", "\z\addons\dayz_code\actions\buy_db.sqf",[2], 97, true, false, "",""]; + _sell = player addAction ["Sell Rifle Ammo", "\z\addons\dayz_code\actions\sell_db.sqf",[2], 96, true, false, "",""]; + + _buy2 = player addAction ["Buy Shotgun Ammo", "\z\addons\dayz_code\actions\buy_db.sqf",[3], 95, true, false, "",""]; + _sell2 = player addAction ["Sell Shotgun Ammo", "\z\addons\dayz_code\actions\sell_db.sqf",[3], 94, true, false, "",""]; + + _buy3 = player addAction ["Buy Assault Rifle Ammo", "\z\addons\dayz_code\actions\buy_db.sqf",[4], 93, true, false, "",""]; + _sell3 = player addAction ["Sell Assault Rifle Ammo", "\z\addons\dayz_code\actions\sell_db.sqf",[4], 92, true, false, "",""]; + + _buy4 = player addAction ["Buy Machine Gun Ammo", "\z\addons\dayz_code\actions\buy_db.sqf",[5], 91, true, false, "",""]; + _sell4 = player addAction ["Sell Machine Gun Ammo", "\z\addons\dayz_code\actions\sell_db.sqf",[5], 90, true, false, "",""]; + + _buy5 = player addAction ["Buy Sniper Rifle Ammo", "\z\addons\dayz_code\actions\buy_db.sqf",[6], 89, true, false, "",""]; + _sell5 = player addAction ["Sell Sniper Rifle Ammo", "\z\addons\dayz_code\actions\sell_db.sqf",[6], 88, true, false, "",""]; + + + + s_player_parts set [count s_player_parts,_buy1]; + s_player_parts set [count s_player_parts,_sell1]; s_player_parts set [count s_player_parts,_buy]; s_player_parts set [count s_player_parts,_sell]; + + s_player_parts set [count s_player_parts,_buy2]; + s_player_parts set [count s_player_parts,_sell2]; + + s_player_parts set [count s_player_parts,_buy3]; + s_player_parts set [count s_player_parts,_sell3]; + + s_player_parts set [count s_player_parts,_buy4]; + s_player_parts set [count s_player_parts,_sell4]; + + s_player_parts set [count s_player_parts,_buy5]; + s_player_parts set [count s_player_parts,_sell5]; s_player_parts_crtl = 1; }; @@ -311,8 +413,8 @@ if (!isNull cursorTarget and !_inVehicle and (player distance cursorTarget < 4)) if (s_player_parts_crtl < 0) then { // [_trader_id, _category, ]; - _buy = player addAction ["Buy Vehicle", "\z\addons\dayz_code\actions\buy_db.sqf",[6,"Vehicle"], 99, true, false, "",""]; - _sell = player addAction ["Sell Vehicle", "\z\addons\dayz_code\actions\sell_db.sqf",[6,"Vehicle"], 98, true, false, "",""]; + _buy = player addAction ["Buy Vehicle", "\z\addons\dayz_code\actions\buy_db.sqf",[41], 99, true, false, "",""]; + _sell = player addAction ["Sell Vehicle", "\z\addons\dayz_code\actions\sell_db.sqf",[41], 98, true, false, "",""]; s_player_parts set [count s_player_parts,_buy]; s_player_parts set [count s_player_parts,_sell]; @@ -328,13 +430,44 @@ if (!isNull cursorTarget and !_inVehicle and (player distance cursorTarget < 4)) if (s_player_parts_crtl < 0) then { // [part_out, part_in, qty_out, qty_in,]; - _zparts1 = player addAction ["Trade Zombie Parts for Bio Meat", "\z\addons\dayz_code\actions\trade_items.sqf",["FoodBioMeat","ItemZombieParts",1,1], 99, true, true, "",""]; - _zparts2 = player addAction ["Buy Medical", "\z\addons\dayz_code\actions\buy_db.sqf",[3,"Medical"], 97, true, false, "",""]; - _zparts3 = player addAction ["Sell Medical", "\z\addons\dayz_code\actions\sell_db.sqf",[3,"Medical"], 96, true, false, "",""]; + _zparts1 = player addAction ["Trade Zombie Parts for Bio Meat", "\z\addons\dayz_code\actions\trade_items.sqf",["FoodBioMeat","ItemZombieParts",1,1,"buy","Zombie Parts","Bio Meat"], 99, true, true, "",""]; + _zparts2 = player addAction ["Buy Medical", "\z\addons\dayz_code\actions\buy_db.sqf",[31], 97, true, false, "",""]; + _zparts3 = player addAction ["Sell Medical", "\z\addons\dayz_code\actions\sell_db.sqf",[31], 96, true, false, "",""]; + + _zparts4 = player addAction ["Buy Chem-lites/Flares", "\z\addons\dayz_code\actions\buy_db.sqf",[32], 95, true, false, "",""]; + _zparts5 = player addAction ["Sell Chem-lites/Flares", "\z\addons\dayz_code\actions\sell_db.sqf",[32], 94, true, false, "",""]; + + _zparts6 = player addAction ["Buy Smoke Grenades", "\z\addons\dayz_code\actions\buy_db.sqf",[33], 93, true, false, "",""]; + _zparts7 = player addAction ["Sell Smoke Grenades", "\z\addons\dayz_code\actions\sell_db.sqf",[33], 92, true, false, "",""]; s_player_parts set [count s_player_parts,_zparts1]; s_player_parts set [count s_player_parts,_zparts2]; s_player_parts set [count s_player_parts,_zparts3]; + s_player_parts set [count s_player_parts,_zparts4]; + s_player_parts set [count s_player_parts,_zparts5]; + s_player_parts set [count s_player_parts,_zparts6]; + s_player_parts set [count s_player_parts,_zparts7]; + s_player_parts_crtl = 1; + }; + }; + + // metals_trader + if (_isMan and _traderType == metals_trader) then { + + if (s_player_parts_crtl < 0) then { + + // [part_out, part_in, qty_out, qty_in,]; + _metals1 = player addAction ["Trade 6 Copper for 1 Silver", "\z\addons\dayz_code\actions\trade_items.sqf",["ItemSilverBar","ItemCopperBar",1,6,"buy","Copper","Silver"], 99, true, true, "",""]; + _metals2 = player addAction ["Trade 1 Silver for 6 Copper", "\z\addons\dayz_code\actions\trade_items.sqf",["ItemCopperBar","ItemSilverBar",6,1,"buy","Silver","Copper"], 98, true, true, "",""]; + _metals4 = player addAction ["Trade 6 Silver for 1 Gold", "\z\addons\dayz_code\actions\trade_items.sqf",["ItemGoldBar","ItemSilverBar",1,6,"buy","Silver","Gold"], 97, true, true, "",""]; + _metals3 = player addAction ["Trade 1 Gold for 6 Silver", "\z\addons\dayz_code\actions\trade_items.sqf",["ItemSilverBar","ItemGoldBar",6,1,"buy","Gold","Silver"], 97, true, true, "",""]; + + + s_player_parts set [count s_player_parts,_metals1]; + s_player_parts set [count s_player_parts,_metals2]; + s_player_parts set [count s_player_parts,_metals3]; + s_player_parts set [count s_player_parts,_metals4]; +; s_player_parts_crtl = 1; }; }; diff --git a/dayz_code/compile/fn_unconscious.sqf b/dayz_code/compile/fn_unconscious.sqf index e45521208..b4b3c42d7 100644 --- a/dayz_code/compile/fn_unconscious.sqf +++ b/dayz_code/compile/fn_unconscious.sqf @@ -17,7 +17,7 @@ if ((!r_player_handler1) and (r_handlerCount == 0)) then { disableUserInput true; //waitUntil{USEC_MotherInbox == ""}; //["MED001",0,"Unconscious"] call fnc_usec_recordEventClient; - localize "CLIENT: Unconscious..."; + diag_log "CLIENT: Unconscious..."; while {(r_player_unconscious)} do { _ctrl1 ctrlSetPosition [(_ctrl1Pos select 0),(_ctrl1Pos select 1),(_ctrl1Pos select 2),((0.136829 * safezoneH) * (1 -(r_player_timeout / _totalTimeout)))]; _ctrl1 ctrlCommit 1; @@ -86,7 +86,7 @@ if ((!r_player_handler1) and (r_handlerCount == 0)) then { }; }; 4 cutRsc ["default", "PLAIN",1]; - localize "CLIENT: Conscious..."; + diag_log "CLIENT: Conscious..."; disableUserInput false; //waitUntil{USEC_MotherInbox == ""}; //["MED001",0,"Conscious"] call fnc_usec_recordEventClient; diff --git a/dayz_code/compile/player_gearSync.sqf b/dayz_code/compile/player_gearSync.sqf index 1e015013e..e7e27daf0 100644 --- a/dayz_code/compile/player_gearSync.sqf +++ b/dayz_code/compile/player_gearSync.sqf @@ -1,5 +1,5 @@ private ["_objects"]; -_objects = nearestObjects [getPosATL player, ["Car", "Helicopter", "Motorcycle", "Ship", "TentStorage"], 10]; +_objects = nearestObjects [getPosATL player, ["Car", "Helicopter", "Motorcycle", "Ship", "TentStorage","VaultStorage"], 10]; { dayzUpdateVehicle = [_x,"all"]; publicVariableServer "dayzUpdateVehicle"; diff --git a/dayz_code/compile/player_packVault.sqf b/dayz_code/compile/player_packVault.sqf new file mode 100644 index 000000000..734155f6c --- /dev/null +++ b/dayz_code/compile/player_packVault.sqf @@ -0,0 +1,75 @@ +/* +[_obj] spawn player_packVault; +*/ +private["_objectID","_objectUID","_obj","_ownerID","_dir","_pos","_bag","_holder","_weapons","_magazines","_backpacks","_objWpnTypes","_objWpnQty","_countr"]; +_obj = _this; +_ownerID = _obj getVariable["CharacterID","0"]; +_objectID = _obj getVariable["ObjectID","0"]; +_objectUID = _obj getVariable["ObjectUID","0"]; +player playActionNow "Medic"; + +player removeAction s_player_packvault; +s_player_packvault = -1; + +if(_ownerID == dayz_characterID) then { + _alreadyPacking = _obj getVariable["packing",0]; + + if (_alreadyPacking == 1) exitWith {cutText ["That vault is already being packed." , "PLAIN DOWN"]}; + + _obj setVariable["packing",1]; + + _dir = direction _obj; + _pos = getposATL _obj; + [player,"tentpack",0,false] call dayz_zombieSpeak; + sleep 3; + + //place tent (local) + _bag = createVehicle ["WeaponHolder_ItemVault",_pos,[], 0, "CAN_COLLIDE"]; + _bag setdir _dir; + player reveal _bag; + + _holder = "WeaponHolder" createVehicle _pos; + + _weapons = getWeaponCargo _obj; + _magazines = getMagazineCargo _obj; + _backpacks = getBackpackCargo _obj; + + dayzDeleteObj = [_objectID,_objectUID]; + publicVariableServer "dayzDeleteObj"; + if (isServer) then { + dayzDeleteObj call local_deleteObj; + }; + + deleteVehicle _obj; + + //Add weapons + _objWpnTypes = _weapons select 0; + _objWpnQty = _weapons select 1; + _countr = 0; + { + _holder addweaponcargoGlobal [_x,(_objWpnQty select _countr)]; + _countr = _countr + 1; + } forEach _objWpnTypes; + + //Add Magazines + _objWpnTypes = _magazines select 0; + _objWpnQty = _magazines select 1; + _countr = 0; + { + _holder addmagazinecargoGlobal [_x,(_objWpnQty select _countr)]; + _countr = _countr + 1; + } forEach _objWpnTypes; + + //Add Backpacks + _objWpnTypes = _backpacks select 0; + _objWpnQty = _backpacks select 1; + _countr = 0; + { + _holder addbackpackcargoGlobal [_x,(_objWpnQty select _countr)]; + _countr = _countr + 1; + } forEach _objWpnTypes; + + cutText ["Your vault has been packed", "PLAIN DOWN"]; +} else { + cutText ["You cannot pack this vault, it is not yours", "PLAIN DOWN"]; +}; \ No newline at end of file diff --git a/dayz_code/compile/zombie_generate.sqf b/dayz_code/compile/zombie_generate.sqf index bf7e82556..ee82106f2 100644 --- a/dayz_code/compile/zombie_generate.sqf +++ b/dayz_code/compile/zombie_generate.sqf @@ -3,13 +3,13 @@ _position = _this select 0; _doLoiter = _this select 1; _unitTypes = _this select 2; -_isNoone = {isPlayer _x} count (_position nearEntities ["CAManBase",30]) == 0; +_isNoone = {isPlayer _x} count (_position nearEntities ["AllVehicles",30]) == 0; _loot = ""; _array = []; _agent = objNull; //Exit if a player is nearby -if (!isNoone) exitWith {}; +if (!_isNoone) exitWith {}; if (count _unitTypes == 0) then { _unitTypes = []+ getArray (configFile >> "CfgBuildingLoot" >> "Default" >> "zombieClass"); diff --git a/dayz_code/config.cpp b/dayz_code/config.cpp index 2549a0076..e6de4f5b1 100644 --- a/dayz_code/config.cpp +++ b/dayz_code/config.cpp @@ -33,7 +33,7 @@ class CfgMods hidePicture = 0; hideName = 0; action = "http://www.dayzmod.com"; - version = "1.7.4-D8"; + version = "1.7.4.3"; hiveVersion = 0.96; //0.93 }; }; diff --git a/dayz_code/init/compiles.sqf b/dayz_code/init/compiles.sqf index d3edd639a..0a7b1be4a 100644 --- a/dayz_code/init/compiles.sqf +++ b/dayz_code/init/compiles.sqf @@ -27,6 +27,7 @@ if (!isDedicated) then { building_monitor = compile preprocessFileLineNumbers "\z\addons\dayz_code\system\building_monitor.sqf"; player_fired = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_fired.sqf"; //Runs when player fires. Alerts nearby Zeds depending on calibre and audial rating player_packTent = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_packTent.sqf"; + player_packVault = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_packVault.sqf"; control_zombieAgent = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\control_zombieAgent.sqf"; player_updateGui = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_updateGui.sqf"; player_crossbowBolt = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_crossbowBolt.sqf"; @@ -68,6 +69,7 @@ if (!isDedicated) then { player_SplitBars = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_SplitBars.sqf"; player_reloadMag = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_reloadMags.sqf"; player_tentPitch = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\tent_pitch.sqf"; + player_vaultPitch = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\vault_pitch.sqf"; player_drink = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_drink.sqf"; player_eat = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_eat.sqf"; player_useMeds = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_useMeds.sqf"; diff --git a/dayz_code/init/publicEH.sqf b/dayz_code/init/publicEH.sqf index 6b10d85e3..535c1eec0 100644 --- a/dayz_code/init/publicEH.sqf +++ b/dayz_code/init/publicEH.sqf @@ -25,20 +25,20 @@ if (isServer) then { "dayzDeath" addPublicVariableEventHandler {_id = (_this select 1) spawn server_playerDied}; "dayzDiscoAdd" addPublicVariableEventHandler {dayz_disco set [count dayz_disco,(_this select 1)];}; "dayzDiscoRem" addPublicVariableEventHandler {dayz_disco = dayz_disco - [(_this select 1)];}; - "dayzPlayerSave" addPublicVariableEventHandler {_id = (_this select 1) spawn server_playerSync;}; + "dayzPlayerSave" addPublicVariableEventHandler {(_this select 1) call server_playerSync;}; "dayzPublishObj" addPublicVariableEventHandler {(_this select 1) call server_publishObj}; "dayzPublishVeh" addPublicVariableEventHandler {(_this select 1) call server_publishVeh}; // for vehicle traders // "dayzPublishBank" addPublicVariableEventHandler {(_this select 1) call server_publishBank}; "dayzTraderMenu" addPublicVariableEventHandler {(_this select 1) call server_traders}; // for all traders "dayzUpdateVehicle" addPublicVariableEventHandler {_id = (_this select 1) spawn server_updateObject}; "dayzDeleteObj" addPublicVariableEventHandler {_id = (_this select 1) spawn local_deleteObj}; - "dayzLogin" addPublicVariableEventHandler {_id = (_this select 1) spawn server_playerLogin}; + "dayzLogin" addPublicVariableEventHandler {(_this select 1) call server_playerLogin}; "dayzLogin2" addPublicVariableEventHandler {(_this select 1) call server_playerSetup}; "dayzPlayerMorph" addPublicVariableEventHandler {(_this select 1) call server_playerMorph}; "dayzUpdate" addPublicVariableEventHandler {_id = (_this select 1) spawn dayz_processUpdate}; "dayzLoginRecord" addPublicVariableEventHandler {_id = (_this select 1) spawn dayz_recordLogin}; - "dayzCharSave" addPublicVariableEventHandler {_id = (_this select 1) spawn server_playerSync}; - "dayzCharDisco" addPublicVariableEventHandler {_id = (_this select 1) spawn server_characterSync}; + "dayzCharSave" addPublicVariableEventHandler {(_this select 1) call server_playerSync}; + "dayzCharDisco" addPublicVariableEventHandler {(_this select 1) call server_characterSync}; }; //Client only diff --git a/dayz_code/init/variables.sqf b/dayz_code/init/variables.sqf index 51c5b787e..c81e5f1df 100644 --- a/dayz_code/init/variables.sqf +++ b/dayz_code/init/variables.sqf @@ -54,6 +54,7 @@ dayz_resetSelfActions = { s_player_fireout = -1; s_player_butcher = -1; s_player_packtent = -1; + s_player_packvault = -1; s_player_fillwater = -1; s_player_fillwater2 = -1; s_player_fillfuel = -1; @@ -226,10 +227,6 @@ if(!isDedicated) then { dayz_bodyMonitor = []; dayz_flyMonitor = []; //used for monitor flies - dayz_buildingMonitor = []; //Buildings to check - dayz_bodyMonitor = []; - dayz_flyMonitor = []; //used for monitor flies - dayz_baseTypes = getArray (configFile >> "CfgBuildingLoot" >> "Default" >> "zombieClass"); //temperature variables diff --git a/dayz_code/rscTitles.hpp b/dayz_code/rscTitles.hpp index 7ec78d5dc..4b3660f00 100644 --- a/dayz_code/rscTitles.hpp +++ b/dayz_code/rscTitles.hpp @@ -87,7 +87,7 @@ class RscDisplayMain : RscStandardDisplay class DAYZ_Version : CA_Version { idc = -1; - text = "DayZ 1.7.4-D8"; + text = "DayZ 1.7.4.2"; y = "(SafeZoneH + SafeZoneY) - (1 - 0.95)"; }; class CA_TitleMainMenu; diff --git a/dayz_code/system/player_monitor.fsm b/dayz_code/system/player_monitor.fsm index ebdb0dada..b297144e4 100644 --- a/dayz_code/system/player_monitor.fsm +++ b/dayz_code/system/player_monitor.fsm @@ -869,7 +869,7 @@ class FSM name = "Load_In"; init = /*%FSM*/"//Reveal action types" \n "" \n - "{player reveal _x} forEach (nearestObjects [getPosATL player, [""AllVehicles"",""WeaponHolder"",""TentStorage"",""BuiltItems""], 50]);" \n + "{player reveal _x} forEach (nearestObjects [getPosATL player, [""AllVehicles"",""WeaponHolder"",""TentStorage"",""VaultStorage"",""BuiltItems""], 50]);" \n "" \n "dayz_clientPreload = true;" \n "3 fadeSound 1;" \n diff --git a/dayz_equip/config.cpp b/dayz_equip/config.cpp index 2d49b22a7..ac14c6400 100644 --- a/dayz_equip/config.cpp +++ b/dayz_equip/config.cpp @@ -610,7 +610,7 @@ class cfgWeapons displayName = "Use"; canDrop = 0; muzzles[] = {"this"}; - magazines[] = {"FoodBioMeat","ItemZombieParts","ItemBandage","ItemHeatPack","PartWoodPile","PartFueltank","PartWheel","PartGeneric","PartEngine","PartVRotor","PartGlass","ItemWaterbottle","ItemWaterbottleUnfilled","ItemEpinephrine","ItemCocaineKilo","ItemGoldBar","ItemSilverBar","ItemCopperBar","ItemMorphine","ItemBloodbag","ItemAntibiotic","ItemPainkiller","ItemJerrycan","ItemOilBarrel","ItemGenerator","ItemTent","ItemSandbag","ItemTankTrap","ItemWire","FoodSteakRaw","TrashTinCan","ItemSodaCoke","ItemSodaPepsi","ItemSodaMdew","ItemSodaMdew","FoodEdible","FoodSteakCooked","FoodCanBakedBeans","FoodCanSardines","FoodCanFrankBeans","FoodCanPasta"}; + magazines[] = {"FoodBioMeat","ItemZombieParts","ItemBandage","ItemHeatPack","PartWoodPile","PartFueltank","PartWheel","PartGeneric","PartEngine","PartVRotor","PartGlass","ItemWaterbottle","ItemWaterbottleUnfilled","ItemEpinephrine","ItemGoldBar","ItemSilverBar","ItemCopperBar","ItemMorphine","ItemBloodbag","ItemAntibiotic","ItemPainkiller","ItemJerrycan","ItemOilBarrel","ItemGenerator","ItemTent","ItemSandbag","ItemTankTrap","ItemWire","FoodSteakRaw","TrashTinCan","ItemSodaCoke","ItemSodaPepsi","ItemSodaMdew","ItemSodaMdew","FoodEdible","FoodSteakCooked","FoodCanBakedBeans","FoodCanSardines","FoodCanFrankBeans","FoodCanPasta"}; modes[] = {"this"}; useAction = 0; useActionTitle = ""; @@ -1234,82 +1234,35 @@ class CfgMagazines picture = "\dayz_equip\textures\equip_soda_rbull_ca.paa"; descriptionShort = "$STR_EQUIP_NAME_37"; }; - class ItemCocaineKilo: CA_Magazine - { - scope = 2; - count = 1; - type = 256; - displayName = "Kilo of Cocaine"; - model = "\ibr_drugs\ibr_cocaine-wpn.p3d"; - picture = "\ibr_drugs\UI\gear_picture_coca_ca.paa"; - descriptionShort = "Cocaine"; - }; class ItemGoldBar: CA_Magazine { scope = 2; count = 1; type = 256; - displayName = "Gold Bar"; + displayName = "Gold"; model = "\dayz_equip\models\gold_bar.p3d"; picture = "\dayz_equip\textures\equip_bar_gold_CA.paa"; descriptionShort = "Gold Bar"; - class ItemActions - { - class SplitBar - { - text = "1 Gold to 6 Silver"; - script = "spawn player_SplitBars;"; - use[] = {"ItemGoldBar"}; - output[] = {"ItemSilverBar","ItemSilverBar","ItemSilverBar","ItemSilverBar","ItemSilverBar","ItemSilverBar"}; - }; - }; }; class ItemSilverBar: CA_Magazine { scope = 2; count = 1; type = 256; - displayName = "Silver Bar"; + displayName = "Silver"; model = "\dayz_equip\models\silver_bar.p3d"; picture = "\dayz_equip\textures\equip_bar_silver_CA.paa"; descriptionShort = "Silver Bar"; - class ItemActions - { - class ReloadMag - { - text = "6 Silver to 1 Gold"; - script = "spawn player_convertBars;"; - use[] = {"ItemSilverBar","ItemSilverBar","ItemSilverBar","ItemSilverBar","ItemSilverBar","ItemSilverBar"}; - output[] = {"ItemGoldBar"}; - }; - class SplitBar - { - text = "1 Silver to 6 Copper"; - script = "spawn player_SplitBars;"; - use[] = {"ItemSilverBar"}; - output[] = {"ItemCopperBar","ItemCopperBar","ItemCopperBar","ItemCopperBar","ItemCopperBar","ItemCopperBar"}; - }; - }; }; class ItemCopperBar: CA_Magazine { scope = 2; count = 1; type = 256; - displayName = "Copper Bar"; + displayName = "Copper"; model = "\dayz_equip\models\copper_bar.p3d"; picture = "\dayz_equip\textures\equip_bar_copper_CA.paa"; descriptionShort = "Copper Bar"; - class ItemActions - { - class ReloadMag - { - text = "6 Copper to 1 Silver"; - script = "spawn player_convertBars;"; - use[] = {"ItemCopperBar","ItemCopperBar","ItemCopperBar","ItemCopperBar","ItemCopperBar","ItemCopperBar"}; - output[] = {"ItemSilverBar"}; - }; - }; }; class ItemZombieParts: CA_Magazine { @@ -1454,6 +1407,25 @@ class CfgMagazines picture = "\dayz_equip\textures\equip_generator_ca.paa"; descriptionShort = "$STR_EQUIP_DESC_31"; }; + // Custom player vault + class ItemVault: CA_Magazine + { + scope = 2; + count = 1; + type = "(256 * 12)"; + displayName = "Vault"; + model = "\dayz_equip\models\safe1_onside.p3d"; + picture = "\dayz_equip\textures\equip_safe_ca.paa"; + descriptionShort = "Personal Vault"; + class ItemActions + { + class Pitch + { + text = "Place Vault"; + script = "spawn player_vaultPitch;"; + }; + }; + }; class ItemTent: CA_Magazine { scope = 2; @@ -1610,15 +1582,6 @@ class CfgMagazines }; class CfgVehicles { - class Strategic; - class Vault: Strategic - { - scope = 2; - model = "\dayz_equip\models\safe1.p3d"; - mapSize = 2; - displayName = "Vault"; - vehicleClass = "Survival"; - }; class NonStrategic; class BuiltItems: NonStrategic{}; class TrapItems: NonStrategic{}; @@ -1797,6 +1760,16 @@ class CfgVehicles init = "[(_this select 0),'cfgMagazines','ItemTent'] execVM '\z\addons\dayz_code\init\object_pickupAction.sqf';"; }; }; + class WeaponHolder_ItemVault: WeaponHolderBase + { + scope = 2; + displayName = "Vault"; + model = "\dayz_equip\models\safe1.p3d"; + class eventHandlers + { + init = "[(_this select 0),'cfgMagazines','ItemVault'] execVM '\z\addons\dayz_code\init\object_pickupAction.sqf';"; + }; + }; class WeaponHolder_ItemFlashlight: WeaponHolderBase { scope = 2; @@ -1940,6 +1913,18 @@ class CfgVehicles transportMaxWeapons = 10; transportMaxBackpacks = 5; }; + class VaultStorage: Land_A_tent + { + vehicleClass = "Survival"; + displayName = "Vault"; + model = "\dayz_equip\models\safe1.p3d"; + destrType = "DestructNo"; + armor = 5000; + transportMaxMagazines = 200; + transportMaxWeapons = 10; + transportMaxBackpacks = 5; + }; + class CardboardBox: ReammoBox { accuracy = 1000; diff --git a/dayz_equip/models/banko.p3d b/dayz_equip/models/banko.p3d deleted file mode 100644 index b0bfbcb70..000000000 Binary files a/dayz_equip/models/banko.p3d and /dev/null differ diff --git a/dayz_equip/models/banko1.p3d b/dayz_equip/models/banko1.p3d deleted file mode 100644 index 111778b13..000000000 Binary files a/dayz_equip/models/banko1.p3d and /dev/null differ diff --git a/dayz_equip/models/safe1.p3d b/dayz_equip/models/safe1.p3d index 2c401bbeb..efc29df31 100644 Binary files a/dayz_equip/models/safe1.p3d and b/dayz_equip/models/safe1.p3d differ diff --git a/dayz_equip/models/safe1_onside.p3d b/dayz_equip/models/safe1_onside.p3d new file mode 100644 index 000000000..337160de0 Binary files /dev/null and b/dayz_equip/models/safe1_onside.p3d differ diff --git a/dayz_equip/textures/equip_safe_CA.paa b/dayz_equip/textures/equip_safe_CA.paa new file mode 100644 index 000000000..9dda3d704 Binary files /dev/null and b/dayz_equip/textures/equip_safe_CA.paa differ diff --git a/dayz_equip/textures/parts_bag_texture3c.paa b/dayz_equip/textures/parts_bag_texture3c.paa index 7ccf81528..5f25726d4 100644 Binary files a/dayz_equip/textures/parts_bag_texture3c.paa and b/dayz_equip/textures/parts_bag_texture3c.paa differ diff --git a/dayz_equip/textures/parts_bag_texture3c_AS.paa b/dayz_equip/textures/parts_bag_texture3c_AS.paa index 0048b030f..e6ee417e2 100644 Binary files a/dayz_equip/textures/parts_bag_texture3c_AS.paa and b/dayz_equip/textures/parts_bag_texture3c_AS.paa differ diff --git a/dayz_equip/textures/parts_bag_texture3c_CA.paa b/dayz_equip/textures/parts_bag_texture3c_CA.paa index ae75f86e8..61e1c3528 100644 Binary files a/dayz_equip/textures/parts_bag_texture3c_CA.paa and b/dayz_equip/textures/parts_bag_texture3c_CA.paa differ diff --git a/dayz_equip/textures/parts_bag_texture3c_NOHQ.paa b/dayz_equip/textures/parts_bag_texture3c_NOHQ.paa index 2659d4544..0ba47cd8e 100644 Binary files a/dayz_equip/textures/parts_bag_texture3c_NOHQ.paa and b/dayz_equip/textures/parts_bag_texture3c_NOHQ.paa differ diff --git a/dayz_equip/textures/parts_bag_texture3c_SMDI.paa b/dayz_equip/textures/parts_bag_texture3c_SMDI.paa index 0c65b03c8..076650873 100644 Binary files a/dayz_equip/textures/parts_bag_texture3c_SMDI.paa and b/dayz_equip/textures/parts_bag_texture3c_SMDI.paa differ diff --git a/dayz_equip/textures/safe1.paa b/dayz_equip/textures/safe1.paa index 142ba7881..94f0dd304 100644 Binary files a/dayz_equip/textures/safe1.paa and b/dayz_equip/textures/safe1.paa differ diff --git a/dayz_equip/textures/safe1_AS.paa b/dayz_equip/textures/safe1_AS.paa index 336c8c793..4cd28e5a6 100644 Binary files a/dayz_equip/textures/safe1_AS.paa and b/dayz_equip/textures/safe1_AS.paa differ diff --git a/dayz_equip/textures/safe1_NOHQ.paa b/dayz_equip/textures/safe1_NOHQ.paa index fefc81fb0..0f2b6ffbf 100644 Binary files a/dayz_equip/textures/safe1_NOHQ.paa and b/dayz_equip/textures/safe1_NOHQ.paa differ diff --git a/dayz_equip/textures/safe1_SMDI.paa b/dayz_equip/textures/safe1_SMDI.paa index e234914cb..258389a74 100644 Binary files a/dayz_equip/textures/safe1_SMDI.paa and b/dayz_equip/textures/safe1_SMDI.paa differ diff --git a/dayz_server/compile/server_onPlayerDisconnect.sqf b/dayz_server/compile/server_onPlayerDisconnect.sqf index 8fd64b054..aa600b108 100644 --- a/dayz_server/compile/server_onPlayerDisconnect.sqf +++ b/dayz_server/compile/server_onPlayerDisconnect.sqf @@ -11,24 +11,28 @@ _timeout = _object getVariable["combattimeout",0]; _playerIDtoarray = []; _playerIDtoarray = toArray _playerID; -if (59 in _playerIDtoarray) exitWith {}; - -if ((_timeout - time) > 0) then { - diag_log("DEBUG: COMBAT LOG TIMER: " + str(_timeout)); - _playerName call player_combatLogged; -}; - if (vehicle _object != _object) then { _object action ["eject", vehicle _object]; }; +if (59 in _playerIDtoarray) exitWith { diag_log ("Exited"); }; + +if ((_timeout - time) > 0) then { + //_playerName call player_combatLogged; + private["_playerName","_center","_group"]; + _playerName = name player; + _timeout = _object getVariable["combattimeout",0]; + + diag_log format["COMBAT LOGGED: %1 (%2)", _playerName,_timeout]; +}; + diag_log format["DISCONNECT: %1 (%2) Object: %3, _characterID: %4", _playerName,_playerID,_object,_characterID]; dayz_disco = dayz_disco - [_playerID]; if (!isNull _object) then { //Update Vehicle { [_x,"gear"] call server_updateObject } foreach - (nearestObjects [getPosATL _object, ["Car", "Helicopter", "Motorcycle", "Ship", "TentStorage"], 10]); + (nearestObjects [getPosATL _object, ["Car", "Helicopter", "Motorcycle", "Ship", "TentStorage", "VaultStorage"], 10]); if (alive _object) then { [_object,[],true] call server_playerSync; _id = [_playerID,_characterID,2] spawn dayz_recordLogin; diff --git a/dayz_server/compile/server_playerDied.sqf b/dayz_server/compile/server_playerDied.sqf index 88b786fea..df118ec31 100644 --- a/dayz_server/compile/server_playerDied.sqf +++ b/dayz_server/compile/server_playerDied.sqf @@ -16,20 +16,19 @@ diag_log ("DW_DEBUG: _newObject: " + str(_newObject)); }; */ -_characterID = parseNumber _characterID; -_minutes = parseNumber "_minutes"; - -if !(isnil "_characterID") then { +if (typeName _minutes == "STRING") then +{ + _minutes = parseNumber _minutes; +}; -if (_characterID != 0) then { +if (_characterID != "0") then +{ _key = format["CHILD:202:%1:%2:",_characterID,_minutes]; //diag_log ("HIVE: WRITE: "+ str(_key)); _key call server_hiveWrite; -} else { - deleteVehicle _newObject; -}; - -} else { +} +else +{ deleteVehicle _newObject; }; diff --git a/dayz_server/compile/server_playerLogin.sqf b/dayz_server/compile/server_playerLogin.sqf index 3f76e2f21..05e12cef7 100644 --- a/dayz_server/compile/server_playerLogin.sqf +++ b/dayz_server/compile/server_playerLogin.sqf @@ -12,7 +12,7 @@ if (count _this > 2) then { dayz_players = dayz_players - [_this select 2]; }; -waitUntil{allowConnection}; +//waitUntil{allowConnection}; //Variables _inventory = []; diff --git a/dayz_server/compile/server_playerSync.sqf b/dayz_server/compile/server_playerSync.sqf index 2e0e2928f..5bc26fc05 100644 --- a/dayz_server/compile/server_playerSync.sqf +++ b/dayz_server/compile/server_playerSync.sqf @@ -202,7 +202,7 @@ if (_characterID != "0") then { _pos = _this select 0; { [_x, "gear"] call server_updateObject; - } forEach nearestObjects [_pos, ["Car", "Helicopter", "Motorcycle", "Ship", "TentStorage"], 10]; + } forEach nearestObjects [_pos, ["Car", "Helicopter", "Motorcycle", "Ship", "TentStorage", "VaultStorage"], 10]; //[_charPos] call server_updateNearbyObjects; //Reset timer diff --git a/dayz_server/compile/server_updateNearbyObjects.sqf b/dayz_server/compile/server_updateNearbyObjects.sqf index 3cac4bef4..6a00dbbd4 100644 --- a/dayz_server/compile/server_updateNearbyObjects.sqf +++ b/dayz_server/compile/server_updateNearbyObjects.sqf @@ -3,4 +3,4 @@ _pos = _this select 0; { [_x, "gear"] call server_updateObject; -} forEach nearestObjects [_pos, ["Car", "Helicopter", "Motorcycle", "Ship", "TentStorage"], 10]; +} forEach nearestObjects [_pos, ["Car", "Helicopter", "Motorcycle", "Ship", "TentStorage", "VaultStorage"], 10]; diff --git a/dayz_server/compile/server_updateObject.sqf b/dayz_server/compile/server_updateObject.sqf index 263f96bf6..bb5bc1bfd 100644 --- a/dayz_server/compile/server_updateObject.sqf +++ b/dayz_server/compile/server_updateObject.sqf @@ -1,14 +1,37 @@ /* [_object,_type] spawn server_updateObject; */ -private["_object","_type","_objectID","_uid","_lastUpdate","_needUpdate"]; +private ["_object","_type","_objectID","_uid","_lastUpdate","_needUpdate","_object_position","_object_inventory","_object_damage","_isNotOk"]; _object = _this select 0; _type = _this select 1; +_parachuteWest = typeOf _object == "ParachuteWest"; +_isNotOk = false; _objectID = _object getVariable ["ObjectID","0"]; _uid = _object getVariable ["ObjectUID","0"]; -if (_objectID == "0" && _uid == "0") then { _uid = _object call dayz_objectUID; }; //seems never been call + +if ((typeName _objectID != "string") || (typeName _uid != "string")) then +{ + diag_log(format["Non-string Object: ID %1 UID %2", _objectID, _uid]); + //force fail + _objectID = "0"; + _uid = "0"; +}; +if (!_parachuteWest) then { + if (_objectID == "0" && _uid == "0") then + { + _object_position = getPosATL _object; + diag_log(format["Deleting object %1 with invalid ID at pos [%2,%3,%4]", + typeOf _object, + _object_position select 0, + _object_position select 1, + _object_position select 2]); + _isNotOk = true; + }; +}; + +if (_isNotOk) exitWith { deleteVehicle _object; }; _lastUpdate = _object getVariable ["lastUpdate",time]; _needUpdate = _object in needUpdate_objects; diff --git a/dayz_server/compile/zombie_findOwner.sqf b/dayz_server/compile/zombie_findOwner.sqf index 3c9c0df66..b0fb37300 100644 --- a/dayz_server/compile/zombie_findOwner.sqf +++ b/dayz_server/compile/zombie_findOwner.sqf @@ -1,46 +1,5 @@ -private["_unit","_potential","_newOwner","_client"]; +private["_unit"]; _unit = _this select 0; diag_log ("CLEANUP: DELETE UNCONTROLLED ZOMBIE: " + (typeOf _unit) + " OF: " + str(_unit) ); -deleteVehicle _unit; - -/* - -//Not server then exit -if(!isServer) exitWith { - diag_log ("DW_DEBUG: #findOwner exits as not server: " + str(isServer)); - }; -//Not local then exit -if(!local _unit) exitWith { - diag_log ("DW_DEBUG: #findOwner exits _unit not local: " + str(local _unit)); - }; - -//Find a new owner -_potential = (getposATL _unit) nearEntities [["CAManBase"],300]; -_newOwner = objNull; -{ - if (isPlayer _x) then { - _newOwner = _x; - }; - if (!isNull _newOwner) exitWith { - //diag_log ("DW_DEBUG: #findOwner potencial _newOwner: " + str(_newOwner)); - }; -} forEach _potential; - -//If no nearby player, delete the agent - -//diag_log ("DW_DEBUG: #findOwner isNull _newOwner: " + str(isNull _newOwner)); - -if(isNull _newOwner) exitWith { - diag_log ("CLEANUP: NOTHING TO TRANSFER OWNERSHIP OF TYPE: " + (typeOf _unit) + " OF: " + str(_unit) ); - deleteVehicle _unit; -}; - -//set client as controller -_client = owner _newOwner; - -_unit setOwner _client; - -diag_log ("CLEANUP: TRANSFERRED OWNERSHIP OF TYPE: " + (typeOf _unit) + " OF _unit: " + str(_unit) + " TO _client: " + str(_client) ); - -*/ \ No newline at end of file +deleteVehicle _unit; \ No newline at end of file diff --git a/dayz_server/init/server_functions.sqf b/dayz_server/init/server_functions.sqf index 39e67ed02..a7cc17e78 100644 --- a/dayz_server/init/server_functions.sqf +++ b/dayz_server/init/server_functions.sqf @@ -5,11 +5,8 @@ object_spawnDamVehicle = compile preprocessFileLineNumbers "\z\addons\dayz_code\ server_playerLogin = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_playerLogin.sqf"; server_playerSetup = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_playerSetup.sqf"; server_onPlayerDisconnect = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_onPlayerDisconnect.sqf"; -server_routinePlayerCheck = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_routinePlayerCheck.sqf"; server_updateObject = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_updateObject.sqf"; server_playerDied = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_playerDied.sqf"; -server_updatePlayer = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_updatePlayer.sqf"; -server_playerStat = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_playerStat.sqf"; server_publishObj = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_publishObject.sqf"; server_publishVeh = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_publishVehicle.sqf"; // Custom to add vehicles server_publishBank = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_publishBank.sqf"; @@ -18,7 +15,6 @@ local_publishObj = compile preprocessFileLineNumbers "\z\addons\dayz_code\com local_deleteObj = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\local_deleteObj.sqf"; //Creates the object in DB local_createObj = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\local_createObj.sqf"; //Creates the object in DB server_playerSync = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_playerSync.sqf"; -//zombie_initialize = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\zombie_initialize.sqf"; zombie_findOwner = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\zombie_findOwner.sqf"; server_updateNearbyObjects = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_updateNearbyObjects.sqf"; @@ -29,8 +25,13 @@ vehicle_handleInteract = { [_object, "all"] call server_updateObject; }; +player_combatLogged = { + +}; + //event Handlers eh_localCleanup = { + private ["_object"]; _object = _this select 0; _object addEventHandler ["local", { if(_this select 1) then { @@ -44,7 +45,7 @@ eh_localCleanup = { }; server_characterSync = { - //dayzCharDisco = [_characterID,_playerPos,[_weapons,_magazines],[typeOf _backpack,getWeaponCargo _backpack,getMagazineCargo _backpack],_medical,_currentState,_currentModel]; + private ["_characterID","_playerPos","_playerGear","_playerBackp","_medical","_currentState","_currentModel","_key"]; _characterID = _this select 0; _playerPos = _this select 1; _playerGear = _this select 2; @@ -65,7 +66,7 @@ fnc_buildWeightedArray = compile preprocessFileLineNumbers "\z\addons\dayz_code onPlayerDisconnected "[_uid,_name] call server_onPlayerDisconnect;"; server_hiveWrite = { - private["_resultArray","_data"]; + private["_data"]; //diag_log ("ATTEMPT WRITE: " + _this); _data = "HiveEXT" callExtension _this; diag_log ("WRITE: " + _data); @@ -234,6 +235,10 @@ spawn_vehicles = { clearWeaponCargoGlobal _veh; clearMagazineCargoGlobal _veh; + + _veh setVehicleInit "this lock true; this lockCargo true;"; + processInitCommands; + [_veh,[_dir,_objPosition],_vehicle,true,"0"] call server_publishVeh; }; diff --git a/dayz_server/system/server_cleanup.fsm b/dayz_server/system/server_cleanup.fsm index 6b0f01682..f98660790 100644 --- a/dayz_server/system/server_cleanup.fsm +++ b/dayz_server/system/server_cleanup.fsm @@ -190,7 +190,7 @@ class FSM " if (_isOk>-1) then {" \n " diag_log (""DW_DEBUG _isOK: "" + str(_isOK) );" \n " };" \n - " if ((_isOk>-1) AND (isOK<1)) then {" \n + " if ((_isOk>-1) AND (_isOK<1)) then {" \n " //diag_log (""CLEANUP: DELETING A SOUND OF FLIES"");" \n "_dwUSOFC=_dwUSOFC+1;" \n " deleteVehicle _x;" \n diff --git a/dayz_server/system/server_monitor.sqf b/dayz_server/system/server_monitor.sqf index 035af59fc..e3eca8136 100644 --- a/dayz_server/system/server_monitor.sqf +++ b/dayz_server/system/server_monitor.sqf @@ -90,6 +90,10 @@ diag_log "HIVE: Starting"; _pos set [2,0]; _object setpos _pos; }; + if (_object isKindOf "VaultStorage") then { + _pos set [2,0]; + _object setpos _pos; + }; _object setdir _dir; _object setDamage _damage; @@ -141,6 +145,10 @@ diag_log "HIVE: Starting"; }; if (_object isKindOf "AllVehicles") then { + if(_ownerID != 0) then { + _object setVehicleInit "this lock true; this lockCargo true;"; + processInitCommands; + }; { _selection = _x select 0; _dam = _x select 1; @@ -228,4 +236,6 @@ for "_x" from 1 to MaxHeliCrashes do { }; // Allow connection after road debris spawns + + allowConnection = true;