Merge branch 'master' of github.com:acemod/ACE3

This commit is contained in:
jaynus 2015-04-14 14:45:30 -07:00
commit df3c8155a0
30 changed files with 752 additions and 175 deletions

View File

@ -90,7 +90,8 @@ class CfgAmmo {
ACE_muzzleVelocities[]={780, 880, 920}; ACE_muzzleVelocities[]={780, 880, 920};
ACE_barrelLengths[]={10, 16.3, 20}; ACE_barrelLengths[]={10, 16.3, 20};
}; };
class ACE_545x39_Ball_7T3M : B_556x45_Ball_Tracer_Red { class B_556x45_Ball_Tracer_Yellow;
class ACE_545x39_Ball_7T3M : B_556x45_Ball_Tracer_Yellow {
airFriction=-0.001162; airFriction=-0.001162;
caliber=0.5; caliber=0.5;
deflecting=18; deflecting=18;
@ -122,9 +123,24 @@ class CfgAmmo {
ACE_barrelLengths[]={10, 16, 20, 24, 26, 30}; ACE_barrelLengths[]={10, 16, 20, 24, 26, 30};
}; };
class B_65x39_Case_yellow; class B_65x39_Case_yellow;
class ACE_B_65x39_Caseless_Tracer_Dim : B_65x39_Case_yellow { class ACE_65x39_Caseless_Tracer_Dim : B_65x39_Case_yellow {
nvgOnly = 1; nvgOnly = 1;
}; };
class ACE_65x47_Ball_Scenar: B_65x39_Caseless
{
airFriction=-0.00078;
typicalSpeed=820 ;
ACE_caliber=0.264;
ACE_bulletLength=1.364;
ACE_bulletMass=139;
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.290};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ICAO";
ACE_dragModel=7;
ACE_muzzleVelocities[]={760, 790, 820, 830};
ACE_barrelLengths[]={16, 20, 24, 26};
};
class B_762x51_Ball : BulletBase { class B_762x51_Ball : BulletBase {
airFriction=-0.001035; airFriction=-0.001035;
typicalSpeed=833; typicalSpeed=833;
@ -140,8 +156,8 @@ class CfgAmmo {
ACE_muzzleVelocities[]={700, 800, 820, 833, 845}; ACE_muzzleVelocities[]={700, 800, 820, 833, 845};
ACE_barrelLengths[]={10, 16, 20, 24, 26}; ACE_barrelLengths[]={10, 16, 20, 24, 26};
}; };
class B_762x51_Tracer_Red; class B_762x51_Tracer_Yellow;
class ACE_B_762x51_Tracer_Dim: B_762x51_Tracer_Red { class ACE_B_762x51_Tracer_Dim: B_762x51_Tracer_Yellow {
nvgOnly = 1; nvgOnly = 1;
}; };
class ACE_762x51_Ball_M118LR : B_762x51_Ball { class ACE_762x51_Ball_M118LR : B_762x51_Ball {
@ -160,6 +176,57 @@ class CfgAmmo {
ACE_muzzleVelocities[]={750, 780, 790, 794}; ACE_muzzleVelocities[]={750, 780, 790, 794};
ACE_barrelLengths[]={16, 20, 24, 26}; ACE_barrelLengths[]={16, 20, 24, 26};
}; };
class ACE_762x67_Ball_Mk248_Mod_0 : B_762x51_Ball
{
airFriction=-0.000830;
caliber=1.08;
hit=17;
typicalSpeed=900;
ACE_caliber=0.308;
ACE_bulletLength=1.353;
ACE_bulletMass=190;
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.268};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ICAO";
ACE_dragModel=7;
ACE_muzzleVelocities[]={865, 900, 924};
ACE_barrelLengths[]={20, 24, 26};
};
class ACE_762x67_Ball_Mk248_Mod_1 : B_762x51_Ball
{
airFriction=-0.000815;
caliber=1.12;
hit=18;
typicalSpeed=867;
ACE_caliber=0.308;
ACE_bulletLength=1.489;
ACE_bulletMass=220;
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.310};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ICAO";
ACE_dragModel=7;
ACE_muzzleVelocities[]={847, 867, 877};
ACE_barrelLengths[]={20, 24, 26};
};
class ACE_762x67_Ball_Berger_Hybrid_OTM : B_762x51_Ball
{
airFriction=-0.00076;
caliber=1.15;
hit=19;
typicalSpeed=853;
ACE_caliber=0.308;
ACE_bulletLength=1.602;
ACE_bulletMass=230;
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.368};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ICAO";
ACE_dragModel=7;
ACE_muzzleVelocities[]={800, 853, 884};
ACE_barrelLengths[]={20, 24, 26};
};
class ACE_762x51_Ball_Subsonic : B_762x51_Ball { class ACE_762x51_Ball_Subsonic : B_762x51_Ball {
airFriction=-0.000535; airFriction=-0.000535;
caliber=0.5; caliber=0.5;
@ -204,7 +271,8 @@ class CfgAmmo {
ACE_muzzleVelocities[]={700, 800, 820, 833}; ACE_muzzleVelocities[]={700, 800, 820, 833};
ACE_barrelLengths[]={16, 20, 24, 26}; ACE_barrelLengths[]={16, 20, 24, 26};
}; };
class ACE_762x54_Ball_7T2 : B_762x51_Tracer_Red { class B_762x54_Tracer_Green;
class ACE_762x54_Ball_7T2 : B_762x54_Tracer_Green {
airFriction=-0.001023; airFriction=-0.001023;
caliber=0.9; caliber=0.9;
hit=15; hit=15;
@ -251,7 +319,7 @@ class CfgAmmo {
ACE_muzzleVelocities[]={650, 716, 750}; ACE_muzzleVelocities[]={650, 716, 750};
ACE_barrelLengths[]={10, 16.3, 20}; ACE_barrelLengths[]={10, 16.3, 20};
}; };
class ACE_762x39_Ball_57N231P : B_762x51_Tracer_Red { class ACE_762x39_Ball_57N231P : B_762x51_Tracer_Yellow {
airFriction=-0.0015168; airFriction=-0.0015168;
hit=12; hit=12;
typicalSpeed=716; typicalSpeed=716;

View File

@ -11,22 +11,54 @@ class CfgMagazines {
class 100Rnd_65x39_caseless_mag_Tracer: 100Rnd_65x39_caseless_mag { class 100Rnd_65x39_caseless_mag_Tracer: 100Rnd_65x39_caseless_mag {
initSpeed = 760; initSpeed = 760;
}; };
class ACE_100Rnd_65x39_caseless_mag_Tracer_Dim: 100Rnd_65x39_caseless_mag_Tracer {
author = "$STR_ACE_Common_ACETeam";
ammo = "ACE_65x39_Caseless_Tracer_Dim";
displayName = "$STR_ACE_100Rnd_65x39_caseless_mag_Tracer_DimName";
displayNameShort = "$STR_ACE_100Rnd_65x39_caseless_mag_Tracer_DimNameShort";
descriptionShort = "$STR_ACE_100Rnd_65x39_caseless_mag_Tracer_DimDescription";
picture = "\A3\weapons_f\data\ui\m_100rnd_65x39_yellow_ca.paa";
};
class 200Rnd_65x39_cased_Box: 100Rnd_65x39_caseless_mag { class 200Rnd_65x39_cased_Box: 100Rnd_65x39_caseless_mag {
initSpeed = 760; initSpeed = 760;
}; };
class ACE_200Rnd_65x39_cased_Box_Tracer_Dim: 200Rnd_65x39_cased_Box {
author = "$STR_ACE_Common_ACETeam";
ammo = "ACE_65x39_Caseless_Tracer_Dim";
displayName = "$STR_ACE_200Rnd_65x39_cased_Box_Tracer_DimName";
displayNameShort = "$STR_ACE_200Rnd_65x39_cased_Box_Tracer_DimNameShort";
descriptionShort = "$STR_ACE_200Rnd_65x39_cased_Box_Tracer_DimDescription";
picture = "\A3\weapons_f\data\ui\m_200rnd_65x39_yellow_ca.paa";
};
class 30Rnd_65x39_caseless_mag_Tracer: 30Rnd_65x39_caseless_mag { class 30Rnd_65x39_caseless_mag_Tracer: 30Rnd_65x39_caseless_mag {
}; };
class ACE_30Rnd_65x39_caseless_mag_Tracer_Dim: 30Rnd_65x39_caseless_mag_Tracer { class ACE_30Rnd_65x39_caseless_mag_Tracer_Dim: 30Rnd_65x39_caseless_mag_Tracer {
author = "$STR_ACE_Common_ACETeam"; author = "$STR_ACE_Common_ACETeam";
ammo = "ACE_B_65x39_Caseless_Tracer_Dim"; ammo = "ACE_65x39_Caseless_Tracer_Dim";
displayName = "$STR_ACE_30Rnd_65x39_caseless_mag_Tracer_DimName"; displayName = "$STR_ACE_30Rnd_65x39_caseless_mag_Tracer_DimName";
displayNameShort = "$STR_ACE_30Rnd_65x39_caseless_mag_Tracer_DimNameShort"; displayNameShort = "$STR_ACE_30Rnd_65x39_caseless_mag_Tracer_DimNameShort";
descriptionShort = "$STR_ACE_30Rnd_65x39_caseless_mag_Tracer_DimDescription"; descriptionShort = "$STR_ACE_30Rnd_65x39_caseless_mag_Tracer_DimDescription";
picture = "\A3\weapons_f\data\ui\m_30stanag_caseless_yellow_CA.paa"; picture = "\A3\weapons_f\data\ui\m_30stanag_caseless_yellow_ca.paa";
}; };
class 30Rnd_556x45_Stanag: CA_Magazine { class 30Rnd_556x45_Stanag: CA_Magazine {
}; };
class ACE_30Rnd_556x45_Stanag_Mk262_mag: 30Rnd_556x45_Stanag {
author = "$STR_ACE_Common_ACETeam";
ammo = "ACE_556x45_Ball_Mk262";
displayName = "$STR_ACE_30Rnd_556x45_Stanag_Mk262_mag_Name";
displayNameShort = "$STR_ACE_30Rnd_556x45_Stanag_Mk262_mag_NameShort";
descriptionShort = "$STR_ACE_30Rnd_556x45_Stanag_Mk262_mag_Description";
initSpeed = 832;
};
class ACE_30Rnd_556x45_Stanag_Mk318_mag: 30Rnd_556x45_Stanag {
author = "$STR_ACE_Common_ACETeam";
ammo = "ACE_556x45_Ball_Mk318";
displayName = "$STR_ACE_30Rnd_556x45_Stanag_Mk318_mag_Name";
displayNameShort = "$STR_ACE_30Rnd_556x45_Stanag_Mk318_mag_NameShort";
descriptionShort = "$STR_ACE_30Rnd_556x45_Stanag_Mk318_mag_Description";
initSpeed = 922;
};
class 30Rnd_556x45_Stanag_Tracer_Red: 30Rnd_556x45_Stanag { class 30Rnd_556x45_Stanag_Tracer_Red: 30Rnd_556x45_Stanag {
}; };
class ACE_30Rnd_556x45_Stanag_Tracer_Dim: 30Rnd_556x45_Stanag_Tracer_Red { class ACE_30Rnd_556x45_Stanag_Tracer_Dim: 30Rnd_556x45_Stanag_Tracer_Red {
@ -35,7 +67,7 @@ class CfgMagazines {
displayName = "$STR_ACE_30Rnd_556x45_mag_Tracer_DimName"; displayName = "$STR_ACE_30Rnd_556x45_mag_Tracer_DimName";
displayNameShort = "$STR_ACE_30Rnd_556x45_mag_Tracer_DimNameShort"; displayNameShort = "$STR_ACE_30Rnd_556x45_mag_Tracer_DimNameShort";
descriptionShort = "$STR_ACE_30Rnd_556x45_mag_Tracer_DimDescription"; descriptionShort = "$STR_ACE_30Rnd_556x45_mag_Tracer_DimDescription";
picture = "\A3\weapons_f\data\ui\m_30stanag_yellow_ca.paa"; picture = "\A3\weapons_f\data\ui\m_20stanag_red_ca.paa";
}; };
class 20Rnd_762x51_Mag: CA_Magazine { class 20Rnd_762x51_Mag: CA_Magazine {
@ -50,7 +82,7 @@ class CfgMagazines {
class 150Rnd_762x51_Box_Tracer: 150Rnd_762x51_Box { class 150Rnd_762x51_Box_Tracer: 150Rnd_762x51_Box {
initSpeed = 833; initSpeed = 833;
}; };
class ACE_20Rnd_762x51_Mag_Tracer: 20Rnd_762x51_Mag { //@todo Green tracers for opfor and yellow tracers for independent class ACE_20Rnd_762x51_Mag_Tracer: 20Rnd_762x51_Mag {
author = "$STR_ACE_Common_ACETeam"; author = "$STR_ACE_Common_ACETeam";
ammo = "B_762x51_Tracer_Red"; ammo = "B_762x51_Tracer_Red";
displayName = "$STR_ACE_20Rnd_762x51_mag_TracerName"; displayName = "$STR_ACE_20Rnd_762x51_mag_TracerName";
@ -76,6 +108,61 @@ class CfgMagazines {
initSpeed = 325; initSpeed = 325;
}; };
class ACE_10Rnd_762x51_M118LR_Mag: 10Rnd_762x51_Mag
{
author = "$STR_ACE_Common_ACETeam";
ammo = "ACE_762x51_Ball_M118LR";
count=10;
displayName = "$STR_ACE_10Rnd_762x51_M118LR_Mag_Name";
displayNameShort = "$STR_ACE_10Rnd_762x51_M118LR_Mag_NameShort";
descriptionShort = "$STR_ACE_10Rnd_762x51_M118LR_Mag_Description";
initSpeed = 780;
};
class ACE_20Rnd_762x51_M118LR_Mag: 20Rnd_762x51_Mag
{
author = "$STR_ACE_Common_ACETeam";
ammo = "ACE_762x51_Ball_M118LR";
displayName = "$STR_ACE_20Rnd_762x51_M118LR_Mag_Name";
displayNameShort = "$STR_ACE_20Rnd_762x51_M118LR_Mag_NameShort";
descriptionShort = "$STR_ACE_20Rnd_762x51_M118LR_Mag_Description";
initSpeed = 780;
};
class ACE_20Rnd_762x67_Mk248_Mod_0_Mag: 20Rnd_762x51_Mag
{
author = "$STR_ACE_Common_ACETeam";
ammo = "ACE_762x67_Ball_Mk248_Mod_0";
displayName = "$STR_ACE_20Rnd_762x67_Mk248_Mod_0_Mag_Name";
displayNameShort = "$STR_ACE_20Rnd_762x67_Mk248_Mod_0_Mag_NameShort";
descriptionShort = "$STR_ACE_20Rnd_762x67_Mk248_Mod_0_Mag_Description";
initSpeed = 865;
};
class ACE_20Rnd_762x67_Mk248_Mod_1_Mag: 20Rnd_762x51_Mag
{
author = "$STR_ACE_Common_ACETeam";
ammo = "ACE_762x67_Ball_Mk248_Mod_1";
displayName = "$STR_ACE_20Rnd_762x67_Mk248_Mod_1_Mag_Name";
displayNameShort = "$STR_ACE_20Rnd_762x67_Mk248_Mod_1_Mag_NameShort";
descriptionShort = "$STR_ACE_20Rnd_762x67_Mk248_Mod_1_Mag_Description";
initSpeed = 847;
};
class ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag: 20Rnd_762x51_Mag
{
author = "$STR_ACE_Common_ACETeam";
ammo = "ACE_762x67_Ball_Berger_Hybrid_OTM";
displayName = "$STR_ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag_Name";
displayNameShort = "$STR_ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag_NameShort";
descriptionShort = "$STR_ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag_Description";
initSpeed = 800;
};
class ACE_30Rnd_65x47_Scenar_mag: 30Rnd_65x39_caseless_mag
{
author = "$STR_ACE_Common_ACETeam";
ammo = "ACE_65x47_Ball_Scenar";
count=30;
displayName = "30rnd 6.5mm Mag (HPBT Scenar)";
descriptionshort = "Caliber: 65x47 mm (HPBT Scenar)<br />Rounds: 30<br />Used in: MXM";
};
class 30Rnd_9x21_Mag: CA_Magazine { class 30Rnd_9x21_Mag: CA_Magazine {
initSpeed = 450; initSpeed = 450;
}; };
@ -123,6 +210,14 @@ class CfgMagazines {
class 10Rnd_762x54_Mag: 10Rnd_762x51_Mag { class 10Rnd_762x54_Mag: 10Rnd_762x51_Mag {
initSpeed = 800; initSpeed = 800;
}; };
class ACE_10Rnd_762x54_Tracer_mag: 16Rnd_9x21_Mag {
author = "$STR_ACE_Common_ACETeam";
ammo = "ACE_762x54_Ball_7T2";
displayName = "$STR_ACE_10Rnd_762x54_Tracer_mag_Name";
displayNameShort = "$STR_ACE_10Rnd_762x54_Tracer_mag_NameShort";
descriptionShort = "$STR_ACE_10Rnd_762x54_Tracer_mag_Description";
initSpeed = 800;
};
class 150Rnd_762x54_Box: 150Rnd_762x51_Box { class 150Rnd_762x54_Box: 150Rnd_762x51_Box {
initSpeed = 750; initSpeed = 750;

View File

@ -9,4 +9,154 @@ class CfgVehicles {
//hitPart = "systemChat str _this"; //hitPart = "systemChat str _this";
}; };
}; };
class NATO_Box_Base;
class Box_NATO_Wps_F: NATO_Box_Base {
class TransportMagazines {
MACRO_ADDMAGAZINE(ACE_30Rnd_65x47_Scenar_mag,4);
};
};
class Box_NATO_WpsSpecial_F: NATO_Box_Base {
class TransportMagazines {
MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_mag_Tracer_Dim,4);
MACRO_ADDMAGAZINE(ACE_100Rnd_65x39_caseless_mag_Tracer_Dim,4);
MACRO_ADDMAGAZINE(ACE_200Rnd_65x39_cased_Box_Tracer_Dim,4);
MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Tracer_Dim,1);
};
};
class Box_NATO_Ammo_F: NATO_Box_Base {
class TransportMagazines {
MACRO_ADDMAGAZINE(ACE_30Rnd_65x47_Scenar_mag,4);
MACRO_ADDMAGAZINE(ACE_10Rnd_762x51_M118LR_Mag,4);
MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_M118LR_Mag,4);
MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_Tracer_Dim,4);
};
};
class Box_NATO_Support_F: NATO_Box_Base {
class TransportMagazines {
MACRO_ADDMAGAZINE(ACE_10Rnd_762x51_M118LR_Mag,4);
MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_M118LR_Mag,6);
MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_Tracer_Dim,4);
MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_SD,3);
};
};
class ReammoBox_F;
class B_supplyCrate_F: ReammoBox_F {
class TransportMagazines {
MACRO_ADDMAGAZINE(ACE_30Rnd_65x47_Scenar_mag,4);
MACRO_ADDMAGAZINE(ACE_10Rnd_762x51_M118LR_Mag,4);
MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_M118LR_Mag,4);
MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_Tracer_Dim,4);
};
};
class EAST_Box_Base;
class Box_East_Wps_F: EAST_Box_Base {
class TransportMagazines {
MACRO_ADDMAGAZINE(ACE_30Rnd_65x47_Scenar_mag,4);
MACRO_ADDMAGAZINE(ACE_10Rnd_762x54_Tracer_mag,4);
};
};
class Box_East_WpsSpecial_F: EAST_Box_Base {
class TransportMagazines {
MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Tracer_Dim,1);
MACRO_ADDMAGAZINE(ACE_30Rnd_65x47_Scenar_mag,4);
MACRO_ADDMAGAZINE(ACE_10Rnd_762x54_Tracer_mag,4);
};
};
class Box_East_Ammo_F: EAST_Box_Base {
class TransportMagazines {
MACRO_ADDMAGAZINE(ACE_30Rnd_65x47_Scenar_mag,4);
MACRO_ADDMAGAZINE(ACE_10Rnd_762x54_Tracer_mag,4);
};
};
class Box_East_Support_F: EAST_Box_Base {
class TransportMagazines {
MACRO_ADDMAGAZINE(ACE_30Rnd_65x47_Scenar_mag,6);
MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_SD,3);
MACRO_ADDMAGAZINE(ACE_10Rnd_762x54_Tracer_mag,4);
};
};
class IND_Box_Base;
class Box_IND_Wps_F: IND_Box_Base {
class TransportMagazines {
MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk262_mag,4);
MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk318_mag,4);
};
};
class Box_IND_WpsSpecial_F: IND_Box_Base {
class TransportMagazines {
MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Tracer_Dim,4);
};
};
class Box_IND_Ammo_F: IND_Box_Base {
class TransportMagazines {
MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk262_mag,4);
MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk318_mag,4);
};
};
class FIA_Box_Base_F;
class Box_FIA_Wps_F: FIA_Box_Base_F {
class TransportMagazines {
MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk262_mag,4);
MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk318_mag,4);
};
};
class Box_FIA_Ammo_F: FIA_Box_Base_F {
class TransportMagazines {
MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk262_mag,4);
MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk318_mag,4);
};
};
class I_supplyCrate_F: B_supplyCrate_F {
class TransportMagazines {
MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk262_mag,4);
MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk318_mag,4);
};
};
class IG_supplyCrate_F: ReammoBox_F {
class TransportMagazines {
MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk262_mag,4);
MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk318_mag,4);
};
};
class C_supplyCrate_F: ReammoBox_F {
class TransportMagazines {
MACRO_ADDMAGAZINE(ACE_30Rnd_65x47_Scenar_mag,4);
};
};
class ACE_Box_Misc: Box_NATO_Support_F {
class TransportMagazines {
MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_SD,4);
MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_M118LR_Mag,4);
MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_Tracer_Dim,4);
MACRO_ADDMAGAZINE(ACE_20Rnd_762x67_Mk248_Mod_0_Mag,4);
MACRO_ADDMAGAZINE(ACE_20Rnd_762x67_Mk248_Mod_1_Mag,4);
MACRO_ADDMAGAZINE(ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag,4);
MACRO_ADDMAGAZINE(ACE_10Rnd_762x54_Tracer_mag,4);
MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk262_mag,4);
MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Mk318_mag,4);
MACRO_ADDMAGAZINE(ACE_30Rnd_556x45_Stanag_Tracer_Dim,4);
MACRO_ADDMAGAZINE(ACE_30Rnd_65x39_caseless_mag_Tracer_Dim,4);
MACRO_ADDMAGAZINE(ACE_100Rnd_65x39_caseless_mag_Tracer_Dim,4);
MACRO_ADDMAGAZINE(ACE_200Rnd_65x39_cased_Box_Tracer_Dim,4);
MACRO_ADDMAGAZINE(ACE_30Rnd_65x47_Scenar_mag,4);
};
};
}; };

View File

@ -56,6 +56,14 @@ class CfgWeapons {
}; };
}; };
class arifle_MX_SW_F: arifle_MX_Base_F { class arifle_MX_SW_F: arifle_MX_Base_F {
magazines[] = {
"100Rnd_65x39_caseless_mag_Tracer",
"100Rnd_65x39_caseless_mag",
"30Rnd_65x39_caseless_mag",
"30Rnd_65x39_caseless_mag_Tracer",
"ACE_100Rnd_65x39_caseless_mag_Tracer_Dim",
"ACE_30Rnd_65x39_caseless_mag_Tracer_Dim"
};
initSpeed = -1.0; initSpeed = -1.0;
ACE_barrelTwist=9; ACE_barrelTwist=9;
ACE_barrelLength=16.0; ACE_barrelLength=16.0;
@ -76,6 +84,12 @@ class CfgWeapons {
}; };
}; };
class arifle_MXM_F: arifle_MX_Base_F { class arifle_MXM_F: arifle_MX_Base_F {
magazines[] = {
"30Rnd_65x39_caseless_mag",
"30Rnd_65x39_caseless_mag_Tracer",
"ACE_30Rnd_65x39_caseless_mag_Tracer_Dim",
"ACE_30Rnd_65x47_Scenar_mag"
};
initSpeed = -1.018; initSpeed = -1.018;
ACE_barrelTwist=9; ACE_barrelTwist=9;
ACE_barrelLength=18; ACE_barrelLength=18;
@ -111,6 +125,11 @@ class CfgWeapons {
/* Other */ /* Other */
class LMG_Mk200_F: Rifle_Long_Base_F { class LMG_Mk200_F: Rifle_Long_Base_F {
magazines[] = {
"200Rnd_65x39_cased_Box",
"200Rnd_65x39_cased_Box_Tracer",
"ACE_200Rnd_65x39_cased_Box_Tracer_Dim"
};
initSpeed = -0.9763; initSpeed = -0.9763;
class WeaponSlotsInfo: WeaponSlotsInfo { class WeaponSlotsInfo: WeaponSlotsInfo {
class MuzzleSlot: MuzzleSlot { class MuzzleSlot: MuzzleSlot {
@ -180,7 +199,7 @@ class CfgWeapons {
/* SMGs */ /* SMGs */
class SDAR_base_F: Rifle_Base_F { class SDAR_base_F: Rifle_Base_F {
initSpeed = -0.9723; initSpeed = -0.989;
class Single: Mode_SemiAuto { class Single: Mode_SemiAuto {
dispersion = 0.0008727; // radians. Equal to 3 MOA, about the limit of mass-produced M855 plus dispersion = 0.0008727; // radians. Equal to 3 MOA, about the limit of mass-produced M855 plus
// some extra because Kel-Tec. // some extra because Kel-Tec.
@ -284,26 +303,51 @@ class CfgWeapons {
ACE_barrelLength=7; ACE_barrelLength=7;
}; };
class arifle_Katiba_F: arifle_katiba_Base_F { class arifle_Katiba_F: arifle_katiba_Base_F {
initSpeed = -1.09; magazines[] = {
"30Rnd_65x39_caseless_mag",
"30Rnd_65x39_caseless_mag_Tracer",
"ACE_30Rnd_65x39_caseless_mag_Tracer_Dim"
};
initSpeed = -1.08;
ACE_barrelTwist=8; ACE_barrelTwist=8;
ACE_barrelLength=28.7; ACE_barrelLength=28.7;
}; };
class arifle_Katiba_C_F: arifle_katiba_Base_F { class arifle_Katiba_C_F: arifle_katiba_Base_F {
magazines[] = {
"30Rnd_65x39_caseless_mag",
"30Rnd_65x39_caseless_mag_Tracer",
"ACE_30Rnd_65x39_caseless_mag_Tracer_Dim"
};
initSpeed = -1.07; initSpeed = -1.07;
ACE_barrelTwist=8; ACE_barrelTwist=8;
ACE_barrelLength=26.8; ACE_barrelLength=26.8;
}; };
class arifle_Katiba_GL_F: arifle_katiba_Base_F { class arifle_Katiba_GL_F: arifle_katiba_Base_F {
initSpeed = -1.09; magazines[] = {
"30Rnd_65x39_caseless_mag",
"30Rnd_65x39_caseless_mag_Tracer",
"ACE_30Rnd_65x39_caseless_mag_Tracer_Dim"
};
initSpeed = -1.08;
ACE_barrelTwist=8; ACE_barrelTwist=8;
ACE_barrelLength=28.7; ACE_barrelLength=28.7;
}; };
class arifle_MX_F: arifle_MX_Base_F { class arifle_MX_F: arifle_MX_Base_F {
magazines[] = {
"30Rnd_65x39_caseless_mag",
"30Rnd_65x39_caseless_mag_Tracer",
"ACE_30Rnd_65x39_caseless_mag_Tracer_Dim"
};
initSpeed = -0.99; initSpeed = -0.99;
ACE_barrelTwist=9; ACE_barrelTwist=9;
ACE_barrelLength=14.5; ACE_barrelLength=14.5;
}; };
class arifle_MX_GL_F: arifle_MX_Base_F { class arifle_MX_GL_F: arifle_MX_Base_F {
magazines[] = {
"30Rnd_65x39_caseless_mag",
"30Rnd_65x39_caseless_mag_Tracer",
"ACE_30Rnd_65x39_caseless_mag_Tracer_Dim"
};
initSpeed = -0.99; initSpeed = -0.99;
ACE_barrelTwist=9; ACE_barrelTwist=9;
ACE_barrelLength=14.5; ACE_barrelLength=14.5;
@ -315,6 +359,11 @@ class CfgWeapons {
}; };
*/ */
class arifle_MXC_F: arifle_MX_Base_F { class arifle_MXC_F: arifle_MX_Base_F {
magazines[] = {
"30Rnd_65x39_caseless_mag",
"30Rnd_65x39_caseless_mag_Tracer",
"ACE_30Rnd_65x39_caseless_mag_Tracer_Dim"
};
initSpeed = -0.965; initSpeed = -0.965;
ACE_barrelTwist=8; ACE_barrelTwist=8;
ACE_barrelLength=10.5; ACE_barrelLength=10.5;
@ -326,7 +375,17 @@ class CfgWeapons {
}; };
*/ */
class arifle_SDAR_F: SDAR_base_F { class arifle_SDAR_F: SDAR_base_F {
initSpeed = -0.9723; magazines[] = {
"20Rnd_556x45_UW_mag",
"30Rnd_556x45_Stanag",
"30Rnd_556x45_Stanag_Tracer_Red",
"30Rnd_556x45_Stanag_Tracer_Green",
"30Rnd_556x45_Stanag_Tracer_Yellow",
"ACE_30Rnd_556x45_Stanag_Mk262_mag",
"ACE_30Rnd_556x45_Stanag_Mk318_mag",
"ACE_30Rnd_556x45_Stanag_Tracer_Dim"
};
initSpeed = -0.989;
ACE_barrelTwist=11.25; ACE_barrelTwist=11.25;
ACE_barrelLength=18; ACE_barrelLength=18;
}; };
@ -336,16 +395,43 @@ class CfgWeapons {
ACE_barrelLength=7.7; ACE_barrelLength=7.7;
}; };
class arifle_TRG20_F: Tavor_base_F { class arifle_TRG20_F: Tavor_base_F {
magazines[] = {
"30Rnd_556x45_Stanag",
"30Rnd_556x45_Stanag_Tracer_Red",
"30Rnd_556x45_Stanag_Tracer_Green",
"30Rnd_556x45_Stanag_Tracer_Yellow",
"ACE_30Rnd_556x45_Stanag_Mk262_mag",
"ACE_30Rnd_556x45_Stanag_Mk318_mag",
"ACE_30Rnd_556x45_Stanag_Tracer_Dim"
};
initSpeed = -0.95; initSpeed = -0.95;
ACE_barrelTwist=7; ACE_barrelTwist=7;
ACE_barrelLength=15; ACE_barrelLength=15;
}; };
class arifle_TRG21_F: Tavor_base_F { class arifle_TRG21_F: Tavor_base_F {
magazines[] = {
"30Rnd_556x45_Stanag",
"30Rnd_556x45_Stanag_Tracer_Red",
"30Rnd_556x45_Stanag_Tracer_Green",
"30Rnd_556x45_Stanag_Tracer_Yellow",
"ACE_30Rnd_556x45_Stanag_Mk262_mag",
"ACE_30Rnd_556x45_Stanag_Mk318_mag",
"ACE_30Rnd_556x45_Stanag_Tracer_Dim"
};
initSpeed = -0.989; initSpeed = -0.989;
ACE_barrelTwist=7; ACE_barrelTwist=7;
ACE_barrelLength=18.1; ACE_barrelLength=18.1;
}; };
class arifle_TRG21_GL_F: Tavor_base_F { class arifle_TRG21_GL_F: Tavor_base_F {
magazines[] = {
"30Rnd_556x45_Stanag",
"30Rnd_556x45_Stanag_Tracer_Red",
"30Rnd_556x45_Stanag_Tracer_Green",
"30Rnd_556x45_Stanag_Tracer_Yellow",
"ACE_30Rnd_556x45_Stanag_Mk262_mag",
"ACE_30Rnd_556x45_Stanag_Mk318_mag",
"ACE_30Rnd_556x45_Stanag_Tracer_Dim"
};
initSpeed = -0.989; initSpeed = -0.989;
ACE_barrelTwist=7; ACE_barrelTwist=7;
ACE_barrelLength=18.1; ACE_barrelLength=18.1;
@ -357,16 +443,43 @@ class CfgWeapons {
}; };
*/ */
class arifle_Mk20_F: mk20_base_F { class arifle_Mk20_F: mk20_base_F {
magazines[] = {
"30Rnd_556x45_Stanag",
"30Rnd_556x45_Stanag_Tracer_Red",
"30Rnd_556x45_Stanag_Tracer_Green",
"30Rnd_556x45_Stanag_Tracer_Yellow",
"ACE_30Rnd_556x45_Stanag_Mk262_mag",
"ACE_30Rnd_556x45_Stanag_Mk318_mag",
"ACE_30Rnd_556x45_Stanag_Tracer_Dim"
};
initSpeed = -0.98; initSpeed = -0.98;
ACE_barrelTwist=7; ACE_barrelTwist=7;
ACE_barrelLength=17.4; ACE_barrelLength=17.4;
}; };
class arifle_Mk20C_F: mk20_base_F { class arifle_Mk20C_F: mk20_base_F {
magazines[] = {
"30Rnd_556x45_Stanag",
"30Rnd_556x45_Stanag_Tracer_Red",
"30Rnd_556x45_Stanag_Tracer_Green",
"30Rnd_556x45_Stanag_Tracer_Yellow",
"ACE_30Rnd_556x45_Stanag_Mk262_mag",
"ACE_30Rnd_556x45_Stanag_Mk318_mag",
"ACE_30Rnd_556x45_Stanag_Tracer_Dim"
};
initSpeed = -0.956; initSpeed = -0.956;
ACE_barrelTwist=7; ACE_barrelTwist=7;
ACE_barrelLength=16; ACE_barrelLength=16;
}; };
class arifle_Mk20_GL_F: mk20_base_F { class arifle_Mk20_GL_F: mk20_base_F {
magazines[] = {
"30Rnd_556x45_Stanag",
"30Rnd_556x45_Stanag_Tracer_Red",
"30Rnd_556x45_Stanag_Tracer_Green",
"30Rnd_556x45_Stanag_Tracer_Yellow",
"ACE_30Rnd_556x45_Stanag_Mk262_mag",
"ACE_30Rnd_556x45_Stanag_Mk318_mag",
"ACE_30Rnd_556x45_Stanag_Tracer_Dim"
};
initSpeed = -0.956; initSpeed = -0.956;
ACE_barrelTwist=7; ACE_barrelTwist=7;
ACE_barrelLength=16; ACE_barrelLength=16;
@ -377,11 +490,21 @@ class CfgWeapons {
ACE_barrelLength=5.5; ACE_barrelLength=5.5;
}; };
class srifle_DMR_01_F: DMR_01_base_F { class srifle_DMR_01_F: DMR_01_base_F {
magazines[] = {
"10Rnd_762x54_Mag",
"ACE_10Rnd_762x54_Tracer_mag"
};
initSpeed = -1.025; initSpeed = -1.025;
ACE_barrelTwist=9.5; ACE_barrelTwist=9.5;
ACE_barrelLength=24; ACE_barrelLength=24;
}; };
class srifle_EBR_F: EBR_base_F { class srifle_EBR_F: EBR_base_F {
magazines[] = {
"20Rnd_762x51_Mag",
"ACE_20Rnd_762x51_Mag_Tracer_Dim",
"ACE_20Rnd_762x51_M118LR_Mag",
"ACE_20Rnd_762x51_Mag_SD"
};
initSpeed = -0.9724; initSpeed = -0.9724;
ACE_barrelTwist=12; ACE_barrelTwist=12;
ACE_barrelLength=18; ACE_barrelLength=18;
@ -409,6 +532,12 @@ class CfgWeapons {
ACE_barrelLength=26; ACE_barrelLength=26;
}; };
class srifle_DMR_03_F: DMR_03_base_F { class srifle_DMR_03_F: DMR_03_base_F {
magazines[] = {
"20Rnd_762x51_Mag",
"ACE_20Rnd_762x51_Mag_Tracer_Dim",
"ACE_20Rnd_762x51_M118LR_Mag",
"ACE_20Rnd_762x51_Mag_SD"
};
initSpeed = -0.9843; initSpeed = -0.9843;
ACE_barrelTwist=10; ACE_barrelTwist=10;
ACE_barrelLength=20; ACE_barrelLength=20;
@ -424,6 +553,12 @@ class CfgWeapons {
ACE_barrelLength=24.41; ACE_barrelLength=24.41;
}; };
class srifle_DMR_06_camo_F: DMR_06_base_F { class srifle_DMR_06_camo_F: DMR_06_base_F {
magazines[] = {
"20Rnd_762x51_Mag",
"ACE_20Rnd_762x51_Mag_Tracer_Dim",
"ACE_20Rnd_762x51_M118LR_Mag",
"ACE_20Rnd_762x51_Mag_SD"
};
initSpeed = -0.9916; initSpeed = -0.9916;
ACE_barrelTwist=12; ACE_barrelTwist=12;
ACE_barrelLength=22; ACE_barrelLength=22;

View File

@ -257,42 +257,6 @@
<Italian>Calibro: 5.56x45 mm Traccianti IR-DIM&lt;br /&gt;Munizioni: 30&lt;br /&gt;In uso su: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR</Italian> <Italian>Calibro: 5.56x45 mm Traccianti IR-DIM&lt;br /&gt;Munizioni: 30&lt;br /&gt;In uso su: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR</Italian>
<Russian>Калибр: 5.56x45 мм трассирующие под ПНВ&lt;br /&gt;Патронов: 30&lt;br /&gt;Применимы в: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR</Russian> <Russian>Калибр: 5.56x45 мм трассирующие под ПНВ&lt;br /&gt;Патронов: 30&lt;br /&gt;Применимы в: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR</Russian>
</Key> </Key>
<Key ID="STR_ACE_30Rnd_556x45_mag_SDName">
<English>5.56mm 30Rnd SD Mag</English>
<Hungarian>5,56 mm Hangtompítós 30-as Tár</Hungarian>
<German>5,56 mm 30-Schuss-Magazin SD</German>
<Spanish>Cargador de 30 balas SD de 5,56 mm</Spanish>
<French>Ch. 5,56mm 30Cps SD</French>
<Polish>Magazynek 5,56mm 30rd SD</Polish>
<Czech>5.56mm 30ks SD Zásobník</Czech>
<Portuguese>Carregador de 30 projéteis SD de 5,56mm</Portuguese>
<Italian>Caricatore 5.56mm 30Rnd Sil.</Italian>
<Russian>Магазин из 30-ти 5.56 мм дозвуковых</Russian>
</Key>
<Key ID="STR_ACE_30Rnd_556x45_mag_SDNameShort">
<English>5.56mm SD</English>
<Hungarian>5,56 mm Hangtompítós</Hungarian>
<German>5,56mm SD</German>
<Spanish>5,56 mm SD</Spanish>
<French>5,56mm SD</French>
<Polish>5,56mm SD</Polish>
<Czech>5.56mm SD</Czech>
<Portuguese>5,56mm SD</Portuguese>
<Italian>5.56 Sil.</Italian>
<Russian>5.56 мм дозвуковые</Russian>
</Key>
<Key ID="STR_ACE_30Rnd_556x45_mag_SDDescription">
<English>Caliber: 5.56x45 mm SD&lt;br /&gt;Rounds: 30&lt;br /&gt;Used in: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR</English>
<Hungarian>Kaliber: 5,56x45 mm Hangtompítós&lt;br /&gt;Lőszerek: 30&lt;br /&gt;Használható: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR</Hungarian>
<German>Kaliber: 5,56x45 mm SD&lt;br /&gt;Patronen: 30&lt;br /&gt;Eingesetzt von: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR</German>
<Spanish>Calibre: 5,56x45 mm SD&lt;br /&gt;Balas: 30&lt;br /&gt;Se usa en: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR</Spanish>
<French>Calibre: 5.56x45 mm SD&lt;br /&gt;Cartouches: 30&lt;br /&gt;Utilisé dans: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR</French>
<Polish>Kaliber: 5,56 x 45 mm SD&lt;br /&gt;Pociski: 30&lt;br /&gt;Używane w: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR</Polish>
<Czech>Ráže: 5.56x45 mm SD&lt;br /&gt;Munice: 30&lt;br /&gt;Použití: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR</Czech>
<Portuguese>Calibre: 5,56x45 mm SD&lt;br /&gt;Projéteis: 30&lt;br /&gt;Usado em: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR</Portuguese>
<Italian>Calibro: 5.56x45 mm Sil.&lt;br /&gt;Munizioni: 30&lt;br /&gt;In uso su: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR</Italian>
<Russian>Калибр: 5.56x45 мм дозвуковые&lt;br /&gt;Патронов: 30&lt;br /&gt;Применимы в: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR</Russian>
</Key>
<Key ID="STR_ACE_30Rnd_556x45_mag_APName"> <Key ID="STR_ACE_30Rnd_556x45_mag_APName">
<English>5.56mm 30Rnd AP Mag</English> <English>5.56mm 30Rnd AP Mag</English>
<Hungarian>5,56 mm Páncéltörő 30-as Tár</Hungarian> <Hungarian>5,56 mm Páncéltörő 30-as Tár</Hungarian>
@ -474,52 +438,7 @@
<Italian>Calibro: 7.62x51 mm AP&lt;br /&gt;Munizioni: 20&lt;br /&gt;In uso su: Mk18 ABR</Italian> <Italian>Calibro: 7.62x51 mm AP&lt;br /&gt;Munizioni: 20&lt;br /&gt;In uso su: Mk18 ABR</Italian>
<Russian>Калибр: 7.62x51 мм дозвуковые&lt;br /&gt;Патронов: 20&lt;br /&gt;Применимы в: Mk18 ABR</Russian> <Russian>Калибр: 7.62x51 мм дозвуковые&lt;br /&gt;Патронов: 20&lt;br /&gt;Применимы в: Mk18 ABR</Russian>
</Key> </Key>
<Key ID="STR_ACE_20Rnd_762x51_mag_LRDescription">
<English>Caliber: 7.62x51mm M118LR&lt;br /&gt;Rounds: 20&lt;br /&gt;Type: M14</English>
<Hungarian>Kaliber: 7,62x51 mm M118LR&lt;br /&gt;Lőszerek: 20&lt;br /&gt;Típus: M14</Hungarian>
<German>Kaliber: 7,62x51mm M118LR&lt;br /&gt;Schuss: 20&lt;br /&gt;Typ: M14</German>
<Spanish>Calibre: 7,62x51mm M118LR&lt;br /&gt;Balas: 20&lt;br /&gt;Tipo: M14</Spanish>
<Polish>Kaliber: 7,62 x 51 mm M118LR&lt;br /&gt;Pociski: 20&lt;br /&gt;Typ: M14</Polish>
<Czech>Kalibr: 7.62x51mm M118LR&lt;br /&gt;Náboje: 20&lt;br /&gt;Typ: M14</Czech>
<French>Calibre : 7,62x51mm M118LR&lt;br /&gt;Cartouches: 20&lt;br /&gt;Type: M14</French>
<Portuguese>Calibre: 7,62x51mm M118LR&lt;br /&gt;Projéteis: 20&lt;br /&gt;Tipo: M14</Portuguese>
<Russian>Калибр: 7.62x51mm M118LR&lt;br /&gt;Патронов: 20&lt;br /&gt;Тип: M14</Russian>
<Italian>Calibro: 7.62x51mm M118LR&lt;br /&gt;Munizioni:20&lt;br /&gt;In uso su: M14</Italian>
</Key>
<!-- .338 Lapua Magnum --> <!-- .338 Lapua Magnum -->
<Key ID="STR_ACE_10Rnd_338_Mag_TracerName">
<English>.338 LM 10Rnd Tracer Mag</English>
<German>.338 LM 10-Schuss-Magazin Leuchtspur</German>
<Polish>Magazynek .338 LM 10rd Smugacz</Polish>
<Czech>.338 LM 10Rnd Svítící Zásobník</Czech>
</Key>
<Key ID="STR_ACE_10Rnd_338_Mag_TracerNameShort">
<English>.338 LM Tracer</English>
<German>.338 LM Leuchtspur</German>
<Polish>.338 LM Smugacz</Polish>
<Czech>.338 LM Svítící</Czech>
</Key>
<Key ID="STR_ACE_10Rnd_338_Mag_TracerDescription">
<English>Caliber: .338 Lapua Magnum Tracer&lt;br /&gt;Rounds: 10&lt;br /&gt;Used in: MAR-10</English>
<German>Kaliber: .338 Lapua Magnum Leuchtspur&lt;br /&gt;Schuss: 10&lt;br /&gt;Verwendet für: MAR-10</German>
<Polish>Kaliber: .338 Lapua Magnum Smugacz&lt;br /&gt;Pociski: 10&lt;br /&gt;Używane w: MAR-10</Polish>
</Key>
<Key ID="STR_ACE_10Rnd_388_Mag_Tracer_DimName">
<English>.338 LM 10Rnd IR-DIM Mag</English>
<German>.338 LM 10-Schuss-Magazin Leuchtspur IR-DIM</German>
<Polish>Magazynek .338 LM 10rd IR-DIM</Polish>
</Key>
<Key ID="STR_ACE_10Rnd_338_Mag_Tracer_DimNameShort">
<English>.338 LM IR-DIM</English>
<German>.338 LM IR-DIM</German>
<Polish>.338 LM IR-DIM</Polish>
<Czech>.338 LM IR-DIM</Czech>
</Key>
<Key ID="STR_ACE_10Rnd_338_Mag_Tracer_DimDescription">
<English>Caliber: .338 Lapua Magnum Tracer IR-DIM&lt;br /&gt;Rounds: 10&lt;br /&gt;Used in: MAR-10</English>
<German>Kaliber: .338 Lapua Magnum Leuchtspur IR-DIM&lt;br /&gt;Schuss: 10&lt;br /&gt;Verwendet für: MAR-10</German>
<Polish>Kaliber: .338 Lapua Magnum Smugacz IR-DIM&lt;br /&gt;Pociski: 10&lt;br /&gt;Używane w: MAR-10</Polish>
</Key>
<Key ID="STR_ACE_10Rnd_338_Mag_APName"> <Key ID="STR_ACE_10Rnd_338_Mag_APName">
<English>.338 LM 10Rnd AP Mag</English> <English>.338 LM 10Rnd AP Mag</English>
<German>.338 LM 10-Schuss-Magazin Hartkern</German> <German>.338 LM 10-Schuss-Magazin Hartkern</German>
@ -536,22 +455,6 @@
<German>Kaliber: .338 Lapua Magnum Hartkern&lt;br /&gt;Schuss: 10&lt;br /&gt;Verwendet für: MAR-10</German> <German>Kaliber: .338 Lapua Magnum Hartkern&lt;br /&gt;Schuss: 10&lt;br /&gt;Verwendet für: MAR-10</German>
<Polish>Kaliber: .338 Lapua Magnum AP&lt;br /&gt;Pociski: 10&lt;br /&gt;Używany w: MAR-10</Polish> <Polish>Kaliber: .338 Lapua Magnum AP&lt;br /&gt;Pociski: 10&lt;br /&gt;Używany w: MAR-10</Polish>
</Key> </Key>
<Key ID="STR_ACE_10Rnd_338_Mag_SDName">
<English>.338 LM 10Rnd SD Mag</English>
<German>.338 LM 10-Schuss-Magazin Unterschall</German>
<Polish>Magazynek .338 LM 10rd SD</Polish>
</Key>
<Key ID="STR_ACE_10Rnd_338_Mag_SDNameShort">
<English>.338 LM SD</English>
<German>.338 LM SD</German>
<Polish>.338 LM SD</Polish>
<Czech>.338 LM SD</Czech>
</Key>
<Key ID="STR_ACE_10Rnd_338_Mag_SDDescription">
<English>Caliber: .338 Lapua Magnum SD&lt;br /&gt;Rounds: 10&lt;br /&gt;Used in: MAR-10</English>
<German>Kaliber: .338 Lapua Magnum Unterschall&lt;br /&gt;Schuss: 10&lt;br /&gt;Verwendet für: MAR-10</German>
<Polish>Kaliber: .338 Lapua Magnum SD&lt;br /&gt;Pociski: 10&lt;br /&gt;Używany w: MAR-10</Polish>
</Key>
<!-- .338 Norma Magnum --> <!-- .338 Norma Magnum -->
<Key ID="STR_ACE_130Rnd_338_Mag_TracerName"> <Key ID="STR_ACE_130Rnd_338_Mag_TracerName">
<English>.338 NM 130Rnd Tracer Belt</English> <English>.338 NM 130Rnd Tracer Belt</English>
@ -650,22 +553,6 @@
<German>Kaliber: 9,3x64mm Hartkern&lt;br /&gt;Schuss: 10&lt;br /&gt;Verwendet für: Cyrus</German> <German>Kaliber: 9,3x64mm Hartkern&lt;br /&gt;Schuss: 10&lt;br /&gt;Verwendet für: Cyrus</German>
<Polish>Kaliber: 9,3 x 64 mm AP&lt;br /&gt;Pociski: 10&lt;br /&gt;Używany w: Cyrus</Polish> <Polish>Kaliber: 9,3 x 64 mm AP&lt;br /&gt;Pociski: 10&lt;br /&gt;Używany w: Cyrus</Polish>
</Key> </Key>
<Key ID="STR_ACE_10Rnd_93x64_DMR_05_Mag_SDName">
<English>9.3mm 10Rnd SD Mag</English>
<German>9,3mm 10-Schuss-Magazin Unterschall</German>
<Polish>Magazynek 9,3mm 10rd SD</Polish>
</Key>
<Key ID="STR_ACE_10Rnd_93x64_DMR_05_Mag_SDNameShort">
<English>9.3mm SD</English>
<German>9,3mm SD</German>
<Polish>9,3mm SD</Polish>
<Czech>9.3mm SD</Czech>
</Key>
<Key ID="STR_ACE_10Rnd_93x64_DMR_05_Mag_SDDescription">
<English>Caliber: 9.3x64mm SD&lt;br /&gt;Rounds: 10&lt;br /&gt;Used in: Cyrus</English>
<German>Kaliber: 9,3x64mm Unterschall&lt;br /&gt;Schuss: 10&lt;br /&gt;Verwendet für: Cyrus</German>
<Polish>Kaliber: 9,3 x 64 mm SD&lt;br /&gt;Pociski: 10&lt;br /&gt;Używany w: Cyrus</Polish>
</Key>
<!-- 9.3x64mm 150Rnd Belt--> <!-- 9.3x64mm 150Rnd Belt-->
<Key ID="STR_ACE_150Rnd_93x64_Mag_TracerName"> <Key ID="STR_ACE_150Rnd_93x64_Mag_TracerName">
<English>9.3mm 150Rnd Tracer Belt</English> <English>9.3mm 150Rnd Tracer Belt</English>
@ -716,16 +603,112 @@
<Polish>Kaliber: 9,3 x 64 mm AP&lt;br /&gt;Pociski: 150&lt;br /&gt;Używane w: Navid</Polish> <Polish>Kaliber: 9,3 x 64 mm AP&lt;br /&gt;Pociski: 150&lt;br /&gt;Używane w: Navid</Polish>
</Key> </Key>
<Key ID="STR_ACE_16Rnd_9x19_mag_Name"> <Key ID="STR_ACE_16Rnd_9x19_mag_Name">
<English>9x19mm 16Rnd Mag</English>
</Key> </Key>
<Key ID="STR_ACE_16Rnd_9x19_mag_NameShort"> <Key ID="STR_ACE_16Rnd_9x19_mag_NameShort">
<English>9x19mm</English>
</Key> </Key>
<Key ID="STR_ACE_16Rnd_9x19_mag_Description"> <Key ID="STR_ACE_16Rnd_9x19_mag_Description">
<English>9x19mm 16Rnd Mag</English>
</Key> </Key>
<Key ID="STR_ACE_30Rnd_9x19_mag_Name"> <Key ID="STR_ACE_30Rnd_9x19_mag_Name">
<English>9x19mm 30Rnd Mag</English>
</Key> </Key>
<Key ID="STR_ACE_30Rnd_9x19_mag_NameShort"> <Key ID="STR_ACE_30Rnd_9x19_mag_NameShort">
<English>9x19mm</English>
</Key> </Key>
<Key ID="STR_ACE_30Rnd_9x19_mag_Description"> <Key ID="STR_ACE_30Rnd_9x19_mag_Description">
<English>9x19mm 30Rnd Mag</English>
</Key>
<Key ID="STR_ACE_10Rnd_762x54_Tracer_mag_Name">
<English>7.62x54mm 10Rnd Tracer IR-DIM Mag</English>
</Key>
<Key ID="STR_ACE_10Rnd_762x54_Tracer_mag_NameShort">
<English>7.62mm IR-DIM</English>
</Key>
<Key ID="STR_ACE_10Rnd_762x54_Tracer_mag_Description">
<English>7.62x54mm 10Rnd Tracer IR-DIM Mag</English>
</Key>
<Key ID="STR_ACE_100Rnd_65x39_caseless_mag_Tracer_DimName">
<English>6.5mm 100Rnd Tracer IR-DIM Mag</English>
</Key>
<Key ID="STR_ACE_100Rnd_65x39_caseless_mag_Tracer_DimNameShort">
<English>6.5mm IR-DIM</English>
</Key>
<Key ID="STR_ACE_100Rnd_65x39_caseless_mag_Tracer_DimDescription">
<English>6.5mm 100Rnd Tracer IR-DIM Mag</English>
</Key>
<Key ID="STR_ACE_200Rnd_65x39_cased_Box_Tracer_DimName">
<English>6.5mm 200Rnd Tracer IR-DIM Belt</English>
</Key>
<Key ID="STR_ACE_200Rnd_65x39_cased_Box_Tracer_DimNameShort">
<English>6.5mm IR-DIM</English>
</Key>
<Key ID="STR_ACE_200Rnd_65x39_cased_Box_Tracer_DimDescription">
<English>6.5mm 200Rnd Tracer IR-DIM Belt</English>
</Key>
<Key ID="STR_ACE_30Rnd_556x45_Stanag_Mk262_mag_Name">
<English>5.56mm 30Rnd Mag (Mk262)</English>
</Key>
<Key ID="STR_ACE_30Rnd_556x45_Stanag_Mk262_mag_NameShort">
<English>5.56mm (Mk262)</English>
</Key>
<Key ID="STR_ACE_30Rnd_556x45_Stanag_Mk262_mag_Description">
<English>Caliber: 5.56x45 mm NATO (Mk262)&lt;br /&gt;Rounds: 30</English>
</Key>
<Key ID="STR_ACE_30Rnd_556x45_Stanag_Mk318_mag_Name">
<English>5.56mm 30Rnd Mag (Mk318)</English>
</Key>
<Key ID="STR_ACE_30Rnd_556x45_Stanag_Mk318_mag_NameShort">
<English>5.56mm (Mk318)</English>
</Key>
<Key ID="STR_ACE_30Rnd_556x45_Stanag_Mk318_mag_Description">
<English>Caliber: 5.56x45 mm NATO (Mk318)&lt;br /&gt;Rounds: 30</English>
</Key>
<Key ID="STR_ACE_10Rnd_762x51_M118LR_Mag_Name">
<English>7.62mm 10Rnd Mag (M118LR)</English>
</Key>
<Key ID="STR_ACE_10Rnd_762x51_M118LR_Mag_NameShort">
<English>7.62mm (M118LR)</English>
</Key>
<Key ID="STR_ACE_10Rnd_762x51_M118LR_Mag_Description">
<English>Caliber: 7.62x51 mm NATO (M118LR)&lt;br /&gt;Rounds: 10</English>
</Key>
<Key ID="STR_ACE_20Rnd_762x51_M118LR_Mag_Name">
<English>7.62mm 20Rnd Mag (M118LR)</English>
</Key>
<Key ID="STR_ACE_20Rnd_762x51_M118LR_Mag_NameShort">
<English>7.62mm (M118LR)</English>
</Key>
<Key ID="STR_ACE_20Rnd_762x51_M118LR_Mag_Description">
<English>Caliber: 7.62x51 mm NATO (M118LR)&lt;br /&gt;Rounds: 20</English>
</Key>
<Key ID="STR_ACE_20Rnd_762x67_Mk248_Mod_0_Mag_Name">
<English>7.62mm 20Rnd Mag (Mk248 Mod 0)</English>
</Key>
<Key ID="STR_ACE_20Rnd_762x67_Mk248_Mod_0_Mag_NameShort">
<English>7.62mm (Mk248 Mod 0)</English>
</Key>
<Key ID="STR_ACE_20Rnd_762x67_Mk248_Mod_0_Mag_Description">
<English>Caliber: 7.62x67 mm NATO (Mk248 Mod 0)&lt;br /&gt;Rounds: 20</English>
</Key>
<Key ID="STR_ACE_20Rnd_762x67_Mk248_Mod_1_Mag_Name">
<English>7.62mm 20Rnd Mag (Mk248 Mod 1)</English>
</Key>
<Key ID="STR_ACE_20Rnd_762x67_Mk248_Mod_1_Mag_NameShort">
<English>7.62mm (Mk248 Mod 1)</English>
</Key>
<Key ID="STR_ACE_20Rnd_762x67_Mk248_Mod_1_Mag_Description">
<English>Caliber: 7.62x67 mm NATO (Mk248 Mod 1)&lt;br /&gt;Rounds: 20</English>
</Key>
<Key ID="STR_ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag_Name">
<English>7.62mm 20Rnd Mag (Berger Hybrid OTM)</English>
</Key>
<Key ID="STR_ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag_NameShort">
<English>7.62mm (OTM)</English>
</Key>
<Key ID="STR_ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag_Description">
<English>Caliber: 7.62x67 mm NATO (Berger Hybrid OTM)&lt;br /&gt;Rounds: 20</English>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -69,9 +69,9 @@ class ACE_Settings {
* force = 0; * force = 0;
* *
* Does it appear on the options menu? * Does it appear on the options menu?
* isClientSetable = 1; * isClientSettable = 1;
* *
* The following settings only apply when isClientSetable == 1 * The following settings only apply when isClientSettable == 1
* Stringtable entry with the setting name * Stringtable entry with the setting name
* displayName = "$STR_ACE_Common_SettingName"; * displayName = "$STR_ACE_Common_SettingName";
* *
@ -90,14 +90,14 @@ class ACE_Settings {
/*class GVAR(enableNumberHotkeys) { /*class GVAR(enableNumberHotkeys) {
value = 1; value = 1;
typeName = "BOOL"; typeName = "BOOL";
isClientSetable = 1; isClientSettable = 1;
displayName = "$STR_ACE_Common_EnableNumberHotkeys"; displayName = "$STR_ACE_Common_EnableNumberHotkeys";
};*/ };*/
class GVAR(settingFeedbackIcons) { class GVAR(settingFeedbackIcons) {
value = 1; value = 1;
typeName = "SCALAR"; typeName = "SCALAR";
force = 0; force = 0;
isClientSetable = 1; isClientSettable = 1;
displayName = "$STR_ACE_Common_SettingFeedbackIconsName"; displayName = "$STR_ACE_Common_SettingFeedbackIconsName";
description = "$STR_ACE_Common_SettingFeedbackIconsDesc"; description = "$STR_ACE_Common_SettingFeedbackIconsDesc";
values[] = {"Hide", "Top right, downwards", "Top right, to the left", "Top left, downwards", "Top left, to the right"}; values[] = {"Hide", "Top right, downwards", "Top right, to the left", "Top left, downwards", "Top left, to the right"};
@ -106,7 +106,7 @@ class ACE_Settings {
value = 0; value = 0;
typeName = "SCALAR"; typeName = "SCALAR";
force = 0; force = 0;
isClientSetable = 1; isClientSettable = 1;
displayName = "$STR_ACE_Common_SettingProgressbarLocationName"; displayName = "$STR_ACE_Common_SettingProgressbarLocationName";
description = "$STR_ACE_Common_SettingProgressbarLocationDesc"; description = "$STR_ACE_Common_SettingProgressbarLocationDesc";
values[] = {"Top", "Bottom"}; values[] = {"Top", "Bottom"};
@ -114,14 +114,14 @@ class ACE_Settings {
class GVAR(displayTextColor) { class GVAR(displayTextColor) {
value[] = {0,0,0,0.1}; value[] = {0,0,0,0.1};
typeName = "COLOR"; typeName = "COLOR";
isClientSetable = 1; isClientSettable = 1;
displayName = "$STR_ACE_Common_SettingDisplayTextColorName"; displayName = "$STR_ACE_Common_SettingDisplayTextColorName";
description = "$STR_ACE_Common_SettingDisplayTextColorDesc"; description = "$STR_ACE_Common_SettingDisplayTextColorDesc";
}; };
class GVAR(displayTextFontColor) { class GVAR(displayTextFontColor) {
value[] = {1,1,1,1}; value[] = {1,1,1,1};
typeName = "COLOR"; typeName = "COLOR";
isClientSetable = 1; isClientSettable = 1;
displayName = "$STR_ACE_Common_SettingDisplayTextFontColorName"; displayName = "$STR_ACE_Common_SettingDisplayTextFontColorName";
description = "$STR_ACE_Common_SettingDisplayTextFontColorDesc"; description = "$STR_ACE_Common_SettingDisplayTextFontColorDesc";
}; };

View File

@ -58,7 +58,7 @@ if (isNil _name) then {
/*_settingData = [ /*_settingData = [
_name, _name,
_typeName, _typeName,
_isClientSetable, _isClientSettable,
_localizedName, _localizedName,
_localizedDescription, _localizedDescription,
_possibleValues, _possibleValues,
@ -68,7 +68,7 @@ if (isNil _name) then {
_settingData = [ _settingData = [
_name, _name,
_typeName, _typeName,
(getNumber (_optionEntry >> "isClientSetable")) > 0, (getNumber (_optionEntry >> "isClientSettable")) > 0,
getText (_optionEntry >> "displayName"), getText (_optionEntry >> "displayName"),
getText (_optionEntry >> "description"), getText (_optionEntry >> "description"),
getArray (_optionEntry >> "values"), getArray (_optionEntry >> "values"),

View File

@ -247,7 +247,7 @@ class ACE_Settings {
class GVAR(showInThirdPerson) { class GVAR(showInThirdPerson) {
value = 0; value = 0;
typeName = "BOOL"; typeName = "BOOL";
isClientSetable = 1; isClientSettable = 1;
displayName = "$STR_ACE_Goggles_ShowInThirdPerson"; displayName = "$STR_ACE_Goggles_ShowInThirdPerson";
}; };
}; };

View File

@ -38,7 +38,7 @@ class ACE_Settings {
class GVAR(DisableEarRinging) { class GVAR(DisableEarRinging) {
value = 0; value = 0;
typeName = "BOOL"; typeName = "BOOL";
isClientSetable = 1; isClientSettable = 1;
displayName = "$STR_ACE_Hearing_DisableEarRinging"; displayName = "$STR_ACE_Hearing_DisableEarRinging";
}; };
}; };

View File

@ -20,7 +20,7 @@ class ACE_Settings {
class GVAR(AlwaysUseCursorSelfInteraction) { class GVAR(AlwaysUseCursorSelfInteraction) {
value = 0; value = 0;
typeName = "BOOL"; typeName = "BOOL";
isClientSetable = 1; isClientSettable = 1;
displayName = "$STR_ACE_Interact_Menu_AlwaysUseCursorSelfInteraction"; displayName = "$STR_ACE_Interact_Menu_AlwaysUseCursorSelfInteraction";
}; };
}; };

View File

@ -18,7 +18,7 @@ class ACE_Settings {
class GVAR(inventoryDisplaySize) { class GVAR(inventoryDisplaySize) {
value = 0; value = 0;
typeName = "SCALAR"; typeName = "SCALAR";
isClientSetable = 1; isClientSettable = 1;
displayName = "$STR_ACE_Inventory_SettingName"; displayName = "$STR_ACE_Inventory_SettingName";
description = "$STR_ACE_Inventory_SettingDescription"; description = "$STR_ACE_Inventory_SettingDescription";
values[] = {"Normal (Default Size)", "Medium", "Bigger"}; values[] = {"Normal (Default Size)", "Medium", "Bigger"};

View File

@ -2,7 +2,7 @@ class CfgVehicles {
class NATO_Box_Base; class NATO_Box_Base;
class Box_NATO_Support_F: NATO_Box_Base { class Box_NATO_Support_F: NATO_Box_Base {
class TransportItems { class TransportItems {
MACRO_ADDITEM(ACE_acc_pointer_red,4); MACRO_ADDITEM(ACE_acc_pointer_green,4);
}; };
}; };
@ -23,13 +23,12 @@ class CfgVehicles {
class FIA_Box_Base_F; class FIA_Box_Base_F;
class Box_FIA_Support_F: FIA_Box_Base_F { class Box_FIA_Support_F: FIA_Box_Base_F {
class TransportItems { class TransportItems {
MACRO_ADDITEM(ACE_acc_pointer_red,4); MACRO_ADDITEM(ACE_acc_pointer_green,4);
}; };
}; };
class ACE_Box_Misc: Box_NATO_Support_F { class ACE_Box_Misc: Box_NATO_Support_F {
class TransportItems { class TransportItems {
MACRO_ADDITEM(ACE_acc_pointer_red,4);
MACRO_ADDITEM(ACE_acc_pointer_green,4); MACRO_ADDITEM(ACE_acc_pointer_green,4);
}; };
}; };

View File

@ -1,17 +1,28 @@
class SlotInfo; class SlotInfo;
class PointerSlot: SlotInfo { class PointerSlot: SlotInfo {
compatibleItems[] += {"ACE_acc_pointer_red","ACE_acc_pointer_green"}; compatibleItems[] += {"ACE_acc_pointer_red","ACE_acc_pointer_green_IR","ACE_acc_pointer_green"};
}; };
class CfgWeapons { class CfgWeapons {
class ItemCore; class ItemCore;
class InventoryFlashLightItem_Base_F; class InventoryFlashLightItem_Base_F;
class acc_pointer_IR: ItemCore {
ACE_nextModeClass = "ACE_acc_pointer_red";
ACE_modeDescription = "$STR_ACE_Laserpointer_IRLaser";
displayName = "$STR_ACE_Laserpointer_red";
descriptionUse = "$STR_ACE_Laserpointer_useLaser";
};
class ACE_acc_pointer_red: ItemCore { class ACE_acc_pointer_red: ItemCore {
ACE_nextModeClass = "acc_pointer_IR";
ACE_modeDescription = "$STR_ACE_Laserpointer_Laser";
author = "$STR_ACE_Common_ACETeam"; author = "$STR_ACE_Common_ACETeam";
_generalMacro = "ACE_acc_pointer_red"; _generalMacro = "ACE_acc_pointer_red";
scope = 2; scope = 1;
displayName = "$STR_ACE_Laserpointer_red"; displayName = "$STR_ACE_Laserpointer_red";
descriptionUse = "$STR_ACE_Laserpointer_useLaser"; descriptionUse = "$STR_ACE_Laserpointer_useLaser";
picture = "\A3\weapons_F\Data\UI\gear_accv_pointer_CA.paa"; picture = "\A3\weapons_F\Data\UI\gear_accv_pointer_CA.paa";
@ -54,9 +65,23 @@ class CfgWeapons {
inertia = 0.1; inertia = 0.1;
}; };
class ACE_acc_pointer_green: ACE_acc_pointer_red { class ACE_acc_pointer_green_IR: acc_pointer_IR {
ACE_nextModeClass = "ACE_acc_pointer_green";
ACE_modeDescription = "$STR_ACE_Laserpointer_IRLaser";
author = "$STR_ACE_Common_ACETeam"; author = "$STR_ACE_Common_ACETeam";
_generalMacro = "ACE_acc_pointer_green"; _generalMacro = "ACE_acc_pointer_green";
scope = 1;
displayName = "$STR_ACE_Laserpointer_green";
};
class ACE_acc_pointer_green: ACE_acc_pointer_red {
ACE_nextModeClass = "ACE_acc_pointer_green_IR";
ACE_modeDescription = "$STR_ACE_Laserpointer_Laser";
author = "$STR_ACE_Common_ACETeam";
_generalMacro = "ACE_acc_pointer_green";
scope = 2;
displayName = "$STR_ACE_Laserpointer_green"; displayName = "$STR_ACE_Laserpointer_green";
}; };
}; };

View File

@ -11,11 +11,16 @@ GVAR(nearUnits) = [];
// @todo. Maybe move to common? // @todo. Maybe move to common?
[{ [{
private "_nearUnits"; private "_nearUnits";
_nearUnits = nearestObjects [positionCameraToWorld [0,0,0], ["CAManBase"], 50]; _nearUnits = [];
if (count _nearUnits > 10) then { {
_nearUnits resize 10; _nearUnits append crew _x;
};
if (count _nearUnits > 10) exitWith {
_nearUnits resize 10;
};
} forEach nearestObjects [positionCameraToWorld [0,0,0], ["AllVehicles"], 50]; // when moving this, search also for units inside vehicles. currently breaks the laser in FFV
GVAR(nearUnits) = _nearUnits; GVAR(nearUnits) = _nearUnits;
@ -24,3 +29,5 @@ GVAR(nearUnits) = [];
addMissionEventHandler ["Draw3D", { addMissionEventHandler ["Draw3D", {
call FUNC(onDraw); call FUNC(onDraw);
}]; }];
#include "initKeybinds.sqf"

View File

@ -4,5 +4,6 @@ ADDON = false;
PREP(drawLaserpoint); PREP(drawLaserpoint);
PREP(onDraw); PREP(onDraw);
PREP(switchLaserLightMode);
ADDON = true; ADDON = true;

View File

@ -3,7 +3,7 @@
class CfgPatches { class CfgPatches {
class ADDON { class ADDON {
units[] = {}; units[] = {};
weapons[] = {"ACE_acc_pointer_red","ACE_acc_pointer_green"}; weapons[] = {"ACE_acc_pointer_red","ACE_acc_pointer_green","ACE_acc_pointer_green_IR"};
requiredVersion = REQUIRED_VERSION; requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"ace_common"}; requiredAddons[] = {"ace_common"};
author[] = {"commy2"}; author[] = {"commy2"};

View File

@ -1,6 +1,19 @@
// by commy2 and esteldunedain // by commy2 and esteldunedain
#include "script_component.hpp" #include "script_component.hpp"
// init object
/*if (isNil QGVAR(laserdot)) then {
_light = "#lightpoint" createVehicleLocal [0,0,0];
_light setLightBrightness 10;
_light setLightColor [1,0,0];
_light setLightAmbient [1,0,0];
_light setLightDayLight true;
//_light lightAttachObject [GVAR(laserdot), [0,0,0]];
_light setLightAttenuation [0.04,4,4,0,0.04,0.08];
GVAR(laserdot) = _light;
};*/
EXPLODE_3_PVT(_this,_unit,_range,_isGreen); EXPLODE_3_PVT(_this,_unit,_range,_isGreen);
_p0Pos = _unit modelToWorldVisual (_unit selectionPosition "righthand"); _p0Pos = _unit modelToWorldVisual (_unit selectionPosition "righthand");
@ -97,13 +110,15 @@ if (!surfaceIsWater _pL) then {
_pL = ASLtoATL _pL; _pL = ASLtoATL _pL;
}; };
/*
drawLine3D [ drawLine3D [
_p0Pos, _p0Pos,
_pL, _pL,
[[1,0,0,1], [0,1,0,1]] select _isGreen [[1,0,0,1], [0,1,0,1]] select _isGreen
]; ];
*/
_size = 2 * (_range - (positionCameraToWorld [0,0,0] distance _pL)) / _range; _size = 2 * (_range - (positionCameraToWorld [0,0,0] vectorDistance _pL)) / _range;
_camPos = positionCameraToWorld [0,0,0.2]; _camPos = positionCameraToWorld [0,0,0.2];
if (count ([_unit, "FIRE"] intersect [_camPos, _pL]) > 0) exitWith {}; if (count ([_unit, "FIRE"] intersect [_camPos, _pL]) > 0) exitWith {};
@ -114,6 +129,8 @@ if (!surfaceIsWater _camPos) then { _camPos = ATLtoASL _camPos; };
if ( terrainIntersectASL [_camPos, _pL2]) exitWith {}; if ( terrainIntersectASL [_camPos, _pL2]) exitWith {};
if ( lineIntersects [_camPos, _pL2]) exitWith {}; if ( lineIntersects [_camPos, _pL2]) exitWith {};
//GVAR(laserdot) setPos _pL;
drawIcon3D [ drawIcon3D [
format ["\a3\weapons_f\acc\data\collimdot_%1_ca.paa", ["red", "green"] select _isGreen], format ["\a3\weapons_f\acc\data\collimdot_%1_ca.paa", ["red", "green"] select _isGreen],
[[1,0.25,0.25,0.5*_brightness], [0.25,1,0.25,0.5*_brightness]] select _isGreen, [[1,0.25,0.25,0.5*_brightness], [0.25,1,0.25,0.5*_brightness]] select _isGreen,

View File

@ -28,7 +28,7 @@ _isIR = _isIR == 1;
_laserID = ["ACE_acc_pointer_red", "ACE_acc_pointer_green"] find _laser; _laserID = ["ACE_acc_pointer_red", "ACE_acc_pointer_green"] find _laser;
if (_laserID > -1 && {_x isFlashlightOn _weapon}) then { if (_laserID > -1 && {_x isFlashlightOn _weapon}) then {
[_x, 30, _laserID == 1 || _isIR] call FUNC(drawLaserpoint); [_x, 50, _laserID == 1 || _isIR] call FUNC(drawLaserpoint);
}; };
} forEach GVAR(nearUnits); } forEach GVAR(nearUnits);

View File

@ -0,0 +1,58 @@
// by commy2
#include "script_component.hpp"
private ["_unit", "_weapon"];
_unit = _this select 0;
_weapon = _this select 1;
// 1 = primary, 2 = secondary, 3 = handgun
private "_currentWeaponType";
_currentWeaponType = 0;
private "_pointer";
_pointer = switch (_weapon) do {
case (primaryWeapon _unit): {
_currentWeaponType = 1;
primaryWeaponItems _unit select 1
};
case (secondaryWeapon _unit): {
_currentWeaponType = 2;
secondaryWeaponItems _unit select 1
};
case (handgunWeapon _unit): {
_currentWeaponType = 3;
handgunItems _unit select 1
};
default {""};
};
if (_pointer == "") exitWith {};
private "_nextPointer";
_nextPointer = getText (configFile >> "CfgWeapons" >> _pointer >> "ACE_nextModeClass");
if (_nextPointer == "") exitWith {};
private ["_description", "_picture"];
_description = getText (configFile >> "CfgWeapons" >> _nextPointer >> "ACE_modeDescription");
_picture = getText (configFile >> "CfgWeapons" >> _nextPointer >> "picture");
switch (_currentWeaponType) do {
case 1: {
_unit removePrimaryWeaponItem _pointer;
_unit addPrimaryWeaponItem _nextPointer;
};
case 2: {
_unit removeSecondaryWeaponItem _pointer;
_unit addSecondaryWeaponItem _nextPointer;
};
case 3: {
_unit removeHandgunItem _pointer;
_unit addHandgunItem _nextPointer;
};
};
[_description, _picture] call EFUNC(common,displayTextPicture);
playSound "ACE_Sound_Click";

View File

@ -0,0 +1,13 @@
// by commy2
["ACE3", QGVAR(switchLaserLightMode), localize "STR_ACE_Laserpointer_switchLaserLight",
{
// Conditions: canInteract
if !([ACE_player, objNull, ["isNotInside"]] call EFUNC(common,canInteractWith)) exitWith {false};
// Conditions: specific
if !([ACE_player] call EFUNC(common,canUseWeapon)) exitWith {false};
[ACE_player, currentWeapon ACE_player] call FUNC(switchLaserLightMode);
true
},
{false}, [38, [false, true, false]], false] call CBA_fnc_addKeybind;

View File

@ -36,5 +36,17 @@
<Russian>&lt;t color='#9cf953'&gt;Использовать: &lt;/t&gt;вкл/выкл лазер</Russian> <Russian>&lt;t color='#9cf953'&gt;Использовать: &lt;/t&gt;вкл/выкл лазер</Russian>
<Spanish>&lt;t color='#9cf953'&gt;Usar: &lt;/t&gt;encender/apagar láser</Spanish> <Spanish>&lt;t color='#9cf953'&gt;Usar: &lt;/t&gt;encender/apagar láser</Spanish>
</Key> </Key>
<Key ID="STR_ACE_Laserpointer_Laser">
<English>Laser</English>
<German>Laser</German>
</Key>
<Key ID="STR_ACE_Laserpointer_IRLaser">
<English>IR Laser</English>
<German>IR-Laser</German>
</Key>
<Key ID="STR_ACE_Laserpointer_switchLaserLight">
<English>Switch Laser / IR Laser</English>
<German>Umschalten Laser / IR-Laser</German>
</Key>
</Package> </Package>
</Project> </Project>

View File

@ -21,6 +21,6 @@ class ACE_Settings {
class GVAR(MapDataAvailable) { class GVAR(MapDataAvailable) {
value = 2; value = 2;
typeName = "SCALAR"; typeName = "SCALAR";
isClientSetable = 0; isClientSettable = 0;
}; };
}; };

View File

@ -21,7 +21,7 @@ class ACE_Settings {
class GVAR(useImperial) { class GVAR(useImperial) {
value = 0; value = 0;
typeName = "BOOL"; typeName = "BOOL";
isClientSetable = 1; isClientSettable = 1;
displayName = "$STR_ACE_Movement_UseImperial"; displayName = "$STR_ACE_Movement_UseImperial";
}; };
}; };

View File

@ -19,55 +19,55 @@ class ACE_Settings {
class GVAR(defaultNametagColor) { class GVAR(defaultNametagColor) {
value[] = {0.77, 0.51, 0.08, 1}; value[] = {0.77, 0.51, 0.08, 1};
typeName = "COLOR"; typeName = "COLOR";
isClientSetable = 1; isClientSettable = 1;
displayName = "$STR_ACE_NameTags_DefaultNametagColor"; displayName = "$STR_ACE_NameTags_DefaultNametagColor";
}; };
class GVAR(showPlayerNames) { class GVAR(showPlayerNames) {
value = 1; value = 1;
typeName = "SCALAR"; typeName = "SCALAR";
isClientSetable = 1; isClientSettable = 1;
displayName = "$STR_ACE_NameTags_ShowPlayerNames"; displayName = "$STR_ACE_NameTags_ShowPlayerNames";
values[] = {"Disabled", "Enabled", "Only Cursor", "Only On Keypress", "Only Cursor and KeyPress"}; values[] = {"Disabled", "Enabled", "Only Cursor", "Only On Keypress", "Only Cursor and KeyPress"};
}; };
class GVAR(showPlayerRanks) { class GVAR(showPlayerRanks) {
value = 1; value = 1;
typeName = "BOOL"; typeName = "BOOL";
isClientSetable = 1; isClientSettable = 1;
displayName = "$STR_ACE_NameTags_ShowPlayerRanks"; displayName = "$STR_ACE_NameTags_ShowPlayerRanks";
}; };
class GVAR(showVehicleCrewInfo) { class GVAR(showVehicleCrewInfo) {
value = 1; value = 1;
typeName = "BOOL"; typeName = "BOOL";
isClientSetable = 1; isClientSettable = 1;
displayName = "$STR_ACE_NameTags_ShowVehicleCrewInfo"; displayName = "$STR_ACE_NameTags_ShowVehicleCrewInfo";
}; };
class GVAR(showNamesForAI) { class GVAR(showNamesForAI) {
value = 0; value = 0;
typeName = "BOOL"; typeName = "BOOL";
isClientSetable = 1; isClientSettable = 1;
displayName = "$STR_ACE_NameTags_ShowNamesForAI"; displayName = "$STR_ACE_NameTags_ShowNamesForAI";
}; };
class GVAR(showCursorTagForVehicles) { class GVAR(showCursorTagForVehicles) {
value = 0; value = 0;
typeName = "BOOL"; typeName = "BOOL";
isClientSetable = 0; isClientSettable = 0;
}; };
class GVAR(showSoundWaves) { class GVAR(showSoundWaves) {
value = 1; value = 1;
typeName = "SCALAR"; typeName = "SCALAR";
isClientSetable = 1; isClientSettable = 1;
displayName = "$STR_ACE_NameTags_ShowSoundWaves"; displayName = "$STR_ACE_NameTags_ShowSoundWaves";
values[] = {"Disabled", "Use Nametag settings", "Always Show All"}; values[] = {"Disabled", "Use Nametag settings", "Always Show All"};
}; };
class GVAR(PlayerNamesViewDistance) { class GVAR(PlayerNamesViewDistance) {
value = 5; value = 5;
typeName = "SCALAR"; typeName = "SCALAR";
isClientSetable = 0; isClientSettable = 0;
}; };
class GVAR(PlayerNamesMaxAlpha) { class GVAR(PlayerNamesMaxAlpha) {
value = 0.8; value = 0.8;
typeName = "SCALAR"; typeName = "SCALAR";
isClientSetable = 0; isClientSettable = 0;
}; };
}; };

View File

@ -23,7 +23,7 @@ class CfgPatches {
class ACE_Settings { class ACE_Settings {
class GVAR(DisplayTextOnJam) { class GVAR(DisplayTextOnJam) {
typeName = "BOOL"; typeName = "BOOL";
isClientSetable = 1; isClientSettable = 1;
value = 1; value = 1;
displayName = "$STR_ACE_overheating_SettingDisplayTextName"; displayName = "$STR_ACE_overheating_SettingDisplayTextName";
description = "$STR_ACE_overheating_SettingDisplayTextDesc"; description = "$STR_ACE_overheating_SettingDisplayTextDesc";

View File

@ -25,7 +25,7 @@ class CfgPatches {
class ACE_Settings { class ACE_Settings {
class GVAR(DisplayText) { class GVAR(DisplayText) {
typeName = "BOOL"; typeName = "BOOL";
isClientSetable = 1; isClientSettable = 1;
value = 1; value = 1;
displayName = "$STR_ACE_reload_SettingDisplayTextName"; displayName = "$STR_ACE_reload_SettingDisplayTextName";
description = "$STR_ACE_reload_SettingDisplayTextDesc"; description = "$STR_ACE_reload_SettingDisplayTextDesc";

View File

@ -1,21 +1,20 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- Edited with tabler. -->
<Project name="ACE"> <Project name="ACE">
<Package name="Scopes"> <Package name="Scopes">
<Key ID="STR_ACE_Scopes_AdjustUpMinor"> <Key ID="STR_ACE_Scopes_AdjustUpMinor">
<English>"Minor adjustment up</English> <English>Minor adjustment up</English>
<Polish>Zerowanie powoli w górę</Polish> <Polish>Zerowanie powoli w górę</Polish>
</Key> </Key>
<Key ID="STR_ACE_Scopes_AdjustDownMinor"> <Key ID="STR_ACE_Scopes_AdjustDownMinor">
<English>"Minor adjustment down</English> <English>Minor adjustment down</English>
<Polish>Zerowanie powoli w dół</Polish> <Polish>Zerowanie powoli w dół</Polish>
</Key> </Key>
<Key ID="STR_ACE_Scopes_AdjustRightMinor"> <Key ID="STR_ACE_Scopes_AdjustRightMinor">
<English>"Minor adjustment right</English> <English>Minor adjustment right</English>
<Polish>Zerowanie powoli w prawo</Polish> <Polish>Zerowanie powoli w prawo</Polish>
</Key> </Key>
<Key ID="STR_ACE_Scopes_AdjustLeftMinor"> <Key ID="STR_ACE_Scopes_AdjustLeftMinor">
<English>"Minor adjustment left</English> <English>Minor adjustment left</English>
<Polish>Zerowanie powoli w lewo</Polish> <Polish>Zerowanie powoli w lewo</Polish>
</Key> </Key>
<Key ID="STR_ACE_Scopes_AdjustUpMajor"> <Key ID="STR_ACE_Scopes_AdjustUpMajor">
@ -39,4 +38,4 @@
<Polish>Zresetuj wyzerowanie</Polish> <Polish>Zresetuj wyzerowanie</Polish>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -7,7 +7,7 @@ if !(hasInterface) exitWith {};
["ACE3", QGVAR(speedLimiter), localize "STR_ACE_SpeedLimiter", ["ACE3", QGVAR(speedLimiter), localize "STR_ACE_SpeedLimiter",
{ {
// Conditions: canInteract // Conditions: canInteract
if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; if !([ACE_player, objNull, ["isnotinside"]] call EFUNC(common,canInteractWith)) exitWith {false};
// Conditions: specific // Conditions: specific
if !(ACE_player == driver vehicle ACE_player && if !(ACE_player == driver vehicle ACE_player &&
{vehicle ACE_player isKindOf 'Car' || {vehicle ACE_player isKindOf 'Car' ||

View File

@ -17,7 +17,7 @@ class CfgPatches {
class ACE_Settings { class ACE_Settings {
class GVAR(DisplayText) { class GVAR(DisplayText) {
typeName = "BOOL"; typeName = "BOOL";
isClientSetable = 1; isClientSettable = 1;
value = 1; value = 1;
displayName = "$STR_ACE_Weaponselect_SettingDisplayTextName"; displayName = "$STR_ACE_Weaponselect_SettingDisplayTextName";
description = "$STR_ACE_Weaponselect_SettingDisplayTextDesc"; description = "$STR_ACE_Weaponselect_SettingDisplayTextDesc";

View File

@ -19,6 +19,11 @@ def check_for_changes(addonspath, module):
return True return True
return mod_time(os.path.join(addonspath, module)) > mod_time(os.path.join(addonspath, "ace_{}.pbo".format(module))) return mod_time(os.path.join(addonspath, module)) > mod_time(os.path.join(addonspath, "ace_{}.pbo".format(module)))
def check_for_obsolete_pbos(addonspath, file):
module = file[4:-4]
if not os.path.exists(os.path.join(addonspath, module)):
return True
return False
def main(): def main():
print(""" print("""
@ -36,6 +41,16 @@ def main():
made = 0 made = 0
failed = 0 failed = 0
skipped = 0 skipped = 0
removed = 0
for file in os.listdir(addonspath):
if os.path.isfile(file):
if check_for_obsolete_pbos(addonspath, file):
removed += 1
print(" Removing obsolete file => " + file)
os.remove(file)
print("")
for p in os.listdir(addonspath): for p in os.listdir(addonspath):
path = os.path.join(addonspath, p) path = os.path.join(addonspath, p)
if not os.path.isdir(path): if not os.path.isdir(path):
@ -65,7 +80,7 @@ def main():
print(" Successfully made {}.".format(p)) print(" Successfully made {}.".format(p))
print("\n# Done.") print("\n# Done.")
print(" Made {}, skipped {}, failed to make {}.".format(made, skipped, failed)) print(" Made {}, skipped {}, removed {}, failed to make {}.".format(made, skipped, removed, failed))
if __name__ == "__main__": if __name__ == "__main__":