From cde35c43dc3504420741cd962ee9fa2c283b63bd Mon Sep 17 00:00:00 2001 From: "[VB]AWOL" Date: Wed, 30 Oct 2013 13:06:18 -0500 Subject: [PATCH] 1.0.2.51 dev --- SQF/dayz_anim/config.cpp | 2 +- SQF/dayz_code/Configs/CfgMagazines.hpp | 61 +++ .../CfgVehicles/LAND/Offroad_DSHKM.hpp | 26 +- .../Configs/CfgVehicles/LAND/Volha.hpp | 502 ++++++++++++++++++ SQF/dayz_code/Configs/CfgVehicles/Players.hpp | 120 +++++ SQF/dayz_code/Configs/cfgVehicles.hpp | 36 +- SQF/dayz_code/Configs/rscTitles.hpp | 2 +- SQF/dayz_code/actions/player_build.sqf | 59 +- SQF/dayz_code/compile/player_spawnCheck.sqf | 2 +- SQF/dayz_code/compile/player_updateGui.sqf | 3 +- SQF/dayz_code/config.cpp | 44 +- SQF/dayz_code/init/compiles.sqf | 2 +- SQF/dayz_code/init/variables.sqf | 2 +- SQF/dayz_code/system/player_monitor.fsm | 4 +- SQF/dayz_epoch/config.cpp | 2 +- SQF/dayz_epoch_b/config.cpp | 2 +- SQF/dayz_server/compile/server_playerSync.sqf | 4 +- SQF/dayz_server/init/server_functions.sqf | 17 + SQF/dayz_sfx/config.cpp | 2 +- Server Files/mysql/epoch.sql | 2 +- 20 files changed, 830 insertions(+), 64 deletions(-) create mode 100644 SQF/dayz_code/Configs/CfgVehicles/LAND/Volha.hpp create mode 100644 SQF/dayz_code/Configs/CfgVehicles/Players.hpp diff --git a/SQF/dayz_anim/config.cpp b/SQF/dayz_anim/config.cpp index 446c7d5e7..2445315be 100644 --- a/SQF/dayz_anim/config.cpp +++ b/SQF/dayz_anim/config.cpp @@ -11,7 +11,7 @@ class CfgPatches { 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"}; - dayzVersion = "1.0.2.5"; + dayzVersion = "1.0.2.6"; }; }; diff --git a/SQF/dayz_code/Configs/CfgMagazines.hpp b/SQF/dayz_code/Configs/CfgMagazines.hpp index ce11bf106..ee5eafb20 100644 --- a/SQF/dayz_code/Configs/CfgMagazines.hpp +++ b/SQF/dayz_code/Configs/CfgMagazines.hpp @@ -3563,6 +3563,67 @@ class CfgMagazines { displayName = "Team Leader"; descriptionShort = "Team Leader"; }; + // new + + + + + + class Skin_TK_Special_Forces_MG_EP1_DZ: SkinBase + { + scope = 2; + displayName = "Smuggler"; + descriptionShort = "Smuggler"; + }; + class Skin_TK_Soldier_Sniper_EP1_DZ: SkinBase + { + scope = 2; + displayName = "Desert Sniper"; + descriptionShort = "Desert Sniper"; + }; + class Skin_TK_Commander_EP1_DZ: SkinBase + { + scope = 2; + displayName = "General"; + descriptionShort = "General"; + }; + class Skin_RU_Soldier_Crew_DZ: SkinBase + { + scope = 2; + displayName = "Crewman"; + descriptionShort = "Crewman"; + }; + class Skin_Ins_Lopotev_DZ: SkinBase + { + scope = 2; + displayName = "Boss"; + descriptionShort = "Team Leader"; + }; + class Skin_Ins_Soldier_AR_DZ: SkinBase + { + scope = 2; + displayName = "Cooper"; + descriptionShort = "Cooper"; + }; + class Skin_Ins_Soldier_CO_DZ: SkinBase + { + scope = 2; + displayName = "Travis"; + descriptionShort = "Travis"; + }; + class Skin_Ins_Bardak_DZ: SkinBase + { + scope = 2; + displayName = "Paulo"; + descriptionShort = "Paulo"; + }; + class Skin_Ins_Worker2_DZ: SkinBase + { + scope = 2; + displayName = "Steve"; + descriptionShort = "Steve"; + }; + // class ItemTent; diff --git a/SQF/dayz_code/Configs/CfgVehicles/LAND/Offroad_DSHKM.hpp b/SQF/dayz_code/Configs/CfgVehicles/LAND/Offroad_DSHKM.hpp index 9e64ddebc..83a8a96a7 100644 --- a/SQF/dayz_code/Configs/CfgVehicles/LAND/Offroad_DSHKM.hpp +++ b/SQF/dayz_code/Configs/CfgVehicles/LAND/Offroad_DSHKM.hpp @@ -333,4 +333,28 @@ class Offroad_DSHKM_Gue_DZE: Offroad_DSHKM_base gunnerCompartments = "Compartment2"; }; }; -}; \ No newline at end of file +}; + +// Performance 1 +class Offroad_DSHKM_Gue_DZE1: Offroad_DSHKM_Gue_DZE +{ + maxspeed = 170; // Offroad_DSHKM_base 150 | car 100 +}; +// Armmor 2 +class Offroad_DSHKM_Gue_DZE2: Offroad_DSHKM_Gue_DZE1 +{ + armor = 50; // car 20 +}; +// Cargo 3 +class Offroad_DSHKM_Gue_DZE3: Offroad_DSHKM_Gue_DZE2 +{ + transportMaxWeapons = 20; // car 10 + transportMaxMagazines = 100; // car 50 + transportmaxbackpacks = 4; // car 2 +}; +// Fuel 4 +class Offroad_DSHKM_Gue_DZE4: Offroad_DSHKM_Gue_DZE3 +{ + fuelCapacity = 210; // car 100 +}; + diff --git a/SQF/dayz_code/Configs/CfgVehicles/LAND/Volha.hpp b/SQF/dayz_code/Configs/CfgVehicles/LAND/Volha.hpp new file mode 100644 index 000000000..58231104a --- /dev/null +++ b/SQF/dayz_code/Configs/CfgVehicles/LAND/Volha.hpp @@ -0,0 +1,502 @@ +class Volha_TK_CIV_Base_EP1: Car +{ + brakeDistance = 12; + htMin = 60; + htMax = 1800; + afMax = 200; + mfMax = 100; + mFact = 0; + tBody = 0; + scope = 0; + expansion = 1; + model = "\ca\wheeled_E\Volha\Volha"; + side = 3; + displayname = "GAZ"; + Icon = "\CA\wheeled_e\Data\UI\Icon_volha_CA.paa"; + Picture = "\CA\wheeled_e\Data\UI\Picture_volha_CA.paa"; + faction = "BIS_TK_CIV"; + crew = "TK_CIV_Takistani01_EP1"; + typicalCargo[] = {"TK_CIV_Takistani01_EP1","TK_CIV_Takistani01_EP1"}; + maxSpeed = 150; + terrainCoef = 5; + turnCoef = 2; + armor = 20; + damageResistance = 0.01413; + transportSoldier = 3; + weapons[] = {"SportCarHorn"}; + magazines[] = {}; + driverAction = "Volha_Driver_EP1"; + cargoAction[] = {"Volha_Cargo_EP1","Volha_Cargo02_EP1","Volha_Cargo01_EP1"}; + cargoIsCoDriver[] = {1,0}; + class Damage + { + tex[] = {}; + mat[] = {"Ca\wheeled_E\Volha\Data\Volha_ECIV.rvmat","Ca\wheeled_E\Volha\Data\Volha_ECIV_damage.rvmat","Ca\wheeled_E\Volha\Data\Volha_ECIV_destruct.rvmat","Ca\wheeled_E\Volha\Data\Volha_Glass_ECIV.rvmat","Ca\wheeled_E\Volha\Data\Volha_Glass_ECIV_damage.rvmat","Ca\wheeled_E\Volha\Data\Volha_Glass_ECIV_destruct.rvmat","Ca\wheeled_E\Volha\Data\Volha_Chrome_ECIV.rvmat","Ca\wheeled_E\Volha\Data\Volha_Chrome_ECIV_damage.rvmat","Ca\wheeled_E\Volha\Data\Volha_Chrome_ECIV_destruct.rvmat","Ca\Ca_E\data\default.rvmat","Ca\Ca_E\data\default.rvmat","Ca\Ca_E\data\default_destruct.rvmat"}; + }; + class HitPoints: HitPoints + { + class HitLFWheel: HitLFWheel + { + armor = 0.15; + }; + class HitLBWheel: HitLBWheel + { + armor = 0.15; + }; + class HitRFWheel: HitRFWheel + { + armor = 0.15; + }; + class HitRBWheel: HitRBWheel + { + armor = 0.15; + }; + class HitFuel + { + armor = 0.14; + material = -1; + name = "palivo"; + visual = ""; + passThrough = 1; + }; + class HitEngine + { + armor = 0.5; + material = -1; + name = "motor"; + visual = ""; + passThrough = 1; + }; + class HitGlass1: HitGlass1 + { + armor = 0.05; + }; + class HitGlass2: HitGlass2 + { + armor = 0.05; + }; + class HitGlass3: HitGlass3 + { + armor = 0.05; + }; + class HitGlass4: HitGlass4 + { + armor = 0.05; + }; + }; + outsideSoundFilter = 1; + insideSoundCoef = 0.8; + soundGear[] = {"",5.62341e-005,1}; + soundGetIn[] = {"\ca\Sounds_E\Wheeled_E\lada\lada_door",1,1}; + soundGetOut[] = {"\ca\Sounds_E\Wheeled_E\lada\lada_door",1,1,30}; + soundEngineOnInt[] = {"\ca\Sounds_E\Wheeled_E\lada\lada_int_start",1,1}; + soundEngineOnExt[] = {"\ca\Sounds_E\Wheeled_E\lada\lada_ext_start",1,1,100}; + soundEngineOffInt[] = {"\ca\Sounds_E\Wheeled_E\lada\lada_int_stop",1,1}; + soundEngineOffExt[] = {"\ca\Sounds_E\Wheeled_E\lada\lada_ext_stop",1,1,100}; + buildCrash0[] = {"Ca\sounds\Vehicles\Crash\tank_building_01",0.707946,1,150}; + buildCrash1[] = {"Ca\sounds\Vehicles\Crash\tank_building_02",0.707946,1,150}; + buildCrash2[] = {"Ca\sounds\Vehicles\Crash\tank_building_03",0.707946,1,150}; + buildCrash3[] = {"Ca\sounds\Vehicles\Crash\tank_building_04",0.707946,1,150}; + soundBuildingCrash[] = {"buildCrash0",0.25,"buildCrash1",0.25,"buildCrash2",0.25,"buildCrash3",0.25}; + WoodCrash0[] = {"Ca\sounds\Vehicles\Crash\tank_wood_01",0.707946,1,150}; + WoodCrash1[] = {"Ca\sounds\Vehicles\Crash\tank_wood_02",0.707946,1,150}; + WoodCrash2[] = {"Ca\sounds\Vehicles\Crash\tank_wood_03",0.707946,1,150}; + WoodCrash3[] = {"Ca\sounds\Vehicles\Crash\tank_wood_04",0.707946,1,150}; + soundWoodCrash[] = {"woodCrash0",0.25,"woodCrash1",0.25,"woodCrash2",0.25,"woodCrash3",0.25}; + ArmorCrash0[] = {"Ca\sounds\Vehicles\Crash\tank_vehicle_01",0.707946,1,150}; + ArmorCrash1[] = {"Ca\sounds\Vehicles\Crash\tank_vehicle_02",0.707946,1,150}; + ArmorCrash2[] = {"Ca\sounds\Vehicles\Crash\tank_vehicle_03",0.707946,1,150}; + ArmorCrash3[] = {"Ca\sounds\Vehicles\Crash\tank_vehicle_04",0.707946,1,150}; + soundArmorCrash[] = {"ArmorCrash0",0.25,"ArmorCrash1",0.25,"ArmorCrash2",0.25,"ArmorCrash3",0.25}; + class SoundEvents + { + class AccelerationIn + { + sound[] = {"\ca\Sounds_E\Wheeled_E\lada\lada_int_acceleration",0.562341,1}; + limit = "0.15"; + expression = "engineOn*(1-camPos)*2*gmeterZ*((speed factor[1.5, 5]) min (speed factor[5, 1.5]))"; + }; + class AccelerationOut + { + sound[] = {"\ca\Sounds_E\Wheeled_E\lada\lada_ext_acceleration",0.562341,1,300}; + limit = "0.15"; + expression = "engineOn*camPos*2*gmeterZ*((speed factor[1.5, 5]) min (speed factor[5, 1.5]))"; + }; + }; + class Sounds + { + class Engine + { + sound[] = {"\ca\Sounds_E\Wheeled_E\lada\lada_ext_low",1.41254,0.6,200}; + frequency = "(randomizer*0.05+0.95)*rpm"; + volume = "camPos*engineOn*((rpm factor[0.3, 0.4]) min (rpm factor[0.7, 0.5]))"; + }; + class EngineHighOut + { + sound[] = {"\ca\Sounds_E\Wheeled_E\lada\lada_ext_mid",1.41254,0.6,300}; + frequency = "(randomizer*0.05+0.95)*rpm"; + volume = "camPos*engineOn*(rpm factor[0.5, 0.8])"; + }; + class IdleOut + { + sound[] = {"\ca\Sounds_E\Wheeled_E\lada\lada_ext_idle",0.562341,1,100}; + frequency = "1"; + volume = "engineOn*camPos*(rpm factor[0.4, 0])"; + }; + class TiresRockOut + { + sound[] = {"\ca\SOUNDS\Vehicles\Wheeled\Tires\ext\ext-tires-rock2",0.1,1,50}; + frequency = "1"; + volume = "camPos*rock*(speed factor[2, 20])"; + }; + class TiresSandOut + { + sound[] = {"\ca\SOUNDS\Vehicles\Wheeled\Tires\ext\ext-tires-sand2",0.1,1,50}; + frequency = "1"; + volume = "camPos*sand*(speed factor[2, 20])"; + }; + class TiresGrassOut + { + sound[] = {"\ca\SOUNDS\Vehicles\Wheeled\Tires\ext\ext-tires-grass3",0.1,1,50}; + frequency = "1"; + volume = "camPos*grass*(speed factor[2, 20])"; + }; + class TiresMudOut + { + sound[] = {"\ca\SOUNDS\Vehicles\Wheeled\Tires\ext\ext-tires-mud2",0.1,1,50}; + frequency = "1"; + volume = "camPos*mud*(speed factor[2, 20])"; + }; + class TiresGravelOut + { + sound[] = {"\ca\SOUNDS\Vehicles\Wheeled\Tires\ext\ext-tires-gravel2",0.1,1,50}; + frequency = "1"; + volume = "camPos*gravel*(speed factor[2, 20])"; + }; + class TiresAsphaltOut + { + sound[] = {"\ca\SOUNDS\Vehicles\Wheeled\Tires\ext\ext-tires-asphalt3",0.1,1,50}; + frequency = "1"; + volume = "camPos*asphalt*(speed factor[2, 20])"; + }; + class NoiseOut + { + sound[] = {"\ca\SOUNDS\Vehicles\Wheeled\Noises\ext\noise3",0.562341,1,50}; + frequency = "1"; + volume = "camPos*(damper0 max 0.04)*(speed factor[0, 8])"; + }; + class EngineLowIn + { + sound[] = {"\ca\Sounds_E\Wheeled_E\lada\lada_int_low",1.41254,0.6}; + frequency = "(randomizer*0.05+0.95)*rpm"; + volume = "(1-camPos)*engineOn*((rpm factor[0.3, 0.4]) min (rpm factor[0.7, 0.5]))"; + }; + class EngineHighIn + { + sound[] = {"\ca\Sounds_E\Wheeled_E\lada\lada_int_mid",1.41254,0.6}; + frequency = "(randomizer*0.05+0.95)*rpm"; + volume = "(1-camPos)*engineOn*(rpm factor[0.5, 0.8])"; + }; + class IdleIn + { + sound[] = {"\ca\Sounds_E\Wheeled_E\lada\lada_int_idle",0.794328,1}; + frequency = "1"; + volume = "engineOn*(rpm factor[0.4, 0])*(1-camPos)"; + }; + class TiresRockIn + { + sound[] = {"\ca\SOUNDS\Vehicles\Wheeled\Tires\int\int-tires-rock2",0.1,1}; + frequency = "1"; + volume = "(1-camPos)*rock*(speed factor[2, 20])"; + }; + class TiresSandIn + { + sound[] = {"\ca\SOUNDS\Vehicles\Wheeled\Tires\int\int-tires-sand2",0.1,1}; + frequency = "1"; + volume = "(1-camPos)*sand*(speed factor[2, 20])"; + }; + class TiresGrassIn + { + sound[] = {"\ca\SOUNDS\Vehicles\Wheeled\Tires\int\int-tires-grass3",0.1,1}; + frequency = "1"; + volume = "(1-camPos)*grass*(speed factor[2, 20])"; + }; + class TiresMudIn + { + sound[] = {"\ca\SOUNDS\Vehicles\Wheeled\Tires\int\int-tires-mud2",0.1,1}; + frequency = "1"; + volume = "(1-camPos)*mud*(speed factor[2, 20])"; + }; + class TiresGravelIn + { + sound[] = {"\ca\SOUNDS\Vehicles\Wheeled\Tires\int\int-tires-gravel2",0.1,1}; + frequency = "1"; + volume = "(1-camPos)*gravel*(speed factor[2, 20])"; + }; + class TiresAsphaltIn + { + sound[] = {"\ca\SOUNDS\Vehicles\Wheeled\Tires\int\int-tires-asphalt3",0.1,1}; + frequency = "1"; + volume = "(1-camPos)*asphalt*(speed factor[2, 20])"; + }; + class NoiseIn + { + sound[] = {"\ca\SOUNDS\Vehicles\Wheeled\Noises\int\noise4",0.316228,1}; + frequency = "1"; + volume = "(damper0 max 0.04)*(speed factor[0, 8])*(1-camPos)"; + }; + class Movement + { + sound = "soundEnviron"; + frequency = "1"; + volume = "0"; + }; + }; + class Library + { + libTextDesc = "The Vloha GAZ-24 is a Russia automobile produced since 1968 to 1977. It is still famous for fantastic roadworthiness and durability. Many of this cars have more that 1.000.000 km on their odometer while still functional."; + }; + class Turrets + { + }; +}; +class Volha_1_TK_CIV_EP1: Volha_TK_CIV_Base_EP1 +{ + scope = 2; + accuracy = 1000; + displayname = "GAZ (blue)"; +}; +class Volha_2_TK_CIV_EP1: Volha_TK_CIV_Base_EP1 +{ + scope = 2; + accuracy = 1000; + displayname = "GAZ (grey)"; + hiddenSelections[] = {"Camo1"}; + hiddenSelectionsTextures[] = {"ca\wheeled_E\Volha\Data\Volha_Gray_ECIV_CO"}; +}; +class VolhaLimo_TK_CIV_EP1: Volha_TK_CIV_Base_EP1 +{ + scope = 2; + accuracy = 1000; + displayname = "GAZ Limo"; + hiddenSelections[] = {"Camo1"}; + hiddenSelectionsTextures[] = {"ca\wheeled_E\Volha\Data\Volha_Black_ECIV_CO"}; +}; + +// Performance 1 +class VolhaLimo_TK_CIV_EP1_DZE1: VolhaLimo_TK_CIV_EP1 +{ + maxspeed = 150; // max engine limit 125-130 + terrainCoef = 2.5; +}; +class Volha_1_TK_CIV_EP1_DZE1: Volha_1_TK_CIV_EP1 +{ + maxspeed = 150; // car 100 + terrainCoef = 2.5; +}; +class Volha_2_TK_CIV_EP1_DZE1: Volha_2_TK_CIV_EP1 +{ + maxspeed = 150; // car 100 + terrainCoef = 2.5; +}; +// Armmor 2 +class VolhaLimo_TK_CIV_EP1_DZE2: VolhaLimo_TK_CIV_EP1_DZE1 +{ + armor = 50; // car 20 + + class HitPoints: HitPoints + { + class HitLFWheel: HitLFWheel + { + armor = 0.3; + }; + class HitLBWheel: HitLBWheel + { + armor = 0.3; + }; + class HitRFWheel: HitRFWheel + { + armor = 0.3; + }; + class HitRBWheel: HitRBWheel + { + armor = 0.3; + }; + class HitFuel + { + armor = 0.28; + material = -1; + name = "palivo"; + visual = ""; + passThrough = 1; + }; + class HitEngine + { + armor = 1; + material = -1; + name = "motor"; + visual = ""; + passThrough = 1; + }; + class HitGlass1: HitGlass1 + { + armor = 0.1; + }; + class HitGlass2: HitGlass2 + { + armor = 0.1; + }; + class HitGlass3: HitGlass3 + { + armor = 0.1; + }; + class HitGlass4: HitGlass4 + { + armor = 0.1; + }; + }; +}; +class Volha_1_TK_CIV_EP1_DZE2: Volha_1_TK_CIV_EP1_DZE1 +{ + armor = 50; // car 20 + + class HitPoints: HitPoints + { + class HitLFWheel: HitLFWheel + { + armor = 0.3; + }; + class HitLBWheel: HitLBWheel + { + armor = 0.3; + }; + class HitRFWheel: HitRFWheel + { + armor = 0.3; + }; + class HitRBWheel: HitRBWheel + { + armor = 0.3; + }; + class HitFuel + { + armor = 0.28; + material = -1; + name = "palivo"; + visual = ""; + passThrough = 1; + }; + class HitEngine + { + armor = 1; + material = -1; + name = "motor"; + visual = ""; + passThrough = 1; + }; + class HitGlass1: HitGlass1 + { + armor = 0.1; + }; + class HitGlass2: HitGlass2 + { + armor = 0.1; + }; + class HitGlass3: HitGlass3 + { + armor = 0.1; + }; + class HitGlass4: HitGlass4 + { + armor = 0.1; + }; + }; +}; +class Volha_2_TK_CIV_EP1_DZE2: Volha_2_TK_CIV_EP1_DZE1 +{ + armor = 50; // car 20 + + class HitPoints: HitPoints + { + class HitLFWheel: HitLFWheel + { + armor = 0.3; + }; + class HitLBWheel: HitLBWheel + { + armor = 0.3; + }; + class HitRFWheel: HitRFWheel + { + armor = 0.3; + }; + class HitRBWheel: HitRBWheel + { + armor = 0.3; + }; + class HitFuel + { + armor = 0.28; + material = -1; + name = "palivo"; + visual = ""; + passThrough = 1; + }; + class HitEngine + { + armor = 1; + material = -1; + name = "motor"; + visual = ""; + passThrough = 1; + }; + class HitGlass1: HitGlass1 + { + armor = 0.1; + }; + class HitGlass2: HitGlass2 + { + armor = 0.1; + }; + class HitGlass3: HitGlass3 + { + armor = 0.1; + }; + class HitGlass4: HitGlass4 + { + armor = 0.1; + }; + }; +}; +// Cargo 3 +class VolhaLimo_TK_CIV_EP1_DZE3: VolhaLimo_TK_CIV_EP1_DZE2 +{ + transportMaxWeapons = 20; // car 10 + transportMaxMagazines = 100; // car 50 + transportmaxbackpacks = 4; // car 2 +}; +class Volha_1_TK_CIV_EP1_DZE3: Volha_1_TK_CIV_EP1_DZE2 +{ + transportMaxWeapons = 20; // car 10 + transportMaxMagazines = 100; // car 50 + transportmaxbackpacks = 4; // car 2 +}; +class Volha_2_TK_CIV_EP1_DZE3: Volha_2_TK_CIV_EP1_DZE2 +{ + transportMaxWeapons = 20; // car 10 + transportMaxMagazines = 100; // car 50 + transportmaxbackpacks = 4; // car 2 +}; +// Fuel 4 +class VolhaLimo_TK_CIV_EP1_DZE4: VolhaLimo_TK_CIV_EP1_DZE3 +{ + fuelCapacity = 210; // car 100 +}; +class Volha_1_TK_CIV_EP1_DZE4: Volha_1_TK_CIV_EP1_DZE3 +{ + fuelCapacity = 210; // car 100 +}; +class Volha_2_TK_CIV_EP1_DZE4: Volha_2_TK_CIV_EP1_DZE3 +{ + fuelCapacity = 210; // car 100 +}; \ No newline at end of file diff --git a/SQF/dayz_code/Configs/CfgVehicles/Players.hpp b/SQF/dayz_code/Configs/CfgVehicles/Players.hpp new file mode 100644 index 000000000..bdd2e8310 --- /dev/null +++ b/SQF/dayz_code/Configs/CfgVehicles/Players.hpp @@ -0,0 +1,120 @@ +class Ins_Lopotev; +class Ins_Lopotev_DZ: Ins_Lopotev { + displayName = "Boss"; + side = 1; + weapons[] = {"Throw","Put"}; + backpack = ""; + magazines[] = {}; + respawnWeapons[] = {"Throw","Put"}; + respawnMagazines[] = {}; + weaponSlots = "1 + 4 + 12* 256 + 2* 4096 + 2 + 8* 16 + 12*131072"; + canHideBodies = 1; + canCarryBackPack = 1; +}; +class RU_Soldier_Crew; +class RU_Soldier_Crew_DZ: RU_Soldier_Crew { + displayName = "Crewman"; + side = 1; + weapons[] = {"Throw","Put"}; + backpack = ""; + magazines[] = {}; + respawnWeapons[] = {"Throw","Put"}; + respawnMagazines[] = {}; + weaponSlots = "1 + 4 + 12* 256 + 2* 4096 + 2 + 8* 16 + 12*131072"; + canHideBodies = 1; + canCarryBackPack = 1; +}; +class TK_Commander_EP1; +class TK_Commander_EP1_DZ: TK_Commander_EP1 { + displayName = "General"; + side = 1; + weapons[] = {"Throw","Put"}; + backpack = ""; + magazines[] = {}; + respawnWeapons[] = {"Throw","Put"}; + respawnMagazines[] = {}; + weaponSlots = "1 + 4 + 12* 256 + 2* 4096 + 2 + 8* 16 + 12*131072"; + canHideBodies = 1; + canCarryBackPack = 1; +}; +class TK_Soldier_Sniper_EP1; +class TK_Soldier_Sniper_EP1_DZ: TK_Soldier_Sniper_EP1 { + displayName = "Desert Sniper"; + side = 1; + weapons[] = {"Throw","Put"}; + backpack = ""; + magazines[] = {}; + respawnWeapons[] = {"Throw","Put"}; + respawnMagazines[] = {}; + weaponSlots = "1 + 4 + 12* 256 + 2* 4096 + 2 + 8* 16 + 12*131072"; + canHideBodies = 1; + canCarryBackPack = 1; +}; +class TK_Special_Forces_MG_EP1; +class TK_Special_Forces_MG_EP1_DZ: TK_Special_Forces_MG_EP1 { + displayName = "Smuggler"; + side = 1; + weapons[] = {"Throw","Put"}; + backpack = ""; + magazines[] = {}; + respawnWeapons[] = {"Throw","Put"}; + respawnMagazines[] = {}; + weaponSlots = "1 + 4 + 12* 256 + 2* 4096 + 2 + 8* 16 + 12*131072"; + canHideBodies = 1; + canCarryBackPack = 1; +}; + +// good + +class Ins_Soldier_AR; +class Ins_Soldier_AR_DZ: Ins_Soldier_AR { + displayName = "Cooper"; + side = 1; + weapons[] = {"Throw","Put"}; + backpack = ""; + magazines[] = {}; + respawnWeapons[] = {"Throw","Put"}; + respawnMagazines[] = {}; + weaponSlots = "1 + 4 + 12* 256 + 2* 4096 + 2 + 8* 16 + 12*131072"; + canHideBodies = 1; + canCarryBackPack = 1; +}; +class Ins_Soldier_CO; +class Ins_Soldier_CO_DZ: Ins_Soldier_CO { + displayName = "Travis"; + side = 1; + weapons[] = {"Throw","Put"}; + backpack = ""; + magazines[] = {}; + respawnWeapons[] = {"Throw","Put"}; + respawnMagazines[] = {}; + weaponSlots = "1 + 4 + 12* 256 + 2* 4096 + 2 + 8* 16 + 12*131072"; + canHideBodies = 1; + canCarryBackPack = 1; +}; +class Ins_Bardak; +class Ins_Bardak_DZ: Ins_Bardak { + displayName = "Paulo"; + side = 1; + weapons[] = {"Throw","Put"}; + backpack = ""; + magazines[] = {}; + respawnWeapons[] = {"Throw","Put"}; + respawnMagazines[] = {}; + weaponSlots = "1 + 4 + 12* 256 + 2* 4096 + 2 + 8* 16 + 12*131072"; + canHideBodies = 1; + canCarryBackPack = 1; +}; +class Ins_Worker2; +class Ins_Worker2_DZ: Ins_Worker2 { + displayName = "Steve"; + side = 1; + weapons[] = {"Throw","Put"}; + backpack = ""; + magazines[] = {}; + respawnWeapons[] = {"Throw","Put"}; + respawnMagazines[] = {}; + weaponSlots = "1 + 4 + 12* 256 + 2* 4096 + 2 + 8* 16 + 12*131072"; + canHideBodies = 1; + canCarryBackPack = 1; +}; \ No newline at end of file diff --git a/SQF/dayz_code/Configs/cfgVehicles.hpp b/SQF/dayz_code/Configs/cfgVehicles.hpp index ca5bcda24..15a35413a 100644 --- a/SQF/dayz_code/Configs/cfgVehicles.hpp +++ b/SQF/dayz_code/Configs/cfgVehicles.hpp @@ -1242,6 +1242,8 @@ class CfgVehicles { canHideBodies = 1; }; + #include "CfgVehicles\Players.hpp" + #include "CfgVehicles\Bags.hpp" //An2_TK_EP1 @@ -1505,32 +1507,10 @@ class CfgVehicles { transportFuel = 0; fuelCapacity = 10000; }; - - // Vehicle Upgrades - // Performance 1 - class Offroad_DSHKM_Gue; - class Offroad_DSHKM_Gue_DZE1: Offroad_DSHKM_Gue - { - maxspeed = 110; - }; - // Armmor 2 - class Offroad_DSHKM_Gue_DZE2: Offroad_DSHKM_Gue_DZE1 - { - armor = 100; - }; - // Cargo 3 - class Offroad_DSHKM_Gue_DZE3: Offroad_DSHKM_Gue_DZE2 - { - transportMaxWeapons = 10; - transportMaxMagazines = 200; - transportmaxbackpacks = 5; - }; - // Fuel 4 - class Offroad_DSHKM_Gue_DZE4: Offroad_DSHKM_Gue_DZE3 - { - fuelCapacity = 210; - }; + // Vehicle Upgrades + #include "CfgVehicles\LAND\Volha.hpp" + //class NonStrategic; class BuiltItems: NonStrategic{}; @@ -1661,6 +1641,7 @@ class CfgVehicles { maintainBuilding[] = {{"PartWoodLumber",1}}; constructioncount = 1; removeoutput[] = {{"PartWoodPlywood",1},{"PartWoodLumber",2}}; + requireplot = 0; }; // belt buckle @@ -1704,6 +1685,7 @@ class CfgVehicles { vehicleClass = "Fortifications"; constructioncount = 1; removeoutput[] = {{"ItemGenerator",1}}; + requireplot = 0; }; class FuelPump_DZ: BuiltItems { @@ -1719,6 +1701,7 @@ class CfgVehicles { vehicleClass = "Fortifications"; constructioncount = 2; removeoutput[] = {{"ItemFuelPump",1}}; + requireplot = 0; }; class Fort_RazorWire : BuiltItems { @@ -3125,6 +3108,7 @@ class CfgVehicles { create = "WeaponHolder_ItemTentOld"; constructioncount = 1; offset[] = {0,2.5,0}; + requireplot = 0; }; class TentStorageDomed: TentStorage { @@ -3161,6 +3145,7 @@ class CfgVehicles { transportMaxBackpacks = 10; lockedClass = "VaultStorageLocked"; packedClass = "WeaponHolder_ItemVault"; + requireplot = 0; }; class VaultStorageLocked: Land_A_tent { @@ -3176,6 +3161,7 @@ class CfgVehicles { offset[] = {0,1.5,0.5}; lockable = 4; unlockedClass = "VaultStorage"; + requireplot = 0; }; class LockboxStorageLocked: Land_A_tent diff --git a/SQF/dayz_code/Configs/rscTitles.hpp b/SQF/dayz_code/Configs/rscTitles.hpp index 0d10296ef..06aa3ca2b 100644 --- a/SQF/dayz_code/Configs/rscTitles.hpp +++ b/SQF/dayz_code/Configs/rscTitles.hpp @@ -149,7 +149,7 @@ class RscDisplayMain : RscStandardDisplay class DAYZ_Version : CA_Version { idc = -1; - text = "DayZ Epoch 1.0.2.5"; + text = "DayZ Epoch 1.0.2.6"; y = "(SafeZoneH + SafeZoneY) - (1 - 0.95)"; }; delete CA_TitleMainMenu; diff --git a/SQF/dayz_code/actions/player_build.sqf b/SQF/dayz_code/actions/player_build.sqf index 1d0e3010a..fbd3eb4e0 100644 --- a/SQF/dayz_code/actions/player_build.sqf +++ b/SQF/dayz_code/actions/player_build.sqf @@ -37,10 +37,10 @@ DZE_cancelBuilding = false; call gear_ui_init; closeDialog 1; -if(_isWater) exitWith {TradeInprogress = false; cutText [localize "str_player_26", "PLAIN DOWN"];}; +if (_isWater) exitWith {TradeInprogress = false; cutText [localize "str_player_26", "PLAIN DOWN"];}; if (_inVehicle) exitWith {TradeInprogress = false; cutText ["Cannot build while in a vehicle.", "PLAIN DOWN"];}; -if(_onLadder) exitWith {TradeInprogress = false; cutText [localize "str_player_21", "PLAIN DOWN"];}; -if(player getVariable["combattimeout", 0] >= time) exitWith {TradeInprogress = false; cutText ["Cannot build while in combat.", "PLAIN DOWN"];}; +if (_onLadder) exitWith {TradeInprogress = false; cutText [localize "str_player_21", "PLAIN DOWN"];}; +if (player getVariable["combattimeout", 0] >= time) exitWith {TradeInprogress = false; cutText ["Cannot build while in combat.", "PLAIN DOWN"];}; _item = _this; @@ -88,9 +88,6 @@ if(_abort) exitWith { TradeInprogress = false; }; - - - _classname = getText (configFile >> "CfgMagazines" >> _item >> "ItemActions" >> "Build" >> "create"); _classnametmp = _classname; _require = getArray (configFile >> "cfgMagazines" >> _this >> "ItemActions" >> "Build" >> "require"); @@ -102,6 +99,11 @@ if(isNumber (configFile >> "CfgVehicles" >> _classname >> "lockable")) then { _lockable = getNumber(configFile >> "CfgVehicles" >> _classname >> "lockable"); }; +_requireplot = 1; +if(isNumber (configFile >> "CfgVehicles" >> _classname >> "requireplot")) then { + _requireplot = getNumber(configFile >> "CfgVehicles" >> _classname >> "requireplot"); +}; + _offset = getArray (configFile >> "CfgVehicles" >> _classname >> "offset"); if((count _offset) <= 0) then { @@ -109,12 +111,13 @@ if((count _offset) <= 0) then { }; _isPole = (_classname == "Plastic_Pole_EP1_DZ"); +_isLandFireDZ = (_classname == "Land_Fire_DZ"); _distance = 30; _needText = "Plot Pole"; if(_isPole) then { - _distance = 45; + _distance = 60; }; // check for near plot @@ -133,8 +136,14 @@ _IsNearPlot = count (_findNearestPole); if(_isPole and _IsNearPlot > 0) exitWith { TradeInprogress = false; cutText ["Cannot build plot pole within 45m of an existing plot." , "PLAIN DOWN"]; }; if(_IsNearPlot == 0) then { - _canBuildOnPlot = true; + + // Allow building of plot + if(_requireplot == 0 or _isLandFireDZ) then { + _canBuildOnPlot = true; + }; + } else { + // Since there are plots nearby we check for ownership and then for friend status // check nearby plots ownership and then for friend status _nearestPole = _findNearestPole select 0; @@ -145,13 +154,20 @@ if(_IsNearPlot == 0) then { // diag_log format["DEBUG BUILDING: %1 = %2", dayz_characterID, _ownerID]; // check if friendly to owner - if(dayz_characterID == _ownerID) then { - _canBuildOnPlot = true; + if(dayz_characterID == _ownerID) then { //Keep ownership + // owner can build anything within his plot except other plots + if(!_isPole) then { + _canBuildOnPlot = true; + }; + } else { - _friendlies = player getVariable ["friendlyTo",[]]; - // check if friendly to owner - if(_ownerID in _friendlies) then { - _canBuildOnPlot = true; + // disallow building plot + if(!_isPole) then { + _friendlies = player getVariable ["friendlyTo",[]]; + // check if friendly to owner + if(_ownerID in _friendlies) then { + _canBuildOnPlot = true; + }; }; }; }; @@ -180,18 +196,18 @@ if (_hasrequireditem) then { _dir = getDir player; // if ghost preview available use that instead - if (_ghost == "") then { - _object = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"]; - } else { + if (_ghost != "") then { _classname = _ghost; - _object = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"]; }; + + _object = createVehicle [_classname, _location, [], 0, "CAN_COLLIDE"]; _object attachTo [player,_offset]; _position = getPosATL _object; - cutText ["Planning construction: PgUp = raise, PgDn = lower, Q or E = flip 180, and Space-Bar to build.", "PLAIN DOWN"]; + cutText ["PgUp to raise or PgDn to lower (Hold ALT to raise faster or CTRL slower), Q or E to flip 180. Space-Bar to build.", "PLAIN DOWN"]; + _previewCounter = 60; _objHDiff = 0; @@ -211,8 +227,6 @@ if (_hasrequireditem) then { _zheightdirection = "down"; _zheightchanged = true; }; - - if (DZE_Q_alt) then { DZE_Q_alt = false; _zheightdirection = "up_alt"; @@ -223,8 +237,6 @@ if (_hasrequireditem) then { _zheightdirection = "down_alt"; _zheightchanged = true; }; - - if (DZE_Q_ctrl) then { DZE_Q_ctrl = false; _zheightdirection = "up_ctrl"; @@ -235,7 +247,6 @@ if (_hasrequireditem) then { _zheightdirection = "down_ctrl"; _zheightchanged = true; }; - if (DZE_4) then { _rotate = true; DZE_4 = false; diff --git a/SQF/dayz_code/compile/player_spawnCheck.sqf b/SQF/dayz_code/compile/player_spawnCheck.sqf index bfe47e4aa..fcb24ff64 100644 --- a/SQF/dayz_code/compile/player_spawnCheck.sqf +++ b/SQF/dayz_code/compile/player_spawnCheck.sqf @@ -17,7 +17,7 @@ dayz_CurrentZombies = 0; _soundLimit = 3; { if (!alive _x) then { - [player,"flysound",0,true] call dayz_zombieSpeak; + [player,"flysound",1,true] call dayz_zombieSpeak; _soundLimit = _soundLimit - 1; }; if (_soundLimit == 0) exitWith {}; diff --git a/SQF/dayz_code/compile/player_updateGui.sqf b/SQF/dayz_code/compile/player_updateGui.sqf index 2746e8aa7..b92aab36c 100644 --- a/SQF/dayz_code/compile/player_updateGui.sqf +++ b/SQF/dayz_code/compile/player_updateGui.sqf @@ -184,7 +184,8 @@ if (!isNull _humanityTarget and isPlayer _humanityTarget and alive _humanityTarg // diag_log format["IS FRIENDLY: %1", _player]; _rfriendlyTo set [count _rfriendlyTo, _charID]; _humanityTarget setVariable ["friendlyTo", _rfriendlyTo, true]; - titleText [format["You and %1 are now tagged as friendlies.", (name _humanityTarget)], "PLAIN DOWN"]; + + // titleText [format["You and %1 are now tagged as friendlies.", (name _humanityTarget)], "PLAIN DOWN"]; }; diff --git a/SQF/dayz_code/config.cpp b/SQF/dayz_code/config.cpp index 6aa05e6fc..be6a5e1d8 100644 --- a/SQF/dayz_code/config.cpp +++ b/SQF/dayz_code/config.cpp @@ -41,7 +41,7 @@ class CfgMods hidePicture = 0; hideName = 0; action = "http://www.dayzepoch.com"; - version = "1.0.2.5"; + version = "1.0.2.6"; hiveVersion = 0.96; //0.93 }; }; @@ -490,7 +490,49 @@ class CfgSurvival { sex = "male"; playerModel = "TK_INS_Warlord_EP1_DZ"; }; + + + class Skin_TK_Special_Forces_MG_EP1_DZ: Default { + sex = "male"; + playerModel = "TK_Special_Forces_MG_EP1_DZ"; + }; + class Skin_TK_Soldier_Sniper_EP1_DZ: Default { + sex = "male"; + playerModel = "TK_Soldier_Sniper_EP1_DZ"; + }; + class Skin_TK_Commander_EP1_DZ: Default { + sex = "male"; + playerModel = "TK_Commander_EP1_DZ"; + }; + class Skin_RU_Soldier_Crew_DZ: Default { + sex = "male"; + playerModel = "RU_Soldier_Crew_DZ"; + }; + class Skin_Ins_Lopotev_DZ: Default { + sex = "male"; + playerModel = "Ins_Lopotev_DZ"; + }; + class Skin_Ins_Soldier_AR_DZ: Default { + sex = "male"; + playerModel = "Ins_Soldier_AR_DZ"; + }; + class Skin_Ins_Soldier_CO_DZ: Default { + sex = "male"; + playerModel = "Ins_Soldier_CO_DZ"; + }; + class Skin_Ins_Bardak_DZ: Default { + sex = "male"; + playerModel = "Ins_Bardak_DZ"; + }; + class Skin_Ins_Worker2_DZ: Default { + sex = "male"; + playerModel = "Ins_Worker2_DZ"; + }; + + + + }; diff --git a/SQF/dayz_code/init/compiles.sqf b/SQF/dayz_code/init/compiles.sqf index aac0e3093..39bd6813a 100644 --- a/SQF/dayz_code/init/compiles.sqf +++ b/SQF/dayz_code/init/compiles.sqf @@ -40,7 +40,7 @@ if (!isDedicated) then { // 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"; - spawn_flies = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\spawn_flies.sqf"; + //spawn_flies = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\spawn_flies.sqf"; // stream_locationFill = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\stream_locationFill.sqf"; // stream_locationDel = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\stream_locationDel.sqf"; // stream_locationCheck = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\stream_locationCheck.sqf"; diff --git a/SQF/dayz_code/init/variables.sqf b/SQF/dayz_code/init/variables.sqf index 023193d10..9493e7e68 100644 --- a/SQF/dayz_code/init/variables.sqf +++ b/SQF/dayz_code/init/variables.sqf @@ -14,7 +14,7 @@ Camo1_DZ = "Camo1_DZ"; Soldier1_DZ = "Soldier1_DZ"; Rocket_DZ = "Rocket_DZ"; -AllPlayers = ["Survivor2_DZ","SurvivorWcombat_DZ","SurvivorWdesert_DZ","SurvivorWurban_DZ","SurvivorWsequishaD_DZ","SurvivorWsequisha_DZ","SurvivorWpink_DZ","SurvivorW3_DZ","SurvivorW2_DZ","Bandit1_DZ","Bandit2_DZ","BanditW1_DZ","BanditW2_DZ","Soldier_Crew_PMC","Sniper1_DZ","Camo1_DZ","Soldier1_DZ","Rocket_DZ","Rocker1_DZ","Rocker2_DZ","Rocker3_DZ","Rocker4_DZ","Priest_DZ","Functionary1_EP1_DZ","GUE_Commander_DZ","Ins_Soldier_GL_DZ","Haris_Press_EP1_DZ","Pilot_EP1_DZ","RU_Policeman_DZ","pz_policeman","pz_suit1","pz_suit2","pz_worker1","pz_worker2","pz_worker3","pz_doctor","pz_teacher","pz_hunter","pz_villager1","pz_villager2","pz_villager3","pz_priest","Soldier_TL_PMC_DZ","Soldier_Sniper_PMC_DZ","Soldier_Bodyguard_AA12_PMC_DZ","Drake_Light_DZ","CZ_Special_Forces_GL_DES_EP1_DZ","TK_INS_Soldier_EP1_DZ","TK_INS_Warlord_EP1_DZ","FR_OHara_DZ","FR_Rodriguez_DZ","CZ_Soldier_Sniper_EP1_DZ","Graves_Light_DZ","GUE_Soldier_MG_DZ","GUE_Soldier_Sniper_DZ","GUE_Soldier_Crew_DZ","GUE_Soldier_CO_DZ","GUE_Soldier_2_DZ"]; +AllPlayers = ["Survivor2_DZ","SurvivorWcombat_DZ","SurvivorWdesert_DZ","SurvivorWurban_DZ","SurvivorWsequishaD_DZ","SurvivorWsequisha_DZ","SurvivorWpink_DZ","SurvivorW3_DZ","SurvivorW2_DZ","Bandit1_DZ","Bandit2_DZ","BanditW1_DZ","BanditW2_DZ","Soldier_Crew_PMC","Sniper1_DZ","Camo1_DZ","Soldier1_DZ","Rocket_DZ","Rocker1_DZ","Rocker2_DZ","Rocker3_DZ","Rocker4_DZ","Priest_DZ","Functionary1_EP1_DZ","GUE_Commander_DZ","Ins_Soldier_GL_DZ","Haris_Press_EP1_DZ","Pilot_EP1_DZ","RU_Policeman_DZ","pz_policeman","pz_suit1","pz_suit2","pz_worker1","pz_worker2","pz_worker3","pz_doctor","pz_teacher","pz_hunter","pz_villager1","pz_villager2","pz_villager3","pz_priest","Soldier_TL_PMC_DZ","Soldier_Sniper_PMC_DZ","Soldier_Bodyguard_AA12_PMC_DZ","Drake_Light_DZ","CZ_Special_Forces_GL_DES_EP1_DZ","TK_INS_Soldier_EP1_DZ","TK_INS_Warlord_EP1_DZ","FR_OHara_DZ","FR_Rodriguez_DZ","CZ_Soldier_Sniper_EP1_DZ","Graves_Light_DZ","GUE_Soldier_MG_DZ","GUE_Soldier_Sniper_DZ","GUE_Soldier_Crew_DZ","GUE_Soldier_CO_DZ","GUE_Soldier_2_DZ","TK_Special_Forces_MG_EP1_DZ","TK_Soldier_Sniper_EP1_DZ","TK_Commander_EP1_DZ","RU_Soldier_Crew_DZ","Ins_Lopotev_DZ","Ins_Soldier_AR_DZ","Ins_Soldier_CO_DZ","Ins_Bardak_DZ","Ins_Worker2_DZ"]; // AllPlayersVehicles = ["AllVehicles"]+AllPlayers; //Cooking diff --git a/SQF/dayz_code/system/player_monitor.fsm b/SQF/dayz_code/system/player_monitor.fsm index 3c1cf2d16..de6a1dd63 100644 --- a/SQF/dayz_code/system/player_monitor.fsm +++ b/SQF/dayz_code/system/player_monitor.fsm @@ -1289,7 +1289,7 @@ class FSM "};" \n "" \n "// light sandstorm effect" \n - "[player,1,1,false] call bis_fnc_sandstorm;"/*%FSM*/; + "//[player,1,1,false] call bis_fnc_sandstorm;"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { @@ -1358,7 +1358,7 @@ class FSM priority = 2.000000; to="ERROR__No_Player_1"; precondition = /*%FSM*/""/*%FSM*/; - condition=/*%FSM*/"(_myEpochAnim != ""1.0.2.5"") || (_myEpoch != ""1.0.2.5"") || (_myEpochB != ""1.0.2.5"") || (_myEpochSfx != ""1.0.2.5"")"/*%FSM*/; + condition=/*%FSM*/"(_myEpochAnim != ""1.0.2.6"") || (_myEpoch != ""1.0.2.6"") || (_myEpochB != ""1.0.2.6"") || (_myEpochSfx != ""1.0.2.6"")"/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ diff --git a/SQF/dayz_epoch/config.cpp b/SQF/dayz_epoch/config.cpp index 35e88ed9f..79532fa34 100644 --- a/SQF/dayz_epoch/config.cpp +++ b/SQF/dayz_epoch/config.cpp @@ -3,7 +3,7 @@ class CfgPatches { units[] = {}; weapons[] = {}; requiredVersion = 0.1; - dayzVersion = "1.0.2.5"; + dayzVersion = "1.0.2.6"; requiredAddons[] = {"dayz_code"}; }; }; \ No newline at end of file diff --git a/SQF/dayz_epoch_b/config.cpp b/SQF/dayz_epoch_b/config.cpp index 626828b04..54a385ae6 100644 --- a/SQF/dayz_epoch_b/config.cpp +++ b/SQF/dayz_epoch_b/config.cpp @@ -3,7 +3,7 @@ class CfgPatches { units[] = {}; weapons[] = {}; requiredVersion = 0.1; - dayzVersion = "1.0.2.5"; + dayzVersion = "1.0.2.6"; requiredAddons[] = {"dayz_code"}; }; }; \ No newline at end of file diff --git a/SQF/dayz_server/compile/server_playerSync.sqf b/SQF/dayz_server/compile/server_playerSync.sqf index 2ed116201..3849f384a 100644 --- a/SQF/dayz_server/compile/server_playerSync.sqf +++ b/SQF/dayz_server/compile/server_playerSync.sqf @@ -166,7 +166,9 @@ if (_characterID != "0") then { _temp = round(_character getVariable ["temperature",100]); _currentState = [_currentWpn,_currentAnim,_temp]; if(DZE_FriendlySaving) then { - _currentState set [(count _currentState),(_character getVariable ["friendlies",[]])]; + // save only last/most recent 5 entrys as we only have 200 chars in db field and weapon + animation names are sometimes really long 60-70 chars. + _friendlies = [(_character getVariable ["friendlies",[]]),5] call array_reduceReverse; + _currentState set [(count _currentState),_friendlies]; }; /* Everything is ready, now publish to HIVE diff --git a/SQF/dayz_server/init/server_functions.sqf b/SQF/dayz_server/init/server_functions.sqf index 5a9ba9cbb..6feb75f09 100644 --- a/SQF/dayz_server/init/server_functions.sqf +++ b/SQF/dayz_server/init/server_functions.sqf @@ -37,6 +37,23 @@ vehicle_handleInteract = { [_object, "all"] call server_updateObject; }; +array_reduceReverse = { + private["_array","_count","_num","_newarray","_startnum","_index"]; + _array = _this select 0; + _newarray = []; + _count = _this select 1; + _num = count _array; + if (_num > _count) then { + _startnum = _num - 1; + _index = _count - 1; + for "_i" from 0 to _index do { + _newarray set [(_index-_i),_array select (_startnum - _i)]; + }; + _array = _newarray; + }; + _array +}; + vehicle_handleServerKilled = { private["_unit","_killer"]; _unit = _this select 0; diff --git a/SQF/dayz_sfx/config.cpp b/SQF/dayz_sfx/config.cpp index b7ec3261a..9bbc6e8d5 100644 --- a/SQF/dayz_sfx/config.cpp +++ b/SQF/dayz_sfx/config.cpp @@ -22,7 +22,7 @@ class CfgPatches { units[] = {}; weapons[] = {}; requiredVersion = 0.1; - dayzVersion = "1.0.2.5"; + dayzVersion = "1.0.2.6"; requiredAddons[] = {}; }; }; diff --git a/Server Files/mysql/epoch.sql b/Server Files/mysql/epoch.sql index 5fa36a653..324dc644b 100644 --- a/Server Files/mysql/epoch.sql +++ b/Server Files/mysql/epoch.sql @@ -1,5 +1,5 @@ /* -DayZ Epoch 1.0.2.5 +DayZ Epoch 1.0.2.6 */ SET FOREIGN_KEY_CHECKS=0;