diff --git a/SQF/dayz_code/Configs/CfgMagazines/DZE/Items.hpp b/SQF/dayz_code/Configs/CfgMagazines/DZE/Items.hpp index df5027851..aa59faa0a 100644 --- a/SQF/dayz_code/Configs/CfgMagazines/DZE/Items.hpp +++ b/SQF/dayz_code/Configs/CfgMagazines/DZE/Items.hpp @@ -176,7 +176,7 @@ class ItemORP: CA_Magazine { class ItemActions { class Upgrades { text = $STR_EPOCH_PLAYER_UPGRADEV; - script = "spawn player_upgradeVehicle;"; + script = "['ORP'] spawn player_upgradeVehicle;"; }; }; @@ -194,7 +194,7 @@ class ItemAVE: CA_Magazine { class ItemActions { class Upgrades { text = $STR_EPOCH_PLAYER_UPGRADEV; - script = "spawn player_upgradeVehicle;"; + script = "['AVE'] spawn player_upgradeVehicle;"; }; }; @@ -212,7 +212,7 @@ class ItemLRK: CA_Magazine { class ItemActions { class Upgrades { text = $STR_EPOCH_PLAYER_UPGRADEV; - script = "spawn player_upgradeVehicle;"; + script = "['LRK'] spawn player_upgradeVehicle;"; }; }; @@ -230,7 +230,7 @@ class ItemTNK: CA_Magazine { class ItemActions { class Upgrades { text = $STR_EPOCH_PLAYER_UPGRADEV; - script = "spawn player_upgradeVehicle;"; + script = "['TNK'] spawn player_upgradeVehicle;"; }; }; diff --git a/SQF/dayz_code/Configs/CfgVehicles/LAND/datsun.hpp b/SQF/dayz_code/Configs/CfgVehicles/LAND/datsun.hpp index 2d67607b8..abbea8dba 100644 --- a/SQF/dayz_code/Configs/CfgVehicles/LAND/datsun.hpp +++ b/SQF/dayz_code/Configs/CfgVehicles/LAND/datsun.hpp @@ -1,758 +1,233 @@ -class datsun1_civil_1_open : SkodaBase - { - scope = 2; - faction = "CIV"; - model = "\ca\Wheeled\datsun1_civil_1_open"; - picture = "\Ca\wheeled\data\ico\datsun1_civil_1_open_CA.paa"; - Icon = "\Ca\wheeled\data\map_ico\icomap_datsun_CA.paa"; - mapSize = 7; - wheelCircumference = 2.199; - crew = ""; - typicalCargo[] = {}; - displayName = "Pick-Up"; - maxSpeed = 125; - turnCoef = 2.5; - terrainCoef = 4; - steerAheadPlan = 0.15; - soundGear[] = { - "", - 0.000562341, - 1 - }; - SoundGetIn[] = { - "\ca\sounds\vehicles\wheeled\offroad\ext\ext-offroad-getout-1", - 0.251189, - 1 - }; - SoundGetOut[] = { - "\ca\sounds\vehicles\wheeled\offroad\ext\ext-offroad-getout-1", - 0.251189, - 1, - 30 - }; - soundEngineOnInt[] = { - "ca\sounds\Vehicles\Wheeled\offroad\int\int-offroad-start-1", - 0.316228, - 1 - }; - soundEngineOnExt[] = { - "ca\sounds\Vehicles\Wheeled\offroad\ext\ext-offroad-start-1", - 0.316228, - 1, - 250 - }; - soundEngineOffInt[] = { - "ca\sounds\Vehicles\Wheeled\offroad\int\int-offroad-stop-1", - 0.316228, - 1 - }; - soundEngineOffExt[] = { - "ca\sounds\Vehicles\Wheeled\offroad\ext\ext-offroad-stop-1", - 0.316228, - 1, - 250 - }; - buildCrash0[] = { - "Ca\sounds\Vehicles\Crash\crash_building_01", - 0.707946, - 1, - 200 - }; - buildCrash1[] = { - "Ca\sounds\Vehicles\Crash\crash_building_02", - 0.707946, - 1, - 200 - }; - buildCrash2[] = { - "Ca\sounds\Vehicles\Crash\crash_building_03", - 0.707946, - 1, - 200 - }; - buildCrash3[] = { - "Ca\sounds\Vehicles\Crash\crash_building_04", - 0.707946, - 1, - 200 - }; - soundBuildingCrash[] = { - "buildCrash0", - 0.25, - "buildCrash1", - 0.25, - "buildCrash2", - 0.25, - "buildCrash3", - 0.25 - }; - WoodCrash0[] = { - "Ca\sounds\Vehicles\Crash\crash_mix_wood_01", - 0.707946, - 1, - 200 - }; - WoodCrash1[] = { - "Ca\sounds\Vehicles\Crash\crash_mix_wood_02", - 0.707946, - 1, - 200 - }; - WoodCrash2[] = { - "Ca\sounds\Vehicles\Crash\crash_mix_wood_03", - 0.707946, - 1, - 200 - }; - WoodCrash3[] = { - "Ca\sounds\Vehicles\Crash\crash_mix_wood_04", - 0.707946, - 1, - 200 - }; - WoodCrash4[] = { - "Ca\sounds\Vehicles\Crash\crash_mix_wood_05", - 0.707946, - 1, - 200 - }; - WoodCrash5[] = { - "Ca\sounds\Vehicles\Crash\crash_mix_wood_06", - 0.707946, - 1, - 200 - }; - soundWoodCrash[] = { - "woodCrash0", - 0.166, - "woodCrash1", - 0.166, - "woodCrash2", - 0.166, - "woodCrash3", - 0.166, - "woodCrash4", - 0.166, - "woodCrash5", - 0.166 - }; - ArmorCrash0[] = { - "Ca\sounds\Vehicles\Crash\crash_vehicle_01", - 0.707946, - 1, - 200 - }; - ArmorCrash1[] = { - "Ca\sounds\Vehicles\Crash\crash_vehicle_02", - 0.707946, - 1, - 200 - }; - ArmorCrash2[] = { - "Ca\sounds\Vehicles\Crash\crash_vehicle_03", - 0.707946, - 1, - 200 - }; - ArmorCrash3[] = { - "Ca\sounds\Vehicles\Crash\crash_vehicle_04", - 0.707946, - 1, - 200 - }; - soundArmorCrash[] = { - "ArmorCrash0", - 0.25, - "ArmorCrash1", - 0.25, - "ArmorCrash2", - 0.25, - "ArmorCrash3", - 0.25 - }; - class SoundEvents - { - class AccelerationIn - { - sound[] = { - "ca\sounds\Vehicles\Wheeled\offroad\int\int-offroad-acce-1", - 0.316228, - 1 - }; - limit = "0.7"; - expression = "(engineOn*(1-camPos))*gmeterZ*(speed factor[2.5, 4])"; - }; - class AccelerationOut - { - sound[] = { - "ca\sounds\Vehicles\Wheeled\offroad\ext\ext-offroad-acce-1", - 0.316228, - 1, - 250 - }; - limit = "0.7"; - expression = "(engineOn*camPos)*gmeterZ*(speed factor[2.5, 4])"; - }; - }; - class Sounds : Sounds - { - class Engine : Engine - { - sound[] = { - "ca\sounds\Vehicles\Wheeled\offroad\ext\ext-offroad-low-1", - 0.398107, - 1, - 300 - }; - frequency = "(randomizer*0.05+0.95)*rpm"; - volume = "camPos*engineOn*((rpm factor[0.21, 0.5]) min (rpm factor[0.7, 0.3]))"; - }; - class EngineHighOut - { - sound[] = { - "ca\sounds\Vehicles\Wheeled\offroad\ext\ext-offroad-high-2", - 0.398107, - 1, - 350 - }; - frequency = "(randomizer*0.05+0.95)*rpm"; - volume = "camPos*engineOn*(rpm factor[0.5, 0.85])"; - }; - class IdleOut - { - sound[] = { - "ca\sounds\Vehicles\Wheeled\offroad\ext\ext-offroad-idle-5", - 0.223872, - 1, - 100 - }; - frequency = "1"; - volume = "camPos*engineOn*(rpm factor[0.4, 0])"; - }; - class TiresRockOut - { - sound[] = { - "\ca\SOUNDS\Vehicles\Wheeled\Tires\ext\ext-tires-rock2", - 0.316228, - 1, - 30 - }; - frequency = "1"; - volume = "camPos*rock*(speed factor[2, 20])"; - }; - class TiresSandOut - { - sound[] = { - "\ca\SOUNDS\Vehicles\Wheeled\Tires\ext\ext-tires-sand2", - 0.316228, - 1, - 30 - }; - frequency = "1"; - volume = "camPos*sand*(speed factor[2, 20])"; - }; - class TiresGrassOut - { - sound[] = { - "\ca\SOUNDS\Vehicles\Wheeled\Tires\ext\ext-tires-grass3", - 0.316228, - 1, - 30 - }; - frequency = "1"; - volume = "camPos*grass*(speed factor[2, 20])"; - }; - class TiresMudOut - { - sound[] = { - "\ca\SOUNDS\Vehicles\Wheeled\Tires\ext\ext-tires-mud2", - 0.316228, - 1, - 30 - }; - frequency = "1"; - volume = "camPos*mud*(speed factor[2, 20])"; - }; - class TiresGravelOut - { - sound[] = { - "\ca\SOUNDS\Vehicles\Wheeled\Tires\ext\ext-tires-gravel2", - 0.316228, - 1, - 30 - }; - frequency = "1"; - volume = "camPos*gravel*(speed factor[2, 20])"; - }; - class TiresAsphaltOut - { - sound[] = { - "\ca\SOUNDS\Vehicles\Wheeled\Tires\ext\ext-tires-asphalt3", - 0.316228, - 1, - 30 - }; - frequency = "1"; - volume = "camPos*asphalt*(speed factor[2, 20])"; - }; - class NoiseOut - { - sound[] = { - "ca\sounds\Vehicles\Wheeled\UAZ\ext\ext-noise", - 0.316228, - 1, - 30 - }; - frequency = "1"; - volume = "camPos*(damper0 max 0.02)*(speed factor[0, 8])"; - }; - class EngineLowIn - { - sound[] = { - "ca\sounds\Vehicles\Wheeled\offroad\int\int-offroad-low-1", - 0.562341, - 1 - }; - frequency = "(randomizer*0.05+0.95)*rpm"; - volume = "(1-camPos)*engineOn*((rpm factor[0.2, 0.4]) min (rpm factor[0.7, 0.3]))"; - }; - class EngineHighIn - { - sound[] = { - "ca\sounds\Vehicles\Wheeled\offroad\int\int-offroad-high-2", - 0.562341, - 1 - }; - frequency = "(randomizer*0.05+0.95)*rpm"; - volume = "(1-camPos)*engineOn*(rpm factor[0.56, 0.8])"; - }; - class IdleIn - { - sound[] = { - "ca\sounds\Vehicles\Wheeled\offroad\int\int-offroad-idle-5", - 0.398107, - 1 - }; - frequency = "1"; - volume = "(1-camPos)*engineOn*(rpm factor[0.4, 0])"; - }; - class TiresRockIn - { - sound[] = { - "\ca\SOUNDS\Vehicles\Wheeled\Tires\int\int-tires-rock2", - 0.316228, - 1 - }; - frequency = "1"; - volume = "(1-camPos)*rock*(speed factor[2, 20])"; - }; - class TiresSandIn - { - sound[] = { - "\ca\SOUNDS\Vehicles\Wheeled\Tires\int\int-tires-sand2", - 0.316228, - 1 - }; - frequency = "1"; - volume = "(1-camPos)*sand*(speed factor[2, 20])"; - }; - class TiresGrassIn - { - sound[] = { - "\ca\SOUNDS\Vehicles\Wheeled\Tires\int\int-tires-grass3", - 0.316228, - 1 - }; - frequency = "1"; - volume = "(1-camPos)*grass*(speed factor[2, 20])"; - }; - class TiresMudIn - { - sound[] = { - "\ca\SOUNDS\Vehicles\Wheeled\Tires\int\int-tires-mud2", - 0.316228, - 1 - }; - frequency = "1"; - volume = "(1-camPos)*mud*(speed factor[2, 20])"; - }; - class TiresGravelIn - { - sound[] = { - "\ca\SOUNDS\Vehicles\Wheeled\Tires\int\int-tires-gravel2", - 0.316228, - 1 - }; - frequency = "1"; - volume = "(1-camPos)*gravel*(speed factor[2, 20])"; - }; - class TiresAsphaltIn - { - sound[] = { - "\ca\SOUNDS\Vehicles\Wheeled\Tires\int\int-tires-asphalt3", - 0.316228, - 1 - }; - frequency = "1"; - volume = "(1-camPos)*asphalt*(speed factor[2, 20])"; - }; - class NoiseIn - { - sound[] = { - "ca\sounds\Vehicles\Wheeled\offroad\int\int-offroad-noise-1", - 0.316228, - 1 - }; - frequency = "1"; - volume = "(damper0 max 0.03)*(speed factor[0, 8])*(1-camPos)"; - }; - class Movement : Movement - { - sound = "soundEnviron"; - frequency = "1"; - volume = "0"; - }; - }; - transportSoldier = 1; - driverAction = "datsun_driver"; - cargoAction[] = { - "Hilux_cargo01" - }; - class Library - { - libTextDesc = "A pickup truck which was very popular in the United States in the 1970s."; - }; - class Damage - { - tex[] = { - }; - mat[] = { - "ca\wheeled\data\detailmapy\datsun_interier.rvmat", - "ca\wheeled\data\detailmapy\datsun_interier.rvmat", - "ca\wheeled\data\detailmapy\datsun_interier_destruct.rvmat", - "ca\wheeled\data\detailmapy\datsun_trup.rvmat", - "ca\wheeled\data\detailmapy\datsun_trup.rvmat", - "ca\wheeled\data\detailmapy\datsun_trup_destruct.rvmat", - "ca\wheeled\data\detailmapy\auta_skla.rvmat", - "ca\wheeled\data\detailmapy\auta_skla_damage.rvmat", - "ca\wheeled\data\detailmapy\auta_skla_damage.rvmat", - "ca\wheeled\data\detailmapy\auta_skla_in.rvmat", - "ca\wheeled\data\detailmapy\auta_skla_in_damage.rvmat", - "ca\wheeled\data\detailmapy\auta_skla_in_damage.rvmat" - }; - }; - hiddenSelections[] = { - "Camo1" - }; - hiddenSelectionsTextures[] = { - "\ca\wheeled\data\datsun_trup1_co.paa" - }; - rarityUrban = 0.25; - upgradeVehicle[] = {"datsun1_civil_1_open_DZE1",{{"ItemORP",1},{"PartEngine",2}}}; - }; - class datsun1_civil_2_covered : datsun1_civil_1_open - { - accuracy = 1000; - faction = "CIV"; - model = "\ca\Wheeled\datsun1_civil_2_covered"; - picture = "\Ca\wheeled\data\ico\datsun1_civil_2_covered_CA.paa"; - Icon = "\Ca\wheeled\data\map_ico\icomap_datsun_CA.paa"; - mapSize = 7; - crew = ""; - typicalCargo[] = {}; - displayName = "Pick-Up (Covered)"; - class Damage - { - tex[] = { - }; - mat[] = { - "ca\wheeled\data\detailmapy\datsun_addons.rvmat", - "ca\wheeled\data\detailmapy\datsun_addons.rvmat", - "ca\wheeled\data\detailmapy\datsun_addons_destruct.rvmat", - "Ca\Wheeled\data\datsun_trup4.rvmat", - "Ca\Wheeled\data\datsun_trup4.rvmat", - "ca\wheeled\data\detailmapy\datsun_trup_destruct.rvmat", - "ca\wheeled\data\detailmapy\datsun_interier.rvmat", - "ca\wheeled\data\detailmapy\datsun_interier.rvmat", - "ca\wheeled\data\detailmapy\datsun_interier_destruct.rvmat", - "ca\wheeled\data\detailmapy\datsun_pristroje.rvmat", - "ca\wheeled\data\detailmapy\datsun_pristroje.rvmat", - "ca\wheeled\data\detailmapy\datsun_pristroje_destruct.rvmat", - "ca\wheeled\data\detailmapy\auta_skla.rvmat", - "ca\wheeled\data\detailmapy\auta_skla_damage.rvmat", - "ca\wheeled\data\detailmapy\auta_skla_damage.rvmat", - "ca\wheeled\data\detailmapy\auta_skla_in.rvmat", - "ca\wheeled\data\detailmapy\auta_skla_in_damage.rvmat", - "ca\wheeled\data\detailmapy\auta_skla_in_damage.rvmat" - }; - }; - hiddenSelections[] = { - }; - hiddenSelectionsTextures[] = { - }; - rarityUrban = 0.6; - upgradeVehicle[] = {"datsun1_civil_2_covered_DZE1",{{"ItemORP",1},{"PartEngine",2}}}; - }; - class datsun1_civil_3_open : datsun1_civil_1_open - { - accuracy = 1000; - faction = "CIV"; - model = "\ca\Wheeled\datsun1_civil_3_open"; - picture = "\Ca\wheeled\data\ico\datsun1_civil_3_open_CA.paa"; - Icon = "\Ca\wheeled\data\map_ico\icomap_datsun_CA.paa"; - mapSize = 7; - crew = ""; - typicalCargo[] = {}; - displayName = "Pick-Up (Tube frame)"; - class Damage - { - tex[] = { - }; - mat[] = { - "ca\wheeled\data\detailmapy\datsun_interier.rvmat", - "ca\wheeled\data\detailmapy\datsun_interier.rvmat", - "ca\wheeled\data\detailmapy\datsun_interier_destruct.rvmat", - "ca\wheeled\data\detailmapy\datsun_trup2.rvmat", - "ca\wheeled\data\detailmapy\datsun_trup2.rvmat", - "ca\wheeled\data\detailmapy\datsun_trup_destruct.rvmat", - "ca\wheeled\data\detailmapy\auta_skla.rvmat", - "ca\wheeled\data\detailmapy\auta_skla_damage.rvmat", - "ca\wheeled\data\detailmapy\auta_skla_damage.rvmat", - "ca\wheeled\data\detailmapy\auta_skla_in.rvmat", - "ca\wheeled\data\detailmapy\auta_skla_in_damage.rvmat", - "ca\wheeled\data\detailmapy\auta_skla_in_damage.rvmat" - }; - }; - hiddenSelections[] = { - }; - hiddenSelectionsTextures[] = { - }; - rarityUrban = 0.5; - upgradeVehicle[] = {"datsun1_civil_3_open_DZE1",{{"ItemORP",1},{"PartEngine",2}}}; - }; - -// Performance 1 -class datsun1_civil_1_open_DZE1: datsun1_civil_1_open -{ - maxspeed = 150; // max engine limit 125-130 +class datsun1_civil_1_open; +class datsun1_civil_1_open_DZE: datsun1_civil_1_open { terrainCoef = 2.5; - upgradeVehicle[] = {"datsun1_civil_1_open_DZE2",{{"ItemAVE",1},{"PartGeneric",1},{"ItemTankTrap",1}}}; -}; -class datsun1_civil_2_covered_DZE1: datsun1_civil_2_covered -{ - maxspeed = 150; // car 100 - terrainCoef = 2.5; - upgradeVehicle[] = {"datsun1_civil_2_covered_DZE2",{{"ItemAVE",1},{"PartGeneric",1},{"ItemTankTrap",1}}}; -}; -class datsun1_civil_3_open_DZE1: datsun1_civil_3_open -{ - maxspeed = 150; // car 100 - terrainCoef = 2.5; - upgradeVehicle[] = {"datsun1_civil_3_open_DZE2",{{"ItemAVE",1},{"PartGeneric",1},{"ItemTankTrap",1}}}; -}; -// Armor 2 -class datsun1_civil_1_open_DZE2: datsun1_civil_1_open_DZE1 -{ - armor = 50; // car 20 - upgradeVehicle[] = {"datsun1_civil_1_open_DZE3",{{"ItemLRK",1},{"ItemTent",1}}}; - 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 Upgrades { + ORP[] = {"datsun1_civil_1_open_DZE1",{},{{"ItemORP",1},{"PartEngine",2}}}; }; }; -class datsun1_civil_2_covered_DZE2: datsun1_civil_2_covered_DZE1 -{ - armor = 50; // car 20 - upgradeVehicle[] = {"datsun1_civil_2_covered_DZE3",{{"ItemLRK",1},{"ItemTent",1}}}; - 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 datsun1_civil_2_covered; +class datsun1_civil_2_covered_DZE: datsun1_civil_2_covered { + terrainCoef = 2.5; + + class Upgrades { + ORP[] = {"datsun1_civil_2_covered_DZE1",{},{{"ItemORP",1},{"PartEngine",2}}}; }; }; -class datsun1_civil_3_open_DZE2: datsun1_civil_3_open_DZE1 -{ - armor = 50; // car 20 - upgradeVehicle[] = {"datsun1_civil_3_open_DZE1_DZE3",{{"ItemLRK",1},{"ItemTent",1}}}; - 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 datsun1_civil_3_open; +class datsun1_civil_3_open_DZE: datsun1_civil_3_open { + terrainCoef = 2.5; + + class Upgrades { + ORP[] = {"datsun1_civil_3_open_DZE1",{},{{"ItemORP",1},{"PartEngine",2}}}; }; }; +// Performance 1 +class datsun1_civil_1_open_DZE1: datsun1_civil_1_open_DZE { + maxspeed = 150; // max engine limit 125-130 + terrainCoef = 1.8; + + class Upgrades { + AVE[] = {"datsun1_civil_1_open_DZE2",{},{{"ItemAVE",1},{"PartGeneric",4},{"ItemTankTrap",2}}}; + }; +}; +class datsun1_civil_2_covered_DZE1: datsun1_civil_2_covered_DZE { + maxspeed = 150; // car 100 + terrainCoef = 1.8; + + class Upgrades { + AVE[] = {"datsun1_civil_2_covered_DZE2",{},{{"ItemAVE",1},{"PartGeneric",4},{"ItemTankTrap",2}}}; + }; +}; +class datsun1_civil_3_open_DZE1: datsun1_civil_3_open_DZE { + maxspeed = 150; // car 100 + terrainCoef = 1.8; + + class Upgrades { + AVE[] = {"datsun1_civil_3_open_DZE2",{},{{"ItemAVE",1},{"PartGeneric",4},{"ItemTankTrap",2}}}; + }; +}; + +// Armor 2 +class datsun1_civil_1_open_DZE2: datsun1_civil_1_open_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 Upgrades { + LRK[] = {"datsun1_civil_1_open_DZE3",{},{{"ItemLRK",1},{"PartGeneric",2},{"ItemTent",1}}}; + }; +}; +class datsun1_civil_2_covered_DZE2: datsun1_civil_2_covered_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 Upgrades { + LRK[] = {"datsun1_civil_2_covered_DZE3",{},{{"ItemLRK",1},{"PartGeneric",2},{"ItemTent",1}}}; + }; +}; +class datsun1_civil_3_open_DZE2: datsun1_civil_3_open_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 Upgrades { + LRK[] = {"datsun1_civil_3_open_DZE3",{},{{"ItemLRK",1},{"PartGeneric",2},{"ItemTent",1}}}; + }; +}; // Cargo 3 -class datsun1_civil_1_open_DZE3: datsun1_civil_1_open_DZE2 -{ +class datsun1_civil_1_open_DZE3: datsun1_civil_1_open_DZE2 { transportMaxWeapons = 20; // car 10 - transportMaxMagazines = 100; // car 50 + transportMaxMagazines = 100; // car 50 transportmaxbackpacks = 4; // car 2 - upgradeVehicle[] = {"datsun1_civil_1_open_DZE4",{{"ItemTNK",1},{"PartFueltank",2}}}; + + class Upgrades { + TNK[] = {"datsun1_civil_1_open_DZE4",{},{{"ItemTNK",1},{"PartFueltank",2}}}; + }; }; -class datsun1_civil_2_covered_DZE3: datsun1_civil_2_covered_DZE2 -{ +class datsun1_civil_2_covered_DZE3: datsun1_civil_2_covered_DZE2 { transportMaxWeapons = 20; // car 10 - transportMaxMagazines = 100; // car 50 + transportMaxMagazines = 100; // car 50 transportmaxbackpacks = 4; // car 2 - upgradeVehicle[] = {"datsun1_civil_2_covered_DZE4",{{"ItemTNK",1},{"PartFueltank",2}}}; + + class Upgrades { + TNK[] = {"datsun1_civil_2_covered_DZE4",{},{{"ItemTNK",1},{"PartFueltank",2}}}; + }; }; -class datsun1_civil_3_open_DZE3: datsun1_civil_3_open_DZE2 -{ +class datsun1_civil_3_open_DZE3: datsun1_civil_3_open_DZE2 { transportMaxWeapons = 20; // car 10 - transportMaxMagazines = 100; // car 50 + transportMaxMagazines = 100; // car 50 transportmaxbackpacks = 4; // car 2 - upgradeVehicle[] = {"datsun1_civil_3_open_DZE4",{{"ItemTNK",1},{"PartFueltank",2}}}; + + class Upgrades { + TNK[] = {"datsun1_civil_3_open_DZE4",{},{{"ItemTNK",1},{"PartFueltank",2}}}; + }; }; + // Fuel 4 -class datsun1_civil_1_open_DZE4: datsun1_civil_1_open_DZE3 -{ +class datsun1_civil_1_open_DZE4: datsun1_civil_1_open_DZE3 { fuelCapacity = 210; // car 100 }; -class datsun1_civil_2_covered_DZE4: datsun1_civil_2_covered_DZE3 -{ +class datsun1_civil_2_covered_DZE4: datsun1_civil_2_covered_DZE3 { fuelCapacity = 210; // car 100 }; -class datsun1_civil_3_open_DZE4: datsun1_civil_3_open_DZE3 -{ +class datsun1_civil_3_open_DZE4: datsun1_civil_3_open_DZE3 { fuelCapacity = 210; // car 100 }; \ No newline at end of file diff --git a/SQF/dayz_code/compile/player_upgradeVehicle.sqf b/SQF/dayz_code/compile/player_upgradeVehicle.sqf index a2ad370a6..6f31f89f3 100644 --- a/SQF/dayz_code/compile/player_upgradeVehicle.sqf +++ b/SQF/dayz_code/compile/player_upgradeVehicle.sqf @@ -7,6 +7,9 @@ private ["_proceed","_itemIn","_countIn","_missing","_missingQty","_qty","_remov if(DZE_ActionInProgress) exitWith { cutText [(localize "STR_EPOCH_PLAYER_52") , "PLAIN DOWN"]; }; DZE_ActionInProgress = true; +// This is used to find correct upgrade based what upgrades was called allows multiple upgrades per vehicle. +_upgrade = _this select 0; + if (vehicle player != player) exitWith {DZE_ActionInProgress = false; cutText [(localize "STR_EPOCH_ACTIONS_18"), "PLAIN DOWN"]}; // look for nearest empty vehicle @@ -24,72 +27,87 @@ if (_IsNearVehicle >= 1) then { _vehicle = _findNearestVehicle select 0; _notNearestPlayer = _vehicle call dze_isnearest_player; - + if (!isNull _vehicle and local _vehicle and !_notNearestPlayer) then { _classname = typeOf _vehicle; // lookup vehicle and find if any upgrades are available - _upgrade = getArray (configFile >> "CfgVehicles" >> _classname >> "upgradeVehicle"); + _upgrade = getArray (configFile >> "CfgVehicles" >> _classname >> "Upgrades" >> _upgrade); - if ((count _upgrade) > 0) then { + if (!isNil "_upgrade" && (count _upgrade) > 0) then { _newclassname = _upgrade select 0; - _requirements = _upgrade select 1; - + _requirementsWeapon = _upgrade select 1; + _requirementsMagazine = _upgrade select 2; + _missingQty = 0; _missing = ""; - + _proceed = true; { _itemIn = _x select 0; _countIn = _x select 1; _qty = { (_x == _itemIn) || (configName(inheritsFrom(configFile >> "cfgMagazines" >> _x)) == _itemIn) } count magazines player; if(_qty < _countIn) exitWith { _missing = _itemIn; _missingQty = (_countIn - _qty); _proceed = false; }; - } forEach _requirements; - + } forEach _requirementsMagazine; + { + _itemIn = _x select 0; + _countIn = _x select 1; + _qty = { (_x == _itemIn) || (configName(inheritsFrom(configFile >> "cfgWeapons" >> _x)) == _itemIn) } count weapons player; + if(_qty < _countIn) exitWith { _missing = _itemIn; _missingQty = (_countIn - _qty); _proceed = false; }; + } forEach _requirementsWeapon; + if (_proceed) then { player playActionNow "Medic"; [player,20,true,(getPosATL player)] spawn player_alertZombies; - - _temp_removed_array = []; + + _temp_removed_array_mag = []; + _temp_removed_array_wep = []; _removed_total = 0; _tobe_removed_total = 0; - + { _removed = 0; _itemIn = _x select 0; _countIn = _x select 1; - // diag_log format["Recipe Finish: %1 %2", _itemIn,_countIn]; + diag_log format["Recipe Finish: %1 %2", _itemIn,_countIn]; _tobe_removed_total = _tobe_removed_total + _countIn; - { + { if( (_removed < _countIn) && ((_x == _itemIn) || configName(inheritsFrom(configFile >> "cfgMagazines" >> _x)) == _itemIn)) then { _num_removed = ([player,_x] call BIS_fnc_invRemove); _removed = _removed + _num_removed; _removed_total = _removed_total + _num_removed; if(_num_removed >= 1) then { - _temp_removed_array set [count _temp_removed_array,_x]; + _temp_removed_array_mag set [count _temp_removed_array_mag,_x]; }; }; - } forEach magazines player; + { + if( (_removed < _countIn) && ((_x == _itemIn) || configName(inheritsFrom(configFile >> "cfgWeapons" >> _x)) == _itemIn)) then { + _num_removed = ([player,_x] call BIS_fnc_invRemove); + _removed = _removed + _num_removed; + _removed_total = _removed_total + _num_removed; + if(_num_removed >= 1) then { + _temp_removed_array_wep set [count _temp_removed_array_wep,_x]; + }; + }; + } forEach weapons player; } forEach _requirements; // all parts removed proceed if (_tobe_removed_total == _removed_total) then { - + _objectID = _vehicle getVariable ["ObjectID","0"]; _objectUID = _vehicle getVariable ["ObjectUID","0"]; if(_objectID == "0" && _objectUID == "0") then { - cutText [(localize "str_epoch_player_50"), "PLAIN DOWN"]; - - } else { - + } + else { // Get position _location = getposATL _vehicle; @@ -98,31 +116,34 @@ if (_IsNearVehicle >= 1) then { // Current charID _objectCharacterID = _vehicle getVariable ["CharacterID","0"]; - + PVDZE_veh_Upgrade = [_vehicle,[_dir,_location],_newclassname,true,_objectCharacterID,player]; - publicVariableServer "PVDZE_veh_Upgrade"; + publicVariableServer "PVDZE_veh_Upgrade"; cutText [(localize "STR_EPOCH_VEHUP_SUCCESS"), "PLAIN DOWN"]; }; - - } else { - - {player addMagazine _x;} forEach _temp_removed_array; + } + else { + {player addMagazine _x;} forEach _temp_removed_array_mag; + {player addWeapon _x;} forEach _temp_removed_array_wep; cutText [format[(localize "str_epoch_player_145"),_removed_total,_tobe_removed_total], "PLAIN DOWN"]; - }; - } else { + } + else { _textMissing = getText(configFile >> "CfgMagazines" >> _missing >> "displayName"); cutText [format[(localize "str_epoch_player_146"),_missingQty, _textMissing], "PLAIN DOWN"]; }; - } else { + } + else { cutText [(localize "str_epoch_player_82"), "PLAIN DOWN"]; }; - } else { + } + else { cutText [(localize "str_epoch_player_245"), "PLAIN DOWN"]; }; -} else { +} +else { cutText [(localize "STR_EPOCH_PLAYER_27"), "PLAIN DOWN"]; }; -DZE_ActionInProgress = false; +DZE_ActionInProgress = false; \ No newline at end of file