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

This commit is contained in:
esteldunedain 2015-05-01 20:32:51 -03:00
commit b8d8aeae5c
101 changed files with 1467 additions and 430 deletions

View File

@ -88,4 +88,7 @@ Coren <coren4@gmail.com>
OnkelDisMaster <onkeldismaster@gmail.com>
Dimaslg <dimaslg@telecable.e>
VyMajoris(W-Cephei)<vycanismajoriscsa@gmail.com>
Bla1337 <t3hslowpoke@gmail.com>
Bla1337
nikolauska <nikolauska1@gmail.com>
adam3adam <br.ada@seznam.cz>
Professor <lukas.trneny@wo.cz>

View File

@ -22,6 +22,10 @@ source code of the individual modules.
When publishing a derivative of this product you may not use a name that
might create the impression that your version is an official release.
Some folders of this project may contain a seperate LICENSE file. Should
that be the case, everything in that folder and all subfolders is subject
to that license instead.
============================================================================
Full Gnu General Public License Text

View File

@ -24,7 +24,7 @@ GVAR(currentGrid) = 0;
GVAR(INIT_MESSAGE_ENABLED) = false;
GVAR(extensionAvailable) = true;
/* @TODO: Remove this until verisoning is in sync with cmake/build versioning
/* @TODO: Remove this until versioning is in sync with cmake/build versioning
GVAR(extensionVersion) = ("ace_advanced_ballistics" callExtension "version");
GVAR(extensionAvailable) = (GVAR(extensionVersion) == EXTENSION_REQUIRED_VERSION);
if (!GVAR(extensionAvailable)) exitWith {

View File

@ -47,7 +47,7 @@ if (GVAR(onlyActiveForLocalPlayers) && !(local _unit)) then {
_abort = true;
};
};
//if (!GVAR(vehicleGunnerEnabled) && !(_unit isKindOf "Man")) then { _abort = true; }; // TODO: We currently do not have firedEHs on vehicles
//if (!GVAR(vehicleGunnerEnabled) && !(_unit isKindOf "Man")) then { _abort = true; }; // We currently do not have firedEHs on vehicles
if (GVAR(disabledInFullAutoMode) && getNumber(configFile >> "cfgWeapons" >> _weapon >> _mode >> "autoFire") == 1) then { _abort = true; };
if (_abort || !(GVAR(extensionAvailable))) exitWith {

View File

@ -13,6 +13,7 @@
#include "script_component.hpp"
if (!hasInterface) exitWith {};
if (!GVAR(enabled)) exitWith {};
if (!GVAR(extensionAvailable)) exitWith {};
private ["_initStartTime", "_mapSize", "_mapGrids", "_gridCells", "_x", "_y", "_gridCenter", "_gridHeight", "_gridNumObjects", "_gridSurfaceIsWater"];

View File

@ -9,6 +9,8 @@
<French>Afficher les info sur le vent</French>
<Spanish>Mostrar información del viento</Spanish>
<German>Windinformationen anzeigen</German>
<Hungarian>Széladatok mutatása</Hungarian>
<Czech>Zobrazit informace o větru</Czech>
</Key>
<Key ID="STR_ACE_AdvancedBallistics_ProtractorKey">
<English>Show Protractor</English>
@ -18,6 +20,8 @@
<French>Afficher le rapporteur</French>
<Spanish>Mostrar transportador</Spanish>
<German>Winkelmesser anzeigen</German>
<Hungarian>Szögmérő mutatása</Hungarian>
<Czech>Zobrazit úhloměr</Czech>
</Key>
</Package>
</Project>
</Project>

1
addons/apl/$PBOPREFIX$ Normal file
View File

@ -0,0 +1 @@
z\ace\addons\apl

View File

@ -0,0 +1,7 @@
/*
class Extended_PreInit_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preInit));
};
};
*/

110
addons/apl/LICENSE Normal file
View File

@ -0,0 +1,110 @@
ARMA PUBLIC LICENSE
https://www.bistudio.com/community/licenses/arma-public-license
Brief summary of this Licence
PLEASE, NOTE THAT THIS SUMMARY HAS NO LEGAL EFFECT AND IS ONLY OF AN INFORMATORY NATURE DESIGNED FOR YOU TO GET THE BASIC INFORMATION ABOUT THE CONTENT OF THIS LICENCE. THE ONLY LEGALLY BINDING PROVISIONS ARE THOSE IN THE ORIGINAL AND FULL TEXT OF THIS LICENCE.
With this licence you are free to adapt (i.e. modify, rework or update) and share (i.e. copy, distribute or transmit) the material under the following conditions:
Attribution - You must attribute the material in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the material).
Noncommercial - You may not use this material for any commercial purposes.
Arma Only - You may not convert or adapt this material to be used in other games than Arma.
By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Arma Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions.
Section 1 - Definitions
Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image.
Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License.
ArmaOnly means primarily intended for or directed towards the use in any of existing and future Arma games, including but not limited to Arma: Cold War Assault, Arma, Arma 2 and Arma 3 and its official sequels and expansion packs.
Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights.
Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements.
Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material.
Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License.
Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license.
Licensor means the individual(s) or entity(ies) granting rights under this Public License.
NonCommercial means not primarily intended for or directed towards commercial advantage or monetary compensation. For purposes of this Public License, the exchange of the Licensed Material for other material subject to Copyright and Similar Rights by digital file-sharing or similar means is NonCommercial provided there is no payment of monetary compensation in connection with the exchange.
Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them.
Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world.
You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning.
Section 2 Scope
License grant
Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to:
reproduce and Share the Licensed Material, in whole or in part, for NonCommercial and ArmaOnly purposes only; and
produce, reproduce, and Share Adapted Material for NonCommercial and ArmaOnly purposes only.
Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions.
Term. The term of this Public License is specified in Section 6(a).
Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material.
Downstream recipients.
Offer from the Licensor Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License.
No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material.
No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(a)(i).
Other rights
Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise.
Patent and trademark rights are not licensed under this Public License.
To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties, including when the Licensed Material is used other than for NonCommercial and ArmaOnly purposes.
Section 3 License Conditions
Your exercise of the Licensed Rights is expressly made subject to the following conditions.
Attribution
If You Share the Licensed Material (including in modified form), You must:
retain the following if it is supplied by the Licensor with the Licensed Material:
identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated);
a copyright notice;
a notice that refers to this Public License;
a notice that refers to the disclaimer of warranties;
a URI or hyperlink to the Licensed Material to the extent reasonably practicable;
indicate if You modified the Licensed Material and retain an indication of any previous modifications; and
indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License.
You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information.
If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(a) to the extent reasonably practicable.
If You Share Adapted Material You produce, the Adapters License You apply must not prevent recipients of the Adapted Material from complying with this Public License.
Section 4 Sui Generis Database Rights
Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material:
for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database for NonCommercial and ArmaOnly purposes only;
if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and
You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database.
Section 5 Disclaimer of Warranties and Limitation of Liability
Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.
To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.
The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability.
Section 6 Term and Termination
This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically.
Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates:
automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or
upon express reinstatement by the Licensor.
For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License.
For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License.
Sections 1, 5, 6, 7, and 8 survive termination of this Public License.
Section 7 Other Terms and Conditions
The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed.
Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License.
Section 8 Interpretation
For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License.
To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions.
No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor.
Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority.
Bohemia Interactive Notices
Bohemia Interactive a.s. is not a party to this License, and makes no warranty whatsoever in connection with the Licensed Material. Bohemia Interactive a.s. will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, Bohemia Interactive a.s. may elect to apply the Public License to material it publishes and in those instances it becomes the "Licensor".
Except for the limited purpose of indicating to the public that the Licensed Material is shared under this Public License, Bohemia Interactive a.s. does not authorize the use by either party of the trademarks "Arma", "Bohemia Interactive" or any related trademark or logo of Arma or Bohemia Interactive without the prior written consent of Bohemia Interactive a.s.

View File

@ -0,0 +1,5 @@
#include "script_component.hpp"
ADDON = false;
ADDON = true;

BIN
addons/apl/bodybag.p3d Normal file

Binary file not shown.

15
addons/apl/config.cpp Normal file
View File

@ -0,0 +1,15 @@
#include "script_component.hpp"
class CfgPatches {
class ADDON {
units[] = {};
weapons[] = {};
requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"ace_main"};
author[] = {"Bohemia Interactive"};
authorUrl = "http://ace3mod.com";
VERSION_CONFIG;
};
};
#include "CfgEventHandlers.hpp"

View File

@ -8,7 +8,7 @@ PixelShaderID="Super";
VertexShaderID="Super";
class Stage1
{
texture="z\ace\addons\medical\data\bodybag_nohq.paa";
texture="z\ace\addons\apl\data\bodybag_nohq.paa";
uvSource="tex";
class uvTransform
{
@ -80,7 +80,7 @@ class Stage6
};
class Stage7
{
texture="z\ace\addons\medical\data\env_co.paa";
texture="z\ace\addons\apl\data\env_co.paa";
uvSource="tex";
class uvTransform
{

View File

@ -0,0 +1 @@
#include "\z\ace\addons\apl\script_component.hpp"

View File

@ -0,0 +1,12 @@
#define COMPONENT APL
#include "\z\ace\addons\main\script_mod.hpp"
#ifdef DEBUG_ENABLED_APL
#define DEBUG_MODE_FULL
#endif
#ifdef DEBUG_SETTINGS_APL
#define DEBUG_SETTINGS DEBUG_SETTINGS_APL
#endif
#include "\z\ace\addons\main\script_macros.hpp"

View File

@ -21,6 +21,8 @@
<French>Ouvrir ATragMX</French>
<German>ATragMX öffnen</German>
<Italian>Apri ATragMX</Italian>
<Hungarian>ATragMX elővétele</Hungarian>
<Czech>Otevřít ATragMX</Czech>
</Key>
<Key ID="STR_ACE_ATragMX_Description">
<English>Rugged PDA with ATragMX</English>
@ -28,8 +30,10 @@
<Russian>Защищенный КПК с ATragMX</Russian>
<Spanish>PDA rugerizada con ATragMX</Spanish>
<German>Robuster PDA mit ATragMX</German>
<French>PDA robuste avec ATragMX</French>
<French>PDA avec ATragMX</French>
<Italian>PDA Robusto con ATragMX</Italian>
<Hungarian>Megerősített PDA, ATragMX-el</Hungarian>
<Czech>PDA s ATragMX</Czech>
</Key>
<Key ID="STR_ACE_ATragMX_ATragMXDialogKey">
<English>Open ATragMX</English>
@ -39,6 +43,8 @@
<French>Ouvrir ATragMX</French>
<German>ATragMX öffnen</German>
<Italian>Apri ATragMX</Italian>
<Hungarian>ATragMX elővétele</Hungarian>
<Czech>Otevřít ATragMX</Czech>
</Key>
</Package>
</Project>

View File

@ -9,7 +9,7 @@
<Spanish>Cargador de 30 balas trazadoras IR-DIM de 6,5mm</Spanish>
<French>Ch. 6,5mm 30Cps Traçantes IR-DIM</French>
<Polish>Magazynek 6,5mm 30rd Smugacz IR-DIM</Polish>
<Czech>6.5mm 30ks Svítící IR-DIM Zásobník</Czech>
<Czech>6.5mm 30náb. Svítící IR-DIM Zásobník</Czech>
<Portuguese>Carregador de 30 projéteis traçantes IR-DIM de 6,5mm</Portuguese>
<Italian>Caricatore 6.5mm 30Rnd Traccianti IR-DIM</Italian>
<Russian>Магазин из 30-ти 6,5 мм ИК-трассирующих</Russian>
@ -45,7 +45,7 @@
<Spanish>Cargador de 30 balas SD de 6,5mm</Spanish>
<French>Ch. 6,5mm 30Cps SD</French>
<Polish>Magazynek 6,5mm 30rd SD</Polish>
<Czech>6.5mm 30ks SD Zásobník</Czech>
<Czech>6.5mm 30náb. SD Zásobník</Czech>
<Portuguese>Carregador de 30 projéteis SD de 6,5mm</Portuguese>
<Italian>Caricatore 6.5mm 30Rnd Sil.</Italian>
<Russian>Магазин из 30-ти 6,5 мм дозвуковых</Russian>
@ -81,7 +81,7 @@
<Spanish>Cargador de 30 balas AP de 6,5mm</Spanish>
<French>Ch. 6,5mm 30Cps AP</French>
<Polish>Magazynek 6,5mm 30rd AP</Polish>
<Czech>6.5mm 30ks AP Zásobník</Czech>
<Czech>6.5mm 30náb. AP Zásobník</Czech>
<Portuguese>Carregador de 30 projéteis AP de 6,5mm</Portuguese>
<Italian>Caricatore 6.5mm 30Rnd AP</Italian>
<Russian>Магазин из 30-ти 6,5 мм бронебойных</Russian>
@ -118,7 +118,7 @@
<Spanish>Cargador de 30 balas trazadoras IR-DIM de 6,5mm</Spanish>
<French>Ch. 6,5mm 30Cps Traçantes IR-DIM</French>
<Polish>Magazynek 6,5mm 30rd Smugacz IR-DIM</Polish>
<Czech>6.5mm 30ks Svítící IR-DIM Zásobník</Czech>
<Czech>6.5mm 30náb. Svítící IR-DIM Zásobník</Czech>
<Portuguese>Carregador de 30 projéteis traçantes IR-DIM de 6,5mm</Portuguese>
<Italian>Caricatore 6.5mm 30Rnd Traccianti IR-DIM</Italian>
<Russian>Магазин из 30-ти 6,5 мм ИК-трассирующих</Russian>
@ -154,7 +154,7 @@
<Spanish>Cargador de 30 balas SD de 6,5mm</Spanish>
<French>Ch. 6,5mm 30Cps SD</French>
<Polish>Magazynek 6,5mm 30rd SD</Polish>
<Czech>6.5mm 30ks SD Zásobník</Czech>
<Czech>6.5mm 30náb. SD Zásobník</Czech>
<Portuguese>Carregador de 30 projéteis SD de 6,5mm</Portuguese>
<Italian>Caricatore 6.5mm 30Rnd Sil.</Italian>
<Russian>Магазин из 30-ти 6,5 мм дозвуковых</Russian>
@ -190,7 +190,7 @@
<Spanish>Cargador de 30 balas AP de 6,5mm</Spanish>
<French>Ch. 6,5mm 30Cps AP</French>
<Polish>Magazynek 6,5mm 30rd AP</Polish>
<Czech>6.5mm 30ks AP Zásobník</Czech>
<Czech>6.5mm 30náb. AP Zásobník</Czech>
<Portuguese>Carregador de 30 projéteis AP de 6,5mm</Portuguese>
<Italian>Caricatore 6.5mm 30Rnd AP</Italian>
<Russian>Магазин из 30-ти 6,5 мм бронебойных</Russian>
@ -227,7 +227,7 @@
<Spanish>Cargador de 30 balas trazadoras IR-DIM de 5,56mm</Spanish>
<French>Ch. 5,56mm 30Cps Traçantes IR-DIM</French>
<Polish>Magazynek 5,56mm 30rd Smugacz IR-DIM</Polish>
<Czech>5.56mm 30ks Svítící IR-DIM Zásobník</Czech>
<Czech>5.56mm 30náb. Svítící IR-DIM Zásobník</Czech>
<Portuguese>Carregador de 30 projéteis traçantes IR-DIM de 5,56mm</Portuguese>
<Italian>Caricatore 5.56mm 30rnd Traccianti IR-DIM</Italian>
<Russian>Магазин из 30-ти 5,56 мм ИК-трассирующих</Russian>
@ -264,7 +264,7 @@
<Spanish>Cargador de 20 balas trazadores de 7,62mm</Spanish>
<French>Ch. 7,62mm 20Cps Traçantes </French>
<Polish>Magazynek 7,62mm 20rd Smugacz</Polish>
<Czech>7.62mm 20ks Svítící Zásobník</Czech>
<Czech>7.62mm 20náb. Svítící Zásobník</Czech>
<Portuguese>Carregador de 20 projéteis traçantes de 7,62mm</Portuguese>
<Italian>Caricatore 7.62mm 20Rnd Traccianti</Italian>
<Russian>Магазин из 20-ти 7,62 мм трассирующих</Russian>
@ -273,7 +273,7 @@
<English>7.62mm Tracer</English>
<Hungarian>7,62mm Nyomjelző</Hungarian>
<German>7,62mm Leuchtspur</German>
<Spanish>7,62mm trazadora</Spanish>
<Spanish>7,62mm Trazadora</Spanish>
<French>7,62mm Traçantes</French>
<Polish>7,62mm Smugacz</Polish>
<Czech>7.62mm Svítící</Czech>
@ -300,7 +300,7 @@
<Spanish>Cargador de 20 balas trazadoras IR-DIM de 7,62mm</Spanish>
<French>Ch. 7,62mm 20Cps Traçantes IR-DIM</French>
<Polish>Magazynek 7,62mm 20rd Smugacz IR-DIM</Polish>
<Czech>7.62mm 20ks Svítící IR-DIM Zásobník</Czech>
<Czech>7.62mm 20náb. Svítící IR-DIM Zásobník</Czech>
<Portuguese>Carregador de 20 projéteis IR-DIM de 7,62mm</Portuguese>
<Italian>Caricatore 7.62mm 20rnd Traccianti IR-DIM</Italian>
<Russian>Магазин из 20-ти 7,62 мм ИК-трассирующих</Russian>
@ -336,7 +336,7 @@
<Spanish>Cargador de 20 balas SD de 7,62mm</Spanish>
<French>Ch. 7,62mm 20Cps SD</French>
<Polish>Magazynek 7,62mm 20rd SD</Polish>
<Czech>7.62mm 20ks SD Zásobník</Czech>
<Czech>7.62mm 20náb. SD Zásobník</Czech>
<Portuguese>Carregador de 20 projéteis SD de 7,62mm</Portuguese>
<Italian>Caricatore 7.62mm 20Rnd Sil.</Italian>
<Russian>Магазин из 20-ти 7,62 мм дозвуковых</Russian>
@ -374,6 +374,7 @@
<Spanish>Cinta de 130 balas trazadoras de .338 NM</Spanish>
<Russian>Лента из 130-ти .338 NM трассирующих</Russian>
<Italian>.338 NM 130Rnd Tracciante Belt</Italian>
<Czech>.338 NM 130náb. Svítící Pás </Czech>
</Key>
<Key ID="STR_ACE_130Rnd_338_Mag_TracerNameShort">
<English>.338 NM Tracer</English>
@ -381,7 +382,7 @@
<Polish>.338 NM Tracer</Polish>
<Czech>.338 NM Svítící</Czech>
<French>.338 NM Traçante</French>
<Spanish>.338 NM trazadora</Spanish>
<Spanish>.338 NM Trazadora</Spanish>
<Russian>.338 NM трассирующие</Russian>
<Italian>.338 NM 130Rnd Tracciante</Italian>
</Key>
@ -393,6 +394,7 @@
<Spanish>Calibre: .338 Norma Magnum trazadora&lt;br /&gt;Balas: 130&lt;br /&gt;Se usa en: SPMG</Spanish>
<Russian>Калибр: .338 Norma Magnum трассирующие&lt;br /&gt;Патронов: 130&lt;br /&gt;Используются в: SPMG</Russian>
<Italian>Calibro: .338 Norma Magnum Tracciante&lt;br /&gt;Munizioni: 130&lt;br /&gt;In uso su: SPMG</Italian>
<Czech>Ráže: .338 Noma Magnum Svítící&lt;br /&gt;Munice: 130&lt;br /&gt;Použití: SPMG</Czech>
</Key>
<Key ID="STR_ACE_130Rnd_338_Mag_Tracer_DimName">
<English>.338 NM 130Rnd IR-DIM Belt</English>
@ -402,6 +404,7 @@
<Spanish>Cinta de 130 balas IR-DIM de .338 NM</Spanish>
<Russian>Лента из 130-ти .338 NM ИК-трассирующих</Russian>
<Italian>.338 NM 130Rnd IR-DIM Belt</Italian>
<Czech>.338 NM 130náb. IR-DIM Pás</Czech>
</Key>
<Key ID="STR_ACE_130Rnd_338_Mag_Tracer_DimNameShort">
<English>.338 NM IR-DIM</English>
@ -421,6 +424,7 @@
<Spanish>Calibre: .338 Norma Magnum trazadora IR-DIM&lt;br /&gt;Balas: 130&lt;br /&gt;Se usa en: SPMG</Spanish>
<Russian>Калибр: .338 Norma Magnum ИК-трассирующие&lt;br /&gt;Патронов: 130&lt;br /&gt;Используются с: SPMG</Russian>
<Italian>Calibro: .338 Norma Magnum Tracciante IR-DIM&lt;br /&gt;Munizioni: 130&lt;br /&gt;In uso su: SPMG</Italian>
<Czech>Ráže: .338 Noma Magnum Svítící IR-DIM&lt;br /&gt;Munice: 130&lt;br /&gt;Použití: SPMG</Czech>
</Key>
<Key ID="STR_ACE_130Rnd_338_Mag_APName">
<English>.338 NM 130Rnd AP Belt</English>
@ -430,6 +434,7 @@
<Spanish>Cinta de 130 balas AP de .338 NM</Spanish>
<Russian>Лента из 130-ти .338 NM бронебойных</Russian>
<Italian>.338 NM 130Rnd AP Belt</Italian>
<Czech>.338 NM 130náb. AP Pás</Czech>
</Key>
<Key ID="STR_ACE_130Rnd_338_Mag_APNameShort">
<English>.338 NM AP</English>
@ -449,16 +454,18 @@
<Spanish>Calibre: .338 Norma Magnum AP&lt;br /&gt;Balas: 130&lt;br /&gt;Se usa en: SPMG</Spanish>
<Russian>Калибр: .338 Norma Magnum бронебойные&lt;br /&gt;Патронов: 130&lt;br /&gt;Используются с: SPMG</Russian>
<Italian>Calibro: .338 Norma Magnum AP&lt;br /&gt;Munizioni: 130&lt;br /&gt;In uso su: SPMG</Italian>
<Czech>Ráže: .338 Noma Magnum AP&lt;br /&gt;Munice: 130&lt;br /&gt;Použití: SPMG</Czech>
</Key>
<!-- 9.3x64mm 10Rnd -->
<Key ID="STR_ACE_10Rnd_93x64_DMR_05_Mag_TracerName">
<English>9.3mm 10Rnd Tracer Mag</English>
<German>9,3mm 10-Patronen-Magazin Leuchtspur</German>
<Polish>Magazynek 9.3mm 10rd Smugacz</Polish>
<French>Chargeur 9.3mm 10Cps Traçante</French>
<French>Ch. 9.3mm 10Cps Traçante</French>
<Spanish>Cargador de 10 balas trazadoras de 9.3mm</Spanish>
<Russian>Магазин из 10-ти 9,3 мм трассирующих</Russian>
<Italian>9.3mm 10Rnd Tracer Mag</Italian>
<Czech>9.3mm 10Rnd Svítící Zásobník</Czech>
</Key>
<Key ID="STR_ACE_10Rnd_93x64_DMR_05_Mag_TracerNameShort">
<English>9.3mm Tracer</English>
@ -466,7 +473,7 @@
<Polish>9,3mm Smugacz</Polish>
<Czech>9.3mm Svítící</Czech>
<French>9.3mm Traçante</French>
<Spanish>9.3mm trazadora</Spanish>
<Spanish>9.3mm Trazadora</Spanish>
<Russian>9,3 мм трассирующие</Russian>
<Italian>9.3mm Tracer</Italian>
</Key>
@ -478,15 +485,17 @@
<Spanish>Calibre: 9.3x64mm trazadora&lt;br /&gt;Balas: 10&lt;br /&gt;Se usa en: Cyrus</Spanish>
<Russian>Калибр: 9,3x64 мм трассирующие&lt;br /&gt;Патронов: 10&lt;br /&gt;Используются с: Cyrus</Russian>
<Italian>Calibro: 9.3x64mm Tracer&lt;br /&gt;Munizioni: 10&lt;br /&gt;In uso su: Cyrus</Italian>
<Czech>Ráže: 9.3x64mm Svítící&lt;br /&gt;Munice: 10&lt;br /&gt;Použití: Cyrus</Czech>
</Key>
<Key ID="STR_ACE_10Rnd_93x64_DMR_05_Mag_Tracer_DimName">
<English>9.3mm 10Rnd Tracer IR-DIM Mag</English>
<German>9,3mm 10-Patronen-Magazin Leuchtspur IR-DIM</German>
<Polish>Magazynek 9,3mm 10rd Smugacz IR-DIM</Polish>
<French>Chargeur 9.3mm 10Cps Traçante IR-DIM</French>
<French>Ch. 9.3mm 10Cps Traçante IR-DIM</French>
<Spanish>Cargador de 10 balas trazadoras IR-DIM de 9.3mm</Spanish>
<Russian>Магазин из 10-ти 9,3 мм ИК-трассирующих</Russian>
<Italian>9.3mm 10Rnd Tracciante IR-DIM Mag</Italian>
<Czech>9.3mm 10náb. Svítící IR-DIM Zásobník</Czech>
</Key>
<Key ID="STR_ACE_10Rnd_93x64_DMR_05_Mag_Tracer_DimNameShort">
<English>9.3mm IR-DIM</English>
@ -506,6 +515,7 @@
<Spanish>Calibre: 9.3x64mm trazadora IR-DIM&lt;br /&gt;Balas: 10&lt;br /&gt;Se usa en: Cyrus</Spanish>
<Russian>Калибр: 9,3x64 мм ИК-трассирующие&lt;br /&gt;Патронов: 10&lt;br /&gt;Используются с: Cyrus</Russian>
<Italian>Calibro: 9.3x64mm Tracciante IR-DIM&lt;br /&gt;Munizioni: 10&lt;br /&gt;In uso su: Cyrus</Italian>
<Czech>Ráže: 9.3x64mm Svítící IR-DIM&lt;br /&gt;Munice: 10&lt;br /&gt;Použití: Cyrus</Czech>
</Key>
<!-- 9.3x64mm 150Rnd Belt-->
<Key ID="STR_ACE_150Rnd_93x64_Mag_TracerName">
@ -516,6 +526,7 @@
<Spanish>Cinta de 150 balas trazadoras de 9.3mm</Spanish>
<Russian>Лента из 150-ти 9,3 мм трассирующих</Russian>
<Italian>9.3mm 150Rnd Tracer Belt</Italian>
<Czech>9.3mm 150náb. Svítící Pás</Czech>
</Key>
<Key ID="STR_ACE_150Rnd_93x64_Mag_TracerNameShort">
<English>9.3mm Tracer</English>
@ -523,7 +534,7 @@
<Polish>9,3mm Smugacz</Polish>
<Czech>9.3mm Svítící</Czech>
<French>9.3mm Traçante</French>
<Spanish>9.3mm trazadora</Spanish>
<Spanish>9.3mm Trazadora</Spanish>
<Russian>9,3 мм трассирующие</Russian>
<Italian>9.3mm Tracciante</Italian>
</Key>
@ -535,6 +546,7 @@
<Spanish>Calibre: 9.3x64mm trazadora&lt;br /&gt;Balas: 150&lt;br /&gt;Se usa en: Navid</Spanish>
<Russian>Калибр: 9,3x64 мм трассирующие&lt;br /&gt;Патронов: 150&lt;br /&gt;Используются с: Навид</Russian>
<Italian>Calibro: 9.3x64mm Tracciante&lt;br /&gt;Munizioni: 150&lt;br /&gt;In uso su: Navid</Italian>
<Czech>Ráže: 9.3x64mm Svítící&lt;br /&gt;Munice: 150&lt;br /&gt;Použití: Navid</Czech>
</Key>
<Key ID="STR_ACE_150Rnd_93x64_Mag_Tracer_DimName">
<English>9.3mm 150Rnd Tracer IR-DIM Belt</English>
@ -544,6 +556,7 @@
<Spanish>Cinta de 150 balas trazadoras IR-DIM de 9.3mm</Spanish>
<Russian>Лента из 150-ти 9,3 мм ИК-трассирующих</Russian>
<Italian>9.3mm 150Rnd Tracciante IR-DIM Belt</Italian>
<Czech>9.3mm 150náb. Svítící IR-DIM Pás</Czech>
</Key>
<Key ID="STR_ACE_150Rnd_93x64_Mag_Tracer_DimNameShort">
<English>9.3mm IR-DIM</English>
@ -563,6 +576,7 @@
<Spanish>Calibre: 9.3x64mm trazadora IR-DIM&lt;br /&gt;Balas: 150&lt;br /&gt;Se usa en: Navid</Spanish>
<Russian>Калибр: 9,3x64 мм ИК-трассирующие&lt;br /&gt;Патронов: 150&lt;br /&gt;Используются с: Навид</Russian>
<Italian>Calibro: 9.3x64mm Tracciante IR-DIM&lt;br /&gt;Munizioni: 150&lt;br /&gt;In uso su: Navid</Italian>
<Czech>Ráže: 9.3x64mm Svítící IR-DIM&lt;br /&gt;Munice: 150&lt;br /&gt;Použití: Navid</Czech>
</Key>
<Key ID="STR_ACE_150Rnd_93x64_Mag_APName">
<English>9.3mm 150Rnd AP Belt</English>
@ -572,6 +586,7 @@
<Spanish>Cinta de 150 balas AP de 9.3mm</Spanish>
<Russian>Лента из 150-ти 9,3 мм бронебойных</Russian>
<Italian>9.3mm 150Rnd AP Belt</Italian>
<Czech>9.3mm 150náb. AP Pás</Czech>
</Key>
<Key ID="STR_ACE_150Rnd_93x64_Mag_APNameShort">
<English>9.3mm AP</English>
@ -591,15 +606,17 @@
<Spanish>Calibre: 9.3x64mm AP&lt;br /&gt;Balas: 150&lt;br /&gt;Se usa en: Navid</Spanish>
<Russian>Калибр: 9,3x64 мм бронебойные&lt;br /&gt;Патронов: 150&lt;br /&gt;Используются с: Навид</Russian>
<Italian>Calibro: 9.3x64mm AP&lt;br /&gt;Munizioni: 150&lt;br /&gt;In uso su: Navid</Italian>
<Czech>Ráže: 9.3x64mm AP&lt;br /&gt;Munice: 150&lt;br /&gt;Použití: Navid</Czech>
</Key>
<Key ID="STR_ACE_16Rnd_9x19_mag_Name">
<English>9x19mm 16Rnd Mag</English>
<Polish>Magazynek 9x19mm 16rd</Polish>
<French>Chargeur 9x19mm 16Cps</French>
<French>Ch. 9x19mm 16Cps</French>
<Spanish>Cargador de 16 balas de 9x19mm</Spanish>
<Russian>Магазин из 16-ти 9х19 мм</Russian>
<German>9x19mm 20-Patronen-Magazin</German>
<Italian>9x19mm 16Rnd Mag</Italian>
<Czech>9x19mm 16náb. Zásobník</Czech>
</Key>
<Key ID="STR_ACE_16Rnd_9x19_mag_NameShort">
<English>9x19mm</English>
@ -609,24 +626,27 @@
<Russian>9х19 мм</Russian>
<German>9x19mm</German>
<Italian>9x19mm</Italian>
<Czech>9x19mm</Czech>
</Key>
<Key ID="STR_ACE_16Rnd_9x19_mag_Description">
<English>9x19mm 30Rnd Mag</English>
<Polish>Magazynek 9x19mm 16rd</Polish>
<French>Chargeur 9x19mm 30Cps</French>
<French>Ch. 9x19mm 30Cps</French>
<Spanish>Cargador de 16 balas de 9x19mm</Spanish>
<Russian>Магазин из 16-ти 9х19 мм</Russian>
<German>9x19mm 30-Patronen-Magazin</German>
<Italian>9x19mm 30Rnd Mag</Italian>
<Czech>9x19mm 30náb. Zásobník</Czech>
</Key>
<Key ID="STR_ACE_30Rnd_9x19_mag_Name">
<English>9x19mm 30Rnd Mag</English>
<Polish>Magazynek 9x19mm 30rd</Polish>
<French>Chargeur 9x19mm 30Cps</French>
<French>Ch. 9x19mm 30Cps</French>
<Spanish>Cargador de 30 balas de 9x19mm</Spanish>
<Russian>Магазин из 30-ти 9х19 мм</Russian>
<German>9x19mm 30-Patronen-Magazin</German>
<Italian>9x19mm 30Rnd Mag</Italian>
<Czech>9x19mm 30náb. Zásobník</Czech>
</Key>
<Key ID="STR_ACE_30Rnd_9x19_mag_NameShort">
<English>9x19mm</English>
@ -636,24 +656,27 @@
<Russian>9х19 мм</Russian>
<German>9x19mm</German>
<Italian>9x19mm</Italian>
<Czech>9x19mm</Czech>
</Key>
<Key ID="STR_ACE_30Rnd_9x19_mag_Description">
<English>9x19mm 30Rnd Mag</English>
<Polish>Magazynek 9x19mm 30rd</Polish>
<French>Chargeur 9x19mm 30Cps</French>
<French>Ch. 9x19mm 30Cps</French>
<Spanish>Cargador de 30 balas de 9x19mm</Spanish>
<Russian>Магазин из 30-ти 9х19 мм</Russian>
<German>9x19mm 30-Patronen-Magazin</German>
<Italian>9x19mm 30Rnd Mag</Italian>
<Czech>9x19mm 30náb. Zásobník</Czech>
</Key>
<Key ID="STR_ACE_10Rnd_762x54_Tracer_mag_Name">
<English>7.62x54mm 10Rnd Tracer Mag</English>
<Polish>Magazynek 7,62x54mm 10rd Smugacz</Polish>
<French>Chargeur 7.62x54mm 10Rnd Traçante</French>
<French>Ch. 7.62x54mm 10Rnd Traçante</French>
<Spanish>Cargador de 10 balas trazadoras de 7.62x54mm</Spanish>
<Russian>Магазин из 10-ти 7,62 мм ИК-трассирующих</Russian>
<German>7,62x54mm 10-Patronen-Magazin Leuchtspur</German>
<Italian>7.62x54mm 10Munizioni Traccianti IR-DIM Mag</Italian>
<Czech>7.62x54mm 10náb. Svítící Zásobník</Czech>
</Key>
<Key ID="STR_ACE_10Rnd_762x54_Tracer_mag_NameShort">
<English>7.62mm</English>
@ -663,24 +686,27 @@
<Russian>7,62 мм</Russian>
<German>7,62x54mm </German>
<Italian>7.62mm IR-DIM</Italian>
<Czech>7.62mm</Czech>
</Key>
<Key ID="STR_ACE_10Rnd_762x54_Tracer_mag_Description">
<English>7.62x54mm 10Rnd Tracer Mag</English>
<Polish>Magazynek 7,62x54mm 10rd Smugacz</Polish>
<French>Chargeur 7.62x54mm 10Cps Traçante</French>
<French>Ch. 7.62x54mm 10Cps Traçante</French>
<Spanish>Cargador de 10 balas trazadoras de 7.62x54mm</Spanish>
<Russian>Магазин из 10-ти 7,62 мм ИК-трассирующих</Russian>
<German>7,62x54mm 10-Patronen-Magazin Leuchtspur</German>
<Italian>7.62x54mm 10Munizioni Traccianti IR-DIM Mag</Italian>
<Czech>7.62x54mm 10náb. Svítící Zásobník</Czech>
</Key>
<Key ID="STR_ACE_100Rnd_65x39_caseless_mag_Tracer_DimName">
<English>6.5mm 100Rnd Tracer IR-DIM Mag</English>
<Polish>Magazynek 6,5mm 100rd Smugacz IR-DIM</Polish>
<French>Chargeur 6.5mm 100Rnd Traçante IR-DIM</French>
<French>Ch. 6.5mm 100Rnd Traçante IR-DIM</French>
<Spanish>Cargador de 100 balas trazadoras IR-DIM de 6.5mm</Spanish>
<Russian>Магазин из 100 6,5 мм ИК-трассирующих</Russian>
<German>6,5mm 100-Patronen-Magazin IR-DIM Leuchtspur</German>
<Italian>6.5mm 100Munizioni Traccianti IR-DIM Mag</Italian>
<Czech>6.5mm 100náb. Svítící IR-DIM Zásobník</Czech>
</Key>
<Key ID="STR_ACE_100Rnd_65x39_caseless_mag_Tracer_DimNameShort">
<English>6.5mm IR-DIM</English>
@ -690,15 +716,17 @@
<Russian>6,5 мм ИК-трассирующие</Russian>
<German>6,5mm IR-DIM </German>
<Italian>6.5mm IR-DIM</Italian>
<Czech>6.5mm IR-DIM</Czech>
</Key>
<Key ID="STR_ACE_100Rnd_65x39_caseless_mag_Tracer_DimDescription">
<English>6.5mm 100Rnd Tracer IR-DIM Mag&lt;br /&gt;Rounds: 100&lt;br /&gt;Used in: MX LSW</English>
<Polish>Magazynek 6,5mm 100rd Smugacz IR-DIM</Polish>
<French>Chargeur 6.5mm 100Rnd Traçante IR-DIM&lt;br /&gt;Cartouches: 100&lt;br /&gt;Utilisé avec: MX LSW</French>
<French>Ch. 6.5mm 100Rnd Traçante IR-DIM&lt;br /&gt;Cartouches: 100&lt;br /&gt;Utilisé avec: MX LSW</French>
<Spanish>Cargador de 100 balas trazadoras IR-DIM de 6.5mm</Spanish>
<Russian>Магазин из 100 6,5 мм ИК-трассирующих</Russian>
<German>6,5mm 100-Patronen-Magazin IR-DIM Leuchtspur&lt;br /&gt;Patronen: 100&lt;br /&gt;Eingesetzt von: MXLSW</German>
<Italian>6.5mm 100Rnd Tracer IR-DIM Mag&lt;br /&gt;Munizioni: 100&lt;br /&gt;In uso su: MX LSW</Italian>
<Czech>6.5mm 100náb. Svítící IR-DIM Zásobník&lt;br /&gt;Munice: 100&lt;br /&gt;Použití: MX LSW</Czech>
</Key>
<Key ID="STR_ACE_200Rnd_65x39_cased_Box_Tracer_DimName">
<English>6.5mm 200Rnd Tracer IR-DIM Belt</English>
@ -708,6 +736,7 @@
<Russian>Магазин из 200-т 6,5 мм ИК-трассирующих</Russian>
<German>6,5mm 200-Patronen-Gurt IR-DIM Leuchtspur</German>
<Italian>6.5mm 200Rnd Tracer IR-DIM Belt</Italian>
<Czech>6.5mm 200náb. Svítící IR-DIM Pás</Czech>
</Key>
<Key ID="STR_ACE_200Rnd_65x39_cased_Box_Tracer_DimNameShort">
<English>6.5mm IR-DIM</English>
@ -717,6 +746,7 @@
<Russian>6,5 мм ИК-трассирующие</Russian>
<German>6,5mm IR-DIM</German>
<Italian>6.5mm IR-DIM</Italian>
<Czech>6.5mm IR-DIM</Czech>
</Key>
<Key ID="STR_ACE_200Rnd_65x39_cased_Box_Tracer_DimDescription">
<English>6.5mm 200Rnd Tracer IR-DIM Belt&lt;br /&gt;Rounds: 200&lt;br /&gt;Used in: Stoner 99 LMG</English>
@ -726,6 +756,7 @@
<Russian>Магазин из 200-т 6,5 мм ИК-трассирующих</Russian>
<German>6,5mm 200-Patronen-Gurt IR-DIM Leuchtspur&lt;br /&gt;Patronen: 200&lt;br /&gt;Eingesetzt von: Stoner 99 LMG</German>
<Italian>6.5mm 200Rnd Tracer IR-DIM Belt&lt;br /&gt;Munizioni: 200&lt;br /&gt;In uso su: Stoner 99 LMG</Italian>
<Czech>6.5mm 200náb. Svítící IR-DIM Pás&lt;br /&gt;Munice: 200&lt;br /&gt;Použití: Stoner 99 LMG</Czech>
</Key>
<Key ID="STR_ACE_30Rnd_556x45_Stanag_Mk262_mag_Name">
<English>5.56mm 30Rnd Mag (Mk262)</English>
@ -735,6 +766,7 @@
<Russian>Магазин из 30-ти 5.56 мм Mk262</Russian>
<German>5,56mm 30-Patronen-Magazin (Mk262)</German>
<Italian>5.56mm 30Rnd Mag (Mk262)</Italian>
<Czech>5.56mm 30náb. Zásobník (Mk262)</Czech>
</Key>
<Key ID="STR_ACE_30Rnd_556x45_Stanag_Mk262_mag_NameShort">
<English>5.56mm Mk262</English>
@ -744,6 +776,7 @@
<Russian>5,56 мм Mk262</Russian>
<German>5,56mm Mk262</German>
<Italian>5.56mm Mk262</Italian>
<Czech>5.56mm Mk262</Czech>
</Key>
<Key ID="STR_ACE_30Rnd_556x45_Stanag_Mk262_mag_Description">
<English>Caliber: 5.56x45mm NATO (Mk262)&lt;br /&gt;Rounds: 30</English>
@ -753,15 +786,17 @@
<Russian>Калибр: 5,56x45 мм NATO (Mk262)&lt;br /&gt;Патронов: 30</Russian>
<German>Kaliber: 5,56x45mm NATO (Mk262)&lt;br /&gt;Patronen: 30</German>
<Italian>Calibro: 5.56x45 mm NATO (Mk262)&lt;br /&gt;Munizioni: 30</Italian>
<Czech>Ráže: 5.56x45mm NATO (Mk262)&lt;br /&gt;Munice: 30</Czech>
</Key>
<Key ID="STR_ACE_30Rnd_556x45_Stanag_Mk318_mag_Name">
<English>5.56mm 30Rnd Mag (Mk318)</English>
<Polish>Magazynek 5,56mm 30rd (Mk318)</Polish>
<French>Chargeur 5.56mm 30Cps (Mk318)</French>
<French>Ch. 5.56mm 30Cps (Mk318)</French>
<Spanish>Cargador de 30 balas de 5.56mm (Mk318)</Spanish>
<Russian>Магазин из 30-ти 5.56 мм (Mk318)</Russian>
<German>5,56mm 30-Patronen-Magazin (Mk318)</German>
<Italian>5.56mm 30Rnd Mag (Mk318)</Italian>
<Czech>5.56mm 30Rnd Zásobník (Mk318)</Czech>
</Key>
<Key ID="STR_ACE_30Rnd_556x45_Stanag_Mk318_mag_NameShort">
<English>5.56mm Mk318</English>
@ -771,6 +806,7 @@
<Russian>5.56 мм Mk318</Russian>
<German>5,56mm Mk318</German>
<Italian>5.56mm Mk318</Italian>
<Czech>5.56mm Mk318</Czech>
</Key>
<Key ID="STR_ACE_30Rnd_556x45_Stanag_Mk318_mag_Description">
<English>Caliber: 5.56x45mm NATO (Mk318)&lt;br /&gt;Rounds: 30</English>
@ -780,15 +816,17 @@
<Russian>Калибр: 5,56x45 мм NATO (Mk318)&lt;br /&gt;Патронов: 30</Russian>
<German>Kaliber: 5,56x45mm NATO (Mk318)&lt;br /&gt;Patronen: 30</German>
<Italian>Calibro: 5.56x45 mm NATO (Mk318)&lt;br /&gt;Munizioni: 30</Italian>
<Czech>Ráže: 5.56x45mm NATO (Mk318)&lt;br /&gt;Munice: 30</Czech>
</Key>
<Key ID="STR_ACE_30Rnd_556x45_Stanag_M995_AP_mag_Name">
<English>5.56mm 30Rnd Mag (M995 AP)</English>
<Polish>Magazynek 5,56mm 30rd (M995 AP)</Polish>
<French>Chargeur 5.56mm 30Cps (M995 AP)</French>
<French>Ch. 5.56mm 30Cps (M995 AP)</French>
<Spanish>Cargador de 30 balas de 5.56mm (M995 AP)</Spanish>
<Russian>Магазин из 30-ти 5.56 мм (M995 бронебойные)</Russian>
<German>5,56mm 30-Patronen-Magazin (M995AP)</German>
<Italian>5.56mm 30Rnd Mag (M995 AP) </Italian>
<Czech>5.56mm 30náb. Zásobník (M995 AP)</Czech>
</Key>
<Key ID="STR_ACE_30Rnd_556x45_Stanag_M995_AP_mag_NameShort">
<English>5.56mm AP</English>
@ -798,6 +836,7 @@
<Russian>5.56 мм бронебойные</Russian>
<German>5,56mm AP</German>
<Italian>5.56mm AP</Italian>
<Czech>5.56mm AP</Czech>
</Key>
<Key ID="STR_ACE_30Rnd_556x45_Stanag_M995_AP_mag_Description">
<English>Caliber: 5.56x45mm NATO (M995 AP)&lt;br /&gt;Rounds: 30</English>
@ -807,15 +846,17 @@
<Russian>Калибр: 5,56x45 мм NATO (M995 бронебойные)&lt;br /&gt;Патронов: 30</Russian>
<German>Kaliber: 5,56x45mm NATO (M995 AP)&lt;br /&gt;Patronen: 30</German>
<Italian>Calibro: 5.56x45 mm NATO (M995 AP)&lt;br /&gt;Munizioni: 30</Italian>
<Czech>Ráže: 5.56x45mm NATO (M995 AP)&lt;br /&gt;Munice: 30</Czech>
</Key>
<Key ID="STR_ACE_10Rnd_762x51_M118LR_Mag_Name">
<English>7.62mm 10Rnd Mag (M118LR)</English>
<Polish>Magazynek 7,62mm 10rd (M118LR)</Polish>
<French>Chargeur 7.62mm 10Cps (M118LR)</French>
<French>Ch. 7.62mm 10Cps (M118LR)</French>
<Spanish>Cargador de 10 balas de 7.62mm (M118LR)</Spanish>
<Russian>Магазин из 10-ти 7,62 мм (M118LR)</Russian>
<German>7,62mm 10-Patronen-Magazin (M118LR)</German>
<Italian>7.62mm 10Rnd Mag (M118LR)</Italian>
<Czech>7.62mm 10náb. Zásobník (M118LR)</Czech>
</Key>
<Key ID="STR_ACE_10Rnd_762x51_M118LR_Mag_NameShort">
<English>7.62mm M118LR</English>
@ -825,6 +866,7 @@
<Russian>7,62 мм M118LR</Russian>
<German>7,62mm M118LR</German>
<Italian>7.62mm M118LR</Italian>
<Czech>7.62mm M118LR</Czech>
</Key>
<Key ID="STR_ACE_10Rnd_762x51_M118LR_Mag_Description">
<English>Caliber: 7.62x51mm NATO (M118LR)&lt;br /&gt;Rounds: 10</English>
@ -834,15 +876,17 @@
<Russian>Калибр: 7,62x51 мм NATO (M118LR)&lt;br /&gt;Патронов: 10</Russian>
<German>Kaliber: 7,62x51mm NATO (M118LR)&lt;br /&gt;Patronen: 10</German>
<Italian>Calibro: 7.62x51 mm NATO (M118LR)&lt;br /&gt;Munizioni: 10</Italian>
<Czech>Ráže: 7.62x51mm NATO (M118LR)&lt;br /&gt;Munice: 10</Czech>
</Key>
<Key ID="STR_ACE_20Rnd_762x51_M118LR_Mag_Name">
<English>7.62mm 20Rnd Mag (M118LR)</English>
<Polish>Magazynek 7,62mm 20rd (M118LR)</Polish>
<French>Chargeur 7.62mm 20Cps (M118LR)</French>
<French>Ch. 7.62mm 20Cps (M118LR)</French>
<Spanish>Cargador de 20 balas de 7.62mm (M118LR)</Spanish>
<Russian>Магазин из 20-ти 7,62 мм (M118LR)</Russian>
<German>7,62mm 20-Patronen-Magazin (M118LR)</German>
<Italian>7.62mm 20Rnd Mag (M118LR)</Italian>
<Czech>7.62mm 20náb. Zásobník (M118LR)</Czech>
</Key>
<Key ID="STR_ACE_20Rnd_762x51_M118LR_Mag_NameShort">
<English>7.62mm M118LR</English>
@ -852,6 +896,7 @@
<Russian>7,62 мм M118LR</Russian>
<German>7,62mm M118LR</German>
<Italian>7.62mm M118LR</Italian>
<Czech>7.62mm M118LR</Czech>
</Key>
<Key ID="STR_ACE_20Rnd_762x51_M118LR_Mag_Description">
<English>Caliber: 7.62x51mm NATO (M118LR)&lt;br /&gt;Rounds: 20</English>
@ -861,15 +906,17 @@
<Russian>Калибр: 7,62x51 мм NATO (M118LR)&lt;br /&gt;Патронов: 20</Russian>
<German>Kaliber: 7,62x51mm NATO (M118LR)&lt;br /&gt;Patronen: 20</German>
<Italian>Calibro: 7.62x51 mm NATO (M118LR)&lt;br /&gt;Munizioni: 20</Italian>
<Czech>Ráže: 7.62x51mm NATO (M118LR)&lt;br /&gt;Munice: 20</Czech>
</Key>
<Key ID="STR_ACE_10Rnd_762x51_Mk316_Mod_0_Mag_Name">
<English>7.62mm 10Rnd Mag (Mk316 Mod 0)</English>
<Polish>Magazynek 7,62mm 10rd (Mk316 Mod 0)</Polish>
<French>Chargeur 7.62mm 10Cps (Mk316 Mod 0)</French>
<French>Ch. 7.62mm 10Cps (Mk316 Mod 0)</French>
<Spanish>Cargador de 10 balas de 7.62mm (Mk316 Mod 0)</Spanish>
<Russian>Магазин из 10-ти 7,62 мм (Mk316 Mod 0)</Russian>
<German>7,62mm 10-Patronen-Magazin (Mk316 Mod 0)</German>
<Italian>7.62mm 10Rnd Mag (Mk316 Mod 0)</Italian>
<Czech>7.62mm 10náb. Zásobník (Mk316 Mod 0)</Czech>
</Key>
<Key ID="STR_ACE_10Rnd_762x51_Mk316_Mod_0_Mag_NameShort">
<English>7.62mm Mk316</English>
@ -879,6 +926,7 @@
<Russian>7,62 мм Mk316</Russian>
<German>7,62mm Mk316</German>
<Italian>7.62mm Mk316</Italian>
<Czech>7.62mm Mk316</Czech>
</Key>
<Key ID="STR_ACE_10Rnd_762x51_Mk316_Mod_0_Mag_Description">
<English>Caliber: 7.62x51mm NATO (Mk316 Mod 0)&lt;br /&gt;Rounds: 10</English>
@ -888,15 +936,17 @@
<Russian>Калибр: 7,62x51 мм NATO (Mk316 Mod 0)&lt;br /&gt;Патронов: 10</Russian>
<German>Kaliber: 7,62x51mm NATO (Mk316 Mod 0)&lt;br /&gt;Patronen: 10</German>
<Italian>Calibro: 7.62x51 mm NATO (Mk316 Mod 0)&lt;br /&gt;Munizioni: 10</Italian>
<Czech>Ráže: 7.62x51mm NATO (Mk316 Mod 0)&lt;br /&gt;Munice: 10</Czech>
</Key>
<Key ID="STR_ACE_20Rnd_762x51_Mk316_Mod_0_Mag_Name">
<English>7.62mm 20Rnd Mag (Mk316 Mod 0)</English>
<Polish>Magazynek 7,62mm 20rd (Mk316 Mod 0)</Polish>
<French>Chargeur 7.62mm 20Cps (Mk316 Mod 0)</French>
<French>Ch. 7.62mm 20Cps (Mk316 Mod 0)</French>
<Spanish>Cargador de 20 balas de 7.62mm (Mk316 Mod 0)</Spanish>
<Russian>Магазин из 20-ти 7,62 мм (Mk316 Mod 0)</Russian>
<German>7,62mm 20-Patronen-Magazin (Mk316 Mod 0)</German>
<Italian>7.62mm 20Rnd Mag (Mk316 Mod 0)</Italian>
<Czech>7.62mm 20náb. Zásobník (Mk316 Mod 0)</Czech>
</Key>
<Key ID="STR_ACE_20Rnd_762x51_Mk316_Mod_0_Mag_NameShort">
<English>7.62mm Mk316</English>
@ -906,6 +956,7 @@
<Russian>7,62 мм Mk316</Russian>
<German>7,62mm Mk316</German>
<Italian>7.62mm Mk316</Italian>
<Czech>7.62mm Mk316</Czech>
</Key>
<Key ID="STR_ACE_20Rnd_762x51_Mk316_Mod_0_Mag_Description">
<English>Caliber: 7.62x51mm NATO (Mk316 Mod 0)&lt;br /&gt;Rounds: 20</English>
@ -915,15 +966,17 @@
<Russian>Калибр: 7,62x51 мм NATO (Mk316 Mod 0)&lt;br /&gt;Патронов: 20</Russian>
<German>Kaliber: 7,62x51mm NATO (Mk316 Mod 0)&lt;br /&gt;Patronen: 20</German>
<Italian>Calibro: 7.62x51 mm NATO (Mk316 Mod 0)&lt;br /&gt;Munizioni: 20</Italian>
<Czech>Ráže: 7.62x51mm NATO (Mk316 Mod 0)&lt;br /&gt;Munice: 20</Czech>
</Key>
<Key ID="STR_ACE_10Rnd_762x51_Mk319_Mod_0_Mag_Name">
<English>7.62mm 10Rnd Mag (Mk319 Mod 0)</English>
<Polish>Magazynek 7,62mm 10rd (Mk319 Mod 0)</Polish>
<French>Chargeur 7.62mm 10Cps (Mk319 Mod 0)</French>
<French>Ch. 7.62mm 10Cps (Mk319 Mod 0)</French>
<Spanish>Cargador de 10 balas de 7.62mm (Mk319 Mod 0)</Spanish>
<Russian>Магазин из 10-ти 7,62 мм (Mk319 Mod 0)</Russian>
<German>7,62mm 10-Patronen-Magazin (Mk319 Mod 0)</German>
<Italian>7.62mm 10Rnd Mag (Mk319 Mod 0)</Italian>
<Czech>7.62mm 10náb. Zásobník (Mk319 Mod 0)</Czech>
</Key>
<Key ID="STR_ACE_10Rnd_762x51_Mk319_Mod_0_Mag_NameShort">
<English>7.62mm Mk319</English>
@ -933,6 +986,7 @@
<Russian>7,62 мм Mk319</Russian>
<German>7,62mm Mk319</German>
<Italian>7.62mm Mk319</Italian>
<Czech>7.62mm Mk319</Czech>
</Key>
<Key ID="STR_ACE_10Rnd_762x51_Mk319_Mod_0_Mag_Description">
<English>Caliber: 7.62x51mm NATO (Mk319 Mod 0)&lt;br /&gt;Rounds: 10</English>
@ -942,15 +996,17 @@
<Russian>Калибр: 7,62x51 мм NATO (Mk319 Mod 0)&lt;br /&gt;Патронов: 10</Russian>
<German>Kaliber: 7,62x51mm NATO (Mk319 Mod 0)&lt;br /&gt;Patronen: 10</German>
<Italian>Calibro: 7.62x51 mm NATO (Mk319 Mod 0)&lt;br /&gt;Munizioni: 10</Italian>
<Czech>Ráže: 7.62x51mm NATO (Mk319 Mod 0)&lt;br /&gt;Munice: 10</Czech>
</Key>
<Key ID="STR_ACE_20Rnd_762x51_Mk319_Mod_0_Mag_Name">
<English>7.62mm 20Rnd Mag (Mk319 Mod 0)</English>
<Polish>Magazynek 7,62mm 20rd (Mk319 Mod 0)</Polish>
<French>Chargeur 7.62mm 20Cps (Mk319 Mod 0)</French>
<French>Ch. 7.62mm 20Cps (Mk319 Mod 0)</French>
<Spanish>Cargador de 20 balas de 7.62mm (Mk319 Mod 0)</Spanish>
<Russian>Магазин из 20-ти 7,62 мм (Mk319 Mod 0)</Russian>
<German>7,62mm 20-Patronen-Magazin (Mk319 Mod 0)</German>
<Italian>7.62mm 20Rnd Mag (Mk319 Mod 0)</Italian>
<Czech>7.62mm 20náb. Zásobník (Mk319 Mod 0)</Czech>
</Key>
<Key ID="STR_ACE_20Rnd_762x51_Mk319_Mod_0_Mag_NameShort">
<English>7.62mm Mk319</English>
@ -960,6 +1016,7 @@
<Russian>7,62 мм Mk319</Russian>
<German>7,62mm Mk319</German>
<Italian>7.62mm Mk319</Italian>
<Czech>7.62mm Mk319</Czech>
</Key>
<Key ID="STR_ACE_20Rnd_762x51_Mk319_Mod_0_Mag_Description">
<English>Caliber: 7.62x51mm NATO (Mk319 Mod 0)&lt;br /&gt;Rounds: 20</English>
@ -969,15 +1026,17 @@
<Russian>Калибр: 7,62x51 мм NATO (Mk319 Mod 0)&lt;br /&gt;Патронов: 20</Russian>
<German>Kaliber: 7,62x51mm NATO (Mk319 Mod 0)&lt;br /&gt;Patronen: 20</German>
<Italian>Calibro: 7.62x51 mm NATO (Mk319 Mod 0)&lt;br /&gt;Munizioni: 20</Italian>
<Czech>Ráže: 7.62x51mm NATO (Mk319 Mod 0)&lt;br /&gt;Munice: 20</Czech>
</Key>
<Key ID="STR_ACE_10Rnd_762x51_M993_AP_Mag_Name">
<English>7.62mm 10Rnd Mag (M993 AP)</English>
<Polish>Magazynek 7,62mm 10rd (M993 AP)</Polish>
<French>Chargeur 7.62mm 10Cps (M993 AP)</French>
<French>Ch. 7.62mm 10Cps (M993 AP)</French>
<Spanish>Cargador de 10 balas de 7.62mm (M993 AP)</Spanish>
<Russian>Магазин из 10-ти 7,62 мм (M993 бронебойные)</Russian>
<German>7,62mm 10-Patronen-Magazin (M993 AP)</German>
<Italian>7.62mm 10Rnd Mag (M993 AP)</Italian>
<Czech>7.62 10náb. Zásobník (M993 AP)</Czech>
</Key>
<Key ID="STR_ACE_10Rnd_762x51_M993_AP_Mag_NameShort">
<English>7.62mm AP</English>
@ -987,6 +1046,7 @@
<Russian>7,62mm бронебойные</Russian>
<German>7,62mm AP</German>
<Italian>7.62mm AP</Italian>
<Czech>7.62mm AP</Czech>
</Key>
<Key ID="STR_ACE_10Rnd_762x51_M993_AP_Mag_Description">
<English>Caliber: 7.62x51mm NATO (M993 AP)&lt;br /&gt;Rounds: 10</English>
@ -996,15 +1056,17 @@
<Russian>Калибр: 7,62x51 мм NATO (M993 бронебойные)&lt;br /&gt;Патронов: 10</Russian>
<German>Kaliber: 7,62x51mm NATO (M993 AP)&lt;br /&gt;Patronen: 10</German>
<Italian>Calibro: 7.62x51 mm NATO (M993 AP)&lt;br /&gt;Munizioni: 10</Italian>
<Czech>Ráže: 7.62x51mm NATO (M993 AP)&lt;br /&gt;Munice: 10</Czech>
</Key>
<Key ID="STR_ACE_20Rnd_762x51_M993_AP_Mag_Name">
<English>7.62mm 20Rnd Mag (M993 AP)</English>
<Polish>Magazynek 7,62mm 20rd (M993 AP)</Polish>
<French>Chargeur 7.62mm 20Cps (M993 AP)</French>
<French>Ch. 7.62mm 20Cps (M993 AP)</French>
<Spanish>Cargador de 20 balas de 7.62mm (M993 AP)</Spanish>
<Russian>Магазин из 20-ти 7,62 мм (M993 бронебойные)</Russian>
<German>7,62mm 20-Patronen-Magazin (M993 AP)</German>
<Italian>7.62mm 20Rnd Mag (M993 AP)</Italian>
<Czech>7.62mm 20náb. Zásobník (M993 AP)</Czech>
</Key>
<Key ID="STR_ACE_20Rnd_762x51_M993_AP_Mag_NameShort">
<English>7.62mm AP</English>
@ -1014,24 +1076,27 @@
<Russian>7,62 мм бронебойные</Russian>
<German>7,62mm AP</German>
<Italian>7.62mm AP</Italian>
<Czech>7.62mm AP</Czech>
</Key>
<Key ID="STR_ACE_20Rnd_762x51_M993_AP_Mag_Description">
<English>Caliber: 7.62x51mm NATO (M993 AP)&lt;br /&gt;Rounds: 20</English>
<Polish>Kaliber: 7,62x51mm NATO (M993 AP)&lt;br /&gt;Pociski: 20</Polish>
<French>Calibre: 7.62x51mm NATO (M993 AP)&lt;br /&gt;Cartouches: 20</French>
<Spanish>Calibre: 7.62x51mm NATO (M993 AP)&lt;br /&gt;Balas: 20</Spanish>
<Russian>Калибр: 7,62x51 мм NATO (M993 бронебойные)&lt;br /&gt;Патронов: 20</Russian>
<German>Kaliber: 7,62x51mm NATO (M993 AP)&lt;br /&gt;Patronen: 20</German>
<Italian>Calibro: 7.62x51 mm NATO (M993 AP)&lt;br /&gt;Munizioni: 20</Italian>
<Spanish>Calibre: 7.62x51 mm NATO (M993 AP)&lt;br /&gt;Balas: 20</Spanish>
<Czech>Ráže: 7.62x51mm NATO (M993 AP)&lt;br /&gt;Munice: 20</Czech>
</Key>
<Key ID="STR_ACE_20Rnd_762x67_Mk248_Mod_0_Mag_Name">
<English>7.62mm 20Rnd Mag (Mk248 Mod 0)</English>
<Polish>Magazynek 7,62mm 20rd (Mk248 Mod 0)</Polish>
<French>Chargeur 7.62mm 20Cps (Mk248 Mod 0)</French>
<French>Ch. 7.62mm 20Cps (Mk248 Mod 0)</French>
<Spanish>Cargador de 20 balas de 7.62mm (Mk248 Mod 0)</Spanish>
<Russian>Магазин из 20-ти 7,62 мм (Mk248 Mod 0)</Russian>
<German>7,62mm 20-Patronen-Magazin (Mk248 Mod 0)</German>
<Italian>7.62mm 20Rnd Mag (Mk248 Mod 0)</Italian>
<Czech>7.62mm 20náb. Zásobník (Mk248 Mod 0)</Czech>
</Key>
<Key ID="STR_ACE_20Rnd_762x67_Mk248_Mod_0_Mag_NameShort">
<English>7.62mm (Mk248 Mod 0)</English>
@ -1041,6 +1106,7 @@
<Russian>7,62 мм (Mk248 Mod 0)</Russian>
<German>7,62mm (Mk248 Mod 0)</German>
<Italian>7.62mm (Mk248 Mod 0)</Italian>
<Czech>7.62mm (Mk248 Mod 0)</Czech>
</Key>
<Key ID="STR_ACE_20Rnd_762x67_Mk248_Mod_0_Mag_Description">
<English>Caliber: 7.62x67mm NATO (Mk248 Mod 0)&lt;br /&gt;Rounds: 20</English>
@ -1050,15 +1116,17 @@
<Russian>Калибр: 7,62x67 мм NATO (Mk248 Mod 0)&lt;br /&gt;Патронов: 20</Russian>
<German>Kaliber: 7,62x51mm NATO (Mk248 Mod 0)&lt;br /&gt;Patronen: 20</German>
<Italian>Calibro: 7.62x67 mm NATO (Mk248 Mod 0)&lt;br /&gt;Munizioni: 20</Italian>
<Czech>Ráže: 7.62x67mm NATO (Mk248 Mod 0)&lt;br /&gt;Munice: 20</Czech>
</Key>
<Key ID="STR_ACE_20Rnd_762x67_Mk248_Mod_1_Mag_Name">
<English>7.62mm 20Rnd Mag (Mk248 Mod 1)</English>
<Polish>Magazynek 7,62mm 20rd (Mk248 Mod 1)</Polish>
<French>Chargeur 7.62mm 20Cps (Mk248 Mod 1)</French>
<French>Ch. 7.62mm 20Cps (Mk248 Mod 1)</French>
<Spanish>Cargador de 20 balas de 7.62mm (Mk248 Mod 1)</Spanish>
<Russian>Магазин из 20-ти 7,62 мм (Mk248 Mod 1)</Russian>
<German>7,62mm 20-Patronen-Magazin (Mk248 Mod 1)</German>
<Italian>7.62mm 20Rnd Mag (Mk248 Mod 1)</Italian>
<Czech>7.62mm 20náb. Zásobník (Mk248 Mod 1)</Czech>
</Key>
<Key ID="STR_ACE_20Rnd_762x67_Mk248_Mod_1_Mag_NameShort">
<English>7.62mm (Mk248 Mod 1)</English>
@ -1068,6 +1136,7 @@
<Russian>7,62 мм (Mk248 Mod 1)</Russian>
<German>7,62mm (Mk248 Mod 1)</German>
<Italian>7.62mm (Mk248 Mod 1)</Italian>
<Czech>7.62mm (Mk248 Mod 1)</Czech>
</Key>
<Key ID="STR_ACE_20Rnd_762x67_Mk248_Mod_1_Mag_Description">
<English>Caliber: 7.62x67mm NATO (Mk248 Mod 1)&lt;br /&gt;Rounds: 20</English>
@ -1077,15 +1146,17 @@
<Russian>Калибр: 7,62x67 мм NATO (Mk248 Mod 1)&lt;br /&gt;Патронов: 20</Russian>
<German>Kaliber: 7,62x51mm NATO (Mk248 Mod 1)&lt;br /&gt;Patronen: 20</German>
<Italian>Calibro: 7.62x67 mm NATO (Mk248 Mod 1)&lt;br /&gt;Munizioni: 20</Italian>
<Czech>Ráže: 7.62x67mm NATO (Mk248 Mod 1)&lt;br /&gt;Munice: 20</Czech>
</Key>
<Key ID="STR_ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag_Name">
<English>7.62mm 20Rnd Mag (Berger Hybrid OTM)</English>
<Polish>Magazynek 7,62mm 20rd (Berger Hybrid OTM)</Polish>
<French>Chargeur 7.62 20Cps (Berger Hybrid OTM)</French>
<French>Ch. 7.62 20Cps (Berger Hybrid OTM)</French>
<Spanish>Cargador de 20 balas de 7.62mm (Berger Hybrid OTM)</Spanish>
<Russian>Магазин из 20-ти 7,62 мм (Berger Hybrid OTM)</Russian>
<German>7,62mm 20-Patronen-Magazin (Berger Hybrid OTM)</German>
<Italian>7.62mm 20Rnd Mag (Berger Hybrid OTM)</Italian>
<Czech>7.62mm 20náb. Zásobník (Berger Hybrid OTM)</Czech>
</Key>
<Key ID="STR_ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag_NameShort">
<English>7.62mm (OTM)</English>
@ -1095,6 +1166,7 @@
<Russian>7,62 мм (OTM)</Russian>
<German>7,62mm (OTM)</German>
<Italian>7.62mm (OTM)</Italian>
<Czech>7.62mm (OTM)</Czech>
</Key>
<Key ID="STR_ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag_Description">
<English>Caliber: 7.62x67mm NATO (Berger Hybrid OTM)&lt;br /&gt;Rounds: 20</English>
@ -1104,15 +1176,17 @@
<Russian>Калибр: 7,62x67 мм NATO (Berger Hybrid OTM)&lt;br /&gt;Патронов: 20</Russian>
<German>Kaliber: 7,62x67mm NATO (Berger Hybrid OTM)&lt;br /&gt;Patronen: 20</German>
<Italian>Calibro: 7.62x67 mm NATO (Berger Hybrid OTM)&lt;br /&gt;Munizioni: 20</Italian>
<Czech>Ráže: 7.62x67mm NATO (Berger Hybrid OTM)&lt;br /&gt;Munice: 20</Czech>
</Key>
<Key ID="STR_ACE_30Rnd_65x47_Scenar_mag_Name">
<English>6.5x47mm 30Rnd Mag (HPBT Scenar)</English>
<French>Chargeur 6.5x47mm 30Cps (HPBT Scenar)</French>
<French>Ch. 6.5x47mm 30Cps (HPBT Scenar)</French>
<Spanish>Cargador de 30 balas de 6.5x47mm (HPBT Scenar)</Spanish>
<Polish>Magazynek 6,5x47mm 30rd (HPBT Scenar)</Polish>
<Russian>Магазин из 30-ти 6,5x47 мм (экспансивные Scenar)</Russian>
<German>6,5x47mm 30-Patronen-Magazin (HPBT Scenar)</German>
<Italian>6.5x47mm 30Rnd Mag (HPBT Scenar)</Italian>
<Czech>6.5x47mm 30náb. Zásobník (HPBT Scenar)</Czech>
</Key>
<Key ID="STR_ACE_30Rnd_65x47_Scenar_mag_NameShort">
<English>6.5mm Lapua</English>
@ -1122,15 +1196,17 @@
<Russian>6,5 мм Lapua</Russian>
<German>6,5mm Lapua</German>
<Italian>6.5mm Lapua</Italian>
<Czech>6.5mm Lapua</Czech>
</Key>
<Key ID="STR_ACE_30Rnd_65x47_Scenar_mag_Description">
<English>Caliber: 6.5x47mm (HPBT Scenar)&lt;br /&gt;Rounds: 30&lt;br /&gt;Used in: MXM</English>
<French>Calibre: 6.5x47mm (HPBT Scenar)&lt;br /&gt;Cartouches: 30</French>
<Spanish>Calibre: 6.5x47mm (HPBT Scenar)&lt;br /&gt;Balas: 30</Spanish>
<Spanish>Calibre: 6.5x47mm (HPBT Scenar)&lt;br /&gt;Balas: 30&lt;br /&gt;Se usa en: MXM</Spanish>
<Polish>Kaliber: 6,5x47mm (HPBT Scenar)&lt;br /&gt;Pociski: 30</Polish>
<Russian>Калибр: 6,5x47 мм (экспансивные Scenar)&lt;br /&gt;Патронов: 30</Russian>
<Russian>Калибр: 6,5x47 мм (экспансивные Scenar)&lt;br /&gt;Патронов: 30&lt;br /&gt;Используются с: MXM</Russian>
<German>Kaliber: 6,5x47mm (HPBT Scenar)&lt;br /&gt;Patronen: 30&lt;br /&gt;Eingesetzt von: MXM</German>
<Italian>Calibro: 6.5x47mm (HPBT Scenar)&lt;br /&gt;Munizioni: 30&lt;br /&gt;In uso su: MXM</Italian>
<Czech>Ráže: 6.5x47mm (HPBT Scenar)&lt;br /&gt;Munice: 30&lt;br /&gt;Použití: MXM</Czech>
</Key>
<Key ID="STR_ACE_30Rnd_65_Creedmor_mag_Name">
<English>6.5mm Creedmor 30Rnd Mag</English>
@ -1138,7 +1214,9 @@
<Italian>6.5mm Creedmor 30Rnd Mag</Italian>
<Russian>Магазин из 30-ти 6,5 мм Creedmor</Russian>
<German>6,5mm Creedmor 30-Patronen-Magazin</German>
<French>Chargeur 6.5mm Creedmor 30Cps</French>
<Spanish>Cargador de 30 balas Creedmor de 6.5mm</Spanish>
<French>Ch. 6.5mm Creedmor 30Cps</French>
<Czech>6.5mm Creedmor 30náb. Zásobník</Czech>
</Key>
<Key ID="STR_ACE_30Rnd_65_Creedmor_mag_NameShort">
<English>6.5mm CM</English>
@ -1148,6 +1226,7 @@
<Russian>6,5 мм CM</Russian>
<German>6,5mm CM</German>
<Italian>6.5mm CM</Italian>
<Czech>6.5mm CM</Czech>
</Key>
<Key ID="STR_ACE_30Rnd_65_Creedmor_mag_Description">
<English>Caliber: 6.5x47mm Creedmor&lt;br /&gt;Rounds: 30&lt;br /&gt;Used in: MXM</English>
@ -1155,15 +1234,19 @@
<German>Kaliber: 6,5x47mm Creedmor&lt;br /&gt;Patronen: 30&lt;br /&gt;Eingesetzt von: MXM</German>
<French>Calibre: 6.5x47mm Creedmor &lt;br /&gt;Cartouches: 30&lt;br /&gt;Utilisé avec: MXM</French>
<Italian>Calibro: 6.5mm Creedmor&lt;br /&gt;Munizioni: 30&lt;br /&gt;In uso su: MXM</Italian>
<Spanish>Calibre: 6.5mm Creedmor&lt;br /&gt;Balas: 30&lt;br /&gt;Se usa en: MXM</Spanish>
<Russian>Калибр: 6,5x47мм Creedmor&lt;br /&gt;Патронов: 30&lt;br /&gt;Используются c: MXM</Russian>
<Czech>Ráže: 6.5x47mm Creedmor&lt;br /&gt;Munice: 30&lt;br /&gt;Použití: MXM</Czech>
</Key>
<Key ID="STR_ACE_10Rnd_338_300gr_HPBT_Mag_Name">
<English>.338 10Rnd Mag (300gr Sierra MatchKing HPBT)</English>
<French>Chargeur .338 10 Cps (300gr Sierra MatchKing HPBT)</French>
<French>Ch. .338 10 Cps (300gr Sierra MatchKing HPBT)</French>
<Spanish>Cargador de 10 balas de 8.6x70mm (300gr Sierra MatchKing HPBT)</Spanish>
<Polish>Magazynek .338 10rd (300gr Sierra MatchKing HPBT)</Polish>
<Russian>Магазин из 10-ти .338 (300 гран Sierra MatchKing экспансивные)</Russian>
<German>.338 10-Patronen-Magazin (300gr Sierra MatchKing HPBT)</German>
<Italian>.338 10Munizioni Mag (300gr Sierra MatchKing HPBT)</Italian>
<Czech>.338 10náb. Zásobník (300gr Sierra MatchKing HPBT)</Czech>
</Key>
<Key ID="STR_ACE_10Rnd_338_300gr_HPBT_Mag_NameShort">
<English>.338 HPBT</English>
@ -1173,6 +1256,7 @@
<Russian>.338 экспансивные</Russian>
<German>.338 HPBT</German>
<Italian>.338 (HPBT)</Italian>
<Czech>.338 HPBT</Czech>
</Key>
<Key ID="STR_ACE_10Rnd_338_300gr_HPBT_Mag_Description">
<English>Caliber: 8.6x70mm (300gr Sierra MatchKing HPBT)&lt;br /&gt;Rounds: 10</English>
@ -1182,15 +1266,17 @@
<Russian>Калибр: 8,6x70mm (300 гран Sierra MatchKing экспансивные)&lt;br /&gt;Патронов: 10</Russian>
<German>Kaliber: 8,6x70mm (300gr Sierra MatchKing HPBT)&lt;br /&gt;Patronen: 10</German>
<Italian>Calibro: 8.6x70mm (300gr Sierra MatchKing HPBT)&lt;br /&gt;Munizioni: 10</Italian>
<Czech>Ráže: 8.6x70mm (300gr Sierra MatchKing HPBT)&lt;br /&gt;Munice: 10</Czech>
</Key>
<Key ID="STR_ACE_10Rnd_338_API526_Mag_Name">
<English>.338 10Rnd Mag (API526)</English>
<French>Chargeur .338 10Cps (API526)</French>
<French>Ch. .338 10Cps (API526)</French>
<Spanish>Cargador de 10 balas de .338 (API526)</Spanish>
<Polish>Magazynek .338 10rd (API526)</Polish>
<Russian>Магазин из 10-ти .338 (API526)</Russian>
<German>.338 10-Patronen-Magazin (API526)</German>
<Italian>.338 10Rnd Mag (API526)</Italian>
<Czech>.338 10náb. Zásobník (API526)</Czech>
</Key>
<Key ID="STR_ACE_10Rnd_338_API526_Mag_NameShort">
<English>.338 AP</English>
@ -1200,6 +1286,7 @@
<Russian>.338 AP</Russian>
<German>.338 AP</German>
<Italian>.338 AP</Italian>
<Czech>.338 AP</Czech>
</Key>
<Key ID="STR_ACE_10Rnd_338_API526_Mag_Description">
<English>Caliber: 8.6x70mm (API526)&lt;br /&gt;Rounds: 10</English>
@ -1209,15 +1296,17 @@
<Russian>Калибр: 8,6x70 мм (API526)&lt;br /&gt;Патронов: 10</Russian>
<German>Kaliber: 8,6x70mm (API526)&lt;br /&gt;Patronen: 10</German>
<Italian>Calibro: 8.6x70mm (API526)&lt;br /&gt;Munizioni: 10</Italian>
<Czech>Ráže: 8.6x70mm (API526)&lt;br /&gt;Munice: 10</Czech>
</Key>
<Key ID="STR_ACE_5Rnd_127x99_Mag_Name">
<English>12.7x99mm 5Rnd Mag</English>
<French>Chargeur 12.7x99mm 5Cps</French>
<French>Ch. 12.7x99mm 5Cps</French>
<Spanish>Cargador de 5 balas de 12.7x99mm</Spanish>
<Polish>Magazynek 12,7x99mm 5rd</Polish>
<Russian>Магазин из 5-ти 12,7x99 мм</Russian>
<German>12,7x99mm 5-Patronen-Magazin</German>
<Italian>12.7x99mm 5Rnd Mag</Italian>
<Czech>12.7x99mm 5náb. Zásobník</Czech>
</Key>
<Key ID="STR_ACE_5Rnd_127x99_Mag_NameShort">
<English>12.7mm</English>
@ -1227,6 +1316,7 @@
<Russian>12,7 мм</Russian>
<German>12,7mm</German>
<Italian>12.7mm</Italian>
<Czech>12.7mm</Czech>
</Key>
<Key ID="STR_ACE_5Rnd_127x99_Mag_Description">
<English>Caliber: 12.7x99mm&lt;br /&gt;Rounds: 5</English>
@ -1236,15 +1326,17 @@
<Russian>Калибр: 12,7x99 мм&lt;br /&gt;Патронов: 5</Russian>
<German>Kaliber: 12,7x99mm&lt;br /&gt;Patronen: 5</German>
<Italian>Calibro: 12.7x99mm&lt;br /&gt;Munizioni: 5</Italian>
<Czech>Ráže: 12.7x99mm&lt;br /&gt;Munice: 5</Czech>
</Key>
<Key ID="STR_ACE_5Rnd_127x99_API_Mag_Name">
<English>12.7x99mm API 5Rnd Mag</English>
<French>Chargeur 12.7x99mm API 5Cps</French>
<French>Ch. 12.7x99mm API 5Cps</French>
<Spanish>Cargador de 5 balas de 12.7x99mm API</Spanish>
<Polish>Magazynek 12,7x99mm API 5rd</Polish>
<Italian>12.7x99mm API 5Rnd Mag</Italian>
<Russian>Магазин из 5-ти 12,7x99 мм (бронебойно-зажигательные)</Russian>
<German>12,7x99mm 5-Patronen-Magazin (API)</German>
<Czech>12.7x99mm API 5náb. Zásobník</Czech>
</Key>
<Key ID="STR_ACE_5Rnd_127x99_API_Mag_NameShort">
<English>12.7mm API</English>
@ -1254,6 +1346,7 @@
<Italian>12.7mm API</Italian>
<Russian>12.7 мм бронебойно-зажигательные</Russian>
<German>12,7mm API</German>
<Czech>12.7mm API</Czech>
</Key>
<Key ID="STR_ACE_5Rnd_127x99_API_Mag_Description">
<English>Caliber: 12.7x99mm API&lt;br /&gt;Rounds: 5</English>
@ -1263,15 +1356,17 @@
<Russian>Калибр: 12,7x99 мм бронебойно-зажигательные&lt;br /&gt;Патронов: 5</Russian>
<German>Kaliber:12,7x99mm API&lt;br /&gt;Patronen: 5</German>
<Italian>Calibro: 12.7x99mm API&lt;br /&gt;Munizioni: 5</Italian>
<Czech>Ráže: 12.7x99mm API&lt;br /&gt;Munice: 5</Czech>
</Key>
<Key ID="STR_ACE_5Rnd_127x99_AMAX_Mag_Name">
<English>12.7x99mm 5Rnd Mag (AMAX)</English>
<French>Chargeur 12.7x99mm 5Rnd Mag (AMAX)</French>
<French>Ch. 12.7x99mm 5Cps (AMAX)</French>
<Spanish>Cargador de 5 balas de 12.7x99mm (AMAX)</Spanish>
<Polish>Magazynek 12,7x99mm 5rd (AMAX)</Polish>
<Russian>Магазин из 5-ти 12,7x99 мм (A-MAX)</Russian>
<German>12,7x99mm 5-Patronen-Magazin (AMAX)</German>
<Italian>12.7x99mm 5Rnd Mag (AMAX)</Italian>
<Czech>12.7x99mm 5náb. Zásobník (AMAX)</Czech>
</Key>
<Key ID="STR_ACE_5Rnd_127x99_AMAX_Mag_NameShort">
<English>12.7mm</English>
@ -1281,6 +1376,7 @@
<Russian>12,7 мм</Russian>
<German>12,7mm</German>
<Italian>12.7mm</Italian>
<Czech>12.7mm</Czech>
</Key>
<Key ID="STR_ACE_5Rnd_127x99_AMAX_Mag_Description">
<English>Caliber: 12.7x99mm (AMAX)&lt;br /&gt;Rounds: 5</English>
@ -1290,6 +1386,7 @@
<Russian>Калибр: 12,7x99 мм (A-MAX)&lt;br /&gt;Патронов: 5</Russian>
<Italian>Calibro: 12.7x99mm (AMAX)&lt;br /&gt;Munizioni: 5</Italian>
<German>Kaliber:12,7x99mm (AMAX)&lt;br /&gt;Patronen: 5</German>
<Czech>Ráže: 12.7x99mm (AMAX)&lt;br /&gt;Munice: 5</Czech>
</Key>
</Package>
</Project>
</Project>

View File

@ -1,38 +1,51 @@
/**
* fn_getDeathAnim.sqf
* @Descr: Get the death animation for the unit at current time
* @Author: Glowbal
/*
* Author: Glowbal, PabstMirror
* Get the death animation for the unit at current time
*
* @Arguments: [unit OBJECT]
* @Return: STRING animation
* @PublicAPI: true
* Arguments:
* 0: unit <OBJECT>
*
* Return Value:
* animation <STRING>
*
* Example:
* [bob] call ace_common_fnc_getDeathAnim;
*
* Public: No
*/
#include "script_component.hpp"
private ["_unit", "_curAnim", "_animation", "_cfg","_unitAnimation", "_animationState"];
_unit = _this select 0;
PARAMS_1(_unit);
if (vehicle _unit != _unit) exitwith {
_animation = "";
_animationState = (animationState _unit);
_unitAnimation = (configFile >> "CfgMovesMaleSdr" >> "States" >> _animationState);
if (isText (_unitAnimation >> "actions")) then {
if ((vehicle _unit) != _unit) then {
_cfg = (configFile >> "CfgMovesMaleSdr" >> "States" >> _animationState);
if (isArray (_cfg >> "interpolateTo")) then {
_animation = getArray (_cfg >> "interpolateTo") select 0;
};
} else {
_cfg = (configFile >> "CfgMovesBasic" >> "Actions" >> (getText (_unitAnimation >> "actions")) >> "die");
if (isText _cfg) then {
_animation = getText _cfg;
};
private ["_returnAnimation", "_animationState", "_unitAnimationCfg", "_unitActionsCfg", "_interpolateArray", "_indexAnimation", "_index"];
_returnAnimation = "";
_animationState = (animationState _unit);
_unitAnimationCfg = (configFile >> "CfgMovesMaleSdr" >> "States" >> _animationState);
//If we're already in a terminal animation just return current
if ((getNumber (_unitAnimationCfg >> "terminal")) == 1) exitWith {_animationState};
_unitActionsCfg = (configFile >> "CfgMovesBasic" >> "Actions" >> (getText (_unitAnimationCfg >> "actions")));
TRACE_2("Animation/Action", configName _unitAnimationCfg, configName _unitActionsCfg);
if ((vehicle _unit) != _unit) then {
_interpolateArray = getArray (_unitAnimationCfg >> "interpolateTo");
for "_index" from 0 to (count _interpolateArray - 1) step 2 do {
_indexAnimation = _interpolateArray select _index;
//No guarentee that first animation will be right so scan for the first "terminal" animation
//E.G.: interpolateTo[] = {"passenger_apc_generic04still",1,"KIA_passenger_apc_generic04",1};
if ((getNumber ((configFile >> "CfgMovesMaleSdr" >> "States" >> _indexAnimation) >> "terminal")) == 1) exitWith {
_returnAnimation = _indexAnimation;
};
};
if (isnil "_animation") then {
_animation = "";
};
_animation;
} else {
_returnAnimation = getText (_unitActionsCfg >> "die");
};
"Unconscious";
//Fallback if nothing valid found:
if (_returnAnimation == "") then {_returnAnimation = "Unconscious"};
_returnAnimation

View File

@ -30,7 +30,12 @@ if (!([_unit] call FUNC(isAwake))) then {
_vehicle = _this select 1;
waituntil {vehicle _unit == _vehicle};
sleep 0.5;
[_unit,([_unit] call FUNC(getDeathAnim)), 1] call FUNC(doAnimation);
//Save the "awake" animation before applying the death animation
if (vehicle _unit == _vehicle) then {
_unit setVariable [QEGVAR(medical,vehicleAwakeAnim), [_vehicle, (animationState _unit)]];
};
[_unit,([_unit] call FUNC(getDeathAnim)), 1, true] call FUNC(doAnimation);
};
} else {
if ([_unit] call FUNC(isArrested)) then {

View File

@ -10,6 +10,7 @@
<Russian>Открыть инвентарь</Russian>
<Italian>Apri l'inventario</Italian>
<French>Ouvrir l'inventaire</French>
<Hungarian>Felszerelés megtekintése</Hungarian>
</Key>
</Package>
</Project>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project name="ACE">
<Package name="Disposable">
<Key ID="STR_ACE_Disposable_UsedTube">
@ -28,10 +28,10 @@
<Key ID="STR_ACE_Disposable_PreloadedMissileDummy">
<English>Preloaded Missile Dummy</English>
<German>Vorgeladene Racketennachbildung</German>
<French>Missile préchargé Dummy</French>
<French>Missile préchargé</French>
<Czech>Přednabitá dummy střela</Czech>
<Polish>Wstępnie załadowana atrapa pocisku</Polish>
<Spanish>Preloaded Missile Dummy</Spanish>
<Spanish>Precargado misil inerte</Spanish>
<Hungarian>Előtöltött műrakéta</Hungarian>
<Russian>Предзаряженная ракетная болванка</Russian>
<Italian>Missile stupido precaricato</Italian>

View File

@ -28,7 +28,7 @@
<Key ID="STR_ACE_Dragging_UnableToDrag">
<English>Item too heavy</English>
<German>Gegenstand ist zu schwer</German>
<Spanish>Articulo demasiado pesado</Spanish>
<Spanish>Objeto demasiado pesado</Spanish>
<Polish>Przedmiot jest zbyt ciężki</Polish>
<French>Objet trop lourd</French>
<Portuguese>Não é possível carregar o item devido a seu peso</Portuguese>

View File

@ -17,7 +17,7 @@
#include "script_component.hpp"
EXPLODE_2_PVT(_this,_unit,_target);
private["_actionToPlay"];
private["_actionToPlay", "_defuseTime", "_isEOD"];
_target = attachedTo (_target);
@ -43,23 +43,22 @@ if (ACE_player != _unit) then {
if (isPlayer _unit) then {
[[_unit, _target], QFUNC(startDefuse), _unit] call EFUNC(common,execRemoteFnc);
} else {
// TODO: use scheduled delay execution
[_unit, _target, [[_unit] call EFUNC(Common,isEOD), _target] call _fnc_DefuseTime] spawn {
(_this select 0) playActionNow _actionToPlay;
(_this select 0) disableAI "MOVE";
(_this select 0) disableAI "TARGET";
sleep (_this select 2);
[(_this select 0), (_this select 1)] call FUNC(defuseExplosive);
(_this select 0) enableAI "MOVE";
(_this select 0) enableAI "TARGET";
};
_unit playActionNow _actionToPlay;
_unit disableAI "MOVE";
_unit disableAI "TARGET";
_defuseTime = [[_unit] call EFUNC(Common,isEOD), _target] call _fnc_DefuseTime;
[{
PARAMS_2(_unit,_target);
[_unit, _target] call FUNC(defuseExplosive);
_unit enableAI "MOVE";
_unit enableAI "TARGET";
}, [_unit, _target], _defuseTime, 0] call EFUNC(common,waitAndExecute);
};
} else {
_unit playActionNow _actionToPlay;
private ["_defuseSeconds", "_isEOD"];
_isEOD = [_unit] call EFUNC(Common,isEOD);
_defuseSeconds = [_isEOD, _target] call _fnc_DefuseTime;
_defuseTime = [_isEOD, _target] call _fnc_DefuseTime;
if (_isEOD || {!GVAR(RequireSpecialist)}) then {
[_defuseSeconds, [_unit,_target], {(_this select 0) call FUNC(defuseExplosive)}, {}, (localize "STR_ACE_Explosives_DefusingExplosive")] call EFUNC(common,progressBar);
[_defuseTime, [_unit,_target], {(_this select 0) call FUNC(defuseExplosive)}, {}, (localize "STR_ACE_Explosives_DefusingExplosive")] call EFUNC(common,progressBar);
};
};

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project name="ACE">
<Package name="Explosives">
<Key ID="STR_ACE_Explosives_Menu">
@ -138,7 +138,7 @@
<German>M57 Zündvorrichtung</German>
<Spanish>Dispositivo de detonación M57</Spanish>
<Polish>Zapalnik M57</Polish>
<French>M57 Dispositif de mise à feu</French>
<French>Dispositif de mise à feu M57</French>
<Czech>Odpalovací zařízení M57</Czech>
<Italian>Detonatore M57</Italian>
<Hungarian>M57 Gyújtóeszköz</Hungarian>
@ -162,7 +162,7 @@
<German>M26 Zündvorrichtung</German>
<Spanish>Dispositivo de detonación MK26</Spanish>
<Polish>Zapalnik M26</Polish>
<French>M26 Dispositif de mise à feu</French>
<French>Dispositif de mise à feu M26</French>
<Czech>Odpalovací zařízení M26</Czech>
<Italian>Detonatore M26</Italian>
<Hungarian>M26 Gyújtóeszköz</Hungarian>
@ -208,7 +208,7 @@
<Key ID="STR_ACE_Explosives_Phone_AddToSpeedDial">
<English>Add to Speed Dial</English>
<German>Zur Schnellauswahl hinzufügen</German>
<Spanish>Agregar a marcado rápido</Spanish>
<Spanish>Añadir a marcado rápido</Spanish>
<Polish>Dodaj do szybkiego wybierania</Polish>
<French>Ajouter à la composition rapide</French>
<Czech>Přidat jako rychlou volbu</Czech>
@ -282,7 +282,7 @@
<German>"Zünden"-Menü</German>
<Spanish>Menú de detonación</Spanish>
<Polish>Menu detonacji</Polish>
<French>Menu de mise à feu</French>
<French>Menu de mise à feux</French>
<Czech>Menu Detonace</Czech>
<Italian>Menù di detonazione</Italian>
<Hungarian>Robbantási menü</Hungarian>
@ -294,7 +294,7 @@
<German>"Platzieren"-Menü</German>
<Spanish>Menú de colocación</Spanish>
<Polish>Menu umieszczania</Polish>
<French>Menu placement</French>
<French>Menu de placement</French>
<Czech>Menu Umístění</Czech>
<Italian>Menù di collocamento</Italian>
<Hungarian>Elhelyezési menü</Hungarian>
@ -364,7 +364,7 @@
<Key ID="STR_ACE_Explosives_TriggerMenu">
<English>Select a Trigger</English>
<German>Wähle einen Zünder</German>
<Spanish>Seleccionar un disparador</Spanish>
<Spanish>Seleccionar un detonador</Spanish>
<Polish>Wybierz zapalnik</Polish>
<French>Sélectionner une mise à feu</French>
<Czech>Zvolit Detonátor</Czech>

View File

@ -16,7 +16,7 @@
<Key ID="STR_ACE_FCS_ZeroedTo">
<English>Zeroed To</English>
<German>Haltepunkt</German>
<Spanish>Fijado a</Spanish>
<Spanish>Ajustado a</Spanish>
<Polish>Wyzerowany na</Polish>
<Czech>Nastaveno na</Czech>
<French>Zéroté à</French>

View File

@ -11,7 +11,7 @@
<Czech>Tlumič plamene (6,5 mm)</Czech>
<French>Cache-flamme (6,5 mm)</French>
<Russian>Пламегаситель (6,5 мм)</Russian>
<Spanish>Supresor (6,5 mm)</Spanish>
<Spanish>Bocacha (6,5 mm)</Spanish>
</Key>
<Key ID="STR_ACE_muzzle_mzls_B">
<English>Flash Suppressor (7.62 mm)</English>
@ -23,7 +23,7 @@
<Czech>Tlumič plamene (7,62 mm)</Czech>
<French>Cache-flamme (7,62 mm)</French>
<Russian>Пламегаситель (7,62 мм)</Russian>
<Spanish>Supresor (7,62 mm)</Spanish>
<Spanish>Bocacha (7,62 mm)</Spanish>
</Key>
<Key ID="STR_ACE_muzzle_mzls_L">
<English>Flash Suppressor (5.56 mm)</English>
@ -35,7 +35,7 @@
<Czech>Tlumič plamene (5,56 mm)</Czech>
<French>Cache-flamme (5,56 mm)</French>
<Russian>Пламегаситель (5,56 мм)</Russian>
<Spanish>Supresor (5,56 mm)</Spanish>
<Spanish>Bocacha (5,56 mm)</Spanish>
</Key>
<Key ID="STR_ACE_muzzle_mzls_smg_01">
<English>Flash Suppressor (.45 ACP)</English>
@ -47,7 +47,7 @@
<Czech>Tlumič plamene (.45 ACP)</Czech>
<French>Cache-flamme (.45 ACP)</French>
<Russian>Пламегаситель (.45 ACP)</Russian>
<Spanish>Supresor (.45 ACP)</Spanish>
<Spanish>Bocacha (.45 ACP)</Spanish>
</Key>
<Key ID="STR_ACE_muzzle_mzls_smg_02">
<English>Flash Suppressor (9 mm)</English>
@ -59,7 +59,7 @@
<Czech>Tlumič plamene (9 mm)</Czech>
<French>Cache-flamme (9 mm)</French>
<Russian>Пламегаситель (9 мм)</Russian>
<Spanish>Supresor (9 mm)</Spanish>
<Spanish>Bocacha (9 mm)</Spanish>
</Key>
<Key ID="STR_ACE_muzzle_mzls_338">
<English>Flash Suppressor (.338)</English>
@ -71,7 +71,7 @@
<Czech>Tlumič záblesku (.338)</Czech>
<French>Cache-flamme (.338)</French>
<Russian>Пламегаситель (.338)</Russian>
<Spanish>Supresor (.338)</Spanish>
<Spanish>Bocacha (.338)</Spanish>
</Key>
<Key ID="STR_ACE_muzzle_mzls_93mmg">
<English>Flash Suppressor (9.3 mm)</English>
@ -83,7 +83,7 @@
<Czech>Tlumič záblesku (9,3 mm)</Czech>
<French>Cache-flamme (9,3 mm)</French>
<Russian>Пламегаситель (9,3 мм)</Russian>
<Spanish>Supresor (9,3 mm)</Spanish>
<Spanish>Bocacha (9,3 mm)</Spanish>
</Key>
</Package>
</Project>

View File

@ -73,14 +73,6 @@ class CfgAmmo {
GVAR(gurney_k) = 1/2;
};
class G_40mm_HEDP: GrenadeBase {
// Source: http://www.inetres.com/gp/military/infantry/grenade/40mm_ammo.html#M433
GVAR(classes)[] = {"ACE_frag_tiny_HD"};
GVAR(metal) = 200;
GVAR(charge) = 45;
GVAR(gurney_c) = 2830;
GVAR(gurney_k) = 1/2;
};
class G_40mm_HE: GrenadeBase {
// Source: http://www.inetres.com/gp/military/infantry/grenade/40mm_ammo.html#M441
GVAR(classes)[] = {"ACE_frag_tiny_HD"};
@ -89,6 +81,14 @@ class CfgAmmo {
GVAR(gurney_c) = 2700;
GVAR(gurney_k) = 1/2;
};
class G_40mm_HEDP: G_40mm_HE {
// Source: http://www.inetres.com/gp/military/infantry/grenade/40mm_ammo.html#M433
GVAR(classes)[] = {"ACE_frag_tiny_HD"};
GVAR(metal) = 200;
GVAR(charge) = 45;
GVAR(gurney_c) = 2830;
GVAR(gurney_k) = 1/2;
};
class ACE_G_40mm_HEDP: G_40mm_HEDP {
};
@ -105,7 +105,15 @@ class CfgAmmo {
// curator ammo entries
class ShellBase;
class Sh_125mm_HEAT;
class Sh_82mm_AMOS : ShellBase {
class Sh_155mm_AMOS: ShellBase {
// Source: http://www.globalsecurity.org/military/systems/munitions/m795.htm
GVAR(classes)[] = {"ACE_frag_large", "ACE_frag_large", "ACE_frag_large_HD", "ACE_frag_large", "ACE_frag_huge", "ACE_frag_huge_HD", "ACE_frag_huge"};
GVAR(metal) = 36000;
GVAR(charge) = 9979;
GVAR(gurney_c) = 2440;
GVAR(gurney_k) = 1/2;
};
class Sh_82mm_AMOS : Sh_155mm_AMOS {
// Source: http://www.arsenal-bg.com/defense_police/mortar_bombs_82mm.htm
GVAR(classes)[] = {"ACE_frag_medium", "ACE_frag_medium_HD"};
GVAR(metal) = 3200;
@ -141,14 +149,6 @@ class CfgAmmo {
GVAR(gurney_c) = 2440;
GVAR(gurney_k) = 1/2;
};
class Sh_155mm_AMOS: ShellBase {
// Source: http://www.globalsecurity.org/military/systems/munitions/m795.htm
GVAR(classes)[] = {"ACE_frag_large", "ACE_frag_large", "ACE_frag_large_HD", "ACE_frag_large", "ACE_frag_huge", "ACE_frag_huge_HD", "ACE_frag_huge"};
GVAR(metal) = 36000;
GVAR(charge) = 9979;
GVAR(gurney_c) = 2440;
GVAR(gurney_k) = 1/2;
};
class ModuleOrdnanceHowitzer_F_ammo: Sh_155mm_AMOS {
GVAR(classes)[] = {"ACE_frag_large", "ACE_frag_large", "ACE_frag_large_HD", "ACE_frag_large", "ACE_frag_huge", "ACE_frag_huge_HD", "ACE_frag_huge"};
GVAR(metal) = 1950;

View File

@ -17,7 +17,7 @@
#include "script_component.hpp"
if (!hasInterface) exitWith {};
["ACE3", QGVAR(wipeGlasses), localize "STR_ACE_Goggles_WipeGlasses",
["ACE3 Common", QGVAR(wipeGlasses), localize "STR_ACE_Goggles_WipeGlasses",
{
if (!(GETVAR(ace_player,ACE_isUnconscious,false))) exitWith {
call FUNC(clearGlasses);

View File

@ -52,7 +52,7 @@
<Key ID="STR_ACE_Grenades_RollGrenade">
<English>Roll Grenade</English>
<German>Granate rollen</German>
<Spanish>Rodar granada</Spanish>
<Spanish>Lanzamiento raso</Spanish>
<Polish>Po ziemi</Polish>
<Czech>Po zemi</Czech>
<French>Lancer roulé</French>
@ -88,7 +88,7 @@
<Key ID="STR_ACE_Grenades_M84_Description">
<English>Also known as flashbang. Causes immediate flash blindness, deafness, tinnitus, and inner ear disturbance.</English>
<German>Verursacht temporäre Blind- und Taubheit.</German>
<Spanish>Produce de manera inmediata ceguera, sordera, tinitus y afecta el oído interior.</Spanish>
<Spanish>Tambien conocida como granada cegadora. Produce de manera inmediata ceguera, sordera, tinitus y afecta el oído interior.</Spanish>
<French>Les grenades incapacitantes servent à désorienter ou distraire une menace pendant quelques secondes.</French>
<Polish>Znany też jako flashbang. Powoduje natychmiastową tymczasową ślepotę, głuchotę, dzwonienie w uszach i inne zaburzenia ucha wewnętrznego.</Polish>
<Czech>Omračující granát je taktická nesmrtící zbraň používaná při záchraně rukojmí a zvládání davu.</Czech>

View File

@ -28,7 +28,7 @@ addMissionEventHandler ["Draw3D", DFUNC(render)];
};
["ACE3", QGVAR(InteractKey), (localize "STR_ACE_Interact_Menu_InteractKey"),
["ACE3 Common", QGVAR(InteractKey), (localize "STR_ACE_Interact_Menu_InteractKey"),
{
// Conditions: canInteract
if !([ACE_player, objNull, ["isNotInside","isNotDragging", "isNotCarrying", "isNotSwimming", "notOnMap", "isNotEscorting", "isNotSurrendering"]] call EFUNC(common,canInteractWith)) exitWith {false};
@ -37,7 +37,7 @@ addMissionEventHandler ["Draw3D", DFUNC(render)];
},{[0,false] call FUNC(keyUp)},
[219, [false, false, false]], false] call cba_fnc_addKeybind; //Left Windows Key
["ACE3", QGVAR(SelfInteractKey), (localize "STR_ACE_Interact_Menu_SelfInteractKey"),
["ACE3 Common", QGVAR(SelfInteractKey), (localize "STR_ACE_Interact_Menu_SelfInteractKey"),
{
// Conditions: canInteract
if !([ACE_player, objNull, ["isNotInside","isNotDragging", "isNotCarrying", "isNotSwimming", "notOnMap", "isNotEscorting", "isNotSurrendering"]] call EFUNC(common,canInteractWith)) exitWith {false};

View File

@ -20,7 +20,9 @@
<Italian>Mostra sempre il cursore per le interazioni</Italian>
<Polish>Zawsze wyświetlaj kursor dla interakcji</Polish>
<Russian>Показывать курсор (взаимодействие)</Russian>
<Czech>Zobrazit kurzor v menu pro interakci</Czech>
<German>Immer den Cursor für Fremd-Interaktionen anzeigen</German>
<Hungarian>Mindig legyen a cselekvés kurzorja látható</Hungarian>
</Key>
<Key ID="STR_ACE_Interact_Menu_UseListMenu">
<English>Display interaction menus as lists</English>
@ -29,7 +31,9 @@
<French>Afficher le menu d'interaction sous forme de liste</French>
<Italian>Mostra il menù di interazione come lista</Italian>
<Polish>Wyświetlaj menu interakcji jako listę</Polish>
<Czech>Zobrazit menu interakce jako seznam</Czech>
<German>Interaktionsmenü in Listen anzeigen</German>
<Hungarian>Cselekvő menük listaként való megjelenítése</Hungarian>
</Key>
<Key ID="STR_ACE_Interact_Menu_InteractKey">
<English>Interact Key</English>
@ -82,60 +86,111 @@
<Key ID="STR_ACE_Interact_Menu_ColorTextMax">
<English>Interaction - Text Max</English>
<Polish>Interakcja - Tekst max</Polish>
<Czech>Interakce - Text Max</Czech>
<French>Interaction - Texte Max</French>
<German>Interaktionstextfarbe Max</German>
<Italian>Interazioni - Testo Massimo</Italian>
<Russian>Взаимодействие - Текст Макс.</Russian>
<Spanish>Interacción - Texto al max.</Spanish>
<Hungarian>Cselekvés - Szöveg max.</Hungarian>
</Key>
<Key ID="STR_ACE_Interact_Menu_ColorTextMin">
<English>Interaction - Text Min</English>
<Polish>Interakcja - Tekst min</Polish>
<Czech>Interakce - Text Min</Czech>
<French>Interaction - Texte Min</French>
<German>Interaktionstextfarbe Min</German>
<Italian>Interazioni - Testo Minimo</Italian>
<Russian>Взаимодействие - Текст Мин.</Russian>
<Spanish>Interacción - Texto al min.</Spanish>
<Hungarian>Cselekvés - Szöveg min.</Hungarian>
</Key>
<Key ID="STR_ACE_Interact_Menu_ColorShadowMax">
<English>Interaction - Shadow Max</English>
<Polish>Interakcja - Cień max</Polish>
<Czech>Interakce - Stín Max</Czech>
<French>Interaction - Ombre Max</French>
<German>Interaktionstextschatten Max</German>
<Italian>Interazioni - Ombra Massima</Italian>
<Russian>Взаимодействие - Тень Макс.</Russian>
<Spanish>Interacción - Sombras al max.</Spanish>
<Hungarian>Cselekvés - Árnyék max.</Hungarian>
</Key>
<Key ID="STR_ACE_Interact_Menu_ColorShadowMin">
<English>Interaction - Shadow Min</English>
<Polish>Interakcja - Cień min</Polish>
<Czech>Interakce - Stín Min</Czech>
<French>Interaction - Ombre Min</French>
<German>Interaktionstextschatten Min</German>
<Italian>Interazioni - Ombra Minima</Italian>
<Russian>Взаимодействие - Тень Мин.</Russian>
<Spanish>Interacción - Sombras al min.</Spanish>
<Hungarian>Cselekvés - Árnyék min.</Hungarian>
</Key>
<Key ID="STR_ACE_Interact_cursorKeepCentered">
<English>Keep cursor centered</English>
<French>Garder le curseur au centre</French>
<Russian>Центрировать курсор</Russian>
<German>Cursor zentriert halten</German>
<Hungarian>Kurzor középen tartása</Hungarian>
<Polish>Utrzymaj kursor wyśrodkowany</Polish>
<Spanish>Mantener el cursor centrado</Spanish>
<Czech>Udržuj kurzor na středu</Czech>
</Key>
<Key ID="STR_ACE_Interact_cursorKeepCenteredDescription">
<English>Keeps cursor centered and pans the option menu around. Useful if screen size is limited.</English>
<English>Keeps cursor centered and pans the option menu around. Useful if screen size is limited.</English>
<Czech>Udržuje kurzor na středu. Užitečné, pokud je velikost obrazovky omezena.</Czech>
<French>Garde le curseur au milieu et dispose le menu des options autour. Utile si la taille de l'écran est limitée.</French>
<Russian>Центрирует курсор и двигает само меню опций. Полезно при ограниченном размере экрана.</Russian>
<German>Hält den Cursor zentriert und verschiebt das Menü beim Bewegen. Nützlich bei kleinen Bildschirmen.</German>
<Hungarian>Középen tartja a kurzort, és a menüelemeket mozgatja. Hasznos lehetőség korlátozott képméretnél.</Hungarian>
<Polish>Utrzymuje kursor na środku ekranu, zamiast tego ruch myszą powoduje przesuwanie menu interakcji. Użyteczne w przypadku kiedy rozmiar ekranu jest ograniczony.</Polish>
<Spanish>Mantiene el cursor centrado y despliega los menús alrededor. Útil si el tamaño de la pantalla es limitado.</Spanish>
</Key>
<Key ID="STR_ACE_Interact_Menu_ActionOnKeyRelease">
<English>Do action when releasing menu key</English>
<German>Aktion nach Loslassen der Taste ausführen</German>
<Polish>Wykonuj akcje po puszczeniu klawisza menu</Polish>
<Czech>Provést akci při pustění klávesy menu</Czech>
<French>Action au relachement de touche</French>
<Russian>Выполнять действие при отпускании кнопки взаимодействия</Russian>
<Spanish>Realizar la acción al soltar la tecla menu</Spanish>
</Key>
<Key ID="STR_ACE_Interact_textSize">
<English>Interaction Text Size</English>
<Czech>Velikost textu interakce</Czech>
<German>Menü-Schriftgröße</German>
<French>Taille du texte d'interaction</French>
<Russian>Размер текста (меню взаимодействия)</Russian>
<Spanish>Tamaño del texto de interacción</Spanish>
<Polish>Rozmiar tekstu interakcji</Polish>
</Key>
<Key ID="STR_ACE_Interact_shadowSetting">
<English>Interaction Text Shadow</English>
<Czech>Stín textu interakce</Czech>
<German>Menü-Hintergrundschatten</German>
<French>Ombre du texte d'interaction</French>
<Russian>Тень от текста (меню взаимодействия)</Russian>
<Spanish>Sombra del texto de interacción</Spanish>
<Polish>Cień tekstu interakcji</Polish>
</Key>
<Key ID="STR_ACE_Interact_shadowSettingDescription">
<English>Allows controlling the text's shadow. Outline ignores custom shadow colors.</English>
<English>Allows controlling the text's shadow. Outline ignores custom shadow colors.</English>
<Czech>Umožňuje změnit stíny textu v menu interakce. Barva stínu je u tahu písma ignorována.</Czech>
<German>Stellt den Hintergrundschatten ein. Die Einstellung 'Kontur' ignoriert die Farbe des Schattens.</German>
<French>Permet de controler l'ombre du texte. Le contour ne prend pas en compte la couleur des ombres.</French>
<Russian>Дает возможность изменять тень, отбрасываемую текстом. Контур не зависит от выбранного цвета тени.</Russian>
<Spanish>Permite contolar la sombra del texto. El contorno ignora los colores personalizados de la sombra.</Spanish>
<Polish>Pozwala kontrolować cień tekstu. Kontury ignorują niestandardowe kolory cienia.</Polish>
</Key>
<Key ID="STR_ACE_Interact_shadowOutline">
<English>Outline</English>
<Czech>Kontura</Czech>
<German>Kontur</German>
<French>Contour</French>
<Russian>Контур</Russian>
<Spanish>Contorno</Spanish>
<Polish>Kontur</Polish>
</Key>
</Package>
</Project>

View File

@ -42,8 +42,8 @@ class CfgVehicles {
icon = PATHTOF(UI\team\team_management_ca.paa);
hotkey = "M";
class ACE_JoinTeamRed {
displayName = "$STR_ACE_Interaction_JoinTeamRed";
class ACE_AssignTeamRed {
displayName = "$STR_ACE_Interaction_AssignTeamRed";
condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinTeam));
statement = QUOTE([ARR_2(_target,'RED')] call DFUNC(joinTeam));
showDisabled = 1;
@ -51,8 +51,8 @@ class CfgVehicles {
priority = 2.4;
hotkey = "R";
};
class ACE_JoinTeamGreen {
displayName = "$STR_ACE_Interaction_JoinTeamGreen";
class ACE_AssignTeamGreen {
displayName = "$STR_ACE_Interaction_AssignTeamGreen";
condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinTeam));
statement = QUOTE([ARR_2(_target,'GREEN')] call DFUNC(joinTeam));
showDisabled = 1;
@ -60,8 +60,8 @@ class CfgVehicles {
priority = 2.3;
hotkey = "G";
};
class ACE_JoinTeamBlue {
displayName = "$STR_ACE_Interaction_JoinTeamBlue";
class ACE_AssignTeamBlue {
displayName = "$STR_ACE_Interaction_AssignTeamBlue";
condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinTeam));
statement = QUOTE([ARR_2(_target,'BLUE')] call DFUNC(joinTeam));
showDisabled = 1;
@ -69,8 +69,8 @@ class CfgVehicles {
priority = 2.2;
hotkey = "B";
};
class ACE_JoinTeamYellow {
displayName = "$STR_ACE_Interaction_JoinTeamYellow";
class ACE_AssignTeamYellow {
displayName = "$STR_ACE_Interaction_AssignTeamYellow";
condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinTeam));
statement = QUOTE([ARR_2(_target,'YELLOW')] call DFUNC(joinTeam));
showDisabled = 1;
@ -79,9 +79,9 @@ class CfgVehicles {
hotkey = "Y";
};
class ACE_LeaveTeam {
class ACE_UnassignTeam {
displayName = "$STR_ACE_Interaction_LeaveTeam";
condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinTeam) && {assignedTeam _player != 'MAIN'});
condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinTeam) && {assignedTeam _target != 'MAIN'});
statement = QUOTE([ARR_2(_target,'MAIN')] call DFUNC(joinTeam));
showDisabled = 1;
icon = PATHTOF(UI\team\team_white_ca.paa);

View File

@ -22,7 +22,7 @@ GVAR(isOpeningDoor) = false;
// Add keybinds
["ACE3", QGVAR(openDoor), localize "STR_ACE_Interaction_OpenDoor",
["ACE3 Common", QGVAR(openDoor), localize "STR_ACE_Interaction_OpenDoor",
{
// Conditions: canInteract
if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false};
@ -42,7 +42,7 @@ GVAR(isOpeningDoor) = false;
[57, [false, true, false]], false] call cba_fnc_addKeybind; //Key CTRL+Space
["ACE3", QGVAR(tapShoulder), localize "STR_ACE_Interaction_TapShoulder",
["ACE3 Common", QGVAR(tapShoulder), localize "STR_ACE_Interaction_TapShoulder",
{
// Conditions: canInteract
if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false};
@ -56,7 +56,7 @@ GVAR(isOpeningDoor) = false;
{false},
[20, [true, false, false]], false] call cba_fnc_addKeybind;
["ACE3", QGVAR(modifierKey), localize "STR_ACE_Interaction_ModifierKey",
["ACE3 Common", QGVAR(modifierKey), localize "STR_ACE_Interaction_ModifierKey",
{
// Conditions: canInteract
//if !([ACE_player, objNull, ["isNotDragging"]] call EFUNC(common,canInteractWith)) exitWith {false}; // not needed

View File

@ -112,7 +112,7 @@
<Key ID="STR_ACE_Interaction_InteractionMenuSelf">
<English>Interaction Menu (Self)</English>
<German>Interaktionsmenü (Selbst)</German>
<Spanish>Menú de interacción (Propia)</Spanish>
<Spanish>Menú de interacción (Propio)</Spanish>
<Polish>Menu interakcji (własne)</Polish>
<Czech>Menu interakce (vlastní)</Czech>
<French>Menu d'interaction (Perso)</French>
@ -506,16 +506,16 @@
<Italian>A Terra!</Italian>
</Key>
<Key ID="STR_ACE_Interaction_TeamManagement">
<English>Team&lt;br/&gt;Management</English>
<German>Team&lt;br/&gt;Management</German>
<Spanish>Gestión&lt;br/&gt;de equipo</Spanish>
<French>Gestion&lt;br/&gt;d'équipe</French>
<Polish>Zarządzanie&lt;br/&gt;oddziałem</Polish>
<Czech>Správa&lt;br/&gt;týmu</Czech>
<Russian>Управление&lt;br/&gt;группой</Russian>
<Portuguese>Gerenciamento&lt;br/&gt;de Equipe</Portuguese>
<Italian>Organizzazione&lt;br/&gt;Squadra</Italian>
<Hungarian>Csapat&lt;br/&gt;kezelése</Hungarian>
<English>Team Management</English>
<German>Team Management</German>
<Spanish>Gestión de equipo</Spanish>
<French>Gestion d'équipe</French>
<Polish>Zarządzanie oddziałem</Polish>
<Czech>Správa týmu</Czech>
<Russian>Управление группой</Russian>
<Portuguese>Gerenciamento de Equipe</Portuguese>
<Italian>Organizzazione Squadra</Italian>
<Hungarian>Csapat kezelése</Hungarian>
</Key>
<Key ID="STR_ACE_Interaction_TeamRED">
<English>Red</English>
@ -565,53 +565,45 @@
<Italian>Giallo</Italian>
<Hungarian>Sárga</Hungarian>
</Key>
<Key ID="STR_ACE_Interaction_AssignTeamRed">
<English>Assign Red</English>
<Spanish>Asignar a rojo</Spanish>
<Polish>Przydziel do czerwonych</Polish>
</Key>
<Key ID="STR_ACE_Interaction_AssignTeamGreen">
<English>Assign Green</English>
<Spanish>Asignar a verde</Spanish>
<Polish>Przydziel do zielonych</Polish>
</Key>
<Key ID="STR_ACE_Interaction_AssignTeamBlue">
<English>Assign Blue</English>
<Spanish>Asignar a azul</Spanish>
<Polish>Przydziel do niebieskich</Polish>
</Key>
<Key ID="STR_ACE_Interaction_AssignTeamYellow">
<English>Assign Yellow</English>
<Spanish>Asignar a amarillo</Spanish>
<Polish>Przydziel do żółtych</Polish>
</Key>
<Key ID="STR_ACE_Interaction_JoinTeamRed">
<English>Join Team&lt;br/&gt;Red</English>
<German>Team Rot&lt;br/&gt;beitreten</German>
<Spanish>Unirse al&lt;br/&gt;equipo rojo</Spanish>
<French>Rejoindre&lt;br/&gt;Rouge</French>
<Polish>Dołącz do drużyny&lt;br/&gt;czerwonej</Polish>
<Czech>Připojit do&lt;br/&gt;Červeného týmu</Czech>
<Russian>Присоединиться&lt;br/&gt;к Красной группе</Russian>
<Portuguese>Unir-se à&lt;br/&gt;Equipe Vermelha</Portuguese>
<Italian>Entra nella&lt;br/&gt;Squadra Rossa</Italian>
<Hungarian>Csatlakozás a&lt;br/&gt;piros csapathoz</Hungarian>
<English>Join Red</English>
<Spanish>Unirse a rojo</Spanish>
<Polish>Dołącz do czerwonych</Polish>
</Key>
<Key ID="STR_ACE_Interaction_JoinTeamGreen">
<English>Join Team&lt;br/&gt;Green</English>
<German>Team Grün&lt;br/&gt;beitreten</German>
<Spanish>Unirse al&lt;br/&gt;equipo verde</Spanish>
<French>Rejoindre&lt;br/&gt;Vert</French>
<Polish>Dołącz do&lt;br/&gt;drużyny zielonej</Polish>
<Czech>Připojit do&lt;br/&gt;Zeleného týmu</Czech>
<Russian>Присоединиться&lt;br/&gt;к Зеленой группе</Russian>
<Portuguese>Unir-se à&lt;br/&gt;Equipe Verde</Portuguese>
<Italian>Entra nella&lt;br/&gt;Squadra Verde</Italian>
<Hungarian>Csatlakozás a&lt;br/&gt;zöld csapathoz</Hungarian>
<English>Join Green</English>
<Spanish>Unirse a verde</Spanish>
<Polish>Dołącz do zielonych</Polish>
</Key>
<Key ID="STR_ACE_Interaction_JoinTeamBlue">
<English>Join Team&lt;br/&gt;Blue</English>
<German>Team Blau&lt;br/&gt;beitreten</German>
<Spanish>Unirse al&lt;br/&gt;equipo azul</Spanish>
<French>Rejoindre&lt;br/&gt;Bleu</French>
<Polish>Dołącz do&lt;br/&gt;drużyny niebieskiej</Polish>
<Czech>Připojit do&lt;br/&gt;Modrého týmu</Czech>
<Russian>Присоединиться&lt;br/&gt;к Синей группе</Russian>
<Portuguese>Unir-se à&lt;br/&gt;Equipe Azul</Portuguese>
<Italian>Entra nella&lt;br/&gt;Squadra Blu</Italian>
<Hungarian>Csatlakozás a&lt;br/&gt;kék csapathoz</Hungarian>
<English>Join Blue</English>
<Spanish>Unirse a azul</Spanish>
<Polish>Dołącz do niebieskich</Polish>
</Key>
<Key ID="STR_ACE_Interaction_JoinTeamYellow">
<English>Join Team&lt;br/&gt;Yellow</English>
<German>Team Gelb&lt;br/&gt;beitreten</German>
<Spanish>Unirse al&lt;br/&gt;equipo amarillo</Spanish>
<French>Rejoindre&lt;br/&gt;Jaune</French>
<Polish>Dołącz do&lt;br/&gt;drużyny żółtej</Polish>
<Czech>Připojit do&lt;br/&gt;Žlutého týmu</Czech>
<Russian>Присоединиться&lt;br/&gt;к Жёлтой группе</Russian>
<Portuguese>Unir-se à&lt;br/&gt;Equipe Amarela</Portuguese>
<Italian>Entra nella&lt;br/&gt;Squadra Gialla</Italian>
<Hungarian>Csatlakozás a&lt;br/&gt;sárga csapathoz</Hungarian>
<English>Join Yellow</English>
<Spanish>Unirse a amarillo</Spanish>
<Polish>Dołącz do żółtych</Polish>
</Key>
<Key ID="STR_ACE_Interaction_JoinedTeam">
<English>You joined Team %1</English>

View File

@ -9,12 +9,48 @@ class CfgVehicles {
class MainTurret;
};
};
class AT_01_base_F: StaticMGWeapon {};
class AT_01_base_F: StaticMGWeapon {
class B_static_AT_F: AT_01_base_F {
class Turrets : Turrets {
class MainTurret : MainTurret {
weapons[] = { "missiles_titan_static_at" };
weapons[] = { QGVAR(Titan_Static) };
magazines[] = {"1Rnd_GAT_missiles","1Rnd_GAT_missiles","1Rnd_GAT_missiles","1Rnd_GAT_missiles"};
turretInfoType = "ACE_RscOptics_javelin";
gunnerOpticsModel = PATHTOF(data\reticle_titan.p3d);
opticsZoomMin = 0.08333;
opticsZoomMax = 0.04167;
opticsZoomInit = 0.08333;
opticsPPEffects[] = {"OpticsCHAbera1","OpticsBlur1"};
opticsFlare = 0;
discretefov[] = {0.08333,0.04167};
discreteInitIndex = 0;
};
};
};
class O_static_AT_F: AT_01_base_F {
class Turrets : Turrets {
class MainTurret : MainTurret {
weapons[] = { QGVAR(Titan_Static) };
magazines[] = {"1Rnd_GAT_missiles","1Rnd_GAT_missiles","1Rnd_GAT_missiles","1Rnd_GAT_missiles"};
turretInfoType = "ACE_RscOptics_javelin";
gunnerOpticsModel = PATHTOF(data\reticle_titan.p3d);
opticsZoomMin = 0.08333;
opticsZoomMax = 0.04167;
opticsZoomInit = 0.08333;
opticsPPEffects[] = {"OpticsCHAbera1","OpticsBlur1"};
opticsFlare = 0;
discretefov[] = {0.08333,0.04167};
discreteInitIndex = 0;
};
};
};
class I_static_AT_F: AT_01_base_F {
class Turrets : Turrets {
class MainTurret : MainTurret {
weapons[] = { QGVAR(Titan_Static) };
magazines[] = {"1Rnd_GAT_missiles","1Rnd_GAT_missiles","1Rnd_GAT_missiles","1Rnd_GAT_missiles"};
turretInfoType = "ACE_RscOptics_javelin";

View File

@ -11,7 +11,9 @@ class CfgWeapons {
};
class missiles_titan_at : missiles_titan {
class missiles_titan_at : missiles_titan { };
class GVAR(Titan_Static) : missiles_titan_at {
GVAR(enabled) = 1;
weaponInfoType = "ACE_RscOptics_javelin";
modelOptics = PATHTOF(data\reticle_titan.p3d);
@ -20,18 +22,50 @@ class CfgWeapons {
lockingTargetSound[] = {"",0,1};
lockedTargetSound[] = {"",0,1};
};
class missiles_titan_static_at : missiles_titan_at { };
// @TODO: AA by default, motherfuckers
class launch_Titan_base : Launcher_Base_F {};
class launch_Titan_short_base : launch_Titan_base {
class launch_Titan_short_base : launch_Titan_base { };
class launch_B_Titan_short_F: launch_Titan_short_base {
GVAR(enabled) = 1;
weaponInfoType = "ACE_RscOptics_javelin";
modelOptics = PATHTOF(data\reticle_titan.p3d);
canLock = 0;
lockingTargetSound[] = {"",0,1};
lockedTargetSound[] = {"",0,1};
};
class launch_I_Titan_short_F: launch_Titan_short_base {
GVAR(enabled) = 1;
weaponInfoType = "ACE_RscOptics_javelin";
modelOptics = PATHTOF(data\reticle_titan.p3d);
canLock = 0;
lockingTargetSound[] = {"",0,1};
lockedTargetSound[] = {"",0,1};
};
class launch_O_Titan_short_F: launch_Titan_short_base {
GVAR(enabled) = 1;
weaponInfoType = "ACE_RscOptics_javelin";
modelOptics = PATHTOF(data\reticle_titan.p3d);
canLock = 0;
lockingTargetSound[] = {"",0,1};
lockedTargetSound[] = {"",0,1};
};
class launch_Titan_short_F: launch_Titan_short_base {
GVAR(enabled) = 1;
weaponInfoType = "ACE_RscOptics_javelin";
modelOptics = PATHTOF(data\reticle_titan.p3d);
canLock = 0;
lockingTargetSound[] = {"",0,1};
lockedTargetSound[] = {"",0,1};
};

View File

@ -6,10 +6,15 @@ PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile);
// Bail on not missile
if( _shooter != ACE_player) exitWith { false };
/*
if( ! ([ (configFile >> "CfgWeapons" >> (currentWeapon (vehicle ACE_player)) ), "launch_Titan_short_base"] call EFUNC(common,inheritsFrom))
&&
{ ! ([ (configFile >> "CfgWeapons" >> (currentWeapon (vehicle ACE_player)) ), "missiles_titan_at"] call EFUNC(common,inheritsFrom)) }
) exitWith { };
*/
_configs = configProperties [configFile >> "CfgWeapons" >> (currentWeapon (vehicle ACE_player)) >> QGVAR(enabled), "true", false];
if( (count _configs) < 1) exitWith {};
_config = _configs select 1;
_pfh_handle = uiNamespace getVariable ["ACE_RscOptics_javelin_PFH", nil];
if(!isNil "_pfh_handle") then {

View File

@ -35,10 +35,14 @@ _soundTime = _args select 4;
_randomLockInterval = _args select 5;
_fireDisabledEH = _args select 6;
_configs = configProperties [configFile >> "CfgWeapons" >> (currentWeapon (vehicle ACE_player)) >> QGVAR(enabled), "true", false];
/*
if( ! ([ (configFile >> "CfgWeapons" >> (currentWeapon (vehicle ACE_player)) ), "launch_Titan_short_base"] call EFUNC(common,inheritsFrom))
&&
{ ! ([ (configFile >> "CfgWeapons" >> (currentWeapon (vehicle ACE_player)) ), "missiles_titan_at"] call EFUNC(common,inheritsFrom)) }
) exitWith {
*/
if((count _config) < 1) exitWith {
__JavelinIGUITargeting ctrlShow false;
__JavelinIGUITargetingGate ctrlShow false;
__JavelinIGUITargetingLines ctrlShow false;
@ -130,7 +134,7 @@ FUNC(disableFire) = {
if(_firedEH < 0 && difficulty > 0) then {
_firedEH = [ACE_player, "DefaultAction", {true}, {
_canFire = (_this select 0) getVariable["ace_missileguidance_target", nil];
_canFire = (_this select 1) getVariable["ace_missileguidance_target", nil];
if(!isNil "_canFire") exitWith { false };
true
}] call EFUNC(common,addActionEventHandler);

View File

@ -5,7 +5,7 @@
<English>Lock Target (Hold)</English>
<German>Ziel aufschalten</German>
<Russian>Захватить цель (удерживать)</Russian>
<Czech>Zamknout cíl(držet)</Czech>
<Czech>Zamknout cíl (držet)</Czech>
<Polish>Namierz cel (przytrzymaj)</Polish>
<French>Verrouiller la cible (maintenir)</French>
<Hungarian>Célpontra állás (Lenyomva tartott)</Hungarian>
@ -17,7 +17,7 @@
<English>Cycle Fire Mode</English>
<German>Wechsle Feuermodus</German>
<Russian>Переключение режимов огня</Russian>
<Czech>Cyklování režimů palby</Czech>
<Czech>Přepínání režimů palby</Czech>
<Polish>Przełącz tryb ognia</Polish>
<French>Cycle mode de tir</French>
<Hungarian>Tüzelési mód váltása</Hungarian>
@ -26,4 +26,4 @@
<Portuguese>Alterar Modo de Disparo</Portuguese>
</Key>
</Package>
</Project>
</Project>

View File

@ -18,10 +18,12 @@
<Polish>Anemomentr skrzydełkowy Kestrel 4500</Polish>
<Russian>Карманная метеостанция Kestrel 4500NV</Russian>
<French>Station météo portable Kestrel 4500</French>
<Spanish>Kestrel 4500 Pocket Weather Tracker</Spanish>
<Spanish>Estación meteorológica Kestrel 4500 </Spanish>
<German>Kestrel 4500 Taschenwettermessgerät</German>
<Italian>Kestrel 4500 Indicatore Meteorologico Tascabile</Italian>
<Portuguese>Kestrel 4500 Medidor Balístico Ativo</Portuguese>
<Hungarian>Kestrel 4500 kézi szél-és időjárásmérő</Hungarian>
<Czech>Kapesní měřič počasí Kestrel 4500</Czech>
</Key>
<Key ID="STR_ACE_Kestrel4500_OpenKestrel">
<English>Open Kestrel 4500</English>
@ -33,6 +35,7 @@
<Spanish>Abrir Kestrel 4500</Spanish>
<German>Kestrel 4500 öffnen</German>
<Portuguese>Abrir Kestrel 4500</Portuguese>
<Czech>Otevřít Kestrel 4500</Czech>
</Key>
<Key ID="STR_ACE_Kestrel4500_ShowKestrel">
<English>Show Kestrel 4500</English>
@ -42,6 +45,8 @@
<Italian>Mostra Kestrel 4500</Italian>
<Spanish>Mostrar Kestrel 4500</Spanish>
<German>Kestrel 4500 anzeigen</German>
<Hungarian>Kestrel 4500 mutatása</Hungarian>
<Czech>Zobrazit Kestrel 4500</Czech>
</Key>
<Key ID="STR_ACE_Kestrel4500_HideKestrel">
<English>Hide Kestrel 4500</English>
@ -49,8 +54,10 @@
<Russian>Убрать Kestrel 4500NV</Russian>
<French>Cacher Kestrel 4500</French>
<Italian>Nascondi Kestrel 4500</Italian>
<Spanish>Esconder Kestrel 4500</Spanish>
<Spanish>Ocultar Kestrel 4500</Spanish>
<German>Kestrel 4500 wegstecken</German>
<Hungarian>Kestrel 4500 elrejtése</Hungarian>
<Czech>Skrýt Kestrel 4500</Czech>
</Key>
<Key ID="STR_ACE_Kestrel4500_KestrelDialogKey">
<English>Open Kestrel 4500</English>
@ -60,6 +67,8 @@
<Italian>Accendi Kestrel 4500</Italian>
<Spanish>Abrir Kestrel 4500</Spanish>
<German>Kestrel 4500 öffnen</German>
<Hungarian>Kestrel 4500 elővétele</Hungarian>
<Czech>Otevřít Kestrel 4500</Czech>
</Key>
<Key ID="STR_ACE_Kestrel4500_DisplayKestrelKey">
<English>Show Kestrel 4500</English>
@ -69,6 +78,8 @@
<Italian>Mostra Kestrel 4500</Italian>
<Spanish>Mostrar Kestrel 4500</Spanish>
<German>Kestrel 4500 anzeigen</German>
<Hungarian>Kestrel 4500 mutatása</Hungarian>
<Czech>Zobrazit Kestrel 4500</Czech>
</Key>
</Package>
</Project>

View File

@ -17,4 +17,29 @@ class CfgVehicles {
simulation = "LaserTarget";
model = "\A3\Weapons_f\laserTgt.p3d";
};
// Vehicle lockable configurations
class AllVehicles;
class Air: AllVehicles {
class Turrets;
};
class Helicopter: Air {
class Turrets {
class MainTurret;
};
};
class Helicopter_Base_F: Helicopter {};
class Heli_Attack_01_base_F: Helicopter_Base_F {};
class B_Heli_Attack_01_F: Heli_Attack_01_base_F {
class Turrets: Turrets {
class MainTurret: MainTurret {
GVAR(CanLockLaser) = 1; // Enable laser locking selection
};
};
};
};

View File

@ -1,5 +1,7 @@
#include "script_component.hpp"
#include "initKeybinds.sqf"
["laser_laserOn", {_this call DFUNC(handleLaserOn)}] call EFUNC(common,addEventHandler);
["laser_laserOff", {_this call DFUNC(handleLaserOff)}] call EFUNC(common,addEventHandler);

View File

@ -24,6 +24,10 @@ PREP(laserTargetPFH);
GVAR(VanillaLasers) = [];
PREP(unitTurretCanLockLaser);
PREP(keyLaserCodeUp);
PREP(keyLaserCodeDown);
// Laser default variables
ACE_DEFAULT_LASER_CODE = 1001;
ACE_DEFAULT_LASER_WAVELENGTH = 1550;

View File

@ -0,0 +1,12 @@
//#define DEBUG_MODE_FULL
#include "script_component.hpp"
private["_oldLaserCode", "_laserCode"];
_oldLaserCode = ACE_player getVariable [QGVAR(code), ACE_DEFAULT_LASER_CODE];
if(_oldLaserCode > ACE_DEFAULT_LASER_CODE) then {
_laserCode = _oldLaserCode - 1;
ACE_player setVariable [QGVAR(code), _laserCode, false];
};
if(_laserCode != _oldLaserCode) then {
[format ["%1: %2", localize "STR_ACE_laser_laserCode", _laserCode]] call EFUNC(common,displayTextStructured);
};

View File

@ -0,0 +1,10 @@
//#define DEBUG_MODE_FULL
#include "script_component.hpp"
private["_oldLaserCode", "_laserCode"];
_oldLaserCode = ACE_player getVariable [QGVAR(code), ACE_DEFAULT_LASER_CODE];
_laserCode = _oldLaserCode + 1;
ACE_player setVariable [QGVAR(code), _laserCode, false];
if(_laserCode != _oldLaserCode) then {
[format ["%1: %2", localize "STR_ACE_laser_laserCode", _laserCode]] call EFUNC(common,displayTextStructured);
};

View File

@ -0,0 +1,21 @@
/*
* Author: jaynus
* Checks if the turret occupied by the given unit can lock a laser designator and select laser code.
*
* Argument:
* 0: Unit <OBJECT>
*
* Return value:
* Has designator? <BOOL>
*/
#include "script_component.hpp"
EXPLODE_1_PVT(_this,_unit);
// Get the player turret path
private ["_turret","_config","_turretConfig"];
_turret = [_unit] call EFUNC(common,getTurretIndex);
_config = configFile >> "CfgVehicles" >> typeOf vehicle _unit;
_turretConfig = [_config, _turret] call EFUNC(common,getTurretConfigPath);
getNumber (_turretConfig >> QGVAR(CanLockLaser)) > 0

View File

@ -0,0 +1,27 @@
["ACE3 Equipment", QGVAR(LaserCodeUp), localize "STR_ACE_laser_laserCodeUp",
{
if( EGVAR(laser_selfdesignate,active)
||
{ (currentWeapon ACE_player) == "Laserdesignator" && (call CBA_fnc_getFoV) select 1 > 5 } // If laserdesignator & FOV, we are in scope.
||
{ [ACE_player] call FUNC(unitTurretCanLockLaser) }
) then {
[] call FUNC(keyLaserCodeUp);
};
},
{false},
[16, [false, true, true]], false, 0] call CBA_fnc_addKeybind; // (ALT+CTRL+Q)
["ACE3 Equipment", QGVAR(LaserCodeDown), localize "STR_ACE_laser_laserCodeDown",
{
if( EGVAR(laser_selfdesignate,active)
||
{ (currentWeapon ACE_player) == "Laserdesignator" && (call CBA_fnc_getFoV) select 1 > 5 } // If laserdesignator & FOV, we are in scope.
||
{ [ACE_player] call FUNC(unitTurretCanLockLaser) }
) then {
[] call FUNC(keyLaserCodeDown);
};
},
{false},
[18, [true, true, true]], false, 0] call CBA_fnc_addKeybind; // (ALT+CTRL+E)

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<Project name="ACE">
<Package name="laser">
<Key ID="STR_ACE_laser_laserCode">
<English>Laser Code</English>
<Polish>Kod lasera</Polish>
<French>Code laser</French>
<Russian>Лазерный код</Russian>
</Key>
<Key ID="STR_ACE_laser_laserCodeUp">
<English>Laser - Cycle Code Up</English>
<Polish>Laser - Następny kod</Polish>
<French>Laser - Code +</French>
<Russian>Лазер - увеличить частоту</Russian>
</Key>
<Key ID="STR_ACE_laser_laserCodeDown">
<English>Laser - Cycle Code Down</English>
<Polish>Laser - Poprzedni kod</Polish>
<French>Laser - Code -</French>
<Russian>Лазер - уменьшить частоту</Russian>
</Key>
</Package>
</Project>

View File

@ -21,4 +21,29 @@ class CfgVehicles {
};
};
};
class Plane: Air {};
class Plane_Base_F: Plane {
class Turrets {
class CopilotTurret;
};
};
/* @TODO: LGB GBU
class Plane_CAS_01_base_F: Plane_Base_F {
class Turrets: Turrets {
class MainTurret: MainTurret {
GVAR(Enabled) = 1; // Enable laser self-designation
};
};
};
class Plane_CAS_02_base_F: Plane_Base_F {
class Turrets: Turrets {
class MainTurret: MainTurret {
GVAR(Enabled) = 1; // Enable laser self-designation
};
};
};
*/
};

View File

@ -4,7 +4,7 @@
<Key ID="STR_ACE_Laser_SelfDesignate_DesignatorOn">
<English>Laser Designator On</English>
<German>Lasermarkierer an</German>
<Spanish>Laser Designador encendido</Spanish>
<Spanish>Designador láser encendido</Spanish>
<Russian>ЛЦУ ВКЛ</Russian>
<Czech>Laserový značkovač zapnut</Czech>
<Polish>Desygnator laserowy wł.</Polish>
@ -16,7 +16,7 @@
<Key ID="STR_ACE_Laser_SelfDesignate_DesignatorOff">
<English>Laser Designator Off</English>
<German>Lasermarkierer aus</German>
<Spanish>Laser Designador apagado</Spanish>
<Spanish>Designador láser apagado</Spanish>
<Russian>ЛЦУ ВЫКЛ</Russian>
<Czech>Laserový značkovat vypnut</Czech>
<Polish>Desygnator laserowy wył.</Polish>

View File

@ -20,6 +20,8 @@ class CfgWeapons {
ACE_nextModeClass = "acc_pointer_IR";
ACE_modeDescription = "$STR_ACE_Laserpointer_Laser";
ACE_laserpointer = 1;
author = "$STR_ACE_Common_ACETeam";
_generalMacro = "ACE_acc_pointer_red";
scope = 1;
@ -79,6 +81,8 @@ class CfgWeapons {
ACE_nextModeClass = "ACE_acc_pointer_green_IR";
ACE_modeDescription = "$STR_ACE_Laserpointer_Laser";
ACE_laserpointer = 2;
author = "$STR_ACE_Common_ACETeam";
_generalMacro = "ACE_acc_pointer_green";
scope = 2;

View File

@ -25,10 +25,17 @@ _isIR = _isIR == 1;
default {""};
};
_laserID = ["ACE_acc_pointer_red", "ACE_acc_pointer_green"] find _laser;
if (_laser != "") then {
_cacheName = format [QGVAR(laser_%1), _laser];
_laserID = missionNamespace getVariable [_cacheName, -1];
if (missionNamespace getVariable [_cacheName, -1] == -1) then {
_laserID = getNumber (configFile >> "CfgWeapons" >> _laser >> "ACE_laserpointer");
missionNamespace setVariable [_cacheName, _laserID];
};
if (_laserID > -1 && {_x isFlashlightOn _weapon}) then {
[_x, 50, _laserID == 1 || _isIR] call FUNC(drawLaserpoint);
if (_laserID > 0 && {_x isFlashlightOn _weapon}) then {
[_x, 50, _laserID == 2 || _isIR] call FUNC(drawLaserpoint);
};
};
} forEach GVAR(nearUnits);

View File

@ -46,7 +46,7 @@
<Polish>&lt;t color='#9cf953'&gt;Użyj: &lt;/t&gt;wł./wył. laser</Polish>
<Portuguese>&lt;t color='#9cf953'&gt;Uso: &lt;/t&gt;Ativar/Desativar laser</Portuguese>
<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>
<Hungarian>&lt;t color='#9cf953'&gt;Használat: &lt;/t&gt;Lézer BE/KI kapcsolása</Hungarian>
</Key>
<Key ID="STR_ACE_Laserpointer_Laser">
@ -55,8 +55,10 @@
<Polish>Laser</Polish>
<Russian>Лазер</Russian>
<French>Laser</French>
<Spanish>Laser</Spanish>
<Spanish>Láser</Spanish>
<Italian>Laser</Italian>
<Hungarian>Lézer</Hungarian>
<Czech>Laser</Czech>
</Key>
<Key ID="STR_ACE_Laserpointer_IRLaser">
<English>IR Laser</English>
@ -64,17 +66,21 @@
<Polish>Laser IR</Polish>
<Russian>ИК-лазер</Russian>
<French>Laser IR</French>
<Spanish>Laser IR</Spanish>
<Spanish>Láser IR</Spanish>
<Italian>Laser IR</Italian>
<Hungarian>Infravörös Lézer</Hungarian>
<Czech>IR Laser</Czech>
</Key>
<Key ID="STR_ACE_Laserpointer_switchLaserLight">
<English>Switch Laser / IR Laser</English>
<English>Switch Laser / Infračervený Laser</English>
<German>Umschalten Laser / IR-Laser</German>
<Polish>Przełącz Laser / Laser IR</Polish>
<Russian>Изменить режим Лазер / ИК-лазер</Russian>
<French>Changer Laser / Laser IR</French>
<Italian>Alterna Laser / IR Laser</Italian>
<Spanish>Cambiar Laser / Laser IR</Spanish>
<Spanish>Cambiar láser / Láser IR</Spanish>
<Hungarian>Lézer / Infravörös Lézer váltása</Hungarian>
<Czech>Přepnout Laser / IR Laser</Czech>
</Key>
</Package>
</Project>

View File

@ -18,7 +18,7 @@
<German>Schneidet Draht.</German>
<Spanish>Cortador de cables</Spanish>
<Russian>Позволяют быстро перекусывать сеточные конструкции.</Russian>
<Czech>Štípačky</Czech>
<Czech>Štípací kleště</Czech>
<Polish>Służą do cięcia drutu i płotów</Polish>
<French>Pince coupante</French>
<Hungarian>Drótok, huzalok, és kábelek vágására alkalmas olló.</Hungarian>
@ -42,7 +42,7 @@
<German>Zaun / Draht schneiden ...</German>
<Spanish>Cortando alambrado / cables ...</Spanish>
<Polish>Przecinanie płotu / drutów ...</Polish>
<Czech>Přestřihnout plot / dráty ...</Czech>
<Czech>Přestřihávám plot / dráty ...</Czech>
<French>Cisaille l'obstacle ...</French>
<Portuguese>Cortando Cerca / Arame ...</Portuguese>
<Italian>Sto tagliando ...</Italian>
@ -62,4 +62,4 @@
<Russian>Забор разрезан</Russian>
</Key>
</Package>
</Project>
</Project>

View File

@ -77,7 +77,7 @@
<English>Repacking Finished</English>
<French>Réorganisation terminée</French>
<German>Wiederverpacken Fertig</German>
<Spanish>Reembalaje finalizado</Spanish>
<Spanish>Reorganización finalizada</Spanish>
<Russian>Перепаковка завершена</Russian>
<Czech>Páskování dokončeno</Czech>
<Polish>Przepakowywanie zakończone</Polish>
@ -89,7 +89,7 @@
<English>Repacking Interrupted</English>
<French>Réorganisation interrompue</French>
<German>Umpacken Unterbrochen</German>
<Spanish>Reembalaje interrumpido</Spanish>
<Spanish>Reorganización interrumpida</Spanish>
<Russian>Перепаковка прервана</Russian>
<Czech>Páskování přerušeno</Czech>
<Polish>Przepakowywanie przerwane</Polish>
@ -101,7 +101,7 @@
<English>%1 Full and %2 Partial</English>
<French>%1 plein(s) et %2 partiel(s)</French>
<German>%1 Vollständigen und %2 Teilweisen</German>
<Spanish>%1 Total y %2 Parcial</Spanish>
<Spanish>%1 Llenos y %2 Incompletos</Spanish>
<Russian>%1 полных и %2 неполных</Russian>
<Czech>%1 plný a %2 částečně</Czech>
<Polish>Pełnych: %1.&lt;br/&gt;Częściowo pełnych: %2.</Polish>

View File

@ -6,7 +6,7 @@
#define MAJOR 3
#define MINOR 0
#define PATCHLVL 0
#define BUILD 1
#define BUILD 2
#define VERSION MAJOR.MINOR.PATCHLVL.BUILD
#define VERSION_AR MAJOR,MINOR,PATCHLVL,BUILD

View File

@ -250,6 +250,7 @@ class ACE_Medical_Actions {
treatmentTime = 2.5;
callbackSuccess = QUOTE(DFUNC(actionRemoveTourniquet));
condition = QUOTE([ARR_2(_this select 1, _this select 2)] call FUNC(hasTourniquetAppliedTo));
displayNameProgress = "$STR_ACE_Medical_RemovingTourniquet";
};
class CPR: fieldDressing {
displayName = "$STR_ACE_Medical_Actions_CPR";

View File

@ -22,6 +22,10 @@ class ACE_Settings {
typeName = "SCALAR";
value = 1;
};
class GVAR(painCoefficient) {
typeName = "SCALAR";
value = 1;
};
class GVAR(enableAirway) {
typeName = "BOOL";
value = false;
@ -50,10 +54,10 @@ class ACE_Settings {
typeName = "SCALAR";
value = 1;
};
class GVAR(enableUnsconsiousnessAI) {
class GVAR(enableUnconsciousnessAI) {
value = 1;
typeName = "SCALAR";
values[] = {"Disabled", "Enabled", "50/50"};
values[] = {"Disabled", "50/50", "Enabled"};
};
class GVAR(preventInstaDeath) {
typeName = "BOOL";

View File

@ -87,7 +87,7 @@ class CfgVehicles {
typeName = "NUMBER";
defaultValue = 1;
};
class enableUnsconsiousnessAI {
class enableUnconsciousnessAI {
displayName = "AI Unconsciousness";
description = "Allow AI to go unconscious";
typeName = "NUMBER";
@ -97,12 +97,12 @@ class CfgVehicles {
value = 0;
};
class normal {
name = "Enabled";
name = "50/50";
value = 1;
default = 1;
};
class full {
name = "50/50";
class full {
name = "Enabled";
value = 2;
};
};
@ -119,6 +119,12 @@ class CfgVehicles {
typeName = "NUMBER";
defaultValue = 1;
};
class painCoefficient {
displayName = "Pain coefficient";
description = "Coefficient to modify the pain intensity";
typeName = "NUMBER";
defaultValue = 1;
};
class keepLocalSettingsSynced {
displayName = "Sync status";
description = "Keep unit status synced. Recommended on.";
@ -298,7 +304,7 @@ class CfgVehicles {
};
class doctor {
name = "Doctor (Only Advanced Medics)";
value = 1;
value = 2;
};
};
};
@ -651,7 +657,7 @@ class CfgVehicles {
XEH_ENABLED;
scope = 1;
side = -1;
model = QUOTE(PATHTOF(data\bodybag.p3d));
model = QUOTE(PATHTOEF(apl,bodybag.p3d));
icon = "";
displayName = $STR_ACE_Medical_Bodybag_Display;
EGVAR(dragging,canDrag) = 1;

View File

@ -133,7 +133,7 @@ GVAR(effectTimeBlood) = time;
};
};
_bleeding = ACE_player call FUNC(getBloodLoss);
_bleeding = [ACE_player] call FUNC(getBloodLoss);
// Bleeding Indicator
if (_bleeding > 0 and GVAR(effectTimeBlood) + 3.5 < time) then {
GVAR(effectTimeBlood) = time;
@ -169,7 +169,7 @@ GVAR(lastHeartBeatSound) = time;
// Pain effect
_strength = ACE_player getVariable [QGVAR(pain), 0];
// _strength = _strength * (ACE_player getVariable [QGVAR(coefPain), GVAR(coefPain)]); @todo
_strength = _strength * (ACE_player getVariable [QGVAR(painCoefficient), GVAR(painCoefficient)]);
if (GVAR(painEffectType) == 1) then {
GVAR(effectPainCC) ppEffectEnable false;
if ((ACE_player getVariable [QGVAR(pain), 0]) > 0 && {alive ACE_player}) then {
@ -253,7 +253,7 @@ if (USE_WOUND_EVENT_SYNC) then {
[
{(((_this select 0) getvariable [QGVAR(bloodVolume), 100]) < 65)},
{(((_this select 0) getvariable [QGVAR(pain), 0]) > 0.9)},
{(((_this select 0) call FUNC(getBloodLoss)) > 0.25)},
{(([_this select 0] call FUNC(getBloodLoss)) > 0.25)},
{((_this select 0) getvariable [QGVAR(inReviveState), false])},
{((_this select 0) getvariable [QGVAR(inCardiacArrest), false])},
{((_this select 0) getvariable ["ACE_isDead", false])},

View File

@ -8,7 +8,13 @@ if !(local _unit) exitWith {};
[_unit] call FUNC(init);
//Reset captive status for respawning unit
// Reset captive status for respawning unit
if (!(_unit getVariable ["ACE_isUnconscious", false])) then {
[_unit, QGVAR(unconscious), false] call EFUNC(common,setCaptivityStatus);
};
// Remove maximum unconsciousness time handler
_maxUnconHandle = _unit getVariable [QGVAR(maxUnconTimeHandle), -1];
if (_maxUnconHandle > 0) then {
[_maxUnconHandle] call CBA_fnc_removePerFrameHandler;
};

View File

@ -5,7 +5,7 @@ class CfgPatches {
units[] = {"ACE_medicalSupplyCrate", "ACE_medicalSupplyCrate_advanced", "ACE_fieldDressingItem", "ACE_packingBandageItem", "ACE_elasticBandageItem", "ACE_tourniquetItem", "ACE_morphineItem", "ACE_atropineItem", "ACE_epinephrineItem", "ACE_plasmaIVItem", "ACE_bloodIVItem", "ACE_salineIVItem", "ACE_quikclotItem", "ACE_personalAidKitItem", "ACE_surgicalKitItem", "ACE_bodyBagItem", "ACE_bodyBagObject"};
weapons[] = {"ACE_fieldDressing", "ACE_packingBandage", "ACE_elasticBandage", "ACE_tourniquet", "ACE_morphine", "ACE_atropine", "ACE_epinephrine", "ACE_plasmaIV", "ACE_plasmaIV_500", "ACE_plasmaIV_250", "ACE_bloodIV", "ACE_bloodIV_500", "ACE_bloodIV_250", "ACE_salineIV", "ACE_salineIV_500", "ACE_salineIV_250", "ACE_quikclot", "ACE_personalAidKit", "ACE_surgicalKit", "ACE_bodyBag"};
requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"ace_interaction","ace_modules"};
requiredAddons[] = {"ace_interaction","ace_modules", "ace_apl"};
author[] = {"Glowbal", "KoffienFlummi"};
authorUrl = "";
VERSION_CONFIG;

Binary file not shown.

View File

@ -80,7 +80,7 @@ class Stage6
};
class Stage7
{
texture="z\ace\addons\medical\data\env_co.tga";
texture="z\ace\addons\apl\data\env_co.tga";
uvSource="tex";
class uvTransform
{

View File

@ -15,15 +15,17 @@
#define BLOODLOSSRATE_BASIC 0.2
private ["_totalBloodLoss","_tourniquets","_openWounds", "_cardiacOutput", "_internalWounds"];
private ["_unit", "_totalBloodLoss","_tourniquets","_openWounds", "_cardiacOutput", "_internalWounds"];
// TODO Only use this calculation if medium or higher, otherwise use vanilla calculations (for basic medical).
_unit = _this select 0;
_totalBloodLoss = 0;
// Advanced medical bloodloss handling
if (GVAR(level) >= 2) then {
_tourniquets = _this getvariable [QGVAR(tourniquets), [0,0,0,0,0,0]];
_openWounds = _this getvariable [QGVAR(openWounds), []];
//_cardiacOutput = [_this] call FUNC(getCardiacOutput);
_tourniquets = _unit getvariable [QGVAR(tourniquets), [0,0,0,0,0,0]];
_openWounds = _unit getvariable [QGVAR(openWounds), []];
//_cardiacOutput = [_unit] call FUNC(getCardiacOutput);
{
if ((_tourniquets select (_x select 2)) == 0) then {
@ -34,7 +36,7 @@ if (GVAR(level) >= 2) then {
};
}foreach _openWounds;
_internalWounds = _this getvariable [QGVAR(internalWounds), []];
_internalWounds = _unit getvariable [QGVAR(internalWounds), []];
{
_totalBloodLoss = _totalBloodLoss + ((_x select 4) * (_x select 3));
}foreach _internalWounds;
@ -42,6 +44,6 @@ if (GVAR(level) >= 2) then {
// cap the blood loss to be no greater as the current cardiac output
//(_totalBloodLoss min _cardiacOutput);
} else {
_totalBloodLoss = BLOODLOSSRATE_BASIC * (damage _this);
_totalBloodLoss = BLOODLOSSRATE_BASIC * (damage _unit);
};
_totalBloodLoss * (GVAR(bleedingCoefficient) max 0);
_totalBloodLoss * ((_unit getVariable [QGVAR(bleedingCoefficient), GVAR(bleedingCoefficient)]) max 0);

View File

@ -34,7 +34,7 @@ private ["_unit","_bloodVolume","_bloodVolumeChange", "_ivVolume"];
_unit = _this select 0;
_bloodVolume = _unit getvariable [QGVAR(bloodVolume), 100];
_bloodVolumeChange = -(_unit call FUNC(getBloodLoss));
_bloodVolumeChange = -([_unit] call FUNC(getBloodLoss));
if (_bloodVolume < 100.0) then {
{

View File

@ -20,7 +20,7 @@ _unit = _this select 0;
_hrIncrease = 0;
if (!(_unit getvariable [QGVAR(inCardiacArrest),false])) then {
_heartRate = _unit getvariable [QGVAR(heartRate), 80];
_bloodLoss = _unit call FUNC(getBloodLoss);
_bloodLoss = [_unit] call FUNC(getBloodLoss);
_adjustment = _unit getvariable [QGVAR(heartRateAdjustments), []];
{
@ -83,4 +83,4 @@ if (!(_unit getvariable [QGVAR(inCardiacArrest),false])) then {
_hrIncrease = _hrIncrease - HEART_RATE_MODIFIER;
};
};
_hrIncrease
_hrIncrease

View File

@ -17,12 +17,12 @@
#include "script_component.hpp"
private ["_unit", "_selection", "_damage", "_shooter", "_projectile", "_damageReturn", "_typeOfDamage", "_minLethalDamage", "_newDamage", "_typeIndex"];
_unit = _this select 0;
_selection = _this select 1;
_damage = _this select 2;
_shooter = _this select 3;
_projectile = _this select 4;
private ["_unit", "_selection", "_damage", "_shooter", "_projectile", "_damageReturn", "_typeOfDamage", "_minLethalDamage", "_newDamage", "_typeIndex", "_preventDeath"];
_unit = _this select 0;
_selection = _this select 1;
_damage = _this select 2;
_shooter = _this select 3;
_projectile = _this select 4;
if !(local _unit) exitWith {nil};
@ -34,6 +34,30 @@ if (typeName _projectile == "OBJECT") then {
// If the damage is being weird, we just tell it to fuck off.
if !(_selection in (GVAR(SELECTIONS) + [""])) exitWith {0};
// Exit if we disable damage temporarily
_damageOld = damage _unit;
if (_selection in GVAR(SELECTIONS)) then {
_damageOld = _unit getHit _selection;
};
if !(_unit getVariable [QGVAR(allowDamage), true]) exitWith {_damageOld};
// Figure out whether to prevent death before handling damage
if (diag_frameno > (_unit getVariable [QGVAR(frameNo), -3]) + 2) then {
_unit setVariable [QGVAR(frameNo), diag_frameno];
_unit setVariable [QGVAR(wasUnconscious), _unit getVariable ["ACE_isUnconscious", false]];
_preventDeath = _unit getVariable [QGVAR(preventInstaDeath), GVAR(preventInstaDeath)];
if (_unit getVariable ["ACE_isUnconscious", false]) then {
_preventDeath = _unit getVariable [QGVAR(enableRevive), GVAR(enableRevive)];
if !([_unit] call EFUNC(common,isPlayer)) then {
_preventDeath = _preventDeath - 1;
};
_preventDeath = _preventDeath > 0;
};
_unit setVariable [QGVAR(preventDeath), _preventDeath];
};
// Get return damage
_damageReturn = _damage;
if (GVAR(level) < 2) then {
_damageReturn = _this call FUNC(handleDamage_basic);
@ -73,26 +97,30 @@ if (GVAR(level) < 2) then {
};
[_unit] call FUNC(addToInjuredCollection);
if (_unit getVariable [QGVAR(preventInstaDeath), GVAR(preventInstaDeath)]) exitWith {
if (_damageReturn >= 0.9 && {_selection in ["", "head", "body"]}) exitWith {
if (_unit getvariable ["ACE_isUnconscious", false]) exitwith {
// Prevent death if necessary
if (_unit getVariable QGVAR(preventDeath)) then {
if (_selection in ["", "head", "body"]) then {
_damageReturn = _damageReturn min 0.89;
};
// Move the unit out of the vehicle if necessary
if (vehicle _unit != _unit and damage (vehicle _unit) == 1) then {
[_unit] call EFUNC(common,unloadPerson);
if (_unit getVariable QGVAR(wasUnconscious)) then {
[_unit] call FUNC(setDead);
0.89
} else {
[_unit, true] call FUNC(setUnconscious);
};
[{ [_this select 0, true] call FUNC(setUnconscious); }, [_unit]] call EFUNC(common,execNextFrame);
0.89
};
_damageReturn min 0.89;
};
if (((_unit getVariable [QGVAR(enableRevive), GVAR(enableRevive)]) > 0) && {_damageReturn >= 0.9} && {_selection in ["", "head", "body"]}) exitWith {
if (vehicle _unit != _unit and {damage (vehicle _unit) >= 1}) then {
// @todo
// [_unit] call FUNC(unload);
// Temporarily disable all damage to prevent stuff like
// being killed during the animation etc.
if (!_wasUnconscious and (_unit getVariable ["ACE_isUnconscious", false])) then {
_unit setVariable [QGVAR(allowDamage), false];
[{
_this setVariable [QGVAR(allowDamage), true];
}, _unit, 0.7, 0] call EFUNC(common,waitAndExecute);
};
[_unit] call FUNC(setDead);
0.89
};
_damageReturn

View File

@ -26,22 +26,28 @@
private ["_unit", "_selectionName", "_damage", "_shooter", "_projectile", "_damage", "_armdamage", "_hitPoint", "_index", "_legdamage", "_newDamage", "_otherDamage", "_pain", "_restore"];
_unit = _this select 0;
_selectionName = _this select 1;
_damage = _this select 2;
_shooter = _this select 3;
_projectile = _this select 4;
_unit = _this select 0;
_selectionName = _this select 1;
_damage = _this select 2;
_shooter = _this select 3;
_projectile = _this select 4;
// Apply damage treshold / coefficient
_threshold = [
_unit getVariable [QGVAR(damageThreshold), GVAR(AIDamageThreshold)],
_unit getVariable [QGVAR(damageThreshold), GVAR(playerDamageThreshold)]
] select ([_unit] call EFUNC(common,isPlayer));
_damage = _damage * (1 / _threshold);
// This is a new hit, reset variables.
// Note: sometimes handleDamage spans over 2 or even 3 frames.
if (diag_frameno > (_unit getVariable [QGVAR(frameNo), -3]) + 2) then {
_unit setVariable [QGVAR(frameNo), diag_frameno];
if (diag_frameno > (_unit getVariable [QGVAR(basic_frameNo), -3]) + 2) then {
_unit setVariable [QGVAR(basic_frameNo), diag_frameno];
_unit setVariable [QGVAR(isFalling), false];
_unit setVariable [QGVAR(projectiles), []];
_unit setVariable [QGVAR(hitPoints), []];
_unit setVariable [QGVAR(damages), []];
_unit setVariable [QGVAR(structDamage), 0];
_unit setVariable [QGVAR(preventDeath), false];
// Assign orphan structural damage to torso
[{
private ["_unit", "_damagesum"];
@ -172,11 +178,7 @@ if (_selectionName == "" and
_damage < 1 and
!(_unit getVariable ["ACE_isUnconscious", False]
)) then {
if (_unit getVariable [QGVAR(allowUnconscious), ([_unit] call EFUNC(common,isPlayer)) or random 1 > 0.3]) then {
[_unit, true] call FUNC(setUnconscious);
} else {
_damage = 1;
};
[_unit, true] call FUNC(setUnconscious);
};
_damage

View File

@ -49,7 +49,7 @@ if (_bloodVolume < 100) then {
};
};
if ((_unit call FUNC(getBloodLoss)) > 0) then {
if (([_unit] call FUNC(getBloodLoss)) > 0) then {
if !(_unit getvariable [QGVAR(isBleeding), false]) then {
_unit setvariable [QGVAR(isBleeding), true, true];
};

View File

@ -29,7 +29,8 @@ if !(_activated) exitWith {};
[_logic, QGVAR(enableScreams), "enableScreams"] call EFUNC(common,readSettingFromModule);
[_logic, QGVAR(playerDamageThreshold), "playerDamageThreshold"] call EFUNC(common,readSettingFromModule);
[_logic, QGVAR(AIDamageThreshold), "AIDamageThreshold"] call EFUNC(common,readSettingFromModule);
[_logic, QGVAR(enableUnsconsiousnessAI), "enableUnsconsiousnessAI"] call EFUNC(common,readSettingFromModule);
[_logic, QGVAR(enableUnconsciousnessAI), "enableUnconsciousnessAI"] call EFUNC(common,readSettingFromModule);
[_logic, QGVAR(preventInstaDeath), "preventInstaDeath"] call EFUNC(common,readSettingFromModule);
[_logic, QGVAR(bleedingCoefficient), "bleedingCoefficient"] call EFUNC(common,readSettingFromModule);
[_logic, QGVAR(painCoefficient), "painCoefficient"] call EFUNC(common,readSettingFromModule);
[_logic, QGVAR(keepLocalSettingsSynced), "keepLocalSettingsSynced"] call EFUNC(common,readSettingFromModule);

View File

@ -22,6 +22,9 @@ _unit = _this select 0;
_set = if (count _this > 1) then {_this select 1} else {true};
_minWaitingTime = if (count _this > 2) then {_this select 2} else {DEFAULT_DELAY};
// No change, fuck off. (why is there no xor?)
if (_set isEqualTo (_unit getVariable ["ACE_isUnconscious", false])) exitWith {};
if !(_set) exitwith {
_unit setvariable ["ACE_isUnconscious", false, true];
};
@ -43,16 +46,17 @@ if (_unit == ACE_player) then {
};
// if we have unconsciousness for AI disabled, we will kill the unit instead
if (!([_unit] call EFUNC(common,IsPlayer)) && (GVAR(enableUnsconsiousnessAI) == 0 || (GVAR(enableUnsconsiousnessAI) == 2 && random(1) <= 0.5))) exitwith {
[_unit, true] call FUNC(setDead); // force, to avoid getting into a loop in case revive is enabled.
if !([_unit] call EFUNC(common,isPlayer)) then {
_enableUncon = _unit getVariable [QGVAR(enableUnconsciousnessAI), GVAR(enableUnconsciousnessAI)];
if (_enableUncon == 0 or {_enableUncon == 1 and (random 1) < 0.5}) exitWith {
[_unit, true] call FUNC(setDead);
};
};
// If a unit has the launcher out, it will sometimes start selecting the primairy weapon while unconscious,
// therefor we force it to select the primairy weapon before going unconscious
if ((vehicle _unit) isKindOf "StaticWeapon") then {
moveOut _unit;
unassignVehicle _unit;
//_unit action ["eject", vehicle _unit];
[_unit] call EFUNC(common,unloadPerson);
};
if (animationState _unit in ["ladderriflestatic","laddercivilstatic"]) then {
_unit action ["ladderOff", (nearestBuilding _unit)];
@ -62,12 +66,14 @@ if (vehicle _unit == _unit) then {
_unit addWeapon "ACE_FakePrimaryWeapon";
};
_unit selectWeapon (primaryWeapon _unit);
_unit switchMove "";
_unit playmoveNow "";
};
// We are storing the current animation, so we can use it later on when waking the unit up inside a vehicle
_animState = animationState _unit;
if (vehicle _unit != _unit) then {
_unit setVariable [QGVAR(vehicleAwakeAnim), [(vehicle _unit), (animationState _unit)]];
};
//Save current stance:
_originalPos = unitPos _unit;
_unit setUnitPos "DOWN";
@ -80,11 +86,19 @@ if (GVAR(moveUnitsFromGroupOnUnconscious)) then {
};
[_unit, QGVAR(unconscious), true] call EFUNC(common,setCaptivityStatus);
[_unit, [_unit] call EFUNC(common,getDeathAnim), 1, true] call EFUNC(common,doAnimation);
_anim = [_unit] call EFUNC(common,getDeathAnim);
[_unit, _anim, 1, true] call EFUNC(common,doAnimation);
[{
_unit = _this select 0;
_anim = _this select 1;
if ((_unit getVariable "ACE_isUnconscious") and (animationState _unit != _anim)) then {
[_unit, _anim, 2, true] call EFUNC(common,doAnimation);
};
}, [_unit, _anim], 0.5, 0] call EFUNC(common,waitAndExecute);
_startingTime = time;
[DFUNC(unconsciousPFH), 0.1, [_unit,_animState, _originalPos, _startingTime, _minWaitingTime, false, vehicle _unit isKindOf "ParachuteBase"] ] call CBA_fnc_addPerFrameHandler;
[DFUNC(unconsciousPFH), 0.1, [_unit, _originalPos, _startingTime, _minWaitingTime, false, vehicle _unit isKindOf "ParachuteBase"] ] call CBA_fnc_addPerFrameHandler;
// unconscious can't talk
[_unit, "isUnconscious"] call EFUNC(common,muteUnit);

View File

@ -13,15 +13,14 @@
#include "script_component.hpp"
private ["_unit", "_minWaitingTime", "_oldAnimation", "_hasMovedOut", "_parachuteCheck", "_args", "_originalPos", "_startingTime"];
private ["_unit", "_minWaitingTime", "_slotInfo", "_hasMovedOut", "_parachuteCheck", "_args", "_originalPos", "_startingTime", "_awakeInVehicleAnimation", "_oldVehicleAnimation", "_vehicle"];
_args = _this select 0;
_unit = _args select 0;
_oldAnimation = _args select 1;
_originalPos = _args select 2;
_startingTime = _args select 3;
_minWaitingTime = _args select 4;
_hasMovedOut = _args select 5;
_parachuteCheck = _args select 6;
_originalPos = _args select 1;
_startingTime = _args select 2;
_minWaitingTime = _args select 3;
_hasMovedOut = _args select 4;
_parachuteCheck = _args select 5;
if (!alive _unit) exitwith {
if (GVAR(moveUnitsFromGroupOnUnconscious)) then {
@ -51,10 +50,37 @@ if !(_unit getvariable ["ACE_isUnconscious",false]) exitwith {
[_unit,"amovppnemstpsnonwnondnon", 2] call EFUNC(common,doAnimation);
};
} else {
// Switch to the units original animation, assuming
// TODO: what if the unit switched vehicle?
[_unit, _oldAnimation, 2] call EFUNC(common,doAnimation);
_vehicle = vehicle _unit;
_oldVehicleAnimation = _unit getVariable [QGVAR(vehicleAwakeAnim), []];
_awakeInVehicleAnimation = "";
if (((count _oldVehicleAnimation) > 0) && {(_oldVehicleAnimation select 0) == _vehicle}) then {
_awakeInVehicleAnimation = _oldVehicleAnimation select 1;
};
//Make sure we have a valid, non-terminal animation:
if ((_awakeInVehicleAnimation != "") && {(getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> _awakeInVehicleAnimation >> "terminal")) == 0}) then {
[_unit, _awakeInVehicleAnimation, 2] call EFUNC(common,doAnimation);
} else {
//Don't have a valid animation saved, reset the unit animation with a moveInXXX
TRACE_1("No Valid Animation, doing seat reset", _awakeInVehicleAnimation);
_slotInfo = [];
{if ((_x select 0) == _unit) exitWith {_slotInfo = _x;};} forEach (fullCrew _vehicle);
if (_slotInfo isEqualTo []) exitWith {ERROR("No _slotInfo?");};
//Move the unit out:
_unit setPosASL ((getPosASL _unit) vectorAdd [0,0,100]);
//Move the unit back into old seat:
if ((_slotInfo select 1) == "driver") then {
_unit moveInDriver _vehicle;
} else {
if ((_slotInfo select 1) == "cargo") then {
_unit moveInCargo [_vehicle, (_slotInfo select 2)];
} else {
_unit moveInTurret [_vehicle, (_slotInfo select 3)];
};
};
};
};
_unit setVariable [QGVAR(vehicleAwakeAnim), nil];
["medical_onUnconscious", [_unit, false]] call EFUNC(common,globalEvent);
// EXIT PFH
[(_this select 1)] call cba_fnc_removePerFrameHandler;

File diff suppressed because it is too large Load Diff

View File

@ -251,11 +251,12 @@
<Portuguese>Excluir</Portuguese>
<Russian>Удалить</Russian>
<Spanish>Borrar</Spanish>
<Hungarian>Törlés</Hungarian>
</Key>
<Key ID="STR_ACE_microdagr_toggleUnit">
<English>Toggle MicroDAGR Display Mode</English>
<German>MicoDAGR Anzeigemodus wechseln</German>
<Spanish>Conmutar modo de pantalla del MicroDAGR</Spanish>
<Spanish>Cambiar modo de pantalla del MicroDAGR</Spanish>
<Russian>Сменить режим показа MicroDAGR</Russian>
<Polish>Przełącz GUI MicroDAGR</Polish>
<French>Basculer le mode d'affichage MicroDAGR</French>

View File

@ -19,6 +19,7 @@ class CfgVehicles {
};
class ACE_Comanche_Test : B_Heli_Attack_01_F {
scope = 1;
displayName = "ACE_Comanche_Test";
author = "ACE Team";
class Library {

View File

@ -7,7 +7,7 @@ if(GVAR(enabled) < 1 || {!local _projectile} ) exitWith { false };
if( !isPlayer _shooter && { GVAR(enabled) < 2 } ) exitWith { false };
private["_config", "_enabled", "_target", "_seekerType", "_attackProfile"];
private["_config", "_configs", "_enabled", "_target", "_seekerType", "_attackProfile"];
private["_args", "_canUseLock", "_guidingUnit", "_launchPos", "_lockMode", "_targetPos", "_vanillaTarget"];
PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile);
@ -15,7 +15,9 @@ PARAMS_7(_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile);
// Bail on not missile
if(! (_ammo isKindOf "MissileBase") ) exitWith { false };
_config = configFile >> "CfgAmmo" >> _ammo >> QUOTE(ADDON);
_configs = configProperties [configFile >> "CfgAmmo" >> _ammo >> QUOTE(ADDON), "true", false];
if( (count _configs) < 1) exitWith {};
_config = (configFile >> "CfgAmmo" >> _ammo >> QUOTE(ADDON));
_enabled = getNumber ( _config >> "enabled");
// Bail if guidance is not enabled
@ -27,6 +29,10 @@ _seekerType = (vehicle _shooter) getVariable [QGVAR(seekerType), nil];
_attackProfile = (vehicle _shooter) getVariable [QGVAR(attackProfile), nil];
_lockMode = (vehicle _shooter) getVariable [QGVAR(lockMode), nil];
// @TODO: make this vehicle shooter, but we need to differentiate where its set in ace_laser
_laserCode = _shooter getVariable [QEGVAR(laser,code), ACE_DEFAULT_LASER_CODE];
_laserInfo = [_laserCode, ACE_DEFAULT_LASER_WAVELENGTH, ACE_DEFAULT_LASER_WAVELENGTH];
_launchPos = getPosASL (vehicle _shooter);
TRACE_3("Begin guidance", _target, _seekerType, _attackProfile);
@ -67,7 +73,8 @@ _args = [_this,
[_target, _targetPos, _launchPos],
_seekerType,
_attackProfile,
_lockMode
_lockMode,
_laserInfo
],
[
getNumber ( _config >> "minDeflection" ),

View File

@ -2,17 +2,19 @@
#include "script_component.hpp"
EXPLODE_7_PVT(((_this select 1) select 0),_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile);
private["_angleFov", "_canSeeTarget", "_foundTargetPos", "_laserResult", "_launchParams", "_seekerParams", "_seekerTargetPos", "_sensorPos", "_target"];
private["_angleFov", "_canSeeTarget", "_foundTargetPos", "_laserResult", "_launchParams", "_seekerParams", "_laserCode", "_laserParams", "_seekerTargetPos", "_sensorPos", "_target"];
_seekerTargetPos = _this select 0;
_launchParams = _this select 1;
_seekerParams = _launchParams select 3;
_angleFov = _seekerParams select 0;
_laserParams = (_launchParams select 1) select 5;
TRACE_2("", _launchParams, _laserParams);
if(!isNil "_target") then {
// Handle AI or moving vanilla lasers
_foundTargetPos = getPosASL _target;
} else {
_laserResult = [(getPosASL _projectile), (velocity _projectile), _angleFov, [ACE_DEFAULT_LASER_WAVELENGTH,ACE_DEFAULT_LASER_WAVELENGTH], ACE_DEFAULT_LASER_CODE] call EFUNC(laser,seekerFindLaserSpot);
_laserResult = [(getPosASL _projectile), (velocity _projectile), _angleFov, [(_laserParams select 1),(_laserParams select 2)], (_laserParams select 0)] call EFUNC(laser,seekerFindLaserSpot);
_foundTargetPos = _laserResult select 0;
TRACE_1("Search", _laserResult);
};

View File

@ -3,7 +3,7 @@
<Package name="missileguidance">
<Key ID="STR_ACE_MissileGuidance">
<English>Advanced Missile Guidance</English>
<Spanish>Avanzada Misiles Orientación</Spanish>
<Spanish>Guiado Avanzado de Misiles</Spanish>
<French>Guidage avancé de missile</French>
<Polish>Zaawansowane naprowadzanie rakiet</Polish>
<German>Erweitertes Raketenlenksystem</German>
@ -16,15 +16,16 @@
<Key ID="STR_ACE_MissileGuidance_Desc">
<English>Advanced missile guidance, or AMG, provides multiple enhancements to missile locking and firing. It is also a framework required for missile weapon types.</English>
<Polish>Zaawansowane namierzanie rakiet, lub ZNR, dostarcza wiele poprawek do systemu namierzania rakiet oraz dodaje nowe tryby strzału. Jest to wymagana opcja dla broni rakietowych.</Polish>
<Spanish>Guía de misiles avanzada, o AMG en sus siglas en inglés, ofrece múltiples mejoras en el fijado y disparo de misiles. Es también un framework requerido para armas de tipo misil.</Spanish>
<Italian>Guida dei missili avanzata, o AMG, offre diversi miglioramenti alla teleguida di missili. E' anche un sistema necessario per i tipi di armi missile.</Italian>
<Russian>Продвинутое наведение ракет, или ПНР, обеспечивает множество усовершествований для наведения и стрельбы ракет. Также, это система, необходимая для всех ракетных типов оружия.</Russian>
<German>Das Erweiterte Raketenlenksystem, auch AMG genannt, bietet viele Verbesserungen zum Aufschalten und Feuern mittels gelenkten Raketen. </German>
<Spanish>Guiado Avanzado de Misiles, o AMG en sus siglas en inglés, ofrece múltiples mejoras en el fijado y disparo de misiles. Es también un sistema requerido para armas de tipo misil.</Spanish>
<German>Das Erweiterte Raketenlenksystem, auch ERls genannt, bietet viele Verbesserungen zum Aufschalten und Feuern mittels gelenkten Raketen. </German>
<French>Le guidage avancé de missile, ou AMG en anglais, apporte de multiple améliorations au verouillage et au tir de missiles. C'est aussi un framework requis pour tout arme de type missile.</French>
<Hungarian>A fejlett rakétairányító (vagy AMG) többféle módosítást tartalmaz a rakéták célkövetéséhez és tüzeléséhez. Ez egy szükséges keresztrendszer a rakéta-alapú fegyverekhez.</Hungarian>
</Key>
<Key ID="STR_ACE_Hydra70_DAGR">
<English>Hydra-70 DAGR Missile</English>
<Spanish></Spanish>
<Spanish>Misil Hydra-70 DAGR</Spanish>
<French>Hydra-70 DAGR</French>
<Polish>Hydra-70 DAGR</Polish>
<German>Hydra-70 DAGR Rackete</German>
@ -36,7 +37,7 @@
</Key>
<Key ID="STR_ACE_Hydra70_DAGR_Short">
<English>DAGR</English>
<Spanish></Spanish>
<Spanish>DAGR</Spanish>
<French>DAGR</French>
<Polish>DAGR</Polish>
<German>DAGR</German>
@ -48,31 +49,31 @@
</Key>
<Key ID="STR_ACE_Hydra70_DAGR_Desc">
<English>Hydra-70 DAGR Laser Guided Missile</English>
<Spanish></Spanish>
<Spanish>Misil guiado por láser Hydra-70 DAGR</Spanish>
<French>Missile à guidage laser Hydra-70 DAGR</French>
<Polish>Laserowo naprowadzana rakieta Hydra-70 DAGR</Polish>
<German>Hydra-70 DAGR lasergelenkte Rakete</German>
<Czech>Hydra-70 DAGR laserem naváděná střela</Czech>
<Italian>Hydra-70 DAGR missile guida laser</Italian>
<Portuguese></Portuguese>
<Hungarian>Hydra-70 DAGR lézer-irányított rakéta</Hungarian>
<Hungarian>Hydra-70 DAGR lézer-irányított rakéta</Hungarian>
<Russian>Управляемая ракета лазерного наведения Hydra-70 DAGR</Russian>
</Key>
<Key ID="STR_ACE_Hellfire_AGM114K">
<English>Hellfire II AGM-114K Missile</English>
<Spanish></Spanish>
<Spanish>Misil Hellfire II AGM-114K</Spanish>
<French>Hellfire II AGM-114K</French>
<Polish>Hellfire II AGM-114K</Polish>
<German>Hellfire II AGM-114K</German>
<Czech>Hellfire II AGM-114K</Czech>
<Italian>Missile Hellfire II AGM-114K</Italian>
<Portuguese></Portuguese>
<Hungarian>Hellfire II AGM-114K rakéta</Hungarian>
<Hungarian>Hellfire II AGM-114K rakéta</Hungarian>
<Russian>Hellfire II AGM-114K</Russian>
</Key>
<Key ID="STR_ACE_Hellfire_AGM114K_Short">
<English>AGM-114K</English>
<Spanish></Spanish>
<Spanish>AGM-114K</Spanish>
<French>AGM-114K</French>
<Polish>AGM-114K</Polish>
<German>AGM-114K</German>
@ -84,15 +85,15 @@
</Key>
<Key ID="STR_ACE_Hellfire_AGM114K_desc">
<English>Hellfire II AGM-114K Laser Guided Missile</English>
<Spanish></Spanish>
<Spanish>Misil guiado por láser Hellfire II AGM-114K</Spanish>
<French>Missile à guidage laser Hellfire II AGM-114K</French>
<Polish>Laserowo naprowadzana rakieta Hellfire II AGM-114K</Polish>
<German>Hellfire II AGM-114K Lasergelenkte Rakete</German>
<Czech>Hellfire II AGM-114K laserem naváděná střela</Czech>
<Italian>Missile guida laser Hellfire II AGM-114K</Italian>
<Portuguese></Portuguese>
<Hungarian>Hellfire II AGM-114K lézer-irányított rakéta</Hungarian>
<Hungarian>Hellfire II AGM-114K lézer-irányított rakéta</Hungarian>
<Russian>Управляемая ракета лазерного наведения Hellfire II AGM-114K</Russian>
</Key>
</Package>
</Project>
</Project>

View File

@ -58,8 +58,8 @@ class CfgVehicles {
functionPriority = 0;
class Arguments {
class airResistanceEnabled {
displayName = "Air Resitance";
description = "For Player Shots, Model Air Restiance and Wind Effects";
displayName = "Air Resistance";
description = "For Player Shots, Model Air Resistance and Wind Effects";
typeName = "BOOL";
defaultValue = 1;
};

View File

@ -1,12 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project name="ACE">
<Package name="mk6mortar">
<Key ID="STR_ACE_MK6MORTAR_rangetable_name">
<English>82mm Rangetable</English>
<German>82mm Distanztabelle</German>
<Polish>Tabela strzelnicza 82mm</Polish>
<French>table de tir 82mm</French>
<French>Table de tir 82mm</French>
<Russian>82 мм Таблица дальностей и прицелов</Russian>
<Spanish>Tabla de distancias de 82mm</Spanish>
<Hungarian>82mm hatótáv-tábla</Hungarian>
</Key>
<Key ID="STR_ACE_MK6MORTAR_rangetable_description">
<English>Range Table for the MK6 82mm Mortar</English>
@ -14,13 +16,17 @@
<Polish>Tabela strzelnicza dla moździerza 82mm MK6</Polish>
<French>Table de tir pour le mortier MK6 82mm</French>
<Russian>Таблица дальностей и прицелов для MK6 82 мм мортиры</Russian>
<Spanish>Tabla de distancias para el mortero MK6 de 82mm</Spanish>
<Hungarian>Hatótáv-tábla a MK6 82mm-es mozsárhoz</Hungarian>
</Key>
<Key ID="STR_ACE_MK6MORTAR_rangetable_action">
<English>Open 82mm Rangetable</English>
<German>Öffne 82mm Distanztabelle</German>
<Polish>Otwórz tabelę strzelniczą 82mm</Polish>
<French>ouvrir la table de tir 82mm</French>
<French>Ouvrir la table de tir 82mm</French>
<Russian>Открыть 82 мм Таблицу дальностей и прицелов</Russian>
<Spanish>Abrir tabla de distancias de 82mm</Spanish>
<Hungarian>82mm hatótáv-tábla megnyitása</Hungarian>
</Key>
<Key ID="STR_ACE_MK6MORTAR_rangetable_charge">
<English>Charge</English>
@ -28,6 +34,8 @@
<French>Charge</French>
<Polish>Ładunek</Polish>
<Russian>Зарядить</Russian>
<Spanish>Carga</Spanish>
<Hungarian>Töltés</Hungarian>
</Key>
</Package>
</Project>

View File

@ -8,7 +8,7 @@ if (!hasInterface) exitWith {};
GVAR(ShowNamesTime) = -10;
// Add keybinds
["ACE3", QGVAR(showNameTags), localize "STR_ACE_NameTags_ShowNames",
["ACE3 Common", QGVAR(showNameTags), localize "STR_ACE_NameTags_ShowNames",
{
// Conditions: canInteract
if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false};

View File

@ -28,7 +28,7 @@
<Key ID="STR_ACE_NameTags_ShowPlayerNamesOnlyOnCursor">
<English>Show player name only on cursor (requires player names)</English>
<Polish>Pokaż imiona graczy tylko pod kursorem (wymagana opcja Pokaż imiona graczy)</Polish>
<Spanish>Mostrar nombres solo en el cursor (requiere Mostrar nombres de jugadores)</Spanish>
<Spanish>Mostrar nombres de jugadores solo al apuntarles (requiere Mostrar nombres de jugadores)</Spanish>
<German>Zeige Spielernamen nur an, wenn die Maus auf sie gerrichtet ist (benötigt Spielernamen)</German>
<French>Noms uniquement sous le curseur (si noms affichés)</French>
<Czech>Zobrazit jméno hráče jenom na kurzor (vyžaduje jména hráčů)</Czech>
@ -40,7 +40,7 @@
<Key ID="STR_ACE_NameTags_ShowPlayerNamesOnlyOnKeyPress">
<English>Show player name only on keypress (requires player names)</English>
<German>Spielernamen nur auf Tastendruck anzeigen (benötigt Spielernamen)</German>
<Spanish>Mostrar nombres solo al pulsar (requiere Mostrar nombres de jugadores)</Spanish>
<Spanish>Mostrar nombres solo al pulsar la tecla(requiere Mostrar nombres de jugadores)</Spanish>
<French>Noms uniquement sur pression de la touche (si noms affichés)</French>
<Czech>Zobrazit jména hráčů jen na klávesu (vyžaduje jména hráčů)</Czech>
<Polish>Pokaż imiona graczy tylko po przytrzymaniu klawisza (wymagana opcja Pokaż imiona graczy)</Polish>

View File

@ -10,7 +10,7 @@
<Polish>Gogle noktowizyjne (Gen1)</Polish>
<Portuguese>Óculos de visão noturna (Gen1)</Portuguese>
<Russian>ПНВ (Gen1)</Russian>
<Spanish>Sistema de visión nocturna (Gen1)</Spanish>
<Spanish>Gafas de visión nocturna (Gen1)</Spanish>
<Hungarian>Éjjellátó szemüveg (1. Gen.)</Hungarian>
</Key>
<Key ID="STR_ACE_NightVision_NVG_Gen2">
@ -22,7 +22,7 @@
<Polish>Gogle noktowizyjne (Gen2)</Polish>
<Portuguese>Óculos de visão noturna (Gen2)</Portuguese>
<Russian>ПНВ (Gen2)</Russian>
<Spanish>Sistema de visión nocturna (Gen2)</Spanish>
<Spanish>Gafas de visión nocturna (Gen2)</Spanish>
<Hungarian>Éjjellátó szemüveg (2. Gen.)</Hungarian>
</Key>
<Key ID="STR_ACE_NightVision_NVG_Gen3">
@ -34,7 +34,7 @@
<Polish>Gogle noktowizyjne (Gen3)</Polish>
<Portuguese>Óculos de visão noturna (Gen3)</Portuguese>
<Russian>ПНВ (Gen3)</Russian>
<Spanish>Sistema de visión nocturna (Gen3)</Spanish>
<Spanish>Gafas de visión nocturna (Gen3)</Spanish>
<Hungarian>Éjjellátó szemüveg (3. Gen.)</Hungarian>
</Key>
<Key ID="STR_ACE_NightVision_NVG_Gen3_brown">
@ -46,7 +46,7 @@
<Polish>Gogle noktowizyjne (Gen3, brązowe)</Polish>
<Portuguese>Óculos de visão noturna (Gen3, marrons)</Portuguese>
<Russian>ПНВ (Gen3, коричневый)</Russian>
<Spanish>Sistema de visión nocturna (Gen3, marrón)</Spanish>
<Spanish>Gafas de visión nocturna (Gen3, marrón)</Spanish>
<Hungarian>Éjjellátó szemüveg (3. Gen., barna)</Hungarian>
</Key>
<Key ID="STR_ACE_NightVision_NVG_Gen3_green">
@ -58,7 +58,7 @@
<Polish>Gogle noktowizyjne (Gen3, zielone)</Polish>
<Portuguese>Óculos de visão noturna (Gen3, verdes)</Portuguese>
<Russian>ПНВ (Gen3, зеленый)</Russian>
<Spanish>Sistema de visión nocturna (Gen3, verde)</Spanish>
<Spanish>Gafas de visión nocturna (Gen3, verde)</Spanish>
<Hungarian>Éjjellátó szemüveg (3. Gen., zöld)</Hungarian>
</Key>
<Key ID="STR_ACE_NightVision_NVG_Gen3_black">
@ -70,7 +70,7 @@
<Polish>Gogle noktowizyjne (Gen3, czarne)</Polish>
<Portuguese>Óculos de visão noturna (Gen3, pretos)</Portuguese>
<Russian>ПНВ (Gen3, черный)</Russian>
<Spanish>Sistema de visión nocturna (Gen3, negro)</Spanish>
<Spanish>Gafas de visión nocturna (Gen3, negro)</Spanish>
<Hungarian>Éjjellátó szemüveg (3. Gen., fekete)</Hungarian>
</Key>
<Key ID="STR_ACE_NightVision_NVG_Gen4">
@ -82,13 +82,13 @@
<Polish>Gogle noktowizyjne (Gen4)</Polish>
<Portuguese>Óculos de visão noturna (Gen4)</Portuguese>
<Russian>ПНВ (Gen4)</Russian>
<Spanish>Sistema de visión nocturna (Gen4)</Spanish>
<Spanish>Gafas de visión nocturna (Gen4)</Spanish>
<Hungarian>Éjjellátó szemüveg (4. Gen.)</Hungarian>
</Key>
<Key ID="STR_ACE_NightVision_NVG_FullScreen">
<English>NV Goggles (Wide)</English>
<German>NS-Brille (Weitwinkel)</German>
<Spanish>Sistema de visión nocturna (Panorámicas)</Spanish>
<Spanish>Gafas de visión nocturna (Panorámicas)</Spanish>
<Polish>Gogle noktowizyjne (panoramiczne)</Polish>
<Czech>Noktovizor (Širokoúhlý)</Czech>
<Russian>ПНВ (Широкоугольный)</Russian>

View File

@ -124,7 +124,7 @@
<Key ID="STR_ACE_OptionsMenu_OpenExport">
<English>Open Export Menu</English>
<German>Öffne Exportmenü</German>
<Spanish>Abrir menu d'exportación</Spanish>
<Spanish>Abrir menú de exportación</Spanish>
<Russian>Открыть меню экспорта</Russian>
<Czech>Otevřít exportovací menu</Czech>
<Polish>Otwórz menu eksportowania</Polish>
@ -136,9 +136,10 @@
<Key ID="STR_ACE_OptionsMenu_stringType">
<English>String input.</English>
<German>Zeichenketteneingabe</German>
<Spanish>Introducir frase</Spanish>
<Spanish>Introducir cadena de texto.</Spanish>
<Russian>Строчный ввод.</Russian>
<Polish>Wpisywanie tekstu.</Polish>
<Czech>Vkládání textu.</Czech>
<French>Entrée</French>
<Hungarian>String bevitel.</Hungarian>
<Italian>Stringa di unput.</Italian>
@ -159,7 +160,7 @@
<Key ID="STR_ACE_OptionsMenu_scalarType">
<English>Number</English>
<German>Zahl</German>
<Spanish>Numero</Spanish>
<Spanish>Número</Spanish>
<Russian>Число</Russian>
<Czech>Číslo</Czech>
<Polish>Cyfra</Polish>
@ -232,9 +233,11 @@
<English>Option Menu UI Scaling</English>
<French>Menu option: taille de l'UI</French>
<Polish>Skalowanie UI menu ustawień</Polish>
<Spanish>Opción de escalado del menú UI</Spanish>
<Czech>Měřítko UI v menu nastavení</Czech>
<Russian>Размер интерфейса меню настройки</Russian>
<Spanish>Opción de escalado del menú IU</Spanish>
<German>UI Skalierung</German>
<Hungarian>Beállításmenü kezelőfelületének skálázása</Hungarian>
</Key>
</Package>
</Project>

View File

@ -4,7 +4,7 @@
<Key ID="STR_ACE_overheating_SettingDisplayTextName">
<English>Display text on jam</English>
<German>Zeige Text bei Ladehemmung</German>
<Spanish>Mostrar texto al encasquillar</Spanish>
<Spanish>Mostrar texto al encasquillarse</Spanish>
<Russian>Показывать текст, когда клинит оружие</Russian>
<Czech>Zobrazit upozornění při zaseknutí</Czech>
<Polish>Wyświetl tekst przy zacięciu broni</Polish>
@ -170,4 +170,4 @@
<Russian>Температура</Russian>
</Key>
</Package>
</Project>
</Project>

View File

@ -291,7 +291,7 @@
<Key ID="STR_ACE_RealisticNames_Truck_01_box_Name">
<English>HEMTT Container</English>
<German>HEMTT Container</German>
<Spanish>HEMTT de contenedor</Spanish>
<Spanish>HEMTT con contenedor</Spanish>
<Polish>HEMTT Kontener</Polish>
<Czech>HEMTT Skříňový</Czech>
<French>HEMTT Conteneur</French>
@ -615,7 +615,7 @@
<Key ID="STR_ACE_RealisticNames_Truck_03_device_Name">
<English>Typhoon Device</English>
<German>Typhoon Gerät</German>
<Spanish>Typhoon de dispositivo</Spanish>
<Spanish>Typhoon con dispositivo</Spanish>
<Polish>Typhoon Urządzenie</Polish>
<Czech>Typhoon zařízení</Czech>
<French>Typhoon Dispositif</French>
@ -1580,6 +1580,7 @@
<Italian>Noreen "Bad News" ULR</Italian>
<German>Noreen "Bad News" ULR</German>
<Polish>Noreen "Bad News" ULR</Polish>
<Hungarian>Noreen "Bad News"ULR</Hungarian>
</Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_02">
<English>Noreen "Bad News" ULR (Black)</English>
@ -1590,6 +1591,7 @@
<German>Noreen "Bad News" ULR (Schwarz)</German>
<Polish>Noreen "Bad News" ULR (czarny)</Polish>
<Italian>Noreen "Bad News" ULR (Nero)</Italian>
<Hungarian>Noreen "Bad News"ULR (Fekete)</Hungarian>
</Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_02_camo">
<English>Noreen "Bad News" ULR (Camo)</English>
@ -1600,6 +1602,7 @@
<German>Noreen "Bad News" ULR (Camo)</German>
<Polish>Noreen "Bad News" ULR (kamuflaż)</Polish>
<Italian>Noreen "Bad News" ULR (Camo)</Italian>
<Hungarian>Noreen "Bad News"ULR (Terepmintás)</Hungarian>
</Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_02_sniper">
<English>Noreen "Bad News" ULR (Sand)</English>
@ -1610,6 +1613,7 @@
<German>Noreen "Bad News" ULR (Sand)</German>
<Polish>Noreen "Bad News" ULR (piaskowy)</Polish>
<Italian>Noreen "Bad News" ULR (Sabbia)</Italian>
<Hungarian>Noreen "Bad News"ULR (Homok)</Hungarian>
</Key>
<Key ID="STR_ACE_RealisticNames_DMR_03">
<English>SIG 556</English>
@ -1620,6 +1624,7 @@
<Polish>SIG 556</Polish>
<German>SIG 556</German>
<Italian>SIG 556</Italian>
<Hungarian>SIG 556</Hungarian>
</Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_03">
<English>SIG 556 (Black)</English>
@ -1630,6 +1635,7 @@
<Polish>SIG 556 (czarny)</Polish>
<German>SIG 556 (Schwarz)</German>
<Italian>SIG 556 (Nero)</Italian>
<Hungarian>SIG 556 (Fekete)</Hungarian>
</Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_03_khaki">
<English>SIG 556 (Khaki)</English>
@ -1640,6 +1646,7 @@
<Polish>SIG 556 (khaki)</Polish>
<German>SIG 556 (Khaki)</German>
<Italian>SIG 556 (Khaki)</Italian>
<Hungarian>SIG 556 (Khaki)</Hungarian>
</Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_03_tan">
<English>SIG 556 (Sand)</English>
@ -1650,6 +1657,7 @@
<Polish>SIG 556 (piaskowy)</Polish>
<German>SIG 556 (Sand)</German>
<Italian>SIG 556 (Sabbia)</Italian>
<Hungarian>SIG 556 (Homok)</Hungarian>
</Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_03_multicam">
<English>SIG 556 (Camo)</English>
@ -1660,6 +1668,7 @@
<Polish>SIG 556 (kamuflaż)</Polish>
<German>SIG 556 (Camo)</German>
<Italian>SIG 556 (Camo)</Italian>
<Hungarian>SIG 556 (Terepmintás)</Hungarian>
</Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_03_woodland">
<English>SIG 556 (Woodland)</English>
@ -1670,6 +1679,7 @@
<Polish>SIG 556 (leśny)</Polish>
<German>SIG 556 (Woodland)</German>
<Italian>SIG 556 (Woodland)</Italian>
<Hungarian>SIG 556 (Erdőmintás)</Hungarian>
</Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_03_spotter">
<English>SIG 556 (provisional) spotter</English>
@ -1680,6 +1690,7 @@
<Polish>SIG 556 (prowizoryczny) obserwator</Polish>
<German>SIG 556 (provisorisch) Beobachter</German>
<Italian>SIG 556 (provisional) spotter</Italian>
<Hungarian>SIG 556 (Ellátmányi) Megfigyelő</Hungarian>
</Key>
<Key ID="STR_ACE_RealisticNames_DMR_04">
<English>ASP-1 Kir</English>
@ -1690,6 +1701,7 @@
<German>ASP-1 Kir</German>
<Italian>ASP-1 Kir</Italian>
<Polish>ASP-1 Kir</Polish>
<Hungarian>ASP-1 Kir</Hungarian>
</Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_04">
<English>ASP-1 Kir (Black)</English>
@ -1700,6 +1712,7 @@
<German>ASP-1 Kir (Schwarz)</German>
<Polish>ASP-1 Kir (czarny)</Polish>
<Italian>ASP-1 Kir (Nero)</Italian>
<Hungarian>ASP-1 Kir (Fekete)</Hungarian>
</Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_04_Tan">
<English>ASP-1 Kir (Tan)</English>
@ -1710,6 +1723,7 @@
<German>ASP-1 Kir (Hellbraun)</German>
<Polish>ASP-1 Kir (Tan)</Polish>
<Italian>ASP-1 Kir (Tan)</Italian>
<Hungarian>ASP-1 Kir (Cserszín)</Hungarian>
</Key>
<Key ID="STR_ACE_RealisticNames_DMR_05">
<English>Cyrus</English>
@ -1720,6 +1734,7 @@
<German>Cyrus</German>
<Italian>Cyrus</Italian>
<Polish>Cyrus</Polish>
<Hungarian>Cyrus</Hungarian>
</Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_05_blk">
<English>Cyrus (Black)</English>
@ -1730,6 +1745,7 @@
<German>Cyrus (Schwarz)</German>
<Polish>Cyrus (czarny)</Polish>
<Italian>Cyrus (Nero)</Italian>
<Hungarian>Cyrus (Fekete)</Hungarian>
</Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_05_hex">
<English>Cyrus (Hex)</English>
@ -1740,6 +1756,7 @@
<German>Cyrus (Hex)</German>
<Polish>Cyrus (hex)</Polish>
<Italian>Cyrus (Hex)</Italian>
<Hungarian>Cyrus (Hex)</Hungarian>
</Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_05_tan">
<English>Cyrus (Tan)</English>
@ -1750,6 +1767,7 @@
<German>Cyrus (Hellbraun)</German>
<Polish>Cyrus (podpalany)</Polish>
<Italian>Cyrus (Tan)</Italian>
<Hungarian>Cyrus (Cserszín)</Hungarian>
</Key>
<Key ID="STR_ACE_RealisticNames_DMR_06">
<English>M14</English>
@ -1760,6 +1778,7 @@
<Polish>M14</Polish>
<German>M14</German>
<Italian>M14</Italian>
<Hungarian>M14</Hungarian>
</Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_06_camo">
<English>M14 (Camo)</English>
@ -1770,6 +1789,7 @@
<Polish>M14 (kamuflaż)</Polish>
<German>M14 (Camo)</German>
<Italian>M14 (Camo)</Italian>
<Hungarian>M14 (Terepmintás)</Hungarian>
</Key>
<Key ID="STR_ACE_RealisticNames_srifle_DMR_06_olive">
<English>M14 (Olive)</English>
@ -1780,6 +1800,7 @@
<Polish>M14 (oliwkowy)</Polish>
<German>M14 (Olive)</German>
<Italian>M14 (Olive)</Italian>
<Hungarian>M14 (Olíva)</Hungarian>
</Key>
<Key ID="STR_ACE_RealisticNames_MMG_01">
<English>HK121</English>
@ -1790,6 +1811,7 @@
<German>HK121</German>
<Italian>HK121</Italian>
<Polish>HK121</Polish>
<Hungarian>HK121</Hungarian>
</Key>
<Key ID="STR_ACE_RealisticNames_MMG_01_hex">
<English>HK121 (Hex)</English>
@ -1800,6 +1822,7 @@
<German>HK121 (Hex)</German>
<Polish>HK121 (hex)</Polish>
<Italian>HK121 (Hex)</Italian>
<Hungarian>HK121 (Hex)</Hungarian>
</Key>
<Key ID="STR_ACE_RealisticNames_MMG_01_tan">
<English>HK121 (Tan)</English>
@ -1810,6 +1833,7 @@
<German>HK121 (Hellbraun)</German>
<Polish>HK121 (podpalany)</Polish>
<Italian>HK121 (Tan)</Italian>
<Hungarian>HK121 (Cserszín)</Hungarian>
</Key>
<Key ID="STR_ACE_RealisticNames_MMG_02">
<English>LWMMG</English>
@ -1820,6 +1844,7 @@
<Polish>LWMMG</Polish>
<German>LWMMG</German>
<Italian>LWMMG</Italian>
<Hungarian>LWMMG</Hungarian>
</Key>
<Key ID="STR_ACE_RealisticNames_MMG_02_camo">
<English>LWMMG (MTP)</English>
@ -1830,6 +1855,7 @@
<Polish>LWMMG (MTP)</Polish>
<German>LWMMG (MTP)</German>
<Italian>LWMMG (MTP)</Italian>
<Hungarian>LWMMG (MTP)</Hungarian>
</Key>
<Key ID="STR_ACE_RealisticNames_MMG_02_black">
<English>LWMMG (Black)</English>
@ -1840,6 +1866,7 @@
<Polish>LWMMG (czarny)</Polish>
<German>LWMMG (Schwarz)</German>
<Italian>LWMMG (Nero)</Italian>
<Hungarian>LWMMG (Fekete)</Hungarian>
</Key>
<Key ID="STR_ACE_RealisticNames_MMG_02_sand">
<English>LWMMG (Sand)</English>
@ -1850,6 +1877,7 @@
<Polish>LWMMG (piaskowy)</Polish>
<German>LWMMG (Sand)</German>
<Italian>LWMMG (Sabbia)</Italian>
<Hungarian>LWMMG (Homok)</Hungarian>
</Key>
</Package>
</Project>
</Project>

View File

@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project name="ACE">
<Package name="Reload">
<Key ID="STR_ACE_reload_SettingDisplayTextName">
<English>Check ammo on weapon reload</English>
<German>Prüfe Munition beim Nachladen</German>
<Spanish>Comprovar munición al recargar el arma</Spanish>
<Spanish>Comprobar munición al recargar el arma</Spanish>
<Russian>Проверять боезапас при перезарядке</Russian>
<Czech>Zkontrolovat munici při nabití</Czech>
<Polish>Sprawdź stan amunicji przy przeładowaniu broni</Polish>
@ -16,7 +16,7 @@
<Key ID="STR_ACE_reload_SettingDisplayTextDesc">
<English>Check the ammo in your new magazine on magazine reload.</English>
<German>Prüfe nachgeladenes Magazin</German>
<Spanish>Comprueva la munición del nuevo cargador al recargar.</Spanish>
<Spanish>Comprueba la munición del nuevo cargador al recargar.</Spanish>
<Russian>Проверяет количество патронов в новом магазине при перезарядке.</Russian>
<Czech>Kontroluje munice při nabití nového zásobníku.</Czech>
<Polish>Pokaż stan amunicji w nowym magazynku przy przeładowaniu broni</Polish>
@ -28,7 +28,7 @@
<Key ID="STR_ACE_Reload_checkAmmo">
<English>Check Ammo</English>
<German>Munition prüfen</German>
<Spanish>Verificar munición</Spanish>
<Spanish>Comprobar munición</Spanish>
<Polish>Sprawdź amunicję</Polish>
<French>Vérifier Munitions</French>
<Hungarian>Lőszerellenőrzés</Hungarian>
@ -63,7 +63,7 @@
</Key>
<Key ID="STR_ACE_Reload_LinkingBelt">
<English>Linking belt...</English>
<French>Attache d'une bande</French>
<French>Attache d'une bande...</French>
<Spanish>Enlazando cinta...</Spanish>
<Russian>Сцепка лент ...</Russian>
<Czech>Spojuji pás...</Czech>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project name="ACE">
<Package name="ReloadLaunchers">
<Key ID="STR_ACE_ReloadLaunchers_LoadLauncher">
@ -15,7 +15,7 @@
</Key>
<Key ID="STR_ACE_ReloadLaunchers_LoadingLauncher">
<English>Loading launcher ...</English>
<French>Chargement du lanceur</French>
<French>Chargement du lanceur ...</French>
<German>Panzerabwehr wird geladen ...</German>
<Spanish>Cargando lanzador ...</Spanish>
<Russian>Зарядка ПУ ...</Russian>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project name="ACE">
<Package name="Interaction">
<Key ID="STR_ACE_Respawn_Deploy">
@ -16,7 +16,7 @@
<Key ID="STR_ACE_Respawn_Deployed">
<English>Rallypoint deployed</English>
<French>Point de ralliement déployé</French>
<German>Rallypoint errichtet</German>
<German>Sammelpunkt errichtet</German>
<Spanish>Punto de reunión desplegado</Spanish>
<Russian>Точка сбора установлена</Russian>
<Polish>Punkt zbiórki rozmieszczony</Polish>
@ -27,11 +27,21 @@
</Key>
<Key ID="STR_ACE_Respawn_TeleportToBase">
<English>Teleport to Base</English>
<Czech>Teleportovat na Základnu</Czech>
<German>Zur Basis teleportieren</German>
<Spanish>Treletransportar a Base</Spanish>
<Polish>Teleport do bazy</Polish>
<Russian>Телепортироваться на базу</Russian>
<French>Téléportation à la base</French>
</Key>
<Key ID="STR_ACE_Respawn_TeleportToRallypoint">
<English>Teleport to Rallypoint</English>
<German>Zum Rallypoint teleportieren</German>
<Czech>Teleport na Rallypoint</Czech>
<Spanish>Teletransportar a Punto de reunión</Spanish>
<German>Zum Sammelpunkt teleportieren</German>
<Polish>Teleport do punktu zbiórki</Polish>
<Russian>Телепортироваться на точку сбора</Russian>
<French>Téléporation au point de ralliement</French>
</Key>
<Key ID="STR_ACE_Respawn_TeleportedToBase">
<English>Teleported to Base</English>
@ -40,7 +50,7 @@
<Spanish>Teletransportado a base</Spanish>
<Russian>Телепорт на базу</Russian>
<Polish>Przeteleportowano do bazy</Polish>
<Czech>Odteleportován na základnu</Czech>
<Czech>Teleportován na základnu</Czech>
<Hungarian>Bázisra teleportálva</Hungarian>
<Italian>Teleportato alla base</Italian>
<Portuguese>Teletransportado para a Base</Portuguese>
@ -48,11 +58,11 @@
<Key ID="STR_ACE_Respawn_TeleportedToRallypoint">
<English>Teleported to Rallypoint</English>
<French>Téléporté au point de déploiement</French>
<German>Zum Rallypoint teleportiert</German>
<German>Zum Sammelpunkt teleportiert</German>
<Spanish>Teletransportado al punto de reunión</Spanish>
<Russian>Телепорт на точку сбора</Russian>
<Polish>Przeteleportowano do punktu zbiórki</Polish>
<Czech>Odteleportován na rallypoint</Czech>
<Czech>Teleportován na rallypoint</Czech>
<Hungarian>Gyülekezőpontra teleportálva</Hungarian>
<Italian>Teleportato al rallypoint</Italian>
<Portuguese>Teletransportado para o Rallypoints</Portuguese>
@ -65,6 +75,8 @@
<Polish>Punkt zbiórki Zachodu (Baza)</Polish>
<French>Point de ralliement OUEST (Base)</French>
<Italian>Rallypoint West (Base)</Italian>
<Hungarian>Gyülekezőpont, Nyugat (Bázis)</Hungarian>
<Czech>Rallypoint Západ (Základna)</Czech>
</Key>
<Key ID="STR_ACE_Respawn_RallypointEastBase">
<English>Rallypoint East (Base)</English>
@ -74,6 +86,8 @@
<Polish>Punkt zbiórki Wschodu (Baza)</Polish>
<French>Point de ralliement EST (Base)</French>
<Italian>Rallypoint East (Base)</Italian>
<Hungarian>Gyülekezőpont, Kelet (Bázis)</Hungarian>
<Czech>Ralllypoint Východ (Základna)</Czech>
</Key>
<Key ID="STR_ACE_Respawn_RallypointIndependentBase">
<English>Rallypoint Independent (Base)</English>
@ -83,6 +97,8 @@
<Polish>Punkt zbiórki Ruchu oporu (Baza)</Polish>
<French>Point de ralliement Indépendant (Base)</French>
<Italian>Rallypoint Independent (Base)</Italian>
<Hungarian>Gyülekezőpont, Független (Bázis)</Hungarian>
<Czech>Rallypoint Nezávislý (Základna)</Czech>
</Key>
<Key ID="STR_ACE_Respawn_RallypointWest">
<English>Rallypoint West</English>
@ -92,6 +108,8 @@
<Polish>Punkt zbiórki Zachodu</Polish>
<French>Point de ralliement OUEST</French>
<Italian>Rallypoint West</Italian>
<Hungarian>Gyülekezőpont, Nyugat</Hungarian>
<Czech>Rallypoint Západ</Czech>
</Key>
<Key ID="STR_ACE_Respawn_RallypointEast">
<English>Rallypoint East</English>
@ -101,6 +119,8 @@
<Polish>Punkt zbiórki Wschodu</Polish>
<French>Point de ralliement EST</French>
<Italian>Rallypoint East</Italian>
<Hungarian>Gyülekezőpont, Kelet</Hungarian>
<Czech>Rallypoint Východ</Czech>
</Key>
<Key ID="STR_ACE_Respawn_RallypointIndependent">
<English>Rallypoint Independent</English>
@ -110,6 +130,8 @@
<Polish>Punkt zbiórki Ruchu oporu</Polish>
<French>Point de ralliement Indépendant</French>
<Italian>Rallypoint Independent</Italian>
<Hungarian>Gyülekezőpont, Független</Hungarian>
<Czech>Rallypoint Nezávislý</Czech>
</Key>
</Package>
</Project>

View File

@ -9,6 +9,7 @@
<Italian>Regola leggermente alzata in alto</Italian>
<French>Hausse +</French>
<German>Kleine Korrektur nach oben</German>
<Hungarian>Enyhe állítás fel</Hungarian>
</Key>
<Key ID="STR_ACE_Scopes_AdjustDownMinor">
<English>Minor adjustment down</English>
@ -18,6 +19,7 @@
<Italian>Regola leggermente alzata in basso</Italian>
<French>Hausse -</French>
<German>Kleine Korrektur nach unten</German>
<Hungarian>Enyhe állítás le</Hungarian>
</Key>
<Key ID="STR_ACE_Scopes_AdjustRightMinor">
<English>Minor adjustment right</English>
@ -27,6 +29,7 @@
<Italian>Regola leggermente il tiro a destra</Italian>
<French>Dérive +</French>
<German>Kleine Korrektur nach rechts</German>
<Hungarian>Enyhe állítás jobbra</Hungarian>
</Key>
<Key ID="STR_ACE_Scopes_AdjustLeftMinor">
<English>Minor adjustment left</English>
@ -36,6 +39,7 @@
<Italian>Regola leggermete il tiro a sinistra</Italian>
<French>Dérive -</French>
<German>Kleine Korrektur nach links</German>
<Hungarian>Enyhe állítás balra</Hungarian>
</Key>
<Key ID="STR_ACE_Scopes_AdjustUpMajor">
<English>Major adjustment up</English>
@ -45,6 +49,7 @@
<Italian>Regola l'alzata in alto</Italian>
<French>Hausse +++</French>
<German>Große Korrektur nach oben</German>
<Hungarian>Nagy állítás fel</Hungarian>
</Key>
<Key ID="STR_ACE_Scopes_AdjustDownMajor">
<English>Major adjustment down</English>
@ -54,6 +59,7 @@
<Italian>Regola l'alzata in basso</Italian>
<French>Hausse ---</French>
<German>Große Korrektur nach unten</German>
<Hungarian>Nagy állítás le</Hungarian>
</Key>
<Key ID="STR_ACE_Scopes_AdjustRightMajor">
<English>Major adjustment right</English>
@ -63,6 +69,7 @@
<Italian>Regola il tiro a destra</Italian>
<French>Dérive +++</French>
<German>Große Korrektur nach rechts</German>
<Hungarian>Nagy állítás jobbra</Hungarian>
</Key>
<Key ID="STR_ACE_Scopes_AdjustLeftMajor">
<English>Major adjustment left</English>
@ -72,6 +79,7 @@
<Italian>Regola il tiro a sinistra</Italian>
<French>Dérive ---</French>
<German>Große Korrektur nach links</German>
<Hungarian>Nagy állítás balra</Hungarian>
</Key>
<Key ID="STR_ACE_Scopes_AdjustZero">
<English>Set zero adjustment</English>
@ -81,6 +89,7 @@
<Italian>Resetta i valori del tiro</Italian>
<French>RAZ corrections</French>
<German>Auf 0 justieren</German>
<Hungarian>Állítások nullázása</Hungarian>
</Key>
</Package>
</Project>
</Project>

View File

@ -4,7 +4,7 @@
<Key ID="STR_ACE_Vehicle_Action_UnLock">
<English>Unlock Vehicle</English>
<German>Fahrzeug aufschließen</German>
<Spanish>Vehículo abierto</Spanish>
<Spanish>Abrir vehículo</Spanish>
<French>Déverrouiller le véhicule</French>
<Polish>Odblokuj pojazd</Polish>
<Czech>Odemknout vozidlo</Czech>
@ -16,7 +16,7 @@
<Key ID="STR_ACE_Vehicle_Action_Lock">
<English>Lock Vehicle</English>
<German>Fahrzeug abschließen</German>
<Spanish>Vehículo cerrado</Spanish>
<Spanish>Cerrar vehículo</Spanish>
<French>Verrouiller le véhicule</French>
<Polish>Zablokuj pojazd</Polish>
<Czech>Zamknout vozidlo</Czech>
@ -40,7 +40,7 @@
<Key ID="STR_ACE_Vehicle_Action_LockpickInUse">
<English>Picking Lock....</English>
<German>Schloss knacken...</German>
<Spanish>Forzando cierre...</Spanish>
<Spanish>Forzando cerradura...</Spanish>
<French>Crochetage...</French>
<Polish>Otwieranie zamka...</Polish>
<Czech>Páčim vozidlo...</Czech>
@ -76,7 +76,7 @@
<Key ID="STR_ACE_Vehicle_Item_Lockpick_Description">
<English>A lockpick set that can pick the locks of most vehicles.</English>
<German>Ein Dietrich der die meisten Fahrzeugschlösser knacken kann...</German>
<Spanish>Un set de ganzúas puede abrir la mayoría de cerraduras de vehículos.</Spanish>
<Spanish>Un set de ganzúas que puede abrir las cerraduras de la mayoría vehículos.</Spanish>
<French>Un crochet qui ouvrira la plupart des véhicules.</French>
<Polish>Zestaw wytrychów, dzięki któremu można otworzyć zamki w większości pojazdów.</Polish>
<Czech>Sada paklíčů, která dokáže odemknout zámky u většiny vozidel.</Czech>
@ -88,7 +88,7 @@
<Key ID="STR_ACE_Vehicle_Item_West_Description">
<English>A key that should open most WEST vehicles.</English>
<German>Ein Schlüssel der die meisten westlichen Fahrzeuge öffnen sollte...</German>
<Spanish>Una llave que puede abrir la mayoría de vehículos occidentales.</Spanish>
<Spanish>Una llave que abrirá la mayoría de vehículos occidentales.</Spanish>
<French>Une clé qui ouvrira la plupart des véhicules OUEST.</French>
<Polish>Klucz, który powinien otworzyć większość pojazdów ZACHODU.</Polish>
<Czech>Klíč který by měl otevřít většinou Západních vozidel.</Czech>
@ -100,7 +100,7 @@
<Key ID="STR_ACE_Vehicle_Item_East_Description">
<English>A key that should open most EAST vehicle.</English>
<German>Ein Schlüssel der die meisten östlichen Fahrzeuge öffnen sollte...</German>
<Spanish>Una llave que puede abrir la mayoría de vehículos orientales.</Spanish>
<Spanish>Una llave que abrirá la mayoría de vehículos orientales.</Spanish>
<French>Une clé qui ouvrira la plupart des véhicules EST.</French>
<Polish>Klucz, który powinien otworzyć większość pojazdów WSCHODU.</Polish>
<Hungarian>Egy kulcs, ami a KELET egységeinek legtöbb járművét ki tudja nyitni.</Hungarian>
@ -112,7 +112,7 @@
<Key ID="STR_ACE_Vehicle_Item_Indp_Description">
<English>A key that should open most INDEP vehicle.</English>
<German>Ein Schlüssel der die meisten Fahrzeuge der Aufständischen öffnen sollte...</German>
<Spanish>Una llave que puede abrir la mayoría de vehículos independientes.</Spanish>
<Spanish>Una llave que abrirá la mayoría de vehículos independientes.</Spanish>
<French>Une clé qui ouvrira la plupart des véhicules INDEP.</French>
<Polish>Klucz, który powinien otworzyć większość pojazdów INDFOR.</Polish>
<Hungarian>Egy kulcs, ami a FÜGGETLEN egységek legtöbb járművét ki tudja nyitni.</Hungarian>
@ -124,7 +124,7 @@
<Key ID="STR_ACE_Vehicle_Item_Civ_Description">
<English>A key that should open most CIV vehicle.</English>
<German>Ein Schlüssel der die meisten zivilen Fahrzeuge öffnen sollte...</German>
<Spanish>Una llave que puede abrir la mayoría de vehículos civiles.</Spanish>
<Spanish>Una llave que abrirá la mayoría de vehículos civiles.</Spanish>
<French>Une clé qui ouvrira la plupart des véhicules CIV.</French>
<Polish>Klucz, który powinien otworzyć większość pojazdów CYWILNYCH.</Polish>
<Czech>Klíč který by měl otevřít většinu Civilních vozidel.</Czech>

View File

@ -4,7 +4,7 @@
<Key ID="STR_ACE_Weaponselect_SettingDisplayTextName">
<English>Display text on grenade throw</English>
<German>Zeige Text beim Granatwurf</German>
<Spanish>Mostrar texto al lanzar granada</Spanish>
<Spanish>Mostrar texto al lanzar una granada</Spanish>
<Russian>Показывать текст при броске</Russian>
<Czech>Zobrazí text při hodu granátem</Czech>
<Polish>Wyświetl tekst przy rzucie granatem</Polish>
@ -16,7 +16,7 @@
<Key ID="STR_ACE_Weaponselect_SettingDisplayTextDesc">
<English>Display a hint or text on grenade throw.</English>
<German>Zeige Hinweis oder Text beim Granatwurf</German>
<Spanish>Muestra una notificación o texto al lanzar granada</Spanish>
<Spanish>Muestra una notificación o texto al lanzar una granada</Spanish>
<Russian>Показывать текст или подсказку при броске гранаты.</Russian>
<Czech>Zobrazí upozornění nebo text při hodu granátem.</Czech>
<Polish>Wyświetla powiadomienie lub tekst przy rzucie granatem.</Polish>
@ -64,7 +64,7 @@
<Key ID="STR_ACE_WeaponSelect_SelectRifleMuzzle">
<English>Select Grenade Launcher</English>
<German>Granatwerfer auswählen</German>
<Spanish>Seleccionar lanzador de granadas</Spanish>
<Spanish>Seleccionar lanzagranadas</Spanish>
<Polish>Wybierz granatnik</Polish>
<Czech>Zvolit Granátomet</Czech>
<Russian>Выбрать подствольный гранатомёт</Russian>
@ -206,7 +206,7 @@
<Key ID="STR_ACE_WeaponSelect_ThrowGrenade">
<English>Throw Selected Grenade</English>
<German>Gewählte Granate werfen</German>
<Spanish>Arrojar granada seleccionada</Spanish>
<Spanish>Lanzar granada seleccionada</Spanish>
<Polish>Rzuć wybrany granat</Polish>
<French>Lancer la grenade sélectionnée</French>
<Hungarian>Kiválasztott Gránát Eldobása</Hungarian>
@ -229,7 +229,7 @@
<Key ID="STR_ACE_WeaponSelect_NoFragsLeft">
<English>No frags left</English>
<German>Keine explosiven Granaten übrig</German>
<Spanish>Sin granadas de fragmentación</Spanish>
<Spanish>No quedan granadas de fragmentación</Spanish>
<Polish>Brak granatów odłamkowych</Polish>
<French>Plus de grenades à fragmentation</French>
<Hungarian>Nincs több repeszgránát</Hungarian>
@ -241,7 +241,7 @@
<Key ID="STR_ACE_WeaponSelect_NoMiscGrenadeLeft">
<English>No misc. grenades left</English>
<German>Keine nichtexplosiven Granaten übrig</German>
<Spanish>Sin granadas de varias</Spanish>
<Spanish>Sin granadas misc.</Spanish>
<Polish>Brak granatów nieodłamkowych</Polish>
<French>Plus de grenades non-léthales</French>
<Hungarian>Nincs több egyéb gránát</Hungarian>

View File

@ -25,7 +25,7 @@ GVAR(rain_period_start_time) = time;
};
};
["ACE3", QGVAR(WindInfoKey), localize "STR_ACE_Weather_WindInfoKey",
["ACE3 Common", QGVAR(WindInfoKey), localize "STR_ACE_Weather_WindInfoKey",
{
// Conditions: canInteract
if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false};

View File

@ -9,6 +9,8 @@
<Spanish>Mostrar información del viento</Spanish>
<Italian>Mostra informazioni sul vento</Italian>
<German>Zeige Windinformationen</German>
<Hungarian>Széladatok mutatása</Hungarian>
<Czech>Zobrazit informace o větru</Czech>
</Key>
</Package>
</Project>

View File

@ -54,6 +54,9 @@ ace_detonator
ace_barrelTwist
ace_twistDirection
ace_barrelLength
ace_laserpointer
ace_nextmodeclass
ace_modedescription
```

View File

@ -1,4 +1,4 @@
name = "ACE3";
name = "Advanced Combat Environment 3.0.0";
picture = "logo_ace3_ca.paa";
actionName = "GitHub";
action = "https://github.com/acemod/ACE3";
@ -7,6 +7,6 @@ logo = "logo_ace3_ca.paa";
logoOver = "logo_ace3_ca.paa";
tooltip = "ACE3";
tooltipOwned = "ACE3 Owned";
overview = "ACE3 is a joint effort by the teams behind ACE2, AGM and CSE to improve the realism and authenticity of Arma 3.";
overview = "Advanced Combat Environment 3, also known as ACE3, is a joint effort by the teams behind ACE2, AGM and CSE to improve the realism and authenticity of Arma 3.";
author = "ACE3 Team";
overviewPicture = "logo_ace3_ca.paa";

Some files were not shown because too many files have changed in this diff Show More