diff --git a/SQF/dayz_code/Configs/CfgWeapons/CfgWeapons.hpp b/SQF/dayz_code/Configs/CfgWeapons/CfgWeapons.hpp
index e3d08d31a..88798fb17 100644
--- a/SQF/dayz_code/Configs/CfgWeapons/CfgWeapons.hpp
+++ b/SQF/dayz_code/Configs/CfgWeapons/CfgWeapons.hpp
@@ -303,6 +303,7 @@ class CfgWeapons
#include "Tools\Binocular.hpp"
#include "Tools\NVG.hpp"
+ #include "Tools\BinocularVector.hpp"
#include "Tools\Chainsaw.hpp"
#include "Tools\Map.hpp"
diff --git a/SQF/dayz_code/Configs/CfgWeapons/Tools/Binocular.hpp b/SQF/dayz_code/Configs/CfgWeapons/Tools/Binocular.hpp
index 18b48b888..a906cd3a6 100644
--- a/SQF/dayz_code/Configs/CfgWeapons/Tools/Binocular.hpp
+++ b/SQF/dayz_code/Configs/CfgWeapons/Tools/Binocular.hpp
@@ -1,4 +1,14 @@
class Binocular : Default
{
modelOptics = "z\addons\dayz_communityweapons\binocular\2dscope_binocular.p3d";
+};
+
+class BinocularBroken : Default
+{
+ scope = 2;
+ type = 4096;
+ displayName = $STR_EQUIP_BROKEN_BINOCULAR;
+ descriptionShort = $STR_EQUIP_BROKEN_BINOCULAR_DESC;
+ model = "\ca\weapons\dalekohled_proxy";
+ picture = "\dayz_epoch_c\icons\tools\ItemBinocularBroken.paa";
};
\ No newline at end of file
diff --git a/SQF/dayz_code/Configs/CfgWeapons/Tools/BinocularVector.hpp b/SQF/dayz_code/Configs/CfgWeapons/Tools/BinocularVector.hpp
new file mode 100644
index 000000000..1ea78e4f8
--- /dev/null
+++ b/SQF/dayz_code/Configs/CfgWeapons/Tools/BinocularVector.hpp
@@ -0,0 +1,24 @@
+class Binocular_VectorBroken : Default
+{
+ scope = 2;
+ type = 4096;
+ displayName = $STR_EQUIP_BROKEN_BINOCULARVECTOR;
+ descriptionShort = $STR_EQUIP_BROKEN_BINOCULARVECTOR_DESC;
+ model = "\ca\weapons_E\vector\vector21dt";
+ picture = "\dayz_epoch_c\icons\tools\ItemBinocularVectorBroken.paa";
+
+ class ItemActions
+ {
+ class Repair
+ {
+ text = $STR_ACTIONS_FIX_BIONCULARVECTOR;
+ script = ";['Repair','CfgWeapons', _id] spawn player_craftItem;";
+ neednearby[] = {};
+ requiretools[] = {"ItemSolder_DZE"};
+ output[] = {};
+ outputweapons[] = {"Binocular_Vector"};
+ input[] = {{"equip_floppywire",1},{"equip_scrapelectronics",1}};
+ inputweapons[] = {"Binocular_VectorBroken"};
+ };
+ };
+};
\ No newline at end of file
diff --git a/SQF/dayz_code/Configs/CfgWeapons/Tools/Crowbar.hpp b/SQF/dayz_code/Configs/CfgWeapons/Tools/Crowbar.hpp
index 71a4ec814..5e18e28e2 100644
--- a/SQF/dayz_code/Configs/CfgWeapons/Tools/Crowbar.hpp
+++ b/SQF/dayz_code/Configs/CfgWeapons/Tools/Crowbar.hpp
@@ -45,4 +45,19 @@ class ItemCrowbarBent : ItemCore
picture = "\dayz_epoch_c\icons\tools\ItemCrowbarBroken.paa";
displayName = $STR_EQUIP_NAME_CROWBARBENT;
descriptionShort = $STR_EQUIP_DESC_CROWBARBENT;
+
+ class ItemActions
+ {
+ class Repair
+ {
+ text = $STR_ACTIONS_FIX_CROWBAR;
+ script = ";['Repair','CfgWeapons', _id] spawn player_craftItem;";
+ neednearby[] = {"fire"};
+ requiretools[] = {"ItemToolbox"};
+ output[] = {};
+ outputweapons[] = {"ItemCrowbar"};
+ input[] = {{"PartGeneric",1}};
+ inputweapons[] = {"ItemCrowbarBent"};
+ };
+ };
};
\ No newline at end of file
diff --git a/SQF/dayz_code/Configs/CfgWeapons/Tools/Etool.hpp b/SQF/dayz_code/Configs/CfgWeapons/Tools/Etool.hpp
index 45042b3c6..4a187e091 100644
--- a/SQF/dayz_code/Configs/CfgWeapons/Tools/Etool.hpp
+++ b/SQF/dayz_code/Configs/CfgWeapons/Tools/Etool.hpp
@@ -14,4 +14,19 @@ class ItemEtoolBroken : ItemCore
picture = "\dayz_epoch_c\icons\tools\ItemEtoolBroken.paa";
displayName = $STR_EQUIP_NAME_1_BROKEN;
descriptionShort = $STR_EQUIP_DESC_1_BROKEN;
+
+ class ItemActions
+ {
+ class Repair
+ {
+ text = $STR_ACTIONS_FIX_ETOOL;
+ script = ";['Repair','CfgWeapons', _id] spawn player_craftItem;";
+ neednearby[] = {};
+ requiretools[] = {};
+ output[] = {};
+ outputweapons[] = {"ItemEtool"};
+ input[] = {{"equip_duct_tape",1},{"equip_lever",1}};
+ inputweapons[] = {"ItemEtoolBroken"};
+ };
+ };
};
\ No newline at end of file
diff --git a/SQF/dayz_code/Configs/CfgWeapons/Tools/FishingPole.hpp b/SQF/dayz_code/Configs/CfgWeapons/Tools/FishingPole.hpp
index c9d186251..67122189e 100644
--- a/SQF/dayz_code/Configs/CfgWeapons/Tools/FishingPole.hpp
+++ b/SQF/dayz_code/Configs/CfgWeapons/Tools/FishingPole.hpp
@@ -45,4 +45,19 @@ class ItemFishingPoleBroken : ItemCore
picture = "\dayz_epoch_c\icons\tools\ItemFishingpoleBroken.paa";
displayName = $STR_ITEM_NAME_FISHINGPOLEBROKEN;
descriptionShort = $STR_ITEM_DESC_FISHINGPOLE_BROKEN;
+
+ class ItemActions
+ {
+ class Repair
+ {
+ text = $STR_ACTIONS_FIX_FISHINGPOLE;
+ script = ";['Repair','CfgWeapons', _id] spawn player_craftItem;";
+ neednearby[] = {};
+ requiretools[] = {};
+ output[] = {};
+ outputweapons[] = {"ItemFishingPole"};
+ input[] = {{"equip_duct_tape",1},{"equip_lever",1}};
+ inputweapons[] = {"ItemFishingPoleBroken"};
+ };
+ };
};
\ No newline at end of file
diff --git a/SQF/dayz_code/Configs/CfgWeapons/Tools/GPS.hpp b/SQF/dayz_code/Configs/CfgWeapons/Tools/GPS.hpp
index d9918e4c7..cbc7e9ac6 100644
--- a/SQF/dayz_code/Configs/CfgWeapons/Tools/GPS.hpp
+++ b/SQF/dayz_code/Configs/CfgWeapons/Tools/GPS.hpp
@@ -10,4 +10,19 @@ class ItemGPSBroken_DZE : ItemCore
model = "z\addons\dayz_communityassets\models\gps.p3d";
picture = "\dayz_epoch_c\icons\tools\ItemGPSBroken.paa";
descriptionShort = $STR_EQUIP_BROKEN_GPS_DESC;
+
+ class ItemActions
+ {
+ class Repair
+ {
+ text = $STR_ACTIONS_FIX_GPS;
+ script = ";['Repair','CfgWeapons', _id] spawn player_craftItem;";
+ neednearby[] = {};
+ requiretools[] = {"ItemSolder_DZE"};
+ output[] = {};
+ outputweapons[] = {"ItemGPS"};
+ input[] = {{"equip_floppywire",1},{"equip_scrapelectronics",1}};
+ inputweapons[] = {"ItemGPSBroken_DZE"};
+ };
+ };
};
\ No newline at end of file
diff --git a/SQF/dayz_code/Configs/CfgWeapons/Tools/Hatchet.hpp b/SQF/dayz_code/Configs/CfgWeapons/Tools/Hatchet.hpp
index babcddeff..d18b4b61b 100644
--- a/SQF/dayz_code/Configs/CfgWeapons/Tools/Hatchet.hpp
+++ b/SQF/dayz_code/Configs/CfgWeapons/Tools/Hatchet.hpp
@@ -33,14 +33,19 @@ class ItemHatchetBroken : ItemCore
model = "\dayz_equip\models\hatchet.p3d";
displayName = $STR_name_ItemHatchetBroken;
descriptionShort = $STR_desc_ItemHatchetBroken;
- fixedTool = "ItemHatchet";
class ItemActions
{
class Repair
{
text = $STR_ACTIONS_FIX_HATCHET;
- script="spawn player_fixHatchet;";
- };
+ script = ";['Repair','CfgWeapons', _id] spawn player_craftItem;";
+ neednearby[] = {};
+ requiretools[] = {};
+ output[] = {};
+ outputweapons[] = {"ItemHatchet"};
+ input[] = {{"equip_duct_tape",1},{"equip_lever",1}};
+ inputweapons[] = {"ItemHatchetBroken"};
+ };
};
};
\ No newline at end of file
diff --git a/SQF/dayz_code/Configs/CfgWeapons/Tools/NVG.hpp b/SQF/dayz_code/Configs/CfgWeapons/Tools/NVG.hpp
index 37da48244..1fd863e6b 100644
--- a/SQF/dayz_code/Configs/CfgWeapons/Tools/NVG.hpp
+++ b/SQF/dayz_code/Configs/CfgWeapons/Tools/NVG.hpp
@@ -11,11 +11,27 @@ class NVGoggles_DZE: NVGoggles
model = "\dayz_epoch_c\items\nvg\nvg_dzn.p3d";
};
-class ItemNVGBroken_DZE : ItemCore
+class ItemNVGBroken_DZE : Default
{
scope = 2;
+ type = 4096;
displayName = $STR_EQUIP_BROKEN_NV;
model = "\dayz_epoch_c\items\nvg\nvg_dzn.p3d";
picture = "\dayz_epoch_c\icons\tools\ItemNightVisionBroken.paa";
descriptionShort = $STR_EQUIP_BROKEN_NV_DESC;
+
+ class ItemActions
+ {
+ class Repair
+ {
+ text = $STR_ACTIONS_FIX_NIGHTVISION;
+ script = ";['Repair','CfgWeapons', _id] spawn player_craftItem;";
+ neednearby[] = {};
+ requiretools[] = {"ItemSolder_DZE"};
+ output[] = {};
+ outputweapons[] = {"NVGoggles"};
+ input[] = {{"equip_floppywire",1},{"equip_scrapelectronics",1}};
+ inputweapons[] = {"ItemNVGBroken_DZE"};
+ };
+ };
};
\ No newline at end of file
diff --git a/SQF/dayz_code/Configs/CfgWeapons/Tools/Pickaxe.hpp b/SQF/dayz_code/Configs/CfgWeapons/Tools/Pickaxe.hpp
index 287694996..ec7b402e8 100644
--- a/SQF/dayz_code/Configs/CfgWeapons/Tools/Pickaxe.hpp
+++ b/SQF/dayz_code/Configs/CfgWeapons/Tools/Pickaxe.hpp
@@ -23,14 +23,19 @@ class ItemPickaxeBroken : ItemCore
picture = "\dayz_epoch_c\icons\tools\ItemPickaxeBroken.paa";
displayName = $STR_name_ItemPickaxeBroken;
descriptionShort = $STR_desc_ItemPickaxeBroken;
- fixedTool = "ItemPickaxe";
class ItemActions
{
class Repair
{
text = $STR_ACTIONS_FIX_PICKAXE;
- script = "spawn player_fixHatchet;";
- };
+ script = ";['Repair','CfgWeapons', _id] spawn player_craftItem;";
+ neednearby[] = {};
+ requiretools[] = {};
+ output[] = {};
+ outputweapons[] = {"ItemPickaxe"};
+ input[] = {{"equip_duct_tape",1},{"equip_lever",1}};
+ inputweapons[] = {"ItemPickaxeBroken"};
+ };
};
};
\ No newline at end of file
diff --git a/SQF/dayz_code/Configs/CfgWeapons/Tools/Radio.hpp b/SQF/dayz_code/Configs/CfgWeapons/Tools/Radio.hpp
index 56184582f..52e2e13c5 100644
--- a/SQF/dayz_code/Configs/CfgWeapons/Tools/Radio.hpp
+++ b/SQF/dayz_code/Configs/CfgWeapons/Tools/Radio.hpp
@@ -18,4 +18,19 @@ class ItemRadioBroken_DZE : ItemCore
model = "\nst\ns_dayz\items\radio\radio_dzn.p3d";
picture = "\dayz_epoch_c\icons\tools\ItemRadioBroken.paa";
descriptionShort = $STR_EQUIP_BROKEN_RADIO_DESC;
+
+ class ItemActions
+ {
+ class Repair
+ {
+ text = $STR_ACTIONS_FIX_RADIO;
+ script = ";['Repair','CfgWeapons', _id] spawn player_craftItem;";
+ neednearby[] = {};
+ requiretools[] = {"ItemSolder_DZE"};
+ output[] = {};
+ outputweapons[] = {"ItemRadio"};
+ input[] = {{"equip_floppywire",1},{"equip_scrapelectronics",1}};
+ inputweapons[] = {"ItemRadioBroken_DZE"};
+ };
+ };
};
\ No newline at end of file
diff --git a/SQF/dayz_code/Configs/CfgWeapons/Tools/Shovel.hpp b/SQF/dayz_code/Configs/CfgWeapons/Tools/Shovel.hpp
index eee967590..88694bfd8 100644
--- a/SQF/dayz_code/Configs/CfgWeapons/Tools/Shovel.hpp
+++ b/SQF/dayz_code/Configs/CfgWeapons/Tools/Shovel.hpp
@@ -14,4 +14,19 @@ class ItemShovelBroken : ItemCore
picture = "\dayz_epoch_c\icons\tools\ItemShovelBroken.paa";
displayName = $STR_EQUIP_NAME_1b_BROKEN;
descriptionShort = $STR_EQUIP_DESC_1b_BROKEN;
+
+ class ItemActions
+ {
+ class Repair
+ {
+ text = $STR_ACTIONS_FIX_SHOVEL;
+ script = ";['Repair','CfgWeapons', _id] spawn player_craftItem;";
+ neednearby[] = {};
+ requiretools[] = {};
+ output[] = {};
+ outputweapons[] = {"ItemShovel"};
+ input[] = {{"equip_duct_tape",1},{"equip_lever",1}};
+ inputweapons[] = {"ItemShovelBroken"};
+ };
+ };
};
\ No newline at end of file
diff --git a/SQF/dayz_code/Configs/CfgWeapons/Tools/Sledgehammer.hpp b/SQF/dayz_code/Configs/CfgWeapons/Tools/Sledgehammer.hpp
index acb095532..bc62a310c 100644
--- a/SQF/dayz_code/Configs/CfgWeapons/Tools/Sledgehammer.hpp
+++ b/SQF/dayz_code/Configs/CfgWeapons/Tools/Sledgehammer.hpp
@@ -33,6 +33,21 @@ class ItemSledgeBroken: ItemCore
picture = "\dayz_epoch_c\icons\tools\ItemSledge1Broken.paa";
displayName = $STR_name_ItemSledgeHammerBroken;
descriptionShort = $STR_desc_ItemSledgeHammerBroken;
+
+ class ItemActions
+ {
+ class Repair
+ {
+ text = $STR_ACTIONS_FIX_SLEDGE_HAMMER;
+ script = ";['Repair','CfgWeapons', _id] spawn player_craftItem;";
+ neednearby[] = {};
+ requiretools[] = {};
+ output[] = {};
+ outputweapons[] = {"ItemSledge"};
+ input[] = {{"equip_duct_tape",1},{"ItemSledgeHandle",1}};
+ inputweapons[] = {"ItemSledgeBroken"};
+ };
+ };
};
//Vanilla sledge is using a different model.
@@ -53,14 +68,19 @@ class ItemSledgeHammerBroken : ItemCore
picture = "\dayz_epoch_c\icons\tools\ItemSledge2Broken.paa";
displayName = $STR_name_ItemSledgeHammerBroken;
descriptionShort = $STR_desc_ItemSledgeHammerBroken;
- fixedTool = "ItemSledgeHammer";
class ItemActions
{
- class Toolbelt
+ class Repair
{
text = $STR_ACTIONS_FIX_SLEDGE_HAMMER;
- script = "spawn player_fixHatchet;";
- };
- };
+ script = ";['Repair','CfgWeapons', _id] spawn player_craftItem;";
+ neednearby[] = {};
+ requiretools[] = {};
+ output[] = {};
+ outputweapons[] = {"ItemSledgeHammer"};
+ input[] = {{"equip_duct_tape",1},{"equip_lever",1}};
+ inputweapons[] = {"ItemSledgeHammerBroken"};
+ };
+ };
};
\ No newline at end of file
diff --git a/SQF/dayz_code/init/compiles.sqf b/SQF/dayz_code/init/compiles.sqf
index 2927aad38..c482b4db7 100644
--- a/SQF/dayz_code/init/compiles.sqf
+++ b/SQF/dayz_code/init/compiles.sqf
@@ -115,12 +115,12 @@ if (!isDedicated) then {
player_fillquiver = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_fillQuiver.sqf";
call compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_switchWeapon.sqf";
player_gather = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_gather.sqf";
- player_tearClothes = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_tearClothes.sqf";
- player_fixHatchet = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_fixTools.sqf";
+ player_tearClothes = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_tearClothes.sqf";
player_sharpen = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_sharpen.sqf";
player_butcher = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\gather_meat.sqf";
player_pushPlane = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_pushPlane.sqf";
+ //player_fixHatchet = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_fixTools.sqf";
//player_repairVehicle = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\repair_vehicle.sqf";
//player_salvageVehicle = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\salvage_vehicle.sqf";
//player_makeFire = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_makefire.sqf";
diff --git a/SQF/dayz_code/stringtable.xml b/SQF/dayz_code/stringtable.xml
index da710dd6c..056b87d7c 100644
--- a/SQF/dayz_code/stringtable.xml
+++ b/SQF/dayz_code/stringtable.xml
@@ -25274,7 +25274,23 @@
Broken APSI (Anti PSI) device, that must be repaired.
Kaputter APSI (Anti PSI) Emitter, welcher repariert werden muss.
-
+
+
+ Broken Binocular
+ Kaputtes Fernglas
+
+
+ Broken Binocular that must be repaired.
+ Ein kaputtes Fernglas, welches repariert werden muss.
+
+
+ Broken Rangefinder
+ Kaputter Entfernungsmesser
+
+
+ Broken Rangefinder that must be repaired.
+ Ein kaputter Entfernungsmesser, welcher repariert werden muss.
+
Disabled:
Deaktiviert:
@@ -25493,6 +25509,38 @@
%1 or %2
%1 oder %2
+
+ Fix Shovel
+ Schaufel reparieren
+
+
+ Fix Crowbar
+ Brechstange reparieren
+
+
+ Fix Entrenching Tool
+ Klappspaten reparieren
+
+
+ Fix Fishing Pole
+ Angel reparieren
+
+
+ Fix Nightvision
+ Nachtsichtgerät reparieren
+
+
+ Fix Rangefinder
+ Entfernungsmesser reparieren
+
+
+ Fix Radio
+ Funkgerät reparieren
+
+
+ Fix GPS
+ GPS reparieren
+