From 5c8ae96887d102a0a5cb48d00c00f578f948b36c Mon Sep 17 00:00:00 2001 From: ebaydayz Date: Mon, 9 Jan 2017 20:19:01 -0500 Subject: [PATCH] Add military flashlight attachments Vanilla commit: https://github.com/DayZMod/DayZ/commit/b6ba294b70a97adc571f6a8a6416d796053451f5 --- CHANGE LOG 1.0.6.1.txt | 2 + .../Configs/CfgLoot/Groups/Attachments.hpp | 6 +- .../CfgMagazines/Attachments/Attachments.hpp | 5 +- .../Configs/CfgMagazines/Attachments/MFL.hpp | 21 + .../CfgMagazines/Attachments/MFL_Pist.hpp | 21 + .../CfgServerTrader/Category/Attachments.hpp | 10 + .../Configs/CfgWeapons/Pistols/G17.hpp | 71 ++- .../Configs/CfgWeapons/Rifles/Crossbow.hpp | 94 ++- .../Configs/CfgWeapons/Rifles/M16A4.hpp | 259 +++++++- .../Configs/CfgWeapons/Rifles/M4A1.hpp | 575 +++++++++++++++++- .../Configs/CfgWeapons/Rifles/Mosin.hpp | 136 ++++- .../CfgWeapons/Rifles/Remington870.hpp | 32 +- .../Configs/CfgWeapons/Rifles/SA58.hpp | 139 ++++- .../R3F_Weight/Magazines/Attachments.hpp | 8 + SQF/dayz_code/stringtable.xml | 199 +++++- Server Files/SQL/1.0.6.1_Updates.sql | 8 +- Server Files/SQL/epoch.sql | 2 + 17 files changed, 1530 insertions(+), 58 deletions(-) create mode 100644 SQF/dayz_code/Configs/CfgMagazines/Attachments/MFL.hpp create mode 100644 SQF/dayz_code/Configs/CfgMagazines/Attachments/MFL_Pist.hpp diff --git a/CHANGE LOG 1.0.6.1.txt b/CHANGE LOG 1.0.6.1.txt index 9438a02f2..48b98fc21 100644 --- a/CHANGE LOG 1.0.6.1.txt +++ b/CHANGE LOG 1.0.6.1.txt @@ -5,6 +5,8 @@ [NEW] Server owners can configure nutrition system effects with DZE_NutritionDivisor in configVariables.sqf @icomrade [NEW] Added back DZE_doorManagementHarderPenalty config variable. Required wait between incorrect entries of manual door codes is multiplied by two each time, starting at five seconds. #1847 @oiad [NEW] Added server logging of failed unlock attempts on doors, safes and lockboxes. Also added server logging of all door locking and unlocking. #1853 @oiad +[NEW] Added loot positions for some more Sahrani and Tavi buildings +[NEW] Added military flashlight attachments [CHANGED] Turbo and HoldBreath keybindings are now allowed again. @icomrade [CHANGED] Removed drink from hands at ponds due to client FPS impact. Players can still fill drinks at ponds by right clicking a container. @ebayShopper diff --git a/SQF/dayz_code/Configs/CfgLoot/Groups/Attachments.hpp b/SQF/dayz_code/Configs/CfgLoot/Groups/Attachments.hpp index bc0ddfd3b..b2180ca64 100644 --- a/SQF/dayz_code/Configs/CfgLoot/Groups/Attachments.hpp +++ b/SQF/dayz_code/Configs/CfgLoot/Groups/Attachments.hpp @@ -26,5 +26,7 @@ AttachmentsWest[] = {Loot_MAGAZINE, 2, Attachment_M203}, {Loot_MAGAZINE, 1, Attachment_Sup556}, {Loot_MAGAZINE, 3, Attachment_Sup9}, - {Loot_MAGAZINE, 3, Attachment_SA58RIS} -}; \ No newline at end of file + {Loot_MAGAZINE, 3, Attachment_SA58RIS}, + {Loot_MAGAZINE, 3, Attachment_MFL}, + {Loot_MAGAZINE, 3, Attachment_MFL_Pist} +}; diff --git a/SQF/dayz_code/Configs/CfgMagazines/Attachments/Attachments.hpp b/SQF/dayz_code/Configs/CfgMagazines/Attachments/Attachments.hpp index 35cfc369e..a583d2d85 100644 --- a/SQF/dayz_code/Configs/CfgMagazines/Attachments/Attachments.hpp +++ b/SQF/dayz_code/Configs/CfgMagazines/Attachments/Attachments.hpp @@ -4,6 +4,9 @@ #include "FL.hpp" #include "FL_Pist.hpp" +#include "MFL.hpp" +#include "MFL_Pist.hpp" + #include "CCO.hpp" #include "Holo.hpp" #include "ACOG.hpp" @@ -21,4 +24,4 @@ #include "Ghillie.hpp" -#include "SA58RIS.hpp" \ No newline at end of file +#include "SA58RIS.hpp" diff --git a/SQF/dayz_code/Configs/CfgMagazines/Attachments/MFL.hpp b/SQF/dayz_code/Configs/CfgMagazines/Attachments/MFL.hpp new file mode 100644 index 000000000..f1d3babb8 --- /dev/null +++ b/SQF/dayz_code/Configs/CfgMagazines/Attachments/MFL.hpp @@ -0,0 +1,21 @@ +class Attachment_MFL : CA_Magazine +{ + scope = public; + count = 1; + type = WeaponSlotItem; + + model = "\z\addons\dayz_communityweapons\attachments\flashlight_rifle\flashlight_rifle.p3d"; + picture = "\z\addons\dayz_communityweapons\attachments\flashlight_rifle\data\m_flashlight_rifle_ca.paa"; + + displayName = $STR_DZ_ATT_MFL_RFL_NAME; + descriptionShort = $STR_DZ_ATT_MFL_RFL_DESC; + + class ItemActions + { + class AttachToPrimary + { + text = $STR_DZ_ATT_ACT_TO_PRIMARY; + script = "; [_id,1] call player_attachAttachment"; + }; + }; +}; diff --git a/SQF/dayz_code/Configs/CfgMagazines/Attachments/MFL_Pist.hpp b/SQF/dayz_code/Configs/CfgMagazines/Attachments/MFL_Pist.hpp new file mode 100644 index 000000000..5320650ef --- /dev/null +++ b/SQF/dayz_code/Configs/CfgMagazines/Attachments/MFL_Pist.hpp @@ -0,0 +1,21 @@ +class Attachment_MFL_Pist : CA_Magazine +{ + scope = public; + count = 1; + type = WeaponSlotItem; + + model = "\z\addons\dayz_communityweapons\attachments\flashlight_pistol\flashlight_pistol.p3d"; + picture = "\z\addons\dayz_communityweapons\attachments\flashlight_pistol\data\m_flashlight_pistol_ca.paa"; + + displayName = $STR_DZ_ATT_MFL_PST_NAME; + descriptionShort = $STR_DZ_ATT_MFL_PST_DESC; + + class ItemActions + { + class AttachToSecondary + { + text = $STR_DZ_ATT_ACT_TO_SECONDARY; + script = "; [_id,0] call player_attachAttachment"; + }; + }; +}; diff --git a/SQF/dayz_code/Configs/CfgServerTrader/Category/Attachments.hpp b/SQF/dayz_code/Configs/CfgServerTrader/Category/Attachments.hpp index 07a7dade8..bdcd145f5 100644 --- a/SQF/dayz_code/Configs/CfgServerTrader/Category/Attachments.hpp +++ b/SQF/dayz_code/Configs/CfgServerTrader/Category/Attachments.hpp @@ -19,11 +19,21 @@ class Category_693 { buy[] = {2,"ItemGoldBar"}; sell[] = {1,"ItemGoldBar"}; }; + class Attachment_MFL_Pist { + type = "trade_items"; + buy[] = {4,"ItemGoldBar"}; + sell[] = {2,"ItemGoldBar"}; + }; class Attachment_FL { type = "trade_items"; buy[] = {2,"ItemGoldBar"}; sell[] = {1,"ItemGoldBar"}; }; + class Attachment_MFL { + type = "trade_items"; + buy[] = {4,"ItemGoldBar"}; + sell[] = {2,"ItemGoldBar"}; + }; class Attachment_CCO { type = "trade_items"; buy[] = {4,"ItemGoldBar"}; diff --git a/SQF/dayz_code/Configs/CfgWeapons/Pistols/G17.hpp b/SQF/dayz_code/Configs/CfgWeapons/Pistols/G17.hpp index 488a4b91f..92d88e35b 100644 --- a/SQF/dayz_code/Configs/CfgWeapons/Pistols/G17.hpp +++ b/SQF/dayz_code/Configs/CfgWeapons/Pistols/G17.hpp @@ -16,6 +16,7 @@ class G17_DZ : glock17_EP1 { Attachment_Sup9 = "G17_SD_DZ"; Attachment_FL_Pist = "G17_FL_DZ"; + Attachment_MFL_Pist = "G17_MFL_DZ"; }; }; @@ -51,6 +52,38 @@ class G17_FL_DZ : G17_DZ }; }; +class G17_MFL_DZ : G17_DZ +{ + model = "z\addons\dayz_communityweapons\g17\g17_fl.p3d"; + picture = "\z\addons\dayz_communityweapons\g17\data\w_g17_fl_ca.paa"; + displayName = $STR_DZ_WPN_G17_MFL_NAME; + + class FlashLight + { + color[] = {0.9, 0.0, 0.0, 0.9}; + ambient[] = {0.1, 0.0, 0.0, 1.0}; + position = "flash dir"; + direction = "flash"; + angle = 30; + scale[] = {1, 1, 0.5}; + brightness = 0.08; + }; + + class Attachments + { + Attachment_Sup9 = "G17_SD_MFL_DZ"; + }; + + class ItemActions + { + class RemoveFlashlight + { + text = $STR_DZ_ATT_FL_PST_RMVE; + script = "; ['Attachment_MFL_Pist',_id,'G17_DZ'] call player_removeAttachment"; + }; + }; +}; + class G17_SD_DZ : M9SD { model = "z\addons\dayz_communityweapons\g17\g17_sd.p3d"; @@ -74,6 +107,7 @@ class G17_SD_DZ : M9SD class Attachments { Attachment_FL_Pist = "G17_SD_FL_DZ"; + Attachment_MFL_Pist = "G17_SD_MFL_DZ"; }; class ItemActions @@ -119,4 +153,39 @@ class G17_SD_FL_DZ : G17_SD_DZ script = "; ['Attachment_FL_Pist',_id,'G17_SD_DZ'] call player_removeAttachment"; }; }; -}; \ No newline at end of file +}; + +class G17_SD_MFL_DZ : G17_SD_DZ +{ + model = "z\addons\dayz_communityweapons\g17\g17_sd_fl.p3d"; + picture = "\z\addons\dayz_communityweapons\g17\data\w_g17_sd_fl_ca.paa"; + displayName = $STR_DZ_WPN_G17_SD_MFL_NAME; + + class FlashLight + { + color[] = {0.9, 0.0, 0.0, 0.9}; + ambient[] = {0.1, 0.0, 0.0, 1.0}; + position = "flash dir"; + direction = "flash"; + angle = 30; + scale[] = {1, 1, 0.5}; + brightness = 0.08; + }; + + class Attachments {}; + + class ItemActions + { + class RemoveSuppressor + { + text = $STR_ATTACHMENT_RMVE_Silencer; + script = "; ['Attachment_Sup9',_id,'G17_MFL_DZ'] call player_removeAttachment"; + }; + + class RemoveFlashlight + { + text = $STR_DZ_ATT_FL_PST_RMVE; + script = "; ['Attachment_MFL_Pist',_id,'G17_SD_DZ'] call player_removeAttachment"; + }; + }; +}; diff --git a/SQF/dayz_code/Configs/CfgWeapons/Rifles/Crossbow.hpp b/SQF/dayz_code/Configs/CfgWeapons/Rifles/Crossbow.hpp index 4f748a0c3..76fb44a80 100644 --- a/SQF/dayz_code/Configs/CfgWeapons/Rifles/Crossbow.hpp +++ b/SQF/dayz_code/Configs/CfgWeapons/Rifles/Crossbow.hpp @@ -9,6 +9,17 @@ brightness = 0.1;\ }; +#define CROSSBOW_MFLASHLIGHT class FlashLight\ +{\ + color[] = {0.9, 0.0, 0.0, 0.9};\ + ambient[] = {0.1, 0.0, 0.0, 1.0};\ + position = "fl_start";\ + direction = "fl_dir";\ + angle = 40;\ + scale[] = {1, 1, 0.5};\ + brightness = 0.08;\ +}; + class Crossbow_Base : Rifle @@ -53,6 +64,7 @@ class Crossbow_DZ : Crossbow_Base { Attachment_CCO = "Crossbow_CCO_DZ"; Attachment_FL = "Crossbow_FL_DZ"; + Attachment_MFL = "Crossbow_MFL_DZ"; Attachment_SCOPED = "Crossbow_Scope_DZ"; }; }; @@ -81,6 +93,30 @@ class Crossbow_FL_DZ : Crossbow_DZ }; }; +class Crossbow_MFL_DZ : Crossbow_DZ +{ + model = "z\addons\community_crossbow\models\crossbow_fl.p3d"; + picture = "\z\addons\community_crossbow\icons\crossbow_fl.paa"; + displayName = $STR_DZ_WPN_CROSSBOW_MFL_NAME; + + CROSSBOW_MFLASHLIGHT + + class Attachments + { + Attachment_CCO = "Crossbow_CCO_MFL_DZ"; + Attachment_SCOPED = "Crossbow_Scope_MFL_DZ"; + }; + + class ItemActions + { + class RemoveFlashlight + { + text = $STR_DZ_ATT_FL_RFL_RMVE; + script = "; ['Attachment_MFL',_id,'Crossbow_DZ'] call player_removeAttachment"; + }; + }; +}; + /*CCO*/ @@ -94,6 +130,7 @@ class Crossbow_CCO_DZ : Crossbow_DZ class Attachments { Attachment_FL = "Crossbow_CCO_FL_DZ"; + Attachment_MFL = "Crossbow_CCO_MFL_DZ"; }; class ItemActions @@ -132,6 +169,32 @@ class Crossbow_CCO_FL_DZ : Crossbow_CCO_DZ }; }; +class Crossbow_CCO_MFL_DZ : Crossbow_CCO_DZ +{ + model = "z\addons\community_crossbow\models\crossbow_cco_fl.p3d"; + picture = "\z\addons\community_crossbow\icons\crossbow_scoped.paa"; + displayName = $STR_DZ_WPN_CROSSBOW_CCO_MFL_NAME; + + CROSSBOW_MFLASHLIGHT + + class Attachments {}; + + class ItemActions + { + class RemoveCCO + { + text = $STR_DZ_ATT_CCO_RMVE; + script = "; ['Attachment_CCO',_id,'Crossbow_MFL_DZ'] call player_removeAttachment"; + }; + + class RemoveFlashlight + { + text = $STR_DZ_ATT_FL_RFL_RMVE; + script = "; ['Attachment_MFL',_id,'Crossbow_CCO_DZ'] call player_removeAttachment"; + }; + }; +}; + /*Scope*/ @@ -152,6 +215,7 @@ class Crossbow_Scope_DZ : Crossbow_DZ class Attachments { Attachment_FL = "Crossbow_Scope_FL_DZ"; + Attachment_MFL = "Crossbow_Scope_MFL_DZ"; }; class ItemActions @@ -190,4 +254,32 @@ class Crossbow_Scope_FL_DZ : Crossbow_Scope_DZ }; }; -#undef CROSSBOW_FLASHLIGHT \ No newline at end of file +class Crossbow_Scope_MFL_DZ : Crossbow_Scope_DZ +{ + model = "z\addons\community_crossbow\models\crossbow_scoped_fl.p3d"; + picture = "\z\addons\community_crossbow\icons\crossbow_scoped_fl.paa"; + displayName = $STR_DZ_WPN_CROSSBOW_SCOPE_MFL_NAME; + + CROSSBOW_MFLASHLIGHT + + class Attachments {}; + + class ItemActions + { + class RemoveScope + { + text = $STR_DZ_ATT_PU_RMVE; + script = "; ['Attachment_SCOPED',_id,'Crossbow_MFL_DZ'] call player_removeAttachment"; + }; + + class RemoveFlashlight + { + text = $STR_DZ_ATT_FL_RFL_RMVE; + script = "; ['Attachment_MFL',_id,'Crossbow_Scope_DZ'] call player_removeAttachment"; + }; + }; +}; + +#undef CROSSBOW_FLASHLIGHT + +#undef CROSSBOW_MFLASHLIGHT diff --git a/SQF/dayz_code/Configs/CfgWeapons/Rifles/M16A4.hpp b/SQF/dayz_code/Configs/CfgWeapons/Rifles/M16A4.hpp index 55cd898ec..d4b84f415 100644 --- a/SQF/dayz_code/Configs/CfgWeapons/Rifles/M16A4.hpp +++ b/SQF/dayz_code/Configs/CfgWeapons/Rifles/M16A4.hpp @@ -9,6 +9,17 @@ brightness = 0.1;\ } +#define M16A4_MFLASHLIGHT class FlashLight\ +{\ + color[] = {0.9, 0.0, 0.0, 0.9};\ + ambient[] = {0.1, 0.0, 0.0, 1.0};\ + position = "flash dir";\ + direction = "flash";\ + angle = 30;\ + scale[] = {1, 1, 0.5};\ + brightness = 0.08;\ +} + #define M16A4_ACOG modelOptics = "\Ca\weapons_E\SCAR\ACOG_TA31_optic_4x.p3d";\ class OpticsModes\ {\ @@ -53,13 +64,13 @@ class M16A4_DZ : M16A2 model = "z\addons\dayz_communityweapons\m16a4\m16a4.p3d"; picture = "\z\addons\dayz_communityweapons\m16a4\data\w_m16a4_ca.paa"; displayName = $STR_DZ_WPN_M16A4; - /* - magazines[] = + + /*magazines[] = { 30Rnd_556x45_Stanag, 30Rnd_556x45_StanagSD - }; - */ + };*/ //Allow use of G36 mags + class Attachments { Attachment_CCO = "M16A4_CCO_DZ"; @@ -67,6 +78,7 @@ class M16A4_DZ : M16A2 Attachment_ACOG = "M16A4_ACOG_DZ"; Attachment_M203 = "M16A4_GL_DZ"; Attachment_FL = "M16A4_FL_DZ"; + Attachment_MFL = "M16A4_MFL_DZ"; }; }; @@ -96,6 +108,32 @@ class M16A4_FL_DZ : M16A4_DZ }; }; +class M16A4_MFL_DZ : M16A4_DZ +{ + model = "z\addons\dayz_communityweapons\m16a4\m16a4_fl.p3d"; + picture = "\z\addons\dayz_communityweapons\m16a4\data\w_m16a4_fl_ca.paa"; + displayName = $STR_DZ_WPN_M16A4_MFL; + + M16A4_MFLASHLIGHT; + + class Attachments + { + Attachment_CCO = "M16A4_CCO_MFL_DZ"; + Attachment_Holo = "M16A4_Holo_MFL_DZ"; + Attachment_ACOG = "M16A4_ACOG_MFL_DZ"; + Attachment_M203 = "M16A4_GL_MFL_DZ"; + }; + + class ItemActions + { + class RemoveFlashlight + { + text = $STR_DZ_ATT_FL_RFL_RMVE; + script = "; ['Attachment_MFL',_id,'M16A4_DZ'] call player_removeAttachment"; + }; + }; +}; + class M16A4_GL_DZ : M16A4_DZ { model = "z\addons\dayz_communityweapons\m16a4\m16a4_gl.p3d"; @@ -111,6 +149,7 @@ class M16A4_GL_DZ : M16A4_DZ Attachment_Holo = "M16A4_GL_Holo_DZ"; Attachment_ACOG = "M16A4_GL_ACOG_DZ"; Attachment_FL = "M16A4_GL_FL_DZ"; + Attachment_MFL = "M16A4_GL_MFL_DZ"; }; class ItemActions @@ -153,6 +192,36 @@ class M16A4_GL_FL_DZ : M16A4_GL_DZ }; }; +class M16A4_GL_MFL_DZ : M16A4_GL_DZ +{ + model = "z\addons\dayz_communityweapons\m16a4\m16a4_gl_fl.p3d"; + picture = "\z\addons\dayz_communityweapons\m16a4\data\w_m16a4_gl_fl_ca.paa"; + displayName = $STR_DZ_WPN_M16A4_GL_MFL; + + M16A4_MFLASHLIGHT; + + class Attachments + { + Attachment_CCO = "M16A4_GL_CCO_MFL_DZ"; + Attachment_Holo = "M16A4_GL_Holo_MFL_DZ"; + Attachment_ACOG = "M16A4_GL_ACOG_MFL_DZ"; + }; + + class ItemActions + { + class RemoveGL + { + text = $STR_DZ_ATT_M203_RMVE; + script = "; ['Attachment_M203',_id,'M16A4_MFL_DZ'] call player_removeAttachment"; + }; + class RemoveFlashlight + { + text = $STR_DZ_ATT_FL_RFL_RMVE; + script = "; ['Attachment_MFL',_id,'M16A4_GL_DZ'] call player_removeAttachment"; + }; + }; +}; + //CCO @@ -166,6 +235,7 @@ class M16A4_CCO_DZ : M16A4_DZ { Attachment_M203 = "M16A4_GL_CCO_DZ"; Attachment_FL = "M16A4_CCO_FL_DZ"; + Attachment_MFL = "M16A4_CCO_MFL_DZ"; }; class ItemActions @@ -204,6 +274,32 @@ class M16A4_CCO_FL_DZ : M16A4_FL_DZ }; }; +class M16A4_CCO_MFL_DZ : M16A4_MFL_DZ +{ + model = "z\addons\dayz_communityweapons\m16a4\m16a4_cco_fl.p3d"; + picture = "\z\addons\dayz_communityweapons\m16a4\data\w_m16a4_cco_fl_ca.paa"; + displayName = $STR_DZ_WPN_M16A4_CCO_MFL; + + class Attachments + { + Attachment_M203 = "M16A4_GL_CCO_MFL_DZ"; + }; + + class ItemActions + { + class RemoveCCO + { + text = $STR_DZ_ATT_CCO_RMVE; + script = "; ['Attachment_CCO',_id,'M16A4_MFL_DZ'] call player_removeAttachment"; + }; + class RemoveFlashlight + { + text = $STR_DZ_ATT_FL_RFL_RMVE; + script = "; ['Attachment_MFL',_id,'M16A4_CCO_DZ'] call player_removeAttachment"; + }; + }; +}; + class M16A4_GL_CCO_DZ : M16A4_GL_DZ { model = "z\addons\dayz_communityweapons\m16a4\m16a4_gl_cco.p3d"; @@ -213,6 +309,7 @@ class M16A4_GL_CCO_DZ : M16A4_GL_DZ class Attachments { Attachment_FL = "M16A4_GL_CCO_FL_DZ"; + Attachment_MFL = "M16A4_GL_CCO_MFL_DZ"; }; class ItemActions @@ -258,6 +355,34 @@ class M16A4_GL_CCO_FL_DZ : M16A4_GL_FL_DZ }; }; +class M16A4_GL_CCO_MFL_DZ : M16A4_GL_MFL_DZ +{ + model = "z\addons\dayz_communityweapons\m16a4\m16a4_gl_cco_fl.p3d"; + picture = "\z\addons\dayz_communityweapons\m16a4\data\w_m16a4_gl_cco_fl_ca.paa"; + displayName = $STR_DZ_WPN_M16A4_GL_CCO_MFL; + + class Attachments {}; + + class ItemActions + { + class RemoveCCO + { + text = $STR_DZ_ATT_CCO_RMVE; + script = "; ['Attachment_CCO',_id,'M16A4_GL_MFL_DZ'] call player_removeAttachment"; + }; + class RemoveGL + { + text = $STR_DZ_ATT_M203_RMVE; + script = "; ['Attachment_M203',_id,'M16A4_CCO_MFL_DZ'] call player_removeAttachment"; + }; + class RemoveFlashlight + { + text = $STR_DZ_ATT_FL_RFL_RMVE; + script = "; ['Attachment_MFL',_id,'M16A4_GL_CCO_DZ'] call player_removeAttachment"; + }; + }; +}; + //Holo @@ -271,6 +396,7 @@ class M16A4_Holo_DZ : M16A4_DZ { Attachment_M203 = "M16A4_GL_Holo_DZ"; Attachment_FL = "M16A4_Holo_FL_DZ"; + Attachment_MFL = "M16A4_Holo_MFL_DZ"; }; class ItemActions @@ -309,6 +435,32 @@ class M16A4_Holo_FL_DZ : M16A4_FL_DZ }; }; +class M16A4_Holo_MFL_DZ : M16A4_MFL_DZ +{ + model = "z\addons\dayz_communityweapons\m16a4\m16a4_holo_fl.p3d"; + picture = "\z\addons\dayz_communityweapons\m16a4\data\w_m16a4_holo_fl_ca.paa"; + displayName = $STR_DZ_WPN_M16A4_HOLO_MFL; + + class Attachments + { + Attachment_M203 = "M16A4_GL_Holo_MFL_DZ"; + }; + + class ItemActions + { + class RemoveHolo + { + text = $STR_DZ_ATT_HOLO_RMVE; + script = "; ['Attachment_Holo',_id,'M16A4_MFL_DZ'] call player_removeAttachment"; + }; + class RemoveFlashlight + { + text = $STR_DZ_ATT_FL_RFL_RMVE; + script = "; ['Attachment_MFL',_id,'M16A4_Holo_DZ'] call player_removeAttachment"; + }; + }; +}; + class M16A4_GL_Holo_DZ : M16A4_GL_DZ { model = "z\addons\dayz_communityweapons\m16a4\m16a4_gl_holo.p3d"; @@ -318,6 +470,7 @@ class M16A4_GL_Holo_DZ : M16A4_GL_DZ class Attachments { Attachment_FL = "M16A4_GL_Holo_FL_DZ"; + Attachment_MFL = "M16A4_GL_Holo_MFL_DZ"; }; class ItemActions @@ -363,6 +516,34 @@ class M16A4_GL_Holo_FL_DZ : M16A4_GL_FL_DZ }; }; +class M16A4_GL_Holo_MFL_DZ : M16A4_GL_MFL_DZ +{ + model = "z\addons\dayz_communityweapons\m16a4\m16a4_gl_holo_fl.p3d"; + picture = "\z\addons\dayz_communityweapons\m16a4\data\w_m16a4_gl_holo_fl_ca.paa"; + displayName = $STR_DZ_WPN_M16A4_GL_HOLO_MFL; + + class Attachments {}; + + class ItemActions + { + class RemoveHolo + { + text = $STR_DZ_ATT_HOLO_RMVE; + script = "; ['Attachment_Holo',_id,'M16A4_GL_MFL_DZ'] call player_removeAttachment"; + }; + class RemoveGL + { + text = $STR_DZ_ATT_M203_RMVE; + script = "; ['Attachment_M203',_id,'M16A4_Holo_MFL_DZ'] call player_removeAttachment"; + }; + class RemoveFlashlight + { + text = $STR_DZ_ATT_FL_RFL_RMVE; + script = "; ['Attachment_MFL',_id,'M16A4_GL_Holo_DZ'] call player_removeAttachment"; + }; + }; +}; + //ACOG @@ -377,8 +558,9 @@ class M16A4_ACOG_DZ : M16A4_DZ class Attachments { - Attachment_M203 = M16A4_GL_ACOG_DZ; - Attachment_FL = M16A4_ACOG_FL_DZ; + Attachment_M203 = "M16A4_GL_ACOG_DZ"; + Attachment_FL = "M16A4_ACOG_FL_DZ"; + Attachment_MFL = "M16A4_ACOG_MFL_DZ"; }; class ItemActions @@ -401,7 +583,7 @@ class M16A4_ACOG_FL_DZ : M16A4_FL_DZ class Attachments { - Attachment_M203 = M16A4_GL_ACOG_FL_DZ; + Attachment_M203 = "M16A4_GL_ACOG_FL_DZ"; }; class ItemActions @@ -419,6 +601,34 @@ class M16A4_ACOG_FL_DZ : M16A4_FL_DZ }; }; +class M16A4_ACOG_MFL_DZ : M16A4_MFL_DZ +{ + model = "z\addons\dayz_communityweapons\m16a4\m16a4_acog_fl.p3d"; + picture = "\z\addons\dayz_communityweapons\m16a4\data\w_m16a4_acog_fl_ca.paa"; + displayName = $STR_DZ_WPN_M16A4_ACOG_MFL_NAME; + + M16A4_ACOG; + + class Attachments + { + Attachment_M203 = "M16A4_GL_ACOG_MFL_DZ"; + }; + + class ItemActions + { + class RemoveACOG + { + text = $STR_DZ_ATT_ACOG_RMVE; + script = "; ['Attachment_ACOG',_id,'M16A4_MFL_DZ'] call player_removeAttachment"; + }; + class RemoveFlashlight + { + text = $STR_DZ_ATT_FL_RFL_RMVE; + script = "; ['Attachment_MFL',_id,'M16A4_ACOG_DZ'] call player_removeAttachment"; + }; + }; +}; + class M16A4_GL_ACOG_DZ : M16A4_GL_DZ { model = "z\addons\dayz_communityweapons\m16a4\m16a4_gl_acog.p3d"; @@ -429,7 +639,8 @@ class M16A4_GL_ACOG_DZ : M16A4_GL_DZ class Attachments { - Attachment_FL = M16A4_GL_ACOG_FL_DZ; + Attachment_FL = "M16A4_GL_ACOG_FL_DZ"; + Attachment_MFL = "M16A4_GL_ACOG_MFL_DZ"; }; class ItemActions @@ -475,4 +686,34 @@ class M16A4_GL_ACOG_FL_DZ : M16A4_GL_FL_DZ script = "; ['Attachment_FL',_id,'M16A4_GL_ACOG_DZ'] call player_removeAttachment"; }; }; -}; \ No newline at end of file +}; + +class M16A4_GL_ACOG_MFL_DZ : M16A4_GL_MFL_DZ +{ + model = "z\addons\dayz_communityweapons\m16a4\m16a4_gl_acog_fl.p3d"; + picture = "\z\addons\dayz_communityweapons\m16a4\data\w_m16a4_gl_acog_fl_ca.paa"; + displayName = $STR_DZ_WPN_M16A4_GL_ACOG_MFL_NAME; + + M16A4_ACOG; + + class Attachments {}; + + class ItemActions + { + class RemoveACOG + { + text = $STR_DZ_ATT_ACOG_RMVE; + script = "; ['Attachment_ACOG',_id,'M16A4_GL_MFL_DZ'] call player_removeAttachment"; + }; + class RemoveGL + { + text = $STR_DZ_ATT_M203_RMVE; + script = "; ['Attachment_M203',_id,'M16A4_ACOG_MFL_DZ'] call player_removeAttachment"; + }; + class RemoveFlashlight + { + text = $STR_DZ_ATT_FL_RFL_RMVE; + script = "; ['Attachment_MFL',_id,'M16A4_GL_ACOG_DZ'] call player_removeAttachment"; + }; + }; +}; diff --git a/SQF/dayz_code/Configs/CfgWeapons/Rifles/M4A1.hpp b/SQF/dayz_code/Configs/CfgWeapons/Rifles/M4A1.hpp index 4f4d7ffe3..aa2261f3e 100644 --- a/SQF/dayz_code/Configs/CfgWeapons/Rifles/M4A1.hpp +++ b/SQF/dayz_code/Configs/CfgWeapons/Rifles/M4A1.hpp @@ -9,6 +9,17 @@ brightness = 0.1;\ } +#define M4A1_MFLASHLIGHT class FlashLight\ +{\ + color[] = {0.9, 0.0, 0.0, 0.9};\ + ambient[] = {0.1, 0.0, 0.0, 1.0};\ + position = "flash dir";\ + direction = "flash";\ + angle = 30;\ + scale[] = {1, 1, 0.5};\ + brightness = 0.08;\ +} + #define M4A1_M203 muzzles[] = {this, M203Muzzle};\ handAnim[]={"OFP2_ManSkeleton","\Ca\weapons\data\Anim\M16GL.rtm"} @@ -59,13 +70,13 @@ class M4A1_DZ : M4A1 displayName = $STR_DZ_WPN_M4A1_NAME; handAnim[]={"OFP2_ManSkeleton","\Ca\weapons_E\SCAR\Data\Anim\SCAR.rtm"}; - /* - magazines[] = + + /*magazines[] = { 30Rnd_556x45_Stanag, 30Rnd_556x45_StanagSD - }; - */ + };*/ //Allow use of G36 mags + class Attachments { Attachment_CCO = "M4A1_CCO_DZ"; @@ -74,6 +85,7 @@ class M4A1_DZ : M4A1 Attachment_M203 = "M4A1_GL_DZ"; Attachment_Sup556 = "M4A1_SD_DZ"; Attachment_FL = "M4A1_FL_DZ"; + Attachment_MFL = "M4A1_MFL_DZ"; }; }; @@ -110,6 +122,39 @@ class M4A1_FL_DZ : M4A1_DZ }; }; +class M4A1_MFL_DZ : M4A1_DZ +{ + model = "z\addons\dayz_communityweapons\m4a1\m4a1_fl.p3d"; + picture = "\z\addons\dayz_communityweapons\m4a1\data\w_m4a1_fl_ca.paa"; + displayName = $STR_DZ_WPN_M4A1_MFL_NAME; + + M4A1_MFLASHLIGHT; + + class Attachments + { + Attachment_CCO = "M4A1_CCO_MFL_DZ"; + Attachment_Holo = "M4A1_Holo_MFL_DZ"; + Attachment_ACOG = "M4A1_ACOG_MFL_DZ"; + Attachment_M203 = "M4A1_GL_MFL_DZ"; + Attachment_Sup556 = "M4A1_SD_MFL_DZ"; + }; + + class ItemActions + { + class RemoveFlashlight + { + text = $STR_DZ_ATT_FL_RFL_RMVE; + script = "; ['Attachment_MFL',_id,'M4A1_DZ'] call player_removeAttachment"; + //script is formatted by ui_selectSlot to: + //"_id = 'M4A1_MFL_DZ' ; ['Attachment_MFL',_id,'M4A1_DZ'] call player_removeAttachment;" + + //REGEX + //script = "\[Attachment_([_a-zA-Z0-9]+)\,[_a-zA-Z0-9]+\,([_a-zA-Z0-9]+)\] call player_removeAttachment"; + //script = "; \['Attachment_$1',_id,'$2'\] call player_removeAttachment"; + }; + }; +}; + class M4A1_SD_DZ : M4A1_AIM_SD_camo { model = "z\addons\dayz_communityweapons\m4a1\m4a1_sd.p3d"; @@ -117,13 +162,13 @@ class M4A1_SD_DZ : M4A1_AIM_SD_camo displayName = $STR_DZ_WPN_M4A1_SD_NAME; handAnim[]={"OFP2_ManSkeleton","\Ca\weapons_E\SCAR\Data\Anim\SCAR.rtm"}; - /* - magazines[] = + + /*magazines[] = { 30Rnd_556x45_StanagSD, 30Rnd_556x45_Stanag - }; - */ + };*/ //Allow use of G36 mags + class Attachments { Attachment_CCO = "M4A1_CCO_SD_DZ"; @@ -131,6 +176,7 @@ class M4A1_SD_DZ : M4A1_AIM_SD_camo Attachment_ACOG = "M4A1_ACOG_SD_DZ"; Attachment_M203 = "M4A1_GL_SD_DZ"; Attachment_FL = "M4A1_SD_FL_DZ"; + Attachment_MFL = "M4A1_SD_MFL_DZ"; }; class ItemActions @@ -174,6 +220,37 @@ class M4A1_SD_FL_DZ : M4A1_SD_DZ }; }; +class M4A1_SD_MFL_DZ : M4A1_SD_DZ +{ + model = "z\addons\dayz_communityweapons\m4a1\m4a1_sd_fl.p3d"; + picture = "\z\addons\dayz_communityweapons\m4a1\data\w_m4a1_sd_fl_ca.paa"; + displayName = $STR_DZ_WPN_M4A1_SD_MFL_NAME; + + M4A1_MFLASHLIGHT; + + class Attachments + { + Attachment_CCO = "M4A1_CCO_SD_MFL_DZ"; + Attachment_Holo = "M4A1_Holo_SD_MFL_DZ"; + Attachment_ACOG = "M4A1_ACOG_SD_MFL_DZ"; + Attachment_M203 = "M4A1_GL_SD_MFL_DZ"; + }; + + class ItemActions + { + class RemoveSuppressor + { + text = $STR_ATTACHMENT_RMVE_Silencer; + script = "; ['Attachment_Sup556',_id,'M4A1_MFL_DZ'] call player_removeAttachment"; + }; + class RemoveFlashlight + { + text = $STR_DZ_ATT_FL_RFL_RMVE; + script = "; ['Attachment_MFL',_id,'M4A1_SD_DZ'] call player_removeAttachment"; + }; + }; +}; + //Grenade launcher class M4A1_GL_DZ : M4A1_DZ @@ -191,6 +268,7 @@ class M4A1_GL_DZ : M4A1_DZ Attachment_ACOG = "M4A1_GL_ACOG_DZ"; Attachment_Sup556 = "M4A1_GL_SD_DZ"; Attachment_FL = "M4A1_GL_FL_DZ"; + Attachment_MFL = "M4A1_GL_MFL_DZ"; }; class ItemActions @@ -234,6 +312,37 @@ class M4A1_GL_FL_DZ : M4A1_GL_DZ }; }; +class M4A1_GL_MFL_DZ : M4A1_GL_DZ +{ + model = "z\addons\dayz_communityweapons\m4a1\m4a1_gl_fl.p3d"; + picture = "\z\addons\dayz_communityweapons\m4a1\data\w_m4a1_gl_fl_ca.paa"; + displayName = $STR_DZ_WPN_M4A1_GL_MFL_NAME; + + M4A1_MFLASHLIGHT; + + class Attachments + { + Attachment_CCO = "M4A1_GL_CCO_MFL_DZ"; + Attachment_Holo = "M4A1_GL_Holo_MFL_DZ"; + Attachment_ACOG = "M4A1_GL_ACOG_MFL_DZ"; + Attachment_Sup556 = "M4A1_GL_SD_MFL_DZ"; + }; + + class ItemActions + { + class RemoveGL + { + text = $STR_DZ_ATT_M203_RMVE; + script = "; ['Attachment_M203',_id,'M4A1_MFL_DZ'] call player_removeAttachment"; + }; + class RemoveFlashlight + { + text = $STR_DZ_ATT_FL_RFL_RMVE; + script = "; ['Attachment_MFL',_id,'M4A1_GL_DZ'] call player_removeAttachment"; + }; + }; +}; + class M4A1_GL_SD_DZ : M4A1_SD_DZ { model = "z\addons\dayz_communityweapons\m4a1\m4a1_gl_sd.p3d"; @@ -248,6 +357,7 @@ class M4A1_GL_SD_DZ : M4A1_SD_DZ Attachment_Holo = "M4A1_GL_Holo_SD_DZ"; Attachment_ACOG = "M4A1_GL_ACOG_SD_DZ"; Attachment_FL = "M4A1_GL_SD_FL_DZ"; + Attachment_MFL = "M4A1_GL_SD_MFL_DZ"; }; class ItemActions @@ -300,6 +410,41 @@ class M4A1_GL_SD_FL_DZ : M4A1_GL_SD_DZ }; }; +class M4A1_GL_SD_MFL_DZ : M4A1_GL_SD_DZ +{ + model = "z\addons\dayz_communityweapons\m4a1\m4a1_gl_sd_fl.p3d"; + picture = "\z\addons\dayz_communityweapons\m4a1\data\w_m4a1_gl_sd_fl_ca.paa"; + displayName = $STR_DZ_WPN_M4A1_GL_SD_MFL_NAME; + + M4A1_MFLASHLIGHT; + + class Attachments + { + Attachment_CCO = "M4A1_GL_CCO_SD_MFL_DZ"; + Attachment_Holo = "M4A1_GL_Holo_SD_MFL_DZ"; + Attachment_ACOG = "M4A1_GL_ACOG_SD_MFL_DZ"; + }; + + class ItemActions + { + class RemoveGL + { + text = $STR_DZ_ATT_M203_RMVE; + script = "; ['Attachment_M203',_id,'M4A1_SD_MFL_DZ'] call player_removeAttachment"; + }; + class RemoveSuppressor + { + text = $STR_ATTACHMENT_RMVE_Silencer; + script = "; ['Attachment_Sup556',_id,'M4A1_GL_MFL_DZ'] call player_removeAttachment"; + }; + class RemoveFlashlight + { + text = $STR_DZ_ATT_FL_RFL_RMVE; + script = "; ['Attachment_MFL',_id,'M4A1_GL_SD_DZ'] call player_removeAttachment"; + }; + }; +}; + //CCO @@ -315,6 +460,7 @@ class M4A1_CCO_DZ : M4A1_DZ Attachment_M203 = "M4A1_GL_CCO_DZ"; Attachment_Sup556 = "M4A1_CCO_SD_DZ"; Attachment_FL = "M4A1_CCO_FL_DZ"; + Attachment_MFL = "M4A1_CCO_MFL_DZ"; }; class ItemActions @@ -354,6 +500,33 @@ class M4A1_CCO_FL_DZ : M4A1_FL_DZ }; }; +class M4A1_CCO_MFL_DZ : M4A1_MFL_DZ +{ + model = "z\addons\dayz_communityweapons\m4a1\m4a1_cco_fl.p3d"; + picture = "\z\addons\dayz_communityweapons\m4a1\data\w_m4a1_cco_fl_ca.paa"; + displayName = $STR_DZ_WPN_M4A1_CCO_MFL_NAME; + + class Attachments + { + Attachment_M203 = "M4A1_GL_CCO_MFL_DZ"; + Attachment_Sup556 = "M4A1_CCO_SD_MFL_DZ"; + }; + + class ItemActions + { + class RemoveCCO + { + text = $STR_DZ_ATT_CCO_RMVE; + script = "; ['Attachment_CCO',_id,'M4A1_MFL_DZ'] call player_removeAttachment"; + }; + class RemoveFlashlight + { + text = $STR_DZ_ATT_FL_RFL_RMVE; + script = "; ['Attachment_MFL',_id,'M4A1_CCO_DZ'] call player_removeAttachment"; + }; + }; +}; + class M4A1_CCO_SD_DZ : M4A1_SD_DZ { model = "z\addons\dayz_communityweapons\m4a1\m4a1_cco_sd.p3d"; @@ -364,6 +537,7 @@ class M4A1_CCO_SD_DZ : M4A1_SD_DZ { Attachment_M203 = "M4A1_GL_CCO_SD_DZ"; Attachment_FL = "M4A1_CCO_SD_FL_DZ"; + Attachment_MFL = "M4A1_CCO_SD_MFL_DZ"; }; class ItemActions @@ -412,6 +586,37 @@ class M4A1_CCO_SD_FL_DZ : M4A1_SD_FL_DZ }; }; +class M4A1_CCO_SD_MFL_DZ : M4A1_SD_MFL_DZ +{ + model = "z\addons\dayz_communityweapons\m4a1\m4a1_cco_sd_fl.p3d"; + picture = "\z\addons\dayz_communityweapons\m4a1\data\w_m4a1_cco_sd_fl_ca.paa"; + displayName = $STR_DZ_WPN_M4A1_CCO_SD_MFL_NAME; + + class Attachments + { + Attachment_M203 = "M4A1_GL_CCO_SD_MFL_DZ"; + }; + + class ItemActions + { + class RemoveCCO + { + text = $STR_DZ_ATT_CCO_RMVE; + script = "; ['Attachment_CCO',_id,'M4A1_SD_MFL_DZ'] call player_removeAttachment"; + }; + class RemoveSuppressor + { + text = $STR_ATTACHMENT_RMVE_Silencer; + script = "; ['Attachment_Sup556',_id,'M4A1_CCO_MFL_DZ'] call player_removeAttachment"; + }; + class RemoveFlashlight + { + text = $STR_DZ_ATT_FL_RFL_RMVE; + script = "; ['Attachment_MFL',_id,'M4A1_CCO_SD_DZ'] call player_removeAttachment"; + }; + }; +}; + //Grenade launcher class M4A1_GL_CCO_DZ : M4A1_GL_DZ @@ -424,6 +629,7 @@ class M4A1_GL_CCO_DZ : M4A1_GL_DZ { Attachment_Sup556 = "M4A1_GL_CCO_SD_DZ"; Attachment_FL = "M4A1_GL_CCO_FL_DZ"; + Attachment_MFL = "M4A1_GL_CCO_MFL_DZ"; }; class ItemActions @@ -472,6 +678,37 @@ class M4A1_GL_CCO_FL_DZ : M4A1_GL_FL_DZ }; }; +class M4A1_GL_CCO_MFL_DZ : M4A1_GL_MFL_DZ +{ + model = "z\addons\dayz_communityweapons\m4a1\m4a1_gl_cco_fl.p3d"; + picture = "\z\addons\dayz_communityweapons\m4a1\data\w_m4a1_gl_cco_fl_ca.paa"; + displayName = $STR_DZ_WPN_M4A1_GL_CCO_MFL_NAME; + + class Attachments + { + Attachment_Sup556 = "M4A1_GL_CCO_SD_MFL_DZ"; + }; + + class ItemActions + { + class RemoveCCO + { + text = $STR_DZ_ATT_CCO_RMVE; + script = "; ['Attachment_CCO',_id,'M4A1_GL_MFL_DZ'] call player_removeAttachment"; + }; + class RemoveGL + { + text = $STR_DZ_ATT_M203_RMVE; + script = "; ['Attachment_M203',_id,'M4A1_CCO_MFL_DZ'] call player_removeAttachment"; + }; + class RemoveFlashlight + { + text = $STR_DZ_ATT_FL_RFL_RMVE; + script = "; ['Attachment_MFL',_id,'M4A1_GL_CCO_DZ'] call player_removeAttachment"; + }; + }; +}; + class M4A1_GL_CCO_SD_DZ : M4A1_GL_SD_DZ { model = "z\addons\dayz_communityweapons\m4a1\m4a1_gl_cco_sd.p3d"; @@ -481,6 +718,7 @@ class M4A1_GL_CCO_SD_DZ : M4A1_GL_SD_DZ class Attachments { Attachment_FL = "M4A1_GL_CCO_SD_FL_DZ"; + Attachment_MFL = "M4A1_GL_CCO_SD_MFL_DZ"; }; class ItemActions @@ -536,6 +774,40 @@ class M4A1_GL_CCO_SD_FL_DZ : M4A1_GL_SD_FL_DZ }; }; +class M4A1_GL_CCO_SD_MFL_DZ : M4A1_GL_SD_MFL_DZ +{ + model = "z\addons\dayz_communityweapons\m4a1\m4a1_gl_cco_sd_fl.p3d"; + picture = "\z\addons\dayz_communityweapons\m4a1\data\w_m4a1_gl_cco_sd_fl_ca.paa"; + displayName = $STR_DZ_WPN_M4A1_GL_CCO_SD_MFL_NAME; + + class Attachments {}; + + class ItemActions + { + class RemoveCCO + { + text = $STR_DZ_ATT_CCO_RMVE; + script = "; ['Attachment_CCO',_id,'M4A1_GL_SD_MFL_DZ'] call player_removeAttachment"; + }; + class RemoveGL + { + text = $STR_DZ_ATT_M203_RMVE; + script = "; ['Attachment_M203',_id,'M4A1_CCO_SD_MFL_DZ'] call player_removeAttachment"; + }; + class RemoveSuppressor + { + text = $STR_ATTACHMENT_RMVE_Silencer; + script = "; ['Attachment_Sup556',_id,'M4A1_GL_CCO_MFL_DZ'] call player_removeAttachment"; + }; + class RemoveFlashlight + { + text = $STR_DZ_ATT_FL_RFL_RMVE; + script = "; ['Attachment_MFL',_id,'M4A1_GL_CCO_SD_DZ'] call player_removeAttachment"; + }; + }; +}; + + //Holo @@ -551,6 +823,7 @@ class M4A1_Holo_DZ : M4A1_DZ Attachment_M203 = "M4A1_GL_Holo_DZ"; Attachment_Sup556 = "M4A1_Holo_SD_DZ"; Attachment_FL = "M4A1_Holo_FL_DZ"; + Attachment_MFL = "M4A1_Holo_MFL_DZ"; }; class ItemActions @@ -590,6 +863,33 @@ class M4A1_Holo_FL_DZ : M4A1_FL_DZ }; }; +class M4A1_Holo_MFL_DZ : M4A1_MFL_DZ +{ + model = "z\addons\dayz_communityweapons\m4a1\m4a1_holo_fl.p3d"; + picture = "\z\addons\dayz_communityweapons\m4a1\data\w_m4a1_holo_fl_ca.paa"; + displayName = $STR_DZ_WPN_M4A1_HOLO_MFL_NAME; + + class Attachments + { + Attachment_M203 = "M4A1_GL_Holo_MFL_DZ"; + Attachment_Sup556 = "M4A1_Holo_SD_MFL_DZ"; + }; + + class ItemActions + { + class RemoveHolo + { + text = $STR_DZ_ATT_HOLO_RMVE; + script = "; ['Attachment_Holo',_id,'M4A1_MFL_DZ'] call player_removeAttachment"; + }; + class RemoveFlashlight + { + text = $STR_DZ_ATT_FL_RFL_RMVE; + script = "; ['Attachment_MFL',_id,'M4A1_Holo_DZ'] call player_removeAttachment"; + }; + }; +}; + class M4A1_Holo_SD_DZ : M4A1_SD_DZ { model = "z\addons\dayz_communityweapons\m4a1\m4a1_holo_sd.p3d"; @@ -600,6 +900,7 @@ class M4A1_Holo_SD_DZ : M4A1_SD_DZ { Attachment_M203 = "M4A1_GL_Holo_SD_DZ"; Attachment_FL = "M4A1_Holo_SD_FL_DZ"; + Attachment_MFL = "M4A1_Holo_SD_MFL_DZ"; }; class ItemActions @@ -648,6 +949,37 @@ class M4A1_Holo_SD_FL_DZ : M4A1_SD_FL_DZ }; }; +class M4A1_Holo_SD_MFL_DZ : M4A1_SD_MFL_DZ +{ + model = "z\addons\dayz_communityweapons\m4a1\m4a1_holo_sd_fl.p3d"; + picture = "\z\addons\dayz_communityweapons\m4a1\data\w_m4a1_holo_sd_fl_ca.paa"; + displayName = $STR_DZ_WPN_M4A1_HOLO_SD_MFL_NAME; + + class Attachments + { + Attachment_M203 = "M4A1_GL_Holo_SD_MFL_DZ"; + }; + + class ItemActions + { + class RemoveHolo + { + text = $STR_DZ_ATT_HOLO_RMVE; + script = "; ['Attachment_Holo',_id,'M4A1_SD_MFL_DZ'] call player_removeAttachment"; + }; + class RemoveSuppressor + { + text = $STR_ATTACHMENT_RMVE_Silencer; + script = "; ['Attachment_Sup556',_id,'M4A1_Holo_MFL_DZ'] call player_removeAttachment"; + }; + class RemoveFlashlight + { + text = $STR_DZ_ATT_FL_RFL_RMVE; + script = "; ['Attachment_MFL',_id,'M4A1_Holo_SD_DZ'] call player_removeAttachment"; + }; + }; +}; + //Grenade launcher class M4A1_GL_Holo_DZ : M4A1_GL_DZ @@ -660,6 +992,7 @@ class M4A1_GL_Holo_DZ : M4A1_GL_DZ { Attachment_Sup556 = "M4A1_GL_Holo_SD_DZ"; Attachment_FL = "M4A1_GL_Holo_FL_DZ"; + Attachment_MFL = "M4A1_GL_Holo_MFL_DZ"; }; class ItemActions @@ -708,6 +1041,37 @@ class M4A1_GL_Holo_FL_DZ : M4A1_GL_FL_DZ }; }; +class M4A1_GL_Holo_MFL_DZ : M4A1_GL_MFL_DZ +{ + model = "z\addons\dayz_communityweapons\m4a1\m4a1_gl_holo_fl.p3d"; + picture = "\z\addons\dayz_communityweapons\m4a1\data\w_m4a1_gl_holo_fl_ca.paa"; + displayName = $STR_DZ_WPN_M4A1_GL_HOLO_MFL_NAME; + + class Attachments + { + Attachment_Sup556 = "M4A1_GL_Holo_SD_MFL_DZ"; + }; + + class ItemActions + { + class RemoveHolo + { + text = $STR_DZ_ATT_HOLO_RMVE; + script = "; ['Attachment_Holo',_id,'M4A1_GL_MFL_DZ'] call player_removeAttachment"; + }; + class RemoveGL + { + text = $STR_DZ_ATT_M203_RMVE; + script = "; ['Attachment_M203',_id,'M4A1_Holo_MFL_DZ'] call player_removeAttachment"; + }; + class RemoveFlashlight + { + text = $STR_DZ_ATT_FL_RFL_RMVE; + script = "; ['Attachment_MFL',_id,'M4A1_GL_Holo_DZ'] call player_removeAttachment"; + }; + }; +}; + class M4A1_GL_Holo_SD_DZ : M4A1_GL_SD_DZ { model = "z\addons\dayz_communityweapons\m4a1\m4a1_gl_holo_sd.p3d"; @@ -717,6 +1081,7 @@ class M4A1_GL_Holo_SD_DZ : M4A1_GL_SD_DZ class Attachments { Attachment_FL = "M4A1_GL_Holo_SD_FL_DZ"; + Attachment_MFL = "M4A1_GL_Holo_SD_MFL_DZ"; }; class ItemActions @@ -772,6 +1137,39 @@ class M4A1_GL_Holo_SD_FL_DZ : M4A1_GL_SD_FL_DZ }; }; +class M4A1_GL_Holo_SD_MFL_DZ : M4A1_GL_SD_MFL_DZ +{ + model = "z\addons\dayz_communityweapons\m4a1\m4a1_gl_holo_sd_fl.p3d"; + picture = "\z\addons\dayz_communityweapons\m4a1\data\w_m4a1_gl_holo_sd_fl_ca.paa"; + displayName = $STR_DZ_WPN_M4A1_GL_HOLO_SD_MFL_NAME; + + class Attachments {}; + + class ItemActions + { + class RemoveHolo + { + text = $STR_DZ_ATT_HOLO_RMVE; + script = "; ['Attachment_Holo',_id,'M4A1_GL_SD_MFL_DZ'] call player_removeAttachment"; + }; + class RemoveGL + { + text = $STR_DZ_ATT_M203_RMVE; + script = "; ['Attachment_M203',_id,'M4A1_Holo_SD_MFL_DZ'] call player_removeAttachment"; + }; + class RemoveSuppressor + { + text = $STR_ATTACHMENT_RMVE_Silencer; + script = "; ['Attachment_Sup556',_id,'M4A1_GL_Holo_MFL_DZ'] call player_removeAttachment"; + }; + class RemoveFlashlight + { + text = $STR_DZ_ATT_FL_RFL_RMVE; + script = "; ['Attachment_MFL',_id,'M4A1_GL_Holo_SD_DZ'] call player_removeAttachment"; + }; + }; +}; + //ACOG @@ -786,9 +1184,10 @@ class M4A1_ACOG_DZ : M4A1_DZ class Attachments { - Attachment_M203 = M4A1_GL_ACOG_DZ; - Attachment_Sup556 = M4A1_ACOG_SD_DZ; - Attachment_FL = M4A1_ACOG_FL_DZ; + Attachment_M203 = "M4A1_GL_ACOG_DZ"; + Attachment_Sup556 = "M4A1_ACOG_SD_DZ"; + Attachment_FL = "M4A1_ACOG_FL_DZ"; + Attachment_MFL = "M4A1_ACOG_MFL_DZ"; }; class ItemActions @@ -811,8 +1210,8 @@ class M4A1_ACOG_FL_DZ : M4A1_FL_DZ class Attachments { - Attachment_M203 = M4A1_GL_ACOG_FL_DZ; - Attachment_Sup556 = M4A1_ACOG_SD_FL_DZ; + Attachment_M203 = "M4A1_GL_ACOG_FL_DZ"; + Attachment_Sup556 = "M4A1_ACOG_SD_FL_DZ"; }; class ItemActions @@ -830,6 +1229,35 @@ class M4A1_ACOG_FL_DZ : M4A1_FL_DZ }; }; +class M4A1_ACOG_MFL_DZ : M4A1_MFL_DZ +{ + model = "z\addons\dayz_communityweapons\m4a1\m4a1_acog_fl.p3d"; + picture = "\z\addons\dayz_communityweapons\m4a1\data\w_m4a1_acog_fl_ca.paa"; + displayName = $STR_DZ_WPN_M4A1_ACOG_MFL_NAME; + + M4A1_ACOG; + + class Attachments + { + Attachment_M203 = "M4A1_GL_ACOG_MFL_DZ"; + Attachment_Sup556 = "M4A1_ACOG_SD_MFL_DZ"; + }; + + class ItemActions + { + class RemoveACOG + { + text = $STR_DZ_ATT_ACOG_RMVE; + script = "; ['Attachment_ACOG',_id,'M4A1_MFL_DZ'] call player_removeAttachment"; + }; + class RemoveFlashlight + { + text = $STR_DZ_ATT_FL_RFL_RMVE; + script = "; ['Attachment_MFL',_id,'M4A1_ACOG_DZ'] call player_removeAttachment"; + }; + }; +}; + class M4A1_ACOG_SD_DZ : M4A1_SD_DZ { model = "z\addons\dayz_communityweapons\m4a1\m4a1_acog_sd.p3d"; @@ -840,8 +1268,9 @@ class M4A1_ACOG_SD_DZ : M4A1_SD_DZ class Attachments { - Attachment_M203 = M4A1_GL_ACOG_SD_DZ; - Attachment_FL = M4A1_ACOG_SD_FL_DZ; + Attachment_M203 = "M4A1_GL_ACOG_SD_DZ"; + Attachment_FL = "M4A1_ACOG_SD_FL_DZ"; + Attachment_MFL = "M4A1_ACOG_SD_MFL_DZ"; }; class ItemActions @@ -869,7 +1298,7 @@ class M4A1_ACOG_SD_FL_DZ : M4A1_SD_FL_DZ class Attachments { - Attachment_M203 = M4A1_GL_ACOG_SD_FL_DZ; + Attachment_M203 = "M4A1_GL_ACOG_SD_FL_DZ"; }; class ItemActions @@ -892,6 +1321,39 @@ class M4A1_ACOG_SD_FL_DZ : M4A1_SD_FL_DZ }; }; +class M4A1_ACOG_SD_MFL_DZ : M4A1_SD_MFL_DZ +{ + model = "z\addons\dayz_communityweapons\m4a1\m4a1_acog_sd_fl.p3d"; + picture = "\z\addons\dayz_communityweapons\m4a1\data\w_m4a1_acog_sd_fl_ca.paa"; + displayName = $STR_DZ_WPN_M4A1_ACOG_SD_MFL_NAME; + + M4A1_ACOG; + + class Attachments + { + Attachment_M203 = "M4A1_GL_ACOG_SD_MFL_DZ"; + }; + + class ItemActions + { + class RemoveACOG + { + text = $STR_DZ_ATT_ACOG_RMVE; + script = "; ['Attachment_ACOG',_id,'M4A1_SD_MFL_DZ'] call player_removeAttachment"; + }; + class RemoveSuppressor + { + text = $STR_ATTACHMENT_RMVE_Silencer; + script = "; ['Attachment_Sup556',_id,'M4A1_ACOG_MFL_DZ'] call player_removeAttachment"; + }; + class RemoveFlashlight + { + text = $STR_DZ_ATT_FL_RFL_RMVE; + script = "; ['Attachment_MFL',_id,'M4A1_ACOG_SD_DZ'] call player_removeAttachment"; + }; + }; +}; + //Grenade launcher class M4A1_GL_ACOG_DZ : M4A1_GL_DZ @@ -904,8 +1366,9 @@ class M4A1_GL_ACOG_DZ : M4A1_GL_DZ class Attachments { - Attachment_Sup556 = M4A1_GL_ACOG_SD_DZ; - Attachment_FL = M4A1_GL_ACOG_FL_DZ; + Attachment_Sup556 = "M4A1_GL_ACOG_SD_DZ"; + Attachment_FL = "M4A1_GL_ACOG_FL_DZ"; + Attachment_MFL = "M4A1_GL_ACOG_MFL_DZ"; }; class ItemActions @@ -933,7 +1396,7 @@ class M4A1_GL_ACOG_FL_DZ : M4A1_GL_FL_DZ class Attachments { - Attachment_Sup556 = M4A1_GL_ACOG_SD_FL_DZ; + Attachment_Sup556 = "M4A1_GL_ACOG_SD_FL_DZ"; }; class ItemActions @@ -956,6 +1419,39 @@ class M4A1_GL_ACOG_FL_DZ : M4A1_GL_FL_DZ }; }; +class M4A1_GL_ACOG_MFL_DZ : M4A1_GL_MFL_DZ +{ + model = "z\addons\dayz_communityweapons\m4a1\m4a1_gl_acog_fl.p3d"; + picture = "\z\addons\dayz_communityweapons\m4a1\data\w_m4a1_gl_acog_fl_ca.paa"; + displayName = $STR_DZ_WPN_M4A1_GL_ACOG_MFL_NAME; + + M4A1_ACOG; + + class Attachments + { + Attachment_Sup556 = "M4A1_GL_ACOG_SD_MFL_DZ"; + }; + + class ItemActions + { + class RemoveACOG + { + text = $STR_DZ_ATT_ACOG_RMVE; + script = "; ['Attachment_ACOG',_id,'M4A1_GL_MFL_DZ'] call player_removeAttachment"; + }; + class RemoveGL + { + text = $STR_DZ_ATT_M203_RMVE; + script = "; ['Attachment_M203',_id,'M4A1_ACOG_MFL_DZ'] call player_removeAttachment"; + }; + class RemoveFlashlight + { + text = $STR_DZ_ATT_FL_RFL_RMVE; + script = "; ['Attachment_MFL',_id,'M4A1_GL_ACOG_DZ'] call player_removeAttachment"; + }; + }; +}; + class M4A1_GL_ACOG_SD_DZ : M4A1_GL_SD_DZ { model = "z\addons\dayz_communityweapons\m4a1\m4a1_gl_acog_sd.p3d"; @@ -966,7 +1462,8 @@ class M4A1_GL_ACOG_SD_DZ : M4A1_GL_SD_DZ class Attachments { - Attachment_FL = M4A1_GL_ACOG_SD_FL_DZ; + Attachment_FL = "M4A1_GL_ACOG_SD_FL_DZ"; + Attachment_MFL = "M4A1_GL_ACOG_SD_MFL_DZ"; }; class ItemActions @@ -1024,6 +1521,42 @@ class M4A1_GL_ACOG_SD_FL_DZ : M4A1_GL_SD_FL_DZ }; }; +class M4A1_GL_ACOG_SD_MFL_DZ : M4A1_GL_SD_MFL_DZ +{ + model = "z\addons\dayz_communityweapons\m4a1\m4a1_gl_acog_sd_fl.p3d"; + picture = "\z\addons\dayz_communityweapons\m4a1\data\w_m4a1_gl_acog_sd_fl_ca.paa"; + displayName = $STR_DZ_WPN_M4A1_GL_ACOG_SD_MFL_NAME; + + M4A1_ACOG; + + class Attachments {}; + + class ItemActions + { + class RemoveACOG + { + text = $STR_DZ_ATT_ACOG_RMVE; + script = "; ['Attachment_ACOG',_id,'M4A1_GL_SD_MFL_DZ'] call player_removeAttachment"; + }; + class RemoveGL + { + text = $STR_DZ_ATT_M203_RMVE; + script = "; ['Attachment_M203',_id,'M4A1_ACOG_SD_MFL_DZ'] call player_removeAttachment"; + }; + class RemoveSuppressor + { + text = $STR_ATTACHMENT_RMVE_Silencer; + script = "; ['Attachment_Sup556',_id,'M4A1_GL_ACOG_MFL_DZ'] call player_removeAttachment"; + }; + class RemoveFlashlight + { + text = $STR_DZ_ATT_FL_RFL_RMVE; + script = "; ['Attachment_MFL',_id,'M4A1_GL_ACOG_SD_DZ'] call player_removeAttachment"; + }; + }; +}; + #undef M4A1_FLASHLIGHT +#undef M4A1_MFLASHLIGHT #undef M4A1_M203 -#undef M4A1_ACOG \ No newline at end of file +#undef M4A1_ACOG diff --git a/SQF/dayz_code/Configs/CfgWeapons/Rifles/Mosin.hpp b/SQF/dayz_code/Configs/CfgWeapons/Rifles/Mosin.hpp index c4c34fdd5..8bad16c98 100644 --- a/SQF/dayz_code/Configs/CfgWeapons/Rifles/Mosin.hpp +++ b/SQF/dayz_code/Configs/CfgWeapons/Rifles/Mosin.hpp @@ -9,6 +9,17 @@ brightness = 0.1;\ }; +#define MOSIN_MFLASHLIGHT class FlashLight\ +{\ + color[] = {0.9, 0.0, 0.0, 0.9};\ + ambient[] = {0.1, 0.0, 0.0, 1.0};\ + position = "fl_start";\ + direction = "fl_dir";\ + angle = 40;\ + scale[] = {1, 1, 0.5};\ + brightness = 0.08;\ +}; + #define MOSIN_BELT magazineReloadTime = 4.7; #define MOSIN_BROKEN magazines[] = {}; @@ -57,6 +68,7 @@ class Mosin_DZ : Mosin_Base { Attachment_SCOPED = "Mosin_PU_DZ"; Attachment_FL = "Mosin_FL_DZ"; + Attachment_MFL = "Mosin_MFL_DZ"; Attachment_BELT = "Mosin_Belt_DZ"; }; }; @@ -91,6 +103,31 @@ class Mosin_FL_DZ : Mosin_DZ }; }; +class Mosin_MFL_DZ : Mosin_DZ +{ + model = "z\addons\dayz_communityweapons\models\mosin_nagant\mosin_1891_FL_animated"; + picture = "\z\addons\dayz_communityweapons\models\mosin_nagant\images\1891_FL.paa"; + displayName = $STR_DZ_WPN_MOSIN_MFL_NAME; + descriptionShort = $STR_DZ_WPN_MOSIN_DESC; + + MOSIN_MFLASHLIGHT + + class Attachments + { + Attachment_SCOPED = "Mosin_PU_MFL_DZ"; + Attachment_BELT = "Mosin_Belt_MFL_DZ"; + }; + + class ItemActions + { + class RemoveFlashlight + { + text = $STR_DZ_ATT_FL_RFL_RMVE; + script = "; ['Attachment_MFL',_id,'Mosin_DZ'] call player_removeAttachment"; + }; + }; +}; + class Mosin_Belt_DZ : Mosin_DZ { model = "z\addons\dayz_communityweapons\models\mosin_nagant\mosin_1891_belt_animated"; @@ -104,6 +141,7 @@ class Mosin_Belt_DZ : Mosin_DZ { Attachment_SCOPED = "Mosin_PU_Belt_DZ"; Attachment_FL = "Mosin_Belt_FL_DZ"; + Attachment_MFL = "Mosin_Belt_MFL_DZ"; }; class ItemActions @@ -146,6 +184,36 @@ class Mosin_Belt_FL_DZ : Mosin_FL_DZ }; }; +class Mosin_Belt_MFL_DZ : Mosin_MFL_DZ +{ + model = "z\addons\dayz_communityweapons\models\mosin_nagant\mosin_1891_belt_FL_animated"; + picture = "\z\addons\dayz_communityweapons\models\mosin_nagant\images\1891B_FL.paa"; + displayName = $STR_DZ_WPN_MOSIN_BELT_MFL_NAME; + descriptionShort = $STR_DZ_WPN_MOSIN_DESC; + + MOSIN_BELT + + class Attachments + { + Attachment_SCOPED = "Mosin_PU_Belt_MFL_DZ"; + }; + + class ItemActions + { + class RemoveBelt + { + text = $STR_DZ_ATT_BELT_RMVE; + script = "; ['Attachment_BELT',_id,'Mosin_MFL_DZ'] call player_removeAttachment"; + }; + + class RemoveFlashlight + { + text = $STR_DZ_ATT_FL_RFL_RMVE; + script = "; ['Attachment_MFL',_id,'Mosin_Belt_DZ'] call player_removeAttachment"; + }; + }; +}; + /* PU Scope */ @@ -171,6 +239,7 @@ class Mosin_PU_DZ : Mosin_Base class Attachments { Attachment_FL = "Mosin_PU_FL_DZ"; + Attachment_MFL = "Mosin_PU_MFL_DZ"; Attachment_BELT = "Mosin_PU_Belt_DZ"; }; @@ -214,6 +283,36 @@ class Mosin_PU_FL_DZ : Mosin_PU_DZ }; }; +class Mosin_PU_MFL_DZ : Mosin_PU_DZ +{ + model = "z\addons\dayz_communityweapons\models\mosin_nagant\mosin_1891_scoped_FL_animated"; + picture = "\z\addons\dayz_communityweapons\models\mosin_nagant\images\1891S_FL.paa"; + displayName = $STR_DZ_WPN_MOSIN_PU_MFL_NAME; + descriptionShort = $STR_DZ_WPN_MOSIN_DESC; + + MOSIN_MFLASHLIGHT + + class Attachments + { + Attachment_BELT = "Mosin_PU_Belt_MFL_DZ"; + }; + + class ItemActions + { + class RemoveScope + { + text = $STR_DZ_ATT_PU_RMVE; + script = "; ['Attachment_SCOPED',_id,'Mosin_MFL_DZ'] call player_removeAttachment"; + }; + + class RemoveFlashlight + { + text = $STR_DZ_ATT_FL_RFL_RMVE; + script = "; ['Attachment_MFL',_id,'Mosin_PU_DZ'] call player_removeAttachment"; + }; + }; +}; + class Mosin_PU_Belt_DZ : Mosin_PU_DZ { model = "z\addons\dayz_communityweapons\models\mosin_nagant\mosin_1891_belt_scoped_animated"; @@ -226,6 +325,7 @@ class Mosin_PU_Belt_DZ : Mosin_PU_DZ class Attachments { Attachment_FL = "Mosin_PU_Belt_FL_DZ"; + Attachment_MFL = "Mosin_PU_Belt_MFL_DZ"; }; class ItemActions @@ -277,5 +377,39 @@ class Mosin_PU_Belt_FL_DZ : Mosin_PU_FL_DZ }; }; +class Mosin_PU_Belt_MFL_DZ : Mosin_PU_MFL_DZ +{ + model = "z\addons\dayz_communityweapons\models\mosin_nagant\mosin_1891_belt_scoped_FL_animated"; + picture = "\z\addons\dayz_communityweapons\models\mosin_nagant\images\1891SB_FL.paa"; + displayName = $STR_DZ_WPN_MOSIN_PU_BELT_MFL_NAME; + descriptionShort = $STR_DZ_WPN_MOSIN_DESC; + + MOSIN_BELT + + class Attachments {}; + + class ItemActions + { + class RemoveScope + { + text = $STR_DZ_ATT_PU_RMVE; + script = "; ['Attachment_SCOPED',_id,'Mosin_Belt_MFL_DZ'] call player_removeAttachment"; + }; + + class RemoveBelt + { + text = $STR_DZ_ATT_BELT_RMVE; + script = "; ['Attachment_BELT',_id,'Mosin_PU_MFL_DZ'] call player_removeAttachment"; + }; + + class RemoveFlashlight + { + text = $STR_DZ_ATT_FL_RFL_RMVE; + script = "; ['Attachment_MFL',_id,'Mosin_PU_Belt_DZ'] call player_removeAttachment"; + }; + }; +}; + #undef MOSIN_FLASHLIGHT -#undef MOSIN_BELT \ No newline at end of file +#undef MOSIN_MFLASHLIGHT +#undef MOSIN_BELT diff --git a/SQF/dayz_code/Configs/CfgWeapons/Rifles/Remington870.hpp b/SQF/dayz_code/Configs/CfgWeapons/Rifles/Remington870.hpp index 1f09a74ed..02714dd7c 100644 --- a/SQF/dayz_code/Configs/CfgWeapons/Rifles/Remington870.hpp +++ b/SQF/dayz_code/Configs/CfgWeapons/Rifles/Remington870.hpp @@ -9,6 +9,17 @@ brightness = 0.1;\ } +#define R870_MFLASHLIGHT class FlashLight\ +{\ + color[] = {0.9, 0.0, 0.0, 0.9};\ + ambient[] = {0.1, 0.0, 0.0, 1.0};\ + position = "flash dir";\ + direction = "flash";\ + angle = 30;\ + scale[] = {1, 1, 0.5};\ + brightness = 0.08;\ +} + class Remington870_DZ : Rifle { scope = public; @@ -49,6 +60,7 @@ class Remington870_DZ : Rifle class Attachments { Attachment_FL = "Remington870_FL_DZ"; + Attachment_MFL = "Remington870_MFL_DZ"; }; }; @@ -68,4 +80,22 @@ class Remington870_FL_DZ : Remington870_DZ script = "; ['Attachment_FL',_id,'Remington870_DZ'] call player_removeAttachment"; }; }; -}; \ No newline at end of file +}; + +class Remington870_MFL_DZ : Remington870_DZ +{ + model = "\dayz_weapons\models\Remington870_lamp.p3d"; + displayname = $STR_DZ_WPN_R870_MFL_NAME; + descriptionShort = $STR_DZ_WPN_R870_FL_DESC; + + R870_MFLASHLIGHT; + + class ItemActions + { + class RemoveFlashlight + { + text = $STR_DZ_ATT_FL_RFL_RMVE; + script = "; ['Attachment_MFL',_id,'Remington870_DZ'] call player_removeAttachment"; + }; + }; +}; diff --git a/SQF/dayz_code/Configs/CfgWeapons/Rifles/SA58.hpp b/SQF/dayz_code/Configs/CfgWeapons/Rifles/SA58.hpp index 409aa29f4..fdcc839bd 100644 --- a/SQF/dayz_code/Configs/CfgWeapons/Rifles/SA58.hpp +++ b/SQF/dayz_code/Configs/CfgWeapons/Rifles/SA58.hpp @@ -9,6 +9,17 @@ brightness = 0.1;\ } +#define MFLASHLIGHT class FlashLight\ +{\ + color[] = {0.9, 0.0, 0.0, 0.9};\ + ambient[] = {0.1, 0.0, 0.0, 1.0};\ + position = "flash dir";\ + direction = "flash";\ + angle = 30;\ + scale[] = {1, 1, 0.5};\ + brightness = 0.08;\ +} + class SA58_DZ : Sa58V_EP1 { model = "z\addons\dayz_communityweapons\sa58\sa58.p3d"; @@ -24,7 +35,7 @@ class SA58_DZ : Sa58V_EP1 class Attachments { - Attachment_SA58RIS = SA58_RIS_DZ; + Attachment_SA58RIS = "SA58_RIS_DZ"; }; }; @@ -36,10 +47,11 @@ class SA58_RIS_DZ : SA58_DZ class Attachments { - Attachment_CCO = SA58_CCO_DZ; - Attachment_Holo = SA58_Holo_DZ; - Attachment_ACOG = SA58_ACOG_DZ; - Attachment_FL = SA58_RIS_FL_DZ; + Attachment_CCO = "SA58_CCO_DZ"; + Attachment_Holo = "SA58_Holo_DZ"; + Attachment_ACOG = "SA58_ACOG_DZ"; + Attachment_FL = "SA58_RIS_FL_DZ"; + Attachment_MFL = "SA58_RIS_MFL_DZ"; }; }; @@ -53,9 +65,9 @@ class SA58_RIS_FL_DZ : SA58_RIS_DZ class Attachments { - Attachment_CCO = SA58_CCO_FL_DZ; - Attachment_Holo = SA58_Holo_FL_DZ; - Attachment_ACOG = SA58_ACOG_FL_DZ; + Attachment_CCO = "SA58_CCO_FL_DZ"; + Attachment_Holo = "SA58_Holo_FL_DZ"; + Attachment_ACOG = "SA58_ACOG_FL_DZ"; }; class ItemActions @@ -68,6 +80,31 @@ class SA58_RIS_FL_DZ : SA58_RIS_DZ }; }; +class SA58_RIS_MFL_DZ : SA58_RIS_DZ +{ + model = "z\addons\dayz_communityweapons\sa58\sa58_ris_fl.p3d"; + picture = "\z\addons\dayz_communityweapons\sa58\data\w_sa58_ris_fl_ca.paa"; + displayName = $STR_DZ_WPN_SA58_RIS_MFL_NAME; + + MFLASHLIGHT; + + class Attachments + { + Attachment_CCO = "SA58_CCO_MFL_DZ"; + Attachment_Holo = "SA58_Holo_MFL_DZ"; + Attachment_ACOG = "SA58_ACOG_MFL_DZ"; + }; + + class ItemActions + { + class RemoveFlashlight + { + text = $STR_DZ_ATT_FL_RFL_RMVE; + script = "; ['Attachment_MFL',_id,'SA58_RIS_DZ'] call player_removeAttachment"; + }; + }; +}; + class SA58_CCO_DZ : SA58_RIS_DZ { model = "z\addons\dayz_communityweapons\sa58\sa58_cco.p3d"; @@ -82,7 +119,8 @@ class SA58_CCO_DZ : SA58_RIS_DZ class Attachments { - Attachment_FL = SA58_CCO_FL_DZ; + Attachment_FL = "SA58_CCO_FL_DZ"; + Attachment_MFL = "SA58_CCO_MFL_DZ"; }; class ItemActions @@ -120,6 +158,31 @@ class SA58_CCO_FL_DZ : SA58_CCO_DZ }; }; +class SA58_CCO_MFL_DZ : SA58_CCO_DZ +{ + model = "z\addons\dayz_communityweapons\sa58\sa58_cco_fl.p3d"; + picture = "\z\addons\dayz_communityweapons\sa58\data\w_sa58_cco_fl_ca.paa"; + displayName = $STR_DZ_WPN_SA58_CCO_MFL_NAME; + + MFLASHLIGHT; + + class Attachments {}; + + class ItemActions + { + class RemoveCCO + { + text = $STR_DZ_ATT_CCO_RMVE; + script = "; ['Attachment_CCO',_id,'SA58_RIS_MFL_DZ'] call player_removeAttachment"; + }; + class RemoveFlashlight + { + text = $STR_DZ_ATT_FL_RFL_RMVE; + script = "; ['Attachment_MFL',_id,'SA58_CCO_DZ'] call player_removeAttachment"; + }; + }; +}; + class SA58_Holo_DZ : SA58_CCO_DZ { model = "z\addons\dayz_communityweapons\sa58\sa58_holo.p3d"; @@ -128,7 +191,8 @@ class SA58_Holo_DZ : SA58_CCO_DZ class Attachments { - Attachment_FL = SA58_Holo_FL_DZ; + Attachment_FL = "SA58_Holo_FL_DZ"; + Attachment_MFL = "SA58_Holo_MFL_DZ"; }; class ItemActions @@ -166,6 +230,31 @@ class SA58_Holo_FL_DZ : SA58_Holo_DZ }; }; +class SA58_Holo_MFL_DZ : SA58_Holo_DZ +{ + model = "z\addons\dayz_communityweapons\sa58\sa58_holo_fl.p3d"; + picture = "\z\addons\dayz_communityweapons\sa58\data\w_sa58_holo_fl_ca.paa"; + displayName = $STR_DZ_WPN_SA58_HOLO_MFL_NAME; + + MFLASHLIGHT; + + class Attachments {}; + + class ItemActions + { + class RemoveHolo + { + text = $STR_DZ_ATT_HOLO_RMVE; + script = "; ['Attachment_Holo',_id,'SA58_RIS_MFL_DZ'] call player_removeAttachment"; + }; + class RemoveFlashlight + { + text = $STR_DZ_ATT_FL_RFL_RMVE; + script = "; ['Attachment_MFL',_id,'SA58_Holo_DZ'] call player_removeAttachment"; + }; + }; +}; + class SA58_ACOG_DZ : SA58_CCO_DZ { model = "z\addons\dayz_communityweapons\sa58\sa58_acog.p3d"; @@ -213,7 +302,8 @@ class SA58_ACOG_DZ : SA58_CCO_DZ class Attachments { - Attachment_FL = SA58_ACOG_FL_DZ; + Attachment_FL = "SA58_ACOG_FL_DZ"; + Attachment_MFL = "SA58_ACOG_MFL_DZ"; }; class ItemActions @@ -249,4 +339,29 @@ class SA58_ACOG_FL_DZ : SA58_ACOG_DZ script = "; ['Attachment_FL',_id,'SA58_ACOG_DZ'] call player_removeAttachment"; }; }; -}; \ No newline at end of file +}; + +class SA58_ACOG_MFL_DZ : SA58_ACOG_DZ +{ + model = "z\addons\dayz_communityweapons\sa58\sa58_acog_fl.p3d"; + picture = "\z\addons\dayz_communityweapons\sa58\data\w_sa58_acog_fl_ca.paa"; + displayName = $STR_DZ_WPN_SA58_ACOG_MFL_NAME; + + MFLASHLIGHT; + + class Attachments {}; + + class ItemActions + { + class RemoveACOG + { + text = $STR_DZ_ATT_ACOG_RMVE; + script = "; ['Attachment_ACOG',_id,'SA58_RIS_MFL_DZ'] call player_removeAttachment"; + }; + class RemoveFlashlight + { + text = $STR_DZ_ATT_FL_RFL_RMVE; + script = "; ['Attachment_MFL',_id,'SA58_ACOG_DZ'] call player_removeAttachment"; + }; + }; +}; diff --git a/SQF/dayz_code/external/R3F_Realism/R3F_Weight/Magazines/Attachments.hpp b/SQF/dayz_code/external/R3F_Realism/R3F_Weight/Magazines/Attachments.hpp index 74bfc9c1b..3afa05a8b 100644 --- a/SQF/dayz_code/external/R3F_Realism/R3F_Weight/Magazines/Attachments.hpp +++ b/SQF/dayz_code/external/R3F_Realism/R3F_Weight/Magazines/Attachments.hpp @@ -28,6 +28,14 @@ class Attachment_FL_Pist { weight = 0.05; }; +class Attachment_MFL +{ + weight = 0.1; +}; +class Attachment_MFL_Pist +{ + weight = 0.05; +}; class Attachment_Ghillie { weight = 0.05; diff --git a/SQF/dayz_code/stringtable.xml b/SQF/dayz_code/stringtable.xml index daf2d5a7b..1944c73b1 100644 --- a/SQF/dayz_code/stringtable.xml +++ b/SQF/dayz_code/stringtable.xml @@ -9772,6 +9772,10 @@ M4A1 FL M4A1 Ф + + M4A1 MFL + M4A1 вФ + M4A1 SD M4A1 ПБС @@ -9780,6 +9784,10 @@ M4A1 SD FL M4A1 ПБС Ф + + M4A1 SD MFL + M4A1 ПБС вФ + M4A1 M203 @@ -9787,6 +9795,10 @@ M4A1 M203 FL M4A1 M203 Ф + + M4A1 M203 MFL + M4A1 M203 вФ + M4A1 M203 SD M4A1 M203 ПБС @@ -9795,6 +9807,10 @@ M4A1 M203 SD FL M4A1 M203 ПБС Ф + + M4A1 M203 SD MFL + M4A1 M203 ПБС вФ + M4A1 CCO @@ -9803,6 +9819,10 @@ M4A1 CCO FL M4A1 CCO Ф + + M4A1 CCO MFL + M4A1 CCO вФ + M4A1 CCO SD M4A1 CCO ПБС @@ -9811,6 +9831,10 @@ M4A1 CCO SD FL M4A1 CCO ПБС Ф + + M4A1 CCO SD MFL + M4A1 CCO ПБС вФ + M4A1 M203 CCO @@ -9818,6 +9842,10 @@ M4A1 M203 CCO FL M4A1 M203 CCO Ф + + M4A1 M203 CCO MFL + M4A1 M203 CCO вФ + M4A1 M203 CCO SD M4A1 M203 CCO ПБС @@ -9826,6 +9854,10 @@ M4A1 M203 CCO SD FL M4A1 M203 CCO ПБС Ф + + M4A1 M203 CCO SD MFL + M4A1 M203 CCO ПБС вФ + M4A1 Holo @@ -9834,6 +9866,10 @@ M4A1 Holo FL M4A1 Holo Ф + + M4A1 Holo MFL + M4A1 Holo вФ + M4A1 Holo SD M4A1 Holo ПБС @@ -9842,6 +9878,10 @@ M4A1 Holo SD FL M4A1 Holo ПБС Ф + + M4A1 Holo SD MFL + M4A1 Holo ПБС вФ + M4A1 M203 Holo @@ -9849,6 +9889,10 @@ M4A1 M203 Holo FL M4A1 M203 Holo Ф + + M4A1 M203 Holo MFL + M4A1 M203 Holo вФ + M4A1 M203 Holo SD M4A1 M203 Holo ПБС @@ -9857,6 +9901,10 @@ M4A1 M203 Holo SD FL M4A1 M203 Holo ПБС Ф + + M4A1 M203 Holo SD MFL + M4A1 M203 Holo ПБС вФ + M4A1 ACOG @@ -9865,6 +9913,10 @@ M4A1 ACOG FL M4A1 ACOG Ф + + M4A1 ACOG MFL + M4A1 ACOG вФ + M4A1 ACOG SD M4A1 ACOG ПБС @@ -9873,6 +9925,10 @@ M4A1 ACOG SD FL M4A1 ACOG ПБС Ф + + M4A1 ACOG SD MFL + M4A1 ACOG ПБС вФ + M4A1 M203 ACOG @@ -9880,6 +9936,10 @@ M4A1 M203 ACOG FL M4A1 M203 ACOG Ф + + M4A1 M203 ACOG MFL + M4A1 M203 ACOG вФ + M4A1 M203 ACOG SD M4A1 M203 ACOG ПБС @@ -9888,6 +9948,10 @@ M4A1 M203 ACOG SD FL M4A1 M203 ACOG ПБС Ф + + M4A1 M203 ACOG SD MFL + M4A1 M203 ACOG ПБС вФ + @@ -9897,6 +9961,10 @@ M16A4 FL M16A4 Ф + + M16A4 MFL + M16A4 вФ + M16A4 CCO @@ -9904,6 +9972,10 @@ M16A4 CCO FL M16A4 CCO Ф + + M16A4 CCO MFL + M16A4 CCO вФ + M16A4 Holo @@ -9911,6 +9983,10 @@ M16A4 Holo FL M16A4 Holo Ф + + M16A4 Holo MFL + M16A4 Holo вФ + M16A4 ACOG @@ -9918,6 +9994,10 @@ M16A4 ACOG FL M16A4 ACOG Ф + + M16A4 ACOG MFL + M16A4 ACOG вФ + @@ -9927,6 +10007,10 @@ M16A4 M203 FL M16A4 M203 Ф + + M16A4 M203 MFL + M16A4 M203 вФ + M16A4 M203 CCO @@ -9934,6 +10018,10 @@ M16A4 M203 CCO FL M16A4 M203 CCO Ф + + M16A4 M203 CCO MFL + M16A4 M203 CCO вФ + M16A4 M203 Holo @@ -9941,6 +10029,10 @@ M16A4 M203 Holo FL M16A4 M203 Holo Ф + + M16A4 M203 Holo MFL + M16A4 M203 Holo вФ + M16A4 M203 ACOG @@ -9948,6 +10040,10 @@ M16A4 M203 ACOG FL M16A4 M203 ACOG Ф + + M16A4 M203 ACOG MFL + M16A4 M203 ACOG вФ + @@ -10090,6 +10186,10 @@ SA-58 RIS FL SA-58 РСИ Ф + + SA-58 RIS MFL + SA-58 РСИ вФ + SA-58 CCO @@ -10097,6 +10197,10 @@ SA-58 CCO FL SA-58 CCO Ф + + SA-58 CCO MFL + SA-58 CCO вФ + SA-58 Holo @@ -10104,6 +10208,10 @@ SA-58 Holo FL SA-58 Holo Ф + + SA-58 Holo MFL + SA-58 Holo вФ + SA-58 ACOG @@ -10111,6 +10219,10 @@ SA-58 ACOG FL SA-58 ACOG Ф + + SA-58 ACOG MFL + SA-58 ACOG вФ + @@ -10196,6 +10308,10 @@ G17 FL G17 Ф + + G17 MFL + G17 вФ + G17 SD G17 ПБС @@ -10204,6 +10320,10 @@ G17 SD FL G17 ПБС Ф + + G17 SD MFL + G17 ПБС вФ + @@ -10275,9 +10395,17 @@ Remington 870 (+Torche) Remington 870 (baterka) + + Remington 870 MFL + Ремингтон 870 вФ + Remington 870 mit militärischer Taschenlampe + Remington 870 (Linterna) + Remington 870 (+Torche) + Remington 870 (baterka) + The Remington Model 870 is a pump-action shotgun. This weapon has a torch attached. - Die Remington Model 870 ist eine Vorderschaftrepetierflinte mit einer fest installierten Taschenlampe. + Die Remington Model 870 ist eine Vorderschaftrepetierflinte mit einem Taschenlampenaufsatz. Ремингтон Модель 870 - помповый дробовик. На данный экземпляр установлен фонарик. La Remington Modelo 870 es una escopeta de acción a bombeo con una linterna como accesorio. Le modèle Remington 870 est un fusil à pompe avec une lampe torche. @@ -10374,6 +10502,10 @@ Mosin Nagant FL Мосинка Ф + + Mosin Nagant MFL + Мосинка вФ + Mosin Nagant Belt Мосинка П @@ -10382,6 +10514,10 @@ Mosin Nagant Belt FL Мосинка П Ф + + Mosin Nagant Belt MFL + Мосинка П вФ + Mosin Nagant PU Мосинка ПУ @@ -10390,6 +10526,10 @@ Mosin Nagant PU FL Мосинка ПР Ф + + Mosin Nagant PU MFL + Мосинка ПР вФ + Mosin Nagant PU Belt Мосинка ПР П @@ -10398,42 +10538,61 @@ Mosin Nagant PU Belt FL Мосинка ПР П Ф + + Mosin Nagant PU Belt MFL + Мосинка ПР П вФ + Bolt-action military rifle developed by the Imperial Russian Army in 1891.<br/>Caliber: 7.62x54mmR Магазинная винтовка, принятая на вооружение Русской Императорской армии ВС России в 1891 году. - Kammerverschluss Militär Gewehr entwickelt von der Imperialen Russischen Armee 1891.<br/>Kaliber: 7.62x54mmR + Kammerverschluss Militär Gewehr entwickelt von der Imperialen Russischen Armee 1891.<br/>Kaliber: 7.62x54mmR Crossbow Арбалет - Armbrust + Armbrust Crossbow FL Арбалет Ф - Armbrust FL + Armbrust FL + + + Crossbow MFL + Арбалет вФ + Armbrust MFL Crossbow CCO Арбалет CCO - Armbrust CCO + Armbrust CCO Crossbow CCO FL Арбалет CCO Ф - Armbrust CCO FL + Armbrust CCO FL + + + Crossbow CCO MFL + Арбалет CCO вФ + Armbrust CCO MFL Crossbow Scoped Арбалет ПР - Armbrust mit Zielfernrohr + Armbrust mit Zielfernrohr Crossbow Scoped FL Арбалет ПР Ф - Armbrust mit Zielfernrohr FL + Armbrust mit Zielfernrohr FL + + + Crossbow Scoped MFL + Арбалет ПР вФ + Armbrust mit Zielfernrohr MFL @@ -10924,6 +11083,18 @@ Entferne Taschenlampe + + + [A] Military rifle flashlight + [М] военный оружейный фонарь + [E] Militärische Gewehr Taschenlampe + + + Rail-attachable military rifle flashlight + военный Фонарь для установки на основное оружие + Militärischer Taschenlampenaufsatz für Gewehre. + + [A] Pistol flashlight @@ -10941,6 +11112,18 @@ Entferne Taschenlampe + + + [A] Military pistol flashlight + [М] военный пистолетный фонарь + [E] Militärische Pistolen Taschenlampe + + + Rail-attachable military pistol flashlight + военный Фонарь для установки на пистолеты + Militärischer Taschenlampenaufsatz für Pistolen. + + [A] Small camo netting diff --git a/Server Files/SQL/1.0.6.1_Updates.sql b/Server Files/SQL/1.0.6.1_Updates.sql index 7f82b20b7..ede656693 100644 --- a/Server Files/SQL/1.0.6.1_Updates.sql +++ b/Server Files/SQL/1.0.6.1_Updates.sql @@ -19,4 +19,10 @@ INSERT IGNORE INTO `Traders_DATA` VALUES (NULL, '["5Rnd_762x51_M24",1]', 10, '[2 INSERT IGNORE INTO `Traders_DATA` VALUES (NULL, '["5Rnd_762x51_M24",1]', 10, '[2,"ItemGoldBar",1]', '[1,"ItemGoldBar",1]', 0, 527, 'trade_items'); INSERT IGNORE INTO `Traders_DATA` VALUES (NULL, '["5Rnd_762x51_M24",1]', 10, '[2,"ItemGoldBar",1]', '[1,"ItemGoldBar",1]', 0, 614, 'trade_items'); INSERT IGNORE INTO `Traders_DATA` VALUES (NULL, '["5Rnd_762x51_M24",1]', 10, '[2,"ItemGoldBar",1]', '[1,"ItemGoldBar",1]', 0, 624, 'trade_items'); -INSERT IGNORE INTO `Traders_DATA` VALUES (NULL, '["5Rnd_762x51_M24",1]', 10, '[2,"ItemGoldBar",1]', '[1,"ItemGoldBar",1]', 0, 647, 'trade_items'); \ No newline at end of file +INSERT IGNORE INTO `Traders_DATA` VALUES (NULL, '["5Rnd_762x51_M24",1]', 10, '[2,"ItemGoldBar",1]', '[1,"ItemGoldBar",1]', 0, 647, 'trade_items'); + +-- ---------------------------- +-- Add military flashlight attachments to DB traders +-- ---------------------------- +INSERT INTO `Traders_DATA` VALUES(null, '["Attachment_MFL",1]', 10, '[4,"ItemGoldBar",1]', '[2,"ItemGoldBar",1]', 0, 693, 'trade_items'); +INSERT INTO `Traders_DATA` VALUES(null, '["Attachment_MFL_Pist",1]', 10, '[4,"ItemGoldBar",1]', '[2,"ItemGoldBar",1]', 0, 693, 'trade_items'); \ No newline at end of file diff --git a/Server Files/SQL/epoch.sql b/Server Files/SQL/epoch.sql index 7057c0c2c..6af02e11f 100644 --- a/Server Files/SQL/epoch.sql +++ b/Server Files/SQL/epoch.sql @@ -1734,6 +1734,8 @@ INSERT INTO `Traders_DATA` VALUES(7589, '["Attachment_SCOPED",1]', 10, '[6,"Item INSERT INTO `Traders_DATA` VALUES(7590, '["Attachment_Sup9",1]', 10, '[4,"ItemGoldBar",1]', '[2,"ItemGoldBar",1]', 0, 693, 'trade_items'); INSERT INTO `Traders_DATA` VALUES(7591, '["Attachment_Sup545",1]', 10, '[6,"ItemGoldBar",1]', '[3,"ItemGoldBar",1]', 0, 693, 'trade_items'); INSERT INTO `Traders_DATA` VALUES(7592, '["Attachment_Sup556",1]', 10, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 693, 'trade_items'); +INSERT INTO `Traders_DATA` VALUES(7593, '["Attachment_MFL",1]', 10, '[4,"ItemGoldBar",1]', '[2,"ItemGoldBar",1]', 0, 693, 'trade_items'); +INSERT INTO `Traders_DATA` VALUES(7594, '["Attachment_MFL_Pist",1]', 10, '[4,"ItemGoldBar",1]', '[2,"ItemGoldBar",1]', 0, 693, 'trade_items'); -- --------------------------------------------------------