mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-14 12:12:34 +03:00
Add G3A3 with attachment support
Thx to SyNcRoNiCzZ for this wonderful addon
This commit is contained in:
@@ -1,3 +1,24 @@
|
||||
#define G3_ACOG modelOptics = "\Ca\weapons_E\SCAR\ACOG_TA31_optic_4x.p3d";\
|
||||
class OpticsModes\
|
||||
{\
|
||||
class ACOG\
|
||||
{\
|
||||
opticsID = 1;\
|
||||
useModelOptics = true;\
|
||||
opticsFlare = true;\
|
||||
opticsDisablePeripherialVision = true;\
|
||||
opticsZoomMin = 0.0623;\
|
||||
opticsZoomMax = 0.0623;\
|
||||
opticsZoomInit = 0.0623;\
|
||||
distanceZoomMin = 300;\
|
||||
distanceZoomMax = 300;\
|
||||
memoryPointCamera = "opticView";\
|
||||
visionMode[] = {"Normal"};\
|
||||
opticsPPEffects[] = {"OpticsCHAbera3","OpticsBlur3"};\
|
||||
cameraDir = "";\
|
||||
};\
|
||||
}
|
||||
|
||||
class G3_DZ: FNFAL_DZ
|
||||
{
|
||||
scope = 2;
|
||||
@@ -10,30 +31,30 @@ class G3_DZ: FNFAL_DZ
|
||||
fireLightDuration = 0.000;
|
||||
fireLightIntensity = 0.000;
|
||||
drySound[] = {"Ca\sounds\Weapons\rifles\dry",db-50,1,10};
|
||||
reloadMagazineSound[] = {"ca\sounds\weapons\rifles\reload-m16-3",db-25,1,25};
|
||||
reloadMagazineSound[] = {"\C1987_G3\sound\G3_Reload.wss",0.056234,1,20};
|
||||
distanceZoomMin = 50;
|
||||
distanceZoomMax = 50;
|
||||
handAnim[] = {"OFP2_ManSkeleton"};
|
||||
modes[] = {Single, FullAuto};
|
||||
class Single : Mode_SemiAuto
|
||||
{
|
||||
begin1[] = {"rh_mgswp\sound\scarAk", db5, 1,1000};
|
||||
soundBegin[] = {begin1,1};
|
||||
begin1[] = {"\C1987_G3\sound\G3.wss",1.778279,1,1000};
|
||||
soundBegin[] = {"begin1",1};
|
||||
reloadTime = 0.07;
|
||||
recoil = "recoil_single_primary_3outof10";
|
||||
recoilProne = "recoil_single_primary_prone_3outof10";
|
||||
dispersion = 0.003;
|
||||
minRange = 2;
|
||||
minRangeProbab = 0.25;
|
||||
midRange = 20;
|
||||
midRange = 200;
|
||||
midRangeProbab = 0.7;
|
||||
maxRange = 50;
|
||||
maxRange = 500;
|
||||
maxRangeProbab = 0.05;
|
||||
};
|
||||
class FullAuto : Mode_FullAuto
|
||||
{
|
||||
begin1[] = {"rh_mgswp\sound\scarAk", db5, 1,1000};
|
||||
soundBegin[] = {begin1,1};
|
||||
begin1[] = {"\C1987_G3\sound\G3.wss",1.778279,1,1000};
|
||||
soundBegin[] = {"begin1",1};
|
||||
soundContinuous = 0;
|
||||
reloadTime = 0.1;
|
||||
ffCount = 1;
|
||||
@@ -43,10 +64,142 @@ class G3_DZ: FNFAL_DZ
|
||||
dispersion = 0.003; //0.007;
|
||||
minRange = 0;
|
||||
minRangeProbab = 0.20;
|
||||
midRange = 7;
|
||||
midRange = 150;
|
||||
midRangeProbab = 0.7;
|
||||
maxRange = 15;
|
||||
maxRange = 400;
|
||||
maxRangeProbab = 0.05;
|
||||
};
|
||||
class Attachments {};
|
||||
};
|
||||
|
||||
class G3A3_DZ: G3_DZ
|
||||
{
|
||||
displayName = $STR_DZ_WPN_G3A3_NAME;
|
||||
model = "\C1987_G3\g3.p3d";
|
||||
picture = "\C1987_G3\equip\g3.paa";
|
||||
|
||||
class Attachments
|
||||
{
|
||||
Attachment_CCO = "G3A3_CCO_DZ";
|
||||
Attachment_Holo = "G3A3_HOLO_DZ";
|
||||
Attachment_ACOG = "G3A3_ACOG_DZ";
|
||||
};
|
||||
};
|
||||
|
||||
class G3A3_CCO_DZ: G3A3_DZ
|
||||
{
|
||||
displayName = $STR_DZ_WPN_G3A3_CCO_NAME;
|
||||
model = "\C1987_G3\g3_aimshot.p3d";
|
||||
picture = "\C1987_G3\equip\g3_aim.paa";
|
||||
class Attachments {};
|
||||
|
||||
class ItemActions
|
||||
{
|
||||
class RemoveCCO
|
||||
{
|
||||
text = $STR_DZ_ATT_CCO_RMVE;
|
||||
script = "; ['Attachment_CCO',_id,'G3A3_DZ'] call player_removeAttachment";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
class G3A3_Holo_DZ: G3A3_DZ
|
||||
{
|
||||
displayName = $STR_DZ_WPN_G3A3_HOLO_NAME;
|
||||
model = "\C1987_G3\g3_eotech.p3d";
|
||||
picture = "\C1987_G3\equip\g3_eotech.paa";
|
||||
class Attachments {};
|
||||
|
||||
class ItemActions
|
||||
{
|
||||
class RemoveHolo
|
||||
{
|
||||
text = $STR_DZ_ATT_HOLO_RMVE;
|
||||
script = "; ['Attachment_Holo',_id,'G3A3_DZ'] call player_removeAttachment";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
class G3A3_ACOG_DZ: G3A3_DZ
|
||||
{
|
||||
displayName = $STR_DZ_WPN_G3A3_ACOG_NAME;
|
||||
model = "\C1987_G3\g3_acog.p3d";
|
||||
picture = "\C1987_G3\equip\g3_acog.paa";
|
||||
class Attachments {};
|
||||
G3_ACOG;
|
||||
|
||||
class ItemActions
|
||||
{
|
||||
class RemoveACOG
|
||||
{
|
||||
text = $STR_DZ_ATT_ACOG_RMVE;
|
||||
script = "; ['Attachment_ACOG',_id,'G3A3_DZ'] call player_removeAttachment";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
class G3_SG1_DZ: G3A3_DZ
|
||||
{
|
||||
displayName = $STR_DZ_WPN_G3_SG1_NAME;
|
||||
model = "\C1987_G3\g3sg1.p3d";
|
||||
picture = "\C1987_G3\equip\g3sg1.paa";
|
||||
modelOptics = "\ca\weapons\2Dscope_MilDot_10";
|
||||
opticsPPEffects[] = {"OpticsCHAbera1","OpticsBlur1"};
|
||||
opticsZoomMin = 0.029624;
|
||||
opticsZoomMax = 0.09222;
|
||||
opticsZoomInit = 0.09222;
|
||||
distanceZoomMin = 329;
|
||||
distanceZoomMax = 329;
|
||||
optics = 1;
|
||||
class Single : Mode_SemiAuto
|
||||
{
|
||||
begin1[] = {"\C1987_G3\sound\G3.wss",1.778279,1,1000};
|
||||
soundBegin[] = {"begin1",1};
|
||||
reloadTime = 0.07;
|
||||
recoil = "recoil_single_primary_3outof10";
|
||||
recoilProne = "recoil_single_primary_prone_3outof10";
|
||||
dispersion = 0.003;
|
||||
minRange = 2;
|
||||
minRangeProbab = 0.25;
|
||||
midRange = 400;
|
||||
midRangeProbab = 0.7;
|
||||
maxRange = 800;
|
||||
maxRangeProbab = 0.05;
|
||||
};
|
||||
class FullAuto : Mode_FullAuto
|
||||
{
|
||||
begin1[] = {"\C1987_G3\sound\G3.wss",1.778279,1,1000};
|
||||
soundBegin[] = {"begin1",1};
|
||||
soundContinuous = 0;
|
||||
reloadTime = 0.1;
|
||||
ffCount = 1;
|
||||
recoil = "recoil_auto_primary_3outof10";
|
||||
recoilProne = "recoil_auto_primary_prone_3outof10";
|
||||
aiRateOfFire = 0.001;
|
||||
dispersion = 0.003; //0.007;
|
||||
minRange = 0;
|
||||
minRangeProbab = 0.20;
|
||||
midRange = 350;
|
||||
midRangeProbab = 0.7;
|
||||
maxRange = 700;
|
||||
maxRangeProbab = 0.05;
|
||||
};
|
||||
class Attachments {};
|
||||
};
|
||||
|
||||
class G3_SG1_Bipod_DZ: G3_SG1_DZ
|
||||
{
|
||||
displayName = $STR_DZ_WPN_G3_SG1_BIPOD_NAME;
|
||||
model = "\C1987_G3\g3sg1_bipod.p3d";
|
||||
picture = "\C1987_G3\equip\g3sg1_bipod.paa";
|
||||
class Single : Single
|
||||
{
|
||||
recoilProne = "recoil_single_primary_prone_1outof10";
|
||||
};
|
||||
class FullAuto : FullAuto
|
||||
{
|
||||
recoilProne = "recoil_auto_primary_prone_2outof10";
|
||||
};
|
||||
};
|
||||
|
||||
#undef G3_ACOG
|
||||
@@ -2282,6 +2282,30 @@ class G3_DZ
|
||||
{
|
||||
weight = 6.1;
|
||||
};
|
||||
class G3A3_DZ
|
||||
{
|
||||
weight = 6.1;
|
||||
};
|
||||
class G3A3_CCO_DZ
|
||||
{
|
||||
weight = 6.2;
|
||||
};
|
||||
class G3A3_Holo_DZ
|
||||
{
|
||||
weight = 6.2;
|
||||
};
|
||||
class G3A3_ACOG_DZ
|
||||
{
|
||||
weight = 6.3;
|
||||
};
|
||||
class G3_SG1_DZ
|
||||
{
|
||||
weight = 6.5;
|
||||
};
|
||||
class G3_SG1_Bipod_DZ
|
||||
{
|
||||
weight = 6.7;
|
||||
};
|
||||
class SCAR_H_AK_DZ
|
||||
{
|
||||
weight = 4.5;
|
||||
|
||||
@@ -18306,13 +18306,31 @@
|
||||
|
||||
<!-- G3 -->
|
||||
<Key ID="STR_DZ_WPN_G3_NAME">
|
||||
<English>G3</English>
|
||||
<English>G3A1</English>
|
||||
</Key>
|
||||
<Key ID="STR_DZ_WPN_G3_DESC">
|
||||
<English>Assault Rifle <br/>Caliber: 7.62x51mm</English>
|
||||
<German>Sturmgewehr <br/>Kaliber: 7.62x51mm</German>
|
||||
<Russian>Штурмовая винтовка<br/>Калибр: 7.62x51мм</Russian>
|
||||
</Key>
|
||||
<Key ID="STR_DZ_WPN_G3A3_NAME">
|
||||
<English>G3A3</English>
|
||||
</Key>
|
||||
<Key ID="STR_DZ_WPN_G3A3_CCO_NAME">
|
||||
<English>G3A3 CCO</English>
|
||||
</Key>
|
||||
<Key ID="STR_DZ_WPN_G3A3_HOLO_NAME">
|
||||
<English>G3A3 Holo</English>
|
||||
</Key>
|
||||
<Key ID="STR_DZ_WPN_G3A3_ACOG_NAME">
|
||||
<English>G3A3 ACOG</English>
|
||||
</Key>
|
||||
<Key ID="STR_DZ_WPN_G3_SG1_NAME">
|
||||
<English>G3 SG1</English>
|
||||
</Key>
|
||||
<Key ID="STR_DZ_WPN_G3_SG1_BIPOD_NAME">
|
||||
<English>G3 SG1 Bipod</English>
|
||||
</Key>
|
||||
|
||||
<!-- MAT 49 -->
|
||||
<Key ID="STR_DZ_WPN_MAT49_NAME">
|
||||
|
||||
@@ -67,7 +67,7 @@ if (!isNil "_magazines") then {
|
||||
_class = _x select 0;
|
||||
};
|
||||
if (_class in _magazines) then {
|
||||
local _MatchedCount = {_compare = if (typeName _x == "ARRAY") then {_x select 0;} else {_x}; _compare == _class} count _magTemp;
|
||||
local _MatchedCount = {local _compare = if (typeName _x == "ARRAY") then {_x select 0;} else {_x}; _compare == _class} count _magTemp;
|
||||
local _CountedActual = {_x == _class} count _magazines;
|
||||
if (_MatchedCount > _CountedActual) then {
|
||||
_magTemp set [_forEachIndex, "0"];
|
||||
|
||||
Reference in New Issue
Block a user