Merge branch 'master' of https://github.com/acemod/ACE3 into medical-rewrite

This commit is contained in:
commy2 2018-01-02 15:11:14 +01:00
commit f8ff279c6b
41 changed files with 374 additions and 195 deletions

View File

@ -90,6 +90,7 @@ havena <silveredenis@gmail.com>
Hawkins Hawkins
Head <brobergsebastian@gmail.com> Head <brobergsebastian@gmail.com>
Hybrid V Hybrid V
john681611 <john681611@hotmail.com>
Karneck <dschultz26@hotmail.com> Karneck <dschultz26@hotmail.com>
Kavinsky <nmunozfernandez@gmail.com> Kavinsky <nmunozfernandez@gmail.com>
Keithen <Keithen.Neu@gmail.com> Keithen <Keithen.Neu@gmail.com>

View File

@ -52,6 +52,6 @@ if (!hasInterface) exitWith {};
{false}, {false},
[DIK_F1, [true, false, false]], true] call CBA_fnc_addKeybind; // Shift + F1 [DIK_F1, [true, false, false]], true] call CBA_fnc_addKeybind; // Shift + F1
["isNotEscorting", {!(GETVAR(_this select 0,GVAR(isEscorting),false))}] call EFUNC(common,addCanInteractWithCondition); ["isNotEscorting", {!GETVAR(_this select 0,GVAR(isEscorting),false)}] call EFUNC(common,addCanInteractWithCondition);
["isNotHandcuffed", {!(GETVAR(_this select 0,GVAR(isHandcuffed),false))}] call EFUNC(common,addCanInteractWithCondition); ["isNotHandcuffed", {!GETVAR(_this select 0,GVAR(isHandcuffed),false)}] call EFUNC(common,addCanInteractWithCondition);
["isNotSurrendering", {!(GETVAR(_this select 0,GVAR(isSurrendering),false))}] call EFUNC(common,addCanInteractWithCondition); ["isNotSurrendering", {!GETVAR(_this select 0,GVAR(isSurrendering),false)}] call EFUNC(common,addCanInteractWithCondition);

View File

@ -32,7 +32,7 @@ if (_state) then {
//Add Actionmenu to release captive //Add Actionmenu to release captive
private _actionID = _unit addAction [format ["<t color='#FF0000'>%1</t>", localize LSTRING(StopEscorting)], private _actionID = _unit addAction [format ["<t color='#FF0000'>%1</t>", localize LSTRING(StopEscorting)],
{[(_this select 0), ((_this select 0) getVariable [QGVAR(escortedUnit), objNull]), false] call FUNC(doEscortCaptive);}, {[(_this select 0), ((_this select 0) getVariable [QGVAR(escortedUnit), objNull]), false] call FUNC(doEscortCaptive);},
nil, 20, false, true, "", QUOTE(!isNull (GETVAR(_target,QGVAR(escortedUnit),objNull)))]; nil, 20, false, true, "", QUOTE(!isNull GETVAR(_target,QGVAR(escortedUnit),objNull))];
[{ [{
params ["_args", "_pfID"]; params ["_args", "_pfID"];

View File

@ -38,7 +38,7 @@ if (_textMessage isEqualType "") then {
_textMessage = parseText _textMessage; _textMessage = parseText _textMessage;
}; };
(ARR_SELECT(_this,4,call BIS_fnc_displayMission)) createDisplay "RscDisplayCommonMessagePause"; ARR_SELECT(_this,4,call BIS_fnc_displayMission) createDisplay "RscDisplayCommonMessagePause";
private _display = uiNamespace getVariable "RscDisplayCommonMessage_display"; private _display = uiNamespace getVariable "RscDisplayCommonMessage_display";
private _ctrlRscMessageBox = _display displayCtrl 2351; private _ctrlRscMessageBox = _display displayCtrl 2351;

View File

@ -26,11 +26,11 @@
!( !(
isNull curatorCamera && // Curator isNull curatorCamera && // Curator
{!(GETMVAR(EGVAR(spectator,isSet),false))} && // ACE Spectator {!GETMVAR(EGVAR(spectator,isSet),false)} && // ACE Spectator
{isNull (GETMVAR(BIS_EGSpectatorCamera_camera, objNull))} && // BIS Nexus Spectator {isNull GETMVAR(BIS_EGSpectatorCamera_camera, objNull)} && // BIS Nexus Spectator
{isNull (GETUVAR(BIS_fnc_arsenal_cam, objNull))} && // Arsenal camera {isNull GETUVAR(BIS_fnc_arsenal_cam, objNull)} && // Arsenal camera
{isNull (GETMVAR(BIS_fnc_establishingShot_fakeUAV, objNull))} && // Establishing shot camera {isNull GETMVAR(BIS_fnc_establishingShot_fakeUAV, objNull)} && // Establishing shot camera
{isNull (GETMVAR(BIS_fnc_camera_cam, objNull))} && // Splendid camera {isNull GETMVAR(BIS_fnc_camera_cam, objNull)} && // Splendid camera
{isNull (GETUVAR(BIS_fnc_animViewer_cam, objNull))} && // Animation viewer camera {isNull GETUVAR(BIS_fnc_animViewer_cam, objNull)} && // Animation viewer camera
{isNull (GETMVAR(BIS_DEBUG_CAM, objNull))} // Classic camera {isNull GETMVAR(BIS_DEBUG_CAM, objNull)} // Classic camera
) // return ) // return

View File

@ -4,7 +4,7 @@ if (!hasInterface) exitWith {};
["ACE3 Common", QGVAR(wipeGlasses), localize LSTRING(WipeGlasses), { ["ACE3 Common", QGVAR(wipeGlasses), localize LSTRING(WipeGlasses), {
if (GVAR(effects) != 2) exitWith {false}; //Can only wipe if full effects setting is set if (GVAR(effects) != 2) exitWith {false}; //Can only wipe if full effects setting is set
if (!(GETVAR(ace_player,ACE_isUnconscious,false))) exitWith { if (!GETVAR(ace_player,ACE_isUnconscious,false)) exitWith {
call FUNC(clearGlasses); call FUNC(clearGlasses);
true true
}; };

View File

@ -37,6 +37,6 @@
#define DBULLETS 2 #define DBULLETS 2
#define DAMOUNT 3 #define DAMOUNT 3
#define GLASSDISPLAY (GETUVAR(GVAR(Display),displayNull)) #define GLASSDISPLAY GETUVAR(GVAR(Display),displayNull)
#define CLAMP(x,low,high) (if(x > high)then{high}else{if(x < low)then{low}else{x}}) #define CLAMP(x,low,high) (if(x > high)then{high}else{if(x < low)then{low}else{x}})

View File

@ -34,6 +34,8 @@
#define ORIENTATION 5.4 #define ORIENTATION 5.4
#define EXPANSION 1 #define EXPANSION 1
#define DESTRUCTION_RADIUS 1.8
params ["_projectile", "_timeToLive", "_center"]; params ["_projectile", "_timeToLive", "_center"];
if (isNull _projectile) exitWith {TRACE_1("null",_projectile);}; if (isNull _projectile) exitWith {TRACE_1("null",_projectile);};
@ -187,7 +189,7 @@ if (isServer) then {
// --- inflame fireplace, barrels etc. // --- inflame fireplace, barrels etc.
_x inflame true; _x inflame true;
}; };
} forEach (_position nearObjects EFFECT_SIZE); } forEach (_position nearObjects DESTRUCTION_RADIUS);
// --- damage local vehicle // --- damage local vehicle
private _vehicle = _position nearestObject "Car"; private _vehicle = _position nearestObject "Car";

View File

@ -20,11 +20,11 @@
#define SETPVAR_SYS(var1,var2) setVariable [ARR_3(QUOTE(var1),var2,true)] #define SETPVAR_SYS(var1,var2) setVariable [ARR_3(QUOTE(var1),var2,true)]
#undef GETVAR #undef GETVAR
#define GETVAR(var1,var2,var3) var1 GETVAR_SYS(var2,var3) #define GETVAR(var1,var2,var3) (var1 GETVAR_SYS(var2,var3))
#define GETMVAR(var1,var2) missionNamespace GETVAR_SYS(var1,var2) #define GETMVAR(var1,var2) (missionNamespace GETVAR_SYS(var1,var2))
#define GETUVAR(var1,var2) uiNamespace GETVAR_SYS(var1,var2) #define GETUVAR(var1,var2) (uiNamespace GETVAR_SYS(var1,var2))
#define GETPRVAR(var1,var2) profileNamespace GETVAR_SYS(var1,var2) #define GETPRVAR(var1,var2) (profileNamespace GETVAR_SYS(var1,var2))
#define GETPAVAR(var1,var2) parsingNamespace GETVAR_SYS(var1,var2) #define GETPAVAR(var1,var2) (parsingNamespace GETVAR_SYS(var1,var2))
#undef SETVAR #undef SETVAR
#define SETVAR(var1,var2,var3) var1 SETVAR_SYS(var2,var3) #define SETVAR(var1,var2,var3) var1 SETVAR_SYS(var2,var3)
@ -37,7 +37,7 @@
#define GETGVAR(var1,var2) GETMVAR(GVAR(var1),var2) #define GETGVAR(var1,var2) GETMVAR(GVAR(var1),var2)
#define GETEGVAR(var1,var2,var3) GETMVAR(EGVAR(var1,var2),var3) #define GETEGVAR(var1,var2,var3) GETMVAR(EGVAR(var1,var2),var3)
#define ARR_SELECT(ARRAY,INDEX,DEFAULT) if (count ARRAY > INDEX) then {ARRAY select INDEX} else {DEFAULT} #define ARR_SELECT(ARRAY,INDEX,DEFAULT) (if (count ARRAY > INDEX) then {ARRAY select INDEX} else {DEFAULT})
#define MACRO_ADDWEAPON(WEAPON,COUNT) class _xx_##WEAPON { \ #define MACRO_ADDWEAPON(WEAPON,COUNT) class _xx_##WEAPON { \

View File

@ -6,7 +6,7 @@ class CfgAmmo {
class Missile_AGM_02_F : MissileBase {}; class Missile_AGM_02_F : MissileBase {};
class GVAR(L) : Missile_AGM_02_F { class GVAR(L) : Missile_AGM_02_F {
author = "rufix"; author = "xrufix";
autoSeekTarget = 0; autoSeekTarget = 0;
irLock = 0; irLock = 0;
laserLock = 0; laserLock = 0;
@ -39,4 +39,37 @@ class CfgAmmo {
attackProfiles[] = {"maverick"}; attackProfiles[] = {"maverick"};
}; };
}; };
class Missile_AGM_01_F : MissileBase {};
class ace_kh25ml : Missile_AGM_01_F {
author = "xrufix";
irLock = 0
missileLockMaxDistance = 10000;
weaponLockSystem = 4;
class ace_missileguidance {
enabled = 1;
minDeflection = 0.0005;
maxDeflection = 0.01;
incDeflection = 0.005;
canVanillaLock = 0;
defaultSeekerType = "SALH";
seekerTypes[] = {"SALH"};
defaultSeekerLockMode = "LOAL";
seekerLockModes[] = {"LOAL"};
seekLastTargetPos = 1;
seekerAngle = 40;
seekerAccuracy = 1;
seekerMinRange = 1;
seekerMaxRange = 10000;
defaultAttackProfile = "maverick";
attackProfiles[] = {"maverick"};
};
};
}; };

View File

@ -71,4 +71,43 @@ class CfgMagazines {
displayNameShort = CSTRING(L_MAG_short); displayNameShort = CSTRING(L_MAG_short);
pylonWeapon = QGVAR(L_Launcher); pylonWeapon = QGVAR(L_Launcher);
}; };
// KH-25
class 4Rnd_Missile_AGM_01_F;
class PylonRack_1Rnd_Missile_AGM_01_F : 4Rnd_Missile_AGM_01_F {};
class magazine_Missile_AGM_KH25_x1 : VehicleMagazine {};
class PylonMissile_Missile_AGM_KH25_x1 : magazine_Missile_AGM_KH25_x1 {};
class PylonMissile_Missile_AGM_KH25_INT_x1 : PylonMissile_Missile_AGM_KH25_x1 {};
class ace_kh25ml_pylonrack_x1 : PylonRack_1Rnd_Missile_AGM_01_F {
ammo = "ace_kh25ml";
author = "xrufix";
descriptionShort = CSTRING(KH25ML_MAG_DESCR);
displayName = CSTRING(KH25ML_MAG_x1);
displayNameShort = CSTRING(L_MAG_short);
pylonWeapon = "ace_kh25ml_launcher";
};
class ace_kh25ml_magazine_x1 : magazine_Missile_AGM_KH25_x1 {
ammo = "ace_kh25ml";
author = "xrufix";
descriptionShort = CSTRING(KH25ML_MAG_DESCR);
displayName = CSTRING(KH25ML_MAG_x1);
displayNameShort = CSTRING(L_MAG_short);
};
class ace_kh25ml_pylonmissile_x1 : PylonMissile_Missile_AGM_KH25_x1 {
ammo = "ace_kh25ml";
author = "xrufix";
descriptionShort = CSTRING(KH25ML_MAG_DESCR);
displayName = CSTRING(KH25ML_MAG_x1);
displayNameShort = CSTRING(L_MAG_short);
pylonWeapon = "ace_kh25ml_launcher";
};
class ace_kh25ml_pylonmissile_int_x1 : PylonMissile_Missile_AGM_KH25_INT_x1 {
ammo = "ace_kh25ml";
author = "xrufix";
descriptionShort = CSTRING(KH25ML_MAG_DESCR);
displayName = CSTRING(KH25ML_MAG_x1);
displayNameShort = CSTRING(L_MAG_short);
pylonWeapon = "ace_kh25ml_launcher";
};
}; };

View File

@ -45,4 +45,22 @@ class CfgWeapons {
EGVAR(laser,showHud) = 1; // show attack profile / lock on hud EGVAR(laser,showHud) = 1; // show attack profile / lock on hud
GVAR(enabled) = 1; GVAR(enabled) = 1;
}; };
class weapon_AGM_KH25Launcher : MissileLauncher {};
class ace_kh25ml_launcher : weapon_AGM_KH25Launcher {
author = "xrufix";
displayName = CSTRING(KH25ML);
magazines[] = {
"ace_kh25ml_pylonrack_x1",
"ace_kh25ml_magazine_x1",
"ace_kh25ml_pylonmissile_x1",
"ace_kh25ml_pylonmissile_int_x1"
};
weaponLockDelay = 0.1;
weaponLockSystem = 0;
EGVAR(laser,canSelect) = 1; // can ace_laser lock (allows switching laser code)
EGVAR(laser,showHud) = 1; // show attack profile / lock on hud
GVAR(enabled) = 1;
};
}; };

View File

@ -1,11 +1,12 @@
ace_maverick ace_maverick
========== ==========
Adds pylon magazines with laser guided AGM-65 Maverick L. Adds pylon magazines with laser guided AGM-65 Maverick L and KH25ML.
* The magazines can be added to every plane the vanilla Macer II can be added to. * The Mavericks can be added to every plane the vanilla Macer II can be added to.
* The KH25ML can be added to every plane the vanilla KH25 and Sharur missiles can be added to.
* The missile uses laser guidance based on ACE's Advanced Missile Guidance framework. * The missile uses laser guidance based on ACE's Advanced Missile Guidance framework.
* The PylonWeapon from CfgWeapons is added to planes with pylons automatically. * The PylonWeapon is added to planes with pylons automatically.
![Laser guided Maverick](https://upload.wikimedia.org/wikipedia/commons/thumb/c/c3/US_Navy_041128-N-5345W-016_Aviation_Ordnanceman_3rd_Class_William_Miller_arms_a_AGM-65_Maverick_laser-guided_missile.jpg/1280px-US_Navy_041128-N-5345W-016_Aviation_Ordnanceman_3rd_Class_William_Miller_arms_a_AGM-65_Maverick_laser-guided_missile.jpg) ![Laser guided Maverick](https://upload.wikimedia.org/wikipedia/commons/thumb/c/c3/US_Navy_041128-N-5345W-016_Aviation_Ordnanceman_3rd_Class_William_Miller_arms_a_AGM-65_Maverick_laser-guided_missile.jpg/1280px-US_Navy_041128-N-5345W-016_Aviation_Ordnanceman_3rd_Class_William_Miller_arms_a_AGM-65_Maverick_laser-guided_missile.jpg)

View File

@ -4,13 +4,14 @@ class CfgPatches {
class ADDON { class ADDON {
name = COMPONENT_NAME; name = COMPONENT_NAME;
requiredVersion = REQUIRED_VERSION; requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"ace_hellfire"}; requiredAddons[] = {"ace_missileguidance"};
author = ECSTRING(common,ACETeam); author = ECSTRING(common,ACETeam);
authors[] = {"xrufix"}; authors[] = {"xrufix"};
url = ECSTRING(main,URL); url = ECSTRING(main,URL);
VERSION_CONFIG; VERSION_CONFIG;
ammo[] = { ammo[] = {
GVAR(L) GVAR(L),
"ace_kh25ml"
}; };
magazines[] = { magazines[] = {
QGVAR(L_magazine_x1), QGVAR(L_magazine_x1),
@ -19,11 +20,15 @@ class CfgPatches {
QGVAR(L_pylonRack_1Rnd), QGVAR(L_pylonRack_1Rnd),
QGVAR(L_PylonRack_3Rnd), QGVAR(L_PylonRack_3Rnd),
QGVAR(L_PylonRack_x1), QGVAR(L_PylonRack_x1),
QGVAR(L_PylonRack_x2) QGVAR(L_PylonRack_x2),
"ace_kh25ml_magazine_x1",
"ace_kh25ml_pylonmissile_x1",
"ace_kh25ml_pylonmissile_int_x1"
}; };
weapons[] = { weapons[] = {
GVAR(L_Launcher_Plane), GVAR(L_Launcher_Plane),
GVAR(L_Launcher) GVAR(L_Launcher),
"ace_kh25ml_launcher"
}; };
units[] = {}; units[] = {};
}; };

View File

@ -12,31 +12,31 @@
<Korean>AGM-65 Maverick L, 레이저 유도 대지 미사일</Korean> <Korean>AGM-65 Maverick L, 레이저 유도 대지 미사일</Korean>
</Key> </Key>
<Key ID="str_ace_maverick_l_mag_x1"> <Key ID="str_ace_maverick_l_mag_x1">
<English>AGM-65 Maverick L x1</English> <English>AGM-65 Maverick L [ACE]</English>
<German>AGM-65 Maverick L x1</German> <German>AGM-65 Maverick L [ACE]</German>
<Italian>AGM-65 Maverick L x1</Italian> <Italian>AGM-65 Maverick L [ACE]</Italian>
<Japanese>AGM-65 マーベリック L x1</Japanese> <Japanese>AGM-65 マーベリック L [ACE]</Japanese>
<Chinese>AGM-65"小牛"飛彈L型 x1</Chinese> <Chinese>AGM-65"小牛"飛彈L型 [ACE]</Chinese>
<Chinesesimp>AGM-65"小牛"飞弹L型 x1</Chinesesimp> <Chinesesimp>AGM-65"小牛"飞弹L型 [ACE]</Chinesesimp>
<Korean>AGM-65 Maverick L x1</Korean> <Korean>AGM-65 Maverick L [ACE]</Korean>
</Key> </Key>
<Key ID="str_ace_maverick_l_mag_x2"> <Key ID="str_ace_maverick_l_mag_x2">
<English>AGM-65 Maverick L x2</English> <English>2x AGM-65 Maverick L [ACE]</English>
<German>AGM-65 Maverick L x2</German> <German>2x AGM-65 Maverick L [ACE]</German>
<Italian>AGM-65 Maverick L x2</Italian> <Italian>2x AGM-65 Maverick L [ACE]</Italian>
<Japanese>AGM-65 マーベリック L x2</Japanese> <Japanese>2x AGM-65 マーベリック L [ACE]</Japanese>
<Chinese>AGM-65"小牛"飛彈L型 x2</Chinese> <Chinese>2x AGM-65"小牛"飛彈L型 [ACE]</Chinese>
<Chinesesimp>AGM-65"小牛"飞弹L型 x2</Chinesesimp> <Chinesesimp>2x AGM-65"小牛"飞弹L型 [ACE]</Chinesesimp>
<Korean>AGM-65 Maverick L x2</Korean> <Korean>2x AGM-65 Maverick L [ACE]</Korean>
</Key> </Key>
<Key ID="str_ace_maverick_l_mag_x3"> <Key ID="str_ace_maverick_l_mag_x3">
<English>AGM-65 Maverick L x3</English> <English>3x AGM-65 Maverick L [ACE]</English>
<German>AGM-65 Maverick L x3</German> <German>3x AGM-65 Maverick L [ACE]</German>
<Italian>AGM-65 Maverick L x3</Italian> <Italian>3x AGM-65 Maverick L [ACE]</Italian>
<Japanese>AGM-65 マーベリック L x3</Japanese> <Japanese>3x AGM-65 マーベリック L [ACE]</Japanese>
<Chinese>AGM-65"小牛"飛彈L型 x3</Chinese> <Chinese>3x AGM-65"小牛"飛彈L型 [ACE]</Chinese>
<Chinesesimp>AGM-65"小牛"飞弹L型 x3</Chinesesimp> <Chinesesimp>3x AGM-65"小牛"飞弹L型 [ACE]</Chinesesimp>
<Korean>AGM-65 Maverick L x3</Korean> <Korean>3x AGM-65 Maverick L [ACE]</Korean>
</Key> </Key>
<Key ID="str_ace_maverick_l_mag_short"> <Key ID="str_ace_maverick_l_mag_short">
<English>Laser Guided</English> <English>Laser Guided</English>
@ -47,6 +47,15 @@
<Chinesesimp>雷射导引</Chinesesimp> <Chinesesimp>雷射导引</Chinesesimp>
<Korean>레이저 유도</Korean> <Korean>레이저 유도</Korean>
</Key> </Key>
<Key ID="str_ace_maverick_kh25ml_mag_descr">
<English>Kh-25ML, Laser Guided Air-to-Ground-Missile</English>
<German>Ch-25ML, Lasergelenkte Luft-Boden-Rakete</German>
</Key>
<Key ID="str_ace_maverick_kh25ml_mag_x1">
<English>1x Kh-25ML [ACE]</English>
<German>1x Ch-25ML [ACE]</German>
<Russian>1x Х-25МЛ [ACE]</Russian>
</Key>
</Container> </Container>
<Container name="weapons"> <Container name="weapons">
<Key ID="str_ace_maverick_l"> <Key ID="str_ace_maverick_l">
@ -58,6 +67,11 @@
<Chinesesimp>AGM-65"小牛"飞弹L型</Chinesesimp> <Chinesesimp>AGM-65"小牛"飞弹L型</Chinesesimp>
<Korean>AGM-65 Maverick L</Korean> <Korean>AGM-65 Maverick L</Korean>
</Key> </Key>
<Key ID="str_ace_maverick_kh25ml">
<English>Kh-25ML</English>
<German>Ch-25ML</English>
<Russian>Х-25МЛ</English>
</Key>
</Container> </Container>
</Package> </Package>
</Project> </Project>

View File

@ -25,7 +25,7 @@ if (
{GETVAR(_unit,GVAR(hasReserve),false)} {GETVAR(_unit,GVAR(hasReserve),false)}
) then { ) then {
// Case where unit has just opened parachute and reserve should be added // Case where unit has just opened parachute and reserve should be added
_unit addBackpackGlobal (GETVAR(_unit,GVAR(backpackClass),"ACE_NonSteerableReserveParachute")); _unit addBackpackGlobal GETVAR(_unit,GVAR(backpackClass),"ACE_NonSteerableReserveParachute");
SETVAR(vehicle _unit,GVAR(canCut),true); // Mark the parachute cuttable since reserve is present SETVAR(vehicle _unit,GVAR(canCut),true); // Mark the parachute cuttable since reserve is present
} else { } else {
// Case where inventory has changed otherwise (including when reserve is added) // Case where inventory has changed otherwise (including when reserve is added)

View File

@ -472,7 +472,7 @@ class CfgMagazines {
}; };
class 12Rnd_missiles; class 12Rnd_missiles;
class PylonRack_12Rnd_missiles: 12Rnd_missiles { class PylonRack_12Rnd_missiles: 12Rnd_missiles {
displayName = "Hydra 70"; // [vanilla: DAR - missiles_DAR] displayName = "Hydra 70 12x HE"; // [vanilla: DAR - missiles_DAR]
}; };
class PylonRack_20Rnd_Rocket_03_HE_F: 20Rnd_Rocket_03_HE_F { class PylonRack_20Rnd_Rocket_03_HE_F: 20Rnd_Rocket_03_HE_F {
displayName = "S-8 20x HE"; // [vanilla: Tratnyr 20x HE - Rocket_03_HE_Plane_CAS_02_F] displayName = "S-8 20x HE"; // [vanilla: Tratnyr 20x HE - Rocket_03_HE_Plane_CAS_02_F]

View File

@ -66,16 +66,25 @@ class CfgVehicles {
class O_MRAP_02_F: MRAP_02_base_F { class O_MRAP_02_F: MRAP_02_base_F {
displayName = CSTRING(MRAP_02_Name); displayName = CSTRING(MRAP_02_Name);
}; };
class O_T_MRAP_02_ghex_F: MRAP_02_base_F {
displayName = CSTRING(MRAP_02_Name);
};
class MRAP_02_hmg_base_F: MRAP_02_base_F {}; class MRAP_02_hmg_base_F: MRAP_02_base_F {};
class O_MRAP_02_hmg_F: MRAP_02_hmg_base_F { class O_MRAP_02_hmg_F: MRAP_02_hmg_base_F {
displayName = CSTRING(MRAP_02_hmg_Name); displayName = CSTRING(MRAP_02_hmg_Name);
}; };
class O_T_MRAP_02_hmg_ghex_F: MRAP_02_hmg_base_F {
displayName = CSTRING(MRAP_02_hmg_Name);
};
class MRAP_02_gmg_base_F: MRAP_02_hmg_base_F {}; class MRAP_02_gmg_base_F: MRAP_02_hmg_base_F {};
class O_MRAP_02_gmg_F: MRAP_02_gmg_base_F { class O_MRAP_02_gmg_F: MRAP_02_gmg_base_F {
displayName = CSTRING(MRAP_02_gmg_Name); displayName = CSTRING(MRAP_02_gmg_Name);
}; };
class O_T_MRAP_02_gmg_ghex_F: MRAP_02_gmg_base_F {
displayName = CSTRING(MRAP_02_gmg_Name);
};
// strider // strider
class MRAP_03_base_F; class MRAP_03_base_F;
@ -173,8 +182,8 @@ class CfgVehicles {
displayName = CSTRING(APC_Wheeled_01_cannon_Name); displayName = CSTRING(APC_Wheeled_01_cannon_Name);
}; };
class O_APC_Wheeled_02_base_F; class APC_Wheeled_02_base_F;
class O_APC_Wheeled_02_rcws_F: O_APC_Wheeled_02_base_F { class O_APC_Wheeled_02_base_F : APC_Wheeled_02_base_F {
displayName = CSTRING(APC_Wheeled_02_rcws_Name); displayName = CSTRING(APC_Wheeled_02_rcws_Name);
}; };
@ -305,6 +314,9 @@ class CfgVehicles {
class Heli_Light_01_civil_base_F: Heli_Light_01_unarmed_base_F { class Heli_Light_01_civil_base_F: Heli_Light_01_unarmed_base_F {
displayName = CSTRING(Heli_Light_01_civil_Name); displayName = CSTRING(Heli_Light_01_civil_Name);
}; };
class I_C_Heli_Light_01_civil_F: Heli_Light_01_civil_base_F {
displayName = CSTRING(Heli_Light_01_civil_Name);
};
class Heli_Light_01_armed_base_F; class Heli_Light_01_armed_base_F;
class B_Heli_Light_01_armed_F: Heli_Light_01_armed_base_F { class B_Heli_Light_01_armed_F: Heli_Light_01_armed_base_F {
@ -397,6 +409,11 @@ class CfgVehicles {
displayName = CSTRING(Plane_Fighter_03_Name); displayName = CSTRING(Plane_Fighter_03_Name);
}; };
class Plane_Fighter_04_Base_F;
class I_Plane_Fighter_04_F : Plane_Fighter_04_Base_F {
displayName = CSTRING(Plane_Fighter_04_Name);
};
// uavs // uavs
class UAV_02_base_F; class UAV_02_base_F;
class B_UAV_02_F: UAV_02_base_F { class B_UAV_02_F: UAV_02_base_F {
@ -713,6 +730,9 @@ class CfgVehicles {
class C_Offroad_02_unarmed_F: Offroad_02_unarmed_base_F { class C_Offroad_02_unarmed_F: Offroad_02_unarmed_base_F {
displayName = CSTRING(C_Offroad_02_unarmed); displayName = CSTRING(C_Offroad_02_unarmed);
}; };
class I_C_Offroad_02_unarmed_F: Offroad_02_unarmed_base_F {
displayName = CSTRING(C_Offroad_02_unarmed);
};
class C_Offroad_02_unarmed_F_black: C_Offroad_02_unarmed_F { class C_Offroad_02_unarmed_F_black: C_Offroad_02_unarmed_F {
displayName = CSTRING(C_Offroad_02_unarmed_black); displayName = CSTRING(C_Offroad_02_unarmed_black);
}; };
@ -734,10 +754,35 @@ class CfgVehicles {
class C_Plane_Civil_01_racing_F: Plane_Civil_01_base_F { class C_Plane_Civil_01_racing_F: Plane_Civil_01_base_F {
displayName = CSTRING(C_Plane_Civil_01_racing); displayName = CSTRING(C_Plane_Civil_01_racing);
}; };
class I_C_Plane_Civil_01_F: Plane_Civil_01_base_F {
displayName = CSTRING(C_Plane_Civil_01);
};
// Burraq // Burraq
class UAV_04_base_F; class UAV_04_base_F;
class O_T_UAV_04_CAS_F: UAV_04_base_F { class O_T_UAV_04_CAS_F: UAV_04_base_F {
displayName = CSTRING(O_T_UAV_04_CAS); displayName = CSTRING(O_T_UAV_04_CAS);
}; };
// Polaris DAGOR (Prowler)
class LSV_01_base_F;
class LSV_01_armed_base_F : LSV_01_base_F {
displayName = CSTRING(lsv_01_armed);
};
class LSV_01_unarmed_base_F : LSV_01_base_F {
displayName = CSTRING(lsv_01_unarmed);
};
class LSV_01_light_base_F : LSV_01_base_F {
displayName = CSTRING(lsv_01_light);
};
// Light Strike Vehicle Mk. II (Qilin)
class LSV_02_base_F;
class LSV_02_armed_base_F : LSV_02_base_F {
displayName = CSTRING(lsv_02_armed);
};
class LSV_02_unarmed_base_F : LSV_02_base_F {
displayName = CSTRING(lsv_02_unarmed);
};
}; };

View File

@ -179,7 +179,7 @@
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_MRAP_01_hmg_Name"> <Key ID="STR_ACE_RealisticNames_MRAP_01_hmg_Name">
<English>M-ATV (HMG)</English> <English>M-ATV (HMG)</English>
<German>M-ATV (SMG)</German> <German>M-ATV (sMG)</German>
<Spanish>M-ATV (HMG)</Spanish> <Spanish>M-ATV (HMG)</Spanish>
<Polish>M-ATV (CKM)</Polish> <Polish>M-ATV (CKM)</Polish>
<Czech>M-ATV (HMG)</Czech> <Czech>M-ATV (HMG)</Czech>
@ -483,7 +483,7 @@
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_MRAP_03_hmg_Name"> <Key ID="STR_ACE_RealisticNames_MRAP_03_hmg_Name">
<English>Fennek (HMG)</English> <English>Fennek (HMG)</English>
<German>Fennek (SMG)</German> <German>Fennek (sMG)</German>
<Spanish>Fennek (HMG)</Spanish> <Spanish>Fennek (HMG)</Spanish>
<Polish>Fennek (CKM)</Polish> <Polish>Fennek (CKM)</Polish>
<Czech>Fennek (HMG)</Czech> <Czech>Fennek (HMG)</Czech>
@ -563,7 +563,7 @@
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_Truck_02_transport_Name"> <Key ID="STR_ACE_RealisticNames_Truck_02_transport_Name">
<English>KamAZ Transport</English> <English>KamAZ Transport</English>
<German>KamAZ Transport</German> <German>KamAS Transport</German>
<Spanish>KamAZ de transporte</Spanish> <Spanish>KamAZ de transporte</Spanish>
<Polish>KamAZ transportowy</Polish> <Polish>KamAZ transportowy</Polish>
<Czech>KamAZ (valník)</Czech> <Czech>KamAZ (valník)</Czech>
@ -579,7 +579,7 @@
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_Truck_02_covered_Name"> <Key ID="STR_ACE_RealisticNames_Truck_02_covered_Name">
<English>KamAZ Transport (covered)</English> <English>KamAZ Transport (covered)</English>
<German>KamAZ Transport (bedeckt)</German> <German>KamAS Transport (bedeckt)</German>
<Spanish>KamAZ de transporte (cubierto)</Spanish> <Spanish>KamAZ de transporte (cubierto)</Spanish>
<Polish>KamAZ Transportowy (zakryty)</Polish> <Polish>KamAZ Transportowy (zakryty)</Polish>
<Czech>KamAZ (valník-krytý)</Czech> <Czech>KamAZ (valník-krytý)</Czech>
@ -595,7 +595,7 @@
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_Truck_02_ammo_Name"> <Key ID="STR_ACE_RealisticNames_Truck_02_ammo_Name">
<English>KamAZ Ammo</English> <English>KamAZ Ammo</English>
<German>KamAZ Munition</German> <German>KamAS Munition</German>
<Spanish>KamAZ de munición</Spanish> <Spanish>KamAZ de munición</Spanish>
<Polish>KamAZ Amunicyjny</Polish> <Polish>KamAZ Amunicyjny</Polish>
<Czech>KamAZ (muniční)</Czech> <Czech>KamAZ (muniční)</Czech>
@ -611,7 +611,7 @@
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_Truck_02_fuel_Name"> <Key ID="STR_ACE_RealisticNames_Truck_02_fuel_Name">
<English>KamAZ Fuel</English> <English>KamAZ Fuel</English>
<German>KamAZ Treibstoff</German> <German>KamAS Treibstoff</German>
<Spanish>KamAZ de combustible</Spanish> <Spanish>KamAZ de combustible</Spanish>
<Polish>KamAZ cysterna</Polish> <Polish>KamAZ cysterna</Polish>
<Czech>KamAZ (cisterna)</Czech> <Czech>KamAZ (cisterna)</Czech>
@ -627,7 +627,7 @@
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_Truck_02_box_Name"> <Key ID="STR_ACE_RealisticNames_Truck_02_box_Name">
<English>KamAZ Repair</English> <English>KamAZ Repair</English>
<German>KamAZ Instandsetzung</German> <German>KamAS Instandsetzung</German>
<Spanish>KamAZ de reparación</Spanish> <Spanish>KamAZ de reparación</Spanish>
<Polish>KamAZ Naprawczy</Polish> <Polish>KamAZ Naprawczy</Polish>
<Czech>KamAZ (opravárenský)</Czech> <Czech>KamAZ (opravárenský)</Czech>
@ -643,7 +643,7 @@
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_Truck_02_medical_Name"> <Key ID="STR_ACE_RealisticNames_Truck_02_medical_Name">
<English>KamAZ Medical</English> <English>KamAZ Medical</English>
<German>KamAZ Sanitäter</German> <German>KamAS Sanitäter</German>
<Spanish>KamAZ médico</Spanish> <Spanish>KamAZ médico</Spanish>
<Polish>KamAZ Medyczny</Polish> <Polish>KamAZ Medyczny</Polish>
<Czech>KamAZ (zdravotnický)</Czech> <Czech>KamAZ (zdravotnický)</Czech>
@ -658,50 +658,50 @@
<Chinesesimp>"卡玛斯"卡车 (医疗)</Chinesesimp> <Chinesesimp>"卡玛斯"卡车 (医疗)</Chinesesimp>
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_MRAP_02_Name"> <Key ID="STR_ACE_RealisticNames_MRAP_02_Name">
<English>Punisher</English> <English>Karatel</English>
<German>Punisher</German> <German>Karatel</German>
<Spanish>Punisher</Spanish> <Spanish>Karatel</Spanish>
<Polish>Punisher</Polish> <Polish>Karatel</Polish>
<Czech>Punisher</Czech> <Czech>Karatel</Czech>
<French>Punisher</French> <French>Karatel</French>
<Russian>Kаратель</Russian> <Russian>Kаратель</Russian>
<Portuguese>Punisher</Portuguese> <Portuguese>Karatel</Portuguese>
<Hungarian>Punisher</Hungarian> <Hungarian>Karatel</Hungarian>
<Italian>Punisher</Italian> <Italian>Karatel</Italian>
<Japanese>パニッシャー</Japanese> <Japanese>パニッシャー</Japanese>
<Korean>Punisher</Korean> <Korean>Karatel</Korean>
<Chinese>"懲罰者"防地雷反伏擊車</Chinese> <Chinese>"懲罰者"防地雷反伏擊車</Chinese>
<Chinesesimp>"惩罚者"防地雷反伏击车</Chinesesimp> <Chinesesimp>"惩罚者"防地雷反伏击车</Chinesesimp>
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_MRAP_02_hmg_Name"> <Key ID="STR_ACE_RealisticNames_MRAP_02_hmg_Name">
<English>Punisher (HMG)</English> <English>Karatel (HMG)</English>
<German>Punisher (SMG)</German> <German>Karatel (sMG)</German>
<Spanish>Punisher (HMG)</Spanish> <Spanish>Karatel (HMG)</Spanish>
<Polish>Punisher (CKM)</Polish> <Polish>Karatel (CKM)</Polish>
<Czech>Punisher (HMG)</Czech> <Czech>Karatel (HMG)</Czech>
<French>Punisher (HMG)</French> <French>Karatel (HMG)</French>
<Russian>Kаратель (Пулемёт)</Russian> <Russian>Kаратель (Пулемёт)</Russian>
<Portuguese>Punisher (HMG)</Portuguese> <Portuguese>Karatel (HMG)</Portuguese>
<Hungarian>Punisher (nehézgéppuska)</Hungarian> <Hungarian>Karatel (nehézgéppuska)</Hungarian>
<Italian>Punisher (HMG)</Italian> <Italian>Karatel (HMG)</Italian>
<Japanese>パニッシャー (HMG)</Japanese> <Japanese>パニッシャー (HMG)</Japanese>
<Korean>Punisher (HMG)</Korean> <Korean>Karatel (HMG)</Korean>
<Chinese>"懲罰者"防地雷反伏擊車 (重機槍)</Chinese> <Chinese>"懲罰者"防地雷反伏擊車 (重機槍)</Chinese>
<Chinesesimp>"惩罚者"防地雷反伏击车 (重机枪)</Chinesesimp> <Chinesesimp>"惩罚者"防地雷反伏击车 (重机枪)</Chinesesimp>
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_MRAP_02_gmg_Name"> <Key ID="STR_ACE_RealisticNames_MRAP_02_gmg_Name">
<English>Punisher (GMG)</English> <English>Karatel (GMG)</English>
<German>Punisher (GMW)</German> <German>Karatel (GMW)</German>
<Spanish>Punisher (GMG)</Spanish> <Spanish>Karatel (GMG)</Spanish>
<Polish>Punisher (GMG)</Polish> <Polish>Karatel (GMG)</Polish>
<Czech>Punisher (GMG)</Czech> <Czech>Karatel (GMG)</Czech>
<French>Punisher (GMG)</French> <French>Karatel (GMG)</French>
<Russian>Kаратель (Гранатомёт)</Russian> <Russian>Kаратель (Гранатомёт)</Russian>
<Portuguese>Punisher (GMG)</Portuguese> <Portuguese>Karatel (GMG)</Portuguese>
<Hungarian>Punisher (gránátgéppuska)</Hungarian> <Hungarian>Karatel (gránátgéppuska)</Hungarian>
<Italian>Punisher (GMG)</Italian> <Italian>Karatel (GMG)</Italian>
<Japanese>パニッシャー (GMG)</Japanese> <Japanese>パニッシャー (GMG)</Japanese>
<Korean>Punisher (GMG)</Korean> <Korean>Karatel (GMG)</Korean>
<Chinese>"懲罰者"防地雷反伏擊車 (榴彈機槍)</Chinese> <Chinese>"懲罰者"防地雷反伏擊車 (榴彈機槍)</Chinese>
<Chinesesimp>"惩罚者"防地雷反伏击车 (榴弹机枪)</Chinesesimp> <Chinesesimp>"惩罚者"防地雷反伏击车 (榴弹机枪)</Chinesesimp>
</Key> </Key>
@ -1089,6 +1089,20 @@
<Chinese>L-159先進輕型戰鬥機 (空對空)</Chinese> <Chinese>L-159先進輕型戰鬥機 (空對空)</Chinese>
<Chinesesimp>L-159先进轻型战斗机 (空对空)</Chinesesimp> <Chinesesimp>L-159先进轻型战斗机 (空对空)</Chinesesimp>
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_Plane_Fighter_04_Name">
<English>JAS 39 Gripen</English>
<German>JAS 39 Gripen</German>
<Spanish>JAS 39 Gripen</Spanish>
<Polish>JAS 39 Gripen</Polish>
<Czech>JAS 39 Gripen</Czech>
<French>JAS 39 Gripen</French>
<Russian>JAS 39 Грипен</Russian>
<Portuguese>JAS 39 Gripen</Portuguese>
<Italian>JAS 39 Gripen</Italian>
<Japanese>サーブ 39 グリペン</Japanese>
<Korean>JAS 39 그리펜</Korean>
<Chinese>JAS 39 獅鷲戰鬥機</Chinese>
</Key>
<Key ID="STR_ACE_RealisticNames_Heli_Light_02_Name"> <Key ID="STR_ACE_RealisticNames_Heli_Light_02_Name">
<English>Ka-60 Kasatka</English> <English>Ka-60 Kasatka</English>
<German>Ka-60 Kasatka</German> <German>Ka-60 Kasatka</German>
@ -1250,7 +1264,7 @@
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_SmokeShell_Name"> <Key ID="STR_ACE_RealisticNames_SmokeShell_Name">
<English>M83 Smoke Grenade (White)</English> <English>M83 Smoke Grenade (White)</English>
<German>M83 Rauchgranate (Weiss)</German> <German>M83 Rauchgranate (Weiß)</German>
<Spanish>Granada de humo M83 (Blanco)</Spanish> <Spanish>Granada de humo M83 (Blanco)</Spanish>
<Polish>Granat dymny M83 (Biały)</Polish> <Polish>Granat dymny M83 (Biały)</Polish>
<Czech>M83 Kouřový Granát (Bílý)</Czech> <Czech>M83 Kouřový Granát (Bílý)</Czech>
@ -1921,20 +1935,20 @@
<Chinesesimp>CTAR-21卡宾步枪</Chinesesimp> <Chinesesimp>CTAR-21卡宾步枪</Chinesesimp>
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_arifle_TRG21_GL_Name"> <Key ID="STR_ACE_RealisticNames_arifle_TRG21_GL_Name">
<English>TAR-21 EGLM</English> <English>GTAR-21 EGLM</English>
<German>TAR-21 EGLM</German> <German>GTAR-21 EGLM</German>
<Czech>TAR-21 EGLM</Czech> <Czech>GTAR-21 EGLM</Czech>
<Polish>TAR-21 EGLM</Polish> <Polish>GTAR-21 EGLM</Polish>
<French>TAR-21 EGLM</French> <French>GTAR-21 EGLM</French>
<Hungarian>TAR-21 EGLM</Hungarian> <Hungarian>GTAR-21 EGLM</Hungarian>
<Spanish>TAR-21 EGLM</Spanish> <Spanish>GTAR-21 EGLM</Spanish>
<Russian>TAR-21 EGLM</Russian> <Russian>GTAR-21 EGLM</Russian>
<Portuguese>TAR-21 EGLM</Portuguese> <Portuguese>GTAR-21 EGLM</Portuguese>
<Italian>TAR-21 EGLM</Italian> <Italian>GTAR-21 EGLM</Italian>
<Japanese>TAR-21 EGLM</Japanese> <Japanese>GTAR-21 EGLM</Japanese>
<Korean>TAR-21 EGLM</Korean> <Korean>GTAR-21 EGLM</Korean>
<Chinese>TAR-21突擊步槍 (榴彈)</Chinese> <Chinese>GTAR-21突擊步槍 (榴彈)</Chinese>
<Chinesesimp>TAR-21突击步枪 (榴弹)</Chinesesimp> <Chinesesimp>GTAR-21突击步枪 (榴弹)</Chinesesimp>
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_SMG_01_Name"> <Key ID="STR_ACE_RealisticNames_SMG_01_Name">
<English>Vector SMG</English> <English>Vector SMG</English>
@ -2166,7 +2180,7 @@
<French>Noreen "Bad News" ULR (Camo)</French> <French>Noreen "Bad News" ULR (Camo)</French>
<Spanish>Noreen "Bad News" ULR (Camuflaje)</Spanish> <Spanish>Noreen "Bad News" ULR (Camuflaje)</Spanish>
<Russian>Noreen "Bad News" ULR (Камо)</Russian> <Russian>Noreen "Bad News" ULR (Камо)</Russian>
<German>Noreen "Bad News" ULR (Camo)</German> <German>Noreen "Bad News" ULR (Tarnmuster)</German>
<Polish>Noreen "Bad News" ULR (kamuflaż)</Polish> <Polish>Noreen "Bad News" ULR (kamuflaż)</Polish>
<Italian>Noreen "Bad News" ULR (Camo)</Italian> <Italian>Noreen "Bad News" ULR (Camo)</Italian>
<Hungarian>Noreen "Bad News"ULR (Terepmintás)</Hungarian> <Hungarian>Noreen "Bad News"ULR (Terepmintás)</Hungarian>
@ -2182,7 +2196,7 @@
<French>Noreen "Bad News" ULR (Beige)</French> <French>Noreen "Bad News" ULR (Beige)</French>
<Spanish>Noreen "Bad News" ULR (Arena)</Spanish> <Spanish>Noreen "Bad News" ULR (Arena)</Spanish>
<Russian>Noreen "Bad News" ULR (Песочный)</Russian> <Russian>Noreen "Bad News" ULR (Песочный)</Russian>
<German>Noreen "Bad News" ULR (Sand)</German> <German>Noreen "Bad News" ULR (sandfarben)</German>
<Polish>Noreen "Bad News" ULR (piaskowy)</Polish> <Polish>Noreen "Bad News" ULR (piaskowy)</Polish>
<Italian>Noreen "Bad News" ULR (Sabbia)</Italian> <Italian>Noreen "Bad News" ULR (Sabbia)</Italian>
<Hungarian>Noreen "Bad News"ULR (Homok)</Hungarian> <Hungarian>Noreen "Bad News"ULR (Homok)</Hungarian>
@ -2247,7 +2261,7 @@
<Spanish>SIG 556 (Arena)</Spanish> <Spanish>SIG 556 (Arena)</Spanish>
<Russian>SIG 556 (Песочный)</Russian> <Russian>SIG 556 (Песочный)</Russian>
<Polish>SIG 556 (piaskowy)</Polish> <Polish>SIG 556 (piaskowy)</Polish>
<German>SIG 556 (Sand)</German> <German>SIG 556 (sandfarben)</German>
<Italian>SIG 556 (Sabbia)</Italian> <Italian>SIG 556 (Sabbia)</Italian>
<Hungarian>SIG 556 (Homok)</Hungarian> <Hungarian>SIG 556 (Homok)</Hungarian>
<Portuguese>SIG 556 (Deserto)</Portuguese> <Portuguese>SIG 556 (Deserto)</Portuguese>
@ -2263,7 +2277,7 @@
<Spanish>SIG 556 (Camuflaje)</Spanish> <Spanish>SIG 556 (Camuflaje)</Spanish>
<Russian>SIG 556 (Камо)</Russian> <Russian>SIG 556 (Камо)</Russian>
<Polish>SIG 556 (kamuflaż)</Polish> <Polish>SIG 556 (kamuflaż)</Polish>
<German>SIG 556 (Camo)</German> <German>SIG 556 (Tarnmuster)</German>
<Italian>SIG 556 (Camo)</Italian> <Italian>SIG 556 (Camo)</Italian>
<Hungarian>SIG 556 (Terepmintás)</Hungarian> <Hungarian>SIG 556 (Terepmintás)</Hungarian>
<Portuguese>SIG 556 (Camuflagem)</Portuguese> <Portuguese>SIG 556 (Camuflagem)</Portuguese>
@ -2279,7 +2293,7 @@
<Spanish>SIG 556 (Bosque)</Spanish> <Spanish>SIG 556 (Bosque)</Spanish>
<Russian>SIG 556 (Лесной)</Russian> <Russian>SIG 556 (Лесной)</Russian>
<Polish>SIG 556 (leśny)</Polish> <Polish>SIG 556 (leśny)</Polish>
<German>SIG 556 (Woodland)</German> <German>SIG 556 (Grünes Tarnmuster)</German>
<Italian>SIG 556 (Woodland)</Italian> <Italian>SIG 556 (Woodland)</Italian>
<Hungarian>SIG 556 (Erdőmintás)</Hungarian> <Hungarian>SIG 556 (Erdőmintás)</Hungarian>
<Portuguese>SIG 556 (Floresta)</Portuguese> <Portuguese>SIG 556 (Floresta)</Portuguese>
@ -2423,7 +2437,7 @@
<Spanish>M14 (Camuflaje)</Spanish> <Spanish>M14 (Camuflaje)</Spanish>
<Russian>M14 (Камо)</Russian> <Russian>M14 (Камо)</Russian>
<Polish>M14 (kamuflaż)</Polish> <Polish>M14 (kamuflaż)</Polish>
<German>M14 (Camo)</German> <German>M14 (Tarnmuster)</German>
<Italian>M14 (Camo)</Italian> <Italian>M14 (Camo)</Italian>
<Hungarian>M14 (Terepmintás)</Hungarian> <Hungarian>M14 (Terepmintás)</Hungarian>
<Portuguese>M14 (Camuflagem)</Portuguese> <Portuguese>M14 (Camuflagem)</Portuguese>
@ -2439,7 +2453,7 @@
<Spanish>M14 (Oliva)</Spanish> <Spanish>M14 (Oliva)</Spanish>
<Russian>M14 (Олива)</Russian> <Russian>M14 (Олива)</Russian>
<Polish>M14 (oliwkowy)</Polish> <Polish>M14 (oliwkowy)</Polish>
<German>M14 (Olive)</German> <German>M14 (Olivgrün)</German>
<Italian>M14 (Olive)</Italian> <Italian>M14 (Olive)</Italian>
<Hungarian>M14 (Olíva)</Hungarian> <Hungarian>M14 (Olíva)</Hungarian>
<Portuguese>M14 (Oliva)</Portuguese> <Portuguese>M14 (Oliva)</Portuguese>
@ -2551,7 +2565,7 @@
<Spanish>LWMMG (Arena)</Spanish> <Spanish>LWMMG (Arena)</Spanish>
<Russian>LWMMG (Песочный)</Russian> <Russian>LWMMG (Песочный)</Russian>
<Polish>LWMMG (piaskowy)</Polish> <Polish>LWMMG (piaskowy)</Polish>
<German>LWMMG (Sand)</German> <German>LWMMG (sandfarben)</German>
<Italian>LWMMG (Sabbia)</Italian> <Italian>LWMMG (Sabbia)</Italian>
<Hungarian>LWMMG (Homok)</Hungarian> <Hungarian>LWMMG (Homok)</Hungarian>
<Portuguese>LWMMG (Deserto)</Portuguese> <Portuguese>LWMMG (Deserto)</Portuguese>
@ -2929,20 +2943,20 @@
<Chinesesimp>GM6"天猫"反器材狙击步枪 (绿色数位蜂巢迷彩)</Chinesesimp> <Chinesesimp>GM6"天猫"反器材狙击步枪 (绿色数位蜂巢迷彩)</Chinesesimp>
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_LMG_03"> <Key ID="STR_ACE_RealisticNames_LMG_03">
<English>M249 SPW</English> <English>FN Minimi SPW</English>
<German>M249 SPW</German> <German>FN Minimi SPW</German>
<Spanish>M249 SPW</Spanish> <Spanish>FN Minimi SPW</Spanish>
<Polish>M249 SPW</Polish> <Polish>FN Minimi SPW</Polish>
<Czech>M249 SPW</Czech> <Czech>FN Minimi SPW</Czech>
<French>M249 SPW</French> <French>FN Minimi SPW</French>
<Russian>M249 SPW</Russian> <Russian>FN Minimi SPW</Russian>
<Portuguese>M249 SPW</Portuguese> <Portuguese>FN Minimi SPW</Portuguese>
<Hungarian>M249 SPW</Hungarian> <Hungarian>FN Minimi SPW</Hungarian>
<Italian>M249 SPW</Italian> <Italian>FN Minimi SPW</Italian>
<Japanese>M249 SPW</Japanese> <Japanese>FN Minimi SPW</Japanese>
<Korean>M249 SPW</Korean> <Korean>FN Minimi SPW</Korean>
<Chinese>M249班用自動機槍</Chinese> <Chinese>FN Minimi班用自動機槍</Chinese>
<Chinesesimp>M249班用自动机枪</Chinesesimp> <Chinesesimp>FN Minimi班用自动机枪</Chinesesimp>
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_srifle_LRR_tna"> <Key ID="STR_ACE_RealisticNames_srifle_LRR_tna">
<English>M200 Intervention (Tropic)</English> <English>M200 Intervention (Tropic)</English>
@ -3014,7 +3028,7 @@
<French>HK416A5 11" (Beige)</French> <French>HK416A5 11" (Beige)</French>
<Spanish>HK416A5 11" (Arena)</Spanish> <Spanish>HK416A5 11" (Arena)</Spanish>
<Russian>HK416A5 11" (Песочный)</Russian> <Russian>HK416A5 11" (Песочный)</Russian>
<German>HK416A5 11" (Sand)</German> <German>HK416A5 11" (sandfarben)</German>
<Polish>HK416A5 11" (piaskowy)</Polish> <Polish>HK416A5 11" (piaskowy)</Polish>
<Italian>HK416A5 11" (Sabbia)</Italian> <Italian>HK416A5 11" (Sabbia)</Italian>
<Hungarian>HK416A5 11" (Homok)</Hungarian> <Hungarian>HK416A5 11" (Homok)</Hungarian>
@ -3062,7 +3076,7 @@
<French>HK416A5 11" GL (Beige)</French> <French>HK416A5 11" GL (Beige)</French>
<Spanish>HK416A5 11" GL (Arena)</Spanish> <Spanish>HK416A5 11" GL (Arena)</Spanish>
<Russian>HK416A5 11" GL (Песочный)</Russian> <Russian>HK416A5 11" GL (Песочный)</Russian>
<German>HK416A5 11" GL (Sand)</German> <German>HK416A5 11" GL (sandfarben)</German>
<Polish>HK416A5 11" GL (piaskowy)</Polish> <Polish>HK416A5 11" GL (piaskowy)</Polish>
<Italian>HK416A5 11" GL (Sabbia)</Italian> <Italian>HK416A5 11" GL (Sabbia)</Italian>
<Hungarian>HK416A5 11" GL (Homok)</Hungarian> <Hungarian>HK416A5 11" GL (Homok)</Hungarian>
@ -3110,7 +3124,7 @@
<French>HK416A5 14.5" (Beige)</French> <French>HK416A5 14.5" (Beige)</French>
<Spanish>HK416A5 14.5" (Arena)</Spanish> <Spanish>HK416A5 14.5" (Arena)</Spanish>
<Russian>HK416A5 14.5" (Песочный)</Russian> <Russian>HK416A5 14.5" (Песочный)</Russian>
<German>HK416A5 14.5" (Sand)</German> <German>HK416A5 14.5" (sandfarben)</German>
<Polish>HK416A5 14.5" (piaskowy)</Polish> <Polish>HK416A5 14.5" (piaskowy)</Polish>
<Italian>HK416A5 14.5" (Sabbia)</Italian> <Italian>HK416A5 14.5" (Sabbia)</Italian>
<Hungarian>HK416A5 14.5" (Homok)</Hungarian> <Hungarian>HK416A5 14.5" (Homok)</Hungarian>
@ -3158,7 +3172,7 @@
<French>HK417A2 20" (Beige)</French> <French>HK417A2 20" (Beige)</French>
<Spanish>HK417A2 20" (Arena)</Spanish> <Spanish>HK417A2 20" (Arena)</Spanish>
<Russian>HK417A2 20" (Песочный)</Russian> <Russian>HK417A2 20" (Песочный)</Russian>
<German>HK417A2 20" (Sand)</German> <German>HK417A2 20" (sandfarben)</German>
<Polish>HK417A2 20" (piaskowy)</Polish> <Polish>HK417A2 20" (piaskowy)</Polish>
<Italian>HK417A2 20" (Sabbia)</Italian> <Italian>HK417A2 20" (Sabbia)</Italian>
<Hungarian>HK417A2 20" (Homok)</Hungarian> <Hungarian>HK417A2 20" (Homok)</Hungarian>
@ -3216,5 +3230,25 @@
<Chinese>"馬卡洛夫"手槍</Chinese> <Chinese>"馬卡洛夫"手槍</Chinese>
<Chinesesimp>"马卡洛夫"手枪</Chinesesimp> <Chinesesimp>"马卡洛夫"手枪</Chinesesimp>
</Key> </Key>
<Key ID="STR_ACE_RealisticNames_lsv_01_armed">
<English>Polaris DAGOR (XM312)</English>
<German>Polaris DAGOR (XM312)</German>
</Key>
<Key ID="STR_ACE_RealisticNames_lsv_01_unarmed">
<English>Polaris DAGOR</English>
<German>Polaris DAGOR</German>
</Key>
<Key ID="STR_ACE_RealisticNames_lsv_01_light">
<English>Polaris DAGOR (light)</English>
<German>Polaris DAGOR (leicht)</German>
</Key>
<Key ID="STR_ACE_RealisticNames_lsv_02_armed">
<English>LSV Mk. II (M134)</English>
<German>LSV Mk. II (M134)</German>
</Key>
<Key ID="STR_ACE_RealisticNames_lsv_02_unarmed">
<English>LSV Mk. II</English>
<German>LSV Mk. II</German>
</Key>
</Package> </Package>
</Project> </Project>

View File

@ -18,15 +18,16 @@
#include "script_component.hpp" #include "script_component.hpp"
params ["_truck", "_player", "_vehicle"]; params ["_truck", "_player", "_vehicle"];
TRACE_3("rearmEntireVehicle",_truck,_player,_vehicle);
[ [
TIME_PROGRESSBAR(10), TIME_PROGRESSBAR(10),
[_truck, _player, _vehicle], [_truck, _vehicle, _player],
FUNC(rearmEntireVehicleSuccess), FUNC(rearmEntireVehicleSuccess),
"", "",
format [localize LSTRING(BasicRearmAction), getText(configFile >> "CfgVehicles" >> (typeOf _vehicle) >> "displayName")], format [localize LSTRING(BasicRearmAction), getText(configFile >> "CfgVehicles" >> (typeOf _vehicle) >> "displayName")],
{ {
param [0] params ["", "_player", "_vehicle"]; param [0] params ["", "_vehicle", "_player"];
(_player distanceSqr _vehicle) <= REARM_ACTION_DISTANCE_SQR (_player distanceSqr _vehicle) <= REARM_ACTION_DISTANCE_SQR
}, },
["isnotinside"] ["isnotinside"]

View File

@ -17,6 +17,6 @@
params ["_unit"]; params ["_unit"];
if (!isNull (GETMVAR(GVAR(ladder),objNull)) && {GVAR(ladder) in attachedObjects _unit}) then { if (!isNull GETMVAR(GVAR(ladder),objNull) && {GVAR(ladder) in attachedObjects _unit}) then {
[_unit, GVAR(ladder)] call FUNC(cancelTLdeploy); [_unit, GVAR(ladder)] call FUNC(cancelTLdeploy);
}; };

View File

@ -17,6 +17,6 @@
params ["_unit"]; params ["_unit"];
if (!isNull (GETMVAR(ladder,objNull)) && {GVAR(ladder) in attachedObjects _unit}) then { if (!isNull GETMVAR(ladder,objNull) && {GVAR(ladder) in attachedObjects _unit}) then {
[_unit, GVAR(ladder)] call FUNC(cancelTLdeploy); [_unit, GVAR(ladder)] call FUNC(cancelTLdeploy);
}; };

View File

@ -16,7 +16,7 @@
*/ */
#include "script_component.hpp" #include "script_component.hpp"
if (isNull (GETGVAR(ladder,objNull))) exitWith {}; if (isNull GETGVAR(ladder,objNull)) exitWith {};
params ["_newPlayer", "_oldPlayer"]; params ["_newPlayer", "_oldPlayer"];

View File

@ -19,6 +19,6 @@ params ["_unit"];
if (!local _unit) exitWith {}; if (!local _unit) exitWith {};
if (!isNull (GETMVAR(ladder,objNull)) && {GVAR(ladder) in attachedObjects _unit}) then { if (!isNull GETMVAR(ladder,objNull) && {GVAR(ladder) in attachedObjects _unit}) then {
[_unit, GVAR(ladder)] call FUNC(cancelTLdeploy); [_unit, GVAR(ladder)] call FUNC(cancelTLdeploy);
}; };

View File

@ -211,7 +211,7 @@
{% endif %} {% endif %}
{% if include.component == "maverick" %} {% if include.component == "maverick" %}
`ace_hellfire` `ace_missileguidance`
{% endif %} {% endif %}
{% if include.component == "medical" %} {% if include.component == "medical" %}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 199 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 210 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 853 KiB

After

Width:  |  Height:  |  Size: 854 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 854 KiB

After

Width:  |  Height:  |  Size: 854 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 881 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 199 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 KiB

View File

@ -33,14 +33,16 @@ The Advanced Ballistics module improves internal and external ballistics.
### 2.1 Enabling Advanced Ballistics ### 2.1 Enabling Advanced Ballistics
#### 2.1.1 Editor #### 2.1.1 OPTIONS → GAME → CONFIGURE ADDONS
<img src="{{ site.baseurl }}/img/wiki/feature/ab_module.jpg" width="799" height="620" alt="Advanced Ballistics module" />
#### 2.1.2 Settings Framework <img src="{{ site.baseurl }}/img/wiki/feature/ab_module1.jpg" width="800" height="484" alt="Advanced Ballistics module" />
- [Settings Framework]({{ site.baseurl }}/wiki/framework/settings-framework.html)
#### 2.1.2 CBA Settings System
- [CBA Settings System](https://github.com/CBATeam/CBA_A3/wiki/CBA-Settings-System)
#### 2.1.3 Enabled in-game ? #### 2.1.3 Enabled in-game ?
- Pick up a [Range Card]({{ site.baseurl }}/wiki/feature/rangecard.html) and open it. - Pick up a [Range Card]({{ site.baseurl }}/wiki/feature/rangecard.html) and open it.
<img src="{{ site.baseurl }}/img/wiki/feature/ab_ingame.png" width="1400" height="280" alt="Advanced Ballistics vs Default Ballistic" /> <img src="{{ site.baseurl }}/img/wiki/feature/ab_ingame.png" width="1400" height="280" alt="Advanced Ballistics vs Default Ballistic" />
### 2.2 Protractor ### 2.2 Protractor

View File

@ -70,13 +70,6 @@ Horus ATragMX software considers atmospheric conditions, gun data, ammunition, r
- Control the breath and press. - Control the breath and press.
### 3.3 Example with Truing tool ### 3.3 Example with Truing tool
**Start of the mission:**
- Select `Drag Coef Table` in the `Options` menu. [[Manual]](https://horusvision.com/download/manual_Horus_ATrag-v385.pdf#page=14)
- Add the `ZR` and the `C1` (`Gun` column) in the table and `Done`.
**In position:**
- Open the `Truing Drop` in the `Options` menu. [[Manual]](https://horusvision.com/download/manual_Horus_ATrag-v385.pdf#page=23) - Open the `Truing Drop` in the `Options` menu. [[Manual]](https://horusvision.com/download/manual_Horus_ATrag-v385.pdf#page=23)
- Add the actual `Target Range` in the `SUPER` column and `Calc`. - Add the actual `Target Range` in the `SUPER` column and `Calc`.
@ -88,25 +81,24 @@ Horus ATragMX software considers atmospheric conditions, gun data, ammunition, r
<img src="{{ site.baseurl }}/img/wiki/feature/atragmx2.png" width="1127" height="600" alt="Calculation" /> <img src="{{ site.baseurl }}/img/wiki/feature/atragmx2.png" width="1127" height="600" alt="Calculation" />
- If a new `Target Range` is applied in the `Target` column, select `Drag Coef Table` in the `Options` menu and `Done`. - If a new `Target Range` is applied in the `Target` column, the ballistic coefficient `C1` and the elevation `Elev` will be automatically recalculated.
- The ballistic coefficient `C1` and the elevation `Elev` will be recalculated.
<img src="{{ site.baseurl }}/img/wiki/feature/atragmx3.png" width="1123" height="600" alt="Interpolation" /> <img src="{{ site.baseurl }}/img/wiki/feature/atragmx31.png" width="1123" height="600" alt="Interpolation" />
<img src="{{ site.baseurl }}/img/wiki/feature/atragmx3a.png" width="1123" height="600" alt="Extrapolation" /> <img src="{{ site.baseurl }}/img/wiki/feature/atragmx31a.png" width="1123" height="600" alt="Extrapolation" />
### 3.4 Example with overwritten zero distance ### 3.4 Example with overwritten zero distance
- The `Default zero distance` can be overwritten with the [Scopes module]({{ site.baseurl }}/wiki/feature/scopes.html) or the [Settings Framework]({{ site.baseurl }}/wiki/framework/settings-framework.html). - The `Default zero distance` can be overwritten with the [Scopes module]({{ site.baseurl }}/wiki/feature/scopes.html), the [Scopes Framework]({{ site.baseurl }}/wiki/framework/scopes-framework.html) or the [CBA Settings System](https://github.com/CBATeam/CBA_A3/wiki/CBA-Settings-System).
- In this case, the [Range Card]({{ site.baseurl }}/wiki/feature/rangecard.html) will be automatically updated, NOT the AtragMx. - In this case, the [Range Card]({{ site.baseurl }}/wiki/feature/rangecard.html) will be automatically updated, NOT the AtragMx.
- Open the AtragMx and the `Atmsphr` column, select `Default` and `Done`. [[Manual]](https://horusvision.com/download/manual_Horus_ATrag-v385.pdf#page=15) - Open the AtragMx and the `Atmsphr` column, select `Default` and `Done`. [[Manual]](https://horusvision.com/download/manual_Horus_ATrag-v385.pdf#page=15)
- Open the `Gun` column, check and update the `Zero Range` and `Done`. - Open the `Gun` column, check and update the `Zero Range` and `Done`.
<img src="{{ site.baseurl }}/img/wiki/feature/atragmx4.png" width="1400" height="600" alt="Zero distance 300m" /> <img src="{{ site.baseurl }}/img/wiki/feature/atragmx41.png" width="1400" height="600" alt="Zero distance 300m" />
### 3.5 Example with `Add New Gun` in `GunList` ### 3.5 Example with `Add New Gun` in `GunList`
- Open the [Range Card]({{ site.baseurl }}/wiki/feature/rangecard.html) and check the cartridge, the bullet diameter, the bullet weight and the muzzle velocities. - Open the [Range Card]({{ site.baseurl }}/wiki/feature/rangecard.html) and check the bullet diameter, the bullet weight, the **(bullet Class Name)** and the muzzle velocities.
- Open the AtragMx and the `Atmsphr` column, select `Default` and `Done`. [[Manual]](https://horusvision.com/download/manual_Horus_ATrag-v385.pdf#page=15) - Open the AtragMx and the `Atmsphr` column, select `Default` and `Done`. [[Manual]](https://horusvision.com/download/manual_Horus_ATrag-v385.pdf#page=15)
- Select `Add New Gun` in the `GunList`. [[Manual]](https://horusvision.com/download/manual_Horus_ATrag-v385.pdf#page=25) - Select `Add New Gun` in the `GunList`. [[Manual]](https://horusvision.com/download/manual_Horus_ATrag-v385.pdf#page=25)
- Add a `New Gun Name` and `Open Gun`. - Add a `New Gun Name` and `Open Gun`.
@ -117,9 +109,9 @@ Horus ATragMX software considers atmospheric conditions, gun data, ammunition, r
- Edit manually the `Muzzle Velocity Table` according with the [Range Card]({{ site.baseurl }}/wiki/feature/rangecard.html) and `Done`. [[Manual]](https://horusvision.com/download/manual_Horus_ATrag-v385.pdf#page=22) - Edit manually the `Muzzle Velocity Table` according with the [Range Card]({{ site.baseurl }}/wiki/feature/rangecard.html) and `Done`. [[Manual]](https://horusvision.com/download/manual_Horus_ATrag-v385.pdf#page=22)
- The `C1 coefficient` of the bullet can be found with the Eden Editor `Config Viewer`: - The `C1 coefficient` of the bullet can be found with the Eden Editor `Config Viewer`:
> configfile >> "CfgAmmo" >> "Range card cartridge" >> "ACE_ballisticCoefficients" > configfile >> "CfgAmmo" >> "**bullet Class Name**" >> "ACE_ballisticCoefficients"
> configfile >> "CfgAmmo" >> "Range card cartridge" >> "ACE_dragModel" > configfile >> "CfgAmmo" >> "**bullet Class Name**" >> "ACE_dragModel"
- *The AtragMx accepts only **G1 ballistic coefficient**.* - *The AtragMx accepts only **G1 ballistic coefficient**.*
- *G7 ballistic coefficient can be converted, for example, with the online [JBM Ballistics Calculators](http://www.jbmballistics.com/cgi-bin/jbmgf-5.1.cgi)*. - *G7 ballistic coefficient can be converted, for example, with the online [JBM Ballistics Calculators](http://www.jbmballistics.com/cgi-bin/jbmgf-5.1.cgi)*.
@ -128,10 +120,14 @@ Horus ATragMX software considers atmospheric conditions, gun data, ammunition, r
> Note: The ballistic coefficient can be calculated by using the [360 Degree Training Course mission](https://forums.bistudio.com/forums/topic/171228-sp-360-degree-training-course/) as a chronograph at different distances and [JBM Ballistics Calculators](http://www.jbmballistics.com/cgi-bin/jbmbcv-5.1.cgi) for example, an another ballistic software at your own convenience, or the [AtragMx Truing Tool](#33-example-with-truing-tool). > Note: The ballistic coefficient can be calculated by using the [360 Degree Training Course mission](https://forums.bistudio.com/forums/topic/171228-sp-360-degree-training-course/) as a chronograph at different distances and [JBM Ballistics Calculators](http://www.jbmballistics.com/cgi-bin/jbmbcv-5.1.cgi) for example, an another ballistic software at your own convenience, or the [AtragMx Truing Tool](#33-example-with-truing-tool).
> Example direct conversion with 0.408 Cheytac 305 grains G7 BC 0.279 at 2000 meters 15°C: > Example direct conversion with .408 Cheytac 305 grains G7 BC 0.279 at 2000 meters 15°C:
<img src="{{ site.baseurl }}/img/wiki/feature/atragmx5.png" width="1400" height="600" alt="Conversion G7/G1 BC" /> <img src="{{ site.baseurl }}/img/wiki/feature/atragmx5.png" width="1400" height="600" alt="Conversion G7/G1 BC" />
### 3.6 Adding ATragMX Presets
- [ATragMX Framework]({{ site.baseurl }}/wiki/framework/atragmx.html)
## 4. Official Manual and Horus Videos ## 4. Official Manual and Horus Videos

View File

@ -35,7 +35,11 @@ Please not that the following key combinations are ACE3 default key binds.
### 2.3 Scopes Module ### 2.3 Scopes Module
<img src="{{ site.baseurl }}/img/wiki/feature/scope_module.jpg" width="799" height="620" alt="Editor's scopes module" /> <img src="{{ site.baseurl }}/img/wiki/feature/scope_module1.jpg" width="800" height="484" alt="CBA Settings scopes module" />
### 2.4 Simplified Zeroing
<img src="{{ site.baseurl }}/img/wiki/feature/simplified_zeroing.jpg" width="800" height="484" alt="Simplified zeroing" />
## 3. Dependencies ## 3. Dependencies

View File

@ -88,8 +88,8 @@ class CfgAmmo {
### 4.2 Custom Seeker Types ### 4.2 Custom Seeker Types
```cpp ```cpp
class ace_missileguidance_attackProfiles { class ace_missileguidance_seekerTypes {
class MyAttackProfile { class MySeekerType {
name = ""; // Name name = ""; // Name
visualName = ""; // Visual name visualName = ""; // Visual name
description = ""; // Description description = ""; // Description
@ -102,8 +102,8 @@ class ace_missileguidance_attackProfiles {
### 4.3 Custom Attack Profiles ### 4.3 Custom Attack Profiles
```cpp ```cpp
class ace_missileguidance_seekerTypes { class ace_missileguidance_attackProfiles {
class MySeekerType { class MyAttackProfile {
name = ""; // Name name = ""; // Name
visualName = ""; // Visual name visualName = ""; // Visual name
description = ""; // Description description = ""; // Description

View File

@ -422,12 +422,14 @@ def cleanup_optionals(mod):
try: try:
file_name = "{}{}.pbo".format(pbo_name_prefix,dir_name) file_name = "{}{}.pbo".format(pbo_name_prefix,dir_name)
folder= "@{}{}".format(pbo_name_prefix,dir_name)
src_file_path = os.path.join(release_dir, project, "addons", file_name) src_file_path = os.path.join(release_dir, project, "addons", file_name)
dst_file_path = os.path.join(release_dir, project, "optionals", file_name) dst_file_path = os.path.join(release_dir, project, "optionals",folder,"addons",file_name)
sigFile_name = "{}.{}.bisign".format(file_name,key_name) sigFile_name = "{}.{}.bisign".format(file_name,key_name)
src_sig_path = os.path.join(release_dir, project, "addons", sigFile_name) src_sig_path = os.path.join(release_dir, project, "addons", sigFile_name)
dst_sig_path = os.path.join(release_dir, project, "optionals", sigFile_name) dst_sig_path = os.path.join(release_dir, project, "optionals",folder,"addons", sigFile_name)
if (os.path.isfile(src_file_path)): if (os.path.isfile(src_file_path)):
#print("Preserving {}".format(file_name)) #print("Preserving {}".format(file_name))

View File

@ -45,20 +45,6 @@ def find_bi_tools():
else: else:
raise Exception("BadTools","Arma 3 Tools are not installed correctly or the P: drive needs to be created.") raise Exception("BadTools","Arma 3 Tools are not installed correctly or the P: drive needs to be created.")
def buildCompatFolder(folderName, copyFileNames):
compatRelease_dir = os.path.join(release_dir, folderName)
if os.path.exists(compatRelease_dir):
shutil.rmtree(compatRelease_dir)
os.makedirs(compatRelease_dir)
os.makedirs(os.path.join(compatRelease_dir, "addons"))
print("Adding files for folder {}".format(folderName))
for copyFileName in copyFileNames:
for file in os.listdir(ace_optionals_dir):
if fnmatch.fnmatch(file, copyFileName):
print(" Copying: {}".format(file))
shutil.copyfile(os.path.join(ace_optionals_dir, file), os.path.join(compatRelease_dir, "addons", file))
return compatRelease_dir
def publishFolder(folder,modID,changeNotes): def publishFolder(folder,modID,changeNotes):
cmd = [publisherTool_path, "update", "/id:{}".format(modID), "/changeNoteFile:{}".format(changeNotes), "/path:{}".format(folder)] cmd = [publisherTool_path, "update", "/id:{}".format(modID), "/changeNoteFile:{}".format(changeNotes), "/path:{}".format(folder)]
@ -105,30 +91,26 @@ def main(argv):
return 0 return 0
#ACE Main - http://steamcommunity.com/sharedfiles/filedetails/?id=463939057 #ACE Main - http://steamcommunity.com/sharedfiles/filedetails/?id=463939057
# Note: command line publisher doesn't like our file structure, just upload this one manually # Note: command line publisher doesn't like our file structure, just upload this one manually
#RHS Compat USA - http://steamcommunity.com/sharedfiles/filedetails/?id=773125288 #RHS Compat USA - http://steamcommunity.com/sharedfiles/filedetails/?id=773125288
folder = buildCompatFolder("@ace_compat_rhs_usf3", ["ace_compat_rhs_usf3.*"])
publishFolder(folder, "773125288", changelog_path) publishFolder(os.path.join(ace_optionals_dir,"@ace_compat_rhs_usf3"), "773125288", changelog_path)
#RHS Compat Russians - http://steamcommunity.com/sharedfiles/filedetails/?id=773131200 #RHS Compat Russians - http://steamcommunity.com/sharedfiles/filedetails/?id=773131200
folder = buildCompatFolder("@ace_compat_rhs_afrf3", ["ace_compat_rhs_afrf3.*"]) publishFolder(os.path.join(ace_optionals_dir,"@ace_compat_rhs_afrf3"), "773131200", changelog_path)
publishFolder(folder, "773131200", changelog_path)
#RHS Compat GREF - http://steamcommunity.com/sharedfiles/filedetails/?id=884966711 #RHS Compat GREF - http://steamcommunity.com/sharedfiles/filedetails/?id=884966711
folder = buildCompatFolder("@ace_compat_rhs_gref3", ["ace_compat_rhs_gref3.*"]) publishFolder(os.path.join(ace_optionals_dir,"@ace_compat_rhs_gref3"), "884966711", changelog_path)
publishFolder(folder, "884966711", changelog_path)
#ADR97 (p90)- http://steamcommunity.com/sharedfiles/filedetails/?id=773136286 #ADR97 (p90)- http://steamcommunity.com/sharedfiles/filedetails/?id=773136286
folder = buildCompatFolder("@ace_adr97_compat", ["ace_compat_adr_97.*"]) publishFolder(os.path.join(ace_optionals_dir,"@ace_compat_adr_97"), "773136286", changelog_path)
publishFolder(folder, "773136286", changelog_path)
if __name__ == "__main__": if __name__ == "__main__":
main(sys.argv) main(sys.argv)