diff --git a/AUTHORS.txt b/AUTHORS.txt index 9d41ad267f..89f6924d17 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -88,4 +88,7 @@ Coren OnkelDisMaster Dimaslg VyMajoris(W-Cephei) -Bla1337 +Bla1337 +nikolauska +adam3adam +Professor diff --git a/LICENSE b/LICENSE index b76b90e8fb..01832682d7 100644 --- a/LICENSE +++ b/LICENSE @@ -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 diff --git a/addons/advanced_ballistics/XEH_postInit.sqf b/addons/advanced_ballistics/XEH_postInit.sqf index 3f0e101d3b..8efdd6799b 100644 --- a/addons/advanced_ballistics/XEH_postInit.sqf +++ b/addons/advanced_ballistics/XEH_postInit.sqf @@ -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 { diff --git a/addons/advanced_ballistics/functions/fnc_handleFired.sqf b/addons/advanced_ballistics/functions/fnc_handleFired.sqf index b6aae2c740..e63b1d7dfc 100644 --- a/addons/advanced_ballistics/functions/fnc_handleFired.sqf +++ b/addons/advanced_ballistics/functions/fnc_handleFired.sqf @@ -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 { diff --git a/addons/advanced_ballistics/functions/fnc_initializeTerrainExtension.sqf b/addons/advanced_ballistics/functions/fnc_initializeTerrainExtension.sqf index 6791d26350..3930526433 100644 --- a/addons/advanced_ballistics/functions/fnc_initializeTerrainExtension.sqf +++ b/addons/advanced_ballistics/functions/fnc_initializeTerrainExtension.sqf @@ -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"]; diff --git a/addons/advanced_ballistics/stringtable.xml b/addons/advanced_ballistics/stringtable.xml index dbf2784f21..a908bab88c 100644 --- a/addons/advanced_ballistics/stringtable.xml +++ b/addons/advanced_ballistics/stringtable.xml @@ -9,6 +9,8 @@ Afficher les info sur le vent Mostrar información del viento Windinformationen anzeigen + Széladatok mutatása + Zobrazit informace o větru Show Protractor @@ -18,6 +20,8 @@ Afficher le rapporteur Mostrar transportador Winkelmesser anzeigen + Szögmérő mutatása + Zobrazit úhloměr - \ No newline at end of file + diff --git a/addons/aircraft/config.cpp b/addons/aircraft/config.cpp index 2dc390f915..2ce2d0dc10 100644 --- a/addons/aircraft/config.cpp +++ b/addons/aircraft/config.cpp @@ -2,7 +2,7 @@ class CfgPatches { class ADDON { - units[] = {"ACE_Comanche_Test"}; + units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"ace_common"}; diff --git a/addons/apl/$PBOPREFIX$ b/addons/apl/$PBOPREFIX$ new file mode 100644 index 0000000000..f2a70e80ff --- /dev/null +++ b/addons/apl/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\apl \ No newline at end of file diff --git a/addons/apl/CfgEventHandlers.hpp b/addons/apl/CfgEventHandlers.hpp new file mode 100644 index 0000000000..5bacc02434 --- /dev/null +++ b/addons/apl/CfgEventHandlers.hpp @@ -0,0 +1,7 @@ +/* +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preInit)); + }; +}; +*/ \ No newline at end of file diff --git a/addons/apl/LICENSE b/addons/apl/LICENSE new file mode 100644 index 0000000000..2274430c9b --- /dev/null +++ b/addons/apl/LICENSE @@ -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 Adapter’s 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. diff --git a/addons/apl/XEH_preInit.sqf b/addons/apl/XEH_preInit.sqf new file mode 100644 index 0000000000..6899f59bd9 --- /dev/null +++ b/addons/apl/XEH_preInit.sqf @@ -0,0 +1,5 @@ +#include "script_component.hpp" + +ADDON = false; + +ADDON = true; diff --git a/addons/apl/bodybag.p3d b/addons/apl/bodybag.p3d new file mode 100644 index 0000000000..5b3622f978 Binary files /dev/null and b/addons/apl/bodybag.p3d differ diff --git a/addons/apl/config.cpp b/addons/apl/config.cpp new file mode 100644 index 0000000000..fff902d962 --- /dev/null +++ b/addons/apl/config.cpp @@ -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" diff --git a/addons/medical/data/bodybag.rvmat b/addons/apl/data/bodybag.rvmat similarity index 95% rename from addons/medical/data/bodybag.rvmat rename to addons/apl/data/bodybag.rvmat index 2a1869ad55..ad84469940 100644 --- a/addons/medical/data/bodybag.rvmat +++ b/addons/apl/data/bodybag.rvmat @@ -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 { diff --git a/addons/medical/data/bodybag_co.paa b/addons/apl/data/bodybag_co.paa similarity index 100% rename from addons/medical/data/bodybag_co.paa rename to addons/apl/data/bodybag_co.paa diff --git a/addons/medical/data/bodybag_nohq.paa b/addons/apl/data/bodybag_nohq.paa similarity index 100% rename from addons/medical/data/bodybag_nohq.paa rename to addons/apl/data/bodybag_nohq.paa diff --git a/addons/medical/data/env_co.paa b/addons/apl/data/env_co.paa similarity index 100% rename from addons/medical/data/env_co.paa rename to addons/apl/data/env_co.paa diff --git a/addons/apl/functions/script_component.hpp b/addons/apl/functions/script_component.hpp new file mode 100644 index 0000000000..a25cdfebcc --- /dev/null +++ b/addons/apl/functions/script_component.hpp @@ -0,0 +1 @@ +#include "\z\ace\addons\apl\script_component.hpp" \ No newline at end of file diff --git a/addons/apl/script_component.hpp b/addons/apl/script_component.hpp new file mode 100644 index 0000000000..ac20a25e21 --- /dev/null +++ b/addons/apl/script_component.hpp @@ -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" \ No newline at end of file diff --git a/addons/atragmx/stringtable.xml b/addons/atragmx/stringtable.xml index cd5eff1181..fefcc2c7e5 100644 --- a/addons/atragmx/stringtable.xml +++ b/addons/atragmx/stringtable.xml @@ -21,6 +21,8 @@ Ouvrir ATragMX ATragMX öffnen Apri ATragMX + ATragMX elővétele + Otevřít ATragMX Rugged PDA with ATragMX @@ -28,8 +30,10 @@ Защищенный КПК с ATragMX PDA rugerizada con ATragMX Robuster PDA mit ATragMX - PDA robuste avec ATragMX + PDA avec ATragMX PDA Robusto con ATragMX + Megerősített PDA, ATragMX-el + PDA s ATragMX Open ATragMX @@ -39,6 +43,8 @@ Ouvrir ATragMX ATragMX öffnen Apri ATragMX + ATragMX elővétele + Otevřít ATragMX \ No newline at end of file diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index eea2f0cb9e..e4b2029e7e 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -9,7 +9,7 @@ Cargador de 30 balas trazadoras IR-DIM de 6,5mm Ch. 6,5mm 30Cps Traçantes IR-DIM Magazynek 6,5mm 30rd Smugacz IR-DIM - 6.5mm 30ks Svítící IR-DIM Zásobník + 6.5mm 30náb. Svítící IR-DIM Zásobník Carregador de 30 projéteis traçantes IR-DIM de 6,5mm Caricatore 6.5mm 30Rnd Traccianti IR-DIM Магазин из 30-ти 6,5 мм ИК-трассирующих @@ -45,7 +45,7 @@ Cargador de 30 balas SD de 6,5mm Ch. 6,5mm 30Cps SD Magazynek 6,5mm 30rd SD - 6.5mm 30ks SD Zásobník + 6.5mm 30náb. SD Zásobník Carregador de 30 projéteis SD de 6,5mm Caricatore 6.5mm 30Rnd Sil. Магазин из 30-ти 6,5 мм дозвуковых @@ -81,7 +81,7 @@ Cargador de 30 balas AP de 6,5mm Ch. 6,5mm 30Cps AP Magazynek 6,5mm 30rd AP - 6.5mm 30ks AP Zásobník + 6.5mm 30náb. AP Zásobník Carregador de 30 projéteis AP de 6,5mm Caricatore 6.5mm 30Rnd AP Магазин из 30-ти 6,5 мм бронебойных @@ -118,7 +118,7 @@ Cargador de 30 balas trazadoras IR-DIM de 6,5mm Ch. 6,5mm 30Cps Traçantes IR-DIM Magazynek 6,5mm 30rd Smugacz IR-DIM - 6.5mm 30ks Svítící IR-DIM Zásobník + 6.5mm 30náb. Svítící IR-DIM Zásobník Carregador de 30 projéteis traçantes IR-DIM de 6,5mm Caricatore 6.5mm 30Rnd Traccianti IR-DIM Магазин из 30-ти 6,5 мм ИК-трассирующих @@ -154,7 +154,7 @@ Cargador de 30 balas SD de 6,5mm Ch. 6,5mm 30Cps SD Magazynek 6,5mm 30rd SD - 6.5mm 30ks SD Zásobník + 6.5mm 30náb. SD Zásobník Carregador de 30 projéteis SD de 6,5mm Caricatore 6.5mm 30Rnd Sil. Магазин из 30-ти 6,5 мм дозвуковых @@ -190,7 +190,7 @@ Cargador de 30 balas AP de 6,5mm Ch. 6,5mm 30Cps AP Magazynek 6,5mm 30rd AP - 6.5mm 30ks AP Zásobník + 6.5mm 30náb. AP Zásobník Carregador de 30 projéteis AP de 6,5mm Caricatore 6.5mm 30Rnd AP Магазин из 30-ти 6,5 мм бронебойных @@ -227,7 +227,7 @@ Cargador de 30 balas trazadoras IR-DIM de 5,56mm Ch. 5,56mm 30Cps Traçantes IR-DIM Magazynek 5,56mm 30rd Smugacz IR-DIM - 5.56mm 30ks Svítící IR-DIM Zásobník + 5.56mm 30náb. Svítící IR-DIM Zásobník Carregador de 30 projéteis traçantes IR-DIM de 5,56mm Caricatore 5.56mm 30rnd Traccianti IR-DIM Магазин из 30-ти 5,56 мм ИК-трассирующих @@ -264,7 +264,7 @@ Cargador de 20 balas trazadores de 7,62mm Ch. 7,62mm 20Cps Traçantes Magazynek 7,62mm 20rd Smugacz - 7.62mm 20ks Svítící Zásobník + 7.62mm 20náb. Svítící Zásobník Carregador de 20 projéteis traçantes de 7,62mm Caricatore 7.62mm 20Rnd Traccianti Магазин из 20-ти 7,62 мм трассирующих @@ -273,7 +273,7 @@ 7.62mm Tracer 7,62mm Nyomjelző 7,62mm Leuchtspur - 7,62mm trazadora + 7,62mm Trazadora 7,62mm Traçantes 7,62mm Smugacz 7.62mm Svítící @@ -300,7 +300,7 @@ Cargador de 20 balas trazadoras IR-DIM de 7,62mm Ch. 7,62mm 20Cps Traçantes IR-DIM Magazynek 7,62mm 20rd Smugacz IR-DIM - 7.62mm 20ks Svítící IR-DIM Zásobník + 7.62mm 20náb. Svítící IR-DIM Zásobník Carregador de 20 projéteis IR-DIM de 7,62mm Caricatore 7.62mm 20rnd Traccianti IR-DIM Магазин из 20-ти 7,62 мм ИК-трассирующих @@ -336,7 +336,7 @@ Cargador de 20 balas SD de 7,62mm Ch. 7,62mm 20Cps SD Magazynek 7,62mm 20rd SD - 7.62mm 20ks SD Zásobník + 7.62mm 20náb. SD Zásobník Carregador de 20 projéteis SD de 7,62mm Caricatore 7.62mm 20Rnd Sil. Магазин из 20-ти 7,62 мм дозвуковых @@ -374,6 +374,7 @@ Cinta de 130 balas trazadoras de .338 NM Лента из 130-ти .338 NM трассирующих .338 NM 130Rnd Tracciante Belt + .338 NM 130náb. Svítící Pás .338 NM Tracer @@ -381,7 +382,7 @@ .338 NM Tracer .338 NM Svítící .338 NM Traçante - .338 NM trazadora + .338 NM Trazadora .338 NM трассирующие .338 NM 130Rnd Tracciante @@ -393,6 +394,7 @@ Calibre: .338 Norma Magnum trazadora<br />Balas: 130<br />Se usa en: SPMG Калибр: .338 Norma Magnum трассирующие<br />Патронов: 130<br />Используются в: SPMG Calibro: .338 Norma Magnum Tracciante<br />Munizioni: 130<br />In uso su: SPMG + Ráže: .338 Noma Magnum Svítící<br />Munice: 130<br />Použití: SPMG .338 NM 130Rnd IR-DIM Belt @@ -402,6 +404,7 @@ Cinta de 130 balas IR-DIM de .338 NM Лента из 130-ти .338 NM ИК-трассирующих .338 NM 130Rnd IR-DIM Belt + .338 NM 130náb. IR-DIM Pás .338 NM IR-DIM @@ -421,6 +424,7 @@ Calibre: .338 Norma Magnum trazadora IR-DIM<br />Balas: 130<br />Se usa en: SPMG Калибр: .338 Norma Magnum ИК-трассирующие<br />Патронов: 130<br />Используются с: SPMG Calibro: .338 Norma Magnum Tracciante IR-DIM<br />Munizioni: 130<br />In uso su: SPMG + Ráže: .338 Noma Magnum Svítící IR-DIM<br />Munice: 130<br />Použití: SPMG .338 NM 130Rnd AP Belt @@ -430,6 +434,7 @@ Cinta de 130 balas AP de .338 NM Лента из 130-ти .338 NM бронебойных .338 NM 130Rnd AP Belt + .338 NM 130náb. AP Pás .338 NM AP @@ -449,16 +454,18 @@ Calibre: .338 Norma Magnum AP<br />Balas: 130<br />Se usa en: SPMG Калибр: .338 Norma Magnum бронебойные<br />Патронов: 130<br />Используются с: SPMG Calibro: .338 Norma Magnum AP<br />Munizioni: 130<br />In uso su: SPMG + Ráže: .338 Noma Magnum AP<br />Munice: 130<br />Použití: SPMG 9.3mm 10Rnd Tracer Mag 9,3mm 10-Patronen-Magazin Leuchtspur Magazynek 9.3mm 10rd Smugacz - Chargeur 9.3mm 10Cps Traçante + Ch. 9.3mm 10Cps Traçante Cargador de 10 balas trazadoras de 9.3mm Магазин из 10-ти 9,3 мм трассирующих 9.3mm 10Rnd Tracer Mag + 9.3mm 10Rnd Svítící Zásobník 9.3mm Tracer @@ -466,7 +473,7 @@ 9,3mm Smugacz 9.3mm Svítící 9.3mm Traçante - 9.3mm trazadora + 9.3mm Trazadora 9,3 мм трассирующие 9.3mm Tracer @@ -478,15 +485,17 @@ Calibre: 9.3x64mm trazadora<br />Balas: 10<br />Se usa en: Cyrus Калибр: 9,3x64 мм трассирующие<br />Патронов: 10<br />Используются с: Cyrus Calibro: 9.3x64mm Tracer<br />Munizioni: 10<br />In uso su: Cyrus + Ráže: 9.3x64mm Svítící<br />Munice: 10<br />Použití: Cyrus 9.3mm 10Rnd Tracer IR-DIM Mag 9,3mm 10-Patronen-Magazin Leuchtspur IR-DIM Magazynek 9,3mm 10rd Smugacz IR-DIM - Chargeur 9.3mm 10Cps Traçante IR-DIM + Ch. 9.3mm 10Cps Traçante IR-DIM Cargador de 10 balas trazadoras IR-DIM de 9.3mm Магазин из 10-ти 9,3 мм ИК-трассирующих 9.3mm 10Rnd Tracciante IR-DIM Mag + 9.3mm 10náb. Svítící IR-DIM Zásobník 9.3mm IR-DIM @@ -506,6 +515,7 @@ Calibre: 9.3x64mm trazadora IR-DIM<br />Balas: 10<br />Se usa en: Cyrus Калибр: 9,3x64 мм ИК-трассирующие<br />Патронов: 10<br />Используются с: Cyrus Calibro: 9.3x64mm Tracciante IR-DIM<br />Munizioni: 10<br />In uso su: Cyrus + Ráže: 9.3x64mm Svítící IR-DIM<br />Munice: 10<br />Použití: Cyrus @@ -516,6 +526,7 @@ Cinta de 150 balas trazadoras de 9.3mm Лента из 150-ти 9,3 мм трассирующих 9.3mm 150Rnd Tracer Belt + 9.3mm 150náb. Svítící Pás 9.3mm Tracer @@ -523,7 +534,7 @@ 9,3mm Smugacz 9.3mm Svítící 9.3mm Traçante - 9.3mm trazadora + 9.3mm Trazadora 9,3 мм трассирующие 9.3mm Tracciante @@ -535,6 +546,7 @@ Calibre: 9.3x64mm trazadora<br />Balas: 150<br />Se usa en: Navid Калибр: 9,3x64 мм трассирующие<br />Патронов: 150<br />Используются с: Навид Calibro: 9.3x64mm Tracciante<br />Munizioni: 150<br />In uso su: Navid + Ráže: 9.3x64mm Svítící<br />Munice: 150<br />Použití: Navid 9.3mm 150Rnd Tracer IR-DIM Belt @@ -544,6 +556,7 @@ Cinta de 150 balas trazadoras IR-DIM de 9.3mm Лента из 150-ти 9,3 мм ИК-трассирующих 9.3mm 150Rnd Tracciante IR-DIM Belt + 9.3mm 150náb. Svítící IR-DIM Pás 9.3mm IR-DIM @@ -563,6 +576,7 @@ Calibre: 9.3x64mm trazadora IR-DIM<br />Balas: 150<br />Se usa en: Navid Калибр: 9,3x64 мм ИК-трассирующие<br />Патронов: 150<br />Используются с: Навид Calibro: 9.3x64mm Tracciante IR-DIM<br />Munizioni: 150<br />In uso su: Navid + Ráže: 9.3x64mm Svítící IR-DIM<br />Munice: 150<br />Použití: Navid 9.3mm 150Rnd AP Belt @@ -572,6 +586,7 @@ Cinta de 150 balas AP de 9.3mm Лента из 150-ти 9,3 мм бронебойных 9.3mm 150Rnd AP Belt + 9.3mm 150náb. AP Pás 9.3mm AP @@ -591,15 +606,17 @@ Calibre: 9.3x64mm AP<br />Balas: 150<br />Se usa en: Navid Калибр: 9,3x64 мм бронебойные<br />Патронов: 150<br />Используются с: Навид Calibro: 9.3x64mm AP<br />Munizioni: 150<br />In uso su: Navid + Ráže: 9.3x64mm AP<br />Munice: 150<br />Použití: Navid 9x19mm 16Rnd Mag Magazynek 9x19mm 16rd - Chargeur 9x19mm 16Cps + Ch. 9x19mm 16Cps Cargador de 16 balas de 9x19mm Магазин из 16-ти 9х19 мм 9x19mm 20-Patronen-Magazin 9x19mm 16Rnd Mag + 9x19mm 16náb. Zásobník 9x19mm @@ -609,24 +626,27 @@ 9х19 мм 9x19mm 9x19mm + 9x19mm 9x19mm 30Rnd Mag Magazynek 9x19mm 16rd - Chargeur 9x19mm 30Cps + Ch. 9x19mm 30Cps Cargador de 16 balas de 9x19mm Магазин из 16-ти 9х19 мм 9x19mm 30-Patronen-Magazin 9x19mm 30Rnd Mag + 9x19mm 30náb. Zásobník 9x19mm 30Rnd Mag Magazynek 9x19mm 30rd - Chargeur 9x19mm 30Cps + Ch. 9x19mm 30Cps Cargador de 30 balas de 9x19mm Магазин из 30-ти 9х19 мм 9x19mm 30-Patronen-Magazin 9x19mm 30Rnd Mag + 9x19mm 30náb. Zásobník 9x19mm @@ -636,24 +656,27 @@ 9х19 мм 9x19mm 9x19mm + 9x19mm 9x19mm 30Rnd Mag Magazynek 9x19mm 30rd - Chargeur 9x19mm 30Cps + Ch. 9x19mm 30Cps Cargador de 30 balas de 9x19mm Магазин из 30-ти 9х19 мм 9x19mm 30-Patronen-Magazin 9x19mm 30Rnd Mag + 9x19mm 30náb. Zásobník 7.62x54mm 10Rnd Tracer Mag Magazynek 7,62x54mm 10rd Smugacz - Chargeur 7.62x54mm 10Rnd Traçante + Ch. 7.62x54mm 10Rnd Traçante Cargador de 10 balas trazadoras de 7.62x54mm Магазин из 10-ти 7,62 мм ИК-трассирующих 7,62x54mm 10-Patronen-Magazin Leuchtspur 7.62x54mm 10Munizioni Traccianti IR-DIM Mag + 7.62x54mm 10náb. Svítící Zásobník 7.62mm @@ -663,24 +686,27 @@ 7,62 мм 7,62x54mm 7.62mm IR-DIM + 7.62mm 7.62x54mm 10Rnd Tracer Mag Magazynek 7,62x54mm 10rd Smugacz - Chargeur 7.62x54mm 10Cps Traçante + Ch. 7.62x54mm 10Cps Traçante Cargador de 10 balas trazadoras de 7.62x54mm Магазин из 10-ти 7,62 мм ИК-трассирующих 7,62x54mm 10-Patronen-Magazin Leuchtspur 7.62x54mm 10Munizioni Traccianti IR-DIM Mag + 7.62x54mm 10náb. Svítící Zásobník 6.5mm 100Rnd Tracer IR-DIM Mag Magazynek 6,5mm 100rd Smugacz IR-DIM - Chargeur 6.5mm 100Rnd Traçante IR-DIM + Ch. 6.5mm 100Rnd Traçante IR-DIM Cargador de 100 balas trazadoras IR-DIM de 6.5mm Магазин из 100 6,5 мм ИК-трассирующих 6,5mm 100-Patronen-Magazin IR-DIM Leuchtspur 6.5mm 100Munizioni Traccianti IR-DIM Mag + 6.5mm 100náb. Svítící IR-DIM Zásobník 6.5mm IR-DIM @@ -690,15 +716,17 @@ 6,5 мм ИК-трассирующие 6,5mm IR-DIM 6.5mm IR-DIM + 6.5mm IR-DIM 6.5mm 100Rnd Tracer IR-DIM Mag<br />Rounds: 100<br />Used in: MX LSW Magazynek 6,5mm 100rd Smugacz IR-DIM - Chargeur 6.5mm 100Rnd Traçante IR-DIM<br />Cartouches: 100<br />Utilisé avec: MX LSW + Ch. 6.5mm 100Rnd Traçante IR-DIM<br />Cartouches: 100<br />Utilisé avec: MX LSW Cargador de 100 balas trazadoras IR-DIM de 6.5mm Магазин из 100 6,5 мм ИК-трассирующих 6,5mm 100-Patronen-Magazin IR-DIM Leuchtspur<br />Patronen: 100<br />Eingesetzt von: MXLSW 6.5mm 100Rnd Tracer IR-DIM Mag<br />Munizioni: 100<br />In uso su: MX LSW + 6.5mm 100náb. Svítící IR-DIM Zásobník<br />Munice: 100<br />Použití: MX LSW 6.5mm 200Rnd Tracer IR-DIM Belt @@ -708,6 +736,7 @@ Магазин из 200-т 6,5 мм ИК-трассирующих 6,5mm 200-Patronen-Gurt IR-DIM Leuchtspur 6.5mm 200Rnd Tracer IR-DIM Belt + 6.5mm 200náb. Svítící IR-DIM Pás 6.5mm IR-DIM @@ -717,6 +746,7 @@ 6,5 мм ИК-трассирующие 6,5mm IR-DIM 6.5mm IR-DIM + 6.5mm IR-DIM 6.5mm 200Rnd Tracer IR-DIM Belt<br />Rounds: 200<br />Used in: Stoner 99 LMG @@ -726,6 +756,7 @@ Магазин из 200-т 6,5 мм ИК-трассирующих 6,5mm 200-Patronen-Gurt IR-DIM Leuchtspur<br />Patronen: 200<br />Eingesetzt von: Stoner 99 LMG 6.5mm 200Rnd Tracer IR-DIM Belt<br />Munizioni: 200<br />In uso su: Stoner 99 LMG + 6.5mm 200náb. Svítící IR-DIM Pás<br />Munice: 200<br />Použití: Stoner 99 LMG 5.56mm 30Rnd Mag (Mk262) @@ -735,6 +766,7 @@ Магазин из 30-ти 5.56 мм Mk262 5,56mm 30-Patronen-Magazin (Mk262) 5.56mm 30Rnd Mag (Mk262) + 5.56mm 30náb. Zásobník (Mk262) 5.56mm Mk262 @@ -744,6 +776,7 @@ 5,56 мм Mk262 5,56mm Mk262 5.56mm Mk262 + 5.56mm Mk262 Caliber: 5.56x45mm NATO (Mk262)<br />Rounds: 30 @@ -753,15 +786,17 @@ Калибр: 5,56x45 мм NATO (Mk262)<br />Патронов: 30 Kaliber: 5,56x45mm NATO (Mk262)<br />Patronen: 30 Calibro: 5.56x45 mm NATO (Mk262)<br />Munizioni: 30 + Ráže: 5.56x45mm NATO (Mk262)<br />Munice: 30 5.56mm 30Rnd Mag (Mk318) Magazynek 5,56mm 30rd (Mk318) - Chargeur 5.56mm 30Cps (Mk318) + Ch. 5.56mm 30Cps (Mk318) Cargador de 30 balas de 5.56mm (Mk318) Магазин из 30-ти 5.56 мм (Mk318) 5,56mm 30-Patronen-Magazin (Mk318) 5.56mm 30Rnd Mag (Mk318) + 5.56mm 30Rnd Zásobník (Mk318) 5.56mm Mk318 @@ -771,6 +806,7 @@ 5.56 мм Mk318 5,56mm Mk318 5.56mm Mk318 + 5.56mm Mk318 Caliber: 5.56x45mm NATO (Mk318)<br />Rounds: 30 @@ -780,15 +816,17 @@ Калибр: 5,56x45 мм NATO (Mk318)<br />Патронов: 30 Kaliber: 5,56x45mm NATO (Mk318)<br />Patronen: 30 Calibro: 5.56x45 mm NATO (Mk318)<br />Munizioni: 30 + Ráže: 5.56x45mm NATO (Mk318)<br />Munice: 30 5.56mm 30Rnd Mag (M995 AP) Magazynek 5,56mm 30rd (M995 AP) - Chargeur 5.56mm 30Cps (M995 AP) + Ch. 5.56mm 30Cps (M995 AP) Cargador de 30 balas de 5.56mm (M995 AP) Магазин из 30-ти 5.56 мм (M995 бронебойные) 5,56mm 30-Patronen-Magazin (M995AP) 5.56mm 30Rnd Mag (M995 AP) + 5.56mm 30náb. Zásobník (M995 AP) 5.56mm AP @@ -798,6 +836,7 @@ 5.56 мм бронебойные 5,56mm AP 5.56mm AP + 5.56mm AP Caliber: 5.56x45mm NATO (M995 AP)<br />Rounds: 30 @@ -807,15 +846,17 @@ Калибр: 5,56x45 мм NATO (M995 бронебойные)<br />Патронов: 30 Kaliber: 5,56x45mm NATO (M995 AP)<br />Patronen: 30 Calibro: 5.56x45 mm NATO (M995 AP)<br />Munizioni: 30 + Ráže: 5.56x45mm NATO (M995 AP)<br />Munice: 30 7.62mm 10Rnd Mag (M118LR) Magazynek 7,62mm 10rd (M118LR) - Chargeur 7.62mm 10Cps (M118LR) + Ch. 7.62mm 10Cps (M118LR) Cargador de 10 balas de 7.62mm (M118LR) Магазин из 10-ти 7,62 мм (M118LR) 7,62mm 10-Patronen-Magazin (M118LR) 7.62mm 10Rnd Mag (M118LR) + 7.62mm 10náb. Zásobník (M118LR) 7.62mm M118LR @@ -825,6 +866,7 @@ 7,62 мм M118LR 7,62mm M118LR 7.62mm M118LR + 7.62mm M118LR Caliber: 7.62x51mm NATO (M118LR)<br />Rounds: 10 @@ -834,15 +876,17 @@ Калибр: 7,62x51 мм NATO (M118LR)<br />Патронов: 10 Kaliber: 7,62x51mm NATO (M118LR)<br />Patronen: 10 Calibro: 7.62x51 mm NATO (M118LR)<br />Munizioni: 10 + Ráže: 7.62x51mm NATO (M118LR)<br />Munice: 10 7.62mm 20Rnd Mag (M118LR) Magazynek 7,62mm 20rd (M118LR) - Chargeur 7.62mm 20Cps (M118LR) + Ch. 7.62mm 20Cps (M118LR) Cargador de 20 balas de 7.62mm (M118LR) Магазин из 20-ти 7,62 мм (M118LR) 7,62mm 20-Patronen-Magazin (M118LR) 7.62mm 20Rnd Mag (M118LR) + 7.62mm 20náb. Zásobník (M118LR) 7.62mm M118LR @@ -852,6 +896,7 @@ 7,62 мм M118LR 7,62mm M118LR 7.62mm M118LR + 7.62mm M118LR Caliber: 7.62x51mm NATO (M118LR)<br />Rounds: 20 @@ -861,15 +906,17 @@ Калибр: 7,62x51 мм NATO (M118LR)<br />Патронов: 20 Kaliber: 7,62x51mm NATO (M118LR)<br />Patronen: 20 Calibro: 7.62x51 mm NATO (M118LR)<br />Munizioni: 20 + Ráže: 7.62x51mm NATO (M118LR)<br />Munice: 20 7.62mm 10Rnd Mag (Mk316 Mod 0) Magazynek 7,62mm 10rd (Mk316 Mod 0) - Chargeur 7.62mm 10Cps (Mk316 Mod 0) + Ch. 7.62mm 10Cps (Mk316 Mod 0) Cargador de 10 balas de 7.62mm (Mk316 Mod 0) Магазин из 10-ти 7,62 мм (Mk316 Mod 0) 7,62mm 10-Patronen-Magazin (Mk316 Mod 0) 7.62mm 10Rnd Mag (Mk316 Mod 0) + 7.62mm 10náb. Zásobník (Mk316 Mod 0) 7.62mm Mk316 @@ -879,6 +926,7 @@ 7,62 мм Mk316 7,62mm Mk316 7.62mm Mk316 + 7.62mm Mk316 Caliber: 7.62x51mm NATO (Mk316 Mod 0)<br />Rounds: 10 @@ -888,15 +936,17 @@ Калибр: 7,62x51 мм NATO (Mk316 Mod 0)<br />Патронов: 10 Kaliber: 7,62x51mm NATO (Mk316 Mod 0)<br />Patronen: 10 Calibro: 7.62x51 mm NATO (Mk316 Mod 0)<br />Munizioni: 10 + Ráže: 7.62x51mm NATO (Mk316 Mod 0)<br />Munice: 10 7.62mm 20Rnd Mag (Mk316 Mod 0) Magazynek 7,62mm 20rd (Mk316 Mod 0) - Chargeur 7.62mm 20Cps (Mk316 Mod 0) + Ch. 7.62mm 20Cps (Mk316 Mod 0) Cargador de 20 balas de 7.62mm (Mk316 Mod 0) Магазин из 20-ти 7,62 мм (Mk316 Mod 0) 7,62mm 20-Patronen-Magazin (Mk316 Mod 0) 7.62mm 20Rnd Mag (Mk316 Mod 0) + 7.62mm 20náb. Zásobník (Mk316 Mod 0) 7.62mm Mk316 @@ -906,6 +956,7 @@ 7,62 мм Mk316 7,62mm Mk316 7.62mm Mk316 + 7.62mm Mk316 Caliber: 7.62x51mm NATO (Mk316 Mod 0)<br />Rounds: 20 @@ -915,15 +966,17 @@ Калибр: 7,62x51 мм NATO (Mk316 Mod 0)<br />Патронов: 20 Kaliber: 7,62x51mm NATO (Mk316 Mod 0)<br />Patronen: 20 Calibro: 7.62x51 mm NATO (Mk316 Mod 0)<br />Munizioni: 20 + Ráže: 7.62x51mm NATO (Mk316 Mod 0)<br />Munice: 20 7.62mm 10Rnd Mag (Mk319 Mod 0) Magazynek 7,62mm 10rd (Mk319 Mod 0) - Chargeur 7.62mm 10Cps (Mk319 Mod 0) + Ch. 7.62mm 10Cps (Mk319 Mod 0) Cargador de 10 balas de 7.62mm (Mk319 Mod 0) Магазин из 10-ти 7,62 мм (Mk319 Mod 0) 7,62mm 10-Patronen-Magazin (Mk319 Mod 0) 7.62mm 10Rnd Mag (Mk319 Mod 0) + 7.62mm 10náb. Zásobník (Mk319 Mod 0) 7.62mm Mk319 @@ -933,6 +986,7 @@ 7,62 мм Mk319 7,62mm Mk319 7.62mm Mk319 + 7.62mm Mk319 Caliber: 7.62x51mm NATO (Mk319 Mod 0)<br />Rounds: 10 @@ -942,15 +996,17 @@ Калибр: 7,62x51 мм NATO (Mk319 Mod 0)<br />Патронов: 10 Kaliber: 7,62x51mm NATO (Mk319 Mod 0)<br />Patronen: 10 Calibro: 7.62x51 mm NATO (Mk319 Mod 0)<br />Munizioni: 10 + Ráže: 7.62x51mm NATO (Mk319 Mod 0)<br />Munice: 10 7.62mm 20Rnd Mag (Mk319 Mod 0) Magazynek 7,62mm 20rd (Mk319 Mod 0) - Chargeur 7.62mm 20Cps (Mk319 Mod 0) + Ch. 7.62mm 20Cps (Mk319 Mod 0) Cargador de 20 balas de 7.62mm (Mk319 Mod 0) Магазин из 20-ти 7,62 мм (Mk319 Mod 0) 7,62mm 20-Patronen-Magazin (Mk319 Mod 0) 7.62mm 20Rnd Mag (Mk319 Mod 0) + 7.62mm 20náb. Zásobník (Mk319 Mod 0) 7.62mm Mk319 @@ -960,6 +1016,7 @@ 7,62 мм Mk319 7,62mm Mk319 7.62mm Mk319 + 7.62mm Mk319 Caliber: 7.62x51mm NATO (Mk319 Mod 0)<br />Rounds: 20 @@ -969,15 +1026,17 @@ Калибр: 7,62x51 мм NATO (Mk319 Mod 0)<br />Патронов: 20 Kaliber: 7,62x51mm NATO (Mk319 Mod 0)<br />Patronen: 20 Calibro: 7.62x51 mm NATO (Mk319 Mod 0)<br />Munizioni: 20 + Ráže: 7.62x51mm NATO (Mk319 Mod 0)<br />Munice: 20 7.62mm 10Rnd Mag (M993 AP) Magazynek 7,62mm 10rd (M993 AP) - Chargeur 7.62mm 10Cps (M993 AP) + Ch. 7.62mm 10Cps (M993 AP) Cargador de 10 balas de 7.62mm (M993 AP) Магазин из 10-ти 7,62 мм (M993 бронебойные) 7,62mm 10-Patronen-Magazin (M993 AP) 7.62mm 10Rnd Mag (M993 AP) + 7.62 10náb. Zásobník (M993 AP) 7.62mm AP @@ -987,6 +1046,7 @@ 7,62mm бронебойные 7,62mm AP 7.62mm AP + 7.62mm AP Caliber: 7.62x51mm NATO (M993 AP)<br />Rounds: 10 @@ -996,15 +1056,17 @@ Калибр: 7,62x51 мм NATO (M993 бронебойные)<br />Патронов: 10 Kaliber: 7,62x51mm NATO (M993 AP)<br />Patronen: 10 Calibro: 7.62x51 mm NATO (M993 AP)<br />Munizioni: 10 + Ráže: 7.62x51mm NATO (M993 AP)<br />Munice: 10 7.62mm 20Rnd Mag (M993 AP) Magazynek 7,62mm 20rd (M993 AP) - Chargeur 7.62mm 20Cps (M993 AP) + Ch. 7.62mm 20Cps (M993 AP) Cargador de 20 balas de 7.62mm (M993 AP) Магазин из 20-ти 7,62 мм (M993 бронебойные) 7,62mm 20-Patronen-Magazin (M993 AP) 7.62mm 20Rnd Mag (M993 AP) + 7.62mm 20náb. Zásobník (M993 AP) 7.62mm AP @@ -1014,24 +1076,27 @@ 7,62 мм бронебойные 7,62mm AP 7.62mm AP + 7.62mm AP Caliber: 7.62x51mm NATO (M993 AP)<br />Rounds: 20 Kaliber: 7,62x51mm NATO (M993 AP)<br />Pociski: 20 Calibre: 7.62x51mm NATO (M993 AP)<br />Cartouches: 20 - Calibre: 7.62x51mm NATO (M993 AP)<br />Balas: 20 Калибр: 7,62x51 мм NATO (M993 бронебойные)<br />Патронов: 20 Kaliber: 7,62x51mm NATO (M993 AP)<br />Patronen: 20 Calibro: 7.62x51 mm NATO (M993 AP)<br />Munizioni: 20 + Calibre: 7.62x51 mm NATO (M993 AP)<br />Balas: 20 + Ráže: 7.62x51mm NATO (M993 AP)<br />Munice: 20 7.62mm 20Rnd Mag (Mk248 Mod 0) Magazynek 7,62mm 20rd (Mk248 Mod 0) - Chargeur 7.62mm 20Cps (Mk248 Mod 0) + Ch. 7.62mm 20Cps (Mk248 Mod 0) Cargador de 20 balas de 7.62mm (Mk248 Mod 0) Магазин из 20-ти 7,62 мм (Mk248 Mod 0) 7,62mm 20-Patronen-Magazin (Mk248 Mod 0) 7.62mm 20Rnd Mag (Mk248 Mod 0) + 7.62mm 20náb. Zásobník (Mk248 Mod 0) 7.62mm (Mk248 Mod 0) @@ -1041,6 +1106,7 @@ 7,62 мм (Mk248 Mod 0) 7,62mm (Mk248 Mod 0) 7.62mm (Mk248 Mod 0) + 7.62mm (Mk248 Mod 0) Caliber: 7.62x67mm NATO (Mk248 Mod 0)<br />Rounds: 20 @@ -1050,15 +1116,17 @@ Калибр: 7,62x67 мм NATO (Mk248 Mod 0)<br />Патронов: 20 Kaliber: 7,62x51mm NATO (Mk248 Mod 0)<br />Patronen: 20 Calibro: 7.62x67 mm NATO (Mk248 Mod 0)<br />Munizioni: 20 + Ráže: 7.62x67mm NATO (Mk248 Mod 0)<br />Munice: 20 7.62mm 20Rnd Mag (Mk248 Mod 1) Magazynek 7,62mm 20rd (Mk248 Mod 1) - Chargeur 7.62mm 20Cps (Mk248 Mod 1) + Ch. 7.62mm 20Cps (Mk248 Mod 1) Cargador de 20 balas de 7.62mm (Mk248 Mod 1) Магазин из 20-ти 7,62 мм (Mk248 Mod 1) 7,62mm 20-Patronen-Magazin (Mk248 Mod 1) 7.62mm 20Rnd Mag (Mk248 Mod 1) + 7.62mm 20náb. Zásobník (Mk248 Mod 1) 7.62mm (Mk248 Mod 1) @@ -1068,6 +1136,7 @@ 7,62 мм (Mk248 Mod 1) 7,62mm (Mk248 Mod 1) 7.62mm (Mk248 Mod 1) + 7.62mm (Mk248 Mod 1) Caliber: 7.62x67mm NATO (Mk248 Mod 1)<br />Rounds: 20 @@ -1077,15 +1146,17 @@ Калибр: 7,62x67 мм NATO (Mk248 Mod 1)<br />Патронов: 20 Kaliber: 7,62x51mm NATO (Mk248 Mod 1)<br />Patronen: 20 Calibro: 7.62x67 mm NATO (Mk248 Mod 1)<br />Munizioni: 20 + Ráže: 7.62x67mm NATO (Mk248 Mod 1)<br />Munice: 20 7.62mm 20Rnd Mag (Berger Hybrid OTM) Magazynek 7,62mm 20rd (Berger Hybrid OTM) - Chargeur 7.62 20Cps (Berger Hybrid OTM) + Ch. 7.62 20Cps (Berger Hybrid OTM) Cargador de 20 balas de 7.62mm (Berger Hybrid OTM) Магазин из 20-ти 7,62 мм (Berger Hybrid OTM) 7,62mm 20-Patronen-Magazin (Berger Hybrid OTM) 7.62mm 20Rnd Mag (Berger Hybrid OTM) + 7.62mm 20náb. Zásobník (Berger Hybrid OTM) 7.62mm (OTM) @@ -1095,6 +1166,7 @@ 7,62 мм (OTM) 7,62mm (OTM) 7.62mm (OTM) + 7.62mm (OTM) Caliber: 7.62x67mm NATO (Berger Hybrid OTM)<br />Rounds: 20 @@ -1104,15 +1176,17 @@ Калибр: 7,62x67 мм NATO (Berger Hybrid OTM)<br />Патронов: 20 Kaliber: 7,62x67mm NATO (Berger Hybrid OTM)<br />Patronen: 20 Calibro: 7.62x67 mm NATO (Berger Hybrid OTM)<br />Munizioni: 20 + Ráže: 7.62x67mm NATO (Berger Hybrid OTM)<br />Munice: 20 6.5x47mm 30Rnd Mag (HPBT Scenar) - Chargeur 6.5x47mm 30Cps (HPBT Scenar) + Ch. 6.5x47mm 30Cps (HPBT Scenar) Cargador de 30 balas de 6.5x47mm (HPBT Scenar) Magazynek 6,5x47mm 30rd (HPBT Scenar) Магазин из 30-ти 6,5x47 мм (экспансивные Scenar) 6,5x47mm 30-Patronen-Magazin (HPBT Scenar) 6.5x47mm 30Rnd Mag (HPBT Scenar) + 6.5x47mm 30náb. Zásobník (HPBT Scenar) 6.5mm Lapua @@ -1122,15 +1196,17 @@ 6,5 мм Lapua 6,5mm Lapua 6.5mm Lapua + 6.5mm Lapua Caliber: 6.5x47mm (HPBT Scenar)<br />Rounds: 30<br />Used in: MXM Calibre: 6.5x47mm (HPBT Scenar)<br />Cartouches: 30 - Calibre: 6.5x47mm (HPBT Scenar)<br />Balas: 30 + Calibre: 6.5x47mm (HPBT Scenar)<br />Balas: 30<br />Se usa en: MXM Kaliber: 6,5x47mm (HPBT Scenar)<br />Pociski: 30 - Калибр: 6,5x47 мм (экспансивные Scenar)<br />Патронов: 30 + Калибр: 6,5x47 мм (экспансивные Scenar)<br />Патронов: 30<br />Используются с: MXM Kaliber: 6,5x47mm (HPBT Scenar)<br />Patronen: 30<br />Eingesetzt von: MXM Calibro: 6.5x47mm (HPBT Scenar)<br />Munizioni: 30<br />In uso su: MXM + Ráže: 6.5x47mm (HPBT Scenar)<br />Munice: 30<br />Použití: MXM 6.5mm Creedmor 30Rnd Mag @@ -1138,7 +1214,9 @@ 6.5mm Creedmor 30Rnd Mag Магазин из 30-ти 6,5 мм Creedmor 6,5mm Creedmor 30-Patronen-Magazin - Chargeur 6.5mm Creedmor 30Cps + Cargador de 30 balas Creedmor de 6.5mm + Ch. 6.5mm Creedmor 30Cps + 6.5mm Creedmor 30náb. Zásobník 6.5mm CM @@ -1148,6 +1226,7 @@ 6,5 мм CM 6,5mm CM 6.5mm CM + 6.5mm CM Caliber: 6.5x47mm Creedmor<br />Rounds: 30<br />Used in: MXM @@ -1155,15 +1234,19 @@ Kaliber: 6,5x47mm Creedmor<br />Patronen: 30<br />Eingesetzt von: MXM Calibre: 6.5x47mm Creedmor <br />Cartouches: 30<br />Utilisé avec: MXM Calibro: 6.5mm Creedmor<br />Munizioni: 30<br />In uso su: MXM + Calibre: 6.5mm Creedmor<br />Balas: 30<br />Se usa en: MXM + Калибр: 6,5x47мм Creedmor<br />Патронов: 30<br />Используются c: MXM + Ráže: 6.5x47mm Creedmor<br />Munice: 30<br />Použití: MXM .338 10Rnd Mag (300gr Sierra MatchKing HPBT) - Chargeur .338 10 Cps (300gr Sierra MatchKing HPBT) + Ch. .338 10 Cps (300gr Sierra MatchKing HPBT) Cargador de 10 balas de 8.6x70mm (300gr Sierra MatchKing HPBT) Magazynek .338 10rd (300gr Sierra MatchKing HPBT) Магазин из 10-ти .338 (300 гран Sierra MatchKing экспансивные) .338 10-Patronen-Magazin (300gr Sierra MatchKing HPBT) .338 10Munizioni Mag (300gr Sierra MatchKing HPBT) + .338 10náb. Zásobník (300gr Sierra MatchKing HPBT) .338 HPBT @@ -1173,6 +1256,7 @@ .338 экспансивные .338 HPBT .338 (HPBT) + .338 HPBT Caliber: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Rounds: 10 @@ -1182,15 +1266,17 @@ Калибр: 8,6x70mm (300 гран Sierra MatchKing экспансивные)<br />Патронов: 10 Kaliber: 8,6x70mm (300gr Sierra MatchKing HPBT)<br />Patronen: 10 Calibro: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Munizioni: 10 + Ráže: 8.6x70mm (300gr Sierra MatchKing HPBT)<br />Munice: 10 .338 10Rnd Mag (API526) - Chargeur .338 10Cps (API526) + Ch. .338 10Cps (API526) Cargador de 10 balas de .338 (API526) Magazynek .338 10rd (API526) Магазин из 10-ти .338 (API526) .338 10-Patronen-Magazin (API526) .338 10Rnd Mag (API526) + .338 10náb. Zásobník (API526) .338 AP @@ -1200,6 +1286,7 @@ .338 AP .338 AP .338 AP + .338 AP Caliber: 8.6x70mm (API526)<br />Rounds: 10 @@ -1209,15 +1296,17 @@ Калибр: 8,6x70 мм (API526)<br />Патронов: 10 Kaliber: 8,6x70mm (API526)<br />Patronen: 10 Calibro: 8.6x70mm (API526)<br />Munizioni: 10 + Ráže: 8.6x70mm (API526)<br />Munice: 10 12.7x99mm 5Rnd Mag - Chargeur 12.7x99mm 5Cps + Ch. 12.7x99mm 5Cps Cargador de 5 balas de 12.7x99mm Magazynek 12,7x99mm 5rd Магазин из 5-ти 12,7x99 мм 12,7x99mm 5-Patronen-Magazin 12.7x99mm 5Rnd Mag + 12.7x99mm 5náb. Zásobník 12.7mm @@ -1227,6 +1316,7 @@ 12,7 мм 12,7mm 12.7mm + 12.7mm Caliber: 12.7x99mm<br />Rounds: 5 @@ -1236,15 +1326,17 @@ Калибр: 12,7x99 мм<br />Патронов: 5 Kaliber: 12,7x99mm<br />Patronen: 5 Calibro: 12.7x99mm<br />Munizioni: 5 + Ráže: 12.7x99mm<br />Munice: 5 12.7x99mm API 5Rnd Mag - Chargeur 12.7x99mm API 5Cps + Ch. 12.7x99mm API 5Cps Cargador de 5 balas de 12.7x99mm API Magazynek 12,7x99mm API 5rd 12.7x99mm API 5Rnd Mag Магазин из 5-ти 12,7x99 мм (бронебойно-зажигательные) 12,7x99mm 5-Patronen-Magazin (API) + 12.7x99mm API 5náb. Zásobník 12.7mm API @@ -1254,6 +1346,7 @@ 12.7mm API 12.7 мм бронебойно-зажигательные 12,7mm API + 12.7mm API Caliber: 12.7x99mm API<br />Rounds: 5 @@ -1263,15 +1356,17 @@ Калибр: 12,7x99 мм бронебойно-зажигательные<br />Патронов: 5 Kaliber:12,7x99mm API<br />Patronen: 5 Calibro: 12.7x99mm API<br />Munizioni: 5 + Ráže: 12.7x99mm API<br />Munice: 5 12.7x99mm 5Rnd Mag (AMAX) - Chargeur 12.7x99mm 5Rnd Mag (AMAX) + Ch. 12.7x99mm 5Cps (AMAX) Cargador de 5 balas de 12.7x99mm (AMAX) Magazynek 12,7x99mm 5rd (AMAX) Магазин из 5-ти 12,7x99 мм (A-MAX) 12,7x99mm 5-Patronen-Magazin (AMAX) 12.7x99mm 5Rnd Mag (AMAX) + 12.7x99mm 5náb. Zásobník (AMAX) 12.7mm @@ -1281,6 +1376,7 @@ 12,7 мм 12,7mm 12.7mm + 12.7mm Caliber: 12.7x99mm (AMAX)<br />Rounds: 5 @@ -1290,6 +1386,7 @@ Калибр: 12,7x99 мм (A-MAX)<br />Патронов: 5 Calibro: 12.7x99mm (AMAX)<br />Munizioni: 5 Kaliber:12,7x99mm (AMAX)<br />Patronen: 5 + Ráže: 12.7x99mm (AMAX)<br />Munice: 5 - \ No newline at end of file + diff --git a/addons/common/functions/fnc_getDeathAnim.sqf b/addons/common/functions/fnc_getDeathAnim.sqf index d5185e6562..1e84224b0f 100644 --- a/addons/common/functions/fnc_getDeathAnim.sqf +++ b/addons/common/functions/fnc_getDeathAnim.sqf @@ -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 + * + * Return Value: + * animation + * + * 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 diff --git a/addons/common/functions/fnc_loadPersonLocal.sqf b/addons/common/functions/fnc_loadPersonLocal.sqf index 6e31050cf9..ccde28b9aa 100644 --- a/addons/common/functions/fnc_loadPersonLocal.sqf +++ b/addons/common/functions/fnc_loadPersonLocal.sqf @@ -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 { diff --git a/addons/disarming/stringtable.xml b/addons/disarming/stringtable.xml index 583080ff08..8f02cb7769 100644 --- a/addons/disarming/stringtable.xml +++ b/addons/disarming/stringtable.xml @@ -10,6 +10,7 @@ Открыть инвентарь Apri l'inventario Ouvrir l'inventaire + Felszerelés megtekintése \ No newline at end of file diff --git a/addons/disposable/stringtable.xml b/addons/disposable/stringtable.xml index d80ac58885..0dc86c306c 100644 --- a/addons/disposable/stringtable.xml +++ b/addons/disposable/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -28,10 +28,10 @@ Preloaded Missile Dummy Vorgeladene Racketennachbildung - Missile préchargé Dummy + Missile préchargé Přednabitá dummy střela Wstępnie załadowana atrapa pocisku - Preloaded Missile Dummy + Precargado misil inerte Előtöltött műrakéta Предзаряженная ракетная болванка Missile stupido precaricato diff --git a/addons/dragging/stringtable.xml b/addons/dragging/stringtable.xml index d981f0792a..d95e9e5156 100644 --- a/addons/dragging/stringtable.xml +++ b/addons/dragging/stringtable.xml @@ -28,7 +28,7 @@ Item too heavy Gegenstand ist zu schwer - Articulo demasiado pesado + Objeto demasiado pesado Przedmiot jest zbyt ciężki Objet trop lourd Não é possível carregar o item devido a seu peso diff --git a/addons/explosives/functions/fnc_startDefuse.sqf b/addons/explosives/functions/fnc_startDefuse.sqf index d3631fdb5f..11ca95f894 100644 --- a/addons/explosives/functions/fnc_startDefuse.sqf +++ b/addons/explosives/functions/fnc_startDefuse.sqf @@ -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); }; }; diff --git a/addons/explosives/stringtable.xml b/addons/explosives/stringtable.xml index 1fbc728cb1..0c088df962 100644 --- a/addons/explosives/stringtable.xml +++ b/addons/explosives/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -138,7 +138,7 @@ M57 Zündvorrichtung Dispositivo de detonación M57 Zapalnik M57 - M57 Dispositif de mise à feu + Dispositif de mise à feu M57 Odpalovací zařízení M57 Detonatore M57 M57 Gyújtóeszköz @@ -162,7 +162,7 @@ M26 Zündvorrichtung Dispositivo de detonación MK26 Zapalnik M26 - M26 Dispositif de mise à feu + Dispositif de mise à feu M26 Odpalovací zařízení M26 Detonatore M26 M26 Gyújtóeszköz @@ -208,7 +208,7 @@ Add to Speed Dial Zur Schnellauswahl hinzufügen - Agregar a marcado rápido + Añadir a marcado rápido Dodaj do szybkiego wybierania Ajouter à la composition rapide Přidat jako rychlou volbu @@ -282,7 +282,7 @@ "Zünden"-Menü Menú de detonación Menu detonacji - Menu de mise à feu + Menu de mise à feux Menu Detonace Menù di detonazione Robbantási menü @@ -294,7 +294,7 @@ "Platzieren"-Menü Menú de colocación Menu umieszczania - Menu placement + Menu de placement Menu Umístění Menù di collocamento Elhelyezési menü @@ -364,7 +364,7 @@ Select a Trigger Wähle einen Zünder - Seleccionar un disparador + Seleccionar un detonador Wybierz zapalnik Sélectionner une mise à feu Zvolit Detonátor diff --git a/addons/fcs/stringtable.xml b/addons/fcs/stringtable.xml index f9ebd35a97..d62a5d85ea 100644 --- a/addons/fcs/stringtable.xml +++ b/addons/fcs/stringtable.xml @@ -16,7 +16,7 @@ Zeroed To Haltepunkt - Fijado a + Ajustado a Wyzerowany na Nastaveno na Zéroté à diff --git a/addons/flashsuppressors/stringtable.xml b/addons/flashsuppressors/stringtable.xml index e312f2d5c1..75641b8e01 100644 --- a/addons/flashsuppressors/stringtable.xml +++ b/addons/flashsuppressors/stringtable.xml @@ -11,7 +11,7 @@ Tlumič plamene (6,5 mm) Cache-flamme (6,5 mm) Пламегаситель (6,5 мм) - Supresor (6,5 mm) + Bocacha (6,5 mm) Flash Suppressor (7.62 mm) @@ -23,7 +23,7 @@ Tlumič plamene (7,62 mm) Cache-flamme (7,62 mm) Пламегаситель (7,62 мм) - Supresor (7,62 mm) + Bocacha (7,62 mm) Flash Suppressor (5.56 mm) @@ -35,7 +35,7 @@ Tlumič plamene (5,56 mm) Cache-flamme (5,56 mm) Пламегаситель (5,56 мм) - Supresor (5,56 mm) + Bocacha (5,56 mm) Flash Suppressor (.45 ACP) @@ -47,7 +47,7 @@ Tlumič plamene (.45 ACP) Cache-flamme (.45 ACP) Пламегаситель (.45 ACP) - Supresor (.45 ACP) + Bocacha (.45 ACP) Flash Suppressor (9 mm) @@ -59,7 +59,7 @@ Tlumič plamene (9 mm) Cache-flamme (9 mm) Пламегаситель (9 мм) - Supresor (9 mm) + Bocacha (9 mm) Flash Suppressor (.338) @@ -71,7 +71,7 @@ Tlumič záblesku (.338) Cache-flamme (.338) Пламегаситель (.338) - Supresor (.338) + Bocacha (.338) Flash Suppressor (9.3 mm) @@ -83,7 +83,7 @@ Tlumič záblesku (9,3 mm) Cache-flamme (9,3 mm) Пламегаситель (9,3 мм) - Supresor (9,3 mm) + Bocacha (9,3 mm) \ No newline at end of file diff --git a/addons/frag/CfgAmmo.hpp b/addons/frag/CfgAmmo.hpp index c4841ef96a..ac20dabf5e 100644 --- a/addons/frag/CfgAmmo.hpp +++ b/addons/frag/CfgAmmo.hpp @@ -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; diff --git a/addons/goggles/XEH_postInit.sqf b/addons/goggles/XEH_postInit.sqf index 4fcf4fc055..a6fe7c415f 100644 --- a/addons/goggles/XEH_postInit.sqf +++ b/addons/goggles/XEH_postInit.sqf @@ -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); diff --git a/addons/grenades/stringtable.xml b/addons/grenades/stringtable.xml index 8b97c46418..522c370777 100644 --- a/addons/grenades/stringtable.xml +++ b/addons/grenades/stringtable.xml @@ -52,7 +52,7 @@ Roll Grenade Granate rollen - Rodar granada + Lanzamiento raso Po ziemi Po zemi Lancer roulé @@ -88,7 +88,7 @@ Also known as flashbang. Causes immediate flash blindness, deafness, tinnitus, and inner ear disturbance. Verursacht temporäre Blind- und Taubheit. - Produce de manera inmediata ceguera, sordera, tinitus y afecta el oído interior. + Tambien conocida como granada cegadora. Produce de manera inmediata ceguera, sordera, tinitus y afecta el oído interior. Les grenades incapacitantes servent à désorienter ou distraire une menace pendant quelques secondes. Znany też jako flashbang. Powoduje natychmiastową tymczasową ślepotę, głuchotę, dzwonienie w uszach i inne zaburzenia ucha wewnętrznego. Omračující granát je taktická nesmrtící zbraň používaná při záchraně rukojmí a zvládání davu. diff --git a/addons/interact_menu/XEH_clientInit.sqf b/addons/interact_menu/XEH_clientInit.sqf index d86ab4bd53..edb25d99bb 100644 --- a/addons/interact_menu/XEH_clientInit.sqf +++ b/addons/interact_menu/XEH_clientInit.sqf @@ -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}; diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index d694ecceb1..633aaa3ee9 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -20,7 +20,9 @@ Mostra sempre il cursore per le interazioni Zawsze wyświetlaj kursor dla interakcji Показывать курсор (взаимодействие) + Zobrazit kurzor v menu pro interakci Immer den Cursor für Fremd-Interaktionen anzeigen + Mindig legyen a cselekvés kurzorja látható Display interaction menus as lists @@ -29,7 +31,9 @@ Afficher le menu d'interaction sous forme de liste Mostra il menù di interazione come lista Wyświetlaj menu interakcji jako listę + Zobrazit menu interakce jako seznam Interaktionsmenü in Listen anzeigen + Cselekvő menük listaként való megjelenítése Interact Key @@ -82,60 +86,111 @@ Interaction - Text Max Interakcja - Tekst max + Interakce - Text Max Interaction - Texte Max Interaktionstextfarbe Max Interazioni - Testo Massimo Взаимодействие - Текст Макс. + Interacción - Texto al max. + Cselekvés - Szöveg max. Interaction - Text Min Interakcja - Tekst min + Interakce - Text Min Interaction - Texte Min Interaktionstextfarbe Min Interazioni - Testo Minimo Взаимодействие - Текст Мин. + Interacción - Texto al min. + Cselekvés - Szöveg min. Interaction - Shadow Max Interakcja - Cień max + Interakce - Stín Max Interaction - Ombre Max Interaktionstextschatten Max Interazioni - Ombra Massima Взаимодействие - Тень Макс. + Interacción - Sombras al max. + Cselekvés - Árnyék max. Interaction - Shadow Min Interakcja - Cień min + Interakce - Stín Min Interaction - Ombre Min Interaktionstextschatten Min Interazioni - Ombra Minima Взаимодействие - Тень Мин. + Interacción - Sombras al min. + Cselekvés - Árnyék min. Keep cursor centered Garder le curseur au centre Центрировать курсор + Cursor zentriert halten + Kurzor középen tartása + Utrzymaj kursor wyśrodkowany + Mantener el cursor centrado + Udržuj kurzor na středu - Keeps cursor centered and pans the option menu around. Useful if screen size is limited. + Keeps cursor centered and pans the option menu around. Useful if screen size is limited. + Udržuje kurzor na středu. Užitečné, pokud je velikost obrazovky omezena. Garde le curseur au milieu et dispose le menu des options autour. Utile si la taille de l'écran est limitée. Центрирует курсор и двигает само меню опций. Полезно при ограниченном размере экрана. + Hält den Cursor zentriert und verschiebt das Menü beim Bewegen. Nützlich bei kleinen Bildschirmen. + Középen tartja a kurzort, és a menüelemeket mozgatja. Hasznos lehetőség korlátozott képméretnél. + Utrzymuje kursor na środku ekranu, zamiast tego ruch myszą powoduje przesuwanie menu interakcji. Użyteczne w przypadku kiedy rozmiar ekranu jest ograniczony. + Mantiene el cursor centrado y despliega los menús alrededor. Útil si el tamaño de la pantalla es limitado. Do action when releasing menu key Aktion nach Loslassen der Taste ausführen + Wykonuj akcje po puszczeniu klawisza menu + Provést akci při pustění klávesy menu + Action au relachement de touche + Выполнять действие при отпускании кнопки взаимодействия + Realizar la acción al soltar la tecla menu Interaction Text Size + Velikost textu interakce + Menü-Schriftgröße + Taille du texte d'interaction + Размер текста (меню взаимодействия) + Tamaño del texto de interacción + Rozmiar tekstu interakcji Interaction Text Shadow + Stín textu interakce + Menü-Hintergrundschatten + Ombre du texte d'interaction + Тень от текста (меню взаимодействия) + Sombra del texto de interacción + Cień tekstu interakcji - Allows controlling the text's shadow. Outline ignores custom shadow colors. + Allows controlling the text's shadow. Outline ignores custom shadow colors. + Umožňuje změnit stíny textu v menu interakce. Barva stínu je u tahu písma ignorována. + Stellt den Hintergrundschatten ein. Die Einstellung 'Kontur' ignoriert die Farbe des Schattens. + Permet de controler l'ombre du texte. Le contour ne prend pas en compte la couleur des ombres. + Дает возможность изменять тень, отбрасываемую текстом. Контур не зависит от выбранного цвета тени. + Permite contolar la sombra del texto. El contorno ignora los colores personalizados de la sombra. + Pozwala kontrolować cień tekstu. Kontury ignorują niestandardowe kolory cienia. Outline + Kontura + Kontur + Contour + Контур + Contorno + Kontur diff --git a/addons/interaction/CfgVehicles.hpp b/addons/interaction/CfgVehicles.hpp index 0a13dc0870..5548311718 100644 --- a/addons/interaction/CfgVehicles.hpp +++ b/addons/interaction/CfgVehicles.hpp @@ -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); diff --git a/addons/interaction/XEH_postInit.sqf b/addons/interaction/XEH_postInit.sqf index 98b1cc1523..6417043df2 100644 --- a/addons/interaction/XEH_postInit.sqf +++ b/addons/interaction/XEH_postInit.sqf @@ -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 diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index a0d96bbeb0..d702e6b2e3 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -112,7 +112,7 @@ Interaction Menu (Self) Interaktionsmenü (Selbst) - Menú de interacción (Propia) + Menú de interacción (Propio) Menu interakcji (własne) Menu interakce (vlastní) Menu d'interaction (Perso) @@ -506,16 +506,16 @@ A Terra! - Team<br/>Management - Team<br/>Management - Gestión<br/>de equipo - Gestion<br/>d'équipe - Zarządzanie<br/>oddziałem - Správa<br/>týmu - Управление<br/>группой - Gerenciamento<br/>de Equipe - Organizzazione<br/>Squadra - Csapat<br/>kezelése + Team Management + Team Management + Gestión de equipo + Gestion d'équipe + Zarządzanie oddziałem + Správa týmu + Управление группой + Gerenciamento de Equipe + Organizzazione Squadra + Csapat kezelése Red @@ -565,57 +565,57 @@ Giallo Sárga + + Assign Red + Rot zuweisen + Asignar a rojo + Przydziel do czerwonych + + + Assign Green + Grün zuweisen + Asignar a verde + Przydziel do zielonych + + + Assign Blue + Blau zuweisen + Asignar a azul + Przydziel do niebieskich + + + Assign Yellow + Gelb zuweisen + Asignar a amarillo + Przydziel do żółtych + - Join Team<br/>Red - Team Rot<br/>beitreten - Unirse al<br/>equipo rojo - Rejoindre<br/>Rouge - Dołącz do drużyny<br/>czerwonej - Připojit do<br/>Červeného týmu - Присоединиться<br/>к Красной группе - Unir-se à<br/>Equipe Vermelha - Entra nella<br/>Squadra Rossa - Csatlakozás a<br/>piros csapathoz + Join Red + Rot beitreten + Unirse a rojo + Dołącz do czerwonych - Join Team<br/>Green - Team Grün<br/>beitreten - Unirse al<br/>equipo verde - Rejoindre<br/>Vert - Dołącz do<br/>drużyny zielonej - Připojit do<br/>Zeleného týmu - Присоединиться<br/>к Зеленой группе - Unir-se à<br/>Equipe Verde - Entra nella<br/>Squadra Verde - Csatlakozás a<br/>zöld csapathoz + Join Green + Grün beitreten + Unirse a verde + Dołącz do zielonych - Join Team<br/>Blue - Team Blau<br/>beitreten - Unirse al<br/>equipo azul - Rejoindre<br/>Bleu - Dołącz do<br/>drużyny niebieskiej - Připojit do<br/>Modrého týmu - Присоединиться<br/>к Синей группе - Unir-se à<br/>Equipe Azul - Entra nella<br/>Squadra Blu - Csatlakozás a<br/>kék csapathoz + Join Blue + Blau beitreten + Unirse a azul + Dołącz do niebieskich - Join Team<br/>Yellow - Team Gelb<br/>beitreten - Unirse al<br/>equipo amarillo - Rejoindre<br/>Jaune - Dołącz do<br/>drużyny żółtej - Připojit do<br/>Žlutého týmu - Присоединиться<br/>к Жёлтой группе - Unir-se à<br/>Equipe Amarela - Entra nella<br/>Squadra Gialla - Csatlakozás a<br/>sárga csapathoz + Join Yellow + Gelb beitreten + Unirse a amarillo + Dołącz do żółtych You joined Team %1 - Du bist Team %1 beigetreten + Du bist Gruppe %1 beigetreten Te has unido al equipo %1 Tu as rejoint l'équipe %1 Dołączyłeś do drużyny %1 @@ -627,7 +627,7 @@ Leave Team - Team verlassen + Gruppe verlassen Dejar equipo Quitter l'équipe Opuść drużynę @@ -639,7 +639,7 @@ You left the Team - Du hast das Team verlassen + Du hast die Gruppe verlassen Has dejado el equipo Tu as quitté l'équipe Opuściłeś drużynę @@ -735,7 +735,7 @@ Passengers - Passagiere + Insassen Pasajeros Пассажиры Pasažéři diff --git a/addons/javelin/CfgVehicles.hpp b/addons/javelin/CfgVehicles.hpp index 5ea7e3327c..48781036ad 100644 --- a/addons/javelin/CfgVehicles.hpp +++ b/addons/javelin/CfgVehicles.hpp @@ -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"; diff --git a/addons/javelin/CfgWeapons.hpp b/addons/javelin/CfgWeapons.hpp index 1392cd1a56..1bbf713b3b 100644 --- a/addons/javelin/CfgWeapons.hpp +++ b/addons/javelin/CfgWeapons.hpp @@ -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}; }; diff --git a/addons/javelin/functions/fnc_onFired.sqf b/addons/javelin/functions/fnc_onFired.sqf index 8c6590f5df..fa947bfdd5 100644 --- a/addons/javelin/functions/fnc_onFired.sqf +++ b/addons/javelin/functions/fnc_onFired.sqf @@ -6,10 +6,8 @@ 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" >> _weapon, QUOTE(configName _x == QUOTE(QGVAR(enabled))), false]; +if (((count _configs) < 1) || {(getNumber (_configs select 0)) != 1}) exitWith {}; _pfh_handle = uiNamespace getVariable ["ACE_RscOptics_javelin_PFH", nil]; if(!isNil "_pfh_handle") then { diff --git a/addons/javelin/functions/fnc_onOpticDraw.sqf b/addons/javelin/functions/fnc_onOpticDraw.sqf index 505953d877..039484d1af 100644 --- a/addons/javelin/functions/fnc_onOpticDraw.sqf +++ b/addons/javelin/functions/fnc_onOpticDraw.sqf @@ -35,10 +35,8 @@ _soundTime = _args select 4; _randomLockInterval = _args select 5; _fireDisabledEH = _args select 6; -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)), QUOTE(configName _x == QUOTE(QGVAR(enabled))), false]; +if (((count _configs) < 1) || {(getNumber (_configs select 0)) != 1}) exitWith { __JavelinIGUITargeting ctrlShow false; __JavelinIGUITargetingGate ctrlShow false; __JavelinIGUITargetingLines ctrlShow false; @@ -130,7 +128,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); diff --git a/addons/javelin/stringtable.xml b/addons/javelin/stringtable.xml index 3032cd013f..0557968115 100644 --- a/addons/javelin/stringtable.xml +++ b/addons/javelin/stringtable.xml @@ -5,7 +5,7 @@ Lock Target (Hold) Ziel aufschalten Захватить цель (удерживать) - Zamknout cíl(držet) + Zamknout cíl (držet) Namierz cel (przytrzymaj) Verrouiller la cible (maintenir) Célpontra állás (Lenyomva tartott) @@ -17,7 +17,7 @@ Cycle Fire Mode Wechsle Feuermodus Переключение режимов огня - Cyklování režimů palby + Přepínání režimů palby Przełącz tryb ognia Cycle mode de tir Tüzelési mód váltása @@ -26,4 +26,4 @@ Alterar Modo de Disparo - + \ No newline at end of file diff --git a/addons/kestrel4500/stringtable.xml b/addons/kestrel4500/stringtable.xml index 15808311d9..88eb1fd146 100644 --- a/addons/kestrel4500/stringtable.xml +++ b/addons/kestrel4500/stringtable.xml @@ -18,10 +18,12 @@ Anemomentr skrzydełkowy Kestrel 4500 Карманная метеостанция Kestrel 4500NV Station météo portable Kestrel 4500 - Kestrel 4500 Pocket Weather Tracker + Estación meteorológica Kestrel 4500 Kestrel 4500 Taschenwettermessgerät Kestrel 4500 Indicatore Meteorologico Tascabile Kestrel 4500 Medidor Balístico Ativo + Kestrel 4500 kézi szél-és időjárásmérő + Kapesní měřič počasí Kestrel 4500 Open Kestrel 4500 @@ -33,6 +35,7 @@ Abrir Kestrel 4500 Kestrel 4500 öffnen Abrir Kestrel 4500 + Otevřít Kestrel 4500 Show Kestrel 4500 @@ -42,6 +45,8 @@ Mostra Kestrel 4500 Mostrar Kestrel 4500 Kestrel 4500 anzeigen + Kestrel 4500 mutatása + Zobrazit Kestrel 4500 Hide Kestrel 4500 @@ -49,8 +54,10 @@ Убрать Kestrel 4500NV Cacher Kestrel 4500 Nascondi Kestrel 4500 - Esconder Kestrel 4500 + Ocultar Kestrel 4500 Kestrel 4500 wegstecken + Kestrel 4500 elrejtése + Skrýt Kestrel 4500 Open Kestrel 4500 @@ -60,6 +67,8 @@ Accendi Kestrel 4500 Abrir Kestrel 4500 Kestrel 4500 öffnen + Kestrel 4500 elővétele + Otevřít Kestrel 4500 Show Kestrel 4500 @@ -69,6 +78,8 @@ Mostra Kestrel 4500 Mostrar Kestrel 4500 Kestrel 4500 anzeigen + Kestrel 4500 mutatása + Zobrazit Kestrel 4500 diff --git a/addons/laser/CfgVehicles.hpp b/addons/laser/CfgVehicles.hpp index 23eb00c37c..dd3f02a0cc 100644 --- a/addons/laser/CfgVehicles.hpp +++ b/addons/laser/CfgVehicles.hpp @@ -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 + }; + }; + }; }; \ No newline at end of file diff --git a/addons/laser/XEH_post_init.sqf b/addons/laser/XEH_post_init.sqf index f868ef9895..a9f0e82be3 100644 --- a/addons/laser/XEH_post_init.sqf +++ b/addons/laser/XEH_post_init.sqf @@ -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); diff --git a/addons/laser/XEH_pre_init.sqf b/addons/laser/XEH_pre_init.sqf index 2dd6e666eb..20f31d9e5b 100644 --- a/addons/laser/XEH_pre_init.sqf +++ b/addons/laser/XEH_pre_init.sqf @@ -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; diff --git a/addons/laser/functions/fnc_keyLaserCodeDown.sqf b/addons/laser/functions/fnc_keyLaserCodeDown.sqf new file mode 100644 index 0000000000..a27b376d59 --- /dev/null +++ b/addons/laser/functions/fnc_keyLaserCodeDown.sqf @@ -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); +}; \ No newline at end of file diff --git a/addons/laser/functions/fnc_keyLaserCodeUp.sqf b/addons/laser/functions/fnc_keyLaserCodeUp.sqf new file mode 100644 index 0000000000..4e8750164c --- /dev/null +++ b/addons/laser/functions/fnc_keyLaserCodeUp.sqf @@ -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); +}; \ No newline at end of file diff --git a/addons/laser/functions/fnc_unitTurretCanLockLaser.sqf b/addons/laser/functions/fnc_unitTurretCanLockLaser.sqf new file mode 100644 index 0000000000..a82e42400a --- /dev/null +++ b/addons/laser/functions/fnc_unitTurretCanLockLaser.sqf @@ -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 + * + * Return value: + * Has designator? + */ +#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 diff --git a/addons/laser/initKeybinds.sqf b/addons/laser/initKeybinds.sqf new file mode 100644 index 0000000000..d367b3553c --- /dev/null +++ b/addons/laser/initKeybinds.sqf @@ -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) diff --git a/addons/laser/stringtable.xml b/addons/laser/stringtable.xml new file mode 100644 index 0000000000..710d7c2e29 --- /dev/null +++ b/addons/laser/stringtable.xml @@ -0,0 +1,26 @@ + + + + + Laser Code + Lasercode + Kod lasera + Code laser + Лазерный код + + + Laser - Cycle Code Up + Lasercode + + Laser - Następny kod + Laser - Code + + Лазер - увеличить частоту + + + Laser - Cycle Code Down + Lasercode - + Laser - Poprzedni kod + Laser - Code - + Лазер - уменьшить частоту + + + diff --git a/addons/laser_selfdesignate/CfgVehicles.hpp b/addons/laser_selfdesignate/CfgVehicles.hpp index 02d8b32b3d..3233a1e92c 100644 --- a/addons/laser_selfdesignate/CfgVehicles.hpp +++ b/addons/laser_selfdesignate/CfgVehicles.hpp @@ -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 + }; + }; + }; + */ }; diff --git a/addons/laser_selfdesignate/stringtable.xml b/addons/laser_selfdesignate/stringtable.xml index 287aaec4ed..02ef89f7a8 100644 --- a/addons/laser_selfdesignate/stringtable.xml +++ b/addons/laser_selfdesignate/stringtable.xml @@ -4,7 +4,7 @@ Laser Designator On Lasermarkierer an - Laser Designador encendido + Designador láser encendido ЛЦУ ВКЛ Laserový značkovač zapnut Desygnator laserowy wł. @@ -16,7 +16,7 @@ Laser Designator Off Lasermarkierer aus - Laser Designador apagado + Designador láser apagado ЛЦУ ВЫКЛ Laserový značkovat vypnut Desygnator laserowy wył. diff --git a/addons/laserpointer/CfgWeapons.hpp b/addons/laserpointer/CfgWeapons.hpp index 4f6a61c83a..6223c3a988 100644 --- a/addons/laserpointer/CfgWeapons.hpp +++ b/addons/laserpointer/CfgWeapons.hpp @@ -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; diff --git a/addons/laserpointer/functions/fnc_onDraw.sqf b/addons/laserpointer/functions/fnc_onDraw.sqf index 0e4ddf981a..c1e955d028 100644 --- a/addons/laserpointer/functions/fnc_onDraw.sqf +++ b/addons/laserpointer/functions/fnc_onDraw.sqf @@ -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); diff --git a/addons/laserpointer/stringtable.xml b/addons/laserpointer/stringtable.xml index c3c227d8e3..484366085f 100644 --- a/addons/laserpointer/stringtable.xml +++ b/addons/laserpointer/stringtable.xml @@ -46,7 +46,7 @@ <t color='#9cf953'>Użyj: </t>wł./wył. laser <t color='#9cf953'>Uso: </t>Ativar/Desativar laser <t color='#9cf953'>Использовать: </t>ВКЛ/ВЫКЛ лазер - <t color='#9cf953'>Usar: </t>encender/apagar láser + <t color='#9cf953'>Usar: </t>Encender/Apagar láser <t color='#9cf953'>Használat: </t>Lézer BE/KI kapcsolása @@ -55,8 +55,10 @@ Laser Лазер Laser - Laser + Láser Laser + Lézer + Laser IR Laser @@ -64,17 +66,21 @@ Laser IR ИК-лазер Laser IR - Laser IR + Láser IR Laser IR + Infravörös Lézer + IR Laser - Switch Laser / IR Laser + Switch Laser / Infračervený Laser Umschalten Laser / IR-Laser Przełącz Laser / Laser IR Изменить режим Лазер / ИК-лазер Changer Laser / Laser IR Alterna Laser / IR Laser - Cambiar Laser / Laser IR + Cambiar láser / Láser IR + Lézer / Infravörös Lézer váltása + Přepnout Laser / IR Laser diff --git a/addons/logistics_wirecutter/stringtable.xml b/addons/logistics_wirecutter/stringtable.xml index fb31506665..c49243d91e 100644 --- a/addons/logistics_wirecutter/stringtable.xml +++ b/addons/logistics_wirecutter/stringtable.xml @@ -18,7 +18,7 @@ Schneidet Draht. Cortador de cables Позволяют быстро перекусывать сеточные конструкции. - Štípačky + Štípací kleště Służą do cięcia drutu i płotów Pince coupante Drótok, huzalok, és kábelek vágására alkalmas olló. @@ -42,7 +42,7 @@ Zaun / Draht schneiden ... Cortando alambrado / cables ... Przecinanie płotu / drutów ... - Přestřihnout plot / dráty ... + Přestřihávám plot / dráty ... Cisaille l'obstacle ... Cortando Cerca / Arame ... Sto tagliando ... @@ -62,4 +62,4 @@ Забор разрезан - + \ No newline at end of file diff --git a/addons/magazinerepack/stringtable.xml b/addons/magazinerepack/stringtable.xml index 0389d72d91..7030dc374e 100644 --- a/addons/magazinerepack/stringtable.xml +++ b/addons/magazinerepack/stringtable.xml @@ -77,7 +77,7 @@ Repacking Finished Réorganisation terminée Wiederverpacken Fertig - Reembalaje finalizado + Reorganización finalizada Перепаковка завершена Páskování dokončeno Przepakowywanie zakończone @@ -89,7 +89,7 @@ Repacking Interrupted Réorganisation interrompue Umpacken Unterbrochen - Reembalaje interrumpido + Reorganización interrumpida Перепаковка прервана Páskování přerušeno Przepakowywanie przerwane @@ -101,7 +101,7 @@ %1 Full and %2 Partial %1 plein(s) et %2 partiel(s) %1 Vollständigen und %2 Teilweisen - %1 Total y %2 Parcial + %1 Llenos y %2 Incompletos %1 полных и %2 неполных %1 plný a %2 částečně Pełnych: %1.<br/>Częściowo pełnych: %2. diff --git a/addons/main/script_mod.hpp b/addons/main/script_mod.hpp index 25a18e8dc2..5777d7223e 100644 --- a/addons/main/script_mod.hpp +++ b/addons/main/script_mod.hpp @@ -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 diff --git a/addons/medical/ACE_Medical_Treatments.hpp b/addons/medical/ACE_Medical_Treatments.hpp index 8a42bbbb68..3f5212ad71 100644 --- a/addons/medical/ACE_Medical_Treatments.hpp +++ b/addons/medical/ACE_Medical_Treatments.hpp @@ -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"; diff --git a/addons/medical/ACE_Settings.hpp b/addons/medical/ACE_Settings.hpp index ef4a4f0162..b3c2152df1 100644 --- a/addons/medical/ACE_Settings.hpp +++ b/addons/medical/ACE_Settings.hpp @@ -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"; diff --git a/addons/medical/CfgVehicles.hpp b/addons/medical/CfgVehicles.hpp index 6149c57afd..4054a2ee1e 100644 --- a/addons/medical/CfgVehicles.hpp +++ b/addons/medical/CfgVehicles.hpp @@ -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; diff --git a/addons/medical/XEH_postInit.sqf b/addons/medical/XEH_postInit.sqf index 386eb4de93..1bb0e744bc 100644 --- a/addons/medical/XEH_postInit.sqf +++ b/addons/medical/XEH_postInit.sqf @@ -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])}, diff --git a/addons/medical/XEH_respawn.sqf b/addons/medical/XEH_respawn.sqf index ac6cc2d6ef..0a95e064fd 100644 --- a/addons/medical/XEH_respawn.sqf +++ b/addons/medical/XEH_respawn.sqf @@ -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; +}; diff --git a/addons/medical/config.cpp b/addons/medical/config.cpp index de99778c11..566de29f91 100644 --- a/addons/medical/config.cpp +++ b/addons/medical/config.cpp @@ -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; diff --git a/addons/medical/data/bodybag.p3d b/addons/medical/data/bodybag.p3d deleted file mode 100644 index 1fec3a05f0..0000000000 Binary files a/addons/medical/data/bodybag.p3d and /dev/null differ diff --git a/addons/medical/data/surgical_kit.rvmat b/addons/medical/data/surgical_kit.rvmat index e7db14f08b..71d266f668 100644 --- a/addons/medical/data/surgical_kit.rvmat +++ b/addons/medical/data/surgical_kit.rvmat @@ -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 { diff --git a/addons/medical/functions/fnc_getBloodLoss.sqf b/addons/medical/functions/fnc_getBloodLoss.sqf index 414b3a47c7..1881643d97 100644 --- a/addons/medical/functions/fnc_getBloodLoss.sqf +++ b/addons/medical/functions/fnc_getBloodLoss.sqf @@ -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); diff --git a/addons/medical/functions/fnc_getBloodVolumeChange.sqf b/addons/medical/functions/fnc_getBloodVolumeChange.sqf index f94c5d5b7b..23eba4a0c7 100644 --- a/addons/medical/functions/fnc_getBloodVolumeChange.sqf +++ b/addons/medical/functions/fnc_getBloodVolumeChange.sqf @@ -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 { { diff --git a/addons/medical/functions/fnc_getHeartRateChange.sqf b/addons/medical/functions/fnc_getHeartRateChange.sqf index 7429d6dd43..92a2053737 100644 --- a/addons/medical/functions/fnc_getHeartRateChange.sqf +++ b/addons/medical/functions/fnc_getHeartRateChange.sqf @@ -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 \ No newline at end of file +_hrIncrease diff --git a/addons/medical/functions/fnc_handleDamage.sqf b/addons/medical/functions/fnc_handleDamage.sqf index d457762321..1d8c821d1f 100644 --- a/addons/medical/functions/fnc_handleDamage.sqf +++ b/addons/medical/functions/fnc_handleDamage.sqf @@ -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 diff --git a/addons/medical/functions/fnc_handleDamage_basic.sqf b/addons/medical/functions/fnc_handleDamage_basic.sqf index 1647cc8442..7b308ad188 100644 --- a/addons/medical/functions/fnc_handleDamage_basic.sqf +++ b/addons/medical/functions/fnc_handleDamage_basic.sqf @@ -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 diff --git a/addons/medical/functions/fnc_handleLocal.sqf b/addons/medical/functions/fnc_handleLocal.sqf index f79c1c3a6d..216fb8ed49 100644 --- a/addons/medical/functions/fnc_handleLocal.sqf +++ b/addons/medical/functions/fnc_handleLocal.sqf @@ -23,10 +23,10 @@ if (_local) then { [_unit, true] call FUNC(addToInjuredCollection); }; - if ((_unit getvariable ["ACE_isUnconscious",false]) && {count (_unit getvariable [QGVAR(unconsciousArguments), []]) >= 7}) then { + if ((_unit getvariable ["ACE_isUnconscious",false]) && {count (_unit getvariable [QGVAR(unconsciousArguments), []]) >= 6}) then { private "_arguments"; _arguments = (_unit getvariable [QGVAR(unconsciousArguments), []]); - _arguments set [ 3, time]; + _arguments set [2, time]; [DFUNC(unconsciousPFH), 0.1, _arguments ] call CBA_fnc_addPerFrameHandler; diff --git a/addons/medical/functions/fnc_handleUnitVitals.sqf b/addons/medical/functions/fnc_handleUnitVitals.sqf index aff3b48945..ebfb8be746 100644 --- a/addons/medical/functions/fnc_handleUnitVitals.sqf +++ b/addons/medical/functions/fnc_handleUnitVitals.sqf @@ -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]; }; diff --git a/addons/medical/functions/fnc_moduleMedicalSettings.sqf b/addons/medical/functions/fnc_moduleMedicalSettings.sqf index 0d514aee27..296b4f1d56 100644 --- a/addons/medical/functions/fnc_moduleMedicalSettings.sqf +++ b/addons/medical/functions/fnc_moduleMedicalSettings.sqf @@ -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); diff --git a/addons/medical/functions/fnc_setUnconscious.sqf b/addons/medical/functions/fnc_setUnconscious.sqf index 82e93eb1fb..72d297b2c8 100644 --- a/addons/medical/functions/fnc_setUnconscious.sqf +++ b/addons/medical/functions/fnc_setUnconscious.sqf @@ -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); diff --git a/addons/medical/functions/fnc_unconsciousPFH.sqf b/addons/medical/functions/fnc_unconsciousPFH.sqf index bf328648d5..f0759a66ba 100644 --- a/addons/medical/functions/fnc_unconsciousPFH.sqf +++ b/addons/medical/functions/fnc_unconsciousPFH.sqf @@ -3,7 +3,14 @@ * PFH logic for unconscious state * * Arguments: - * 0: The unit that will be put in an unconscious state + * 0: PFEH - Args + * 0: The unit that will be put in an unconscious state + * 1: unitPos (stance) + * 2: Starting Time + * 3: Minimum Waiting Time + * 4: Has Moved Out + * 5: Parachute Check + * 1: PFEH ID * * ReturnValue: * nil @@ -13,15 +20,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 +57,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; @@ -76,19 +109,19 @@ if !(_unit getvariable ["ACE_isUnconscious",false]) exitwith { [_unit, "isUnconscious"] call EFUNC(common,unmuteUnit); // ensure this statement runs only once - _args set [5, true]; + _args set [4, true]; }; }; if (_parachuteCheck) then { if !(vehicle _unit isKindOf "ParachuteBase") then { [_unit, [_unit] call EFUNC(common,getDeathAnim), 1, true] call EFUNC(common,doAnimation); - _args set [6, false]; + _args set [5, false]; }; }; if (!local _unit) exitwith { - _args set [ 4, _minWaitingTime - (time - _startingTime)]; + _args set [3, _minWaitingTime - (time - _startingTime)]; _unit setvariable [QGVAR(unconsciousArguments), _args, true]; [(_this select 1)] call cba_fnc_removePerFrameHandler; }; diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index c164b37bf1..fdc62a427a 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -8,14 +8,20 @@ ТРАВМЫ BLESSURES OBRAŻENIA + HERIDAS + SÉRÜLÉSEK + ZRANĚNÍ No injuries on this bodypart ... Körperteil nicht verletzt ... Non ci sono lesioni in questa parte del corpo ... Данная часть тела не повреждена ... - Aucune blessures sur cette partie du corps + Aucune blessures sur cette partie du corps ... Brak obrażeń na tej części ciała ... + Sin heridas en esta parte del cuerpo ... + Ezen a testrészen nincs sérülés ... + Žádné zranění na této části těla ... Litter Simulation Detail @@ -24,6 +30,9 @@ Количество мусора от медицины Dettagli Simulazione Rifiuti Niveau de simulation des détritus + Abfall-Detaillevel + Hulladékszimuláció részletessége + Úroveň počtu zobrazených předmětů z použitých léků Litter simulation detail level sets the number of litter items which will be locally spawned in the client. Excessive amounts in local areas could cause FPS lag, so this is a client only setting. @@ -31,7 +40,10 @@ Detalle simulación de basura establece el número de artículos de basura que se generan a nivel local en el cliente. Las cantidades excesivas en áreas locales podrían causar caída de rendimiento, así que esto es un ajuste de cliente únicamente. Устанавливает количество мусора, который появляется после использования мед. препаратов. Большое количество мусора может уменьшить производительность, поэтому данная настройка локальна для клиента. Il livello di dettagli della simulazione dei rifiuti indica il numero di rifiuti che verranno creati localmente nel client. La creazione di troppi rifiuti in aree locali potrebbe causare lag e calo di FPS. Questo è un settaggio client. - Le nieau de simulation des détritus règle la quantité de déchets qui vont être créer localement dans le client. Des quantitées excessive dans certaines zones locales aurait pu causer des chutes D'IPS, donc c'est une option client uniquement. + Le niveau de simulation des détritus règle la quantité de déchets qui vont être créés localement chez le client. Des quantitées excessive chez certains clients peuvent causer des chutes de FPS, c'est donc une option client uniquement. + Die Einstellung für das Abfall-Detaillevel stellt die Menge der lokal erzeugten medizinischen Abfälle ein. Zuviel erzeugte Abfälle können FPS-Lags erzeugen, deswegen ist diese Einstellung nur clientseitig. + A hulladékszimuláció részletessége megszabja a kliens által megjelenített hulladékobjektumok mennyiségét. Súlyos mennyiségek izolált területeken alacsony FPS-t okozhatnak, így ez egy kliensoldali beállítás. + Úroveň počtu zobrazených předmětů z použitých léků ovlivňuje počet objektů, které budou zobrazeny klientovi . Vyšší množství objektů může způsobovat poklesy FPS a proto je toto nastavení čistě na klientovi. Inject Atropine @@ -115,6 +127,7 @@ Наложить жгут Applica laccio emostatico Aplicar Torniquete + Érszorító alkalmazása Bandage @@ -382,10 +395,10 @@ Triage Card Triagekarte - Tarjeta de triaje + Tarjeta de clasificación Медкарта Karta segregacyjna - Karta Triage + Štítek Carte de triage Orvosi lap Triage Card @@ -398,6 +411,9 @@ Нет записей. Aucune entrée sur cette carte de triage Brak wpisów w tej karcie segregacyjnej. + Sin entradas en esta tarjeta de clasificación. + Ez az orvosi lap nem tartalmaz bejegyzést. + Žádné záznamy na tomto štítku Tourniquet @@ -430,6 +446,9 @@ Диагностика Diagnostiquer Diagnoza + Diagnosticar + Diagnosztizálás + Diagnóza Diagnosing ... @@ -438,6 +457,9 @@ Диагностика ... Diagnostic en cours Diagnozowanie ... + Diagnosticando ... + Diagnózis folyamatban... + Diagnostika ... CPR @@ -446,6 +468,9 @@ Сердечно-лёгочная реанимация RPC RKO + RCP + Újraélesztés + KPR Performing CPR ... @@ -454,6 +479,9 @@ Сердечно-лёгочная реанимация ... RPC en cours Przeprowadzanie RKO ... + Realizando RCP ... + Újraélesztés folyamatban... + Provádím KPR ... Give Blood IV (1000ml) @@ -753,6 +781,7 @@ Sebesülések befedésére alkalmas Usato per coprire una ferita Usado para cobrir um ferimento + Slouží k překrytí poranění A dressing, that is a particular material used to cover a wound, which is applied over the wound once bleeding has been stemmed. @@ -956,6 +985,7 @@ Növeli a szívverést és ellenzi az allergiás reakciók hatásait Aumenta il battito cardiaco e combatte gli effetti di reazioni allergiche. Aumenta a frequência cardíaca e combate efeitos causados por reações alérgicas + Zvyšuje srdeční frekvenci a chrání před alergickými reakcemi A drug that works on a sympathetic response to dilate the bronchi, increase heart rate and counter such effects given by allergic reactions (anaphylaxis). Used in sudden cardiac arrest scenarios with decreasing positive outcomes. @@ -966,6 +996,7 @@ Una sostanza che permette di dilatare i bronchi, aumentare il battito cardiaco e combattere effetti di reazioni allergiche. Usato anche in casi di arresto cardiaco. Ein Medikament, dass die Bronchien erweitert, die Herzfrequenz erhöht und Symptome von allergischen Reaktionen(Anaphylaxie) bekämpft. Wird bei plötzlichem Herzstillstand verabreicht. Uma droga trabalha dilatando os bronquios, aumentando a frequência cardíaca e combate efeitos de reações alérgicas(anáfilaticas). Usado em casos de parada cardiaca com poucas changes de recuperação. + Egy hormon, mely a szimpatikus idegrendszer által kitágítja a hörgőket, valamint megnöveli a szívverést, ezzel ellensúlyozva ilyen jellegű allergiás reakciókat (anafilaxiás sokk). Hirtelen szívmegállás esetén is használt, idő alatt csökkenő hatásfokkal. Plasma IV (1000ml) @@ -977,6 +1008,7 @@ Vérplazma-infúzió (1000ml) Plasma IV (1000ml) Plasma IV (1000ml) + Krevní plazma (1000ml) A volume-expanding blood supplement. @@ -1010,6 +1042,7 @@ Vérplazma-infúzió (500ml) Plasma IV (500ml) Plasma IV (500ml) + Krevní plazma (500ml) Plasma IV (250ml) @@ -1021,6 +1054,7 @@ Vérplazma-infúzió (250ml) Plasma IV (250ml) Plasma IV (250ml) + Krevní plazma (250ml) Blood IV (1000ml) @@ -1032,6 +1066,7 @@ Vér-infúzió (1000ml) Sangue IV (1000ml) Sangue IV (1000ml) + Krevní transfúze (1000ml) Blood IV, for restoring a patients blood (keep cold) @@ -1043,6 +1078,7 @@ Sangue usato per ripristinare pazienti in cui si è verificata una perdita di sangue (conservare al fresco) Blut IV, Bluthaushalt des Patienten wiederherstellen. (Kühl halten) Sangue intravenoso, para restaurar o volume sanguinio do paciente.(Manter frio) + Krev IV, pro doplňění krve pacienta (udržujte v chladu) O Negative infusion blood used in strict and rare events to replenish blood supply usually conducted in the transport phase of medical care. @@ -1053,6 +1089,7 @@ Cullot sanguin O- utilisé dans de rares et stricts cas pour compléter une perte de sang importante. Administré normalement lors d'un MEDEVAC O Negative Blutinfusion wird nur in seltenen Fällen verwendet, um den Bluthaushalt des Patienten zu ergänzen. Wird in der Regel wärend der Transportphase durchgeführt. Sangue O- , utilizado em casos raros para rapidamente repor o sangue. Uso habitual ocorre durante o transporte ou em estações de tratamento. + Nullás vércsoportú, Rh-negatív vér-infúzió, melyet kritikus és ritka helyzetekben vérutánpótlásra használnak, jellemzően az orvosi ellátás szállítási fázisa közben. Blood IV (500ml) @@ -1064,6 +1101,7 @@ Vér-infúzió (500ml) Sangue IV (500ml) Sangue IV (500ml) + Krevní transfúze (500ml) Blood IV (250ml) @@ -1075,6 +1113,7 @@ Vér-infúzió (250ml) Samgue IV (250ml) Sangue IV (250ml) + Krevní transfúze (250ml) Saline IV (1000ml) @@ -1086,6 +1125,7 @@ 0,9%-os sósvíz-infúzió (1000ml) Soluzione salina IV (1000ml) Soro IV (1000ml) + Fyziologický roztok (1000ml) Saline IV, for restoring a patients blood @@ -1119,6 +1159,7 @@ 0,9%-os sósvíz-infúzió (500ml) Soluzione salina IV (500ml) Soro IV (1000ml) + Fyziologický roztok (500ml) Saline IV (250ml) @@ -1130,6 +1171,7 @@ 0,9%-os sósvíz-infúzió (250ml) Soluzione salina IV (250ml) Soro IV (1000ml) + Fyziologický roztok (250ml) Basic Field Dressing (QuikClot) @@ -1167,13 +1209,14 @@ Personal Aid Kit Аптечка - Botiquín de primeros auxilios Trousse de premiers soins + Equipo de primeros auxilios Apteczka osobista Persönliches Verbandpäckchen Elsősegélycsomag Pronto soccorso personale Kit De Primeiros Socorros Pessoal + Balíček první pomoci Includes various treatment kit needed for stitching or advanced treatment @@ -1192,6 +1235,8 @@ Полевая аптчека для продвинутого лечения и зашивания ран Persönliches Verbandspäckchen zum ambulanten Nähen und fortgeschrittener Behandlung. Trousse de premiers soins pour coudre sur le terrain et traitements avancés. + Equipo de primeros auxilios para sutura de campaña o tratamientos avanzados + Elsősegélycsomag, terepen való sebvarráshoz és haladó ellátáshoz Use Personal Aid Kit @@ -1199,6 +1244,9 @@ Использовать аптечку Utiliser la Trousse de premier soins Użyj apteczki osobistej + Usar equipo de primeros auxilios + Elsősegélycsomag használata + Použít balíček první pomoci Surgical Kit @@ -1210,6 +1258,7 @@ Sebészeti készlet Kit chirurgico Kit Cirurgico + Chirurgická sada Surgical Kit for in field advanced medical treatment @@ -1221,6 +1270,7 @@ Sebészeti készlet komplex orvosi feladatok terepen való ellátására Kit chirurgico per trattamenti avanzati sul campo. Kit Cirurgico para uso de tratamento médico avançado em campo + Chirurgická sada pro pokročilé vyléčení v poli Surgical Kit for in field advanced medical treatment @@ -1232,6 +1282,7 @@ Sebészeti készlet komplex orvosi feladatok terepen való ellátására Kit chirurgico per trattamenti avanzati sul campo. Kit Cirurgico para uso de tratamento médico avançado em campo. + Chirurgická sada pro pokročilé vyléčení v poli Use Surgical Kit @@ -1240,6 +1291,9 @@ Использовать хирургический набор Utiliser la trousse chirugicale Zszyj rany + Usar equipo quirúrgico + Sebészeti készlet használata + Použít chirurgickou sadu Bodybag @@ -1251,6 +1305,7 @@ Hullazsák Sacca per corpi Saco para cadáver + Pytel na tělo A bodybag for dead bodies @@ -1262,6 +1317,7 @@ Egy hullazsák a holttestek számára Una sacca nera per trasportare cadaveri. Um saco para corpos mortos + Pytel na mrtvá těla A bodybag for dead bodies @@ -1273,6 +1329,7 @@ Egy hullazsák a holttestek számára Una sacca nera per trasportare cadaveri. Um saco para corpos mortos. + Pytel na mrtvá těla Blood Pressure @@ -1284,6 +1341,7 @@ Vérnyomás Pressione sanguigna Pressão Arterial + Krevní tlak Checking Blood Pressure.. @@ -1295,6 +1353,7 @@ Vérnyomás megmérése... Controllando la pressione sanguigna.. Aferindo Pressão Arterial... + Kontroluji krevní tlak ... %1 checked Blood Pressure: %2 @@ -1303,6 +1362,9 @@ %1 проверил артериальное давление: %2 %1 à vérifié la tension: %2 %1 sprawdził ciśnienie krwi: %2 + %1 verificada la presión arterial: %2 + %1 ellenőrizte a vérnyomást: %2 + %1 zkontrolován krevní tlak: %2 You checked %1 @@ -1314,6 +1376,7 @@ A %1 ellenőrizve Hai diagnosticato %1 Você aferiu o paciente %1 + Zkontroloval jsi %1 You find a blood pressure of %2/%3 @@ -1325,6 +1388,7 @@ Wyczuwasz ciśnienie krwi o wartości %2/%3 Der Blutdruck liegt bei %2/%3 A Pressão Arterial é de %2/%3 + Našel jsi krevní tlak u %2/%3 You find a low blood pressure @@ -1336,6 +1400,7 @@ A vérnyomás alacsony La pressione sanguigna è bassa Pressão Arterial baixa + Naměřil jsi nízký krevní tlak You find a normal blood pressure @@ -1347,6 +1412,7 @@ A vérnyomás normális La pressione sanguigna è normale Pressão Arterial normal + Naměřil jsi normální krevní tlak You find a high blood pressure @@ -1358,6 +1424,7 @@ A vérnyomás magas La pressione sanguigna è alta Pressão Arterial Alta + Naměřil jsi vysoký krevní tlak You find no blood pressure @@ -1369,6 +1436,7 @@ Nem észlelhető vérnyomás La pressione sanguigna è assente Sem Pressão Arterial + Nenaměřil jsi žádný krevní tlak You fail to find a blood pressure @@ -1380,6 +1448,7 @@ Nem sikerült a vérnyomás megmérése Manca strumento per misurare pressione sanguigna Você falhou em aferir a Pressão Arterial + Nedokázal jsi změřit krevní tlak Low @@ -1388,6 +1457,9 @@ Низкое Faible Niskie + Baja + Alacsony + Nízký Normal @@ -1396,6 +1468,9 @@ Нормальное Normale Normalne + Normal + Normális + Normální High @@ -1404,6 +1479,9 @@ Высокое Haute Wysokie + Alta + Magas + Vysoký No Blood Pressure @@ -1412,6 +1490,9 @@ Артериальное давление отсутствует Aucune tension Brak ciśnienia krwi + Sin presión arterial + Nincs vérnyomás + Žádný krevní tlak Pulse @@ -1423,6 +1504,7 @@ Pulzus Polso Pulso + Tep Checking Heart Rate ... @@ -1434,6 +1516,7 @@ Szívverés-szám mérése... Controllando il battito cardiaco ... Aferindo Pulso ... + Kontroluji srdeční tep ... You checked %1 @@ -1445,6 +1528,7 @@ A %1 ellenőrizve Hai diagnosticato %1 Você aferiu o paciente %1 + Zkontroloval jsi %1 %1 checked Heart Rate: %2 @@ -1453,6 +1537,9 @@ %1 проверил пульс: %2 %1 à vérifié le rythme cardiaque: %2 %1 sprawdził tętno: %2 + %1 verificado el ritmo cardíaco: %2 + %1 ellenőrizte a szívverés-számot: %2 + %1 zkontroloval srdeční tep: %2 Weak @@ -1461,6 +1548,9 @@ Слабый Faible Słabe + Débil + Gyenge + Slabý Normal @@ -1469,6 +1559,9 @@ Нормальный Normal Normalne + Normal + Normális + Normální Strong @@ -1477,6 +1570,9 @@ Сильный Fort Silne + Fuerte + Erős + Silný You find a Heart Rate of %2 @@ -1488,6 +1584,7 @@ A szívverés-szám %2 Il battito cardiaco è %2 A Freqüência Cardíaca é de %2 + Nahmatal jsi srdeční tep u %2 You find a weak Heart Rate @@ -1499,6 +1596,7 @@ A szívverés-szám alacsony Hai riscontrato un debole battito cardiaco Freqüência Cardíaca baixa + Nahmatal jsi slabý srdeční tep You find a strong Heart Rate @@ -1510,6 +1608,7 @@ A szívverés-szám magas Hai riscontrato un forte battito cardiaco Freqüência Cardíaca normal + Nahmatal jsi silný srdeční tep You find a normal Heart Rate @@ -1521,6 +1620,7 @@ A szívverés-szám normális Hai riscontrato un normale battito cardiaco Freqüência Cardíaca alta + Nahmatal jsi normální srdeční tep You find no Heart Rate @@ -1532,6 +1632,7 @@ Nem észlelhető szívverés Hai riscontrato una assenza di battito cardiaco Sem Freqüência Cardíaca + Nenašel jsi Response @@ -1543,6 +1644,7 @@ Reagálóképesség Risposta Reação + Odezva You check response of patient @@ -1554,6 +1656,7 @@ Ellenőrzöd a páciens reagálóképességét Controlli la risposta del paziente Aferindo se o paciente tem reação... + Zkontroloval jsi reakci pacienta %1 is responsive @@ -1565,6 +1668,7 @@ %1 reakcióképes %1 e' cosciente %1 está respondendo + %1 odpovídá %1 is not responsive @@ -1576,6 +1680,7 @@ %1 nem reagál %1 e' incosciente %1 não está respondendo + %1 neodpovídá You checked %1 @@ -1587,6 +1692,7 @@ Megnézted %1-t Hai controllato %1 Você aferiu o paciente %1 + Zkontroloval jsi %1 Patient %1<br/>is %2.<br/>%3.<br/>%4 @@ -1595,6 +1701,9 @@ Patient %1<br/>ist %2.<br/>%3.<br/>%4 Patient %1<br/>est %2.<br/>%3.<br/> Pacjent %1<br/>jest %2.<br/>%3.<br/>%4 + Paciente %1<br/>is %2.<br/>%3.<br/>%4 + A páciens, %1,<br/>%2.<br/>%3.<br/>%4 + Pacient %1<br/>je %2.<br/>%3.<br/>%4 alive @@ -1603,41 +1712,63 @@ lebendig vivant żywy + vivo + élő + naživu dead Morto мёртв + muerto tot mort martwy + halott + mrtev He's lost some blood Ha perso molto sangue + Ha perdido un poco de sangre Есть кровопотеря Er hat etwas Blut verloren - Il à perdu du sang + Il a perdu du sang Stracił trochę krwi + Valamennyi vért vesztett + Ztratil trochu krve He's lost a lot of blood + Er hat viel Blut verloren + Sok vért vesztett + Stracił sporo krwi + Большая кровопотеря + Ha perdido mucha sangre + Il a perdu beaucoup de sang + Ztratil hodně krve He hasn't lost blood Non ha perso sangue Нет кровопотери Er hat kein Blut verloren - il n'a pas perdu de sang + Il n'a pas perdu de sang Nie stracił krwi + No ha perdido sangre + Nem vesztett vért + Neztratil žádnou krev He is in pain è affetto da dolore Испытывает боль Er hat Schmerzen - il souffre + Il souffre Odczuwa ból + Siente dolor + Fájdalmai vannak + Je v bolestech He is not in pain @@ -1646,6 +1777,9 @@ Er hat keine Schmerzen Il ne souffre pas Nie odczuwa bólu + No siente dolor + Nincsenek fájdalmai + Nemá žádné bolesti Bandaged @@ -1657,6 +1791,7 @@ Bendato verbunden Enfaixado + Obvázaný You bandage %1 (%2) @@ -1668,6 +1803,7 @@ Stai bendando %1 (%2) Du verbindest %1 (%2) Você aplica bandagem no paciente %1 (%2) + Obvazuješ %1 (%2) %1 is bandaging you @@ -1679,6 +1815,7 @@ %1 ti sta bendando %1 verbindet dich %1 está aplicando uma bandagem em você + %1 tě obvazuje You start stitching injuries from %1 (%2) @@ -1701,6 +1838,7 @@ Összevarrás Suturando Suturando... + Šití You treat the airway of %1 @@ -1723,6 +1861,7 @@ Légút Vie respiratorie Vias Aéreas + Dýchací cesty %1 is treating your airway @@ -1774,7 +1913,7 @@ Load Patient Into Patient Einladen - Cargar el paciente en + Cargar al paciente en Załaduj pacjenta Naložit pacianta do Погрузить пациента в @@ -1786,7 +1925,7 @@ Unload Patient Patient Ausladen - Descargar el paciente + Descargar al paciente Wyładuj pacjenta Vyložit pacienta Выгрузить пациента @@ -1797,7 +1936,7 @@ Unload patient - Descargar el paciente + Descargar al paciente Выгрузить пациента Patient Ausladen Wyładuj pacjenta @@ -1805,10 +1944,11 @@ Sebesült kihúzása Scarica il paziente Descarregar Paciente + Vyložit pacienta Load patient - Cargar el paciente en + Cargar al paciente en Погрузить пациента Patient Einladen Załaduj pacjenta @@ -1816,6 +1956,7 @@ Sebesült berakása Carica il paziente Carregar Paciente Em + Naložit pacienta Place body in bodybag @@ -1827,6 +1968,7 @@ Test hullazsákba helyezése Metti il corpo nella sacca per cadaveri Colocar corpo dentro do saco para cadáver + Umístni tělo do pytle na mrtvoly Placing body in bodybag @@ -1838,6 +1980,7 @@ Test hullazsákba helyezése ... Stai mettendo il corpo nella sacca Colocando corpo dentro do saco para cadáver... + Umístňuji tělo do pytle na mrtvoly %1 has bandaged patient @@ -1849,6 +1992,7 @@ %1 bekötözte a pácienst %1 ha bendato il paziente %1 aplicou bandagem no paciente + %1 již obvázal pacienta %1 used %2 @@ -1860,17 +2004,19 @@ %1 használta a %2-t %1 ha usato %2 %1 usou %2 + %1 použil %2 %1 has given an IV - %1 has puesto una IV %1 провёл переливание + %1 ha puesto una IV %1 hat eine Infusion verabreicht %1 podał IV %1 a administré une IV %1 infúziót adott %1 ha somministrato una IV %1 aplicou um intravenoso + %1 již aplikoval IV %1 applied a tourniquet @@ -1882,6 +2028,7 @@ %1 felhelyezett egy érszorítót %1 ha applicato un laccio emostatico %1 aplicou um torniquete + %1 použil škrtidlo Heavily wounded @@ -1891,6 +2038,8 @@ Gravemente ferito Gravemente herido Lourdement blessé + Erősen sérült + Těžce zraněn Lightly wounded @@ -1900,6 +2049,8 @@ Leggermente ferito Levemente herido Légèrement blessé + Enyhén sérült + Lehce zraněn Very lightly wounded @@ -1909,6 +2060,8 @@ Ferito lievemente Muy levemente herido Très légèrement blessé + Nagyon enyhén sérült + Velmi lehce zraněn Head @@ -1918,6 +2071,8 @@ Testa Cabeza Tête + Fej + Hlava Torso @@ -1927,6 +2082,8 @@ Torso Torso Torse + Testtörzs + Trup Left Arm @@ -1936,6 +2093,8 @@ Braccio sinistro Brazo izquierdo Bras gouche + Bal kar + Levá ruka Right Arm @@ -1945,6 +2104,8 @@ Braccio destro Brazo derecho Bras droit + Jobb kar + Pravá ruka Left Leg @@ -1954,6 +2115,8 @@ Gamba sinistra Pierna izquierda Jambe gauche + Bal láb + Levá noha Right Leg @@ -1963,6 +2126,8 @@ Gamba destra Pierna derecha Jambe droite + Jobb láb + Pravá noha Pain Effect Type @@ -1972,6 +2137,7 @@ Pain Effect Type Tipo de efecto de dolor Type d'effet de douleur + Fájdalom-effekt típusa Colour Flashing @@ -1981,6 +2147,7 @@ Colore lampeggiante Parpadeo de color Flash de couleur + Színvillódzás Chromatic Aberration @@ -1990,18 +2157,43 @@ Aberrazione cromatica Aberración cromática Aberration chromatique + Kromatikus aberráció + Chromatická aberace Style of menu (Medical) + Styl menu medycznego + Style de menu (Médical) + Menü-Stil (Medical) + Вид меню (медицина) + Tipo de menú (Medico) + Styl menu (Zdravotní) Select the type of menu you prefer; default 3d selections or radial. + Wybierz rodzaj menu, który preferujesz: domyślne pozycje 3D lub radialne + Selctionne le type de menu préféré; par défaut la sélection 3D ou radiale + Wähle den Menü-Stil: Standard 3D-Selektion oder kreisförmig. + Выберите тип меню: стандартный вариант (3D) или радиальный + Selecciona el tipo de menú que prefieres: selecciones 3d por defecto o radial. + Vyberte typ menu který preferujete: výchozí 3D nebo radiální. Selections (3d) + Pozycje (3D) + sélections (3D) + 3D-Selektion + Стандартный (3D) + Selecciones (3d) Radial + Radialne + Radiale + Kreisförmig + Радиальный + Radial + Radiální Scrape @@ -2010,30 +2202,38 @@ Ссадина Eraflure Draśnięcie + Arañazo + Horzsolás Minor Scrape Kleiner Kratzer Minima Scorticatura Малая ссадина - Eraflure Mineure + Petite éraflure Pomniejsze draśnięcie + Arañazo menor + Kis horzsolás Medium Scrape Mittlerer Kratzer Media Scorticatura Средняя ссадина - Moyenne Eraflure + Moyenne éraflure Średnie draśnięcie + Arañazo medio + Közepes horzsolás Large Scrape Großer Kratzer Alta Scorticatura Большая ссадина - Large Eraflure + Grande éraflure Duże draśnięcie + Arañazo severo + Nagy horzsolás Avulsion @@ -2042,30 +2242,38 @@ Рваная рана Avulsion Rana płatowa + Avulsión + Leszakadás Minor Avulsion Kleine Avulsion Minima Avulsione Малая рваная рана - Avulsion Mineure + Petite avulsion Pomniejsza rana płatowa + Avulsión menor + Kis leszakadás Medium Avulsion Mittlere Avulsion Media Avulsione Средняя рваная рана - Avulsion Moyenne + Moyenne avulsion Średnia rana płatowa + Avulsión media + Közepes leszakadás Large Avulsion Große Avulsion Alta Avulsione Большая рваная рана - Large Avulsion + Grande avulsion Duża rana płatowa + Avulsión severa + Nagy leszakadás Bruise @@ -2074,30 +2282,38 @@ Ушиб Hématome Stłuczenie + Contusión + Zúzódás Minor Bruise Kleine Prellung Minima Contusione Малый ушиб - Hématome Mineur + Petit hématome Pomniejsze stłuczenie + Contusión menor + Kis zúzódás Medium Bruise Mittlere Prellung Media Contusione Средний ушиб - Hématome Moyen + Hématome moyen Średnie stłuczenie + Contusión media + Közepes zúzódás Large Bruise Große Prellung Alta Contusione Большой ушиб - Large Hématome + Hématome important Duże stłuczenie + Contusión severa + Nagy zúzódás Crushed tissue @@ -2106,30 +2322,38 @@ Компресионная травма Tissu écrasé Zgniecienie tkanek miękkich + Tejido triturado + Zúzott szövet Minor crushed tissue Kleine Quetschverletzung Minimo Tessuto Schiacciato Малая компрессионная травма - Tissu écrasé Mineur + Tissu écrasé léger Pomniejsze zgniecienie tkanek miękkich + Tejido triturado menor + Kis zúzott szövet Medium crushed tissue Mittlere Quetschverletzung Medio Tessuto Schiacciato Средняя компрессионная травма - Tissu écrasé Moyen + Tissu écrasé moyen Średnie zgniecienie tkanek miękkich + Tejido triturado medio + Közepes zúzott szövet Large crushed tissue Große Quetschverletzung Alto Tessuto Schiacciato Большая компрессионная травма - Tissu écrasé Large + Tissu écrasé large Duże zgniecienie tkanek miękkich + Tejido triturado severo + Nagy zúzött szövet Cut @@ -2138,6 +2362,8 @@ Резаная рана Coupure Rana cięta + Corte + Vágás Small Cut @@ -2145,7 +2371,9 @@ Piccolo Taglio Малая резаная рана Pomniejsza rana cięta - Petite Coupure + Corte menor + Kis vágás + Petite coupure Medium Cut @@ -2153,7 +2381,9 @@ Medio Taglio Средняя резаная рана Średnia rana cięta - Moyenne Coupure + Corte mediano + Közepes vágás + Moyenne coupure Large Cut @@ -2161,7 +2391,9 @@ Grande Taglio Большая резаная рана Duża rana cięta - Large Coupure + Corte severo + Nagy vágás + Large coupure Tear @@ -2170,6 +2402,8 @@ Рваная рана Rozerwanie skóry Déchirure + Desgarro + Szakadás Small Tear @@ -2178,6 +2412,8 @@ Малая рваная рана Pomniejsze rozerwanie skóry Petite Déchirure + Desgarro menor + Kis szakadás Medium Tear @@ -2185,7 +2421,9 @@ Medio Strappo Средняя рваная рана Średnie rozerwanie skóry - Moyenne Déchirure + Desgarro medio + Közepes szakadás + Moyenne déchirure Large Tear @@ -2193,7 +2431,9 @@ Grande Strappo Большая рваная рана Duże rozerwanie skóry - Large Déchirure + Desgarro severo + Nagy szakadás + Large déchirure Velocity Wound @@ -2202,6 +2442,8 @@ Огнестрельная рана Rana postrzałowa Blessure de vélocité + Herida de bala + Lőtt seb Smal Velocity Wound @@ -2209,7 +2451,9 @@ Lenta Velocità Ferita Малая огнестрельная рана Pomniejsza rana postrzałowa - Petite Bessure de vélocité + Herida de bala menor + Kis lőtt seb + Petite blessure de vélocité Medium Velocity Wound @@ -2217,7 +2461,9 @@ Media Velocità Ferita Средняя огнестрельная рана Średnia rana postrzałowa - Moyenne Blessure de vélocité + Herida de bala media + Közepes lőtt seb + Moyenne blessure de vélocité Large Velocity Wound @@ -2225,7 +2471,9 @@ Alta Velocità Ferita Большая огнестрельная рана Duża rana postrzałowa - Large Blessure de vélocité + Herida de bala severa + Nagy lőtt seb + Large blessure de vélocité Puncture Wound @@ -2234,6 +2482,8 @@ Колотая рана Rana kłuta Blessure de perforation + Herida punzante + Szúrt seb Minor Puncture Wound @@ -2241,7 +2491,9 @@ Piccola Puntura Ferita Малая колотая рана Pomniejsza rana kłuta - Blessure de perforation Mineure + Herida punzante menor + Kis szúrt seb + Légère blessure de perforation Medium Puncture Wound @@ -2249,7 +2501,9 @@ Media Puntura Ferita Средняя колотая рана Średnia rana kłuta - Blessure de perforation Moyenne + Herida punzante media + Közepes szúrt seb + Moyenne blessure de perforation Large Puncture Wound @@ -2257,7 +2511,9 @@ Grande Puntura Ferita Большая колотая рана Duża rana kłuta - Large Blessure de perforation + Herida punzante severa + Nagy szúrt seb + Large blessure de perforation Broken Femur @@ -2265,10 +2521,27 @@ Femore Rotto Перелом Zkłamana kość udowa - Femur Cassé + Fémur cassé + Femur roto + Törött combcsont + Zlomená kost stehenní - Treating... + Treating ... + Behandeln ... + Ellátás ... + Leczenie ... + Traitement ... + Лечение ... + Tratando ... + Léčím ... + + + Removing Tourniquet ... + Tourniquet entfernen ... + Zdejmowanie stazy ... + Quitando torniquete ... + Retire le tourniquet ... diff --git a/addons/microdagr/stringtable.xml b/addons/microdagr/stringtable.xml index f9ca634fd2..09c96705b4 100644 --- a/addons/microdagr/stringtable.xml +++ b/addons/microdagr/stringtable.xml @@ -251,11 +251,12 @@ Excluir Удалить Borrar + Törlés Toggle MicroDAGR Display Mode MicoDAGR Anzeigemodus wechseln - Conmutar modo de pantalla del MicroDAGR + Cambiar modo de pantalla del MicroDAGR Сменить режим показа MicroDAGR Przełącz GUI MicroDAGR Basculer le mode d'affichage MicroDAGR diff --git a/addons/missileguidance/CfgVehicles.hpp b/addons/missileguidance/CfgVehicles.hpp index 301795b8d7..0d9ef54d07 100644 --- a/addons/missileguidance/CfgVehicles.hpp +++ b/addons/missileguidance/CfgVehicles.hpp @@ -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 { diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index 7ada1d4442..c5053c6e73 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -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" ), diff --git a/addons/missileguidance/functions/fnc_seekerType_SALH.sqf b/addons/missileguidance/functions/fnc_seekerType_SALH.sqf index 7aafad1114..6297d21dfa 100644 --- a/addons/missileguidance/functions/fnc_seekerType_SALH.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_SALH.sqf @@ -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); }; diff --git a/addons/missileguidance/stringtable.xml b/addons/missileguidance/stringtable.xml index 00ada46a41..fac53325f4 100644 --- a/addons/missileguidance/stringtable.xml +++ b/addons/missileguidance/stringtable.xml @@ -3,7 +3,7 @@ Advanced Missile Guidance - Avanzada Misiles Orientación + Guiado Avanzado de Misiles Guidage avancé de missile Zaawansowane naprowadzanie rakiet Erweitertes Raketenlenksystem @@ -16,15 +16,16 @@ Advanced missile guidance, or AMG, provides multiple enhancements to missile locking and firing. It is also a framework required for missile weapon types. 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. - 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. Guida dei missili avanzata, o AMG, offre diversi miglioramenti alla teleguida di missili. E' anche un sistema necessario per i tipi di armi missile. Продвинутое наведение ракет, или ПНР, обеспечивает множество усовершествований для наведения и стрельбы ракет. Также, это система, необходимая для всех ракетных типов оружия. - Das Erweiterte Raketenlenksystem, auch AMG genannt, bietet viele Verbesserungen zum Aufschalten und Feuern mittels gelenkten Raketen. + 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. + Das Erweiterte Raketenlenksystem, auch ERls genannt, bietet viele Verbesserungen zum Aufschalten und Feuern mittels gelenkten Raketen. 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. + 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. Hydra-70 DAGR Missile - + Misil Hydra-70 DAGR Hydra-70 DAGR Hydra-70 DAGR Hydra-70 DAGR Rackete @@ -36,7 +37,7 @@ DAGR - + DAGR DAGR DAGR DAGR @@ -48,31 +49,31 @@ Hydra-70 DAGR Laser Guided Missile - + Misil guiado por láser Hydra-70 DAGR Missile à guidage laser Hydra-70 DAGR Laserowo naprowadzana rakieta Hydra-70 DAGR Hydra-70 DAGR lasergelenkte Rakete Hydra-70 DAGR laserem naváděná střela Hydra-70 DAGR missile guida laser - Hydra-70 DAGR lézer-irányított rakéta + Hydra-70 DAGR lézer-irányított rakéta Управляемая ракета лазерного наведения Hydra-70 DAGR Hellfire II AGM-114K Missile - + Misil Hellfire II AGM-114K Hellfire II AGM-114K Hellfire II AGM-114K Hellfire II AGM-114K Hellfire II AGM-114K Missile Hellfire II AGM-114K - Hellfire II AGM-114K rakéta + Hellfire II AGM-114K rakéta Hellfire II AGM-114K AGM-114K - + AGM-114K AGM-114K AGM-114K AGM-114K @@ -84,15 +85,15 @@ Hellfire II AGM-114K Laser Guided Missile - + Misil guiado por láser Hellfire II AGM-114K Missile à guidage laser Hellfire II AGM-114K Laserowo naprowadzana rakieta Hellfire II AGM-114K Hellfire II AGM-114K Lasergelenkte Rakete Hellfire II AGM-114K laserem naváděná střela Missile guida laser Hellfire II AGM-114K - Hellfire II AGM-114K lézer-irányított rakéta + Hellfire II AGM-114K lézer-irányított rakéta Управляемая ракета лазерного наведения Hellfire II AGM-114K - \ No newline at end of file + diff --git a/addons/mk6mortar/CfgVehicles.hpp b/addons/mk6mortar/CfgVehicles.hpp index 1c90842d5f..baf74fa2c4 100644 --- a/addons/mk6mortar/CfgVehicles.hpp +++ b/addons/mk6mortar/CfgVehicles.hpp @@ -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; }; diff --git a/addons/mk6mortar/stringtable.xml b/addons/mk6mortar/stringtable.xml index fe08d320e5..15d42d04a8 100644 --- a/addons/mk6mortar/stringtable.xml +++ b/addons/mk6mortar/stringtable.xml @@ -1,12 +1,14 @@ - + 82mm Rangetable 82mm Distanztabelle Tabela strzelnicza 82mm - table de tir 82mm + Table de tir 82mm 82 мм Таблица дальностей и прицелов + Tabla de distancias de 82mm + 82mm hatótáv-tábla Range Table for the MK6 82mm Mortar @@ -14,13 +16,17 @@ Tabela strzelnicza dla moździerza 82mm MK6 Table de tir pour le mortier MK6 82mm Таблица дальностей и прицелов для MK6 82 мм мортиры + Tabla de distancias para el mortero MK6 de 82mm + Hatótáv-tábla a MK6 82mm-es mozsárhoz Open 82mm Rangetable Öffne 82mm Distanztabelle Otwórz tabelę strzelniczą 82mm - ouvrir la table de tir 82mm + Ouvrir la table de tir 82mm Открыть 82 мм Таблицу дальностей и прицелов + Abrir tabla de distancias de 82mm + 82mm hatótáv-tábla megnyitása Charge @@ -28,6 +34,8 @@ Charge Ładunek Зарядить + Carga + Töltés diff --git a/addons/nametags/XEH_postInit.sqf b/addons/nametags/XEH_postInit.sqf index 1df20e45e7..cea2025dcc 100644 --- a/addons/nametags/XEH_postInit.sqf +++ b/addons/nametags/XEH_postInit.sqf @@ -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}; diff --git a/addons/nametags/stringtable.xml b/addons/nametags/stringtable.xml index 773e34a9c8..7c2d0356a9 100644 --- a/addons/nametags/stringtable.xml +++ b/addons/nametags/stringtable.xml @@ -28,7 +28,7 @@ Show player name only on cursor (requires player names) Pokaż imiona graczy tylko pod kursorem (wymagana opcja Pokaż imiona graczy) - Mostrar nombres solo en el cursor (requiere Mostrar nombres de jugadores) + Mostrar nombres de jugadores solo al apuntarles (requiere Mostrar nombres de jugadores) Zeige Spielernamen nur an, wenn die Maus auf sie gerrichtet ist (benötigt Spielernamen) Noms uniquement sous le curseur (si noms affichés) Zobrazit jméno hráče jenom na kurzor (vyžaduje jména hráčů) @@ -40,7 +40,7 @@ Show player name only on keypress (requires player names) Spielernamen nur auf Tastendruck anzeigen (benötigt Spielernamen) - Mostrar nombres solo al pulsar (requiere Mostrar nombres de jugadores) + Mostrar nombres solo al pulsar la tecla(requiere Mostrar nombres de jugadores) Noms uniquement sur pression de la touche (si noms affichés) Zobrazit jména hráčů jen na klávesu (vyžaduje jména hráčů) Pokaż imiona graczy tylko po przytrzymaniu klawisza (wymagana opcja Pokaż imiona graczy) diff --git a/addons/nightvision/stringtable.xml b/addons/nightvision/stringtable.xml index fd088c1e08..c84d648678 100644 --- a/addons/nightvision/stringtable.xml +++ b/addons/nightvision/stringtable.xml @@ -10,7 +10,7 @@ Gogle noktowizyjne (Gen1) Óculos de visão noturna (Gen1) ПНВ (Gen1) - Sistema de visión nocturna (Gen1) + Gafas de visión nocturna (Gen1) Éjjellátó szemüveg (1. Gen.) @@ -22,7 +22,7 @@ Gogle noktowizyjne (Gen2) Óculos de visão noturna (Gen2) ПНВ (Gen2) - Sistema de visión nocturna (Gen2) + Gafas de visión nocturna (Gen2) Éjjellátó szemüveg (2. Gen.) @@ -34,7 +34,7 @@ Gogle noktowizyjne (Gen3) Óculos de visão noturna (Gen3) ПНВ (Gen3) - Sistema de visión nocturna (Gen3) + Gafas de visión nocturna (Gen3) Éjjellátó szemüveg (3. Gen.) @@ -46,7 +46,7 @@ Gogle noktowizyjne (Gen3, brązowe) Óculos de visão noturna (Gen3, marrons) ПНВ (Gen3, коричневый) - Sistema de visión nocturna (Gen3, marrón) + Gafas de visión nocturna (Gen3, marrón) Éjjellátó szemüveg (3. Gen., barna) @@ -58,7 +58,7 @@ Gogle noktowizyjne (Gen3, zielone) Óculos de visão noturna (Gen3, verdes) ПНВ (Gen3, зеленый) - Sistema de visión nocturna (Gen3, verde) + Gafas de visión nocturna (Gen3, verde) Éjjellátó szemüveg (3. Gen., zöld) @@ -70,7 +70,7 @@ Gogle noktowizyjne (Gen3, czarne) Óculos de visão noturna (Gen3, pretos) ПНВ (Gen3, черный) - Sistema de visión nocturna (Gen3, negro) + Gafas de visión nocturna (Gen3, negro) Éjjellátó szemüveg (3. Gen., fekete) @@ -82,13 +82,13 @@ Gogle noktowizyjne (Gen4) Óculos de visão noturna (Gen4) ПНВ (Gen4) - Sistema de visión nocturna (Gen4) + Gafas de visión nocturna (Gen4) Éjjellátó szemüveg (4. Gen.) NV Goggles (Wide) NS-Brille (Weitwinkel) - Sistema de visión nocturna (Panorámicas) + Gafas de visión nocturna (Panorámicas) Gogle noktowizyjne (panoramiczne) Noktovizor (Širokoúhlý) ПНВ (Широкоугольный) diff --git a/addons/optionsmenu/stringtable.xml b/addons/optionsmenu/stringtable.xml index ccb39c93c8..20a03c1454 100644 --- a/addons/optionsmenu/stringtable.xml +++ b/addons/optionsmenu/stringtable.xml @@ -124,7 +124,7 @@ Open Export Menu Öffne Exportmenü - Abrir menu d'exportación + Abrir menú de exportación Открыть меню экспорта Otevřít exportovací menu Otwórz menu eksportowania @@ -136,9 +136,10 @@ String input. Zeichenketteneingabe - Introducir frase + Introducir cadena de texto. Строчный ввод. Wpisywanie tekstu. + Vkládání textu. Entrée String bevitel. Stringa di unput. @@ -159,7 +160,7 @@ Number Zahl - Numero + Número Число Číslo Cyfra @@ -232,9 +233,11 @@ Option Menu UI Scaling Menu option: taille de l'UI Skalowanie UI menu ustawień - Opción de escalado del menú UI + Měřítko UI v menu nastavení Размер интерфейса меню настройки + Opción de escalado del menú IU UI Skalierung + Beállításmenü kezelőfelületének skálázása diff --git a/addons/overheating/stringtable.xml b/addons/overheating/stringtable.xml index 05234a6874..21ac4c56fb 100644 --- a/addons/overheating/stringtable.xml +++ b/addons/overheating/stringtable.xml @@ -4,7 +4,7 @@ Display text on jam Zeige Text bei Ladehemmung - Mostrar texto al encasquillar + Mostrar texto al encasquillarse Показывать текст, когда клинит оружие Zobrazit upozornění při zaseknutí Wyświetl tekst przy zacięciu broni @@ -170,4 +170,4 @@ Температура - \ No newline at end of file + diff --git a/addons/realisticnames/stringtable.xml b/addons/realisticnames/stringtable.xml index 868da182a2..7a78ef6d7a 100644 --- a/addons/realisticnames/stringtable.xml +++ b/addons/realisticnames/stringtable.xml @@ -291,7 +291,7 @@ HEMTT Container HEMTT Container - HEMTT de contenedor + HEMTT con contenedor HEMTT Kontener HEMTT Skříňový HEMTT Conteneur @@ -615,7 +615,7 @@ Typhoon Device Typhoon Gerät - Typhoon de dispositivo + Typhoon con dispositivo Typhoon Urządzenie Typhoon zařízení Typhoon Dispositif @@ -1580,6 +1580,7 @@ Noreen "Bad News" ULR Noreen "Bad News" ULR Noreen "Bad News" ULR + Noreen "Bad News"ULR Noreen "Bad News" ULR (Black) @@ -1590,6 +1591,7 @@ Noreen "Bad News" ULR (Schwarz) Noreen "Bad News" ULR (czarny) Noreen "Bad News" ULR (Nero) + Noreen "Bad News"ULR (Fekete) Noreen "Bad News" ULR (Camo) @@ -1600,6 +1602,7 @@ Noreen "Bad News" ULR (Camo) Noreen "Bad News" ULR (kamuflaż) Noreen "Bad News" ULR (Camo) + Noreen "Bad News"ULR (Terepmintás) Noreen "Bad News" ULR (Sand) @@ -1610,6 +1613,7 @@ Noreen "Bad News" ULR (Sand) Noreen "Bad News" ULR (piaskowy) Noreen "Bad News" ULR (Sabbia) + Noreen "Bad News"ULR (Homok) SIG 556 @@ -1620,6 +1624,7 @@ SIG 556 SIG 556 SIG 556 + SIG 556 SIG 556 (Black) @@ -1630,6 +1635,7 @@ SIG 556 (czarny) SIG 556 (Schwarz) SIG 556 (Nero) + SIG 556 (Fekete) SIG 556 (Khaki) @@ -1640,6 +1646,7 @@ SIG 556 (khaki) SIG 556 (Khaki) SIG 556 (Khaki) + SIG 556 (Khaki) SIG 556 (Sand) @@ -1650,6 +1657,7 @@ SIG 556 (piaskowy) SIG 556 (Sand) SIG 556 (Sabbia) + SIG 556 (Homok) SIG 556 (Camo) @@ -1660,6 +1668,7 @@ SIG 556 (kamuflaż) SIG 556 (Camo) SIG 556 (Camo) + SIG 556 (Terepmintás) SIG 556 (Woodland) @@ -1670,6 +1679,7 @@ SIG 556 (leśny) SIG 556 (Woodland) SIG 556 (Woodland) + SIG 556 (Erdőmintás) SIG 556 (provisional) spotter @@ -1680,6 +1690,7 @@ SIG 556 (prowizoryczny) obserwator SIG 556 (provisorisch) Beobachter SIG 556 (provisional) spotter + SIG 556 (Ellátmányi) Megfigyelő ASP-1 Kir @@ -1690,6 +1701,7 @@ ASP-1 Kir ASP-1 Kir ASP-1 Kir + ASP-1 Kir ASP-1 Kir (Black) @@ -1700,6 +1712,7 @@ ASP-1 Kir (Schwarz) ASP-1 Kir (czarny) ASP-1 Kir (Nero) + ASP-1 Kir (Fekete) ASP-1 Kir (Tan) @@ -1710,6 +1723,7 @@ ASP-1 Kir (Hellbraun) ASP-1 Kir (Tan) ASP-1 Kir (Tan) + ASP-1 Kir (Cserszín) Cyrus @@ -1720,6 +1734,7 @@ Cyrus Cyrus Cyrus + Cyrus Cyrus (Black) @@ -1730,6 +1745,7 @@ Cyrus (Schwarz) Cyrus (czarny) Cyrus (Nero) + Cyrus (Fekete) Cyrus (Hex) @@ -1740,6 +1756,7 @@ Cyrus (Hex) Cyrus (hex) Cyrus (Hex) + Cyrus (Hex) Cyrus (Tan) @@ -1750,6 +1767,7 @@ Cyrus (Hellbraun) Cyrus (podpalany) Cyrus (Tan) + Cyrus (Cserszín) M14 @@ -1760,6 +1778,7 @@ M14 M14 M14 + M14 M14 (Camo) @@ -1770,6 +1789,7 @@ M14 (kamuflaż) M14 (Camo) M14 (Camo) + M14 (Terepmintás) M14 (Olive) @@ -1780,6 +1800,7 @@ M14 (oliwkowy) M14 (Olive) M14 (Olive) + M14 (Olíva) HK121 @@ -1790,6 +1811,7 @@ HK121 HK121 HK121 + HK121 HK121 (Hex) @@ -1800,6 +1822,7 @@ HK121 (Hex) HK121 (hex) HK121 (Hex) + HK121 (Hex) HK121 (Tan) @@ -1810,6 +1833,7 @@ HK121 (Hellbraun) HK121 (podpalany) HK121 (Tan) + HK121 (Cserszín) LWMMG @@ -1820,6 +1844,7 @@ LWMMG LWMMG LWMMG + LWMMG LWMMG (MTP) @@ -1830,6 +1855,7 @@ LWMMG (MTP) LWMMG (MTP) LWMMG (MTP) + LWMMG (MTP) LWMMG (Black) @@ -1840,6 +1866,7 @@ LWMMG (czarny) LWMMG (Schwarz) LWMMG (Nero) + LWMMG (Fekete) LWMMG (Sand) @@ -1850,6 +1877,7 @@ LWMMG (piaskowy) LWMMG (Sand) LWMMG (Sabbia) + LWMMG (Homok) - \ No newline at end of file + diff --git a/addons/reload/stringtable.xml b/addons/reload/stringtable.xml index 1bad20f53a..316c7f2236 100644 --- a/addons/reload/stringtable.xml +++ b/addons/reload/stringtable.xml @@ -1,10 +1,10 @@ - + Check ammo on weapon reload Prüfe Munition beim Nachladen - Comprovar munición al recargar el arma + Comprobar munición al recargar el arma Проверять боезапас при перезарядке Zkontrolovat munici při nabití Sprawdź stan amunicji przy przeładowaniu broni @@ -16,7 +16,7 @@ Check the ammo in your new magazine on magazine reload. Prüfe nachgeladenes Magazin - Comprueva la munición del nuevo cargador al recargar. + Comprueba la munición del nuevo cargador al recargar. Проверяет количество патронов в новом магазине при перезарядке. Kontroluje munice při nabití nového zásobníku. Pokaż stan amunicji w nowym magazynku przy przeładowaniu broni @@ -28,7 +28,7 @@ Check Ammo Munition prüfen - Verificar munición + Comprobar munición Sprawdź amunicję Vérifier Munitions Lőszerellenőrzés @@ -63,7 +63,7 @@ Linking belt... - Attache d'une bande + Attache d'une bande... Enlazando cinta... Сцепка лент ... Spojuji pás... diff --git a/addons/reloadlaunchers/stringtable.xml b/addons/reloadlaunchers/stringtable.xml index acb16bc92c..2585358591 100644 --- a/addons/reloadlaunchers/stringtable.xml +++ b/addons/reloadlaunchers/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -15,7 +15,7 @@ Loading launcher ... - Chargement du lanceur + Chargement du lanceur ... Panzerabwehr wird geladen ... Cargando lanzador ... Зарядка ПУ ... diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml index 44c0a676e3..4106ad340c 100644 --- a/addons/respawn/stringtable.xml +++ b/addons/respawn/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -16,7 +16,7 @@ Rallypoint deployed Point de ralliement déployé - Rallypoint errichtet + Sammelpunkt errichtet Punto de reunión desplegado Точка сбора установлена Punkt zbiórki rozmieszczony @@ -27,11 +27,21 @@ Teleport to Base + Teleportovat na Základnu Zur Basis teleportieren + Treletransportar a Base + Teleport do bazy + Телепортироваться на базу + Téléportation à la base Teleport to Rallypoint - Zum Rallypoint teleportieren + Teleport na Rallypoint + Teletransportar a Punto de reunión + Zum Sammelpunkt teleportieren + Teleport do punktu zbiórki + Телепортироваться на точку сбора + Téléporation au point de ralliement Teleported to Base @@ -40,7 +50,7 @@ Teletransportado a base Телепорт на базу Przeteleportowano do bazy - Odteleportován na základnu + Teleportován na základnu Bázisra teleportálva Teleportato alla base Teletransportado para a Base @@ -48,11 +58,11 @@ Teleported to Rallypoint Téléporté au point de déploiement - Zum Rallypoint teleportiert + Zum Sammelpunkt teleportiert Teletransportado al punto de reunión Телепорт на точку сбора Przeteleportowano do punktu zbiórki - Odteleportován na rallypoint + Teleportován na rallypoint Gyülekezőpontra teleportálva Teleportato al rallypoint Teletransportado para o Rallypoints @@ -65,6 +75,8 @@ Punkt zbiórki Zachodu (Baza) Point de ralliement OUEST (Base) Rallypoint West (Base) + Gyülekezőpont, Nyugat (Bázis) + Rallypoint Západ (Základna) Rallypoint East (Base) @@ -74,6 +86,8 @@ Punkt zbiórki Wschodu (Baza) Point de ralliement EST (Base) Rallypoint East (Base) + Gyülekezőpont, Kelet (Bázis) + Ralllypoint Východ (Základna) Rallypoint Independent (Base) @@ -83,6 +97,8 @@ Punkt zbiórki Ruchu oporu (Baza) Point de ralliement Indépendant (Base) Rallypoint Independent (Base) + Gyülekezőpont, Független (Bázis) + Rallypoint Nezávislý (Základna) Rallypoint West @@ -92,6 +108,8 @@ Punkt zbiórki Zachodu Point de ralliement OUEST Rallypoint West + Gyülekezőpont, Nyugat + Rallypoint Západ Rallypoint East @@ -101,6 +119,8 @@ Punkt zbiórki Wschodu Point de ralliement EST Rallypoint East + Gyülekezőpont, Kelet + Rallypoint Východ Rallypoint Independent @@ -110,6 +130,8 @@ Punkt zbiórki Ruchu oporu Point de ralliement Indépendant Rallypoint Independent + Gyülekezőpont, Független + Rallypoint Nezávislý diff --git a/addons/scopes/stringtable.xml b/addons/scopes/stringtable.xml index d84f0932af..257b78892b 100644 --- a/addons/scopes/stringtable.xml +++ b/addons/scopes/stringtable.xml @@ -9,6 +9,7 @@ Regola leggermente alzata in alto Hausse + Kleine Korrektur nach oben + Enyhe állítás fel Minor adjustment down @@ -18,6 +19,7 @@ Regola leggermente alzata in basso Hausse - Kleine Korrektur nach unten + Enyhe állítás le Minor adjustment right @@ -27,6 +29,7 @@ Regola leggermente il tiro a destra Dérive + Kleine Korrektur nach rechts + Enyhe állítás jobbra Minor adjustment left @@ -36,6 +39,7 @@ Regola leggermete il tiro a sinistra Dérive - Kleine Korrektur nach links + Enyhe állítás balra Major adjustment up @@ -45,6 +49,7 @@ Regola l'alzata in alto Hausse +++ Große Korrektur nach oben + Nagy állítás fel Major adjustment down @@ -54,6 +59,7 @@ Regola l'alzata in basso Hausse --- Große Korrektur nach unten + Nagy állítás le Major adjustment right @@ -63,6 +69,7 @@ Regola il tiro a destra Dérive +++ Große Korrektur nach rechts + Nagy állítás jobbra Major adjustment left @@ -72,6 +79,7 @@ Regola il tiro a sinistra Dérive --- Große Korrektur nach links + Nagy állítás balra Set zero adjustment @@ -81,6 +89,7 @@ Resetta i valori del tiro RAZ corrections Auf 0 justieren + Állítások nullázása - + \ No newline at end of file diff --git a/addons/vehiclelock/stringtable.xml b/addons/vehiclelock/stringtable.xml index afcbd14559..fc92b72dd2 100644 --- a/addons/vehiclelock/stringtable.xml +++ b/addons/vehiclelock/stringtable.xml @@ -4,7 +4,7 @@ Unlock Vehicle Fahrzeug aufschließen - Vehículo abierto + Abrir vehículo Déverrouiller le véhicule Odblokuj pojazd Odemknout vozidlo @@ -16,7 +16,7 @@ Lock Vehicle Fahrzeug abschließen - Vehículo cerrado + Cerrar vehículo Verrouiller le véhicule Zablokuj pojazd Zamknout vozidlo @@ -40,7 +40,7 @@ Picking Lock.... Schloss knacken... - Forzando cierre... + Forzando cerradura... Crochetage... Otwieranie zamka... Páčim vozidlo... @@ -76,7 +76,7 @@ A lockpick set that can pick the locks of most vehicles. Ein Dietrich der die meisten Fahrzeugschlösser knacken kann... - Un set de ganzúas puede abrir la mayoría de cerraduras de vehículos. + Un set de ganzúas que puede abrir las cerraduras de la mayoría vehículos. Un crochet qui ouvrira la plupart des véhicules. Zestaw wytrychów, dzięki któremu można otworzyć zamki w większości pojazdów. Sada paklíčů, která dokáže odemknout zámky u většiny vozidel. @@ -88,7 +88,7 @@ A key that should open most WEST vehicles. Ein Schlüssel der die meisten westlichen Fahrzeuge öffnen sollte... - Una llave que puede abrir la mayoría de vehículos occidentales. + Una llave que abrirá la mayoría de vehículos occidentales. Une clé qui ouvrira la plupart des véhicules OUEST. Klucz, który powinien otworzyć większość pojazdów ZACHODU. Klíč který by měl otevřít většinou Západních vozidel. @@ -100,7 +100,7 @@ A key that should open most EAST vehicle. Ein Schlüssel der die meisten östlichen Fahrzeuge öffnen sollte... - Una llave que puede abrir la mayoría de vehículos orientales. + Una llave que abrirá la mayoría de vehículos orientales. Une clé qui ouvrira la plupart des véhicules EST. Klucz, który powinien otworzyć większość pojazdów WSCHODU. Egy kulcs, ami a KELET egységeinek legtöbb járművét ki tudja nyitni. @@ -112,7 +112,7 @@ A key that should open most INDEP vehicle. Ein Schlüssel der die meisten Fahrzeuge der Aufständischen öffnen sollte... - Una llave que puede abrir la mayoría de vehículos independientes. + Una llave que abrirá la mayoría de vehículos independientes. Une clé qui ouvrira la plupart des véhicules INDEP. Klucz, który powinien otworzyć większość pojazdów INDFOR. Egy kulcs, ami a FÜGGETLEN egységek legtöbb járművét ki tudja nyitni. @@ -124,7 +124,7 @@ A key that should open most CIV vehicle. Ein Schlüssel der die meisten zivilen Fahrzeuge öffnen sollte... - Una llave que puede abrir la mayoría de vehículos civiles. + Una llave que abrirá la mayoría de vehículos civiles. Une clé qui ouvrira la plupart des véhicules CIV. Klucz, który powinien otworzyć większość pojazdów CYWILNYCH. Klíč který by měl otevřít většinu Civilních vozidel. diff --git a/addons/weaponselect/stringtable.xml b/addons/weaponselect/stringtable.xml index edf1413fe1..93193b520f 100644 --- a/addons/weaponselect/stringtable.xml +++ b/addons/weaponselect/stringtable.xml @@ -4,7 +4,7 @@ Display text on grenade throw Zeige Text beim Granatwurf - Mostrar texto al lanzar granada + Mostrar texto al lanzar una granada Показывать текст при броске Zobrazí text při hodu granátem Wyświetl tekst przy rzucie granatem @@ -16,7 +16,7 @@ Display a hint or text on grenade throw. Zeige Hinweis oder Text beim Granatwurf - Muestra una notificación o texto al lanzar granada + Muestra una notificación o texto al lanzar una granada Показывать текст или подсказку при броске гранаты. Zobrazí upozornění nebo text při hodu granátem. Wyświetla powiadomienie lub tekst przy rzucie granatem. @@ -64,7 +64,7 @@ Select Grenade Launcher Granatwerfer auswählen - Seleccionar lanzador de granadas + Seleccionar lanzagranadas Wybierz granatnik Zvolit Granátomet Выбрать подствольный гранатомёт @@ -206,7 +206,7 @@ Throw Selected Grenade Gewählte Granate werfen - Arrojar granada seleccionada + Lanzar granada seleccionada Rzuć wybrany granat Lancer la grenade sélectionnée Kiválasztott Gránát Eldobása @@ -229,7 +229,7 @@ No frags left Keine explosiven Granaten übrig - Sin granadas de fragmentación + No quedan granadas de fragmentación Brak granatów odłamkowych Plus de grenades à fragmentation Nincs több repeszgránát @@ -241,7 +241,7 @@ No misc. grenades left Keine nichtexplosiven Granaten übrig - Sin granadas de varias + Sin granadas misc. Brak granatów nieodłamkowych Plus de grenades non-léthales Nincs több egyéb gránát diff --git a/addons/weather/XEH_postInit.sqf b/addons/weather/XEH_postInit.sqf index 1427ff59b1..455c336d96 100644 --- a/addons/weather/XEH_postInit.sqf +++ b/addons/weather/XEH_postInit.sqf @@ -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}; diff --git a/addons/weather/stringtable.xml b/addons/weather/stringtable.xml index 4e0723bb7a..32362825ee 100644 --- a/addons/weather/stringtable.xml +++ b/addons/weather/stringtable.xml @@ -9,6 +9,8 @@ Mostrar información del viento Mostra informazioni sul vento Zeige Windinformationen + Széladatok mutatása + Zobrazit informace o větru diff --git a/documentation/development/ace3-config-entries.md b/documentation/development/ace3-config-entries.md index 78f8022856..1033172469 100644 --- a/documentation/development/ace3-config-entries.md +++ b/documentation/development/ace3-config-entries.md @@ -54,6 +54,9 @@ ace_detonator ace_barrelTwist ace_twistDirection ace_barrelLength +ace_laserpointer +ace_nextmodeclass +ace_modedescription ``` diff --git a/mod.cpp b/mod.cpp index f1cef6b6a2..b878c76a6d 100644 --- a/mod.cpp +++ b/mod.cpp @@ -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"; diff --git a/tools/make.cfg b/tools/make.cfg index 5e2d9d78da..170cea5159 100644 --- a/tools/make.cfg +++ b/tools/make.cfg @@ -14,8 +14,8 @@ project = @ace # Path to project secret key for signing # Make sure this isn't in your public repository! -# Default: None -# key = D:\Program Files (x86)\Bohemia Interactive\Tools\DSSignFile Tools\keys\ace_preAlpha.biprivatekey +# Default: \private_keys\ace_3.0.0.biprivatekey +# key = P:\private_keys\ace_3.0.0.biprivatekey # Path to where private keys are automatically created if the command-line parameter "key" is used # Make sure this isn't in your public repository! diff --git a/tools/make.py b/tools/make.py index 382f8dd776..462d44b536 100644 --- a/tools/make.py +++ b/tools/make.py @@ -60,7 +60,7 @@ module_root = "" release_dir = "" module_root_parent = "" optionals_root = "" -key_name = "ace_preAlpha" +key_name = "ace_3.0.0" key = "" dssignfile = ""