Merge remote-tracking branch 'upstream/master' into patch-3

This commit is contained in:
Vdauphin 2022-09-05 01:53:05 +02:00
commit 5cbe1201de
968 changed files with 24955 additions and 5464 deletions

View File

@ -34,11 +34,11 @@ We welcome anyone to contribute to this repository. Issues that we are actively
## Pull Request process ## Pull Request process
When contributing to this repository, please first discuss the change you wish to make via issue or [Slack](https://slackin.ace3mod.com/) with the [ACE3 project maintainers](https://ace3mod.com/team.html) before making a change. This may not be necessary if you are contributing for something which has an existing issue in our repository already. When contributing to this repository, please first discuss the change you wish to make via issue or [Discord](https://acemod.org/discord) with the [ACE3 project maintainers](https://ace3.acemod.org/team.html) before making a change. This may not be necessary if you are contributing for something which has an existing issue in our repository already.
1. Please make a pull request (PR) as early as possible. This lets use help you in the proces of developing it. When opening a work in progress pull request, mark your PR with a `WIP:` prefix. 1. Please make a pull request (PR) as early as possible. This lets use help you in the proces of developing it. When opening a work in progress pull request, mark your PR with a `WIP:` prefix.
2. Describe what this pull request will do and how it solves this in the description of your PR. A clear intent and description of the way the issue is resolved will help us to review the PR more efficiently. 2. Describe what this pull request will do and how it solves this in the description of your PR. A clear intent and description of the way the issue is resolved will help us to review the PR more efficiently.
3. Please follow our [Development Guidelines](https://ace3mod.com/wiki/development/). 3. Please follow our [Development Guidelines](https://ace3.acemod.org/wiki/development/).
### Notes ### Notes
@ -47,4 +47,4 @@ Please note that all contributors to this project are volunteers and do this in
## Assistance with contributing ## Assistance with contributing
If you require assistance with contributing, check out the #dev channel on our [Slack](https://slackin.ace3mod.com/). Additional documentation can be found on our [Development wiki](https://ace3mod.com/wiki/development/). If you require assistance with contributing, check out the #dev channel on our [Discord](https://acemod.org/discord). Additional documentation can be found on our [Development wiki](https://ace3.acemod.org/wiki/development/).

View File

@ -30,7 +30,7 @@ All good? Then proceed and fill out the items below.
A clear and concise description of what the bug is. A clear and concise description of what the bug is.
**Steps to reproduce:** **Steps to reproduce:**
_Follow [https://ace3mod.com/img/wiki/user/issue_flowchart.png](this flowchart)!_ _Follow [https://ace3.acemod.org/img/wiki/user/issue_flowchart.webp](this flowchart)!_
1. _Go to ..._ 1. _Go to ..._
2. _Click ..._ 2. _Click ..._

View File

@ -1,20 +0,0 @@
---
name: Enhancement request
about: Suggest an improvement for this project
title: ''
labels: kind/enhancement
assignees: ''
---
**Is your enhancement related to a problem?**
A clear and concise description of what the enhancement entails. Ex. [...] would improve user experience.
**Solution you'd like:**
A clear and concise description of what you want to happen.
**Alternatives you've considered:**
A clear and concise description of any alternative solutions or ideas you've considered.
**Additional context:**
Add any other context or screenshots about the enhancement here.

View File

@ -9,4 +9,4 @@ assignees: ''
### Do not post feature requests here! ### Do not post feature requests here!
Learn how to make a feature request [here](https://ace3mod.com/wiki/user/how-to-make-a-feature-request.html). Learn how to make a feature request [here](https://ace3.acemod.org/wiki/user/how-to-make-a-feature-request.html).

View File

@ -1,6 +1,9 @@
**When merged this pull request will:** **When merged this pull request will:**
- Describe what this pull request will do - _Describe what this pull request will do_
- Each change in a separate line - _Each change in a separate line_
- Include documentation if applicable
- Respect the [Development Guidelines](https://ace3mod.com/wiki/development/) ### IMPORTANT
- Follow title standard `Component - Add|Fix|Improve|Change|Make|Remove bananas`
- [ ] If the contribution affects [the documentation](https://github.com/acemod/ACE3/tree/master/docs), please include your changes in this pull request so the documentation will appear on the [website](https://ace3.acemod.org/).
- [ ] [Development Guidelines](https://ace3.acemod.org/wiki/development/) are read, understood and applied.
- [ ] Title of this PR uses our standard template `Component - Add|Fix|Improve|Change|Make|Remove {changes}`.

View File

@ -15,7 +15,7 @@ jobs:
with: with:
toolsUrl: ${{ secrets.ARMA3_TOOLS_URL }} toolsUrl: ${{ secrets.ARMA3_TOOLS_URL }}
- name: Install Mikero Tools - name: Install Mikero Tools
uses: arma-actions/mikero-tools@2021-04-10 uses: arma-actions/mikero-tools@2021-11-06
- name: Download game data - name: Download game data
run: | run: |
Invoke-WebRequest "$env:ARMA3_DATA_URL" -OutFile arma3.zip Invoke-WebRequest "$env:ARMA3_DATA_URL" -OutFile arma3.zip
@ -56,8 +56,10 @@ jobs:
run: | run: |
rm -r z\ace\addons\ rm -r z\ace\addons\
rm -r z\ace\optionals\ rm -r z\ace\optionals\
rm -r z\ace\tools\pDummies\
xcopy /e /h /q pullrequest\addons z\ace\addons\ xcopy /e /h /q pullrequest\addons z\ace\addons\
xcopy /e /h /q pullrequest\optionals z\ace\optionals\ xcopy /e /h /q pullrequest\optionals z\ace\optionals\
xcopy /e /h /q pullrequest\tools\pDummies z\ace\tools\pDummies\
- name: Setup build environment - name: Setup build environment
run: | run: |
subst P: . subst P: .

View File

@ -6,10 +6,10 @@
# request, preferably including an email address. # request, preferably including an email address.
# CORE TEAM # CORE TEAM
Brandon (TCVM) <brandondanyluk366@gmail.com>
bux578 <github@jonathandavid.de> bux578 <github@jonathandavid.de>
commy2 commy2
Dahlgren Dahlgren
Dani (TCVM) <baileydanyluk@gmail.com>
esteldunedain <nicolas.d.badano@gmail.com> esteldunedain <nicolas.d.badano@gmail.com>
Felix Wiegand <koffeinflummi@gmail.com> Felix Wiegand <koffeinflummi@gmail.com>
Garth "L-H" de Wet <garthofhearts@gmail.com> Garth "L-H" de Wet <garthofhearts@gmail.com>
@ -35,7 +35,7 @@ Walter Pearce <jaynus@gmail.com>
11RDP-LoupVert <loupvert@11rdp.fr> 11RDP-LoupVert <loupvert@11rdp.fr>
654wak654 <ozanegitmen@gmail.com> 654wak654 <ozanegitmen@gmail.com>
[BIG]Bull [BIG]Bull
ACCtomeek <tomeek99@gmail.com> ACCtomeek
adam3adam <br.ada@seznam.cz> adam3adam <br.ada@seznam.cz>
Adanteh Adanteh
aeroson aeroson
@ -68,6 +68,7 @@ Clon1998 <ps.patti1998@gmail.com>
Codingboy Codingboy
Coren <coren4@gmail.com> Coren <coren4@gmail.com>
Crusty Crusty
Cyruz143
dabako <dabako@dabakoworld.de> dabako <dabako@dabakoworld.de>
dgibso29 <gibson@earringpranks.com> dgibso29 <gibson@earringpranks.com>
Dharma Bellamkonda <dharma.bellamkonda@gmail.com> Dharma Bellamkonda <dharma.bellamkonda@gmail.com>
@ -130,6 +131,7 @@ meat <p.humberdroz@gmail.com>
Michail Nikolaev Michail Nikolaev
MikeMatrix <m.braun92@gmail.com> MikeMatrix <m.braun92@gmail.com>
mjc4wilton <mjc4wilton@gmail.com> mjc4wilton <mjc4wilton@gmail.com>
Mysteryjuju
nic547 <nic547@outlook.com> nic547 <nic547@outlook.com>
nikolauska <nikolauska1@gmail.com> nikolauska <nikolauska1@gmail.com>
nomisum <nomisum@gmail.com> nomisum <nomisum@gmail.com>
@ -147,12 +149,14 @@ QuickDagger
rakowozz rakowozz
ramius86 <pasini86@hotmail.com> ramius86 <pasini86@hotmail.com>
Raspu86 Raspu86
RcINS
Riccardo Petricca <petriccarcc@gmail.com> Riccardo Petricca <petriccarcc@gmail.com>
Robert Boklahánics <bokirobi@gmail.com> Robert Boklahánics <bokirobi@gmail.com>
ruPaladin <happyworm24@rambler.ru> ruPaladin <happyworm24@rambler.ru>
Rutger "RedBery" Meijering <c.redbery@gmail.com> Rutger "RedBery" Meijering <c.redbery@gmail.com>
sancron sancron
Schwaggot <tom.ryan@posteo.de> Schwaggot <tom.ryan@posteo.de>
Seb <sebsmith90@gmail.com>
shukari shukari
simon84 <badguy360th@gmail.com> simon84 <badguy360th@gmail.com>
Skengman2 Skengman2
@ -161,6 +165,7 @@ Sniperwolf572 <tenga6@gmail.com>
System98 System98
SzwedzikPL <szwedzikpl@gmail.com> SzwedzikPL <szwedzikpl@gmail.com>
Tachi <zaveruha007@gmail.com> Tachi <zaveruha007@gmail.com>
tbeswick96
Tessa Elieff <Fastroping Sound - CreativeCommons Attributions 3.0> Tessa Elieff <Fastroping Sound - CreativeCommons Attributions 3.0>
Timi007 <timi007@gmx.net> Timi007 <timi007@gmx.net>
Toaster <jonathan.pereira@gmail.com> Toaster <jonathan.pereira@gmail.com>
@ -174,6 +179,7 @@ VyMajoris(W-Cephei)<vycanismajoriscsa@gmail.com>
Walthzer <walthzer.69@gmail.com> Walthzer <walthzer.69@gmail.com>
Winter <simon@agius-muscat.net> Winter <simon@agius-muscat.net>
wizpig64 wizpig64
YetheSamartaka
xrufix xrufix
Zakant <Zakant@gmx.de> Zakant <Zakant@gmx.de>
zGuba zGuba

View File

@ -4,7 +4,7 @@
<p align="center"> <p align="center">
<a href="https://github.com/acemod/ACE3/releases/latest"> <a href="https://github.com/acemod/ACE3/releases/latest">
<img src="https://img.shields.io/badge/Version-3.14.0-blue.svg?style=flat-square" alt="ACE3 Version"> <img src="https://img.shields.io/badge/Version-3.15.0-blue.svg?style=flat-square" alt="ACE3 Version">
</a> </a>
<a href="https://github.com/acemod/ACE3/issues"> <a href="https://github.com/acemod/ACE3/issues">
<img src="https://img.shields.io/github/issues-raw/acemod/ACE3.svg?style=flat-square&label=Issues" alt="ACE3 Issues"> <img src="https://img.shields.io/github/issues-raw/acemod/ACE3.svg?style=flat-square&label=Issues" alt="ACE3 Issues">
@ -18,8 +18,8 @@
<a href="https://github.com/acemod/ACE3/blob/master/LICENSE"> <a href="https://github.com/acemod/ACE3/blob/master/LICENSE">
<img src="https://img.shields.io/badge/License-GPLv2-red.svg?style=flat-square" alt="ACE3 License"> <img src="https://img.shields.io/badge/License-GPLv2-red.svg?style=flat-square" alt="ACE3 License">
</a> </a>
<a href="https://slackin.ace3mod.com/"> <a href="https://acemod.org/discord">
<img src="https://img.shields.io/badge/Slack-Join-darkviolet.svg?style=flat-square" alt="ACE3 Slack"> <img src="https://img.shields.io/badge/Discord-Join-darkviolet.svg?style=flat-square" alt="ACE3 Discord">
</a> </a>
<a href="https://circleci.com/gh/acemod/ACE3"> <a href="https://circleci.com/gh/acemod/ACE3">
<img src="https://circleci.com/gh/acemod/ACE3.svg?style=svg" alt="ACE3 Build Status"> <img src="https://circleci.com/gh/acemod/ACE3.svg?style=svg" alt="ACE3 Build Status">
@ -78,8 +78,8 @@ The mod is **built modularly**, so almost any included PBO can be easily removed
ACE3 requires Arma 3 and the latest version of <a href="https://github.com/CBATeam/CBA_A3/releases">CBA A3</a>. See the following pages for help and information on how to get started with ACE3: ACE3 requires Arma 3 and the latest version of <a href="https://github.com/CBATeam/CBA_A3/releases">CBA A3</a>. See the following pages for help and information on how to get started with ACE3:
- [Installation guide](https://ace3mod.com/wiki/user/installation-guide.html) - [Installation guide](https://ace3.acemod.org/wiki/user/installation-guide.html)
- [Information center](https://ace3mod.com/wiki/user/information-center.html) - [Information center](https://ace3.acemod.org/wiki/user/information-center.html)
## Contributing ## Contributing
@ -87,26 +87,26 @@ You can help out with the ongoing development by looking for potential bugs in o
### Contribution guidelines ### Contribution guidelines
To contribute something to ACE3, simply fork this repository and submit your pull requests for review by other collaborators. See [the pull request guidelines](https://ace3mod.com/wiki/development/merging-pull-requests.html) for further information on this process. To contribute something to ACE3, simply fork this repository and submit your pull requests for review by other collaborators. See [the pull request guidelines](https://ace3.acemod.org/wiki/development/merging-pull-requests.html) for further information on this process.
### Submitting issues and requesting features ### Submitting issues and requesting features
Please, use our [Issue Tracker](https://github.com/acemod/ACE3/issues) to report a bug, propose a feature, or suggest changes to the existing ones. See also: Please, use our [Issue Tracker](https://github.com/acemod/ACE3/issues) to report a bug, propose a feature, or suggest changes to the existing ones. See also:
- [How to report an issue](https://ace3mod.com/wiki/user/how-to-report-an-issue.html) - [How to report an issue](https://ace3.acemod.org/wiki/user/how-to-report-an-issue.html)
- [How to make a feature request](https://ace3mod.com/wiki/user/how-to-make-a-feature-request.html) - [How to make a feature request](https://ace3.acemod.org/wiki/user/how-to-make-a-feature-request.html)
### Testing & building ### Testing & building
To help us test the latest development changes, download our master branch ([directly](https://github.com/acemod/ACE3/archive/master.zip), or [with git](https://help.github.com/articles/fetching-a-remote/)), then assemble a test build: To help us test the latest development changes, download our master branch ([directly](https://github.com/acemod/ACE3/archive/master.zip), or [with git](https://help.github.com/articles/fetching-a-remote/)), then assemble a test build:
- [Setting up the development environment](https://ace3mod.com/wiki/development/setting-up-the-development-environment.html) step-by-step instructions on how to properly setup and build a version of ACE3 for testing purposes. - [Setting up the development environment](https://ace3.acemod.org/wiki/development/setting-up-the-development-environment.html) step-by-step instructions on how to properly setup and build a version of ACE3 for testing purposes.
### Get in touch ### Get in touch
<table> <table>
<tr> <tr>
<td><a href="https://slackin.ace3mod.com/">Slack</a></td> <td><a href="https://acemod.org/discord">Discord</a></td>
<td>We have a public Slack team that anyone can join. This is where all our developers and contributors hang out and where we make announcements</td> <td>We have a public Discord server that anyone can join. This is where all our developers and contributors hang out and where we make announcements</td>
</tr> </tr>
<tr> <tr>

View File

@ -28,7 +28,7 @@ if (!hasInterface) exitWith {};
//Add warnings for missing compat PBOs (only if AB is on) //Add warnings for missing compat PBOs (only if AB is on)
{ {
_x params ["_modPBO", "_compatPBO"]; _x params ["_modPBO", "_compatPBO"];
if ((isClass (configFile >> "CfgPatches" >> _modPBO)) && {!isClass (configFile >> "CfgPatches" >> _compatPBO)}) then { if ([_modPBO] call EFUNC(common,isModLoaded) && {!([_compatPBO] call EFUNC(common,isModLoaded))}) then {
WARNING_2("Weapon Mod [%1] missing ace compat pbo [%2] (from @ace\optionals)",_modPBO,_compatPBO); WARNING_2("Weapon Mod [%1] missing ace compat pbo [%2] (from @ace\optionals)",_modPBO,_compatPBO);
}; };
} forEach [ } forEach [

View File

@ -49,7 +49,7 @@
<Japanese>アドバンスド バリスティックス</Japanese> <Japanese>アドバンスド バリスティックス</Japanese>
<Korean>고급 탄도학</Korean> <Korean>고급 탄도학</Korean>
<Chinese>先進彈道系統</Chinese> <Chinese>先進彈道系統</Chinese>
<Chinesesimp>进弹道系统</Chinesesimp> <Chinesesimp>弹道系统</Chinesesimp>
<Turkish>Gelişmiş Balistik</Turkish> <Turkish>Gelişmiş Balistik</Turkish>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Ballistics_enabled_DisplayName"> <Key ID="STR_ACE_Advanced_Ballistics_enabled_DisplayName">
@ -66,7 +66,7 @@
<Japanese>アドバンスド バリスティックスを有効化</Japanese> <Japanese>アドバンスド バリスティックスを有効化</Japanese>
<Korean>고급 탄도학</Korean> <Korean>고급 탄도학</Korean>
<Chinese>先進彈道系統</Chinese> <Chinese>先進彈道系統</Chinese>
<Chinesesimp>进弹道系统</Chinesesimp> <Chinesesimp>弹道系统</Chinesesimp>
<Turkish>Gelişmiş Balistik</Turkish> <Turkish>Gelişmiş Balistik</Turkish>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Ballistics_enabled_Description"> <Key ID="STR_ACE_Advanced_Ballistics_enabled_Description">
@ -83,7 +83,7 @@
<Japanese>アドバンスド バリスティックスを有効化します。</Japanese> <Japanese>アドバンスド バリスティックスを有効化します。</Japanese>
<Korean>고급 탄도학을 적용합니다</Korean> <Korean>고급 탄도학을 적용합니다</Korean>
<Chinese>啟用先進彈道系統</Chinese> <Chinese>啟用先進彈道系統</Chinese>
<Chinesesimp>启用进弹道系统</Chinesesimp> <Chinesesimp>启用进弹道系统</Chinesesimp>
<Turkish>Gelişmiş balistiği etkinleştir</Turkish> <Turkish>Gelişmiş balistiği etkinleştir</Turkish>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Ballistics_muzzleVelocityVariationEnabled_DisplayName"> <Key ID="STR_ACE_Advanced_Ballistics_muzzleVelocityVariationEnabled_DisplayName">
@ -200,7 +200,7 @@
<Japanese>弾丸の軌跡エフェクトを有効化</Japanese> <Japanese>弾丸の軌跡エフェクトを有効化</Japanese>
<Korean>예광탄 효과 적용</Korean> <Korean>예광탄 효과 적용</Korean>
<Chinese>啟用曳光彈效果</Chinese> <Chinese>啟用曳光彈效果</Chinese>
<Chinesesimp>启用曳光弹效果</Chinesesimp> <Chinesesimp>启用子弹尾迹效果</Chinesesimp>
<Turkish>İzli Mermi Etkisini Etkinleştir</Turkish> <Turkish>İzli Mermi Etkisini Etkinleştir</Turkish>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Ballistics_bulletTraceEnabled_Description"> <Key ID="STR_ACE_Advanced_Ballistics_bulletTraceEnabled_Description">
@ -217,7 +217,7 @@
<Japanese>大口径弾の軌跡エフェクトを有効化します。 (高性能光学機器を介してのみ見ることができます)</Japanese> <Japanese>大口径弾の軌跡エフェクトを有効化します。 (高性能光学機器を介してのみ見ることができます)</Japanese>
<Korean>대구경 탄환에 예광탄 효과를 적용합니다(오직 고성능 조준경 사용시에만 보입니다)</Korean> <Korean>대구경 탄환에 예광탄 효과를 적용합니다(오직 고성능 조준경 사용시에만 보입니다)</Korean>
<Chinese>啟用曳光彈效果給大口徑子彈 (只有透過高倍率光學瞄鏡才能看到)</Chinese> <Chinese>啟用曳光彈效果給大口徑子彈 (只有透過高倍率光學瞄鏡才能看到)</Chinese>
<Chinesesimp>启用曳光弹效果给大口径子弹 (只有透过高倍率光学瞄镜才能看到)</Chinesesimp> <Chinesesimp>给大口径子弹启用子弹尾迹效果(只有透过高倍率光学瞄镜才能看到)</Chinesesimp>
<Turkish>Yüksek kalibreli mermilere mermi izleme efekti sağlar (yalnızca yüksek güçlü optiklerden bakıldığında görülebilir)</Turkish> <Turkish>Yüksek kalibreli mermilere mermi izleme efekti sağlar (yalnızca yüksek güçlü optiklerden bakıldığında görülebilir)</Turkish>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Ballistics_simulationInterval_DisplayName"> <Key ID="STR_ACE_Advanced_Ballistics_simulationInterval_DisplayName">
@ -250,7 +250,7 @@
<Japanese>各シミュレーション毎の間隔を定義します。</Japanese> <Japanese>各シミュレーション毎の間隔を定義します。</Japanese>
<Korean>각 계산 단위의 간격을 정의합니다</Korean> <Korean>각 계산 단위의 간격을 정의합니다</Korean>
<Chinese>定義每個模擬計算之間的時間間隔</Chinese> <Chinese>定義每個模擬計算之間的時間間隔</Chinese>
<Chinesesimp>定义每个模拟计算之间的时间间隔</Chinesesimp> <Chinesesimp>定义每个计算步骤之间的间隔</Chinesesimp>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Ballistics_simulationRadius_DisplayName"> <Key ID="STR_ACE_Advanced_Ballistics_simulationRadius_DisplayName">
<English>Simulation Radius</English> <English>Simulation Radius</English>
@ -283,7 +283,7 @@
<Japanese>アドバンスド バリスティックスの適用半径範囲 (プレイヤー中心、メートル単位) を定義します。</Japanese> <Japanese>アドバンスド バリスティックスの適用半径範囲 (プレイヤー中心、メートル単位) を定義します。</Japanese>
<Korean>플레이어 주위의 발사체를 고급 탄도학으로 정의하는 범위를 정합니다(미터)</Korean> <Korean>플레이어 주위의 발사체를 고급 탄도학으로 정의하는 범위를 정합니다(미터)</Korean>
<Chinese>以玩家的半徑距離(公尺)定義先進彈道系統啟用範圍</Chinese> <Chinese>以玩家的半徑距離(公尺)定義先進彈道系統啟用範圍</Chinese>
<Chinesesimp>以玩家的半径距离(公尺)定义先进弹道系统启用范围</Chinesesimp> <Chinesesimp>定义玩家周围的半径(米),在这个半径内,进阶弹道系统会被启用</Chinesesimp>
<Turkish>Mermilere gelişmiş balistik uygulandığı oyuncunun etrafındaki yarıçapı (metre cinsinden) tanımlar</Turkish> <Turkish>Mermilere gelişmiş balistik uygulandığı oyuncunun etrafındaki yarıçapı (metre cinsinden) tanımlar</Turkish>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Ballistics_Description"> <Key ID="STR_ACE_Advanced_Ballistics_Description">
@ -300,7 +300,7 @@
<Japanese>アドバンスド バリスティックスのシミュレーションを有効化します。 弾道は気温・気圧・湿度・重力・弾薬の種類・発射する武器などの変化による影響を受けるようになります。</Japanese> <Japanese>アドバンスド バリスティックスのシミュレーションを有効化します。 弾道は気温・気圧・湿度・重力・弾薬の種類・発射する武器などの変化による影響を受けるようになります。</Japanese>
<Korean>이 모듈은 고급 탄도학을 적용시킵니다 - 이는 발사체의 궤적이 기온, 대기압, 습도, 중력, 탄환의 종류와 어느 무기에서 발사되는지에 따라 영향을 받습니다.</Korean> <Korean>이 모듈은 고급 탄도학을 적용시킵니다 - 이는 발사체의 궤적이 기온, 대기압, 습도, 중력, 탄환의 종류와 어느 무기에서 발사되는지에 따라 영향을 받습니다.</Korean>
<Chinese>該模塊實現先進的彈道仿真 - 這意味著子彈的軌跡是由空氣溫度、大氣壓力、濕度、重力、彈藥類型以及射擊的武器所影響</Chinese> <Chinese>該模塊實現先進的彈道仿真 - 這意味著子彈的軌跡是由空氣溫度、大氣壓力、濕度、重力、彈藥類型以及射擊的武器所影響</Chinese>
<Chinesesimp>该模块实现先进的弹道仿真 - 这意味着子弹的轨迹是由空气温度、大气压力、湿度、重力、弹药类型以及射击的武器所影响</Chinesesimp> <Chinesesimp>该模块实现增强的弹道模拟—子弹的轨迹由空气温度、大气压力、湿度、重力、弹药类型和射击的武器等变量所影响</Chinesesimp>
<Turkish>Bu modül gelişmiş balistik simülasyonunu etkinleştirir - yani mermilerin gidişatını hava sıcaklığı, atmosfer basıncı, nem, yerçekimi, mühimmat türü ve ateşlendiği silah gibi durumlar etkiler.</Turkish> <Turkish>Bu modül gelişmiş balistik simülasyonunu etkinleştirir - yani mermilerin gidişatını hava sıcaklığı, atmosfer basıncı, nem, yerçekimi, mühimmat türü ve ateşlendiği silah gibi durumlar etkiler.</Turkish>
</Key> </Key>
</Package> </Package>

View File

@ -30,7 +30,7 @@ if (!hasInterface) exitWith {};
GVAR(ppeBlackout) ppEffectCommit 0.4; GVAR(ppeBlackout) ppEffectCommit 0.4;
// - GVAR updating and initialization ----------------------------------------- // - GVAR updating and initialization -----------------------------------------
["unit", FUNC(handlePlayerChanged), true] call CBA_fnc_addPlayerEventHandler; ["unit", LINKFUNC(handlePlayerChanged), true] call CBA_fnc_addPlayerEventHandler;
["visibleMap", { ["visibleMap", {
params ["", "_visibleMap"]; // command visibleMap is updated one frame later params ["", "_visibleMap"]; // command visibleMap is updated one frame later
@ -56,7 +56,8 @@ if (!hasInterface) exitWith {};
[1, 3] select (_this getVariable [QEGVAR(dragging,isCarrying), false]); [1, 3] select (_this getVariable [QEGVAR(dragging,isCarrying), false]);
}] call FUNC(addDutyFactor); }] call FUNC(addDutyFactor);
}; };
if (["ACE_Weather"] call EFUNC(common,isModLoaded)) then { // Weather has an off switch, Dragging & Medical don't.
if (missionNamespace getVariable [QEGVAR(weather,enabled), false]) then {
[QEGVAR(weather,temperature), { // 35->1, 45->2 [QEGVAR(weather,temperature), { // 35->1, 45->2
linearConversion [35, 45, (missionNamespace getVariable [QEGVAR(weather,currentTemperature), 25]), 1, 2, true]; linearConversion [35, 45, (missionNamespace getVariable [QEGVAR(weather,currentTemperature), 25]), 1, 2, true];
}] call FUNC(addDutyFactor); }] call FUNC(addDutyFactor);

View File

@ -9,7 +9,7 @@ PREP_RECOMPILE_END;
#include "initSettings.sqf" #include "initSettings.sqf"
GVAR(staminaBarWidth) = 10 * (((safezoneW / safezoneH) min 1.2) / 40); GVAR(staminaBarWidth) = 10 * (((safezoneW / safezoneH) min 1.2) / 40);
GVAR(dutyList) = [[], []]; GVAR(dutyList) = createHashMap;
GVAR(setAnimExclusions) = []; GVAR(setAnimExclusions) = [];
ADDON = true; ADDON = true;

View File

@ -18,6 +18,4 @@
params [["_id", "", [""]], ["_factor", 1, [0, {}]]]; params [["_id", "", [""]], ["_factor", 1, [0, {}]]];
if (_id == "" || {_factor isEqualTo 1}) exitWith {}; if (_id == "" || {_factor isEqualTo 1}) exitWith {};
GVAR(dutyList) params ["_idList", "_factorList"]; GVAR(dutyList) set [_id, _factor];
_idList pushBack _id;
_factorList pushBack _factor,

View File

@ -30,7 +30,7 @@ private _duty = GVAR(animDuty);
} else { } else {
_duty = _duty * (_unit call _x); _duty = _duty * (_unit call _x);
}; };
} forEach (GVAR(dutyList) select 1); } forEach (values GVAR(dutyList));
if (GVAR(isSwimming)) then { if (GVAR(isSwimming)) then {
_terrainGradient = 0; _terrainGradient = 0;

View File

@ -31,6 +31,8 @@ if (GVAR(fadeStaminaBar)) then {
} else { } else {
_staminaBarContainer ctrlSetFade (0.9 * _stamina / 0.8); _staminaBarContainer ctrlSetFade (0.9 * _stamina / 0.8);
}; };
} else {
_staminaBarContainer ctrlSetFade 0;
}; };
// - Color -------------------------------------------------------------------- // - Color --------------------------------------------------------------------

View File

@ -14,7 +14,9 @@
* *
* Public: No * Public: No
*/ */
if (!alive ACE_player) exitWith { // Dead people don't breath, Will also handle null (Map intros)
// Dead people don't breathe, will also handle null (map intros)
if (!alive ACE_player) exitWith {
[FUNC(mainLoop), [], 1] call CBA_fnc_waitAndExecute; [FUNC(mainLoop), [], 1] call CBA_fnc_waitAndExecute;
private _staminaBarContainer = uiNamespace getVariable [QGVAR(staminaBarContainer), controlNull]; private _staminaBarContainer = uiNamespace getVariable [QGVAR(staminaBarContainer), controlNull];
_staminaBarContainer ctrlSetFade 1; _staminaBarContainer ctrlSetFade 1;

View File

@ -16,10 +16,4 @@
*/ */
params [["_id", "", [""]]]; params [["_id", "", [""]]];
GVAR(dutyList) params ["_idList", "_factorList"]; GVAR(dutyList) deleteAt _id;
private _index = _idList find _id;
if (_index != -1) then {
_idList deleteAt _index;
_factorList deleteAt _index;
};

View File

@ -6,7 +6,7 @@
<Spanish>ACE Fatiga Avanzada</Spanish> <Spanish>ACE Fatiga Avanzada</Spanish>
<German>ACE Erweiterte Ausdauer</German> <German>ACE Erweiterte Ausdauer</German>
<Chinese>ACE 進階疲勞</Chinese> <Chinese>ACE 進階疲勞</Chinese>
<Chinesesimp>ACE 进阶疲劳</Chinesesimp> <Chinesesimp>ACE 进阶体力</Chinesesimp>
<Japanese>ACE アドバンスド ファティーグ</Japanese> <Japanese>ACE アドバンスド ファティーグ</Japanese>
<Italian>ACE Fatica Avanzata</Italian> <Italian>ACE Fatica Avanzata</Italian>
<Korean>ACE 고급 피로도</Korean> <Korean>ACE 고급 피로도</Korean>
@ -73,7 +73,7 @@
<French>Facteur de récupération</French> <French>Facteur de récupération</French>
<Italian>Fattore Recupero</Italian> <Italian>Fattore Recupero</Italian>
<Chinese>回復值</Chinese> <Chinese>回復值</Chinese>
<Chinesesimp>回复值</Chinesesimp> <Chinesesimp>恢复系数</Chinesesimp>
<Russian>Фактор восстановления</Russian> <Russian>Фактор восстановления</Russian>
<Portuguese>Fator de Recuperação</Portuguese> <Portuguese>Fator de Recuperação</Portuguese>
<Czech>Faktor zotavení</Czech> <Czech>Faktor zotavení</Czech>
@ -89,7 +89,7 @@
<French>Modifie la vitesse à laquelle le joueur récupère lorsqu'il se repose.\nPlus la valeur est élevée, plus la récupération est rapide.</French> <French>Modifie la vitesse à laquelle le joueur récupère lorsqu'il se repose.\nPlus la valeur est élevée, plus la récupération est rapide.</French>
<Italian>Determina in quanto tempo il giocatore recupera quando rilassato. Maggiore significa migliore.</Italian> <Italian>Determina in quanto tempo il giocatore recupera quando rilassato. Maggiore significa migliore.</Italian>
<Chinese>決定玩家休息多久就能回復體力,值越高恢復越快</Chinese> <Chinese>決定玩家休息多久就能回復體力,值越高恢復越快</Chinese>
<Chinesesimp>决定玩家休息多久就能复体力,值越高恢复越快</Chinesesimp> <Chinesesimp>决定玩家休息多久就能复体力,值越高恢复越快</Chinesesimp>
<Russian>Изменяет скорость восстановления игрока во время отдыха. Чем выше, тем быстрее.</Russian> <Russian>Изменяет скорость восстановления игрока во время отдыха. Чем выше, тем быстрее.</Russian>
<Portuguese>Altera o quão rápido um jogador recupera quando descansando. Quanto maior, mais rápido.</Portuguese> <Portuguese>Altera o quão rápido um jogador recupera quando descansando. Quanto maior, mais rápido.</Portuguese>
<Czech>Mění, jak rychle se hráč zotaví, když odpočívá. Vyšší je rychlejší.</Czech> <Czech>Mění, jak rychle se hráč zotaví, když odpočívá. Vyšší je rychlejší.</Czech>
@ -104,7 +104,7 @@
<French>Facteur de charge</French> <French>Facteur de charge</French>
<Italian>Fattore Caricamento</Italian> <Italian>Fattore Caricamento</Italian>
<Chinese>負重量</Chinese> <Chinese>負重量</Chinese>
<Chinesesimp>重量</Chinesesimp> <Chinesesimp>重量系数</Chinesesimp>
<Russian>Фактор нагрузки</Russian> <Russian>Фактор нагрузки</Russian>
<Portuguese>Fator de Carga</Portuguese> <Portuguese>Fator de Carga</Portuguese>
<Czech>Faktor zatížení</Czech> <Czech>Faktor zatížení</Czech>
@ -119,7 +119,7 @@
<French>Augmente ou diminue l'influence du poids sur les performances du joueur.\nUne valeur nulle indique que le poids de l'équipement n'a aucun impact sur les performances.</French> <French>Augmente ou diminue l'influence du poids sur les performances du joueur.\nUne valeur nulle indique que le poids de l'équipement n'a aucun impact sur les performances.</French>
<Italian>Incrementa o decrementa quanto il peso influenza le prestazioni dei giocatori. Zero significa che il peso dell'equipaggiamento non ha alcuna influenza nelle prestazioni.</Italian> <Italian>Incrementa o decrementa quanto il peso influenza le prestazioni dei giocatori. Zero significa che il peso dell'equipaggiamento non ha alcuna influenza nelle prestazioni.</Italian>
<Chinese>增加或降低玩家所能承受的負重量. 如設定值為0, 代表裝備的重量將不會影響到玩家的體力表現</Chinese> <Chinese>增加或降低玩家所能承受的負重量. 如設定值為0, 代表裝備的重量將不會影響到玩家的體力表現</Chinese>
<Chinesesimp>增加或降低玩家所能承受的负重量. 如设定值为0, 代表装备的重量将不会影响到玩家的体力表现</Chinesesimp> <Chinesesimp>增加或降低玩家所能承受的负重量。如设定值为0代表装备的重量将不会影响到玩家的体力表现</Chinesesimp>
<Russian>Увеличивает или уменьшает вес, влияющий на производительность игроков. Ноль означает, что вес снаряжения не влияет на производительность</Russian> <Russian>Увеличивает или уменьшает вес, влияющий на производительность игроков. Ноль означает, что вес снаряжения не влияет на производительность</Russian>
<Portuguese>Aumenta ou diminui o quanto o peso influencia a performance do jogador. Zero significa que o peso não tem impacto algum na performance.</Portuguese> <Portuguese>Aumenta ou diminui o quanto o peso influencia a performance do jogador. Zero significa que o peso não tem impacto algum na performance.</Portuguese>
<Czech>Zvyšuje nebo snižuje, jak velká váha ovlivňuje výkon hráče. Nulová hodnota znamená, že hmotnost zařízení nemá žádný vliv na výkon.</Czech> <Czech>Zvyšuje nebo snižuje, jak velká váha ovlivňuje výkon hráče. Nulová hodnota znamená, že hmotnost zařízení nemá žádný vliv na výkon.</Czech>
@ -134,7 +134,7 @@
<French>Facteur d'inclinaison du terrain</French> <French>Facteur d'inclinaison du terrain</French>
<Italian>Fattore Pendenza Terreno</Italian> <Italian>Fattore Pendenza Terreno</Italian>
<Chinese>地形陡峭影響值</Chinese> <Chinese>地形陡峭影響值</Chinese>
<Chinesesimp>地形陡峭影响值</Chinesesimp> <Chinesesimp>地形陡峭系数</Chinesesimp>
<Russian>Фактор местности</Russian> <Russian>Фактор местности</Russian>
<Portuguese>Fator de Inclinação do Terreno</Portuguese> <Portuguese>Fator de Inclinação do Terreno</Portuguese>
<Czech>Faktor stoupání terénu</Czech> <Czech>Faktor stoupání terénu</Czech>
@ -149,7 +149,7 @@
<French>Définit à quel point un terrain escarpé réduit l'endurance du joueur.\nPlus la valeur est élevée, moins le joueur est endurant.</French> <French>Définit à quel point un terrain escarpé réduit l'endurance du joueur.\nPlus la valeur est élevée, moins le joueur est endurant.</French>
<Italian>Stabilisce quanto la pendenza del terreno incrementa la perdita della stamina. Maggiore significa più stamina persa.</Italian> <Italian>Stabilisce quanto la pendenza del terreno incrementa la perdita della stamina. Maggiore significa più stamina persa.</Italian>
<Chinese>設定陡峭的地形將會影響多少體力的流失,值越高代表體力流失越快</Chinese> <Chinese>設定陡峭的地形將會影響多少體力的流失,值越高代表體力流失越快</Chinese>
<Chinesesimp>设定陡峭的地形将会影响多少体力的流失值越高代表体力流失越快</Chinesesimp> <Chinesesimp>设定陡峭的地形将会影响多少体力的流失速度,值越高代表体力流失越快</Chinesesimp>
<Russian>Устанавливает, насколько крутая местность увеличивает потерю выносливости. Чем выше, тем быстрее теряется выносливость.</Russian> <Russian>Устанавливает, насколько крутая местность увеличивает потерю выносливости. Чем выше, тем быстрее теряется выносливость.</Russian>
<Portuguese>Define o quanto que um terreno íngrime aumenta na perda de estamina. Quanto maior, maior a perda de estamina.</Portuguese> <Portuguese>Define o quanto que um terreno íngrime aumenta na perda de estamina. Quanto maior, maior a perda de estamina.</Portuguese>
<Czech>Nastavuje, o kolik strmý terén zvyšuje ztrátu výdrže. Vyšší znamená vyšší ztrátu výdrže.</Czech> <Czech>Nastavuje, o kolik strmý terén zvyšuje ztrátu výdrže. Vyšší znamená vyšší ztrátu výdrže.</Czech>
@ -159,7 +159,7 @@
<Spanish>Factor de balanceo de mira</Spanish> <Spanish>Factor de balanceo de mira</Spanish>
<German>Verwacklungsfaktor</German> <German>Verwacklungsfaktor</German>
<Japanese>手ぶれ因数</Japanese> <Japanese>手ぶれ因数</Japanese>
<Chinesesimp>抖动</Chinesesimp> <Chinesesimp>抖动</Chinesesimp>
<Chinese>抖動因素</Chinese> <Chinese>抖動因素</Chinese>
<French>Facteur de tremblement</French> <French>Facteur de tremblement</French>
<Italian>Fattore di oscillazione</Italian> <Italian>Fattore di oscillazione</Italian>
@ -167,13 +167,14 @@
<Russian>Фактор колебания прицела</Russian> <Russian>Фактор колебания прицела</Russian>
<Portuguese>Fator de Balanço de Mira</Portuguese> <Portuguese>Fator de Balanço de Mira</Portuguese>
<Czech>Faktor kývání</Czech> <Czech>Faktor kývání</Czech>
<Korean>손떨림 정도</Korean>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Fatigue_SwayFactor_Description"> <Key ID="STR_ACE_Advanced_Fatigue_SwayFactor_Description">
<English>Influences the amount of weapon sway. Higher means more sway.</English> <English>Influences the amount of weapon sway. Higher means more sway.</English>
<Spanish>Afecta al la estabilidad de la mira. Más alto significa más balanceo</Spanish> <Spanish>Afecta al la estabilidad de la mira. Más alto significa más balanceo</Spanish>
<German>Beeinflusst den Faktor, wie ruhig man eine Waffe halten kann. Ein höherer Wert bedeutet weniger Stabilisierung</German> <German>Beeinflusst den Faktor, wie ruhig man eine Waffe halten kann. Ein höherer Wert bedeutet weniger Stabilisierung</German>
<Japanese>武器を持つ手のぶれ度合いを設定します。 値が高ければ高いほど、手ぶれが強くなります。</Japanese> <Japanese>武器を持つ手のぶれ度合いを設定します。 値が高ければ高いほど、手ぶれが強くなります。</Japanese>
<Chinesesimp>影响手持武器的晃动程度,数值越高,抖动的越厉害.</Chinesesimp> <Chinesesimp>影响手持武器的晃动程度,数值越高,抖动的越厉害。</Chinesesimp>
<Chinese>影響手持武器晃動程度,數值越高抖動越厲害</Chinese> <Chinese>影響手持武器晃動程度,數值越高抖動越厲害</Chinese>
<French>Influe sur l'amplitude du tremblement de l'arme. Une valeur plus élevée signifie plus de tremblement.</French> <French>Influe sur l'amplitude du tremblement de l'arme. Une valeur plus élevée signifie plus de tremblement.</French>
<Italian>Influenza l'ammontare di oscillazione dell'arma. Maggiore significa più oscillazione.</Italian> <Italian>Influenza l'ammontare di oscillazione dell'arma. Maggiore significa più oscillazione.</Italian>
@ -181,6 +182,7 @@
<Russian>Влияет на колебания прицела оружия. Чем выше - тем больше.</Russian> <Russian>Влияет на колебания прицела оружия. Чем выше - тем больше.</Russian>
<Portuguese>Influencia a quantidade de balanço da mira da arma. Quanto maior, mais balanço.</Portuguese> <Portuguese>Influencia a quantidade de balanço da mira da arma. Quanto maior, mais balanço.</Portuguese>
<Czech>Ovlivňuje množství kývání zbraní. Vyšší znamená více kývání.</Czech> <Czech>Ovlivňuje množství kývání zbraní. Vyšší znamená více kývání.</Czech>
<Korean>손떨림의 정도를 정합니다. 높을 수록 많이 휘적입니다.</Korean>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Fatigue_Enabled"> <Key ID="STR_ACE_Advanced_Fatigue_Enabled">
<English>Enabled</English> <English>Enabled</English>
@ -207,7 +209,7 @@
<French>Active/Désactive la fatigue avancée.</French> <French>Active/Désactive la fatigue avancée.</French>
<Italian>Abilita/disabilita la Fatica Avanzata.</Italian> <Italian>Abilita/disabilita la Fatica Avanzata.</Italian>
<Chinese>啟用/關閉進階體力.</Chinese> <Chinese>啟用/關閉進階體力.</Chinese>
<Chinesesimp>启用/关闭进阶体力.</Chinesesimp> <Chinesesimp>启用/关闭进阶体力</Chinesesimp>
<Russian>Включает / Отключает Продвинутую усталость</Russian> <Russian>Включает / Отключает Продвинутую усталость</Russian>
<Portuguese>Ativa/Desativa Fadiga Avançada.</Portuguese> <Portuguese>Ativa/Desativa Fadiga Avançada.</Portuguese>
<Czech>Aktivuje / deaktivuje Pokročilou únavu.</Czech> <Czech>Aktivuje / deaktivuje Pokročilou únavu.</Czech>
@ -248,6 +250,7 @@
<Russian>Скрыть шкалу усталости автоматически</Russian> <Russian>Скрыть шкалу усталости автоматически</Russian>
<German>Blende Ausdauerleiste automatisch aus</German> <German>Blende Ausdauerleiste automatisch aus</German>
<Chinese>體力條自動淡去</Chinese> <Chinese>體力條自動淡去</Chinese>
<Chinesesimp>自动淡化体力条</Chinesesimp>
<Italian>Dissolvenza automatica della barra della stamina</Italian> <Italian>Dissolvenza automatica della barra della stamina</Italian>
<Czech>Automaticky schovat lištu výdrže</Czech> <Czech>Automaticky schovat lištu výdrže</Czech>
<French>Fondu automatique de la barre d'endurance</French> <French>Fondu automatique de la barre d'endurance</French>
@ -255,6 +258,7 @@
<Polish>Chowaj pasek wytrzymałości automatycznie</Polish> <Polish>Chowaj pasek wytrzymałości automatycznie</Polish>
<Portuguese>Barra de stamina some automaticamente</Portuguese> <Portuguese>Barra de stamina some automaticamente</Portuguese>
<Turkish>Dayanıklılık çubuğunu otomatik olarak soldur</Turkish> <Turkish>Dayanıklılık çubuğunu otomatik olarak soldur</Turkish>
<Korean>자동으로 피로도 막대 숨기기</Korean>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Fatigue_FadeStaminaBar_Description"> <Key ID="STR_ACE_Advanced_Fatigue_FadeStaminaBar_Description">
<English>Adjusts transparency of the bar based on stamina status.</English> <English>Adjusts transparency of the bar based on stamina status.</English>
@ -262,12 +266,14 @@
<Russian>Регулирует прозрачность шкалы в зависимости от статуса выносливости.</Russian> <Russian>Регулирует прозрачность шкалы в зависимости от статуса выносливости.</Russian>
<German>Passt die Transparenz der Ausdauerleiste abhängig vom Ausdauerstatus an.</German> <German>Passt die Transparenz der Ausdauerleiste abhängig vom Ausdauerstatus an.</German>
<Chinese>依照目前的體力程度調整體力條之透明度</Chinese> <Chinese>依照目前的體力程度調整體力條之透明度</Chinese>
<Chinesesimp>根据体力状况调整体力条的透明度</Chinesesimp>
<Italian>Regola la trasparenza della barra in base allo stato di affaticamento.</Italian> <Italian>Regola la trasparenza della barra in base allo stato di affaticamento.</Italian>
<Czech>Upravuje průhlednost lišty v závislosti na současném stavu výdrže</Czech> <Czech>Upravuje průhlednost lišty v závislosti na současném stavu výdrže</Czech>
<French>Règle la transparence de la barre en fonction de l'état d'endurance.</French> <French>Règle la transparence de la barre en fonction de l'état d'endurance.</French>
<Japanese>スタミナの状態に応じて、自動的にバーの透明度を調整します。</Japanese> <Japanese>スタミナの状態に応じて、自動的にバーの透明度を調整します。</Japanese>
<Polish>Dostosowuje przezroczystość paska na podstawie stanu wytrzymałości.</Polish> <Polish>Dostosowuje przezroczystość paska na podstawie stanu wytrzymałości.</Polish>
<Portuguese>Ajusta a transparência da barra baseado no status da stamina</Portuguese> <Portuguese>Ajusta a transparência da barra baseado no status da stamina</Portuguese>
<Korean>피로도에 따라 피로도 막대의 투명도를 조절합니다.</Korean>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -75,7 +75,7 @@
<French>Afficher l'arc de lancé</French> <French>Afficher l'arc de lancé</French>
<Italian>Mostra Arco di Tiro</Italian> <Italian>Mostra Arco di Tiro</Italian>
<Chinese>顯示投擲軌道</Chinese> <Chinese>顯示投擲軌道</Chinese>
<Chinesesimp>显示投掷轨道</Chinesesimp> <Chinesesimp>显示投掷弧线</Chinesesimp>
<Portuguese>Mostrar o Arco de Arremesso</Portuguese> <Portuguese>Mostrar o Arco de Arremesso</Portuguese>
<Czech>Zobrazit oblouk vrhu </Czech> <Czech>Zobrazit oblouk vrhu </Czech>
<Turkish>Atış Yayını Göster</Turkish> <Turkish>Atış Yayını Göster</Turkish>
@ -91,7 +91,7 @@
<French>Active la visualisation de l'arc de lancé (la trajectoire de vol de l'objet).</French> <French>Active la visualisation de l'arc de lancé (la trajectoire de vol de l'objet).</French>
<Italian>Abilita la visualizzazione dell'arco del tiro (dove l'oggetto lanciabile volerà).</Italian> <Italian>Abilita la visualizzazione dell'arco del tiro (dove l'oggetto lanciabile volerà).</Italian>
<Chinese>顯示投擲軌道幫助投擲</Chinese> <Chinese>顯示投擲軌道幫助投擲</Chinese>
<Chinesesimp>显示投掷轨道帮助投掷</Chinesesimp> <Chinesesimp>显示投掷弧线帮助投掷</Chinesesimp>
<Portuguese>Permite a visualização do Arco de Arremesso por onde o objeto será jogado.</Portuguese> <Portuguese>Permite a visualização do Arco de Arremesso por onde o objeto será jogado.</Portuguese>
<Czech>Zapíná vizualizaci oblouku vrhu (kam bude předmět hozen).</Czech> <Czech>Zapíná vizualizaci oblouku vrhu (kam bude předmět hozen).</Czech>
</Key> </Key>
@ -106,7 +106,7 @@
<French>Afficher les contrôles à la souris du lancé</French> <French>Afficher les contrôles à la souris du lancé</French>
<Italian>Mostra Comandi Mouse Lancio</Italian> <Italian>Mostra Comandi Mouse Lancio</Italian>
<Chinese>顯示滑鼠投擲控制提示</Chinese> <Chinese>顯示滑鼠投擲控制提示</Chinese>
<Chinesesimp>显示鼠投掷控制提示</Chinesesimp> <Chinesesimp>显示鼠投掷控制提示</Chinesesimp>
<Portuguese>Mostrar os controles de mouse para Arremesso</Portuguese> <Portuguese>Mostrar os controles de mouse para Arremesso</Portuguese>
<Czech>Zobrazit ovládání házení myší</Czech> <Czech>Zobrazit ovládání házení myší</Czech>
</Key> </Key>
@ -121,7 +121,7 @@
<French>Active les aides visuelles pour les contrôles à la souris lorsqu'un lancé est préparé.</French> <French>Active les aides visuelles pour les contrôles à la souris lorsqu'un lancé est préparé.</French>
<Italian>Abilita la visualizzazione dei controlli del mouse quando l'oggetto lanciabile è pronto.</Italian> <Italian>Abilita la visualizzazione dei controlli del mouse quando l'oggetto lanciabile è pronto.</Italian>
<Chinese>開啟後會在準備投擲時, 顯示滑鼠相關操作</Chinese> <Chinese>開啟後會在準備投擲時, 顯示滑鼠相關操作</Chinese>
<Chinesesimp>开启后会在准备投掷时, 显示滑鼠相关操作</Chinesesimp> <Chinesesimp>开启后会在准备投掷时,显示鼠标相关操作</Chinesesimp>
<Portuguese>Ativa as dicas visuais dos controles do mouse quando um arremessável é preparado.</Portuguese> <Portuguese>Ativa as dicas visuais dos controles do mouse quando um arremessável é preparado.</Portuguese>
<Czech>Zapíná popisky pro ovládání myší, když je házený předmět připraven.</Czech> <Czech>Zapíná popisky pro ovládání myší, když je házený předmět připraven.</Czech>
</Key> </Key>
@ -136,7 +136,7 @@
<French>Permettre le ramassage d'objets lançables</French> <French>Permettre le ramassage d'objets lançables</French>
<Italian>Abilita Raccogli Oggetti</Italian> <Italian>Abilita Raccogli Oggetti</Italian>
<Chinese>啟用可撿取地面投擲物</Chinese> <Chinese>啟用可撿取地面投擲物</Chinese>
<Chinesesimp>启用捡取地面投掷物</Chinesesimp> <Chinesesimp>启用捡取地面投掷物</Chinesesimp>
<Portuguese>Permitir pegar arremessáveis</Portuguese> <Portuguese>Permitir pegar arremessáveis</Portuguese>
<Czech>Zapnout zdvihání házených předmětů</Czech> <Czech>Zapnout zdvihání házených předmětů</Czech>
</Key> </Key>
@ -151,7 +151,7 @@
<French>Active la possibilité de ramasser des objets lançables du sol.</French> <French>Active la possibilité de ramasser des objets lançables du sol.</French>
<Italian>Abilita la possibilità di raccogliere un oggetto lanciabile da terra.</Italian> <Italian>Abilita la possibilità di raccogliere un oggetto lanciabile da terra.</Italian>
<Chinese>啟用後, 可撿取地面上的投擲物</Chinese> <Chinese>啟用後, 可撿取地面上的投擲物</Chinese>
<Chinesesimp>启用后, 可捡取地面上的投掷物</Chinesesimp> <Chinesesimp>启用后可捡取地面上的投掷物</Chinesesimp>
<Portuguese>Permite que objetos arremessados sejam pegos do chão. (ACE Menu de Interação)</Portuguese> <Portuguese>Permite que objetos arremessados sejam pegos do chão. (ACE Menu de Interação)</Portuguese>
<Czech>Zapíná schopnost zvednutí házených předmětů ze země.</Czech> <Czech>Zapíná schopnost zvednutí házených předmětů ze země.</Czech>
</Key> </Key>
@ -166,7 +166,7 @@
<French>Activer le ramassage d'objets lançables attachés</French> <French>Activer le ramassage d'objets lançables attachés</French>
<Italian>Abilita Raccogli Oggetti Lanciabili da altri Oggetti</Italian> <Italian>Abilita Raccogli Oggetti Lanciabili da altri Oggetti</Italian>
<Chinese>啟用可撿取附著投擲物</Chinese> <Chinese>啟用可撿取附著投擲物</Chinese>
<Chinesesimp>启用捡取附着投掷物</Chinesesimp> <Chinesesimp>启用捡取附着投掷物</Chinesesimp>
<Portuguese>Permitir pegar arremessáveis fixados</Portuguese> <Portuguese>Permitir pegar arremessáveis fixados</Portuguese>
<Czech>Zapnout zdvihání připnutých předmětů.</Czech> <Czech>Zapnout zdvihání připnutých předmětů.</Czech>
</Key> </Key>
@ -181,7 +181,7 @@
<French>Active la possibilité de ramasser des objets lançables attachés à d'autres objets.</French> <French>Active la possibilité de ramasser des objets lançables attachés à d'autres objets.</French>
<Italian>Abilita la possibilità di raccogliere gli oggetti lanciabili dagli altri oggetti. </Italian> <Italian>Abilita la possibilità di raccogliere gli oggetti lanciabili dagli altri oggetti. </Italian>
<Chinese>啟用後, 可撿取附著在物件上的投擲物</Chinese> <Chinese>啟用後, 可撿取附著在物件上的投擲物</Chinese>
<Chinesesimp>启用后, 可捡取附着在物件上的投掷物</Chinesesimp> <Chinesesimp>启用后,可捡取附着在物体上的投掷物</Chinesesimp>
<Portuguese>Permite que arremessáveis fixados em objetos sejam pegos.</Portuguese> <Portuguese>Permite que arremessáveis fixados em objetos sejam pegos.</Portuguese>
<Czech>Zapíná schopnost zvednutí předmětů z objektů ke kterým jsou připnuté.</Czech> <Czech>Zapíná schopnost zvednutí předmětů z objektů ke kterým jsou připnuté.</Czech>
</Key> </Key>
@ -211,7 +211,7 @@
<French>Mode de lancé de l'objet (Tenir)</French> <French>Mode de lancé de l'objet (Tenir)</French>
<Italian>Modalità Oggetto Gettabile (Mantenere)</Italian> <Italian>Modalità Oggetto Gettabile (Mantenere)</Italian>
<Chinese>投擲模式 (按住)</Chinese> <Chinese>投擲模式 (按住)</Chinese>
<Chinesesimp>投掷模式 (按住)</Chinesesimp> <Chinesesimp>投掷模式(按住)</Chinesesimp>
<Portuguese>Modo de Arremesso (Segurar)</Portuguese> <Portuguese>Modo de Arremesso (Segurar)</Portuguese>
<Czech>Mód puštění (Držet)</Czech> <Czech>Mód puštění (Držet)</Czech>
</Key> </Key>
@ -226,7 +226,7 @@
<French>Mode de lancé de l'objet (Basculer)</French> <French>Mode de lancé de l'objet (Basculer)</French>
<Italian>Modalità Oggetto lanciabile Gettabile (Interruttore)</Italian> <Italian>Modalità Oggetto lanciabile Gettabile (Interruttore)</Italian>
<Chinese>投擲模式 (切換)</Chinese> <Chinese>投擲模式 (切換)</Chinese>
<Chinesesimp>投掷模式 (切换)</Chinesesimp> <Chinesesimp>投掷模式(切换)</Chinesesimp>
<Portuguese>Modo de Arremesso (Alternar)</Portuguese> <Portuguese>Modo de Arremesso (Alternar)</Portuguese>
<Czech>Mód puštění (Přepnout)</Czech> <Czech>Mód puštění (Přepnout)</Czech>
</Key> </Key>
@ -241,7 +241,7 @@
<French>amorcée</French> <French>amorcée</French>
<Italian>Armato</Italian> <Italian>Armato</Italian>
<Chinese>引信開始燃燒</Chinese> <Chinese>引信開始燃燒</Chinese>
<Chinesesimp>引信开始燃烧</Chinesesimp> <Chinesesimp>已开引信</Chinesesimp>
<Portuguese>Preparado</Portuguese> <Portuguese>Preparado</Portuguese>
<Czech>Odjištěný</Czech> <Czech>Odjištěný</Czech>
</Key> </Key>
@ -272,7 +272,7 @@
<French>(Défilement) Changer de mode</French> <French>(Défilement) Changer de mode</French>
<Italian>(Scorrere) Cambio Modalità</Italian> <Italian>(Scorrere) Cambio Modalità</Italian>
<Chinese>(滾輪) 變更模式</Chinese> <Chinese>(滾輪) 變更模式</Chinese>
<Chinesesimp>(滚轮) 变更模式</Chinesesimp> <Chinesesimp>(滚轮)变更模式</Chinesesimp>
<Portuguese>(Roda do Mouse) Alternar modo</Portuguese> <Portuguese>(Roda do Mouse) Alternar modo</Portuguese>
<Czech>(Scrollovat) Změnit mód</Czech> <Czech>(Scrollovat) Změnit mód</Czech>
<Turkish>(Tekerlek) Modu Değiştir</Turkish> <Turkish>(Tekerlek) Modu Değiştir</Turkish>
@ -288,7 +288,7 @@
<French>(Défilement) Étendre</French> <French>(Défilement) Étendre</French>
<Italian>(Scorrere) Estendere</Italian> <Italian>(Scorrere) Estendere</Italian>
<Chinese>(滾輪) 延長</Chinese> <Chinese>(滾輪) 延長</Chinese>
<Chinesesimp>(滚轮) 延长</Chinesesimp> <Chinesesimp>(滚轮)延长</Chinesesimp>
<Portuguese>(Roda do Mouse) Extender</Portuguese> <Portuguese>(Roda do Mouse) Extender</Portuguese>
<Czech>(Scrollovat) Oddálit</Czech> <Czech>(Scrollovat) Oddálit</Czech>
<Turkish>(Tekerlek) Uzat</Turkish> <Turkish>(Tekerlek) Uzat</Turkish>
@ -304,7 +304,7 @@
<French>(Clique) Dégoupiller</French> <French>(Clique) Dégoupiller</French>
<Italian>(Click) Arma</Italian> <Italian>(Click) Arma</Italian>
<Chinese>(點擊) 提早拉開引信</Chinese> <Chinese>(點擊) 提早拉開引信</Chinese>
<Chinesesimp>(点击) 提早拉开引信</Chinesesimp> <Chinesesimp>(点击)提早拉开引信</Chinesesimp>
<Portuguese>(Clique) Cozinhar</Portuguese> <Portuguese>(Clique) Cozinhar</Portuguese>
<Czech>(Klik) Odjistit</Czech> <Czech>(Klik) Odjistit</Czech>
<Turkish>(Tıkla) Cook</Turkish> <Turkish>(Tıkla) Cook</Turkish>

View File

@ -9,3 +9,9 @@ class Extended_PreInit_EventHandlers {
init = QUOTE(call COMPILE_SCRIPT(XEH_preInit)); init = QUOTE(call COMPILE_SCRIPT(XEH_preInit));
}; };
}; };
class Extended_PostInit_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_postInit));
};
};

View File

@ -1,2 +1,6 @@
PREP(initEjectAction);
PREP(canShowEject); PREP(canShowEject);
PREP(droneAddActions);
PREP(droneGetTurretTargetPos);
PREP(droneModifyWaypoint);
PREP(droneSetWaypoint);
PREP(initEjectAction);

View File

@ -0,0 +1,8 @@
#include "script_component.hpp"
[QGVAR(droneModifyWaypoint), LINKFUNC(droneModifyWaypoint)] call CBA_fnc_addEventHandler;
[QGVAR(droneSetWaypoint), LINKFUNC(droneSetWaypoint)] call CBA_fnc_addEventHandler;
if (hasInterface) then {
["ACE_controlledUAV", LINKFUNC(droneAddActions)] call CBA_fnc_addEventHandler;
};

View File

@ -0,0 +1,121 @@
#include "script_component.hpp"
/*
* Author: PabstMirror
* Adds actions to a drone
*
* Arguments:
* 0: vehicle <OBJECT>
*
* Return Value:
* None
*
* Example:
* [v] call ace_aircraft_fnc_droneAddActions
*
* Public: No
*/
params ["_vehicle"];
TRACE_1("droneAddActions",_vehicle);
if (!alive _vehicle) exitWith {};
if (_vehicle getVariable [QGVAR(droneActionsAdded), false]) exitWith {};
_vehicle setVariable [QGVAR(droneActionsAdded), true];
// move to location
private _condition = {
params ["_vehicle"];
(missionNamespace getVariable [QGVAR(droneWaypoints), true]) && {waypointsEnabledUAV _vehicle} && {(ACE_controlledUAV select 2) isEqualTo [0]}
};
private _statement = {
params ["_vehicle"];
private _group = group driver _vehicle;
private _pos = ([_vehicle, [0]] call FUNC(droneGetTurretTargetPos)) select 0;
[QGVAR(droneSetWaypoint), [_vehicle, _group, _pos, "MOVE"], _group] call CBA_fnc_targetEvent;
};
private _action = [QGVAR(droneSetWaypointMove), localize "$STR_AC_MOVE",
"\a3\3DEN\Data\CfgWaypoints\Move_ca.paa", _statement, _condition] call EFUNC(interact_menu,createAction);
[_vehicle, 1, ["ACE_SelfActions"], _action] call EFUNC(interact_menu,addActionToObject);
if (_vehicle isKindOf "Air") then {
// loiter at location
_condition = {
params ["_vehicle"];
(missionNamespace getVariable [QGVAR(droneWaypoints), true]) && {waypointsEnabledUAV _vehicle} && {(ACE_controlledUAV select 2) isEqualTo [0]}
};
_statement = {
params ["_vehicle"];
private _group = group driver _vehicle;
private _pos = ([_vehicle, [0]] call FUNC(droneGetTurretTargetPos)) select 0;
[QGVAR(droneSetWaypoint), [_vehicle, _group, _pos, "LOITER"], _group] call CBA_fnc_targetEvent;
};
_action = [QGVAR(droneSetWaypointLoiter), localize "$STR_AC_LOITER",
"\a3\3DEN\Data\CfgWaypoints\Loiter_ca.paa", _statement, _condition] call EFUNC(interact_menu,createAction);
[_vehicle, 1, ["ACE_SelfActions"], _action] call EFUNC(interact_menu,addActionToObject);
// set height
_condition = {
params ["_vehicle"];
(missionNamespace getVariable [QGVAR(droneWaypoints), true]) && {waypointsEnabledUAV _vehicle} && {(ACE_controlledUAV select 2) isEqualTo [0]}
};
_statement = {
params ["_vehicle", "", "_args"];
private _group = group driver _vehicle;
[QGVAR(droneModifyWaypoint), [_vehicle, _group, "height", _args], _group] call CBA_fnc_targetEvent;
};
_action = [QGVAR(setAltitude), localize "$STR_3den_waypoint_attribute_loiteraltitude_displayname",
"", {}, _condition] call EFUNC(interact_menu,createAction);
private _base = [_vehicle, 1, ["ACE_SelfActions"], _action] call EFUNC(interact_menu,addActionToObject);
{
_action = [str _x, str _x, "", _statement, { true }, {}, _x] call EFUNC(interact_menu,createAction);
[_vehicle, 1, _base, _action] call EFUNC(interact_menu,addActionToObject);
} forEach [20, 50, 200, 500, 2000];
// set loiter radius
_condition = {
params ["_vehicle"];
private _group = group driver _vehicle;
private _index = (currentWaypoint _group) min count waypoints _group;
private _waypoint = [_group, _index];
(missionNamespace getVariable [QGVAR(droneWaypoints), true]) && {waypointsEnabledUAV _vehicle} && {(ACE_controlledUAV select 2) isEqualTo [0]}
&& {(waypointType _waypoint) == "LOITER"}
};
_statement = {
params ["_vehicle", "", "_args"];
private _group = group driver _vehicle;
[QGVAR(droneModifyWaypoint), [_vehicle, _group, "radius", _args], _group] call CBA_fnc_targetEvent;
};
_action = [QGVAR(lotierRadius), localize "$STR_3den_waypoint_attribute_loiterradius_displayname",
"", {}, _condition] call EFUNC(interact_menu,createAction);
_base = [_vehicle, 1, ["ACE_SelfActions"], _action] call EFUNC(interact_menu,addActionToObject);
{
_action = [str _x, str _x, "", _statement, { true }, {}, _x] call EFUNC(interact_menu,createAction);
[_vehicle, 1, _base, _action] call EFUNC(interact_menu,addActionToObject);
} forEach [500, 750, 1000, 1250, 1500];
// set loiter direction
_condition = {
params ["_vehicle", "", "_args"];
private _group = group driver _vehicle;
private _index = (currentWaypoint _group) min count waypoints _group;
private _waypoint = [_group, _index];
(missionNamespace getVariable [QGVAR(droneWaypoints), true]) && {waypointsEnabledUAV _vehicle} && {(ACE_controlledUAV select 2) isEqualTo [0]}
&& {(waypointType _waypoint) == "LOITER"} && {(waypointLoiterType _waypoint) != _args}
};
_statement = {
params ["_vehicle", "", "_args"];
private _group = group driver _vehicle;
[QGVAR(droneModifyWaypoint), [_vehicle, _group, "dir", _args], _group] call CBA_fnc_targetEvent;
};
_action = [QGVAR(lotierTypeR), localize "$STR_3den_waypoint_attribute_loiterdirection_displayname",
"\a3\3DEN\Data\Attributes\LoiterDirection\cw_ca.paa", _statement, _condition, {}, "CIRCLE"] call EFUNC(interact_menu,createAction);
[_vehicle, 1, ["ACE_SelfActions"], _action] call EFUNC(interact_menu,addActionToObject);
_action = [QGVAR(lotierTypeR), localize "$STR_3den_waypoint_attribute_loiterdirection_displayname",
"\a3\3DEN\Data\Attributes\LoiterDirection\ccw_ca.paa", _statement, _condition, {}, "CIRCLE_L"] call EFUNC(interact_menu,createAction);
[_vehicle, 1, ["ACE_SelfActions"], _action] call EFUNC(interact_menu,addActionToObject);
};

View File

@ -0,0 +1,46 @@
#include "script_component.hpp"
/*
* Author: PabstMirror
* Get drone's target location, if aimed at infinity it will return a virtual point
*
* Arguments:
* 0: vehicle <OBJECT>
*
* Return Value:
* [PosASL <ARRAY>, Real <BOOL>]
*
* Example:
* [v] call ace_aircraft_fnc_droneGetTurretTargetPos
*
* Public: No
*/
params ["_vehicle"];
private _turret = [0];
TRACE_2("droneGetTurretTargetPos",_vehicle,_turret);
private _turretConfig = [_vehicle, _turret] call CBA_fnc_getTurret;
private _gunBeg = _vehicle selectionPosition getText (_turretConfig >> "gunBeg");
private _gunEnd = _vehicle selectionPosition getText (_turretConfig >> "gunEnd");
if (_gunEnd isEqualTo _gunBeg) then {
// e.g. Darter doesn't have valid gunBeg/gunEnd
private _vehicleConfig = configOf _vehicle;
_gunBeg = _vehicle selectionPosition getText (_vehicleConfig >> "uavCameraGunnerDir");
_gunEnd = _vehicle selectionPosition getText (_vehicleConfig >> "uavCameraGunnerPos");
};
_gunBeg = AGLToASL (_vehicle modelToWorld _gunBeg);
_gunEnd = AGLToASL (_vehicle modelToWorld _gunEnd);
private _turretDir = _gunEnd vectorFromTo _gunBeg;
private _farPoint = _gunEnd vectorAdd (_turretDir vectorMultiply 4999);
private _intersections = lineIntersectsSurfaces [_gunEnd, _farPoint, _vehicle, objNull, true, 1];
if (_intersections isNotEqualTo []) then {
[_intersections select 0 select 0, true]
} else {
// Not looking at anything, just get a virtual point where the camera is pointing
_farPoint set [2, 0 max getTerrainHeightASL _farPoint];
[_farPoint, false]
};

View File

@ -0,0 +1,36 @@
#include "script_component.hpp"
/*
* Author: PabstMirror
* Modify the current waypoint of a drone
*
* Arguments:
* 0: Vehicle <OBJECT>
* 1: Group <GROUP>
* 2: Type <STRING>
* 3: Value <ANY>
*
* Return Value:
* None
*
* Example:
* [v, group v, "height", 2000] call ace_aircraft_fnc_droneModifyWaypoint
*
* Public: No
*/
params ["_vehicle", "_group", "_type", "_value"];
TRACE_4("droneModifyWaypoint",_vehicle,_group,_type,_value);
private _index = (currentWaypoint _group) min count waypoints _group;
private _waypoint = [_group, _index];
switch (toLower _type) do {
case ("height"): {
private _pos = waypointPosition _waypoint;
_pos set [2, _value];
_waypoint setWaypointPosition [_pos, 0];
_vehicle flyInHeight _value;
};
case ("radius"): { _waypoint setWaypointLoiterRadius _value; };
case ("dir"): { _waypoint setWaypointLoiterType _value; };
};
_group setCurrentWaypoint _waypoint;

View File

@ -0,0 +1,43 @@
#include "script_component.hpp"
/*
* Author: PabstMirror
* Set new waypoint of a drone
*
* Arguments:
* 0: Vehicle <OBJECT>
* 1: Group <GROUP>
* 2: Pos 2D <ARRAY>
* 3: Type <STRING>
*
* Return Value:
* None
*
* Example:
* [v, group v, [2000,5000], "LOITER"] call ace_aircraft_fnc_droneSetWaypoint
*
* Public: No
*/
params ["_vehicle", "_group", "_pos", "_type"];
TRACE_4("droneSetWaypoint",_vehicle,_group,_pos,_type);
private _index = (currentWaypoint _group) min count waypoints _group;
private _waypoint = [_group, _index];
// Try to save attributes from existing waypoint
private _currentHeight = round ((waypointPosition _waypoint) select 2);
private _currentLoiterRadius = waypointLoiterRadius _waypoint;
private _currentLoiterType = waypointLoiterType _waypoint;
// Set pos to ATL
_pos set [2, if (_currentHeight >= 50) then { _currentHeight } else { 0 }];
// [_group] call CBA_fnc_clearWaypoints;
_waypoint = _group addWaypoint [_pos, 0];
_waypoint setWaypointType _type;
TRACE_3("",_currentHeight,_currentLoiterRadius,_currentLoiterType);
if (_currentHeight > 1) then { _vehicle flyInHeight _currentHeight; };
if (_currentLoiterRadius > 1) then { _waypoint setWaypointLoiterRadius _currentLoiterRadius; };
if (_currentLoiterType != "") then { _waypoint setWaypointLoiterType _currentLoiterType; };
_group setCurrentWaypoint _waypoint;

View File

@ -56,6 +56,7 @@
<English>30mm High-Explosive Incendiary</English> <English>30mm High-Explosive Incendiary</English>
<Spanish>30mm Alto Explosivo Incendiaria</Spanish> <Spanish>30mm Alto Explosivo Incendiaria</Spanish>
<Chinese>30毫米高爆燃燒彈</Chinese> <Chinese>30毫米高爆燃燒彈</Chinese>
<Chinesesimp>30 mm 高爆燃烧</Chinesesimp>
<French>30 mm High-Explosive Incendiary</French> <French>30 mm High-Explosive Incendiary</French>
<Polish>30mm Odłamkowo-Burzące - Zapalające</Polish> <Polish>30mm Odłamkowo-Burzące - Zapalające</Polish>
<Turkish>30mm Yüksek Patlayıcı </Turkish> <Turkish>30mm Yüksek Patlayıcı </Turkish>
@ -63,11 +64,13 @@
<Japanese>30mm 焼夷りゅう弾</Japanese> <Japanese>30mm 焼夷りゅう弾</Japanese>
<Czech>30mm Tříštivo-trhavá zápalná střela</Czech> <Czech>30mm Tříštivo-trhavá zápalná střela</Czech>
<Russian>30мм Осколочно-Фугасный Зажигательный</Russian> <Russian>30мм Осколочно-Фугасный Зажигательный</Russian>
<Korean>30mm 고폭소이탄</Korean>
</Key> </Key>
<Key ID="STR_ACE_Aircraft_GatlingDescriptionShortHEI"> <Key ID="STR_ACE_Aircraft_GatlingDescriptionShortHEI">
<English>30mm HEI</English> <English>30mm HEI</English>
<Spanish>30mm AEI</Spanish> <Spanish>30mm AEI</Spanish>
<Chinese>30毫米高爆燃燒</Chinese> <Chinese>30毫米高爆燃燒</Chinese>
<Chinesesimp>30mm 高爆燃烧</Chinesesimp>
<French>30 mm HEI</French> <French>30 mm HEI</French>
<Polish>30mm OB-Z</Polish> <Polish>30mm OB-Z</Polish>
<Turkish>30mm HEI</Turkish> <Turkish>30mm HEI</Turkish>
@ -75,11 +78,13 @@
<Japanese>30mm HEI</Japanese> <Japanese>30mm HEI</Japanese>
<Czech>30mm HEI</Czech> <Czech>30mm HEI</Czech>
<Russian>30мм ОФЗ</Russian> <Russian>30мм ОФЗ</Russian>
<Korean>30mm HEI</Korean>
</Key> </Key>
<Key ID="STR_ACE_Aircraft_GatlingDescriptionAP"> <Key ID="STR_ACE_Aircraft_GatlingDescriptionAP">
<English>30mm DU Armor Piercing</English> <English>30mm DU Armor Piercing</English>
<Spanish>30mm UE Perforante de Blindaje</Spanish> <Spanish>30mm UE Perforante de Blindaje</Spanish>
<Chinese>30毫米貧化鈾穿甲彈 </Chinese> <Chinese>30毫米貧化鈾穿甲彈 </Chinese>
<Chinesesimp>30 mm 贫铀穿甲</Chinesesimp>
<French>30 mm UA Armor Piercing</French> <French>30 mm UA Armor Piercing</French>
<Polish>30mm Zubożony Uran - Przebijające</Polish> <Polish>30mm Zubożony Uran - Przebijające</Polish>
<Turkish>30mm DU Zırh Delici</Turkish> <Turkish>30mm DU Zırh Delici</Turkish>
@ -87,11 +92,13 @@
<Japanese>30mm DU 徹甲弾</Japanese> <Japanese>30mm DU 徹甲弾</Japanese>
<Czech>30mm Protipancéřová střela z ochuzeného Uranu</Czech> <Czech>30mm Protipancéřová střela z ochuzeného Uranu</Czech>
<Russian>30мм ОУ Бронебойный Снаряд</Russian> <Russian>30мм ОУ Бронебойный Снаряд</Russian>
<Korean>30mm 열화우라늄 철갑탄</Korean>
</Key> </Key>
<Key ID="STR_ACE_Aircraft_GatlingDescriptionShortAP"> <Key ID="STR_ACE_Aircraft_GatlingDescriptionShortAP">
<English>30mm DU AP</English> <English>30mm DU AP</English>
<Spanish>30mm UE AP</Spanish> <Spanish>30mm UE AP</Spanish>
<Chinese>30毫米貧鈾穿甲</Chinese> <Chinese>30毫米貧鈾穿甲</Chinese>
<Chinesesimp>30mm 贫铀穿甲</Chinesesimp>
<French>30 mm UA AP</French> <French>30 mm UA AP</French>
<Polish>30mm ZU-P</Polish> <Polish>30mm ZU-P</Polish>
<Turkish>30mm DU AP</Turkish> <Turkish>30mm DU AP</Turkish>
@ -99,11 +106,13 @@
<Japanese>30mm DU AP</Japanese> <Japanese>30mm DU AP</Japanese>
<Czech>30 mm DU AP</Czech> <Czech>30 mm DU AP</Czech>
<Russian>30мм ОУ БС</Russian> <Russian>30мм ОУ БС</Russian>
<Korean>30mm DU AP</Korean>
</Key> </Key>
<Key ID="STR_ACE_Aircraft_GatlingDescriptionCM41"> <Key ID="STR_ACE_Aircraft_GatlingDescriptionCM41">
<English>30mm Combat Mix 4:1 DU:HEI</English> <English>30mm Combat Mix 4:1 DU:HEI</English>
<Spanish>30mm Mezcla de Combate 4:1 UE:AEI</Spanish> <Spanish>30mm Mezcla de Combate 4:1 UE:AEI</Spanish>
<Chinese>30毫米戰鬥混合彈4:1 穿甲:高爆</Chinese> <Chinese>30毫米戰鬥混合彈4:1 穿甲:高爆</Chinese>
<Chinesesimp>30mm 战斗混合 穿甲/高爆 4:1</Chinesesimp>
<French>30 mm Mix de Combat 4:1 UA:HEI</French> <French>30 mm Mix de Combat 4:1 UA:HEI</French>
<Polish>30mm Mieszanka bojowa 4:1 ZU:OB-Z</Polish> <Polish>30mm Mieszanka bojowa 4:1 ZU:OB-Z</Polish>
<Turkish>30mm Combat Mix 4:1 DU:HEI</Turkish> <Turkish>30mm Combat Mix 4:1 DU:HEI</Turkish>
@ -111,11 +120,13 @@
<Japanese>30mm コンバット ミックス 4:1 DU:HEI</Japanese> <Japanese>30mm コンバット ミックス 4:1 DU:HEI</Japanese>
<Czech>30mm Bojový Mix 4:1 DU:HEI</Czech> <Czech>30mm Bojový Mix 4:1 DU:HEI</Czech>
<Russian>30мм Смешанное боепитание 4:1 ОУ:ОФЗ</Russian> <Russian>30мм Смешанное боепитание 4:1 ОУ:ОФЗ</Russian>
<Korean>30mm 4:1 열화:고폭소이</Korean>
</Key> </Key>
<Key ID="STR_ACE_Aircraft_GatlingDescriptionShortCM41"> <Key ID="STR_ACE_Aircraft_GatlingDescriptionShortCM41">
<English>30mm CM 4:1</English> <English>30mm CM 4:1</English>
<Spanish>30mm MC 4:1</Spanish> <Spanish>30mm MC 4:1</Spanish>
<Chinese>30毫米 穿高混合 4:1</Chinese> <Chinese>30毫米 穿高混合 4:1</Chinese>
<Chinesesimp>30mm 穿爆混合 4:1</Chinesesimp>
<French>30 mm MdC 4:1</French> <French>30 mm MdC 4:1</French>
<Polish>30mm MB 4:1</Polish> <Polish>30mm MB 4:1</Polish>
<Turkish>30mm CM 4:1</Turkish> <Turkish>30mm CM 4:1</Turkish>
@ -123,11 +134,13 @@
<Japanese>30mm CM 4:1</Japanese> <Japanese>30mm CM 4:1</Japanese>
<Czech>30mm BM 4:1</Czech> <Czech>30mm BM 4:1</Czech>
<Russian>30мм СБ 4:1</Russian> <Russian>30мм СБ 4:1</Russian>
<Korean>30mm CM 4:1</Korean>
</Key> </Key>
<Key ID="STR_ACE_Aircraft_GatlingDescriptionCM51"> <Key ID="STR_ACE_Aircraft_GatlingDescriptionCM51">
<English>30mm Combat Mix 5:1 DU:HEI</English> <English>30mm Combat Mix 5:1 DU:HEI</English>
<Spanish>30mm Mezcla de Combate 5:1 UE:AEI</Spanish> <Spanish>30mm Mezcla de Combate 5:1 UE:AEI</Spanish>
<Chinese>30毫米戰鬥混合彈5:1 穿甲:高爆</Chinese> <Chinese>30毫米戰鬥混合彈5:1 穿甲:高爆</Chinese>
<Chinesesimp>30 mm 战斗混合 穿甲/高爆 5:1</Chinesesimp>
<French>30 mm Mix de Combat 5:1 UA:HEI</French> <French>30 mm Mix de Combat 5:1 UA:HEI</French>
<Polish>30mm Mieszanka bojowa 5:1 ZU:OB-Z</Polish> <Polish>30mm Mieszanka bojowa 5:1 ZU:OB-Z</Polish>
<Turkish>30mm Combat Mix 5:1 DU:HEI</Turkish> <Turkish>30mm Combat Mix 5:1 DU:HEI</Turkish>
@ -135,11 +148,13 @@
<Japanese>30mm コンバット ミックス 5:1 DU:HEI</Japanese> <Japanese>30mm コンバット ミックス 5:1 DU:HEI</Japanese>
<Czech>30mm Bojový Mix 5:1 DU:HEI</Czech> <Czech>30mm Bojový Mix 5:1 DU:HEI</Czech>
<Russian>30мм Смешанное боепитание 5:1 ОУ:ОФЗ</Russian> <Russian>30мм Смешанное боепитание 5:1 ОУ:ОФЗ</Russian>
<Korean>30mm 5:1 열화:고폭소이</Korean>
</Key> </Key>
<Key ID="STR_ACE_Aircraft_GatlingDescriptionShortCM51"> <Key ID="STR_ACE_Aircraft_GatlingDescriptionShortCM51">
<English>30mm CM 5:1</English> <English>30mm CM 5:1</English>
<Spanish>30mm MC 5:1</Spanish> <Spanish>30mm MC 5:1</Spanish>
<Chinese>30毫米 穿高混合 5:1</Chinese> <Chinese>30毫米 穿高混合 5:1</Chinese>
<Chinesesimp>30mm 穿爆混合 5:1</Chinesesimp>
<French>30 mm MdC 5:1</French> <French>30 mm MdC 5:1</French>
<Polish>30mm MB 5:1</Polish> <Polish>30mm MB 5:1</Polish>
<Turkish>30mm CM 5:1</Turkish> <Turkish>30mm CM 5:1</Turkish>
@ -147,6 +162,7 @@
<Japanese>30mm CM 5:1</Japanese> <Japanese>30mm CM 5:1</Japanese>
<Czech>30mm BM 5:1</Czech> <Czech>30mm BM 5:1</Czech>
<Russian>30мм СБ 5:1</Russian> <Russian>30мм СБ 5:1</Russian>
<Korean>30mm CM 5:1</Korean>
</Key> </Key>
</Package> </Package>
</Project> </Project>

Binary file not shown.

Binary file not shown.

View File

@ -18,11 +18,14 @@ class CfgModels {
skeletonName = ""; skeletonName = "";
}; };
class ace_entrchtool: Default {}; class ace_entrchtool: Default {};
class ace_envelope_big: Default {}; class ace_envelope: Default {
class ace_envelope_big4: Default {}; sections[] = {"velka"};
class ace_envelope_big4_nogeo: Default {}; };
class ace_envelope_small: Default {}; class ace_envelope_big: ace_envelope {};
class ace_envelope_small4: Default {}; class ace_envelope_big4: ace_envelope {};
class ace_envelope_small4_nogeo: Default {}; class ace_envelope_big4_nogeo: ace_envelope {};
class ace_envelope_small: ace_envelope {};
class ace_envelope_small4: ace_envelope {};
class ace_envelope_small4_nogeo: ace_envelope {};
class LWTS_optic: Default {}; class LWTS_optic: Default {};
}; };

View File

@ -34,6 +34,7 @@ PREP(fillLeftPanel);
PREP(fillLoadoutsList); PREP(fillLoadoutsList);
PREP(fillRightPanel); PREP(fillRightPanel);
PREP(fillSort); PREP(fillSort);
PREP(getLoadout);
PREP(handleLoadoutsSearchbar); PREP(handleLoadoutsSearchbar);
PREP(handleMouse); PREP(handleMouse);
PREP(handleScrollWheel); PREP(handleScrollWheel);

View File

@ -59,10 +59,11 @@ GVAR(lastSortRight) = "";
if (!isNil QGVAR(currentLoadoutsTab) && {GVAR(currentLoadoutsTab) == IDC_buttonSharedLoadouts}) then { if (!isNil QGVAR(currentLoadoutsTab) && {GVAR(currentLoadoutsTab) == IDC_buttonSharedLoadouts}) then {
private _curSelData =_contentPanelCtrl lnbData [(lnbCurSelRow _contentPanelCtrl), 1]; private _curSelData =_contentPanelCtrl lnbData [(lnbCurSelRow _contentPanelCtrl), 1];
([_loadoutData] call FUNC(verifyLoadout)) params ["_loadout", "_nullItemsAmount", "_unavailableItemsAmount"]; ([_loadoutData] call FUNC(verifyLoadout)) params ["_extendedLoadout", "_nullItemsAmount", "_unavailableItemsAmount"];
private _newRow = _contentPanelCtrl lnbAddRow [_playerName, _loadoutName]; private _newRow = _contentPanelCtrl lnbAddRow [_playerName, _loadoutName];
_extendedLoadout params ["_loadout"];
ADD_LOADOUTS_LIST_PICTURES ADD_LOADOUTS_LIST_PICTURES
_contentPanelCtrl lnbSetData [[_newRow, 1], _playerName + _loadoutName]; _contentPanelCtrl lnbSetData [[_newRow, 1], _playerName + _loadoutName];
@ -85,3 +86,20 @@ GVAR(lastSortRight) = "";
}; };
}; };
}] call CBA_fnc_addEventHandler; }] call CBA_fnc_addEventHandler;
["CBA_loadoutSet", {
params ["_unit", "_loadout", "_extendedInfo"];
private _face = _extendedInfo getOrDefault [QGVAR(face), ""];
if (_face != "") then {
_unit setFace _face;
};
private _voice = _extendedInfo getOrDefault [QGVAR(voice), ""];
if (_voice != "") then {
_unit setSpeaker _voice;
};
private _insignia = _extendedInfo getOrDefault [QGVAR(insignia), ""];
if (_insignia != "") then {
_unit setVariable ["BIS_fnc_setUnitInsignia_class", nil];
[_unit, _insignia] call bis_fnc_setUnitInsignia;
};
}] call CBA_fnc_addEventHandler;

View File

@ -14,9 +14,13 @@ PREP_RECOMPILE_END;
[QGVAR(enableIdentityTabs), "CHECKBOX", localize LSTRING(enableIdentityTabsSettings), localize LSTRING(settingCategory), true, true] call CBA_fnc_addSetting; [QGVAR(enableIdentityTabs), "CHECKBOX", localize LSTRING(enableIdentityTabsSettings), localize LSTRING(settingCategory), true, true] call CBA_fnc_addSetting;
// Arsenal loadouts // Arsenal loadouts
[QGVAR(allowDefaultLoadouts), "CHECKBOX", [LSTRING(allowDefaultLoadoutsSetting), LSTRING(defaultLoadoutsTooltip)], localize LSTRING(settingCategory), true, true] call CBA_fnc_addSetting; [QGVAR(allowDefaultLoadouts), "CHECKBOX", [LSTRING(allowDefaultLoadoutsSetting), LSTRING(defaultLoadoutsTooltip)], [localize LSTRING(settingCategory), localize LSTRING(loadoutSubcategory)], true, true] call CBA_fnc_addSetting;
[QGVAR(allowSharedLoadouts), "CHECKBOX", localize LSTRING(allowSharingSetting), localize LSTRING(settingCategory), true, true] call CBA_fnc_addSetting; [QGVAR(allowSharedLoadouts), "CHECKBOX", localize LSTRING(allowSharingSetting), [localize LSTRING(settingCategory), localize LSTRING(loadoutSubcategory)], true, true] call CBA_fnc_addSetting;
[QGVAR(EnableRPTLog), "CHECKBOX", [LSTRING(printToRPTSetting), LSTRING(printToRPTTooltip)], localize LSTRING(settingCategory), false, false] call CBA_fnc_addSetting; [QGVAR(EnableRPTLog), "CHECKBOX", [LSTRING(printToRPTSetting), LSTRING(printToRPTTooltip)], [localize LSTRING(settingCategory), localize LSTRING(loadoutSubcategory)], false, false] call CBA_fnc_addSetting;
[QGVAR(loadoutsSaveFace), "CHECKBOX", localize LSTRING(loadoutsSaveFaceSetting), [localize LSTRING(settingCategory), localize LSTRING(loadoutSubcategory)], false] call CBA_fnc_addSetting;
[QGVAR(loadoutsSaveVoice), "CHECKBOX", localize LSTRING(loadoutsSaveVoiceSetting), [localize LSTRING(settingCategory), localize LSTRING(loadoutSubcategory)], false] call CBA_fnc_addSetting;
[QGVAR(loadoutsSaveInsignia), "CHECKBOX", localize LSTRING(loadoutsSaveInsigniaSetting), [localize LSTRING(settingCategory), localize LSTRING(loadoutSubcategory)], true] call CBA_fnc_addSetting;
[QGVAR(statsToggle), { [QGVAR(statsToggle), {
params ["_display", "_showStats"]; params ["_display", "_showStats"];

View File

@ -6,7 +6,7 @@
* *
* Arguments: * Arguments:
* 0: Name of loadout <STRING> * 0: Name of loadout <STRING>
* 1: getUnitLoadout array <ARRAY> * 1: CBA extended loadout or getUnitLoadout array <ARRAY>
* *
* Return Value: * Return Value:
* None * None
@ -17,7 +17,15 @@
* Public: Yes * Public: Yes
*/ */
params [["_name", "", [""]], ["_loadout", [], [[]], 10]]; params [["_name", "", [""]], ["_loadout", [], [[]]]];
private _extendedInfo = createHashMap;
if (count _loadout == 2) then {
_extendedInfo = _loadout select 1;
_loadout = _loadout select 0;
};
if (count _loadout != 10) exitWith {};
if (isNil QGVAR(defaultLoadoutsList)) then { if (isNil QGVAR(defaultLoadoutsList)) then {
GVAR(defaultLoadoutsList) = []; GVAR(defaultLoadoutsList) = [];
@ -71,7 +79,7 @@ for "_dataIndex" from 0 to 10 do {
private _baseWeapon = _weapon call BIS_fnc_baseWeapon; private _baseWeapon = _weapon call BIS_fnc_baseWeapon;
if (_weapon != _baseWeapon) then { if (_weapon != _baseWeapon) then {
(_x select 0)set [0, _baseWeapon]; (_x select 0) set [0, _baseWeapon];
}; };
}; };
}; };
@ -100,7 +108,7 @@ for "_dataIndex" from 0 to 10 do {
private _loadoutIndex = (+(GVAR(defaultLoadoutsList))) findIf {(_x select 0) == _name}; private _loadoutIndex = (+(GVAR(defaultLoadoutsList))) findIf {(_x select 0) == _name};
if (_loadoutIndex == -1) then { if (_loadoutIndex == -1) then {
GVAR(defaultLoadoutsList) pushBack [_name, _loadout]; GVAR(defaultLoadoutsList) pushBack [_name, [_loadout, _extendedInfo]];
} else { } else {
GVAR(defaultLoadoutsList) set [_loadoutIndex, [_name, _loadout]]; GVAR(defaultLoadoutsList) set [_loadoutIndex, [_name, [_loadout, _extendedInfo]]];
}; };

View File

@ -9,10 +9,10 @@
* 0: items only misc items <ARRAY of STRING> * 0: items only misc items <ARRAY of STRING>
* 1: tooltip <STRING> (Optional) * 1: tooltip <STRING> (Optional)
* 2: picture path <STRING> (Optional) * 2: picture path <STRING> (Optional)
* 3: override a spezific button (0-9) <NUMBER> (Optional) * 3: override a specific button (0-9) <NUMBER> (Optional)
* *
* Return Value: * Return Value:
* successful: number of the slot; error: -1 <NUMBER> * successful: number of the slot (0-9); error: -1 <NUMBER>
* *
* Example: * Example:
* [["ACE_bloodIV_500", "ACE_Banana"], "MedicalStuff", "\z\ace\addons\arsenal\data\iconCustom.paa", 5] call ace_arsenal_fnc_addRightPanelButton * [["ACE_bloodIV_500", "ACE_Banana"], "MedicalStuff", "\z\ace\addons\arsenal\data\iconCustom.paa", 5] call ace_arsenal_fnc_addRightPanelButton

View File

@ -43,7 +43,7 @@ if (GVAR(shiftState)) then {
[_display, localize LSTRING(exportDefault)] call FUNC(message); [_display, localize LSTRING(exportDefault)] call FUNC(message);
} else { } else {
private _export = str getUnitLoadout GVAR(center); private _export = str ([GVAR(center)] call FUNC(getLoadout));
"ace_clipboard" callExtension (_export + ";"); "ace_clipboard" callExtension (_export + ";");
"ace_clipboard" callExtension "--COMPLETE--"; "ace_clipboard" callExtension "--COMPLETE--";

View File

@ -39,8 +39,9 @@ if (GVAR(shiftState) && {is3DEN}) then {
set3DENMissionAttributes [[QGVAR(DummyCategory), QGVAR(DefaultLoadoutsListAttribute), GVAR(defaultLoadoutsList)]]; set3DENMissionAttributes [[QGVAR(DummyCategory), QGVAR(DefaultLoadoutsListAttribute), GVAR(defaultLoadoutsList)]];
} else { } else {
if (count _data == 10) then { private _count = count _data;
GVAR(center) setUnitLoadout _data; if (_count == 10 || { _count == 2 }) then {
[GVAR(center), _data] call CBA_fnc_setLoadout;
GVAR(currentItems) = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", [], [], [], [], [], []]; GVAR(currentItems) = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", [], [], [], [], [], []];
for "_index" from 0 to 15 do { for "_index" from 0 to 15 do {
@ -92,8 +93,19 @@ if (GVAR(shiftState) && {is3DEN}) then {
call FUNC(updateUniqueItemsList); call FUNC(updateUniqueItemsList);
// Reapply insignia // Reapply insignia
if (QGVAR(insignia) in _loadout#1) then {
GVAR(currentInsignia) = _loadout#1 getOrDefault [QGVAR(insignia), ""];
} else {
[GVAR(center), ""] call bis_fnc_setUnitInsignia; [GVAR(center), ""] call bis_fnc_setUnitInsignia;
[GVAR(center), GVAR(currentInsignia)] call bis_fnc_setUnitInsignia; [GVAR(center), GVAR(currentInsignia)] call bis_fnc_setUnitInsignia;
};
if (QGVAR(face) in _loadout#1) then {
GVAR(currentFace) = _loadout#1 getOrDefault [QGVAR(face), GVAR(currentFace)];
};
if (QGVAR(voice) in _loadout#1) then {
GVAR(currentVoice) = _loadout#1 getOrDefault [QGVAR(voice), GVAR(currentVoice)];
};
[_display, _display displayCtrl GVAR(currentLeftPanel)] call FUNC(fillLeftPanel); [_display, _display displayCtrl GVAR(currentLeftPanel)] call FUNC(fillLeftPanel);

View File

@ -34,7 +34,7 @@ private _loadout = switch GVAR(currentLoadoutsTab) do {
}; };
}; };
GVAR(center) setUnitLoadout [_loadout, true]; [GVAR(center), _loadout, true] call CBA_fnc_setLoadout;
GVAR(currentItems) = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", [], [], [], [], [], []]; GVAR(currentItems) = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", [], [], [], [], [], []];
for "_index" from 0 to 15 do { for "_index" from 0 to 15 do {
@ -91,9 +91,21 @@ for "_index" from 0 to 15 do {
call FUNC(updateUniqueItemsList); call FUNC(updateUniqueItemsList);
// Reapply insignia // Reapply insignia
[GVAR(center), ""] call bis_fnc_setUnitInsignia; if (QGVAR(insignia) in _loadout#1) then {
[GVAR(center), GVAR(currentInsignia)] call bis_fnc_setUnitInsignia; GVAR(currentInsignia) = _loadout#1 getOrDefault [QGVAR(insignia), ""];
} else {
[GVAR(center), ""] call bis_fnc_setUnitInsignia;
[GVAR(center), GVAR(currentInsignia)] call bis_fnc_setUnitInsignia;
};
if (QGVAR(face) in _loadout#1) then {
GVAR(currentFace) = _loadout#1 getOrDefault [QGVAR(face), GVAR(currentFace)];
};
if (QGVAR(voice) in _loadout#1) then {
GVAR(currentVoice) = _loadout#1 getOrDefault [QGVAR(voice), GVAR(currentVoice)];
};
[(findDisplay IDD_ace_arsenal), [localize LSTRING(loadoutLoaded), _loadoutName] joinString " "] call FUNC(message); [(findDisplay IDD_ace_arsenal), [localize LSTRING(loadoutLoaded), _loadoutName] joinString " "] call FUNC(message);
[QGVAR(onLoadoutLoad), [_loadout, _loadoutName]] call CBA_fnc_localEvent; [QGVAR(onLoadoutLoad), [_loadout#0, _loadoutName]] call CBA_fnc_localEvent;
[QGVAR(onLoadoutLoadExtended), [_loadout, _loadoutName]] call CBA_fnc_localEvent;

View File

@ -35,16 +35,17 @@ if (count _similarLoadouts > 0) exitWith {
// Update loadout info in profile / 3DEN and list namespaces // Update loadout info in profile / 3DEN and list namespaces
private _loadoutToRename = (_data select {_x select 0 == _loadoutName}) select 0; private _loadoutToRename = (_data select {_x select 0 == _loadoutName}) select 0;
(_contentPanelCtrl getVariable (_loadoutName + str GVAR(currentLoadoutsTab))) params ["_loadout", "_nullItemsAmount", "_unavailableItemsAmount", "_nullItemsList", "_unavailableItemsList"]; (_contentPanelCtrl getVariable (_loadoutName + str GVAR(currentLoadoutsTab))) params ["_extendedLoadout", "_nullItemsAmount", "_unavailableItemsAmount", "_nullItemsList", "_unavailableItemsList"];
_data set [_data find _loadoutToRename, [_editBoxContent, (_loadoutToRename select 1)]]; _data set [_data find _loadoutToRename, [_editBoxContent, (_loadoutToRename select 1)]];
_contentPanelCtrl setVariable [_loadoutName + str GVAR(currentLoadoutsTab), nil]; _contentPanelCtrl setVariable [_loadoutName + str GVAR(currentLoadoutsTab), nil];
_contentPanelCtrl setVariable [_editBoxContent + str GVAR(currentLoadoutsTab), [_loadout, _nullItemsAmount, _unavailableItemsAmount, _nullItemsList, _unavailableItemsList]]; _contentPanelCtrl setVariable [_editBoxContent + str GVAR(currentLoadoutsTab), [_extendedLoadout, _nullItemsAmount, _unavailableItemsAmount, _nullItemsList, _unavailableItemsList]];
// Add new row // Add new row
_contentPanelCtrl lnbDeleteRow _curSelRow; _contentPanelCtrl lnbDeleteRow _curSelRow;
private _newRow = _contentPanelCtrl lnbAddRow ["",_editBoxContent]; private _newRow = _contentPanelCtrl lnbAddRow ["",_editBoxContent];
_extendedLoadout params ["_loadout"];
ADD_LOADOUTS_LIST_PICTURES ADD_LOADOUTS_LIST_PICTURES
if (_nullItemsAmount > 0) then { if (_nullItemsAmount > 0) then {

View File

@ -31,7 +31,8 @@ private _cursSelRow = lnbCurSelRow _contentPanelCtrl;
private _loadoutName = _contentPanelCtrl lnbText [_cursSelRow, 1]; private _loadoutName = _contentPanelCtrl lnbText [_cursSelRow, 1];
private _curSelLoadout = (_contentPanelCtrl getVariable (_loadoutName + str GVAR(currentLoadoutsTab))) select 0; private _curSelLoadout = (_contentPanelCtrl getVariable (_loadoutName + str GVAR(currentLoadoutsTab))) select 0;
private _loadout = getUnitLoadout GVAR(center); private _extendedLoadout = GVAR(center) call FUNC(getLoadout);
private _loadout = _loadout select 0;
private _loadoutIndex = _data findIf {(_x select 0) == _editBoxContent}; private _loadoutIndex = _data findIf {(_x select 0) == _editBoxContent};
private _sharedLoadoutsVars = GVAR(sharedLoadoutsNamespace) getVariable QGVAR(sharedLoadoutsVars); private _sharedLoadoutsVars = GVAR(sharedLoadoutsNamespace) getVariable QGVAR(sharedLoadoutsVars);
@ -135,9 +136,9 @@ switch (GVAR(currentLoadoutsTab)) do {
}; };
if (_loadoutIndex isEqualto -1) then { if (_loadoutIndex isEqualto -1) then {
_data pushBack [_editBoxContent, _loadout]; _data pushBack [_editBoxContent, _extendedLoadout];
} else { } else {
_data set [_loadoutIndex, [[_editBoxContent, _loadoutName] select (_loadoutName isEqualTo _editBoxContent), _loadout]]; _data set [_loadoutIndex, [[_editBoxContent, _loadoutName] select (_loadoutName isEqualTo _editBoxContent), _extendedLoadout]];
}; };
// Delete "old" loadout row // Delete "old" loadout row
@ -149,7 +150,7 @@ switch (GVAR(currentLoadoutsTab)) do {
ADD_LOADOUTS_LIST_PICTURES ADD_LOADOUTS_LIST_PICTURES
_contentPanelCtrl setVariable [_editBoxContent + str GVAR(currentLoadoutsTab), [_loadout] call FUNC(verifyLoadout)]; _contentPanelCtrl setVariable [_editBoxContent + str GVAR(currentLoadoutsTab), [_extendedLoadout] call FUNC(verifyLoadout)];
_contentPanelCtrl lnbSort [1, false]; _contentPanelCtrl lnbSort [1, false];
@ -243,9 +244,9 @@ switch (GVAR(currentLoadoutsTab)) do {
}; };
if (_loadoutIndex == -1) then { if (_loadoutIndex == -1) then {
GVAR(defaultLoadoutsList) pushBack [_editBoxContent, _loadout]; GVAR(defaultLoadoutsList) pushBack [_editBoxContent, _extendedLoadout];
} else { } else {
GVAR(defaultLoadoutsList) set [_loadoutIndex, [[_editBoxContent, _loadoutName] select (_loadoutName isEqualTo _editBoxContent), _loadout]]; GVAR(defaultLoadoutsList) set [_loadoutIndex, [[_editBoxContent, _loadoutName] select (_loadoutName isEqualTo _editBoxContent), _extendedLoadout]];
}; };
for '_i' from 0 to (((lnbsize _contentPanelCtrl) select 0) - 1) do { for '_i' from 0 to (((lnbsize _contentPanelCtrl) select 0) - 1) do {
@ -256,7 +257,7 @@ switch (GVAR(currentLoadoutsTab)) do {
ADD_LOADOUTS_LIST_PICTURES ADD_LOADOUTS_LIST_PICTURES
_contentPanelCtrl setVariable [_editBoxContent + str GVAR(currentLoadoutsTab), [_loadout] call FUNC(verifyLoadout)]; _contentPanelCtrl setVariable [_editBoxContent + str GVAR(currentLoadoutsTab), [_extendedLoadout] call FUNC(verifyLoadout)];
_contentPanelCtrl lnbSort [1, false]; _contentPanelCtrl lnbSort [1, false];
@ -295,4 +296,5 @@ switch (GVAR(currentLoadoutsTab)) do {
}; };
[(findDisplay IDD_ace_arsenal), [localize LSTRING(loadoutSaved), _editBoxContent] joinString " "] call FUNC(message); [(findDisplay IDD_ace_arsenal), [localize LSTRING(loadoutSaved), _editBoxContent] joinString " "] call FUNC(message);
private _savedLoadout = (_data select {_x select 0 == _editBoxContent}) select 0; private _savedLoadout = (_data select {_x select 0 == _editBoxContent}) select 0;
[QGVAR(onLoadoutSave), [_data find _savedLoadout, _savedLoadout]] call CBA_fnc_localEvent; [QGVAR(onLoadoutSave), [_data find _savedLoadout, _savedLoadout#0]] call CBA_fnc_localEvent;
[QGVAR(onLoadoutSaveExtended), [_data find _savedLoadout, _savedLoadout]] call CBA_fnc_localEvent;

View File

@ -44,7 +44,7 @@ if (GVAR(currentLoadoutsTab) != IDC_buttonSharedLoadouts) then {
[_loadoutData] call FUNC(verifyLoadout) [_loadoutData] call FUNC(verifyLoadout)
} else { } else {
_loadoutCachedInfo _loadoutCachedInfo
} params ["_loadout", "_nullItemsAmount", "_unavailableItemsAmount", "_nullItemsList", "_unavailableItemsList"]; } params ["_extendedLoadout", "_nullItemsAmount", "_unavailableItemsAmount", "_nullItemsList", "_unavailableItemsList"];
// Log missing / nil items to RPT // Log missing / nil items to RPT
if (GVAR(EnableRPTLog) && {isNil "_loadoutCachedInfo"} && {(_nullItemsAmount > 0) || {_unavailableItemsAmount > 0}}) then { if (GVAR(EnableRPTLog) && {isNil "_loadoutCachedInfo"} && {(_nullItemsAmount > 0) || {_unavailableItemsAmount > 0}}) then {
@ -64,6 +64,7 @@ if (GVAR(currentLoadoutsTab) != IDC_buttonSharedLoadouts) then {
private _newRow = _contentPanelCtrl lnbAddRow ["",_loadoutName]; private _newRow = _contentPanelCtrl lnbAddRow ["",_loadoutName];
_extendedLoadout params ["_loadout"];
ADD_LOADOUTS_LIST_PICTURES ADD_LOADOUTS_LIST_PICTURES
if (_nullItemsAmount > 0) then { if (_nullItemsAmount > 0) then {
@ -76,7 +77,7 @@ if (GVAR(currentLoadoutsTab) != IDC_buttonSharedLoadouts) then {
}; };
}; };
_contentPanelCtrl setVariable [_loadoutName + str GVAR(currentLoadoutsTab), [_loadout, _nullItemsAmount, _unavailableItemsAmount, _nullItemsList, _unavailableItemsList]]; _contentPanelCtrl setVariable [_loadoutName + str GVAR(currentLoadoutsTab), [_extendedLoadout, _nullItemsAmount, _unavailableItemsAmount, _nullItemsList, _unavailableItemsList]];
if ((profileName + _loadoutName) in _sharedLoadoutsVars && {GVAR(currentLoadoutsTab) == IDC_buttonMyLoadouts}) then { if ((profileName + _loadoutName) in _sharedLoadoutsVars && {GVAR(currentLoadoutsTab) == IDC_buttonMyLoadouts}) then {
_contentPanelCtrl lnbSetPicture [[_newRow, 0], QPATHTOF(data\iconPublic.paa)]; _contentPanelCtrl lnbSetPicture [[_newRow, 0], QPATHTOF(data\iconPublic.paa)];
@ -99,11 +100,12 @@ if (GVAR(currentLoadoutsTab) != IDC_buttonSharedLoadouts) then {
[QGVAR(loadoutUnshared), [_contentPanelCtrl, profileName, _loadoutName]] call CBA_fnc_remoteEvent; [QGVAR(loadoutUnshared), [_contentPanelCtrl, profileName, _loadoutName]] call CBA_fnc_remoteEvent;
} else { } else {
([_loadoutData] call FUNC(verifyLoadout)) params ["_loadout", "_nullItemsAmount", "_unavailableItemsAmount"]; ([_loadoutData] call FUNC(verifyLoadout)) params ["_extendedLoadout", "_nullItemsAmount", "_unavailableItemsAmount"];
_contentPanelCtrl lnbSetColumnsPos [0, 0.15, 0.40, 0.50, 0.60, 0.70, 0.75, 0.80, 0.85, 0.90]; _contentPanelCtrl lnbSetColumnsPos [0, 0.15, 0.40, 0.50, 0.60, 0.70, 0.75, 0.80, 0.85, 0.90];
private _newRow = _contentPanelCtrl lnbAddRow [_playerName, _loadoutName]; private _newRow = _contentPanelCtrl lnbAddRow [_playerName, _loadoutName];
_extendedLoadout params ["_loadout"];
ADD_LOADOUTS_LIST_PICTURES ADD_LOADOUTS_LIST_PICTURES
_contentPanelCtrl lnbSetData [[_newRow, 1], _playerName + _loadoutName]; _contentPanelCtrl lnbSetData [[_newRow, 1], _playerName + _loadoutName];

View File

@ -89,7 +89,7 @@ private _compatibleMagazines = [[[], []], [[], []], [[], []]];
// Magazine groups // Magazine groups
{ {
private _magazineGroups = uiNamespace getVariable [QGVAR(magazineGroups),["#CBA_HASH#",[],[],[]]]; private _magazineGroups = uiNamespace getVariable [QGVAR(magazineGroups), createHashMap];
private _magArray = _magazineGroups get (toLower _x); private _magArray = _magazineGroups get (toLower _x);
{((_compatibleMagazines select _index) select _subIndex) pushBackUnique _x} forEach _magArray; {((_compatibleMagazines select _index) select _subIndex) pushBackUnique _x} forEach _magArray;
} foreach ([getArray (_weaponConfig >> _x >> "magazineWell"), getArray (_weaponConfig >> "magazineWell")] select (_x == "this")); } foreach ([getArray (_weaponConfig >> _x >> "magazineWell"), getArray (_weaponConfig >> "magazineWell")] select (_x == "this"));

View File

@ -0,0 +1,37 @@
#include "script_component.hpp"
/*
* Author: Brett Mayson
* Get the extended loadout of a unit, including identity options if enabled
*
* Arguments:
* 0: Unit <OBJECT>
*
* Return Value:
* CBA Extended Loadout <ARRAY>
*
* Example:
* [_unit] call ace_arsenal_fnc_getLoadout
*
* Public: Yes
*/
params [["_unit", objNull, [objNull]]];
if (isNull _unit) exitWith {};
([_unit] call CBA_fnc_getLoadout) params ["_loadout", "_extendedInfo"];
if (GVAR(loadoutsSaveFace)) then {
_extendedInfo set [QGVAR(face), face _unit];
};
if (GVAR(loadoutsSaveVoice)) then {
_extendedInfo set [QGVAR(voice), speaker _unit];
};
if (GVAR(loadoutsSaveInsignia)) then {
private _insignia = _unit getVariable ["BIS_fnc_setUnitInsignia_class", ""];
if (_insignia != "") then {
_extendedInfo set [QGVAR(insignia), _insignia];
};
};
[_loadout, _extendedInfo]

View File

@ -32,7 +32,7 @@ if (is3DEN) then {
// Apply the loadout from the dummy to all selected units // Apply the loadout from the dummy to all selected units
if (_exitCode == 1) then { if (_exitCode == 1) then {
{ {
_x setUnitLoadout (getUnitLoadout GVAR(center)); [_x, GVAR(center) call FUNC(getLoadout)] call CBA_fnc_setLoadout;
} foreach (get3DENSelected "object"); } foreach (get3DENSelected "object");
save3DENInventory (get3DENSelected "object"); save3DENInventory (get3DENSelected "object");

View File

@ -29,10 +29,15 @@ private _containerDefaultRightPanel = _display displayCtrl IDC_buttonMisc;
private _selectCorrectPanelContainer = [_containerDefaultRightPanel, _display displayCtrl GVAR(currentRightPanel)] select (!isNil QGVAR(currentRightPanel) && {GVAR(currentRightPanel) in [RIGHT_PANEL_ITEMS_IDCS]}); private _selectCorrectPanelContainer = [_containerDefaultRightPanel, _display displayCtrl GVAR(currentRightPanel)] select (!isNil QGVAR(currentRightPanel) && {GVAR(currentRightPanel) in [RIGHT_PANEL_ITEMS_IDCS]});
private _fnc_clearPreviousWepMags = { private _fnc_clearPreviousWepMags = {
private _compatibleMags = getArray (configfile >> "cfgweapons" >> _baseWeapon >> "magazines"); private _compatibleMagsBaseWeapon = [_baseWeapon, true] call CBA_fnc_compatibleMagazines;
if (_item != "") then {
_compatibleMagsBaseWeapon = _compatibleMagsBaseWeapon select {!(_x in _compatibleMags)};
};
{ {
GVAR(center) removeMagazines _x; GVAR(center) removeMagazines _x;
} foreach _compatibleMags; } foreach _compatibleMagsBaseWeapon;
GVAR(currentItems) set [15, uniformItems GVAR(center)]; GVAR(currentItems) set [15, uniformItems GVAR(center)];
GVAR(currentItems) set [16, vestItems GVAR(center)]; GVAR(currentItems) set [16, vestItems GVAR(center)];
@ -54,14 +59,15 @@ switch (GVAR(currentLeftPanel)) do {
TOGGLE_RIGHT_PANEL_HIDE TOGGLE_RIGHT_PANEL_HIDE
} else { } else {
if ((GVAR(currentItems) select 0) != _item && {_baseWeapon != _item}) then { if ((GVAR(currentItems) select 0) != _item && {_baseWeapon != _item}) then {
call _fnc_clearPreviousWepMags;
private _compatibleItems = (_item call bis_fnc_compatibleItems) apply {tolower _x}; private _compatibleItems = (_item call bis_fnc_compatibleItems) apply {tolower _x};
private _cfgMags = configFile >> "CfgMagazines"; private _cfgMags = configFile >> "CfgMagazines";
private _compatibleMags = ([_item, true] call CBA_fnc_compatibleMagazines) select { getNumber (_cfgMags >> _x >> "scope") == 2 }; private _compatibleMags = ([_item, true] call CBA_fnc_compatibleMagazines) select { getNumber (_cfgMags >> _x >> "scope") == 2 };
GVAR(center) addWeapon _item;
call _fnc_clearPreviousWepMags;
[GVAR(center), _item] call CBA_fnc_addWeaponWithoutItems;
if (_compatibleMags isNotEqualTo []) then { if (_compatibleMags isNotEqualTo []) then {
GVAR(center) addWeaponItem [_item, [_compatibleMags select 0]]; GVAR(center) addWeaponItem [_item, [_compatibleMags select 0], true];
}; };
{ {
@ -96,14 +102,15 @@ switch (GVAR(currentLeftPanel)) do {
TOGGLE_RIGHT_PANEL_HIDE TOGGLE_RIGHT_PANEL_HIDE
} else { } else {
if ((GVAR(currentItems) select 2) != _item && {_baseWeapon != _item}) then { if ((GVAR(currentItems) select 2) != _item && {_baseWeapon != _item}) then {
call _fnc_clearPreviousWepMags;
private _compatibleItems = (_item call bis_fnc_compatibleItems) apply {tolower _x}; private _compatibleItems = (_item call bis_fnc_compatibleItems) apply {tolower _x};
private _cfgMags = configFile >> "CfgMagazines"; private _cfgMags = configFile >> "CfgMagazines";
private _compatibleMags = ([_item, true] call CBA_fnc_compatibleMagazines) select { getNumber (_cfgMags >> _x >> "scope") == 2 }; private _compatibleMags = ([_item, true] call CBA_fnc_compatibleMagazines) select { getNumber (_cfgMags >> _x >> "scope") == 2 };
GVAR(center) addWeapon _item;
call _fnc_clearPreviousWepMags;
[GVAR(center), _item] call CBA_fnc_addWeaponWithoutItems;
if (_compatibleMags isNotEqualTo []) then { if (_compatibleMags isNotEqualTo []) then {
GVAR(center) addWeaponItem [_item, [_compatibleMags select 0]]; GVAR(center) addWeaponItem [_item, [_compatibleMags select 0], true];
}; };
{ {
@ -137,14 +144,15 @@ switch (GVAR(currentLeftPanel)) do {
TOGGLE_RIGHT_PANEL_HIDE TOGGLE_RIGHT_PANEL_HIDE
} else { } else {
if ((GVAR(currentItems) select 1) != _item && {_baseWeapon != _item}) then { if ((GVAR(currentItems) select 1) != _item && {_baseWeapon != _item}) then {
call _fnc_clearPreviousWepMags;
private _compatibleItems = (_item call bis_fnc_compatibleItems) apply {tolower _x}; private _compatibleItems = (_item call bis_fnc_compatibleItems) apply {tolower _x};
private _cfgMags = configFile >> "CfgMagazines"; private _cfgMags = configFile >> "CfgMagazines";
private _compatibleMags = ([_item, true] call CBA_fnc_compatibleMagazines) select { getNumber (_cfgMags >> _x >> "scope") == 2 }; private _compatibleMags = ([_item, true] call CBA_fnc_compatibleMagazines) select { getNumber (_cfgMags >> _x >> "scope") == 2 };
GVAR(center) addWeapon _item;
call _fnc_clearPreviousWepMags;
[GVAR(center), _item] call CBA_fnc_addWeaponWithoutItems;
if (_compatibleMags isNotEqualTo []) then { if (_compatibleMags isNotEqualTo []) then {
GVAR(center) addWeaponItem [_item, [_compatibleMags select 0]]; GVAR(center) addWeaponItem [_item, [_compatibleMags select 0], true];
}; };
{ {

View File

@ -33,7 +33,7 @@ private _fnc_selectItem = {
private _primaryMags = primaryWeaponMagazine GVAR(center); private _primaryMags = primaryWeaponMagazine GVAR(center);
GVAR(currentItems) set [18, (primaryWeaponItems GVAR(center)) + ([_primaryMags + [""], _primaryMags] select (count _primaryMags > 1))]; GVAR(currentItems) set [18, (primaryWeaponItems GVAR(center)) + ([_primaryMags + [""], _primaryMags] select (count _primaryMags > 1))];
} else { } else {
GVAR(center) addPrimaryWeaponItem _item; GVAR(center) addWeaponItem [primaryWeapon GVAR(center), _item, true];
private _primaryMags = primaryWeaponMagazine GVAR(center); private _primaryMags = primaryWeaponMagazine GVAR(center);
GVAR(currentItems) set [18, (primaryWeaponItems GVAR(center)) + ([_primaryMags + [""], _primaryMags] select (count _primaryMags > 1))]; GVAR(currentItems) set [18, (primaryWeaponItems GVAR(center)) + ([_primaryMags + [""], _primaryMags] select (count _primaryMags > 1))];
}; };
@ -47,7 +47,7 @@ private _fnc_selectItem = {
private _secondaryMags = secondaryWeaponMagazine GVAR(center); private _secondaryMags = secondaryWeaponMagazine GVAR(center);
GVAR(currentItems) set [19, (secondaryWeaponItems GVAR(center)) + ([_secondaryMags + [""], _secondaryMags] select (count _secondaryMags > 1))]; GVAR(currentItems) set [19, (secondaryWeaponItems GVAR(center)) + ([_secondaryMags + [""], _secondaryMags] select (count _secondaryMags > 1))];
} else { } else {
GVAR(center) addSecondaryWeaponItem _item; GVAR(center) addWeaponItem [secondaryWeapon GVAR(center), _item, true];
private _secondaryMags = secondaryWeaponMagazine GVAR(center); private _secondaryMags = secondaryWeaponMagazine GVAR(center);
GVAR(currentItems) set [19, (secondaryWeaponItems GVAR(center)) + ([_secondaryMags + [""], _secondaryMags] select (count _secondaryMags > 1))]; GVAR(currentItems) set [19, (secondaryWeaponItems GVAR(center)) + ([_secondaryMags + [""], _secondaryMags] select (count _secondaryMags > 1))];
}; };
@ -60,7 +60,7 @@ private _fnc_selectItem = {
private _handgunMags = handgunMagazine GVAR(center); private _handgunMags = handgunMagazine GVAR(center);
GVAR(currentItems) set [20, (handgunItems GVAR(center)) + ([_handgunMags + [""], _handgunMags] select (count _handgunMags > 1))]; GVAR(currentItems) set [20, (handgunItems GVAR(center)) + ([_handgunMags + [""], _handgunMags] select (count _handgunMags > 1))];
} else { } else {
GVAR(center) addHandgunItem _item; GVAR(center) addWeaponItem [handgunWeapon GVAR(center), _item, true];
private _handgunMags = handgunMagazine GVAR(center); private _handgunMags = handgunMagazine GVAR(center);
GVAR(currentItems) set [20, (handgunItems GVAR(center)) + ([_handgunMags + [""], _handgunMags] select (count _handgunMags > 1))]; GVAR(currentItems) set [20, (handgunItems GVAR(center)) + ([_handgunMags + [""], _handgunMags] select (count _handgunMags > 1))];
}; };

View File

@ -5,7 +5,7 @@
* Verify the provided loadout. * Verify the provided loadout.
* *
* Arguments: * Arguments:
* 0: Loadout <ARRAY> (getUnitLoadout format) * 0: Loadout <ARRAY> (CBA Extended Loadout or getUnitLoadout format)
* *
* Return Value: * Return Value:
* Verified loadout and missing / unavailable items list and count <ARRAY> * Verified loadout and missing / unavailable items list and count <ARRAY>
@ -15,6 +15,14 @@
params ["_loadout"]; params ["_loadout"];
private _extendedInfo = createHashMap;
// Check if the provided loadout is a CBA extended loadout
if (count _loadout == 2) then {
_extendedInfo = _loadout select 1;
_loadout = _loadout select 0;
};
private _weaponCfg = configFile >> "CfgWeapons"; private _weaponCfg = configFile >> "CfgWeapons";
private _magCfg = configFile >> "CfgMagazines"; private _magCfg = configFile >> "CfgMagazines";
private _vehcCfg = configFile >> "CfgVehicles"; private _vehcCfg = configFile >> "CfgVehicles";
@ -236,4 +244,4 @@ for "_dataIndex" from 0 to 9 do {
}; };
}; };
[_loadout, _nullItemsAmount, _unavailableItemsAmount, _nullItemsList, _unavailableItemsList] [[_loadout, _extendedInfo], _nullItemsAmount, _unavailableItemsAmount, _nullItemsList, _unavailableItemsList]

View File

@ -54,7 +54,7 @@ cba_diagnostic_projectileMaxLines = 10;
] call BIS_fnc_GUImessage; ] call BIS_fnc_GUImessage;
if (_return) then { if (_return) then {
profileNamespace setVariable [QGVAR(missionLastLoadout), getUnitLoadout player]; profileNamespace setVariable [QGVAR(missionLastLoadout), [player] call CBA_fnc_getLoadout];
_display closeDisplay 2; _display closeDisplay 2;
findDisplay 46 closeDisplay 0; findDisplay 46 closeDisplay 0;
}; };

View File

@ -5,7 +5,7 @@ params ["_unit"];
private _loadout = profileNamespace getVariable QGVAR(missionLastLoadout); private _loadout = profileNamespace getVariable QGVAR(missionLastLoadout);
if (!isNil "_loadout") then { if (!isNil "_loadout") then {
_unit setUnitLoadout _loadout; [_unit, _loadout] call CBA_fnc_setLoadout;
}; };
_unit allowDamage false; _unit allowDamage false;

View File

@ -27,7 +27,7 @@
<Italian>Nascondi interfaccia</Italian> <Italian>Nascondi interfaccia</Italian>
<Korean>인터페이스 숨기기</Korean> <Korean>인터페이스 숨기기</Korean>
<Chinese>隱藏介面</Chinese> <Chinese>隱藏介面</Chinese>
<Chinesesimp>隐藏</Chinesesimp> <Chinesesimp>隐藏</Chinesesimp>
<Russian>Скрыть интерфейс</Russian> <Russian>Скрыть интерфейс</Russian>
<Portuguese>Oculta a Interface</Portuguese> <Portuguese>Oculta a Interface</Portuguese>
<Czech>Skrýt rozhraní</Czech> <Czech>Skrýt rozhraní</Czech>
@ -43,7 +43,7 @@
<Italian>Equipaggiamenti</Italian> <Italian>Equipaggiamenti</Italian>
<Korean>로드아웃</Korean> <Korean>로드아웃</Korean>
<Chinese>裝備</Chinese> <Chinese>裝備</Chinese>
<Chinesesimp>装备</Chinesesimp> <Chinesesimp>负载</Chinesesimp>
<Russian>Комплекты</Russian> <Russian>Комплекты</Russian>
<Portuguese>Loadouts</Portuguese> <Portuguese>Loadouts</Portuguese>
<Czech>Sady vybavení</Czech> <Czech>Sady vybavení</Czech>
@ -59,7 +59,7 @@
<Italian>Esporta</Italian> <Italian>Esporta</Italian>
<Korean>내보내기</Korean> <Korean>내보내기</Korean>
<Chinese>匯出</Chinese> <Chinese>匯出</Chinese>
<Chinesesimp></Chinesesimp> <Chinesesimp></Chinesesimp>
<Russian>Экспорт</Russian> <Russian>Экспорт</Russian>
<Portuguese>Exportar</Portuguese> <Portuguese>Exportar</Portuguese>
<Czech>Export</Czech> <Czech>Export</Czech>
@ -75,7 +75,7 @@
<Italian>Importa</Italian> <Italian>Importa</Italian>
<Korean>가져오기</Korean> <Korean>가져오기</Korean>
<Chinese>匯入</Chinese> <Chinese>匯入</Chinese>
<Chinesesimp></Chinesesimp> <Chinesesimp></Chinesesimp>
<Russian>Импорт</Russian> <Russian>Импорт</Russian>
<Portuguese>Importar</Portuguese> <Portuguese>Importar</Portuguese>
<Czech>Import</Czech> <Czech>Import</Czech>
@ -139,7 +139,7 @@
<Italian>Salva l'equipaggiamento corrente</Italian> <Italian>Salva l'equipaggiamento corrente</Italian>
<Korean>현재 로드아웃 저장</Korean> <Korean>현재 로드아웃 저장</Korean>
<Chinese>保存當前的裝備</Chinese> <Chinese>保存當前的裝備</Chinese>
<Chinesesimp>保存当前的装备</Chinesesimp> <Chinesesimp>保存当前的负载</Chinesesimp>
<Russian>Сохранить текущий комплект экипировки</Russian> <Russian>Сохранить текущий комплект экипировки</Russian>
<Portuguese>Salva o loadout atual</Portuguese> <Portuguese>Salva o loadout atual</Portuguese>
<Czech>Uložit současnou sadu vybavení</Czech> <Czech>Uložit současnou sadu vybavení</Czech>
@ -155,9 +155,11 @@
<Portuguese>[Shift+Clique para salvar nos padrões da missão]</Portuguese> <Portuguese>[Shift+Clique para salvar nos padrões da missão]</Portuguese>
<French>[Shift+Clic pour enregistrer en tant qu'équipement prédéfini.]</French> <French>[Shift+Clic pour enregistrer en tant qu'équipement prédéfini.]</French>
<Chinese>[Shift+左鍵來保存至任務預設]</Chinese> <Chinese>[Shift+左鍵來保存至任務預設]</Chinese>
<Chinesesimp>[Shift+左鍵 以保存至任务默认值]</Chinesesimp>
<Italian>[Shift+Click per salvare la missione con gli equipaggiamenti predefiniti]</Italian> <Italian>[Shift+Click per salvare la missione con gli equipaggiamenti predefiniti]</Italian>
<Czech>[Shift+Klik pro uložení jako standardního vybavení pro misi]</Czech> <Czech>[Shift+Klik pro uložení jako standardního vybavení pro misi]</Czech>
<Turkish>[Shift+Click varsayılan kıyafetlere kaydet]</Turkish> <Turkish>[Shift+Click varsayılan kıyafetlere kaydet]</Turkish>
<Korean>[쉬프트+클릭 하여 임무 기본으로 설정]</Korean>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_buttonRenameTooltip"> <Key ID="STR_ACE_Arsenal_buttonRenameTooltip">
<English>Rename the selected loadout</English> <English>Rename the selected loadout</English>
@ -169,7 +171,7 @@
<Italian>Rinomina l'equipaggiamento selezionato</Italian> <Italian>Rinomina l'equipaggiamento selezionato</Italian>
<Korean>선택한 로드아웃의 이름 바꾸기</Korean> <Korean>선택한 로드아웃의 이름 바꾸기</Korean>
<Chinese>重新命名當前選擇的裝備</Chinese> <Chinese>重新命名當前選擇的裝備</Chinese>
<Chinesesimp>新命名当前选择的装备</Chinesesimp> <Chinesesimp>命名当前选择的负载</Chinesesimp>
<Russian>Переименовать выбранный комплект экипировки</Russian> <Russian>Переименовать выбранный комплект экипировки</Russian>
<Portuguese>Renomeia o loadout selecionado</Portuguese> <Portuguese>Renomeia o loadout selecionado</Portuguese>
<Czech>Přejmenovat vybranou sadu vybavení</Czech> <Czech>Přejmenovat vybranou sadu vybavení</Czech>
@ -201,7 +203,7 @@
<Italian>Carica l'equipaggiamento selezionato</Italian> <Italian>Carica l'equipaggiamento selezionato</Italian>
<Korean>선택한 로드아웃 불러오기</Korean> <Korean>선택한 로드아웃 불러오기</Korean>
<Chinese>載入當前選擇的裝備</Chinese> <Chinese>載入當前選擇的裝備</Chinese>
<Chinesesimp>载入当前选择的装备</Chinesesimp> <Chinesesimp>载入当前选择的负载</Chinesesimp>
<Russian>Загрузить выбранный комплект экипировки</Russian> <Russian>Загрузить выбранный комплект экипировки</Russian>
<Portuguese>Carrega o loadout selecionado</Portuguese> <Portuguese>Carrega o loadout selecionado</Portuguese>
<Czech>Nahrát vybranou sadu vybavení</Czech> <Czech>Nahrát vybranou sadu vybavení</Czech>
@ -233,7 +235,7 @@
<Italian>Elimina l'equipaggiamento selezionato</Italian> <Italian>Elimina l'equipaggiamento selezionato</Italian>
<Korean>선택한 로드아웃 삭제하기</Korean> <Korean>선택한 로드아웃 삭제하기</Korean>
<Chinese>刪除當前選擇的裝備</Chinese> <Chinese>刪除當前選擇的裝備</Chinese>
<Chinesesimp>删除当前选择的装备</Chinesesimp> <Chinesesimp>删除当前选择的负载</Chinesesimp>
<Russian>Удалить выбранный комплект экипировки</Russian> <Russian>Удалить выбранный комплект экипировки</Russian>
<Portuguese>Apaga o loadout selecionado</Portuguese> <Portuguese>Apaga o loadout selecionado</Portuguese>
<Czech>Smazat vybranou sadu vybavení</Czech> <Czech>Smazat vybranou sadu vybavení</Czech>
@ -249,7 +251,7 @@
<Italian>I miei equipaggiamenti</Italian> <Italian>I miei equipaggiamenti</Italian>
<Korean>내 로드아웃</Korean> <Korean>내 로드아웃</Korean>
<Chinese>我的裝備</Chinese> <Chinese>我的裝備</Chinese>
<Chinesesimp>我的装备</Chinesesimp> <Chinesesimp>我的负载</Chinesesimp>
<Russian>Мои комплекты</Russian> <Russian>Мои комплекты</Russian>
<Portuguese>Meus loadouts</Portuguese> <Portuguese>Meus loadouts</Portuguese>
<Czech>Moje sady vybavení</Czech> <Czech>Moje sady vybavení</Czech>
@ -265,7 +267,7 @@
<Italian>Gli equipaggiamenti salvati nel tuo profilo</Italian> <Italian>Gli equipaggiamenti salvati nel tuo profilo</Italian>
<Korean>프로필에 저장된 로드아웃</Korean> <Korean>프로필에 저장된 로드아웃</Korean>
<Chinese>裝備已保存到你的設定檔中</Chinese> <Chinese>裝備已保存到你的設定檔中</Chinese>
<Chinesesimp>装备已保存到你的设定档</Chinesesimp> <Chinesesimp>负载已保存到你的档案</Chinesesimp>
<Russian>Комплекты экипировки, сохраненные в вашем профиле</Russian> <Russian>Комплекты экипировки, сохраненные в вашем профиле</Russian>
<Portuguese>Loadouts salvos em seu perfil</Portuguese> <Portuguese>Loadouts salvos em seu perfil</Portuguese>
<Czech>Sadz vybavení uložené ve vašem profilu</Czech> <Czech>Sadz vybavení uložené ve vašem profilu</Czech>
@ -281,7 +283,7 @@
<Italian>Equipaggiamenti standard</Italian> <Italian>Equipaggiamenti standard</Italian>
<Korean>기본 로드아웃</Korean> <Korean>기본 로드아웃</Korean>
<Chinese>預設裝備</Chinese> <Chinese>預設裝備</Chinese>
<Chinesesimp>预设装备</Chinesesimp> <Chinesesimp>默认负载</Chinesesimp>
<Russian>По умолчанию</Russian> <Russian>По умолчанию</Russian>
<Portuguese>Loadouts padrões</Portuguese> <Portuguese>Loadouts padrões</Portuguese>
<Czech>Standardní sady vybavení</Czech> <Czech>Standardní sady vybavení</Czech>
@ -297,7 +299,7 @@
<Italian>Equipaggiamenti resi disponibili dal creatore della missione</Italian> <Italian>Equipaggiamenti resi disponibili dal creatore della missione</Italian>
<Korean>미션메이커가 허용한 로드아웃</Korean> <Korean>미션메이커가 허용한 로드아웃</Korean>
<Chinese>任務作者提供的預設裝備</Chinese> <Chinese>任務作者提供的預設裝備</Chinese>
<Chinesesimp>任务作者提供的预设装备</Chinesesimp> <Chinesesimp>任务作者提供的负载</Chinesesimp>
<Russian>Комплекты экипировки, предоставляемые создателем миссии</Russian> <Russian>Комплекты экипировки, предоставляемые создателем миссии</Russian>
<Portuguese>Loadouts definidos pelo criador da missão</Portuguese> <Portuguese>Loadouts definidos pelo criador da missão</Portuguese>
<Czech>Sady vybavení od autora mise</Czech> <Czech>Sady vybavení od autora mise</Czech>
@ -313,7 +315,7 @@
<Italian>Equipaggiamenti pubblici</Italian> <Italian>Equipaggiamenti pubblici</Italian>
<Korean>공용 로드아웃</Korean> <Korean>공용 로드아웃</Korean>
<Chinese>公用裝備</Chinese> <Chinese>公用裝備</Chinese>
<Chinesesimp>公用装备</Chinesesimp> <Chinesesimp>公用负载</Chinesesimp>
<Russian>Публичные комплекты</Russian> <Russian>Публичные комплекты</Russian>
<Portuguese>Loadouts públicos</Portuguese> <Portuguese>Loadouts públicos</Portuguese>
<Czech>Veřejné sady vybavení</Czech> <Czech>Veřejné sady vybavení</Czech>
@ -329,7 +331,7 @@
<Italian>Equipaggiamenti condivisi da te e da altri giocatori</Italian> <Italian>Equipaggiamenti condivisi da te e da altri giocatori</Italian>
<Korean>플레이어들이 공유하는 로드아웃</Korean> <Korean>플레이어들이 공유하는 로드아웃</Korean>
<Chinese>由你與其他玩家分享的裝備配置</Chinese> <Chinese>由你與其他玩家分享的裝備配置</Chinese>
<Chinesesimp>由你与其他玩家分享的装备配置</Chinesesimp> <Chinesesimp>你和其他玩家分享的负载配置</Chinesesimp>
<Russian>Комплекты экипировки, опубликованные вами и другими игроками</Russian> <Russian>Комплекты экипировки, опубликованные вами и другими игроками</Russian>
<Portuguese>Loadouts compartilhados por você ou outros jogadores</Portuguese> <Portuguese>Loadouts compartilhados por você ou outros jogadores</Portuguese>
<Czech>Sady vybavení sdílené vámi a ostatními hráči</Czech> <Czech>Sady vybavení sdílené vámi a ostatními hráči</Czech>
@ -343,7 +345,7 @@
<Polish>Sortuj wg wagi</Polish> <Polish>Sortuj wg wagi</Polish>
<Japanese>重量で並び替え</Japanese> <Japanese>重量で並び替え</Japanese>
<Italian>Ordina per peso</Italian> <Italian>Ordina per peso</Italian>
<Korean>무게로 정렬</Korean> <Korean>무게 순서로 정렬</Korean>
<Chinese>以重量排序</Chinese> <Chinese>以重量排序</Chinese>
<Chinesesimp>以重量排序</Chinesesimp> <Chinesesimp>以重量排序</Chinesesimp>
<Russian>Сортировка по весу</Russian> <Russian>Сортировка по весу</Russian>
@ -359,7 +361,7 @@
<Polish>Sortuj wg ilości</Polish> <Polish>Sortuj wg ilości</Polish>
<Japanese>量で並び替え</Japanese> <Japanese>量で並び替え</Japanese>
<Italian>Ordina per quantitativo</Italian> <Italian>Ordina per quantitativo</Italian>
<Korean>갯수로 정렬</Korean> <Korean>갯수 순서로 정렬</Korean>
<Chinese>以數量排序</Chinese> <Chinese>以數量排序</Chinese>
<Chinesesimp>以数量排序</Chinesesimp> <Chinesesimp>以数量排序</Chinesesimp>
<Russian>Сортировка по количеству</Russian> <Russian>Сортировка по количеству</Russian>
@ -375,6 +377,8 @@
<Spanish>Ordenar por capacidad</Spanish> <Spanish>Ordenar por capacidad</Spanish>
<Russian>Сортировка по вместимости</Russian> <Russian>Сортировка по вместимости</Russian>
<Polish>Sortuj po rozmiarze</Polish> <Polish>Sortuj po rozmiarze</Polish>
<Korean>공간 순서로 정렬</Korean>
<Chinesesimp>以容量排序</Chinesesimp>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_sortByAccuracyText"> <Key ID="STR_ACE_Arsenal_sortByAccuracyText">
<English>Sort by accuracy</English> <English>Sort by accuracy</English>
@ -385,6 +389,8 @@
<Spanish>Ordenar por precisión</Spanish> <Spanish>Ordenar por precisión</Spanish>
<Russian>Сортировка по точности</Russian> <Russian>Сортировка по точности</Russian>
<Polish>Sortuj po celności</Polish> <Polish>Sortuj po celności</Polish>
<Korean>정확도 순서로 정렬</Korean>
<Chinesesimp>以精度排序</Chinesesimp>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_sortByRateOfFireText"> <Key ID="STR_ACE_Arsenal_sortByRateOfFireText">
<English>Sort by rate of fire</English> <English>Sort by rate of fire</English>
@ -395,6 +401,8 @@
<Spanish>Ordenar por cadencia de tiro</Spanish> <Spanish>Ordenar por cadencia de tiro</Spanish>
<Russian>Сортировка по темпу стрельбы</Russian> <Russian>Сортировка по темпу стрельбы</Russian>
<Polish>Sortuj po szybkostrzelności</Polish> <Polish>Sortuj po szybkostrzelności</Polish>
<Korean>발사속도 순서로 정렬</Korean>
<Chinesesimp>以射速排序</Chinesesimp>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_sortByMagnificationText"> <Key ID="STR_ACE_Arsenal_sortByMagnificationText">
<English>Sort by magnification</English> <English>Sort by magnification</English>
@ -404,6 +412,8 @@
<Spanish>Ordenar por magnificación</Spanish> <Spanish>Ordenar por magnificación</Spanish>
<Russian>Сортировка по кратности приближения</Russian> <Russian>Сортировка по кратности приближения</Russian>
<Polish>Sortuj po przybliżeniu</Polish> <Polish>Sortuj po przybliżeniu</Polish>
<Korean>배율 순서로 정렬</Korean>
<Chinesesimp>以放大倍数排序</Chinesesimp>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_sortByMagCountText"> <Key ID="STR_ACE_Arsenal_sortByMagCountText">
<English>Sort by ammo count</English> <English>Sort by ammo count</English>
@ -414,6 +424,8 @@
<Spanish>Ordenar por cantidad de munición</Spanish> <Spanish>Ordenar por cantidad de munición</Spanish>
<Russian>Сортировка по количеству боеприпасов</Russian> <Russian>Сортировка по количеству боеприпасов</Russian>
<Polish>Sortuj po ilości amunicji</Polish> <Polish>Sortuj po ilości amunicji</Polish>
<Korean>총알 갯수 순서롤 정렬</Korean>
<Chinesesimp>以弹量排序</Chinesesimp>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_sortByProtectionBallistic"> <Key ID="STR_ACE_Arsenal_sortByProtectionBallistic">
<English>Sort by ballistic protection</English> <English>Sort by ballistic protection</English>
@ -423,6 +435,8 @@
<Russian>Сортировка по баллистической защите</Russian> <Russian>Сортировка по баллистической защите</Russian>
<Polish>Sortuj po ochronie balistycznej</Polish> <Polish>Sortuj po ochronie balistycznej</Polish>
<German>Nach ballistischem Schutz sortieren</German> <German>Nach ballistischem Schutz sortieren</German>
<Korean>방탄 성능 순서로 정렬</Korean>
<Chinesesimp>以防弹性能排序</Chinesesimp>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_sortByProtectionExplosive"> <Key ID="STR_ACE_Arsenal_sortByProtectionExplosive">
<English>Sort by explosive protection</English> <English>Sort by explosive protection</English>
@ -432,6 +446,8 @@
<Russian>Сортировка по защите от взрывов</Russian> <Russian>Сортировка по защите от взрывов</Russian>
<Polish>Sortuj po ochronie przeciw wybuchom</Polish> <Polish>Sortuj po ochronie przeciw wybuchom</Polish>
<German>Nach Explosionsschutz sortieren</German> <German>Nach Explosionsschutz sortieren</German>
<Korean>방폭 성능 순서로 정렬</Korean>
<Chinesesimp>以防爆性能排序</Chinesesimp>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_buttonShareTooltip"> <Key ID="STR_ACE_Arsenal_buttonShareTooltip">
<English>Share or stop sharing the selected loadout</English> <English>Share or stop sharing the selected loadout</English>
@ -441,9 +457,9 @@
<Polish>Udostępnij lub przestań udostępniać wybrany zestaw</Polish> <Polish>Udostępnij lub przestań udostępniać wybrany zestaw</Polish>
<Japanese>選択した装備の共有設定</Japanese> <Japanese>選択した装備の共有設定</Japanese>
<Italian>Condividi o smetti di condividere l'equipaggiamento selezionato</Italian> <Italian>Condividi o smetti di condividere l'equipaggiamento selezionato</Italian>
<Korean>선택한 로드아웃 공유 혹은 공유중지</Korean> <Korean>선택한 로드아웃 공유 혹은 공유 중지</Korean>
<Chinese>開始/停止分享當前選擇的裝備</Chinese> <Chinese>開始/停止分享當前選擇的裝備</Chinese>
<Chinesesimp>开始/停止分享当前选择的装备</Chinesesimp> <Chinesesimp>开始/停止分享当前选择的负载</Chinesesimp>
<Russian>Открыть или закрыть общий доступ к комплекту экипировки</Russian> <Russian>Открыть или закрыть общий доступ к комплекту экипировки</Russian>
<Portuguese>Compartilhar ou parar de compartilhar o loadout selecionado</Portuguese> <Portuguese>Compartilhar ou parar de compartilhar o loadout selecionado</Portuguese>
<Czech>Sdílet nebo přestat sdílet vybranou sadu vybavení</Czech> <Czech>Sdílet nebo přestat sdílet vybranou sadu vybavení</Czech>
@ -491,7 +507,7 @@
<Italian>La lista degli equipaggiamenti standard è vuota!</Italian> <Italian>La lista degli equipaggiamenti standard è vuota!</Italian>
<Korean>기본 로드아웃 목록이 비어있습니다!</Korean> <Korean>기본 로드아웃 목록이 비어있습니다!</Korean>
<Chinese>沒有預設的裝備清單!</Chinese> <Chinese>沒有預設的裝備清單!</Chinese>
<Chinesesimp>没有预设的装备清单!</Chinesesimp> <Chinesesimp>没有默认负载清单!</Chinesesimp>
<Russian>Список комплекта экипировки пуст!</Russian> <Russian>Список комплекта экипировки пуст!</Russian>
<Portuguese>A lista de loadouts padrões está vazia!</Portuguese> <Portuguese>A lista de loadouts padrões está vazia!</Portuguese>
<Czech>Seznam standardních sad vybavení je prázdný!</Czech> <Czech>Seznam standardních sad vybavení je prázdný!</Czech>
@ -507,7 +523,7 @@
<Italian>La lista degli equipaggiamenti standard è stata esportata negli appunti</Italian> <Italian>La lista degli equipaggiamenti standard è stata esportata negli appunti</Italian>
<Korean>클립보드에 기본 로드아웃 목록 내보내기</Korean> <Korean>클립보드에 기본 로드아웃 목록 내보내기</Korean>
<Chinese>預設的裝備清單已匯出到剪貼簿中</Chinese> <Chinese>預設的裝備清單已匯出到剪貼簿中</Chinese>
<Chinesesimp>预设的装备清单已汇出到剪贴簿中</Chinesesimp> <Chinesesimp>默认负载清单已导出到剪贴板</Chinesesimp>
<Russian>Список комплекта экипировки по умолчанию экспортирован в буфер</Russian> <Russian>Список комплекта экипировки по умолчанию экспортирован в буфер</Russian>
<Portuguese>A lista de loadouts padrões foi exportada pra área de transferência</Portuguese> <Portuguese>A lista de loadouts padrões foi exportada pra área de transferência</Portuguese>
<Czech>Seznam standardních sad vybavení byl exportován do schránky</Czech> <Czech>Seznam standardních sad vybavení byl exportován do schránky</Czech>
@ -523,7 +539,7 @@
<Italian>Equipaggiamento corrente esportato negli appunti</Italian> <Italian>Equipaggiamento corrente esportato negli appunti</Italian>
<Korean>현재 로드아웃을 클립보드로 내보냈습니다.</Korean> <Korean>현재 로드아웃을 클립보드로 내보냈습니다.</Korean>
<Chinese>當前的裝備已匯出到剪貼簿中</Chinese> <Chinese>當前的裝備已匯出到剪貼簿中</Chinese>
<Chinesesimp>当前的装备已汇出到剪贴簿中</Chinesesimp> <Chinesesimp>当前负载已导出到剪贴板</Chinesesimp>
<Russian>Текущий список комплекта экипировки экспортирован в буфер</Russian> <Russian>Текущий список комплекта экипировки экспортирован в буфер</Russian>
<Portuguese>Loadout atual foi exportado pra área de transferência</Portuguese> <Portuguese>Loadout atual foi exportado pra área de transferência</Portuguese>
<Czech>Současná sada vybavení byla exportována do schránky</Czech> <Czech>Současná sada vybavení byla exportována do schránky</Czech>
@ -555,7 +571,7 @@
<Italian>La lista degli equipaggiamenti standard è stata importata dagli appunti</Italian> <Italian>La lista degli equipaggiamenti standard è stata importata dagli appunti</Italian>
<Korean>클립보드에서 기본 로드아웃 가져오기</Korean> <Korean>클립보드에서 기본 로드아웃 가져오기</Korean>
<Chinese>預設的裝備清單已從剪貼簿中匯入</Chinese> <Chinese>預設的裝備清單已從剪貼簿中匯入</Chinese>
<Chinesesimp>预设的装备清单已从剪贴簿中汇</Chinesesimp> <Chinesesimp>默认负载已从剪贴板导</Chinesesimp>
<Russian>Список комплекта экипировки по умолчанию импортирован из буфера</Russian> <Russian>Список комплекта экипировки по умолчанию импортирован из буфера</Russian>
<Portuguese>A lista de loadouts padrões foi importada da área de transferência</Portuguese> <Portuguese>A lista de loadouts padrões foi importada da área de transferência</Portuguese>
<Czech>Seznam standardních sad vybavení byl importován ze schránky</Czech> <Czech>Seznam standardních sad vybavení byl importován ze schránky</Czech>
@ -571,7 +587,7 @@
<Italian>Equipaggiamento importato dagli appunti</Italian> <Italian>Equipaggiamento importato dagli appunti</Italian>
<Korean>클립보드에서 로드아웃을 가져왔습니다.</Korean> <Korean>클립보드에서 로드아웃을 가져왔습니다.</Korean>
<Chinese>裝備已從剪貼簿中匯入</Chinese> <Chinese>裝備已從剪貼簿中匯入</Chinese>
<Chinesesimp>装备已从剪贴簿中汇</Chinesesimp> <Chinesesimp>负载已从剪贴板中导</Chinesesimp>
<Russian>Список комплекта экипировки импортирован из буфера</Russian> <Russian>Список комплекта экипировки импортирован из буфера</Russian>
<Portuguese>Loadout importado da área de transferência</Portuguese> <Portuguese>Loadout importado da área de transferência</Portuguese>
<Czech>Sada vybavení byla importována ze schránky</Czech> <Czech>Sada vybavení byla importována ze schránky</Czech>
@ -587,7 +603,7 @@
<Italian>Il seguente equipaggiamento è stato eliminato:</Italian> <Italian>Il seguente equipaggiamento è stato eliminato:</Italian>
<Korean>다음 로드아웃이 삭제됨 :</Korean> <Korean>다음 로드아웃이 삭제됨 :</Korean>
<Chinese>以下的裝備已被刪除:</Chinese> <Chinese>以下的裝備已被刪除:</Chinese>
<Chinesesimp>以下的装备已被删除:</Chinesesimp> <Chinesesimp>以下的负载已被删除:</Chinesesimp>
<Russian>Удален комплект экипировки:</Russian> <Russian>Удален комплект экипировки:</Russian>
<Portuguese>O seguinte loadout foi apagado:</Portuguese> <Portuguese>O seguinte loadout foi apagado:</Portuguese>
<Czech>Tato sada vybavení byla smazána:</Czech> <Czech>Tato sada vybavení byla smazána:</Czech>
@ -603,7 +619,7 @@
<Italian>Il seguente equipaggiamento non è più pubblico:</Italian> <Italian>Il seguente equipaggiamento non è più pubblico:</Italian>
<Korean>다음 로드아웃이 더이상 공용이 아님:</Korean> <Korean>다음 로드아웃이 더이상 공용이 아님:</Korean>
<Chinese>以下的裝備已不再被分享:</Chinese> <Chinese>以下的裝備已不再被分享:</Chinese>
<Chinesesimp>以下的装备已不再被分享:</Chinesesimp> <Chinesesimp>以下的负载已不再被分享:</Chinesesimp>
<Russian>Этот комплект экипировки больше не публичный:</Russian> <Russian>Этот комплект экипировки больше не публичный:</Russian>
<Portuguese>O seguinte loadout não é mais público:</Portuguese> <Portuguese>O seguinte loadout não é mais público:</Portuguese>
<Czech>Tato sada vybavení již není veřejná:</Czech> <Czech>Tato sada vybavení již není veřejná:</Czech>
@ -619,7 +635,7 @@
<Italian>Il campo del nome è vuoto!</Italian> <Italian>Il campo del nome è vuoto!</Italian>
<Korean>이름칸이 비었습니다!</Korean> <Korean>이름칸이 비었습니다!</Korean>
<Chinese>名稱欄位為空!</Chinese> <Chinese>名稱欄位為空!</Chinese>
<Chinesesimp>名称栏位为空!</Chinesesimp> <Chinesesimp>名称栏位为空</Chinesesimp>
<Russian>Поле имени пустое!</Russian> <Russian>Поле имени пустое!</Russian>
<Portuguese>O nome não pode estar vazio!</Portuguese> <Portuguese>O nome não pode estar vazio!</Portuguese>
<Czech>Pole "Jméno" je prázdné!</Czech> <Czech>Pole "Jméno" je prázdné!</Czech>
@ -635,7 +651,7 @@
<Italian>Sei l'autore di questo equipaggiamento</Italian> <Italian>Sei l'autore di questo equipaggiamento</Italian>
<Korean>이 로드아웃의 제작자입니다.</Korean> <Korean>이 로드아웃의 제작자입니다.</Korean>
<Chinese>你是這個裝備的作者</Chinese> <Chinese>你是這個裝備的作者</Chinese>
<Chinesesimp>你是这个装备的作者</Chinesesimp> <Chinesesimp>你是这个负载的作者</Chinesesimp>
<Russian>Вы автор этого комплекта экипировки</Russian> <Russian>Вы автор этого комплекта экипировки</Russian>
<Portuguese>Você é o autor desse loadout</Portuguese> <Portuguese>Você é o autor desse loadout</Portuguese>
<Czech>Jste autorem této sady vybavení</Czech> <Czech>Jste autorem této sady vybavení</Czech>
@ -651,7 +667,7 @@
<Italian>Un tuo equipaggiamento con lo stesso nome è pubblico</Italian> <Italian>Un tuo equipaggiamento con lo stesso nome è pubblico</Italian>
<Korean>같은 이름의 로드아웃이 공용에 있습니다.</Korean> <Korean>같은 이름의 로드아웃이 공용에 있습니다.</Korean>
<Chinese>已有相同名稱的裝備在公用分享區</Chinese> <Chinese>已有相同名稱的裝備在公用分享區</Chinese>
<Chinesesimp>已有相同名称的装备在公用分享区</Chinesesimp> <Chinesesimp>已有相同名称的负载在公用分享区</Chinesesimp>
<Russian>Ваш комплект экипировки с таким же именем является публичным</Russian> <Russian>Ваш комплект экипировки с таким же именем является публичным</Russian>
<Portuguese>Um loadout seu com o mesmo nome é público</Portuguese> <Portuguese>Um loadout seu com o mesmo nome é público</Portuguese>
<Czech>Vaše sada vybavení se stejným jménem je veřejná</Czech> <Czech>Vaše sada vybavení se stejným jménem je veřejná</Czech>
@ -667,7 +683,7 @@
<Italian>Il seguente equipaggiamento è stato salvato:</Italian> <Italian>Il seguente equipaggiamento è stato salvato:</Italian>
<Korean>다음 로드아웃이 저장됨:</Korean> <Korean>다음 로드아웃이 저장됨:</Korean>
<Chinese>以下的裝備已被保存:</Chinese> <Chinese>以下的裝備已被保存:</Chinese>
<Chinesesimp>以下的装备已被保存:</Chinesesimp> <Chinesesimp>以下的负载已被保存:</Chinesesimp>
<Russian>Сохранен комплект экипировки:</Russian> <Russian>Сохранен комплект экипировки:</Russian>
<Portuguese>O seguinte loadout foi salvo:</Portuguese> <Portuguese>O seguinte loadout foi salvo:</Portuguese>
<Czech>Tato sada vybavení byla uložena:</Czech> <Czech>Tato sada vybavení byla uložena:</Czech>
@ -683,7 +699,7 @@
<Italian>Il seguente equipaggiamento è stato caricato:</Italian> <Italian>Il seguente equipaggiamento è stato caricato:</Italian>
<Korean>다음 로드아웃을 불러옴:</Korean> <Korean>다음 로드아웃을 불러옴:</Korean>
<Chinese>以下的裝備已被載入:</Chinese> <Chinese>以下的裝備已被載入:</Chinese>
<Chinesesimp>以下的装备已被载入:</Chinesesimp> <Chinesesimp>以下的负载已被载入:</Chinesesimp>
<Russian>Загружен комплект экипировки:</Russian> <Russian>Загружен комплект экипировки:</Russian>
<Portuguese>O seguinte loadout foi carregado:</Portuguese> <Portuguese>O seguinte loadout foi carregado:</Portuguese>
<Czech>Tato sada vybavení byla načtena:</Czech> <Czech>Tato sada vybavení byla načtena:</Czech>
@ -699,7 +715,7 @@
<Italian>Un equipaggiamento con lo stesso nome è gia esistente!</Italian> <Italian>Un equipaggiamento con lo stesso nome è gia esistente!</Italian>
<Korean>같은 이름의 로드아웃이 이미 존재합니다!</Korean> <Korean>같은 이름의 로드아웃이 이미 존재합니다!</Korean>
<Chinese>已有相同名稱的裝備!</Chinese> <Chinese>已有相同名稱的裝備!</Chinese>
<Chinesesimp>已有相同名称的装备!</Chinesesimp> <Chinesesimp>已有相同名称的负载!</Chinesesimp>
<Russian>Комплект с таким именем уже существует!</Russian> <Russian>Комплект с таким именем уже существует!</Russian>
<Portuguese>Um loadout com o mesmo nome já existe!</Portuguese> <Portuguese>Um loadout com o mesmo nome já existe!</Portuguese>
<Czech>Již existuje sada vybavení se stejným jménem!</Czech> <Czech>Již existuje sada vybavení se stejným jménem!</Czech>
@ -779,7 +795,7 @@
<Italian>Consenti equipaggiamenti standard</Italian> <Italian>Consenti equipaggiamenti standard</Italian>
<Korean>기본 로드아웃 허용</Korean> <Korean>기본 로드아웃 허용</Korean>
<Chinese>允許預設裝備</Chinese> <Chinese>允許預設裝備</Chinese>
<Chinesesimp>允许预设装备</Chinesesimp> <Chinesesimp>允许默认负载</Chinesesimp>
<Russian>Разрешить комплекты по умолчанию</Russian> <Russian>Разрешить комплекты по умолчанию</Russian>
<Portuguese>Permitir loadouts padrões</Portuguese> <Portuguese>Permitir loadouts padrões</Portuguese>
<Czech>Povolit standardní sady vybavení</Czech> <Czech>Povolit standardní sady vybavení</Czech>
@ -795,7 +811,7 @@
<Italian>Consenti condivisione equipaggiamenti</Italian> <Italian>Consenti condivisione equipaggiamenti</Italian>
<Korean>로드아웃 공유 허용</Korean> <Korean>로드아웃 공유 허용</Korean>
<Chinese>允許分享裝備</Chinese> <Chinese>允許分享裝備</Chinese>
<Chinesesimp>允许分享装备</Chinesesimp> <Chinesesimp>允许分享负载</Chinesesimp>
<Russian>Разрешить публикацию комплектов</Russian> <Russian>Разрешить публикацию комплектов</Russian>
<Portuguese>Permitir compartilhar loadouts</Portuguese> <Portuguese>Permitir compartilhar loadouts</Portuguese>
<Czech>Povolit sdílení sad vybavení</Czech> <Czech>Povolit sdílení sad vybavení</Czech>
@ -827,7 +843,7 @@
<Korean>주무기 탄약</Korean> <Korean>주무기 탄약</Korean>
<German>Primärmagazin</German> <German>Primärmagazin</German>
<Chinese>主要武器彈匣</Chinese> <Chinese>主要武器彈匣</Chinese>
<Chinesesimp>武器弹匣</Chinesesimp> <Chinesesimp>主武器弹匣</Chinesesimp>
<Russian>Основной магазин</Russian> <Russian>Основной магазин</Russian>
<Portuguese>Carregador Primário</Portuguese> <Portuguese>Carregador Primário</Portuguese>
<Czech>Hlavní zásobník</Czech> <Czech>Hlavní zásobník</Czech>
@ -843,7 +859,7 @@
<Korean>보조무기 탄약</Korean> <Korean>보조무기 탄약</Korean>
<German>Sekundärmagazin</German> <German>Sekundärmagazin</German>
<Chinese>次要武器彈匣</Chinese> <Chinese>次要武器彈匣</Chinese>
<Chinesesimp>次要武器弹匣</Chinesesimp> <Chinesesimp>武器弹匣</Chinesesimp>
<Russian>Вторичный магазин</Russian> <Russian>Вторичный магазин</Russian>
<Portuguese>Carregador Secundário</Portuguese> <Portuguese>Carregador Secundário</Portuguese>
<Czech>Vedlejší zásobník</Czech> <Czech>Vedlejší zásobník</Czech>
@ -857,14 +873,30 @@
<Polish>ACE Arsenał</Polish> <Polish>ACE Arsenał</Polish>
<Japanese>ACE 武器庫</Japanese> <Japanese>ACE 武器庫</Japanese>
<Italian>ACE Arsenale</Italian> <Italian>ACE Arsenale</Italian>
<Korean>ACE 아스날</Korean> <Korean>ACE 무기고</Korean>
<Chinese>ACE虛擬軍火庫</Chinese> <Chinese>ACE虛擬軍火庫</Chinese>
<Chinesesimp>ACE虚拟军火库</Chinesesimp> <Chinesesimp>ACE 虚拟军火库</Chinesesimp>
<Russian>ACE Арсенал</Russian> <Russian>ACE Арсенал</Russian>
<Portuguese>ACE Arsenal</Portuguese> <Portuguese>ACE Arsenal</Portuguese>
<Czech>ACE Arzenál</Czech> <Czech>ACE Arzenál</Czech>
<Turkish>ACE Arsenal</Turkish> <Turkish>ACE Arsenal</Turkish>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_loadoutSubcategory">
<English>Loadouts</English>
<Spanish>Equipamiento</Spanish>
<French>Sets d'équipement</French>
<German>Ausrüstungen</German>
<Polish>Zestawy wyposażenia</Polish>
<Japanese>装備</Japanese>
<Italian>Equipaggiamenti</Italian>
<Korean>로드아웃</Korean>
<Chinese>裝備</Chinese>
<Chinesesimp>负载</Chinesesimp>
<Russian>Комплекты</Russian>
<Portuguese>Loadouts</Portuguese>
<Czech>Sady vybavení</Czech>
<Turkish>Kıyafetler</Turkish>
</Key>
<Key ID="STR_ACE_Arsenal_defaultLoadoutsTooltip"> <Key ID="STR_ACE_Arsenal_defaultLoadoutsTooltip">
<English>Allow the use of the default loadouts tab</English> <English>Allow the use of the default loadouts tab</English>
<Spanish>Permitir el uso de la pestaña de equipamientos por defecto</Spanish> <Spanish>Permitir el uso de la pestaña de equipamientos por defecto</Spanish>
@ -875,7 +907,7 @@
<Korean>기본 로드아웃 탭 사용 허가</Korean> <Korean>기본 로드아웃 탭 사용 허가</Korean>
<German>Erlaube die Nutzung des Standardausrüstungsreiters</German> <German>Erlaube die Nutzung des Standardausrüstungsreiters</German>
<Chinese>允許使用預設的裝備</Chinese> <Chinese>允許使用預設的裝備</Chinese>
<Chinesesimp>允许使用预设的装备</Chinesesimp> <Chinesesimp>允许使用默认的负载</Chinesesimp>
<Russian>Разрешить использование вкладки комплектов экипировки по умолчанию</Russian> <Russian>Разрешить использование вкладки комплектов экипировки по умолчанию</Russian>
<Portuguese>Permite o uso da aba de loadouts padrões</Portuguese> <Portuguese>Permite o uso da aba de loadouts padrões</Portuguese>
<Czech>Povolit používání záložky standardních sad vybavení</Czech> <Czech>Povolit používání záložky standardních sad vybavení</Czech>
@ -923,7 +955,7 @@
<Korean>RPT에 누락 된 항목 / 사용할 수없는 항목 기록</Korean> <Korean>RPT에 누락 된 항목 / 사용할 수없는 항목 기록</Korean>
<German>Fehlende Gegenstände werden in der RPT aufgezeichnet</German> <German>Fehlende Gegenstände werden in der RPT aufgezeichnet</German>
<Chinese>記錄遺失/無法使用的項目到RPT檔案中</Chinese> <Chinese>記錄遺失/無法使用的項目到RPT檔案中</Chinese>
<Chinesesimp>记录遗失/无法使用的项目到RPT档案中</Chinesesimp> <Chinesesimp>记录遗失/无法使用的项目到 RPT</Chinesesimp>
<Russian>Вести журнал отсутствующих / недоступных предметов в RPT</Russian> <Russian>Вести журнал отсутствующих / недоступных предметов в RPT</Russian>
<Portuguese>Registrar em log itens indisponíveis no RPT</Portuguese> <Portuguese>Registrar em log itens indisponíveis no RPT</Portuguese>
<Czech>Zalogovat chybějící/nedostupné předměty do RPT logu</Czech> <Czech>Zalogovat chybějící/nedostupné předměty do RPT logu</Czech>
@ -938,7 +970,7 @@
<Japanese>ACE 武器庫を開けません</Japanese> <Japanese>ACE 武器庫を開けません</Japanese>
<Korean>ACE 아스날을 열 수 없음</Korean> <Korean>ACE 아스날을 열 수 없음</Korean>
<Chinese>無法開啟ACE虛擬軍火庫</Chinese> <Chinese>無法開啟ACE虛擬軍火庫</Chinese>
<Chinesesimp>无法开启ACE虚拟军火库</Chinesesimp> <Chinesesimp>无法开启 ACE 虚拟军火库</Chinesesimp>
<Polish>Nie można otworzyć arsenału ACE</Polish> <Polish>Nie można otworzyć arsenału ACE</Polish>
<Russian>Невозможно открыть ACE Арсенал</Russian> <Russian>Невозможно открыть ACE Арсенал</Russian>
<Portuguese>Não foi possível abrir o ACE Arsenal</Portuguese> <Portuguese>Não foi possível abrir o ACE Arsenal</Portuguese>
@ -951,9 +983,9 @@
<French>Importer les sets BI VA dans l'arsenal ACE</French> <French>Importer les sets BI VA dans l'arsenal ACE</French>
<German>Importiert die BI-VA-Ausrüstungen in das ACE-Arsenal</German> <German>Importiert die BI-VA-Ausrüstungen in das ACE-Arsenal</German>
<Japanese>標準の VA 装備から ACE 武器庫へ取り込み</Japanese> <Japanese>標準の VA 装備から ACE 武器庫へ取り込み</Japanese>
<Korean>바닐라 로드아웃을 ace 아스날로 가져오기</Korean> <Korean>바닐라 로드아웃을 ACE 아스날로 가져오기</Korean>
<Chinese>匯入BI原廠虛擬軍火庫的裝備到ACE虛擬軍火庫中</Chinese> <Chinese>匯入BI原廠虛擬軍火庫的裝備到ACE虛擬軍火庫中</Chinese>
<Chinesesimp>汇入BI原厂虚拟军火库的装备到ACE虚拟军火库中</Chinesesimp> <Chinesesimp>导入 BI 原版虚拟军火库的负载到 ACE 虚拟军火库中</Chinesesimp>
<Italian>Importa l'arsenale virtuale BI nell'arsenale ACE</Italian> <Italian>Importa l'arsenale virtuale BI nell'arsenale ACE</Italian>
<Polish>Importuj zestawy wyposażenia z wirtualnego arsenału BI do arsenału ACE</Polish> <Polish>Importuj zestawy wyposażenia z wirtualnego arsenału BI do arsenału ACE</Polish>
<Russian>Импорт комплектов из Арсенала BI в Арсенал ACE</Russian> <Russian>Импорт комплектов из Арсенала BI в Арсенал ACE</Russian>
@ -968,7 +1000,7 @@
<Japanese>プレイヤー ユニットがありません!ユニットを設置し"Player"と名付けてください。</Japanese> <Japanese>プレイヤー ユニットがありません!ユニットを設置し"Player"と名付けてください。</Japanese>
<Korean>플레이어 유닛을 사용할 수 없습니다! 유닛을 놓고 "플레이어"라고 표시하십시오.</Korean> <Korean>플레이어 유닛을 사용할 수 없습니다! 유닛을 놓고 "플레이어"라고 표시하십시오.</Korean>
<Chinese>沒有可用的玩家單位!請擺放一個單位並設定成"玩家"</Chinese> <Chinese>沒有可用的玩家單位!請擺放一個單位並設定成"玩家"</Chinese>
<Chinesesimp>没有可用的玩家单位!请摆放一个单位并设定成"玩家"</Chinesesimp> <Chinesesimp>没有可用的玩家单位!请摆放一个单位并设定成“玩家”</Chinesesimp>
<Italian>Non ci sono giocatori! Poisziona una unità e impostala come "Giocatore".</Italian> <Italian>Non ci sono giocatori! Poisziona una unità e impostala come "Giocatore".</Italian>
<Polish>Brak dostępnych jednostek gracza! Postaw jednostkę i oznacz ją jako "Gracz".</Polish> <Polish>Brak dostępnych jednostek gracza! Postaw jednostkę i oznacz ją jako "Gracz".</Polish>
<Russian>Нет доступных игроков! Разместите юнит и отметьте его как «Игрок»</Russian> <Russian>Нет доступных игроков! Разместите юнит и отметьте его как «Игрок»</Russian>
@ -981,9 +1013,9 @@
<French>Aucun équipement à importer.</French> <French>Aucun équipement à importer.</French>
<German>Keine Ausrüstungen zum Importieren</German> <German>Keine Ausrüstungen zum Importieren</German>
<Japanese>インポートする装備がありません。</Japanese> <Japanese>インポートする装備がありません。</Japanese>
<Korean>가져올 로드 아웃이 없습니다.</Korean> <Korean>가져올 로드아웃이 없습니다.</Korean>
<Chinese>沒有裝備被匯入</Chinese> <Chinese>沒有裝備被匯入</Chinese>
<Chinesesimp>没有装备被汇入。</Chinesesimp> <Chinesesimp>没有负载被导入。</Chinesesimp>
<Italian>Non ci sono equipaggiamenti da importare.</Italian> <Italian>Non ci sono equipaggiamenti da importare.</Italian>
<Polish>Brak zestawów wyposażenia do zaimportowania.</Polish> <Polish>Brak zestawów wyposażenia do zaimportowania.</Polish>
<Russian>Нет комплектов для импорта</Russian> <Russian>Нет комплектов для импорта</Russian>
@ -996,9 +1028,9 @@
<Spanish>ACE Arsenal</Spanish> <Spanish>ACE Arsenal</Spanish>
<German>ACE-Arsenal</German> <German>ACE-Arsenal</German>
<Japanese>ACE 武器庫</Japanese> <Japanese>ACE 武器庫</Japanese>
<Korean>ACE 아스날</Korean> <Korean>ACE 무기고</Korean>
<Chinese>ACE虛擬軍火庫</Chinese> <Chinese>ACE虛擬軍火庫</Chinese>
<Chinesesimp>ACE虚拟军火库</Chinesesimp> <Chinesesimp>ACE 虚拟军火库</Chinesesimp>
<Italian>Arsenale ACE</Italian> <Italian>Arsenale ACE</Italian>
<Polish>Arsenał ACE</Polish> <Polish>Arsenał ACE</Polish>
<Russian>ACE Арсенал</Russian> <Russian>ACE Арсенал</Russian>
@ -1012,9 +1044,9 @@
<Spanish>Volver al arsenal de ACE</Spanish> <Spanish>Volver al arsenal de ACE</Spanish>
<German>Zurück zum ACE-Arsenal.</German> <German>Zurück zum ACE-Arsenal.</German>
<Japanese>ACE 武器庫へ戻ります。</Japanese> <Japanese>ACE 武器庫へ戻ります。</Japanese>
<Korean>ACE 아스날로 돌아가기</Korean> <Korean>ACE 무기고로 돌아가기</Korean>
<Chinese>返回到ACE虛擬軍火庫</Chinese> <Chinese>返回到ACE虛擬軍火庫</Chinese>
<Chinesesimp>返回到ACE虚拟军火库。</Chinesesimp> <Chinesesimp>返回到 ACE 虚拟军火库。</Chinesesimp>
<Italian>Torna all'arsenale ACE</Italian> <Italian>Torna all'arsenale ACE</Italian>
<Polish>Wróć do arsenału ACE.</Polish> <Polish>Wróć do arsenału ACE.</Polish>
<Russian>Вернуться в ACE Арсенал</Russian> <Russian>Вернуться в ACE Арсенал</Russian>
@ -1028,9 +1060,9 @@
<Spanish>Usar el arsenal de ACE para probar diferentes armas y equipamiento.</Spanish> <Spanish>Usar el arsenal de ACE para probar diferentes armas y equipamiento.</Spanish>
<German>Verwende ACE-Arsenal und sieh dir verschiedene Waffen und Ausrüstung an und probiere sie aus.</German> <German>Verwende ACE-Arsenal und sieh dir verschiedene Waffen und Ausrüstung an und probiere sie aus.</German>
<Japanese>様々な武器と装備を試せるよう ACE 武器庫を使用します。</Japanese> <Japanese>様々な武器と装備を試せるよう ACE 武器庫を使用します。</Japanese>
<Korean>ACE Arsenal을 사용하여 다른 무기와 장비를 시험해보십시오.</Korean> <Korean>ACE 무기고를 사용하여 다른 무기와 장비를 시험해보십시오.</Korean>
<Chinese>使用ACE虛擬軍火庫來嘗試不同的武器與裝備</Chinese> <Chinese>使用ACE虛擬軍火庫來嘗試不同的武器與裝備</Chinese>
<Chinesesimp>使用ACE虚拟军火库来尝试不同的武器与装备。</Chinesesimp> <Chinesesimp>使用 ACE 虚拟军火库来尝试不同的武器与装备。</Chinesesimp>
<Italian>Usa l'arsenale ACE per provare armi ed equipaggiamenti vari.</Italian> <Italian>Usa l'arsenale ACE per provare armi ed equipaggiamenti vari.</Italian>
<Polish>Skorzystaj z arsenału ACE by wypróbować broń i ekwipunek.</Polish> <Polish>Skorzystaj z arsenału ACE by wypróbować broń i ekwipunek.</Polish>
<Russian>Используйте ACE Arsenal, чтобы опробовать различное оружие и снаряжение.</Russian> <Russian>Используйте ACE Arsenal, чтобы опробовать различное оружие и снаряжение.</Russian>
@ -1045,7 +1077,7 @@
<Japanese>様々な武器と装備を試して、あなただけの装備を作成してください。</Japanese> <Japanese>様々な武器と装備を試して、あなただけの装備を作成してください。</Japanese>
<Korean>무기와 장비를 사용해보고 자신의 로드아웃을 만듭니다.</Korean> <Korean>무기와 장비를 사용해보고 자신의 로드아웃을 만듭니다.</Korean>
<Chinese>嘗試不同的武器與裝備來組合你個人的裝備配置</Chinese> <Chinese>嘗試不同的武器與裝備來組合你個人的裝備配置</Chinese>
<Chinesesimp>尝试不同的武器与装备来组合你个人的装备配置。</Chinesesimp> <Chinesesimp>尝试不同的武器与装备来组合你个人的负载配置。</Chinesesimp>
<Italian>Prova armi ed equipaggiamenti e creai i tuoi equipaggiamenti personalizzati.</Italian> <Italian>Prova armi ed equipaggiamenti e creai i tuoi equipaggiamenti personalizzati.</Italian>
<Polish>Wypróbuj broń i ekwipunek i stwórz swoje własne zestawy wyposażenia.</Polish> <Polish>Wypróbuj broń i ekwipunek i stwórz swoje własne zestawy wyposażenia.</Polish>
<Russian>Опробуйте оружие и снаряжение, создавайте собственные комплекты экипировки.</Russian> <Russian>Опробуйте оружие и снаряжение, создавайте собственные комплекты экипировки.</Russian>
@ -1059,7 +1091,7 @@
<German>Öffnet das Ausrüstungsmenü</German> <German>Öffnet das Ausrüstungsmenü</German>
<French>Affiche les sets d'équipement.</French> <French>Affiche les sets d'équipement.</French>
<Chinese>開啟裝備選單</Chinese> <Chinese>開啟裝備選單</Chinese>
<Chinesesimp>开启装备选</Chinesesimp> <Chinesesimp>开启负载菜</Chinesesimp>
<Japanese>装備画面を開く</Japanese> <Japanese>装備画面を開く</Japanese>
<Italian>Apri la pagina degli equipaggiamenti</Italian> <Italian>Apri la pagina degli equipaggiamenti</Italian>
<Polish>Otwórz ekran zestawów</Polish> <Polish>Otwórz ekran zestawów</Polish>
@ -1067,6 +1099,7 @@
<Portuguese>Abre a tela de loadouts</Portuguese> <Portuguese>Abre a tela de loadouts</Portuguese>
<Czech>Otevřít obrazovku se sadami vybavení</Czech> <Czech>Otevřít obrazovku se sadami vybavení</Czech>
<Turkish>Kıyafetler ekranını</Turkish> <Turkish>Kıyafetler ekranını</Turkish>
<Korean>로드아웃 화면 열기</Korean>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_buttonExportTooltip"> <Key ID="STR_ACE_Arsenal_buttonExportTooltip">
<English>Export current / default loadouts</English> <English>Export current / default loadouts</English>
@ -1074,13 +1107,14 @@
<German>Exportiert aktuelles / standard Loadout</German> <German>Exportiert aktuelles / standard Loadout</German>
<French>Exporte le set d'équipement actuel/les sets prédéfinis.</French> <French>Exporte le set d'équipement actuel/les sets prédéfinis.</French>
<Chinese>匯出當前/預設的裝備</Chinese> <Chinese>匯出當前/預設的裝備</Chinese>
<Chinesesimp>出当前/预设的装备</Chinesesimp> <Chinesesimp>出当前/预设的装备</Chinesesimp>
<Japanese>現在/標準装備をエクスポートします</Japanese> <Japanese>現在/標準装備をエクスポートします</Japanese>
<Italian>Esporta l'equipaggiamento attuale oppure la lista degli equipaggiamenti di base</Italian> <Italian>Esporta l'equipaggiamento attuale oppure la lista degli equipaggiamenti di base</Italian>
<Polish>Eksportuj obecne / domyślne zestawy wyposażenia </Polish> <Polish>Eksportuj obecne / domyślne zestawy wyposażenia </Polish>
<Russian>Экспорт комплектов экипировки</Russian> <Russian>Экспорт комплектов экипировки</Russian>
<Portuguese>Exporta loadout atual / loadouts padrões</Portuguese> <Portuguese>Exporta loadout atual / loadouts padrões</Portuguese>
<Czech>Exportovat současný/standardní sady vybavení</Czech> <Czech>Exportovat současný/standardní sady vybavení</Czech>
<Korean>현재/기본 로드아웃을 내보냅니다</Korean>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_buttonImportTooltip"> <Key ID="STR_ACE_Arsenal_buttonImportTooltip">
<English>Import current / default loadouts</English> <English>Import current / default loadouts</English>
@ -1088,13 +1122,14 @@
<German>Importiert aktuelles / standard Loadout</German> <German>Importiert aktuelles / standard Loadout</German>
<French>Importe le set d'équipement actuel/les sets prédéfinis.</French> <French>Importe le set d'équipement actuel/les sets prédéfinis.</French>
<Chinese>匯入當前/預設的裝備</Chinese> <Chinese>匯入當前/預設的裝備</Chinese>
<Chinesesimp>汇入当前/预设的装备</Chinesesimp> <Chinesesimp>导入当前/预设的负载</Chinesesimp>
<Japanese>現在/標準装備をインポートします</Japanese> <Japanese>現在/標準装備をインポートします</Japanese>
<Italian>Importa l'equipaggiamento attuale oppure la lista degli equipaggiamenti di base</Italian> <Italian>Importa l'equipaggiamento attuale oppure la lista degli equipaggiamenti di base</Italian>
<Polish>Importuj obecne / domyślne zestawy wyposażenia</Polish> <Polish>Importuj obecne / domyślne zestawy wyposażenia</Polish>
<Russian>Импорт комплектов экипировки</Russian> <Russian>Импорт комплектов экипировки</Russian>
<Portuguese>Importa loadout atual / loadouts padrões</Portuguese> <Portuguese>Importa loadout atual / loadouts padrões</Portuguese>
<Czech>Importovat současný/standardní sady vybavení</Czech> <Czech>Importovat současný/standardní sady vybavení</Czech>
<Korean>현재/기본 로드아웃 을 불러옵니다</Korean>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_statPotassium"> <Key ID="STR_ACE_Arsenal_statPotassium">
<English>Potassium levels</English> <English>Potassium levels</English>
@ -1110,6 +1145,7 @@
<Czech>Úrovně draslíku</Czech> <Czech>Úrovně draslíku</Czech>
<Turkish>Potasyum seviyeleri</Turkish> <Turkish>Potasyum seviyeleri</Turkish>
<Japanese>カリウム含有量</Japanese> <Japanese>カリウム含有量</Japanese>
<Korean>칼륨 레벨</Korean>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_statMagnification"> <Key ID="STR_ACE_Arsenal_statMagnification">
<English>Magnification</English> <English>Magnification</English>
@ -1138,8 +1174,10 @@
<Portuguese>Suporte de Visão Noturna</Portuguese> <Portuguese>Suporte de Visão Noturna</Portuguese>
<French>Support JVN</French> <French>Support JVN</French>
<Chinese>夜視鏡支援</Chinese> <Chinese>夜視鏡支援</Chinese>
<Chinesesimp>支持夜视仪</Chinesesimp>
<Czech>Podpora nočního vidění</Czech> <Czech>Podpora nočního vidění</Czech>
<Turkish>Gece Görüş Desteği</Turkish> <Turkish>Gece Görüş Desteği</Turkish>
<Korean>야간투시 지원여부</Korean>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_statVisionMode_supPrim"> <Key ID="STR_ACE_Arsenal_statVisionMode_supPrim">
<English>Primary supported</English> <English>Primary supported</English>
@ -1152,7 +1190,9 @@
<Portuguese>Primária suportada</Portuguese> <Portuguese>Primária suportada</Portuguese>
<French>Primaire supportée</French> <French>Primaire supportée</French>
<Chinese>主武器支援</Chinese> <Chinese>主武器支援</Chinese>
<Chinesesimp>主镜支持</Chinesesimp>
<Czech>Hlavní část hledí podporuje</Czech> <Czech>Hlavní část hledí podporuje</Czech>
<Korean>주무기 지원여부</Korean>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_statVisionMode_supSec"> <Key ID="STR_ACE_Arsenal_statVisionMode_supSec">
<English>Secondary supported</English> <English>Secondary supported</English>
@ -1165,7 +1205,9 @@
<Portuguese>Secundária suportada</Portuguese> <Portuguese>Secundária suportada</Portuguese>
<French>Secondaire supportée</French> <French>Secondaire supportée</French>
<Chinese>次要武器支援</Chinese> <Chinese>次要武器支援</Chinese>
<Chinesesimp>副镜支持</Chinesesimp>
<Czech>Vedlejší část hledí podporuje</Czech> <Czech>Vedlejší část hledí podporuje</Czech>
<Korean>보조무기 지원여부</Korean>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_statVisionMode_IntPrim"> <Key ID="STR_ACE_Arsenal_statVisionMode_IntPrim">
<English>Primary integrated</English> <English>Primary integrated</English>
@ -1178,7 +1220,9 @@
<Portuguese>Primária integrada</Portuguese> <Portuguese>Primária integrada</Portuguese>
<French>Primaire intégrée</French> <French>Primaire intégrée</French>
<Chinese>整合主武器</Chinese> <Chinese>整合主武器</Chinese>
<Chinesesimp>主镜内置</Chinesesimp>
<Czech>Integrováno do hlavní části hledí</Czech> <Czech>Integrováno do hlavní části hledí</Czech>
<Korean>주무기 내장여부</Korean>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_statVisionMode_NoSup"> <Key ID="STR_ACE_Arsenal_statVisionMode_NoSup">
<English>Not Supported</English> <English>Not Supported</English>
@ -1191,8 +1235,10 @@
<Portuguese>Não suportado</Portuguese> <Portuguese>Não suportado</Portuguese>
<French>Non supporté</French> <French>Non supporté</French>
<Chinese>不支援</Chinese> <Chinese>不支援</Chinese>
<Chinesesimp>不支持</Chinesesimp>
<Czech>Není podporováno</Czech> <Czech>Není podporováno</Czech>
<Turkish>Desteklenmiyor</Turkish> <Turkish>Desteklenmiyor</Turkish>
<Korean>지원되지 않음</Korean>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_page"> <Key ID="STR_ACE_Arsenal_page">
<English>Page</English> <English>Page</English>
@ -1208,6 +1254,7 @@
<Portuguese>Página</Portuguese> <Portuguese>Página</Portuguese>
<Czech>Stránka</Czech> <Czech>Stránka</Czech>
<Turkish>Sayfa</Turkish> <Turkish>Sayfa</Turkish>
<Korean>페이지</Korean>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_enableIdentityTabsSettings"> <Key ID="STR_ACE_Arsenal_enableIdentityTabsSettings">
<English>Enable the faces / voices / insignias tabs</English> <English>Enable the faces / voices / insignias tabs</English>
@ -1215,7 +1262,7 @@
<German>Aktiviere die Gesichter-, Stimmen- und Abzeichenübersicht</German> <German>Aktiviere die Gesichter-, Stimmen- und Abzeichenübersicht</German>
<French>Activer les onglets visages/voix/insignes</French> <French>Activer les onglets visages/voix/insignes</French>
<Japanese>顔 / 声 / 記章タブを有効化</Japanese> <Japanese>顔 / 声 / 記章タブを有効化</Japanese>
<Chinesesimp>启用脸谱/声音/徽章/选项 </Chinesesimp> <Chinesesimp>启用脸谱/语音/徽章选项</Chinesesimp>
<Chinese>啟用臉譜/聲音/徽章選項</Chinese> <Chinese>啟用臉譜/聲音/徽章選項</Chinese>
<Italian>Abilita volti, voci e insegne</Italian> <Italian>Abilita volti, voci e insegne</Italian>
<Polish>Aktywuj zakładki twarz / głos / insygnia</Polish> <Polish>Aktywuj zakładki twarz / głos / insygnia</Polish>
@ -1223,6 +1270,7 @@
<Portuguese>Ativar as abas de rostos / vozes / insígnias</Portuguese> <Portuguese>Ativar as abas de rostos / vozes / insígnias</Portuguese>
<Czech>Povolit záložky s tvářemi, hlasy a insigniemi</Czech> <Czech>Povolit záložky s tvářemi, hlasy a insigniemi</Czech>
<Turkish>Yüzler/sesler/peçler bölmelerini etkinleştir</Turkish> <Turkish>Yüzler/sesler/peçler bölmelerini etkinleştir</Turkish>
<Korean>얼굴/음성/부대마크 탭 활성화</Korean>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_buttonClearContainerTooltip"> <Key ID="STR_ACE_Arsenal_buttonClearContainerTooltip">
<English>Empty the selected container</English> <English>Empty the selected container</English>
@ -1230,13 +1278,14 @@
<German>Aktuellen Container leeren</German> <German>Aktuellen Container leeren</German>
<French>Vider le conteneur selectionné</French> <French>Vider le conteneur selectionné</French>
<Japanese>選択されたコンテナは空です</Japanese> <Japanese>選択されたコンテナは空です</Japanese>
<Chinesesimp>选择的箱子是空的</Chinesesimp> <Chinesesimp>选择的容器是空的</Chinesesimp>
<Chinese>清空選擇的箱子</Chinese> <Chinese>清空選擇的箱子</Chinese>
<Italian>Svuota il contenitore selezionato</Italian> <Italian>Svuota il contenitore selezionato</Italian>
<Polish>Opróżnij wybrany pojemnik</Polish> <Polish>Opróżnij wybrany pojemnik</Polish>
<Russian>Очистить контейнер</Russian> <Russian>Очистить контейнер</Russian>
<Portuguese>Esvaziar o cointâiner selecionado</Portuguese> <Portuguese>Esvaziar o cointâiner selecionado</Portuguese>
<Czech>Vyprázdnit vybraný nosič</Czech> <Czech>Vyprázdnit vybraný nosič</Czech>
<Korean>선택한 보관함 비우기</Korean>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_exportedClassnameText"> <Key ID="STR_ACE_Arsenal_exportedClassnameText">
<English>Exported class name to clipboard</English> <English>Exported class name to clipboard</English>
@ -1244,13 +1293,14 @@
<German>Der Klassenname wurde in die Zwischenablage exportiert</German> <German>Der Klassenname wurde in die Zwischenablage exportiert</German>
<French>Nom de classe exporté dans le presse papier.</French> <French>Nom de classe exporté dans le presse papier.</French>
<Japanese>クリップボードへクラスネームをエクスポート</Japanese> <Japanese>クリップボードへクラスネームをエクスポート</Japanese>
<Chinesesimp>类复制到剪贴板</Chinesesimp> <Chinesesimp>将类复制到剪贴板</Chinesesimp>
<Chinese>輸出 class name 到剪貼簿上</Chinese> <Chinese>輸出 class name 到剪貼簿上</Chinese>
<Italian>Copiato il nome della classe negli appunti</Italian> <Italian>Copiato il nome della classe negli appunti</Italian>
<Polish>Wyeksportowano nazwę klasy do schowka</Polish> <Polish>Wyeksportowano nazwę klasy do schowka</Polish>
<Russian>Имя класса, экспортированного в буфер</Russian> <Russian>Имя класса, экспортированного в буфер</Russian>
<Portuguese>O nome da classe foi exportado para a área de transferência</Portuguese> <Portuguese>O nome da classe foi exportado para a área de transferência</Portuguese>
<Czech>Jméno třídy exportováno do schránky</Czech> <Czech>Jméno třídy exportováno do schránky</Czech>
<Korean>클래스 이름 복사하기</Korean>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_Mode"> <Key ID="STR_ACE_Arsenal_Mode">
<English>Mode</English> <English>Mode</English>
@ -1296,8 +1346,10 @@
<Portuguese>Lista Negra</Portuguese> <Portuguese>Lista Negra</Portuguese>
<French>Liste noire</French> <French>Liste noire</French>
<Chinese>黑名單</Chinese> <Chinese>黑名單</Chinese>
<Chinesesimp>黑名单</Chinesesimp>
<Czech>Seznam zakázaných</Czech> <Czech>Seznam zakázaných</Czech>
<Turkish>Kara Liste</Turkish> <Turkish>Kara Liste</Turkish>
<Korean>블랙리스트</Korean>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_Items"> <Key ID="STR_ACE_Arsenal_Items">
<English>Items</English> <English>Items</English>
@ -1326,7 +1378,9 @@
<Russian>Экспорт текущего списка предметов в виде массива для использования в скриптах</Russian> <Russian>Экспорт текущего списка предметов в виде массива для использования в скриптах</Russian>
<French>Exporte l'équipement actuel dans le presse-papier, sous la forme d'un tableau à utiliser dans les scripts.</French> <French>Exporte l'équipement actuel dans le presse-papier, sous la forme d'un tableau à utiliser dans les scripts.</French>
<Chinese>匯出目前的物品列表為陣列用於腳本編寫</Chinese> <Chinese>匯出目前的物品列表為陣列用於腳本編寫</Chinese>
<Chinesesimp>导出目前的物品列表为排列以用于脚本编写</Chinesesimp>
<Czech>Exportovat současný seznam předmětů jako pole pro použití ve skriptech</Czech> <Czech>Exportovat současný seznam předmětů jako pole pro použití ve skriptech</Czech>
<Korean>스크립트에서 사용을 위해 현재 항목 목록을 배열로 내보내기</Korean>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_AttributeImport_Tooltip"> <Key ID="STR_ACE_Arsenal_AttributeImport_Tooltip">
<English>Import items list array from clipboard (should be the same format as export)</English> <English>Import items list array from clipboard (should be the same format as export)</English>
@ -1338,8 +1392,10 @@
<Portuguese>Importar lista de itens da área de transferência (deve estar no mesmo formato que uma lista exportada)</Portuguese> <Portuguese>Importar lista de itens da área de transferência (deve estar no mesmo formato que uma lista exportada)</Portuguese>
<French>Importe un tableau d'équipements depuis le presse-papier (le format doit être identique à celui de l'exportation).</French> <French>Importe un tableau d'équipements depuis le presse-papier (le format doit être identique à celui de l'exportation).</French>
<Chinese>從剪貼簿匯入物品列表之陣列(應該與匯出的格式一樣)</Chinese> <Chinese>從剪貼簿匯入物品列表之陣列(應該與匯出的格式一樣)</Chinese>
<Chinesesimp>从剪贴板导入物品列表排列(应与导出的格式一样)</Chinesesimp>
<Italian>Importa elenco appunti (deve essere nello stesso formato di un elenco esportato)</Italian> <Italian>Importa elenco appunti (deve essere nello stesso formato di un elenco esportato)</Italian>
<Czech>Importovat pole se seznamem předmětů ze schránky (měl by být ve stejném formátu jako export)</Czech> <Czech>Importovat pole se seznamem předmětů ze schránky (měl by být ve stejném formátu jako export)</Czech>
<Korean>클립보드에서 항목 목록을 배열로 가져옵니다(내보내기와 동일한 형식이어야 함).</Korean>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_AttributeAddCompatible_DisplayName"> <Key ID="STR_ACE_Arsenal_AttributeAddCompatible_DisplayName">
<English>Add Compatible Items</English> <English>Add Compatible Items</English>
@ -1351,8 +1407,10 @@
<Portuguese>Adicionar itens compatíveis</Portuguese> <Portuguese>Adicionar itens compatíveis</Portuguese>
<French>Ajouter des objets compatibles</French> <French>Ajouter des objets compatibles</French>
<Chinese>增加相容的物品</Chinese> <Chinese>增加相容的物品</Chinese>
<Chinesesimp>添加兼容物品</Chinesesimp>
<Italian>Aggiungi Oggetti Compatibili</Italian> <Italian>Aggiungi Oggetti Compatibili</Italian>
<Czech>Přidat kompatibilní předměty</Czech> <Czech>Přidat kompatibilní předměty</Czech>
<Korean>호환 아이템 추가</Korean>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_AttributeAddCompatible_Tooltip"> <Key ID="STR_ACE_Arsenal_AttributeAddCompatible_Tooltip">
<English>Will automatically add compatible attachments or magazines (based on selected category) for all weapons in current items list</English> <English>Will automatically add compatible attachments or magazines (based on selected category) for all weapons in current items list</English>
@ -1364,8 +1422,10 @@
<Portuguese>Irá automaticamente adicionar acessórios ou carregadores (baseado na categoria selecionada) para todas as armas na lista de itens atual</Portuguese> <Portuguese>Irá automaticamente adicionar acessórios ou carregadores (baseado na categoria selecionada) para todas as armas na lista de itens atual</Portuguese>
<French>Ajoute automatiquement des accessoires ou des chargeurs compatibles (en fonction de la catégorie sélectionnée), pour toutes les armes de la liste actuelle.</French> <French>Ajoute automatiquement des accessoires ou des chargeurs compatibles (en fonction de la catégorie sélectionnée), pour toutes les armes de la liste actuelle.</French>
<Chinese>將會自動增加相容的配件以及彈匣(基於選擇的類型)至妳目前物品列表中的全部武器</Chinese> <Chinese>將會自動增加相容的配件以及彈匣(基於選擇的類型)至妳目前物品列表中的全部武器</Chinese>
<Chinesesimp>将自动为当前物品列表中的所有武器添加兼容的配件或弹匣(基于选定的类别)</Chinesesimp>
<Italian>Aggiungerà automaticamente accessori o caricatori (in base alla categoria selezionata) per tutte le armi nell'elenco degli oggetti correnti</Italian> <Italian>Aggiungerà automaticamente accessori o caricatori (in base alla categoria selezionata) per tutte le armi nell'elenco degli oggetti correnti</Italian>
<Czech>Automaticky přídá kompatibilní zásobníky (na základě vybrané kategorie) ro všechny zbraně v současném seznamu předmětů</Czech> <Czech>Automaticky přídá kompatibilní zásobníky (na základě vybrané kategorie) ro všechny zbraně v současném seznamu předmětů</Czech>
<Korean>현재 아이템 목록에 있는 모든 무기에 해당하는부착물과 탄창(선택한 카테고리에 따라)을 자동으로 추가합니다.</Korean>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_statTTL"> <Key ID="STR_ACE_Arsenal_statTTL">
<English>Time to live</English> <English>Time to live</English>
@ -1378,8 +1438,10 @@
<Russian>Время действия</Russian> <Russian>Время действия</Russian>
<Portuguese>Time to live</Portuguese> <Portuguese>Time to live</Portuguese>
<Chinese>有效時間</Chinese> <Chinese>有效時間</Chinese>
<Chinesesimp>有效时间</Chinesesimp>
<Czech>Time to live</Czech> <Czech>Time to live</Czech>
<Turkish>Bitme Süresi</Turkish> <Turkish>Bitme Süresi</Turkish>
<Korean>유효 시간</Korean>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_StatExplosionTime"> <Key ID="STR_ACE_Arsenal_StatExplosionTime">
<English>Fuse Time</English> <English>Fuse Time</English>
@ -1389,6 +1451,8 @@
<Japanese>信管設定時間</Japanese> <Japanese>信管設定時間</Japanese>
<Spanish>Tiempo de espoleta</Spanish> <Spanish>Tiempo de espoleta</Spanish>
<German>Detonationsverzögerung</German> <German>Detonationsverzögerung</German>
<Chinesesimp>引信时间</Chinesesimp>
<Korean>신관 시간</Korean>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_DetonatesOnImpact"> <Key ID="STR_ACE_Arsenal_DetonatesOnImpact">
<English>Detonates on impact</English> <English>Detonates on impact</English>
@ -1398,6 +1462,17 @@
<Polish>Detonuj przy uderzeniu</Polish> <Polish>Detonuj przy uderzeniu</Polish>
<Japanese>着発信管</Japanese> <Japanese>着発信管</Japanese>
<Spanish>Detona mediante impacto</Spanish> <Spanish>Detona mediante impacto</Spanish>
<Chinesesimp>碰炸引信</Chinesesimp>
<Korean>충격 신관</Korean>
</Key>
<Key ID="STR_ACE_Arsenal_loadoutsSaveFaceSetting">
<English>Save Face</English>
</Key>
<Key ID="STR_ACE_Arsenal_loadoutsSaveVoiceSetting">
<English>Save Voice</English>
</Key>
<Key ID="STR_ACE_Arsenal_loadoutsSaveInsigniaSetting">
<English>Save Insignia</English>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -19,7 +19,7 @@
params ["_player", "_turret"]; params ["_player", "_turret"];
private _vehicle = vehicle _player; private _vehicle = vehicle _player;
private _typeOf = typeOf _vehicle; private _typeOf = typeOf _vehicle;
private _vehicleCfg = configFile >> "CfgVehicles" >> _typeOf; private _vehicleCfg = configOf _vehicle;
// config "ace_artillerytables_showGunLaying" [0 disabled, 1 enabled, 2 enabled w/ alt elevationMode] falls back to artilleryScanner // config "ace_artillerytables_showGunLaying" [0 disabled, 1 enabled, 2 enabled w/ alt elevationMode] falls back to artilleryScanner
private _showGunLaying = if (isNumber (_vehicleCfg >> QGVAR(showGunLaying))) then { private _showGunLaying = if (isNumber (_vehicleCfg >> QGVAR(showGunLaying))) then {

View File

@ -5,6 +5,7 @@
<English>Artillery Rangetable</English> <English>Artillery Rangetable</English>
<German>Artillerieschusstafel</German> <German>Artillerieschusstafel</German>
<Chinese>火炮射程表</Chinese> <Chinese>火炮射程表</Chinese>
<Chinesesimp>火炮射表</Chinesesimp>
<Italian>Tavola balistica per artigliria </Italian> <Italian>Tavola balistica per artigliria </Italian>
<Czech>Dělostřelecké tabulky střelby</Czech> <Czech>Dělostřelecké tabulky střelby</Czech>
<Japanese>火砲射表</Japanese> <Japanese>火砲射表</Japanese>
@ -14,11 +15,13 @@
<Spanish>Tabla de distancias de artillería</Spanish> <Spanish>Tabla de distancias de artillería</Spanish>
<Turkish>Topçu Menzil Tablosu</Turkish> <Turkish>Topçu Menzil Tablosu</Turkish>
<Russian>Артиллерийская баллистическая таблица</Russian> <Russian>Артиллерийская баллистическая таблица</Russian>
<Korean>포병 사격거리표</Korean>
</Key> </Key>
<Key ID="STR_ACE_ArtilleryTables_rangetable_description"> <Key ID="STR_ACE_ArtilleryTables_rangetable_description">
<English>Universal Artillery Rangetable</English> <English>Universal Artillery Rangetable</English>
<German>Universale Artillerieschusstafel</German> <German>Universale Artillerieschusstafel</German>
<Chinese>通用的火炮射程表</Chinese> <Chinese>通用的火炮射程表</Chinese>
<Chinesesimp>通用火炮射表</Chinesesimp>
<Italian>Tavola balistica universale per artiglieria</Italian> <Italian>Tavola balistica universale per artiglieria</Italian>
<Czech>Univerzální dělostřelecká tabulka střelby</Czech> <Czech>Univerzální dělostřelecká tabulka střelby</Czech>
<Japanese>汎用の火砲用射程表</Japanese> <Japanese>汎用の火砲用射程表</Japanese>
@ -28,6 +31,7 @@
<Spanish>Tabla de distancias universal de artillería</Spanish> <Spanish>Tabla de distancias universal de artillería</Spanish>
<Turkish>Uluslar arası Topçu Menzil Tablosu</Turkish> <Turkish>Uluslar arası Topçu Menzil Tablosu</Turkish>
<Russian>Универсальная артиллерийская баллистическая таблица</Russian> <Russian>Универсальная артиллерийская баллистическая таблица</Russian>
<Korean>범용 포병 사격거리표</Korean>
</Key> </Key>
<Key ID="STR_ACE_ArtilleryTables_advancedCorrections_displayName"> <Key ID="STR_ACE_ArtilleryTables_advancedCorrections_displayName">
<English>Air Resistance</English> <English>Air Resistance</English>
@ -59,7 +63,7 @@
<Italian>Per Proiettili dei Giocatori, simula la Resistenza dell'Aria e gli Effetti del Vento</Italian> <Italian>Per Proiettili dei Giocatori, simula la Resistenza dell'Aria e gli Effetti del Vento</Italian>
<Japanese>プレイヤが射撃すると、空気抵抗モデルと風による影響を与えます。</Japanese> <Japanese>プレイヤが射撃すると、空気抵抗モデルと風による影響を与えます。</Japanese>
<Korean>플레이어 사격시 공기저항과 바람에 영향을 받습니다</Korean> <Korean>플레이어 사격시 공기저항과 바람에 영향을 받습니다</Korean>
<Chinesesimp>设定由玩家射击的迫击炮,将会受到空气阻力与风力的影响</Chinesesimp> <Chinesesimp>设定由玩家射击的炮弹是否受到空气阻力与风力的影响</Chinesesimp>
<Chinese>設定由玩家射擊的迫擊砲,將會受到空氣阻力與風力的影響</Chinese> <Chinese>設定由玩家射擊的迫擊砲,將會受到空氣阻力與風力的影響</Chinese>
<Turkish>Oyuncu atışları, hava direnci ve rüzgar efektleri için</Turkish> <Turkish>Oyuncu atışları, hava direnci ve rüzgar efektleri için</Turkish>
</Key> </Key>
@ -67,6 +71,7 @@
<English>Artillery Computer Disabled</English> <English>Artillery Computer Disabled</English>
<German>Artilleriecomputer ausgeschaltet</German> <German>Artilleriecomputer ausgeschaltet</German>
<Chinese>停用火炮電腦</Chinese> <Chinese>停用火炮電腦</Chinese>
<Chinesesimp>停用弹道计算机</Chinesesimp>
<Italian>Computer artiglieria disattivato</Italian> <Italian>Computer artiglieria disattivato</Italian>
<Czech>Zakázat používání dělostřeleckého počítače</Czech> <Czech>Zakázat používání dělostřeleckého počítače</Czech>
<Japanese>砲撃コンピュータ無効化</Japanese> <Japanese>砲撃コンピュータ無効化</Japanese>
@ -76,11 +81,13 @@
<Spanish>Computadora de artillería deshabilitada</Spanish> <Spanish>Computadora de artillería deshabilitada</Spanish>
<Turkish>Topçu Bilgisayarı Devre Dışı</Turkish> <Turkish>Topçu Bilgisayarı Devre Dışı</Turkish>
<Russian>Артиллерийский Компьютер Отключён</Russian> <Russian>Артиллерийский Компьютер Отключён</Russian>
<Korean>탄도계산컴퓨터 비활성화</Korean>
</Key> </Key>
<Key ID="STR_ACE_ArtilleryTables_disableArtilleryComputer_description"> <Key ID="STR_ACE_ArtilleryTables_disableArtilleryComputer_description">
<English>Disable the vanilla artillery computers</English> <English>Disable the vanilla artillery computers</English>
<German>Deaktiviert die Vanilla-Artilleriecomputer</German> <German>Deaktiviert die Vanilla-Artilleriecomputer</German>
<Chinese>停用原本的火炮控制電腦</Chinese> <Chinese>停用原本的火炮控制電腦</Chinese>
<Chinesesimp>禁用游戏自带的弹道计算机</Chinesesimp>
<Italian>Disattiva il computer artiglieria vanilla</Italian> <Italian>Disattiva il computer artiglieria vanilla</Italian>
<Czech>Zakázat používání dělostřeleckého počítače základní hry</Czech> <Czech>Zakázat používání dělostřeleckého počítače základní hry</Czech>
<Japanese>ゲームの砲撃コンピュータを無効化します。</Japanese> <Japanese>ゲームの砲撃コンピュータを無効化します。</Japanese>
@ -90,6 +97,7 @@
<Spanish>Deshabilita la computadora de artillería por defecto de Arma 3</Spanish> <Spanish>Deshabilita la computadora de artillería por defecto de Arma 3</Spanish>
<Turkish>Topçu bilgisayarını devre dışı bırak</Turkish> <Turkish>Topçu bilgisayarını devre dışı bırak</Turkish>
<Russian>Отключить ванильный артиллерийский компьютер</Russian> <Russian>Отключить ванильный артиллерийский компьютер</Russian>
<Korean>바닐라 탄도계산컴퓨터를 비활성화 합니다.</Korean>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -32,7 +32,7 @@
<Japanese>ATragMX を開く</Japanese> <Japanese>ATragMX を開く</Japanese>
<Korean>ATragMX 열기</Korean> <Korean>ATragMX 열기</Korean>
<Chinese>開啟ATragMX</Chinese> <Chinese>開啟ATragMX</Chinese>
<Chinesesimp>开启ATragMX</Chinesesimp> <Chinesesimp>开启 ATragMX</Chinesesimp>
<Turkish>ATragMX'i aç</Turkish> <Turkish>ATragMX'i aç</Turkish>
</Key> </Key>
<Key ID="STR_ACE_ATragMX_Description"> <Key ID="STR_ACE_ATragMX_Description">
@ -49,7 +49,7 @@
<Japanese>ATragMX 付きの携行型端末</Japanese> <Japanese>ATragMX 付きの携行型端末</Japanese>
<Korean>ATragMX가 달린 PDA</Korean> <Korean>ATragMX가 달린 PDA</Korean>
<Chinese>裝有軍用PDA的ATragMX</Chinese> <Chinese>裝有軍用PDA的ATragMX</Chinese>
<Chinesesimp>装有军用PDA的ATragMX</Chinesesimp> <Chinesesimp>装有 ATragMX 的军用 PDA</Chinesesimp>
<Turkish>Rugged PDA with ATragMX</Turkish> <Turkish>Rugged PDA with ATragMX</Turkish>
</Key> </Key>
<Key ID="STR_ACE_ATragMX_ATragMXDialogKey"> <Key ID="STR_ACE_ATragMX_ATragMXDialogKey">
@ -66,7 +66,7 @@
<Japanese>ATragMX を開く</Japanese> <Japanese>ATragMX を開く</Japanese>
<Korean>ATragMX 열기</Korean> <Korean>ATragMX 열기</Korean>
<Chinese>開啟ATragMX</Chinese> <Chinese>開啟ATragMX</Chinese>
<Chinesesimp>开启ATragMX</Chinesesimp> <Chinesesimp>开启 ATragMX</Chinesesimp>
<Turkish>ATragMX'i aç</Turkish> <Turkish>ATragMX'i aç</Turkish>
</Key> </Key>
</Package> </Package>

View File

@ -13,7 +13,7 @@
<Hungarian>Tárgy hozzácsatolása</Hungarian> <Hungarian>Tárgy hozzácsatolása</Hungarian>
<Russian>Прикрепить предмет</Russian> <Russian>Прикрепить предмет</Russian>
<Japanese>アイテムを取り付ける</Japanese> <Japanese>アイテムを取り付ける</Japanese>
<Korean>물건 부착</Korean> <Korean>아이템 부착</Korean>
<Chinese>附掛裝備&gt;&gt;</Chinese> <Chinese>附掛裝備&gt;&gt;</Chinese>
<Chinesesimp>附挂装备&gt;&gt;</Chinesesimp> <Chinesesimp>附挂装备&gt;&gt;</Chinesesimp>
<Turkish>Eşyayı bağla</Turkish> <Turkish>Eşyayı bağla</Turkish>
@ -47,7 +47,7 @@
<Hungarian>Tárgy lecsatolása</Hungarian> <Hungarian>Tárgy lecsatolása</Hungarian>
<Russian>Отсоединить</Russian> <Russian>Отсоединить</Russian>
<Japanese>アイテムを外す</Japanese> <Japanese>アイテムを外す</Japanese>
<Korean>분리</Korean> <Korean>떼내기</Korean>
<Chinese>取下裝備</Chinese> <Chinese>取下裝備</Chinese>
<Chinesesimp>取下装备</Chinesesimp> <Chinesesimp>取下装备</Chinesesimp>
<Turkish>Eşyayı sök</Turkish> <Turkish>Eşyayı sök</Turkish>
@ -66,7 +66,7 @@
<Japanese>赤外線ストロボを取り付けました</Japanese> <Japanese>赤外線ストロボを取り付けました</Japanese>
<Korean>적외선 스트로브 부착됨</Korean> <Korean>적외선 스트로브 부착됨</Korean>
<Chinese>已附掛紅外線頻閃器</Chinese> <Chinese>已附掛紅外線頻閃器</Chinese>
<Chinesesimp>已附挂红外线频闪器</Chinesesimp> <Chinesesimp>已附挂红外频闪器</Chinesesimp>
<Turkish>IR Strobe Bağlandı</Turkish> <Turkish>IR Strobe Bağlandı</Turkish>
</Key> </Key>
<Key ID="STR_ACE_Attach_IrStrobe_Detached"> <Key ID="STR_ACE_Attach_IrStrobe_Detached">
@ -81,9 +81,9 @@
<Hungarian>Infravörös jeladó lecsatolva</Hungarian> <Hungarian>Infravörös jeladó lecsatolva</Hungarian>
<Russian>ИК-маяк отсоединён</Russian> <Russian>ИК-маяк отсоединён</Russian>
<Japanese>赤外線ストロボを外しました</Japanese> <Japanese>赤外線ストロボを外しました</Japanese>
<Korean>적외선 스트로브 분리됨</Korean> <Korean>적외선 스트로브 떼어냄</Korean>
<Chinese>已取下紅外線頻閃器</Chinese> <Chinese>已取下紅外線頻閃器</Chinese>
<Chinesesimp>已取下红外线频闪器</Chinesesimp> <Chinesesimp>已取下红外频闪器</Chinesesimp>
<Turkish>IR Strobe Söküldü</Turkish> <Turkish>IR Strobe Söküldü</Turkish>
</Key> </Key>
<Key ID="STR_ACE_Attach_IrGrenade_Attached"> <Key ID="STR_ACE_Attach_IrGrenade_Attached">
@ -100,7 +100,7 @@
<Japanese>赤外線グレネードを取り付けました</Japanese> <Japanese>赤外線グレネードを取り付けました</Japanese>
<Korean>적외선 수류탄 부착됨</Korean> <Korean>적외선 수류탄 부착됨</Korean>
<Chinese>已附掛紅外線手榴彈</Chinese> <Chinese>已附掛紅外線手榴彈</Chinese>
<Chinesesimp>已附挂红外线手榴弹</Chinesesimp> <Chinesesimp>已附挂红外手雷</Chinesesimp>
<Turkish>IR Bombası Bağlandı</Turkish> <Turkish>IR Bombası Bağlandı</Turkish>
</Key> </Key>
<Key ID="STR_ACE_Attach_IrGrenade_Detached"> <Key ID="STR_ACE_Attach_IrGrenade_Detached">
@ -115,9 +115,9 @@
<Hungarian>Infravörös gránát lecsatolva</Hungarian> <Hungarian>Infravörös gránát lecsatolva</Hungarian>
<Russian>ИК-граната отсоединена</Russian> <Russian>ИК-граната отсоединена</Russian>
<Japanese>赤外線グレネードを外しました</Japanese> <Japanese>赤外線グレネードを外しました</Japanese>
<Korean>적외선 수류탄 분리됨</Korean> <Korean>적외선 수류탄 떼어냄</Korean>
<Chinese>已取下紅外線手榴彈</Chinese> <Chinese>已取下紅外線手榴彈</Chinese>
<Chinesesimp>已取下红外线手榴弹</Chinesesimp> <Chinesesimp>已取下红外手雷</Chinesesimp>
<Turkish>IR Bombası Söküldü</Turkish> <Turkish>IR Bombası Söküldü</Turkish>
</Key> </Key>
<Key ID="STR_ACE_Attach_Chemlight_Attached"> <Key ID="STR_ACE_Attach_Chemlight_Attached">
@ -134,7 +134,7 @@
<Japanese>ケミライトを取り付けました</Japanese> <Japanese>ケミライトを取り付けました</Japanese>
<Korean>켐라이트 부착됨</Korean> <Korean>켐라이트 부착됨</Korean>
<Chinese>已附掛螢光棒</Chinese> <Chinese>已附掛螢光棒</Chinese>
<Chinesesimp>已附挂光棒</Chinesesimp> <Chinesesimp>已附挂光棒</Chinesesimp>
<Turkish>ık Çubuğu Bağlandı</Turkish> <Turkish>ık Çubuğu Bağlandı</Turkish>
</Key> </Key>
<Key ID="STR_ACE_Attach_Chemlight_Detached"> <Key ID="STR_ACE_Attach_Chemlight_Detached">
@ -149,9 +149,9 @@
<Hungarian>Chemlight hozzácsatolva</Hungarian> <Hungarian>Chemlight hozzácsatolva</Hungarian>
<Russian>Химсвет отсоединён</Russian> <Russian>Химсвет отсоединён</Russian>
<Japanese>ケミライトを外しました</Japanese> <Japanese>ケミライトを外しました</Japanese>
<Korean>켐라이트 분리됨</Korean> <Korean>켐라이트 떼어냄</Korean>
<Chinese>已取下螢光棒</Chinese> <Chinese>已取下螢光棒</Chinese>
<Chinesesimp>已取下光棒</Chinesesimp> <Chinesesimp>已取下光棒</Chinesesimp>
<Turkish>ık Çubuğu Söküldü</Turkish> <Turkish>ık Çubuğu Söküldü</Turkish>
</Key> </Key>
<Key ID="STR_ACE_Attach_IrStrobe_Name"> <Key ID="STR_ACE_Attach_IrStrobe_Name">
@ -168,7 +168,7 @@
<Japanese>赤外線ストロボ</Japanese> <Japanese>赤外線ストロボ</Japanese>
<Korean>적외선 스트로브</Korean> <Korean>적외선 스트로브</Korean>
<Chinese>紅外線頻閃器</Chinese> <Chinese>紅外線頻閃器</Chinese>
<Chinesesimp>红外线频闪器</Chinesesimp> <Chinesesimp>红外频闪器</Chinesesimp>
<Turkish>IR Stroboskop</Turkish> <Turkish>IR Stroboskop</Turkish>
</Key> </Key>
<Key ID="STR_ACE_Attach_IrStrobe_Description"> <Key ID="STR_ACE_Attach_IrStrobe_Description">
@ -185,7 +185,7 @@
<Japanese>赤外線ストロボはあなたの位置を知らせますが、夜間暗視装置を介してでしか見れません。</Japanese> <Japanese>赤外線ストロボはあなたの位置を知らせますが、夜間暗視装置を介してでしか見れません。</Japanese>
<Korean>적외선 스트로브는 자신의 위치를 반짝이면서 표시합니다. 이는 야간투시경으로 밖에 보지 못합니다.</Korean> <Korean>적외선 스트로브는 자신의 위치를 반짝이면서 표시합니다. 이는 야간투시경으로 밖에 보지 못합니다.</Korean>
<Chinese>紅外線閃頻器,藉由紅外線閃頻信號來辨識你的位置,僅能使用夜視系統來辨識紅外線信號</Chinese> <Chinese>紅外線閃頻器,藉由紅外線閃頻信號來辨識你的位置,僅能使用夜視系統來辨識紅外線信號</Chinese>
<Chinesesimp>红外线闪频器,藉由红外线闪频信号来辨识你的位置,仅能使用夜视系统来辨识红外线信号</Chinesesimp> <Chinesesimp>红外频闪器制造只有用夜视仪才能看到的频闪信标,发出一个位置信号。</Chinesesimp>
<Turkish>IR Stroboskop, yalnızca gece görüşlerinden gözükebilen titreşimli bir ışık aracılığıyla konumunuzu gösterir.</Turkish> <Turkish>IR Stroboskop, yalnızca gece görüşlerinden gözükebilen titreşimli bir ışık aracılığıyla konumunuzu gösterir.</Turkish>
</Key> </Key>
<Key ID="STR_ACE_Attach_PlaceAction"> <Key ID="STR_ACE_Attach_PlaceAction">
@ -200,7 +200,7 @@
<Hungarian>Elhelyez</Hungarian> <Hungarian>Elhelyez</Hungarian>
<Russian>Установить</Russian> <Russian>Установить</Russian>
<Japanese>置く</Japanese> <Japanese>置く</Japanese>
<Korean></Korean> <Korean></Korean>
<Chinese>放置</Chinese> <Chinese>放置</Chinese>
<Chinesesimp>放置</Chinesesimp> <Chinesesimp>放置</Chinesesimp>
<Turkish>Yerleştir</Turkish> <Turkish>Yerleştir</Turkish>
@ -268,7 +268,7 @@
<Hungarian>%1&lt;br/&gt;lecsatolva</Hungarian> <Hungarian>%1&lt;br/&gt;lecsatolva</Hungarian>
<Russian>%1&lt;br/&gt;отсоединен(-а)</Russian> <Russian>%1&lt;br/&gt;отсоединен(-а)</Russian>
<Japanese>%1&lt;br/&gt;を外しました</Japanese> <Japanese>%1&lt;br/&gt;を外しました</Japanese>
<Korean>%1&lt;br/&gt;분리됨</Korean> <Korean>%1&lt;br/&gt;떼어냄</Korean>
<Chinese>%1&lt;br/&gt;已取下</Chinese> <Chinese>%1&lt;br/&gt;已取下</Chinese>
<Chinesesimp>%1&lt;br/&gt;已取下</Chinesesimp> <Chinesesimp>%1&lt;br/&gt;已取下</Chinesesimp>
<Turkish>%1&lt;br/&gt;Söküldü</Turkish> <Turkish>%1&lt;br/&gt;Söküldü</Turkish>

View File

@ -17,10 +17,10 @@
params [["_backpack", objNull, [objNull, ""]]]; params [["_backpack", objNull, [objNull, ""]]];
if (_backpack isEqualType objNull) then { private _config = if (_backpack isEqualType objNull) then {
_backpack = typeOf _backpack; configOf _backpack
} else {
configFile >> "CfgVehicles" >> _backpack
}; };
private _config = configFile >> "CfgVehicles" >> _backpack;
getText (_config >> "vehicleClass") == "backpacks" && {getNumber (_config >> "maximumLoad") > 0} // return getText (_config >> "vehicleClass") == "backpacks" && {getNumber (_config >> "maximumLoad") > 0} // return

View File

@ -101,7 +101,7 @@ class CfgWeapons {
// Rifle_Long_Base_F MG // Rifle_Long_Base_F MG
// Stoner 99 LMG // Stoner 99 LMG
class LMG_Mk200_F: Rifle_Long_Base_F { class LMG_Mk200_F: Rifle_Long_Base_F {
ACE_barrelLength = 317.5; ACE_barrelLength = 381;
ACE_barrelTwist = 177.8; ACE_barrelTwist = 177.8;
initSpeed = -0.999327; initSpeed = -0.999327;
}; };

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@ class CfgVehicles {
class ACE_ApplyHandcuffs { class ACE_ApplyHandcuffs {
displayName = CSTRING(SetCaptive); displayName = CSTRING(SetCaptive);
selection = "righthand"; selection = "righthand";
distance = 2; distance = HANDCUFFS_DISTANCE;
condition = QUOTE([ARR_2(_player, _target)] call FUNC(canApplyHandcuffs)); condition = QUOTE([ARR_2(_player, _target)] call FUNC(canApplyHandcuffs));
statement = QUOTE([ARR_2(_player, _target)] call FUNC(doApplyHandcuffs)); statement = QUOTE([ARR_2(_player, _target)] call FUNC(doApplyHandcuffs));
exceptions[] = {"isNotSwimming", "isNotInside"}; exceptions[] = {"isNotSwimming", "isNotInside"};
@ -16,7 +16,7 @@ class CfgVehicles {
class ACE_RemoveHandcuffs { class ACE_RemoveHandcuffs {
displayName = CSTRING(ReleaseCaptive); displayName = CSTRING(ReleaseCaptive);
selection = "righthand"; selection = "righthand";
distance = 2; distance = HANDCUFFS_DISTANCE;
condition = QUOTE([ARR_2(_player, _target)] call FUNC(canRemoveHandcuffs)); condition = QUOTE([ARR_2(_player, _target)] call FUNC(canRemoveHandcuffs));
statement = QUOTE([ARR_2(_player, _target)] call FUNC(doRemoveHandcuffs)); statement = QUOTE([ARR_2(_player, _target)] call FUNC(doRemoveHandcuffs));
exceptions[] = {"isNotSwimming", "isNotInside"}; exceptions[] = {"isNotSwimming", "isNotInside"};

View File

@ -41,7 +41,7 @@ if (!hasInterface) exitWith {};
private _target = cursorObject; private _target = cursorObject;
if !([ACE_player, _target, []] call EFUNC(common,canInteractWith)) exitWith {false}; if !([ACE_player, _target, []] call EFUNC(common,canInteractWith)) exitWith {false};
if !(_target isKindOf "CAManBase") exitWith {false}; if !(_target isKindOf "CAManBase") exitWith {false};
if ((_target distance ACE_player) > getNumber (configFile >> "CfgVehicles" >> "CAManBase" >> "ACE_Actions" >> "ACE_ApplyHandcuffs" >> "distance")) exitWith {false}; if ((_target distance ACE_player) > getNumber (configOf ACE_player >> "ACE_Actions" >> "ACE_ApplyHandcuffs" >> "distance")) exitWith {false};
if ([ACE_player, _target] call FUNC(canApplyHandcuffs)) exitWith { if ([ACE_player, _target] call FUNC(canApplyHandcuffs)) exitWith {
[ACE_player, _target] call FUNC(doApplyHandcuffs); [ACE_player, _target] call FUNC(doApplyHandcuffs);

View File

@ -20,18 +20,21 @@ TRACE_1("params", _vehicle);
scopeName "main"; scopeName "main";
private _seats = fullCrew [_vehicle, "", true];
reverse _seats;
{ {
_x params ["_unit", "_role", "_cargoIndex", "_turretPath", "_isPersonTurret"]; _x params ["_unit", "_role", "_cargoIndex", "_turretPath", "_isPersonTurret"];
if (isNull _unit && {_role == "cargo"} && {_cargoIndex > -1} && {!_isPersonTurret}) then { if (isNull _unit && {_role == "cargo"} && {_cargoIndex > -1} && {!_isPersonTurret}) then {
[_cargoIndex, false] breakOut "main"; [_cargoIndex, false] breakOut "main";
}; };
} forEach (fullCrew [_vehicle, "", true]); } forEach _seats;
{ {
_x params ["_unit", "_role", "_cargoIndex", "_turretPath", "_isPersonTurret"]; _x params ["_unit", "_role", "_cargoIndex", "_turretPath", "_isPersonTurret"];
if (isNull _unit && {_cargoIndex > -1}) then { if (isNull _unit && {_cargoIndex > -1}) then {
[_cargoIndex, true] breakOut "main"; [_cargoIndex, true] breakOut "main";
}; };
} forEach (fullCrew [_vehicle, "", true]); } forEach _seats;
[-1, false] [-1, false]

View File

@ -15,3 +15,5 @@
#endif #endif
#include "\z\ace\addons\main\script_macros.hpp" #include "\z\ace\addons\main\script_macros.hpp"
#define HANDCUFFS_DISTANCE 2

View File

@ -8,7 +8,7 @@
<Chinese>俘虜</Chinese> <Chinese>俘虜</Chinese>
<Chinesesimp>俘虏</Chinesesimp> <Chinesesimp>俘虏</Chinesesimp>
<Japanese>捕虜</Japanese> <Japanese>捕虜</Japanese>
<Korean>포로설정</Korean> <Korean>포로</Korean>
<Polish>Jeńcy</Polish> <Polish>Jeńcy</Polish>
<Russian>Пленные</Russian> <Russian>Пленные</Russian>
<Portuguese>Prisioneiros</Portuguese> <Portuguese>Prisioneiros</Portuguese>
@ -31,7 +31,7 @@
<Japanese>捕虜にする</Japanese> <Japanese>捕虜にする</Japanese>
<Korean>포박하기</Korean> <Korean>포박하기</Korean>
<Chinese>逮捕俘虜</Chinese> <Chinese>逮捕俘虜</Chinese>
<Chinesesimp>逮捕俘虏</Chinesesimp> <Chinesesimp>俘获</Chinesesimp>
<Turkish>Kelepçele</Turkish> <Turkish>Kelepçele</Turkish>
</Key> </Key>
<Key ID="STR_ACE_Captives_ReleaseCaptive"> <Key ID="STR_ACE_Captives_ReleaseCaptive">
@ -99,7 +99,7 @@
<Japanese>捕虜を取っている必要があります!</Japanese> <Japanese>捕虜を取っている必要があります!</Japanese>
<Korean>먼저 포로로 만들어야합니다!</Korean> <Korean>먼저 포로로 만들어야합니다!</Korean>
<Chinese>你必須先逮捕他!</Chinese> <Chinese>你必須先逮捕他!</Chinese>
<Chinesesimp>你必须先逮捕他!</Chinesesimp> <Chinesesimp>你必须先俘获他!</Chinesesimp>
<Turkish>Önce onu tutuklamalısın!</Turkish> <Turkish>Önce onu tutuklamalısın!</Turkish>
</Key> </Key>
<Key ID="STR_ACE_Captives_LoadCaptive"> <Key ID="STR_ACE_Captives_LoadCaptive">
@ -362,7 +362,7 @@
<Japanese>プレイヤーは拘束される前に、投降する必要があります。</Japanese> <Japanese>プレイヤーは拘束される前に、投降する必要があります。</Japanese>
<Korean>체포하기 전에 먼저 플레이어가 투항을 해야만 합니다</Korean> <Korean>체포하기 전에 먼저 플레이어가 투항을 해야만 합니다</Korean>
<Chinese>玩家須先要求目標投降,才可以進行逮捕</Chinese> <Chinese>玩家須先要求目標投降,才可以進行逮捕</Chinese>
<Chinesesimp>玩家须先要求目标投降,才可以进行逮捕</Chinesesimp> <Chinesesimp>玩家须先要求目标投降,才可以进行俘获</Chinesesimp>
</Key> </Key>
<Key ID="STR_ACE_Captives_SurrenderOnly"> <Key ID="STR_ACE_Captives_SurrenderOnly">
<English>Surrendering only</English> <English>Surrendering only</English>
@ -432,7 +432,7 @@
<Italian>Necessita arresa AI</Italian> <Italian>Necessita arresa AI</Italian>
<Japanese>AI の投降を必要とする</Japanese> <Japanese>AI の投降を必要とする</Japanese>
<Chinese>需要AI先行投降</Chinese> <Chinese>需要AI先行投降</Chinese>
<Chinesesimp>需要AI先行投降</Chinesesimp> <Chinesesimp>需要 AI 先行投降</Chinesesimp>
<Korean>AI 항복 필요</Korean> <Korean>AI 항복 필요</Korean>
<Polish>Wymaga poddania się przez SI</Polish> <Polish>Wymaga poddania się przez SI</Polish>
<Russian>Требовать ИИ сдаться для ареста</Russian> <Russian>Требовать ИИ сдаться для ареста</Russian>
@ -447,7 +447,7 @@
<Italian>Necessita che le AI si arrendano prima di essere arrestate</Italian> <Italian>Necessita che le AI si arrendano prima di essere arrestate</Italian>
<Japanese>AI の拘束は AI が投降している場合に限り可能にします。</Japanese> <Japanese>AI の拘束は AI が投降している場合に限り可能にします。</Japanese>
<Chinese>在逮捕AI之前該AI必須先進入投降狀態</Chinese> <Chinese>在逮捕AI之前該AI必須先進入投降狀態</Chinese>
<Chinesesimp>逮捕AI之前该AI必须先进入投降状态。</Chinesesimp> <Chinesesimp>俘获 AI 之前该 AI 必须先进入投降状态。</Chinesesimp>
<Korean>포박하기 전에 먼저 AI가 투항해야만 합니다.</Korean> <Korean>포박하기 전에 먼저 AI가 투항해야만 합니다.</Korean>
<Polish>Wymaga poddania się przez SI zanim aresztowanie będzie możliwe</Polish> <Polish>Wymaga poddania się przez SI zanim aresztowanie będzie możliwe</Polish>
<Russian>Требовать для ареста, чтобы ИИ вначале сдавались</Russian> <Russian>Требовать для ареста, чтобы ИИ вначале сдавались</Russian>
@ -462,7 +462,7 @@
<Japanese>カーソル先のユニットを拘束</Japanese> <Japanese>カーソル先のユニットを拘束</Japanese>
<Italian>Imposta l'unità nello stato di prigioniero.</Italian> <Italian>Imposta l'unità nello stato di prigioniero.</Italian>
<Chinese>設置在游標下的單位成俘虜狀態</Chinese> <Chinese>設置在游標下的單位成俘虜狀態</Chinese>
<Chinesesimp>设置在标下的单位成俘虏状态。</Chinesesimp> <Chinesesimp>设置在标下的单位成俘虏状态。</Chinesesimp>
<Korean>커서의 병력을 포박합니다.</Korean> <Korean>커서의 병력을 포박합니다.</Korean>
<Polish>Ustawia jednostkę pod kursorem jako jeniec.</Polish> <Polish>Ustawia jednostkę pod kursorem jako jeniec.</Polish>
<Russian>Арестовывает указанный курсором юнит</Russian> <Russian>Арестовывает указанный курсором юнит</Russian>

View File

@ -322,6 +322,11 @@ class CfgVehicles {
GVAR(canLoad) = 1; GVAR(canLoad) = 1;
}; };
// Invisible Target Soldier
class TargetSoldierBase: StaticWeapon {
GVAR(canLoad) = 0;
};
class StaticMortar; class StaticMortar;
class Mortar_01_base_F: StaticMortar { class Mortar_01_base_F: StaticMortar {
GVAR(size) = 2; // 1 = small, 2 = large GVAR(size) = 2; // 1 = small, 2 = large
@ -426,41 +431,43 @@ class CfgVehicles {
class Land_CanisterFuel_F: Items_base_F { class Land_CanisterFuel_F: Items_base_F {
GVAR(size) = 1; GVAR(size) = 1;
GVAR(canLoad) = 1; GVAR(canLoad) = 1;
EGVAR(cargo,noRename) = 1; GVAR(noRename) = 1;
}; };
// Flexible Fuel tanks, 300L // Flexible Fuel tanks, 300L
class FlexibleTank_base_F: ThingX { class FlexibleTank_base_F: ThingX {
GVAR(size) = 3; GVAR(size) = 3;
GVAR(canLoad) = 1; GVAR(canLoad) = 1;
GVAR(noRename) = 1;
}; };
// objects // objects
class RoadCone_F: ThingX { class RoadCone_F: ThingX {
GVAR(size) = 1; GVAR(size) = 1;
GVAR(canLoad) = 1; GVAR(canLoad) = 1;
EGVAR(cargo,noRename) = 1; GVAR(noRename) = 1;
}; };
class RoadBarrier_F: RoadCone_F { class RoadBarrier_F: RoadCone_F {
GVAR(size) = 2; GVAR(size) = 2;
GVAR(noRename) = 1;
}; };
class Lamps_base_F; class Lamps_base_F;
class Land_PortableLight_single_F: Lamps_base_F { class Land_PortableLight_single_F: Lamps_base_F {
GVAR(size) = 2; GVAR(size) = 2;
GVAR(canLoad) = 1; GVAR(canLoad) = 1;
EGVAR(cargo,noRename) = 1; GVAR(noRename) = 1;
}; };
class FloatingStructure_F; class FloatingStructure_F;
class Land_Camping_Light_F: FloatingStructure_F { class Land_Camping_Light_F: FloatingStructure_F {
GVAR(size) = 0.2; GVAR(size) = 0.2;
GVAR(canLoad) = 1; GVAR(canLoad) = 1;
EGVAR(cargo,noRename) = 1; GVAR(noRename) = 1;
}; };
class Land_Camping_Light_off_F: ThingX { class Land_Camping_Light_off_F: ThingX {
GVAR(size) = 0.2; GVAR(size) = 0.2;
GVAR(canLoad) = 1; GVAR(canLoad) = 1;
EGVAR(cargo,noRename) = 1; GVAR(noRename) = 1;
}; };

View File

@ -25,5 +25,6 @@ PREP(startLoadIn);
PREP(startUnload); PREP(startUnload);
PREP(unload); PREP(unload);
PREP(unloadAllVehicles); PREP(unloadAllVehicles);
PREP(unloadCarryItem);
PREP(unloadItem); PREP(unloadItem);
PREP(validateCargoSpace); PREP(validateCargoSpace);

View File

@ -50,8 +50,6 @@
GVAR(interactionParadrop) = false; GVAR(interactionParadrop) = false;
createDialog QGVAR(menu); createDialog QGVAR(menu);
}; };
// TOOO maybe drag/carry the unloaded item?
}] call CBA_fnc_addEventHandler; }] call CBA_fnc_addEventHandler;
[QGVAR(serverUnload), { [QGVAR(serverUnload), {
@ -101,7 +99,7 @@ GVAR(objectActions) = [
{(_target getVariable [QGVAR(canLoad), getNumber (configOf _target >> QGVAR(canLoad))]) in [true, 1]} && {(_target getVariable [QGVAR(canLoad), getNumber (configOf _target >> QGVAR(canLoad))]) in [true, 1]} &&
{alive _target} && {alive _target} &&
{[_player, _target, ["isNotSwimming"]] call EFUNC(common,canInteractWith)} && {[_player, _target, ["isNotSwimming"]] call EFUNC(common,canInteractWith)} &&
{(getNumber ((configOf _target) >> QGVAR(noRename))) == 0} {(_target getVariable [QGVAR(noRename), getNumber (configOf _target >> QGVAR(noRename))]) in [false, 0]}
} }
] call EFUNC(interact_menu,createAction), ] call EFUNC(interact_menu,createAction),
[QGVAR(load), localize LSTRING(loadObject), "a3\ui_f\data\IGUI\Cfg\Actions\loadVehicle_ca.paa", [QGVAR(load), localize LSTRING(loadObject), "a3\ui_f\data\IGUI\Cfg\Actions\loadVehicle_ca.paa",

View File

@ -35,7 +35,8 @@ if (_item isEqualType "") then {
} else { } else {
_validItem = _validItem =
(alive _item) && (alive _item) &&
{_ignoreInteraction || {([_item, _vehicle] call EFUNC(interaction,getInteractionDistance)) < MAX_LOAD_DISTANCE}}; {_ignoreInteraction || {([_item, _vehicle] call EFUNC(interaction,getInteractionDistance)) < MAX_LOAD_DISTANCE}} &&
{!(_item getVariable [QEGVAR(cookoff,isCookingOff), false])};
}; };
_validItem && _validItem &&

View File

@ -18,8 +18,11 @@
params ["_object", ["_addCustomPart", false]]; params ["_object", ["_addCustomPart", false]];
private _class = if (_object isEqualType "") then {_object} else {typeOf _object}; private _displayName = if (_object isEqualType "") then {
private _displayName = getText (configFile >> "CfgVehicles" >> _class >> "displayName"); getText (configFile >> "CfgVehicles" >> _object >> "displayName")
} else {
getText ((configOf _object) >> "displayName")
};
if (_addCustomPart && {!(_object isEqualType "")}) then { if (_addCustomPart && {!(_object isEqualType "")}) then {
private _customPart = _object getVariable [QGVAR(customName), ""]; private _customPart = _object getVariable [QGVAR(customName), ""];

View File

@ -17,6 +17,7 @@
params ["_object"]; params ["_object"];
private _type = typeOf _object; private _type = typeOf _object;
private _config = configOf _object;
TRACE_2("params",_object,_type); TRACE_2("params",_object,_type);
// If object had size given to it via eden/public then override config canLoad setting // If object had size given to it via eden/public then override config canLoad setting
@ -24,7 +25,7 @@ private _canLoadPublic = _object getVariable [QGVAR(canLoad), false];
if (!(_canLoadPublic isEqualType false)) then { if (!(_canLoadPublic isEqualType false)) then {
WARNING_4("%1[%2] - Variable %3 is %4 - Should be bool",_object,_type,QGVAR(canLoad),_canLoadPublic); WARNING_4("%1[%2] - Variable %3 is %4 - Should be bool",_object,_type,QGVAR(canLoad),_canLoadPublic);
}; };
private _canLoadConfig = getNumber (configFile >> "CfgVehicles" >> _type >> QGVAR(canLoad)) == 1; private _canLoadConfig = getNumber (_config >> QGVAR(canLoad)) == 1;
// Nothing to do here if object can't be loaded // Nothing to do here if object can't be loaded
if !(_canLoadConfig || {_canLoadPublic in [true, 1]}) exitWith {}; if !(_canLoadConfig || {_canLoadPublic in [true, 1]}) exitWith {};

View File

@ -19,10 +19,11 @@ params ["_vehicle"];
TRACE_1("params", _vehicle); TRACE_1("params", _vehicle);
private _type = typeOf _vehicle; private _type = typeOf _vehicle;
private _config = configOf _vehicle;
// If vehicle had space given to it via eden/public then override config hasCargo setting // If vehicle had space given to it via eden/public then override config hasCargo setting
private _hasCargoPublic = _vehicle getVariable [QGVAR(hasCargo), false]; private _hasCargoPublic = _vehicle getVariable [QGVAR(hasCargo), false];
private _hasCargoConfig = getNumber (configFile >> "CfgVehicles" >> _type >> QGVAR(hasCargo)) == 1; private _hasCargoConfig = getNumber (_config >> QGVAR(hasCargo)) == 1;
// Nothing to do here if vehicle has no cargo space // Nothing to do here if vehicle has no cargo space
if !(_hasCargoConfig || _hasCargoPublic) exitWith {}; if !(_hasCargoConfig || _hasCargoPublic) exitWith {};
@ -40,13 +41,11 @@ if (_addCargoType) then {
// Vehicle can have default ace cargo in its config // Vehicle can have default ace cargo in its config
if (isServer) then { if (isServer) then {
{ {
if (isClass _x) then {
private _cargoClassname = getText (_x >> "type"); private _cargoClassname = getText (_x >> "type");
private _cargoCount = getNumber (_x >> "amount"); private _cargoCount = getNumber (_x >> "amount");
TRACE_3("adding ACE_Cargo", (configName _x), _cargoClassname, _cargoCount); TRACE_3("adding ACE_Cargo", (configName _x), _cargoClassname, _cargoCount);
["ace_addCargo", [_cargoClassname, _vehicle, _cargoCount]] call CBA_fnc_localEvent; ["ace_addCargo", [_cargoClassname, _vehicle, _cargoCount]] call CBA_fnc_localEvent;
}; } forEach ("true" configClasses (_config >> QUOTE(ADDON) >> "Cargo"));
} count ("true" configClasses (configFile >> "CfgVehicles" >> _type >> "ACE_Cargo" >> "Cargo"));
}; };
// Servers and HCs do not require action menus (beyond this point) // Servers and HCs do not require action menus (beyond this point)

View File

@ -19,6 +19,7 @@ private _display = uiNamespace getVariable QGVAR(menuDisplay);
if (isNil "_display") exitWith {}; if (isNil "_display") exitWith {};
private _ctrlEditText = ctrlText 100; private _ctrlEditText = ctrlText 100;
_ctrlEditText = _ctrlEditText select [0,32];
if (_ctrlEditText isEqualTo "") then { // custom name has been removed if (_ctrlEditText isEqualTo "") then { // custom name has been removed
[LSTRING(clearedCustomName), 3] call EFUNC(common,displayTextStructured); [LSTRING(clearedCustomName), 3] call EFUNC(common,displayTextStructured);
} else { } else {

View File

@ -0,0 +1,40 @@
#include "script_component.hpp"
/*
* Author: GhostIsSpooky
* Dragging integration. Unloader starts carrying unloaded object.
*
* Arguments:
* 0: Unloader <OBJECT>
* 1: Item <OBJECT>
*
* Return Value:
* None
*
* Example:
* [player, object] call ace_cargo_fnc_unloadCarryItem
*
* Public: No
*/
params ["_unloader", "_object"];
TRACE_2("unloadCarryItem-start",_unloader,_object);
if !(["ace_dragging"] call EFUNC(common,isModLoaded)) exitWith {};
if (!GVAR(carryAfterUnload) || {getNumber (configOf _object >> QGVAR(blockUnloadCarry)) > 0}) exitWith {};
// When unloading attached objects, this code will run before server has finished moving object to the safe position
[{
params ["_unloader", "_object"];
(_unloader distance _object) < 10
}, {
params ["_unloader", "_object"];
TRACE_2("unloadCarryItem-unloaded",_unloader,_object);
if ([_unloader, _object] call EFUNC(dragging,canCarry)) exitWith {
[_unloader, _object] call EFUNC(dragging,startCarry);
};
if ([_unloader, _object] call EFUNC(dragging,canDrag)) exitWith {
[_unloader, _object] call EFUNC(dragging,startDrag);
};
}, _this, 1.0, { // delay is based on how long it will take server event to trigger and take effect
// not a hard error if this fails, could have just unloaded to other side of vehicle because of findSafePos
TRACE_1("unloadCarryItem-failed to unload nearby player",_this);
}] call CBA_fnc_waitUntilAndExecute;

View File

@ -42,6 +42,9 @@ if !(_item in _loaded) exitWith {
private _object = [_item, _emptyPosAGL, _loaded, _vehicle] call FUNC(unload); private _object = [_item, _emptyPosAGL, _loaded, _vehicle] call FUNC(unload);
// Dragging integration
[_unloader, _object] call FUNC(unloadCarryItem);
// Invoke listenable event // Invoke listenable event
["ace_cargoUnloaded", [_object, _vehicle, "unload"]] call CBA_fnc_globalEvent; ["ace_cargoUnloaded", [_object, _vehicle, "unload"]] call CBA_fnc_globalEvent;
true true

View File

@ -43,6 +43,15 @@
{[QGVAR(enableRename), _this, true] call EFUNC(common,cbaSettings_settingChanged)} {[QGVAR(enableRename), _this, true] call EFUNC(common,cbaSettings_settingChanged)}
] call CBA_fnc_addSetting; ] call CBA_fnc_addSetting;
[
QGVAR(carryAfterUnload), "CHECKBOX",
[LSTRING(carryAfterUnload), LSTRING(carryAfterUnload_description)],
[LELSTRING(OptionsMenu,CategoryLogistics), LLSTRING(openMenu)],
true,
false,
{[QGVAR(carryAfterUnload), _this] call EFUNC(common,cbaSettings_settingChanged)}
] call CBA_fnc_addSetting;
[ [
QGVAR(cargoNetType), "LIST", QGVAR(cargoNetType), "LIST",
[LSTRING(cargoNetType), LSTRING(cargoNetType_description)], [LSTRING(cargoNetType), LSTRING(cargoNetType_description)],

View File

@ -40,6 +40,8 @@
<Russian>Переименовано в:</Russian> <Russian>Переименовано в:</Russian>
<German>Neu Bewaffnet: &lt;br/&gt;%1</German> <German>Neu Bewaffnet: &lt;br/&gt;%1</German>
<Polish>Nazwa zmieniona na:&lt;br/&gt;%1</Polish> <Polish>Nazwa zmieniona na:&lt;br/&gt;%1</Polish>
<Chinesesimp>重命名为:&lt;br/&gt;%1</Chinesesimp>
<Korean>%1&lt;br/&gt;으로 명칭을 바꿈</Korean>
</Key> </Key>
<Key ID="STR_ACE_Cargo_clearedCustomName"> <Key ID="STR_ACE_Cargo_clearedCustomName">
<English>Custom name has been cleared.</English> <English>Custom name has been cleared.</English>
@ -48,6 +50,8 @@
<Russian>Пользовательское название удалено.</Russian> <Russian>Пользовательское название удалено.</Russian>
<German>Eigener Name wurde gelöscht.</German> <German>Eigener Name wurde gelöscht.</German>
<Polish>Własna nazwa została usunięta</Polish> <Polish>Własna nazwa została usunięta</Polish>
<Chinesesimp>自定义名称已被清除。</Chinesesimp>
<Korean>임의로 지은 명칭을 지웠습니다.</Korean>
</Key> </Key>
<Key ID="STR_ACE_Cargo_renameObjectUI"> <Key ID="STR_ACE_Cargo_renameObjectUI">
<English>Set New Name:</English> <English>Set New Name:</English>
@ -56,6 +60,8 @@
<Russian>Задать новое название:</Russian> <Russian>Задать новое название:</Russian>
<German>Neuen Namen setzen:</German> <German>Neuen Namen setzen:</German>
<Polish>Ustaw nową nazwę:</Polish> <Polish>Ustaw nową nazwę:</Polish>
<Chinesesimp>设定新名称:</Chinesesimp>
<Korean>새로운 명칭 설정:</Korean>
</Key> </Key>
<Key ID="STR_ACE_Cargo_ModuleSettings_enableRename"> <Key ID="STR_ACE_Cargo_ModuleSettings_enableRename">
<English>Enable Rename Action</English> <English>Enable Rename Action</English>
@ -64,6 +70,8 @@
<Russian>Включить возможность переименования</Russian> <Russian>Включить возможность переименования</Russian>
<German>Aktiviere Umbenennungs-Aktion</German> <German>Aktiviere Umbenennungs-Aktion</German>
<Polish>Włącz możliwość zmiany nazwy</Polish> <Polish>Włącz możliwość zmiany nazwy</Polish>
<Chinesesimp>启用重命名动作</Chinesesimp>
<Korean>새로 명칭짓기 행동 활성화</Korean>
</Key> </Key>
<Key ID="STR_ACE_Cargo_ModuleSettings_enableRename_Description"> <Key ID="STR_ACE_Cargo_ModuleSettings_enableRename_Description">
<English>Enables the rename action for renamable objects.</English> <English>Enables the rename action for renamable objects.</English>
@ -72,6 +80,8 @@
<Russian>Включает переименование для объектов, допускающих переименование.</Russian> <Russian>Включает переименование для объектов, допускающих переименование.</Russian>
<German>Aktiviert die Umbenennungs-Aktion für neu benennbare Objekte.</German> <German>Aktiviert die Umbenennungs-Aktion für neu benennbare Objekte.</German>
<Polish>Włącza akcję zmiany nazwy dla obiektów z możliwością zmiany nazwy.</Polish> <Polish>Włącza akcję zmiany nazwy dla obiektów z możliwością zmiany nazwy.</Polish>
<Chinesesimp>启用可重命名物体的重命名动作。</Chinesesimp>
<Korean>개체의 명칭을 새로 짓는 것을 허가합니다.</Korean>
</Key> </Key>
<Key ID="STR_ACE_Cargo_openMenu"> <Key ID="STR_ACE_Cargo_openMenu">
<English>Cargo</English> <English>Cargo</English>
@ -102,7 +112,7 @@
<Japanese>カーゴ メニュー</Japanese> <Japanese>カーゴ メニュー</Japanese>
<Korean>화물 메뉴</Korean> <Korean>화물 메뉴</Korean>
<Chinese>貨物選單</Chinese> <Chinese>貨物選單</Chinese>
<Chinesesimp>货物</Chinesesimp> <Chinesesimp>货物</Chinesesimp>
<Turkish>Kargo Menüsü</Turkish> <Turkish>Kargo Menüsü</Turkish>
</Key> </Key>
<Key ID="STR_ACE_Cargo_labelSpace"> <Key ID="STR_ACE_Cargo_labelSpace">
@ -118,7 +128,7 @@
<Japanese>カーゴの空き容量: %1</Japanese> <Japanese>カーゴの空き容量: %1</Japanese>
<Korean>선적 공간 남음: %1</Korean> <Korean>선적 공간 남음: %1</Korean>
<Chinese>貨物剩餘空間: %1</Chinese> <Chinese>貨物剩餘空間: %1</Chinese>
<Chinesesimp>货物剩余空间: %1</Chinesesimp> <Chinesesimp>货物剩余空间%1</Chinesesimp>
<Turkish>Kargo Alanı Kaldı: %1</Turkish> <Turkish>Kargo Alanı Kaldı: %1</Turkish>
</Key> </Key>
<Key ID="STR_ACE_Cargo_ModuleSettings_enable"> <Key ID="STR_ACE_Cargo_ModuleSettings_enable">
@ -148,7 +158,7 @@
<Italian>Abilita il modulo di caricamento in cargo</Italian> <Italian>Abilita il modulo di caricamento in cargo</Italian>
<French>Active la possibilité de charger du matériel dans un module de fret (véhicule/container).</French> <French>Active la possibilité de charger du matériel dans un module de fret (véhicule/container).</French>
<Japanese>カーゴ モジュールで積み込みを有効化</Japanese> <Japanese>カーゴ モジュールで積み込みを有効化</Japanese>
<Korean>화물 모듈에 싣기를 활성화합니다</Korean> <Korean>화물 모듈 활성화합니다</Korean>
<Chinese>啟用貨物裝載功能</Chinese> <Chinese>啟用貨物裝載功能</Chinese>
<Chinesesimp>启用货物装载功能</Chinesesimp> <Chinesesimp>启用货物装载功能</Chinesesimp>
</Key> </Key>
@ -285,6 +295,8 @@
<French>Nom personnalisé</French> <French>Nom personnalisé</French>
<German>Eigener Name</German> <German>Eigener Name</German>
<Polish>Własna nazwa</Polish> <Polish>Własna nazwa</Polish>
<Chinesesimp>自定义名称</Chinesesimp>
<Korean>임의 명칭</Korean>
</Key> </Key>
<Key ID="STR_ACE_Cargo_customName_edenDesc"> <Key ID="STR_ACE_Cargo_customName_edenDesc">
<English>Set a custom cargo name used in the cargo interface.</English> <English>Set a custom cargo name used in the cargo interface.</English>
@ -293,6 +305,8 @@
<Russian>Установить пользовательское имя груза, используемое в интерфейсе погрузки.</Russian> <Russian>Установить пользовательское имя груза, используемое в интерфейсе погрузки.</Russian>
<German>Definiere eigenen Frachtnamen, welcher im Frachtraum genutzt wird.</German> <German>Definiere eigenen Frachtnamen, welcher im Frachtraum genutzt wird.</German>
<Polish>Ustaw własną nazwę ładunku, używaną w menu ładunku.</Polish> <Polish>Ustaw własną nazwę ładunku, używaną w menu ładunku.</Polish>
<Chinesesimp>设置货物界面中使用的一个自定义货物名称。</Chinesesimp>
<Korean>화물 인터페이스에 쓰일 화물의 명칭을 설정합니다.</Korean>
</Key> </Key>
<Key ID="STR_ACE_Cargo_space_edenName"> <Key ID="STR_ACE_Cargo_space_edenName">
<English>Cargo Space</English> <English>Cargo Space</English>
@ -347,7 +361,7 @@
<Italian>Lo spazio del cargo necessita di mantenere questo oggetto (-1 per scaricabile)</Italian> <Italian>Lo spazio del cargo necessita di mantenere questo oggetto (-1 per scaricabile)</Italian>
<Japanese>オブジェクトを積載するのに必要なカーゴ スペース (-1 で積載不可)</Japanese> <Japanese>オブジェクトを積載するのに必要なカーゴ スペース (-1 で積載不可)</Japanese>
<Chinese>此貨物會佔掉多少空間(設定-1的話此貨物就不能被裝載)</Chinese> <Chinese>此貨物會佔掉多少空間(設定-1的話此貨物就不能被裝載)</Chinese>
<Chinesesimp>此货物会占掉多少空间(设定-1的话此货物就不能被装载)</Chinesesimp> <Chinesesimp>此货物会占掉多少空间(设定 -1 的话此货物就不能被装载)</Chinesesimp>
<Polish>Wymagana przestrzeń ładunkowa dla tego obiektu (-1 dla niemożliwych do załadowania)</Polish> <Polish>Wymagana przestrzeń ładunkowa dla tego obiektu (-1 dla niemożliwych do załadowania)</Polish>
<Korean>이 화물을 적재하는데 필요한 공간 (-1=무조건 적재가능)</Korean> <Korean>이 화물을 적재하는데 필요한 공간 (-1=무조건 적재가능)</Korean>
<Russian>Грузовое пространство, необходимое для размещения этого объекта (-1 для незагружаемого)</Russian> <Russian>Грузовое пространство, необходимое для размещения этого объекта (-1 для незагружаемого)</Russian>
@ -408,9 +422,9 @@
<Italian>Modificato per quanto tempo ci impiega a paracadutare un oggetto cargo.</Italian> <Italian>Modificato per quanto tempo ci impiega a paracadutare un oggetto cargo.</Italian>
<French>Modifie le temps nécessaire au paralargage d'une cargaison.</French> <French>Modifie le temps nécessaire au paralargage d'une cargaison.</French>
<Chinese>設定空投所需消耗的時間</Chinese> <Chinese>設定空投所需消耗的時間</Chinese>
<Chinesesimp>设定空投所需消耗的时间.</Chinesesimp> <Chinesesimp>设定空投所需消耗的时间</Chinesesimp>
<Polish>Modyfikator wskazujący jak dużo czasu potrzeba by zrzucić przedmiot na spadochronie.</Polish> <Polish>Modyfikator wskazujący jak dużo czasu potrzeba by zrzucić przedmiot na spadochronie.</Polish>
<Korean>화물을 공중 투하 하는데 얼마나 걸리는 시간 설정</Korean> <Korean>화물을 공중 투하 하는데 걸리는 시간 설정합니다</Korean>
<Russian>Модификатор времени, необходимого для десантирования груза</Russian> <Russian>Модификатор времени, необходимого для десантирования груза</Russian>
<Portuguese>Coeficiente de quanto tempo leva para soltar uma carga de paraquedas</Portuguese> <Portuguese>Coeficiente de quanto tempo leva para soltar uma carga de paraquedas</Portuguese>
<Czech>Upravuje jak dlouho výsadek trvá pro náklad.</Czech> <Czech>Upravuje jak dlouho výsadek trvá pro náklad.</Czech>
@ -428,6 +442,8 @@
<Chinese>裝載時間係數</Chinese> <Chinese>裝載時間係數</Chinese>
<Czech>Koeficient času nákládání</Czech> <Czech>Koeficient času nákládání</Czech>
<Spanish>Coeficiente de tiempo para cargar</Spanish> <Spanish>Coeficiente de tiempo para cargar</Spanish>
<Chinesesimp>装载时间系数</Chinesesimp>
<Korean>적재 시간 계수</Korean>
</Key> </Key>
<Key ID="STR_ACE_Cargo_loadTimeCoefficient_description"> <Key ID="STR_ACE_Cargo_loadTimeCoefficient_description">
<English>Modifies how long it takes to load/unload items.\nTime, in seconds, is the size of the item multiplied by this value.</English> <English>Modifies how long it takes to load/unload items.\nTime, in seconds, is the size of the item multiplied by this value.</English>
@ -441,6 +457,8 @@
<Chinese>修改要花多長時間來裝載/卸載物品。\n時間以秒為單位而物品的大小數值與這個係數成比。</Chinese> <Chinese>修改要花多長時間來裝載/卸載物品。\n時間以秒為單位而物品的大小數值與這個係數成比。</Chinese>
<Czech>Upravuje jak dlouho nakládají/vykládání trvá.\nVýsledkem je čas v sekundách - velikost objektu vynásobená touto hodnotou.</Czech> <Czech>Upravuje jak dlouho nakládají/vykládání trvá.\nVýsledkem je čas v sekundách - velikost objektu vynásobená touto hodnotou.</Czech>
<Spanish>Modifica el tiempo de carga/descarga de objetos.\n El Tiempo en segundos, es el tamño del objeto multiplicado por este valor.</Spanish> <Spanish>Modifica el tiempo de carga/descarga de objetos.\n El Tiempo en segundos, es el tamño del objeto multiplicado por este valor.</Spanish>
<Chinesesimp>修改装载/卸载物体所需的时间。\n时间单位物体的大小乘以该系数值。</Chinesesimp>
<Korean>화물의 적재/하역 시 걸리는 시간을 설정합니다.\n초 단위로 물건의 크기에 곱셈하여 계산합니다.</Korean>
</Key> </Key>
<Key ID="STR_ACE_Cargo_openAfterUnload"> <Key ID="STR_ACE_Cargo_openAfterUnload">
<English>Reopen Cargo Menu</English> <English>Reopen Cargo Menu</English>
@ -450,6 +468,8 @@
<Russian>Переоткрыть меню погрузки</Russian> <Russian>Переоткрыть меню погрузки</Russian>
<German>Frachtmenü erneut öffnen</German> <German>Frachtmenü erneut öffnen</German>
<Polish>Ponownie otwórz menu załadunku</Polish> <Polish>Ponownie otwórz menu załadunku</Polish>
<Chinesesimp>重新打开货物菜单</Chinesesimp>
<Korean>화물 메뉴 다시 열기</Korean>
</Key> </Key>
<Key ID="STR_ACE_Cargo_openAfterUnload_description"> <Key ID="STR_ACE_Cargo_openAfterUnload_description">
<English>Reopen the Cargo Menu after successful unload.</English> <English>Reopen the Cargo Menu after successful unload.</English>
@ -459,6 +479,14 @@
<Russian>Переоткрыть меню погрузки после успешной выгрузки.</Russian> <Russian>Переоткрыть меню погрузки после успешной выгрузки.</Russian>
<German>Frachtmenü erneut öffnen, nach erfolgreichen Entladen.</German> <German>Frachtmenü erneut öffnen, nach erfolgreichen Entladen.</German>
<Polish>Ponownie otwórz menu załadunku po udanym wyładowaniu.</Polish> <Polish>Ponownie otwórz menu załadunku po udanym wyładowaniu.</Polish>
<Chinesesimp>成功卸货后,重新打开货物菜单。</Chinesesimp>
<Korean>화물을 성공적으로 내리고 난 다음 화물 메뉴를 열지 결정합니다.</Korean>
</Key>
<Key ID="STR_ACE_Cargo_carryAfterUnload">
<English>Carry After Unload</English>
</Key>
<Key ID="STR_ACE_Cargo_carryAfterUnload_description">
<English>Controls whether cargo items are carried or dragged after unloading.</English>
</Key> </Key>
<Key ID="STR_ACE_Cargo_cargoNetType"> <Key ID="STR_ACE_Cargo_cargoNetType">
<English>Type of cargo</English> <English>Type of cargo</English>

View File

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

View File

@ -0,0 +1,17 @@
class Extended_PreStart_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_SCRIPT(XEH_preStart));
};
};
class Extended_PreInit_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_SCRIPT(XEH_preInit));
};
};
class Extended_PostInit_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_SCRIPT(XEH_postInit));
};
};

4
addons/casings/README.md Normal file
View File

@ -0,0 +1,4 @@
ace_casings
===============
Create persistent empty casing when bullets are fired by infantry weapons.

View File

@ -0,0 +1 @@
PREP(createCasing);

View File

@ -0,0 +1,7 @@
#include "script_component.hpp"
if (!hasInterface || !GVAR(enabled)) exitWith {};
GVAR(cachedCasings) = createHashMap;
GVAR(casings) = [];
["CAManBase", "FiredMan", {call FUNC(createCasing)}] call CBA_fnc_addClassEventHandler;

View File

@ -0,0 +1,11 @@
#include "script_component.hpp"
ADDON = false;
PREP_RECOMPILE_START;
#include "XEH_PREP.hpp"
PREP_RECOMPILE_END;
#include "initSettings.sqf"
ADDON = true;

View File

@ -0,0 +1,3 @@
#include "script_component.hpp"
#include "XEH_PREP.hpp"

17
addons/casings/config.cpp Normal file
View File

@ -0,0 +1,17 @@
#include "script_component.hpp"
class CfgPatches {
class ADDON {
name = COMPONENT_NAME;
units[] = {};
weapons[] = {};
requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"ace_common"};
author = ECSTRING(common,ACETeam);
authors[] = {"esteldunedain","Cyruz","diwako"};
url = ECSTRING(main,URL);
VERSION_CONFIG;
};
};
#include "CfgEventHandlers.hpp"

View File

@ -0,0 +1,68 @@
#include "script_component.hpp"
/*
* Author: esteldunedain / Cyruz / diwako
* Produces a casing matching the fired weapons caliber on the ground around the unit
*
* Arguments:
* 0: unit - Object the event handler is assigned to <OBJECT>
* 1: ammo - Ammo used <STRING>
*
* Return Value:
* None
*
* Example:
* [player, "", "","", "B_556x45_Ball"] call ace_casings_fnc_createCasing
*
* Public: No
*/
params ["_unit", "", "", "", "_ammo"];
if (!isNull objectParent _unit) exitWith {};
private _modelPath = GVAR(cachedCasings) get _ammo;
if (isNil "_modelPath") then {
private _cartridge = getText (configFile >> "CfgAmmo" >> _ammo >> "cartridge");
//Default cartridge is a 5.56mm model
_modelPath = switch (_cartridge) do {
case "FxCartridge_9mm": { "A3\Weapons_f\ammo\cartridge_small.p3d" };
case "FxCartridge_65": { "A3\weapons_f\ammo\cartridge_65.p3d" };
case "FxCartridge_762": { "A3\weapons_f\ammo\cartridge_762.p3d" };
case "FxCartridge_127": { "A3\weapons_f\ammo\cartridge_127.p3d" };
case "FxCartridge_slug": { "A3\weapons_f\ammo\cartridge_slug.p3d" };
case "": { "" };
default { "A3\Weapons_f\ammo\cartridge.p3d" };
};
GVAR(cachedCasings) set [_ammo, _modelPath];
};
if (_modelPath isEqualTo "") exitWith {};
private _unitPos = getposASL _unit;
// Distant shooters don't produce as many cases
if ((AGLToASL positionCameraToWorld [0,0,0]) vectorDistance _unitPos > 100 && {random 1 < 0.9}) exitWith {};
private _weapDir = _unit weaponDirection currentWeapon _unit;
private _ejectDir = _weapDir vectorCrossProduct [0, 0, 1];
private _pos = _unitPos
vectorAdd (_weapDir vectorMultiply (-0.5 + random 2))
vectorAdd (_ejectDir vectorMultiply (0.2 + random 2));
[
{
params ["_modelPath", "_pos"];
private _lisPos = (lineIntersectsSurfaces [_pos, _pos vectorAdd [0,0,-1e11], objNull, objNull, true, 1, "ROADWAY", "FIRE"]) #0;
private _casing = createSimpleObject [_modelPath, (_lisPos #0 vectorAdd [0,0,0.005]), true];
_casing setDir (random 360);
_casing setVectorUp _lisPos #1;
private _idx = GVAR(casings) pushBack _casing;
for "_" from 0 to (_idx - GVAR(maxCasings)) do {
deleteVehicle (GVAR(casings) deleteAt 0);
};
},
[_modelPath,_pos],
0.4
] call CBA_fnc_waitAndExecute;

View File

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

View File

@ -0,0 +1,17 @@
[
QGVAR(enabled), "CHECKBOX",
[LSTRING(displayName), LSTRING(description)],
LSTRING(Settings_DisplayName),
true,
false,
{},
true
] call CBA_fnc_addSetting;
[
QGVAR(maxCasings), "SLIDER",
[LSTRING(maxCasings_displayName), LSTRING(maxCasings_description)],
LSTRING(Settings_DisplayName),
[100, 500, 250, -1],
false
] call CBA_fnc_addSetting;

View File

@ -0,0 +1,17 @@
#define COMPONENT casings
#define COMPONENT_BEAUTIFIED Casings
#include "\z\ace\addons\main\script_mod.hpp"
// #define DEBUG_MODE_FULL
// #define DISABLE_COMPILE_CACHE
// #define ENABLE_PERFORMANCE_COUNTERS
#ifdef DEBUG_ENABLED_CASINGS
#define DEBUG_MODE_FULL
#endif
#ifdef DEBUG_SETTINGS_CASINGS
#define DEBUG_SETTINGS DEBUG_SETTINGS_CASINGS
#endif
#include "\z\ace\addons\main\script_macros.hpp"

View File

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="utf-8"?>
<Project name="ACE">
<Package name="Casings">
<Key ID="STR_ACE_Casings_Settings_DisplayName">
<English>ACE Casings</English>
<Japanese>ACE 薬莢</Japanese>
<Polish>ACE Łuski</Polish>
<Korean>ACE 탄피</Korean>
<Chinesesimp>ACE 弹壳</Chinesesimp>
</Key>
<Key ID="STR_ACE_Casings_displayName">
<English>Casings Enabled</English>
<Japanese>薬莢の有効化</Japanese>
<Polish>Łuski włączone</Polish>
<Korean>탄피 활성화</Korean>
<Chinesesimp>开启弹壳生成</Chinesesimp>
</Key>
<Key ID="STR_ACE_Casings_description">
<English>Enable persistent casings (POTENTIAL performance impact on old/weak systems)</English>
<Japanese>永続的な薬莢を有効にする (古い/弱いシステムに対する潜在的なパフォーマンスの影響)</Japanese>
<Polish>Włącz pozostawanie łusek (MOŻLIWY wpływ na wydajność na starych/słabych komputerach)</Polish>
<Korean>영구적으로 남는 탄피를 활성화합니다(오래되고 취약한 시스템에 잠재적인 성능에 영향을 미칩니다.)</Korean>
<Chinesesimp>开启生成持续存在的弹壳(可能对较老和性能不行的系统有影响)</Chinesesimp>
</Key>
<Key ID="STR_ACE_Casings_maxCasings_displayName">
<English>Maximum casings</English>
<Japanese>薬莢の最大量</Japanese>
<Polish>Maksymalna liczba łusek</Polish>
<Korean>탄피 최대 갯수</Korean>
<Chinesesimp>最大弹壳量</Chinesesimp>
</Key>
<Key ID="STR_ACE_Casings_maxCasings_description">
<English>Maximum amount of casings to display</English>
<Japanese>表示される薬莢の最大の数</Japanese>
<Polish>Maksymalna liczba wyświetlanych łusek</Polish>
<Korean>표시할 최대 탄피 갯수</Korean>
<Chinesesimp>显示的最大弹壳数量</Chinesesimp>
</Key>
</Package>
</Project>

View File

@ -6,11 +6,11 @@
<Japanese>ケミライト</Japanese> <Japanese>ケミライト</Japanese>
<Polish>Świetliki</Polish> <Polish>Świetliki</Polish>
<German>Knicklichter</German> <German>Knicklichter</German>
<Korean>켐라이트</Korean> <Korean>화학조명</Korean>
<French>Cyalumes</French> <French>Cyalumes</French>
<Italian>Luce chimica</Italian> <Italian>Luce chimica</Italian>
<Chinese>螢光棒</Chinese> <Chinese>螢光棒</Chinese>
<Chinesesimp>光棒</Chinesesimp> <Chinesesimp>光棒</Chinesesimp>
<Russian>Химсвет</Russian> <Russian>Химсвет</Russian>
<Portuguese>Bastões de Luz</Portuguese> <Portuguese>Bastões de Luz</Portuguese>
<Czech>Chemická světla</Czech> <Czech>Chemická světla</Czech>
@ -54,11 +54,11 @@
<Japanese>[ACE] ケミライト</Japanese> <Japanese>[ACE] ケミライト</Japanese>
<Polish>[ACE] Świetliki</Polish> <Polish>[ACE] Świetliki</Polish>
<German>[ACE] Knicklichter</German> <German>[ACE] Knicklichter</German>
<Korean>[ACE] 켐라이트</Korean> <Korean>[ACE] 화학조명</Korean>
<French>[ACE] Cyalumes</French> <French>[ACE] Cyalumes</French>
<Italian>[ACE] Luci chimiche</Italian> <Italian>[ACE] Luci chimiche</Italian>
<Chinese>[ACE] 螢光棒</Chinese> <Chinese>[ACE] 螢光棒</Chinese>
<Chinesesimp>[ACE] 光棒</Chinesesimp> <Chinesesimp>[ACE] 光棒</Chinesesimp>
<Russian>[ACE] Химсвет</Russian> <Russian>[ACE] Химсвет</Russian>
<Portuguese>[ACE] Bastões de Luz</Portuguese> <Portuguese>[ACE] Bastões de Luz</Portuguese>
<Czech>[ACE] Chemická světla</Czech> <Czech>[ACE] Chemická světla</Czech>
@ -74,7 +74,7 @@
<French>Cyalume (orange)</French> <French>Cyalume (orange)</French>
<Italian>Luce chimica (Arancione)</Italian> <Italian>Luce chimica (Arancione)</Italian>
<Chinese>螢光棒 (橘色)</Chinese> <Chinese>螢光棒 (橘色)</Chinese>
<Chinesesimp>萤光棒 (橘色)</Chinesesimp> <Chinesesimp>荧光棒(橘色)</Chinesesimp>
<Russian>Химсвет (Оранжевый)</Russian> <Russian>Химсвет (Оранжевый)</Russian>
<Portuguese>Bastão de Luz (Laranja)</Portuguese> <Portuguese>Bastão de Luz (Laranja)</Portuguese>
<Czech>Chemické světlo (Oranžové)</Czech> <Czech>Chemické světlo (Oranžové)</Czech>
@ -106,7 +106,7 @@
<French>Type : lumière - Orange&lt;br /&gt;Munitions : 1&lt;br /&gt;Application : main</French> <French>Type : lumière - Orange&lt;br /&gt;Munitions : 1&lt;br /&gt;Application : main</French>
<Italian>Tipo: Luce - Arancione&lt;br/&gt;Rimanenti: 1&lt;br/&gt;Usata in: Mano</Italian> <Italian>Tipo: Luce - Arancione&lt;br/&gt;Rimanenti: 1&lt;br/&gt;Usata in: Mano</Italian>
<Chinese>類型: 光 - 橘色&lt;br /&gt;發數: 1&lt;br /&gt;使用於: 手</Chinese> <Chinese>類型: 光 - 橘色&lt;br /&gt;發數: 1&lt;br /&gt;使用於: 手</Chinese>
<Chinesesimp>类型: 光 - 橘色&lt;br /&gt;发数: 1&lt;br /&gt;使用于: </Chinesesimp> <Chinesesimp>类型:光—橘色&lt;br /&gt;发数1&lt;br /&gt;使用于:</Chinesesimp>
<Russian>Тип: Свет - Оранжевый&lt;br /&gt;1 штука&lt;br /&gt;В руках</Russian> <Russian>Тип: Свет - Оранжевый&lt;br /&gt;1 штука&lt;br /&gt;В руках</Russian>
<Portuguese>Tipo: Luz - Laranja&lt;br/&gt;Usos: 1&lt;br/&gt;Usado em: Mão</Portuguese> <Portuguese>Tipo: Luz - Laranja&lt;br/&gt;Usos: 1&lt;br/&gt;Usado em: Mão</Portuguese>
<Czech>Typ: Světlo - Oranžové&lt;br/&gt;Počet použití: 1&lt;br/&gt;Použít v ruce</Czech> <Czech>Typ: Světlo - Oranžové&lt;br/&gt;Počet použití: 1&lt;br/&gt;Použít v ruce</Czech>
@ -118,11 +118,11 @@
<Japanese>ケミライト (白)</Japanese> <Japanese>ケミライト (白)</Japanese>
<Polish>Świetlik (biały)</Polish> <Polish>Świetlik (biały)</Polish>
<German>Knicklicht (weiß)</German> <German>Knicklicht (weiß)</German>
<Korean>켐라이트 (하양)</Korean> <Korean>화학조명 (하양)</Korean>
<French>Cyalume (blanc)</French> <French>Cyalume (blanc)</French>
<Italian>Luce chimica (Bianca)</Italian> <Italian>Luce chimica (Bianca)</Italian>
<Chinese>螢光棒 (白色)</Chinese> <Chinese>螢光棒 (白色)</Chinese>
<Chinesesimp>萤光棒 (白色)</Chinesesimp> <Chinesesimp>荧光棒(白色)</Chinesesimp>
<Russian>Химсвет (Белый)</Russian> <Russian>Химсвет (Белый)</Russian>
<Portuguese>Bastão de Luz (Branco)</Portuguese> <Portuguese>Bastão de Luz (Branco)</Portuguese>
<Czech>Chemické světlo (Bílé)</Czech> <Czech>Chemické světlo (Bílé)</Czech>
@ -154,7 +154,7 @@
<French>Type : lumière - Blanche&lt;br /&gt;Munitions : 1&lt;br /&gt;Application : main</French> <French>Type : lumière - Blanche&lt;br /&gt;Munitions : 1&lt;br /&gt;Application : main</French>
<Italian>Tipo: Luce - Bianca&lt;br/&gt;Rimanenti: 1&lt;br/&gt;Usata in: Mano</Italian> <Italian>Tipo: Luce - Bianca&lt;br/&gt;Rimanenti: 1&lt;br/&gt;Usata in: Mano</Italian>
<Chinese>類型: 光 - 白色&lt;br /&gt;發數: 1&lt;br /&gt;使用於: 手</Chinese> <Chinese>類型: 光 - 白色&lt;br /&gt;發數: 1&lt;br /&gt;使用於: 手</Chinese>
<Chinesesimp>类型: 光 - 白色&lt;br /&gt;发数: 1&lt;br /&gt;使用于: </Chinesesimp> <Chinesesimp>类型:光—白色&lt;br /&gt;发数1&lt;br /&gt;使用于:</Chinesesimp>
<Russian>Тип: Свет - Белый&lt;br /&gt;1 штука&lt;br /&gt;В руках</Russian> <Russian>Тип: Свет - Белый&lt;br /&gt;1 штука&lt;br /&gt;В руках</Russian>
<Portuguese>Tipo: Luz - Branco&lt;br/&gt;Usos: 1&lt;br/&gt;Usado em: Mão</Portuguese> <Portuguese>Tipo: Luz - Branco&lt;br/&gt;Usos: 1&lt;br/&gt;Usado em: Mão</Portuguese>
<Czech>Typ: Světlo - Bílé&lt;br/&gt;Počet použití: 1&lt;br/&gt;Použít v ruce</Czech> <Czech>Typ: Světlo - Bílé&lt;br/&gt;Počet použití: 1&lt;br/&gt;Použít v ruce</Czech>
@ -166,11 +166,11 @@
<Japanese>ケミライト (高輝度 赤)</Japanese> <Japanese>ケミライト (高輝度 赤)</Japanese>
<Polish>Świetlik (jaskrawy czerwony)</Polish> <Polish>Świetlik (jaskrawy czerwony)</Polish>
<German>Knicklicht (rot, hell)</German> <German>Knicklicht (rot, hell)</German>
<Korean>켐라이트 (밝은 빨간색)</Korean> <Korean>화학조명 (밝은 빨간색)</Korean>
<French>Cyalume HL (rouge)</French> <French>Cyalume HL (rouge)</French>
<Italian>Luce chimica (Hi Rossa)</Italian> <Italian>Luce chimica (Hi Rossa)</Italian>
<Chinese>螢光棒 (超亮紅色)</Chinese> <Chinese>螢光棒 (超亮紅色)</Chinese>
<Chinesesimp>萤光棒 (超亮红色)</Chinesesimp> <Chinesesimp>荧光棒(高亮红色)</Chinesesimp>
<Russian>Химсвет (Ярко-Красный)</Russian> <Russian>Химсвет (Ярко-Красный)</Russian>
<Portuguese>Bastão de Luz (Vermelho Forte)</Portuguese> <Portuguese>Bastão de Luz (Vermelho Forte)</Portuguese>
<Czech>Chemické světlo (Červené jasné)</Czech> <Czech>Chemické světlo (Červené jasné)</Czech>
@ -186,7 +186,7 @@
<French>Lum. rouge HL</French> <French>Lum. rouge HL</French>
<Italian>Luce Hi Rossa</Italian> <Italian>Luce Hi Rossa</Italian>
<Chinese>超亮紅色光</Chinese> <Chinese>超亮紅色光</Chinese>
<Chinesesimp>亮红色光</Chinesesimp> <Chinesesimp>亮红色光</Chinesesimp>
<Russian>Яркий Красный свет</Russian> <Russian>Яркий Красный свет</Russian>
<Portuguese>Luz forte vermelha</Portuguese> <Portuguese>Luz forte vermelha</Portuguese>
<Czech>Červené jasné světlo</Czech> <Czech>Červené jasné světlo</Czech>
@ -202,7 +202,7 @@
<French>Type : lumière HL (30 minutes) - Rouge&lt;br /&gt;Munitions : 1&lt;br /&gt;Application : main</French> <French>Type : lumière HL (30 minutes) - Rouge&lt;br /&gt;Munitions : 1&lt;br /&gt;Application : main</French>
<Italian>Tipo: Luce - Rossa Hi (30 minuti)&lt;br /&gt;Rimanenti: 1&lt;br/&gt;Usata in: Mano</Italian> <Italian>Tipo: Luce - Rossa Hi (30 minuti)&lt;br /&gt;Rimanenti: 1&lt;br/&gt;Usata in: Mano</Italian>
<Chinese>類型: 光 - 超亮紅色 (30分鐘)&lt;br /&gt;發數: 1&lt;br /&gt;使用於: 手</Chinese> <Chinese>類型: 光 - 超亮紅色 (30分鐘)&lt;br /&gt;發數: 1&lt;br /&gt;使用於: 手</Chinese>
<Chinesesimp>类型: 光 - 超亮红色 (30分钟)&lt;br /&gt;发数: 1&lt;br /&gt;使用于: </Chinesesimp> <Chinesesimp>类型光—高亮红色30分钟&lt;br /&gt;发数1&lt;br /&gt;使用于:</Chinesesimp>
<Russian>Тип: Свет - Ярко-Красный (30 минут)&lt;br /&gt;1 штука&lt;br /&gt;В руках</Russian> <Russian>Тип: Свет - Ярко-Красный (30 минут)&lt;br /&gt;1 штука&lt;br /&gt;В руках</Russian>
<Portuguese>Tipo: Luz - Vermelho Forte (30 minutos)&lt;br/&gt;Usos: 1&lt;br/&gt;Usado em: Mão</Portuguese> <Portuguese>Tipo: Luz - Vermelho Forte (30 minutos)&lt;br/&gt;Usos: 1&lt;br/&gt;Usado em: Mão</Portuguese>
<Czech>Typ: Světlo - Červené jasné&lt;br/&gt;Počet použití: 1&lt;br/&gt;Použít v ruce</Czech> <Czech>Typ: Světlo - Červené jasné&lt;br/&gt;Počet použití: 1&lt;br/&gt;Použít v ruce</Czech>
@ -214,11 +214,11 @@
<Japanese>ケミライト (高輝度 黄)</Japanese> <Japanese>ケミライト (高輝度 黄)</Japanese>
<Polish>Świetlik (jaskrawy żółty)</Polish> <Polish>Świetlik (jaskrawy żółty)</Polish>
<German>Knicklicht (gelb, hell)</German> <German>Knicklicht (gelb, hell)</German>
<Korean>켐라이트 (밝은 노란색)</Korean> <Korean>화학조명 (밝은 노란색)</Korean>
<French>Cyalume HL (jaune)</French> <French>Cyalume HL (jaune)</French>
<Italian>Luce chimica (Hi Gialla)</Italian> <Italian>Luce chimica (Hi Gialla)</Italian>
<Chinese>螢光棒 (超亮黃色)</Chinese> <Chinese>螢光棒 (超亮黃色)</Chinese>
<Chinesesimp>萤光棒 (超亮黄色)</Chinesesimp> <Chinesesimp>荧光棒(高亮黄色)</Chinesesimp>
<Russian>Химсвет (Ярко-Желтый)</Russian> <Russian>Химсвет (Ярко-Желтый)</Russian>
<Portuguese>Bastão de Luz (Amarelo Forte)</Portuguese> <Portuguese>Bastão de Luz (Amarelo Forte)</Portuguese>
<Czech>Chemické světlo (Žluté jasné)</Czech> <Czech>Chemické světlo (Žluté jasné)</Czech>
@ -234,7 +234,7 @@
<French>Lum. jaune HL</French> <French>Lum. jaune HL</French>
<Italian>Luce Hi Gialla</Italian> <Italian>Luce Hi Gialla</Italian>
<Chinese>超亮黃色光</Chinese> <Chinese>超亮黃色光</Chinese>
<Chinesesimp>亮黄色光</Chinesesimp> <Chinesesimp>亮黄色光</Chinesesimp>
<Russian>Яркий Желтый свет</Russian> <Russian>Яркий Желтый свет</Russian>
<Portuguese>Luz forte amarela</Portuguese> <Portuguese>Luz forte amarela</Portuguese>
<Czech>Žluté jasné světlo</Czech> <Czech>Žluté jasné světlo</Czech>
@ -250,7 +250,7 @@
<French>Type : lumière HL (30 minutes) - Jaune&lt;br /&gt;Munitions : 1&lt;br /&gt;Application : main</French> <French>Type : lumière HL (30 minutes) - Jaune&lt;br /&gt;Munitions : 1&lt;br /&gt;Application : main</French>
<Italian>Tipo: Luce - Gialla Hi (30 minuti)&lt;br /&gt;Rimanenti: 1&lt;br/&gt;Usata in: Mano</Italian> <Italian>Tipo: Luce - Gialla Hi (30 minuti)&lt;br /&gt;Rimanenti: 1&lt;br/&gt;Usata in: Mano</Italian>
<Chinese>類型: 光 - 超亮黃色 (30分鐘)&lt;br /&gt;發數: 1&lt;br /&gt;使用於: 手</Chinese> <Chinese>類型: 光 - 超亮黃色 (30分鐘)&lt;br /&gt;發數: 1&lt;br /&gt;使用於: 手</Chinese>
<Chinesesimp>类型: 光 - 超亮黄色 (30分钟)&lt;br /&gt;发数: 1&lt;br /&gt;使用于: </Chinesesimp> <Chinesesimp>类型光—高亮黄色30分钟&lt;br /&gt;发数1&lt;br /&gt;使用于:</Chinesesimp>
<Russian>Тип: Свет - Ярко-Желтый (30 минут)&lt;br /&gt;1 штука&lt;br /&gt;В руках</Russian> <Russian>Тип: Свет - Ярко-Желтый (30 минут)&lt;br /&gt;1 штука&lt;br /&gt;В руках</Russian>
<Portuguese>Tipo: Luz - Amarelo Forte (30 minutos)&lt;br/&gt;Usos: 1&lt;br/&gt;Usado em: Mão</Portuguese> <Portuguese>Tipo: Luz - Amarelo Forte (30 minutos)&lt;br/&gt;Usos: 1&lt;br/&gt;Usado em: Mão</Portuguese>
<Czech>Typ: Světlo - Žluté jasné&lt;br/&gt;Počet použití: 1&lt;br/&gt;Použít v ruce</Czech> <Czech>Typ: Světlo - Žluté jasné&lt;br/&gt;Počet použití: 1&lt;br/&gt;Použít v ruce</Czech>
@ -262,11 +262,11 @@
<Japanese>ケミライト (高輝度 白)</Japanese> <Japanese>ケミライト (高輝度 白)</Japanese>
<Polish>Świetlik (jaskrawy biały)</Polish> <Polish>Świetlik (jaskrawy biały)</Polish>
<German>Knicklicht (weiß, hell)</German> <German>Knicklicht (weiß, hell)</German>
<Korean>켐라이트 (밝은 하얀색)</Korean> <Korean>화학조명 (밝은 하얀색)</Korean>
<French>Cyalume HL (blanc)</French> <French>Cyalume HL (blanc)</French>
<Italian>Luce chimica (Hi Bianca)</Italian> <Italian>Luce chimica (Hi Bianca)</Italian>
<Chinese>螢光棒 (超亮白色)</Chinese> <Chinese>螢光棒 (超亮白色)</Chinese>
<Chinesesimp>萤光棒 (超亮白色)</Chinesesimp> <Chinesesimp>荧光棒(高亮白色)</Chinesesimp>
<Russian>Химсвет (Ярко-Белый)</Russian> <Russian>Химсвет (Ярко-Белый)</Russian>
<Portuguese>Bastão de Luz (Branco Forte)</Portuguese> <Portuguese>Bastão de Luz (Branco Forte)</Portuguese>
<Czech>Chemické světlo (Bílé jasné)</Czech> <Czech>Chemické světlo (Bílé jasné)</Czech>
@ -282,7 +282,7 @@
<French>Lum. blanche HL</French> <French>Lum. blanche HL</French>
<Italian>Luce Hi Bianca</Italian> <Italian>Luce Hi Bianca</Italian>
<Chinese>超亮白色光</Chinese> <Chinese>超亮白色光</Chinese>
<Chinesesimp>亮白色光</Chinesesimp> <Chinesesimp>亮白色光</Chinesesimp>
<Russian>Яркий Белый свет</Russian> <Russian>Яркий Белый свет</Russian>
<Portuguese>Luz forte branca</Portuguese> <Portuguese>Luz forte branca</Portuguese>
<Czech>Bílé jasné světlo</Czech> <Czech>Bílé jasné světlo</Czech>
@ -298,7 +298,7 @@
<French>Type : lumière HL (30 minutes) - Blanche&lt;br /&gt;Munitions : 1&lt;br /&gt;Application : main</French> <French>Type : lumière HL (30 minutes) - Blanche&lt;br /&gt;Munitions : 1&lt;br /&gt;Application : main</French>
<Italian>Tipo: Luce - Bianca Hi (30 minuti)&lt;br /&gt;Rimanenti: 1&lt;br/&gt;Usata in: Mano</Italian> <Italian>Tipo: Luce - Bianca Hi (30 minuti)&lt;br /&gt;Rimanenti: 1&lt;br/&gt;Usata in: Mano</Italian>
<Chinese>類型: 光 - 超亮白色 (30分鐘)&lt;br /&gt;發數: 1&lt;br /&gt;使用於: 手</Chinese> <Chinese>類型: 光 - 超亮白色 (30分鐘)&lt;br /&gt;發數: 1&lt;br /&gt;使用於: 手</Chinese>
<Chinesesimp>类型: 光 - 超亮白色 (30分钟)&lt;br /&gt;发数: 1&lt;br /&gt;使用于: </Chinesesimp> <Chinesesimp>类型光—高亮白色30分钟&lt;br /&gt;发数1&lt;br /&gt;使用于:</Chinesesimp>
<Russian>Тип: Свет - Ярко-Белый (30 минут)&lt;br /&gt;1 штука&lt;br /&gt;В руках</Russian> <Russian>Тип: Свет - Ярко-Белый (30 минут)&lt;br /&gt;1 штука&lt;br /&gt;В руках</Russian>
<Portuguese>Tipo: Luz - Branco Forte (30 minutos)&lt;br/&gt;Usos: 1&lt;br/&gt;Usado em: Mão</Portuguese> <Portuguese>Tipo: Luz - Branco Forte (30 minutos)&lt;br/&gt;Usos: 1&lt;br/&gt;Usado em: Mão</Portuguese>
<Czech>Typ: Světlo - Bílé jasné&lt;br/&gt;Počet použití: 1&lt;br/&gt;Použít v ruce</Czech> <Czech>Typ: Světlo - Bílé jasné&lt;br/&gt;Počet použití: 1&lt;br/&gt;Použít v ruce</Czech>
@ -315,9 +315,11 @@
<Russian>Химсвет (Ярко-Синий)</Russian> <Russian>Химсвет (Ярко-Синий)</Russian>
<Portuguese>Bastão de Luz (Azul Forte)</Portuguese> <Portuguese>Bastão de Luz (Azul Forte)</Portuguese>
<Chinese>螢光棒(超亮藍色)</Chinese> <Chinese>螢光棒(超亮藍色)</Chinese>
<Chinesesimp>荧光棒(高亮蓝色)</Chinesesimp>
<Czech>Chemické světlo (Modré jasné)</Czech> <Czech>Chemické světlo (Modré jasné)</Czech>
<Spanish>Luz química (Azul Hi)</Spanish> <Spanish>Luz química (Azul Hi)</Spanish>
<Turkish>ık Çubuğu (Mavi)</Turkish> <Turkish>ık Çubuğu (Mavi)</Turkish>
<Korean>화학조명 (밝은 파란색)</Korean>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_HiBlue_DisplayNameShort"> <Key ID="STR_ACE_Chemlights_HiBlue_DisplayNameShort">
<English>Blue Hi Light</English> <English>Blue Hi Light</English>
@ -329,9 +331,11 @@
<Russian>Яркий Синий свет</Russian> <Russian>Яркий Синий свет</Russian>
<Portuguese>Luz forte azul</Portuguese> <Portuguese>Luz forte azul</Portuguese>
<Chinese>超亮藍色光</Chinese> <Chinese>超亮藍色光</Chinese>
<Chinesesimp>高亮蓝色光</Chinesesimp>
<Czech>Modré jasné světlo</Czech> <Czech>Modré jasné světlo</Czech>
<Spanish>Luz azul Hi</Spanish> <Spanish>Luz azul Hi</Spanish>
<Turkish>Mavi Yüksek Işık</Turkish> <Turkish>Mavi Yüksek Işık</Turkish>
<Korean>밝은 파란색</Korean>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_HiBlue_DescriptionShort"> <Key ID="STR_ACE_Chemlights_HiBlue_DescriptionShort">
<English>Type: Light - Blue Hi (30 minute)&lt;br /&gt;Rounds: 1&lt;br /&gt;Used in: Hand</English> <English>Type: Light - Blue Hi (30 minute)&lt;br /&gt;Rounds: 1&lt;br /&gt;Used in: Hand</English>
@ -343,9 +347,11 @@
<Russian>Тип: Свет - Ярко-Синий (30 минут)&lt;br /&gt;1 штука&lt;br /&gt;В руках</Russian> <Russian>Тип: Свет - Ярко-Синий (30 минут)&lt;br /&gt;1 штука&lt;br /&gt;В руках</Russian>
<Portuguese>Tipo: Luz - Azul Forte (30 minutos)&lt;br/&gt;Usos: 1&lt;br/&gt;Usado em: Mão</Portuguese> <Portuguese>Tipo: Luz - Azul Forte (30 minutos)&lt;br/&gt;Usos: 1&lt;br/&gt;Usado em: Mão</Portuguese>
<Chinese>類型: 光 - 超亮藍色 (30分鐘)&lt;br /&gt;發數: 1&lt;br /&gt;使用於: 手</Chinese> <Chinese>類型: 光 - 超亮藍色 (30分鐘)&lt;br /&gt;發數: 1&lt;br /&gt;使用於: 手</Chinese>
<Chinesesimp>类型光—高亮蓝色30分钟&lt;br /&gt;发数1&lt;br /&gt;使用于:手</Chinesesimp>
<Czech>Typ: Světlo - Modré jasné&lt;br/&gt;Počet použití: 1&lt;br/&gt;Použít v ruce</Czech> <Czech>Typ: Světlo - Modré jasné&lt;br/&gt;Počet použití: 1&lt;br/&gt;Použít v ruce</Czech>
<Spanish>Tipo: Luz - Azul Hi (30 minutos)&lt;br /&gt;Cantidad: 1&lt;br /&gt;Usado en: Mano</Spanish> <Spanish>Tipo: Luz - Azul Hi (30 minutos)&lt;br /&gt;Cantidad: 1&lt;br /&gt;Usado en: Mano</Spanish>
<Turkish>Type: Light - Blue Hi (30 minute)&lt;br /&gt;Rounds: 1&lt;br /&gt;Used in: Hand</Turkish> <Turkish>Type: Light - Blue Hi (30 minute)&lt;br /&gt;Rounds: 1&lt;br /&gt;Used in: Hand</Turkish>
<Korean>종류: 밝은 파란색 (30분)&lt;br /&gt;수량: 1&lt;br /&gt;사용처: 손</Korean>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_HiGreen_DisplayName"> <Key ID="STR_ACE_Chemlights_HiGreen_DisplayName">
<English>Chemlight (Hi Green)</English> <English>Chemlight (Hi Green)</English>
@ -357,9 +363,11 @@
<Russian>Химсвет (Ярко-Зеленый)</Russian> <Russian>Химсвет (Ярко-Зеленый)</Russian>
<Portuguese>Bastão de Luz (Verde Forte)</Portuguese> <Portuguese>Bastão de Luz (Verde Forte)</Portuguese>
<Chinese>螢光棒(超亮綠色)</Chinese> <Chinese>螢光棒(超亮綠色)</Chinese>
<Chinesesimp>荧光棒(高亮绿色)</Chinesesimp>
<Czech>Chemické světlo (Zelené jasné)</Czech> <Czech>Chemické světlo (Zelené jasné)</Czech>
<Spanish>Luz química (Verde Hi)</Spanish> <Spanish>Luz química (Verde Hi)</Spanish>
<Turkish>ık Çubuğu (Yeşil)</Turkish> <Turkish>ık Çubuğu (Yeşil)</Turkish>
<Korean>화학조명 (밝은 초록색)</Korean>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_HiGreen_DisplayNameShort"> <Key ID="STR_ACE_Chemlights_HiGreen_DisplayNameShort">
<English>Green Hi Light</English> <English>Green Hi Light</English>
@ -371,9 +379,11 @@
<Russian>Яркий Зеленый свет</Russian> <Russian>Яркий Зеленый свет</Russian>
<Portuguese>Luz forte verde</Portuguese> <Portuguese>Luz forte verde</Portuguese>
<Chinese>超亮綠色光</Chinese> <Chinese>超亮綠色光</Chinese>
<Chinesesimp>高亮绿色光</Chinesesimp>
<Czech>Zelené jasné světlo</Czech> <Czech>Zelené jasné světlo</Czech>
<Spanish>Luz verde Hi</Spanish> <Spanish>Luz verde Hi</Spanish>
<Turkish>Yeşil Yüksek Işık</Turkish> <Turkish>Yeşil Yüksek Işık</Turkish>
<Korean>밝은 초록색</Korean>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_HiGreen_DescriptionShort"> <Key ID="STR_ACE_Chemlights_HiGreen_DescriptionShort">
<English>Type: Light - Green Hi (30 minute)&lt;br /&gt;Rounds: 1&lt;br /&gt;Used in: Hand</English> <English>Type: Light - Green Hi (30 minute)&lt;br /&gt;Rounds: 1&lt;br /&gt;Used in: Hand</English>
@ -385,9 +395,11 @@
<Russian>Тип: Свет - Ярко-Зеленый (30 минут)&lt;br /&gt;1 штука&lt;br /&gt;В руках</Russian> <Russian>Тип: Свет - Ярко-Зеленый (30 минут)&lt;br /&gt;1 штука&lt;br /&gt;В руках</Russian>
<Portuguese>Tipo: Luz - Verde Forte (30 minutos)&lt;br/&gt;Usos: 1&lt;br/&gt;Usado em: Mão</Portuguese> <Portuguese>Tipo: Luz - Verde Forte (30 minutos)&lt;br/&gt;Usos: 1&lt;br/&gt;Usado em: Mão</Portuguese>
<Chinese>類型: 光 - 超亮綠色 (30分鐘)&lt;br /&gt;發數: 1&lt;br /&gt;使用於: 手</Chinese> <Chinese>類型: 光 - 超亮綠色 (30分鐘)&lt;br /&gt;發數: 1&lt;br /&gt;使用於: 手</Chinese>
<Chinesesimp>类型光—高亮绿色30分钟&lt;br /&gt;发数1&lt;br /&gt;使用于:手</Chinesesimp>
<Czech>Typ: Světlo - Zelené jasné&lt;br/&gt;Počet použití: 1&lt;br/&gt;Použít v ruce</Czech> <Czech>Typ: Světlo - Zelené jasné&lt;br/&gt;Počet použití: 1&lt;br/&gt;Použít v ruce</Czech>
<Spanish>Tipo: Luz - Verde Hi (30 minutos)&lt;br /&gt;Cantidad: 1&lt;br /&gt;Usado en: Mano</Spanish> <Spanish>Tipo: Luz - Verde Hi (30 minutos)&lt;br /&gt;Cantidad: 1&lt;br /&gt;Usado en: Mano</Spanish>
<Turkish>Type: Light - Green Hi (30 minute)&lt;br /&gt;Rounds: 1&lt;br /&gt;Used in: Hand</Turkish> <Turkish>Type: Light - Green Hi (30 minute)&lt;br /&gt;Rounds: 1&lt;br /&gt;Used in: Hand</Turkish>
<Korean>종류: 밝은 초록색 (30분)&lt;br /&gt;수량: 1&lt;br /&gt;사용처: 손</Korean>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_UltraHiOrange_DisplayName"> <Key ID="STR_ACE_Chemlights_UltraHiOrange_DisplayName">
<English>Chemlight (Ultra-Hi Orange)</English> <English>Chemlight (Ultra-Hi Orange)</English>
@ -399,9 +411,11 @@
<Russian>Химсвет (Ультраяркий Оранжевый)</Russian> <Russian>Химсвет (Ультраяркий Оранжевый)</Russian>
<Portuguese>Bastão de Luz (Laranja Ultra Forte)</Portuguese> <Portuguese>Bastão de Luz (Laranja Ultra Forte)</Portuguese>
<Chinese>螢光棒(極亮橘色)</Chinese> <Chinese>螢光棒(極亮橘色)</Chinese>
<Chinesesimp>荧光棒(高亮橘色)</Chinesesimp>
<Czech>Chemické světlo (Oranžové velmi jasné)</Czech> <Czech>Chemické světlo (Oranžové velmi jasné)</Czech>
<Spanish>Luz química (Naranja Ultra-Hi)</Spanish> <Spanish>Luz química (Naranja Ultra-Hi)</Spanish>
<Turkish>ık Çubuğu (Turuncu)</Turkish> <Turkish>ık Çubuğu (Turuncu)</Turkish>
<Korean>화학조명 (밝은 주황색)</Korean>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_UltraHiOrange_DisplayNameShort"> <Key ID="STR_ACE_Chemlights_UltraHiOrange_DisplayNameShort">
<English>Orange Ultra-Hi Light</English> <English>Orange Ultra-Hi Light</English>
@ -413,9 +427,11 @@
<Russian>Ультраяркий Оранжевый свет</Russian> <Russian>Ультраяркий Оранжевый свет</Russian>
<Portuguese>Luz ultra forte laranja</Portuguese> <Portuguese>Luz ultra forte laranja</Portuguese>
<Chinese>極亮橘色光</Chinese> <Chinese>極亮橘色光</Chinese>
<Chinesesimp>高亮橘色光</Chinesesimp>
<Czech>Oranžové velmi jasné světlo</Czech> <Czech>Oranžové velmi jasné světlo</Czech>
<Spanish>Luz naranja Ultra-Hi</Spanish> <Spanish>Luz naranja Ultra-Hi</Spanish>
<Turkish>Turuncu Yüksek Işık</Turkish> <Turkish>Turuncu Yüksek Işık</Turkish>
<Korean>밝은 주황색</Korean>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_UltraHiOrange_DescriptionShort"> <Key ID="STR_ACE_Chemlights_UltraHiOrange_DescriptionShort">
<English>Type: Light - Orange Ultra-Hi (5 minute)&lt;br /&gt;Rounds: 1&lt;br /&gt;Used in: Hand</English> <English>Type: Light - Orange Ultra-Hi (5 minute)&lt;br /&gt;Rounds: 1&lt;br /&gt;Used in: Hand</English>
@ -427,20 +443,22 @@
<Russian>Тип: Свет - Ультраяркий Оранжевый (5 минут)&lt;br /&gt;1 штука&lt;br /&gt;В руках</Russian> <Russian>Тип: Свет - Ультраяркий Оранжевый (5 минут)&lt;br /&gt;1 штука&lt;br /&gt;В руках</Russian>
<Portuguese>Tipo: Luz - Laranja Ultra Forte (5 minutos)&lt;br/&gt;Usos: 1&lt;br/&gt;Usado em: Mão</Portuguese> <Portuguese>Tipo: Luz - Laranja Ultra Forte (5 minutos)&lt;br/&gt;Usos: 1&lt;br/&gt;Usado em: Mão</Portuguese>
<Chinese>類型: 光 - 極亮橘色 (5分鐘)&lt;br /&gt;發數: 1&lt;br /&gt;使用於: 手</Chinese> <Chinese>類型: 光 - 極亮橘色 (5分鐘)&lt;br /&gt;發數: 1&lt;br /&gt;使用於: 手</Chinese>
<Chinesesimp>类型光—高亮橘色5分钟&lt;br /&gt;发数1&lt;br /&gt;使用于:手</Chinesesimp>
<Czech>Typ: Světlo - Oranžové velmi jasné&lt;br/&gt;Počet použití: 1&lt;br/&gt;Použít v ruce</Czech> <Czech>Typ: Světlo - Oranžové velmi jasné&lt;br/&gt;Počet použití: 1&lt;br/&gt;Použít v ruce</Czech>
<Spanish>Tipo: Luz - Naranja Ultra-Hi (5 minutos)&lt;br /&gt;Cantidad: 1&lt;br /&gt;Usado en: Mano</Spanish> <Spanish>Tipo: Luz - Naranja Ultra-Hi (5 minutos)&lt;br /&gt;Cantidad: 1&lt;br /&gt;Usado en: Mano</Spanish>
<Turkish>Type: Light - Orange Ultra-Hi (5 minute)&lt;br /&gt;Rounds: 1&lt;br /&gt;Used in: Hand</Turkish> <Turkish>Type: Light - Orange Ultra-Hi (5 minute)&lt;br /&gt;Rounds: 1&lt;br /&gt;Used in: Hand</Turkish>
<Korean>종류: 밝은 주황색 (5분)&lt;br /&gt;수량: 1&lt;br /&gt;사용처: 손</Korean>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_IR_DisplayName"> <Key ID="STR_ACE_Chemlights_IR_DisplayName">
<English>Chemlight (IR)</English> <English>Chemlight (IR)</English>
<Japanese>ケミライト (IR)</Japanese> <Japanese>ケミライト (IR)</Japanese>
<Polish>Świetlik (podczerwony)</Polish> <Polish>Świetlik (podczerwony)</Polish>
<German>Knicklicht (IR)</German> <German>Knicklicht (IR)</German>
<Korean>켐라이트 (적외선)</Korean> <Korean>화학조명 (적외선)</Korean>
<French>Cyalume (IR)</French> <French>Cyalume (IR)</French>
<Italian>Luce chimica (IR)</Italian> <Italian>Luce chimica (IR)</Italian>
<Chinese>螢光棒 (紅外線)</Chinese> <Chinese>螢光棒 (紅外線)</Chinese>
<Chinesesimp>萤光棒 (红外线)</Chinesesimp> <Chinesesimp>荧光棒(红外线)</Chinesesimp>
<Russian>Химсвет (Инфракрасный)</Russian> <Russian>Химсвет (Инфракрасный)</Russian>
<Portuguese>Bastão de Luz (IV)</Portuguese> <Portuguese>Bastão de Luz (IV)</Portuguese>
<Czech>Chemické světlo (Infračervené)</Czech> <Czech>Chemické světlo (Infračervené)</Czech>
@ -452,7 +470,7 @@
<Japanese>赤外線光</Japanese> <Japanese>赤外線光</Japanese>
<Polish>Światło podczerwone</Polish> <Polish>Światło podczerwone</Polish>
<German>IR-Knicklicht</German> <German>IR-Knicklicht</German>
<Korean>적외선 켐라이트</Korean> <Korean>적외선 화학조명</Korean>
<French>Lum. IR</French> <French>Lum. IR</French>
<Italian>Luce IR</Italian> <Italian>Luce IR</Italian>
<Chinese>紅外線光</Chinese> <Chinese>紅外線光</Chinese>
@ -472,7 +490,7 @@
<French>Type: lumière - Infrarouge&lt;br /&gt;Munitions : 1&lt;br /&gt;Application : main</French> <French>Type: lumière - Infrarouge&lt;br /&gt;Munitions : 1&lt;br /&gt;Application : main</French>
<Italian>Tipo: Luce - Infrarossi&lt;br /&gt;Usata in: Mano</Italian> <Italian>Tipo: Luce - Infrarossi&lt;br /&gt;Usata in: Mano</Italian>
<Chinese>類型: 光 - 紅外線&lt;br /&gt;發數: 1&lt;br /&gt;使用於: 手</Chinese> <Chinese>類型: 光 - 紅外線&lt;br /&gt;發數: 1&lt;br /&gt;使用於: 手</Chinese>
<Chinesesimp>类型: 光 - 红外线&lt;br /&gt;发数: 1&lt;br /&gt;使用于: </Chinesesimp> <Chinesesimp>类型:光—红外线&lt;br /&gt;发数1&lt;br /&gt;使用于:</Chinesesimp>
<Russian>Тип: Свет - Инфракрасный&lt;br /&gt;1 штука&lt;br /&gt;В руках</Russian> <Russian>Тип: Свет - Инфракрасный&lt;br /&gt;1 штука&lt;br /&gt;В руках</Russian>
<Portuguese>Tipo: Luz - Infravermelho&lt;br/&gt;Usos: 1&lt;br/&gt;Usado em: Mão</Portuguese> <Portuguese>Tipo: Luz - Infravermelho&lt;br/&gt;Usos: 1&lt;br/&gt;Usado em: Mão</Portuguese>
<Czech>Typ: Světlo - Infračervené&lt;br/&gt;Počet použití: 1&lt;br/&gt;Použít v ruce</Czech> <Czech>Typ: Světlo - Infračervené&lt;br/&gt;Počet použití: 1&lt;br/&gt;Použít v ruce</Czech>
@ -484,11 +502,11 @@
<Japanese>ケミライト シールド (空)</Japanese> <Japanese>ケミライト シールド (空)</Japanese>
<Polish>Osłona na świetlik (pusta)</Polish> <Polish>Osłona na świetlik (pusta)</Polish>
<German>Knicklicht-Abschirmung (leer)</German> <German>Knicklicht-Abschirmung (leer)</German>
<Korean>켐라이트 쉴드 (비어있음)</Korean> <Korean>화학조명 가림막 (비어있음)</Korean>
<French>Etui cyalume (vide)</French> <French>Etui cyalume (vide)</French>
<Italian>Scudo Luce chimica (Vuoto)</Italian> <Italian>Scudo Luce chimica (Vuoto)</Italian>
<Chinese>螢光棒保護殼 (空)</Chinese> <Chinese>螢光棒保護殼 (空)</Chinese>
<Chinesesimp>萤光棒保护壳 (空)</Chinesesimp> <Chinesesimp>荧光棒保护壳(空)</Chinesesimp>
<Russian>Контейнер для Химсвета (Пуст)</Russian> <Russian>Контейнер для Химсвета (Пуст)</Russian>
<Portuguese>Estojo de Luz (Vazio)</Portuguese> <Portuguese>Estojo de Luz (Vazio)</Portuguese>
<Czech>Clona na chemické světlo</Czech> <Czech>Clona na chemické světlo</Czech>
@ -500,11 +518,11 @@
<Japanese>ケミライトを入れられます。シールドとケミライトを組み合わせることで、照明にもなりえます。</Japanese> <Japanese>ケミライトを入れられます。シールドとケミライトを組み合わせることで、照明にもなりえます。</Japanese>
<Polish>Osłona na świetliki. Połącz ją ze świetlikiem by stworzyć lampkę do czytania.</Polish> <Polish>Osłona na świetliki. Połącz ją ze świetlikiem by stworzyć lampkę do czytania.</Polish>
<German>Abschirmung für Knicklichter. Mit Knicklicht kombinieren, um Leselicht zu erhalten.</German> <German>Abschirmung für Knicklichter. Mit Knicklicht kombinieren, um Leselicht zu erhalten.</German>
<Korean>켐라이트를 위한 가림막입니다. 켐라이트와 같이 사용하여 읽을 때 씁니다.</Korean> <Korean>화학조명을 위한 가림막입니다. 화학조명과 같이 사용하여 읽을 때 씁니다.</Korean>
<French>Étui pour cyalume. Le combiner avec un cyalume pour obtenir une lampe de lecture.</French> <French>Étui pour cyalume. Le combiner avec un cyalume pour obtenir une lampe de lecture.</French>
<Italian>Scudo per luci chimiche. Combina con una luce chimica per una luce da lettura.</Italian> <Italian>Scudo per luci chimiche. Combina con una luce chimica per una luce da lettura.</Italian>
<Chinese>螢光棒的保護殼. 與螢光棒結合後可充當閱讀燈</Chinese> <Chinese>螢光棒的保護殼. 與螢光棒結合後可充當閱讀燈</Chinese>
<Chinesesimp>萤光棒的保护壳. 与萤光棒结合后可充当阅读灯.</Chinesesimp> <Chinesesimp>荧光棒的保护壳。与萤光棒结合后可充当阅读灯。</Chinesesimp>
<Russian>Защитный контейнер для Химсвета. Объедините с Химсветом, чтобы подготовить Свет для чтения</Russian> <Russian>Защитный контейнер для Химсвета. Объедините с Химсветом, чтобы подготовить Свет для чтения</Russian>
<Portuguese>Estojo para os bastões de luz. Combine com o bastão de luz para preparar luz de leitura.</Portuguese> <Portuguese>Estojo para os bastões de luz. Combine com o bastão de luz para preparar luz de leitura.</Portuguese>
<Czech>Clona na chemické světlo. Při vložení chemického světla vznikne praktické světlo na čtení.</Czech> <Czech>Clona na chemické světlo. Při vložení chemického světla vznikne praktické světlo na čtení.</Czech>
@ -516,11 +534,11 @@
<Japanese>ケミライト シールド (緑)</Japanese> <Japanese>ケミライト シールド (緑)</Japanese>
<Polish>Osłona na świetlik (zielona)</Polish> <Polish>Osłona na świetlik (zielona)</Polish>
<German>Knicklicht-Abschirmung (grün)</German> <German>Knicklicht-Abschirmung (grün)</German>
<Korean>켐라이트 쉴드 (초록)</Korean> <Korean>화학조명 가림막 (초록)</Korean>
<French>Etui avec cyalume (vert)</French> <French>Etui avec cyalume (vert)</French>
<Italian>Scudo Luce Chimica (Verde)</Italian> <Italian>Scudo Luce Chimica (Verde)</Italian>
<Chinese>螢光棒保護殼 (綠色)</Chinese> <Chinese>螢光棒保護殼 (綠色)</Chinese>
<Chinesesimp>萤光棒保护壳 (绿色)</Chinesesimp> <Chinesesimp>荧光棒保护壳(绿色)</Chinesesimp>
<Russian>Контейнер для Химсвета (Зел)</Russian> <Russian>Контейнер для Химсвета (Зел)</Russian>
<Portuguese>Estojo de Luz (Verde)</Portuguese> <Portuguese>Estojo de Luz (Verde)</Portuguese>
<Czech>Clona s vloženým chemickým světlem (Zelené)</Czech> <Czech>Clona s vloženým chemickým světlem (Zelené)</Czech>
@ -548,11 +566,11 @@
<Japanese>ケミライト シールド (赤)</Japanese> <Japanese>ケミライト シールド (赤)</Japanese>
<Polish>Osłona na świetlik (czerwona)</Polish> <Polish>Osłona na świetlik (czerwona)</Polish>
<German>Knicklicht-Abschirmung (rot)</German> <German>Knicklicht-Abschirmung (rot)</German>
<Korean>켐라이트 쉴드 (빨강)</Korean> <Korean>화학조명 가림막 (빨강)</Korean>
<French>Etui avec cyalume (rouge)</French> <French>Etui avec cyalume (rouge)</French>
<Italian>Scudo Luce Chimica (Rossa)</Italian> <Italian>Scudo Luce Chimica (Rossa)</Italian>
<Chinese>螢光棒保護殼 (紅色)</Chinese> <Chinese>螢光棒保護殼 (紅色)</Chinese>
<Chinesesimp>萤光棒保护壳 (红色)</Chinesesimp> <Chinesesimp>荧光棒保护壳(红色)</Chinesesimp>
<Russian>Контейнер для Химсвета (Красн)</Russian> <Russian>Контейнер для Химсвета (Красн)</Russian>
<Portuguese>Estojo de Luz (Vermelho)</Portuguese> <Portuguese>Estojo de Luz (Vermelho)</Portuguese>
<Czech>Clona s vloženým chemickým světlem (Červené)</Czech> <Czech>Clona s vloženým chemickým světlem (Červené)</Czech>
@ -580,11 +598,11 @@
<Japanese>ケミライト シールド (青)</Japanese> <Japanese>ケミライト シールド (青)</Japanese>
<Polish>Osłona na świetlik (niebieska)</Polish> <Polish>Osłona na świetlik (niebieska)</Polish>
<German>Knicklicht-Abschirmung (blau)</German> <German>Knicklicht-Abschirmung (blau)</German>
<Korean>켐라이트 쉴드 (파랑)</Korean> <Korean>화학조명 가림막 (파랑)</Korean>
<French>Etui avec cyalume (bleu)</French> <French>Etui avec cyalume (bleu)</French>
<Italian>Scudo Luce Chimica (Blu)</Italian> <Italian>Scudo Luce Chimica (Blu)</Italian>
<Chinese>螢光棒保護殼 (藍色)</Chinese> <Chinese>螢光棒保護殼 (藍色)</Chinese>
<Chinesesimp>萤光棒保护壳 (蓝色)</Chinesesimp> <Chinesesimp>荧光棒保护壳(蓝色)</Chinesesimp>
<Russian>Контейнер для Химсвета (Син)</Russian> <Russian>Контейнер для Химсвета (Син)</Russian>
<Portuguese>Estojo de Luz (Azul)</Portuguese> <Portuguese>Estojo de Luz (Azul)</Portuguese>
<Czech>Clona s vloženým chemickým světlem (Modré)</Czech> <Czech>Clona s vloženým chemickým světlem (Modré)</Czech>
@ -612,11 +630,11 @@
<Japanese>ケミライト シールド (黄)</Japanese> <Japanese>ケミライト シールド (黄)</Japanese>
<Polish>Osłona na świetlik (żółta)</Polish> <Polish>Osłona na świetlik (żółta)</Polish>
<German>Knicklicht-Abschirmung (gelb)</German> <German>Knicklicht-Abschirmung (gelb)</German>
<Korean>켐라이트 쉴드 (노랑)</Korean> <Korean>화학조명 가림막 (노랑)</Korean>
<French>Etui avec cyalume (jaune)</French> <French>Etui avec cyalume (jaune)</French>
<Italian>Scudo Luce Chimica (Gialla)</Italian> <Italian>Scudo Luce Chimica (Gialla)</Italian>
<Chinese>螢光棒保護殼 (黃色)</Chinese> <Chinese>螢光棒保護殼 (黃色)</Chinese>
<Chinesesimp>萤光棒保护壳 (黄色)</Chinesesimp> <Chinesesimp>荧光棒保护壳(黄色)</Chinesesimp>
<Russian>Контейнер для Химсвета (Желт)</Russian> <Russian>Контейнер для Химсвета (Желт)</Russian>
<Portuguese>Estojo de Luz (Amarelo)</Portuguese> <Portuguese>Estojo de Luz (Amarelo)</Portuguese>
<Czech>Clona s vloženým chemickým světlem (Žluté)</Czech> <Czech>Clona s vloženým chemickým světlem (Žluté)</Czech>
@ -644,11 +662,11 @@
<Japanese>ケミライト シールド (オレンジ)</Japanese> <Japanese>ケミライト シールド (オレンジ)</Japanese>
<Polish>Osłona na świetlik (pomarańczowa)</Polish> <Polish>Osłona na świetlik (pomarańczowa)</Polish>
<German>Knicklicht-Abschirmung (orange)</German> <German>Knicklicht-Abschirmung (orange)</German>
<Korean>켐라이트 쉴드 (주황)</Korean> <Korean>화학조명 가림막 (주황)</Korean>
<French>Etui avec cyalume (orange)</French> <French>Etui avec cyalume (orange)</French>
<Italian>Scudo Luce Chimica (Arancione)</Italian> <Italian>Scudo Luce Chimica (Arancione)</Italian>
<Chinese>螢光棒保護殼 (橘色)</Chinese> <Chinese>螢光棒保護殼 (橘色)</Chinese>
<Chinesesimp>萤光棒保护壳 (橘色)</Chinesesimp> <Chinesesimp>荧光棒保护壳(橘色)</Chinesesimp>
<Russian>Контейнер для Химсвета (Оранж)</Russian> <Russian>Контейнер для Химсвета (Оранж)</Russian>
<Portuguese>Estojo de Luz (Laranja)</Portuguese> <Portuguese>Estojo de Luz (Laranja)</Portuguese>
<Czech>Clona s vloženým chemickým světlem (Oranžové)</Czech> <Czech>Clona s vloženým chemickým světlem (Oranžové)</Czech>
@ -676,11 +694,11 @@
<Japanese>ケミライト シールド (白)</Japanese> <Japanese>ケミライト シールド (白)</Japanese>
<Polish>Osłona na świetlik (biała)</Polish> <Polish>Osłona na świetlik (biała)</Polish>
<German>Knicklicht-Abschirmung (weiß)</German> <German>Knicklicht-Abschirmung (weiß)</German>
<Korean>켐라이트 쉴드 (하양)</Korean> <Korean>화학조명 가림막 (하양)</Korean>
<French>Etui avec cyalume (blanc)</French> <French>Etui avec cyalume (blanc)</French>
<Italian>Scudo Luce Chimica (Bianca)</Italian> <Italian>Scudo Luce Chimica (Bianca)</Italian>
<Chinese>螢光棒保護殼 (白色)</Chinese> <Chinese>螢光棒保護殼 (白色)</Chinese>
<Chinesesimp>萤光棒保护壳 (白色)</Chinesesimp> <Chinesesimp>荧光棒保护壳(白色)</Chinesesimp>
<Russian>Контейнер для Химсвета (Белый)</Russian> <Russian>Контейнер для Химсвета (Белый)</Russian>
<Portuguese>Estojo de Luz (Branco)</Portuguese> <Portuguese>Estojo de Luz (Branco)</Portuguese>
<Czech>Clona s vloženým chemickým světlem (Bílé)</Czech> <Czech>Clona s vloženým chemickým světlem (Bílé)</Czech>

View File

@ -111,7 +111,6 @@ PREP(inTransitionAnim);
PREP(isAwake); PREP(isAwake);
PREP(isEngineer); PREP(isEngineer);
PREP(isEOD); PREP(isEOD);
PREP(isFeatureCameraActive);
PREP(isInBuilding); PREP(isInBuilding);
PREP(isMedic); PREP(isMedic);
PREP(isModLoaded); PREP(isModLoaded);
@ -127,7 +126,6 @@ PREP(muteUnitHandleInitPost);
PREP(muteUnitHandleRespawn); PREP(muteUnitHandleRespawn);
PREP(nearestVehiclesFreeSeat); PREP(nearestVehiclesFreeSeat);
PREP(numberToDigits); PREP(numberToDigits);
PREP(numberToDigitsString);
PREP(numberToString); PREP(numberToString);
PREP(onAnswerRequest); PREP(onAnswerRequest);
PREP(owned); PREP(owned);
@ -145,6 +143,7 @@ PREP(removeSpecificMagazine);
PREP(requestCallback); PREP(requestCallback);
PREP(resetAllDefaults); PREP(resetAllDefaults);
PREP(restoreVariablesJIP); PREP(restoreVariablesJIP);
PREP(rscObjectHelper);
PREP(runAfterSettingsInit); PREP(runAfterSettingsInit);
PREP(runTests); PREP(runTests);
PREP(sanitizeString); PREP(sanitizeString);
@ -187,6 +186,7 @@ PREP(uniqueElements);
PREP(uniqueItems); PREP(uniqueItems);
PREP(unloadPerson); PREP(unloadPerson);
PREP(unloadPersonLocal); PREP(unloadPersonLocal);
PREP(unloadUnitWeapon);
PREP(unmuteUnit); PREP(unmuteUnit);
PREP(useItem); PREP(useItem);
PREP(useMagazine); PREP(useMagazine);

View File

@ -27,6 +27,7 @@
["blockThrow", false, ["ACE_Attach", "ACE_concertina_wire", "ACE_dragging", "ACE_Explosives", "ACE_Ladder", "ACE_rearm", "ACE_refuel", "ACE_Sandbag", "ACE_Trenches", "ACE_tripod"]] call FUNC(statusEffect_addType); ["blockThrow", false, ["ACE_Attach", "ACE_concertina_wire", "ACE_dragging", "ACE_Explosives", "ACE_Ladder", "ACE_rearm", "ACE_refuel", "ACE_Sandbag", "ACE_Trenches", "ACE_tripod"]] call FUNC(statusEffect_addType);
["setHidden", true, ["ace_unconscious"]] call FUNC(statusEffect_addType); ["setHidden", true, ["ace_unconscious"]] call FUNC(statusEffect_addType);
["blockRadio", false, [QEGVAR(captives,Handcuffed), QEGVAR(captives,Surrendered), "ace_unconscious"]] call FUNC(statusEffect_addType); ["blockRadio", false, [QEGVAR(captives,Handcuffed), QEGVAR(captives,Surrendered), "ace_unconscious"]] call FUNC(statusEffect_addType);
["blockSpeaking", false, ["ace_unconscious"]] call FUNC(statusEffect_addType);
[QGVAR(forceWalk), { [QGVAR(forceWalk), {
params ["_object", "_set"]; params ["_object", "_set"];
@ -78,12 +79,23 @@
if (_object isEqualTo ACE_Player && {_set > 0}) then { if (_object isEqualTo ACE_Player && {_set > 0}) then {
call FUNC(endRadioTransmission); call FUNC(endRadioTransmission);
}; };
if (isClass (configFile >> "CfgPatches" >> "task_force_radio")) then { if (["task_force_radio"] call FUNC(isModLoaded)) then {
_object setVariable ["tf_unable_to_use_radio", _set > 0, true]; _object setVariable ["tf_unable_to_use_radio", _set > 0, true];
}; };
if (isClass (configFile >> "CfgPatches" >> "acre_main")) then { if (["acre_main"] call FUNC(isModLoaded)) then {
_object setVariable ["acre_sys_core_isDisabledRadio", _set > 0, true];
};
}] call CBA_fnc_addEventHandler;
[QGVAR(blockSpeaking), {
params ["_object", "_set"];
TRACE_2("blockSpeaking EH",_object,_set);
if (["acre_main"] call FUNC(isModLoaded)) then {
_object setVariable ["acre_sys_core_isDisabled", _set > 0, true]; _object setVariable ["acre_sys_core_isDisabled", _set > 0, true];
}; };
if (["task_force_radio"] call FUNC(isModLoaded)) then {
_object setVariable ["tf_voiceVolume", [1, 0] select (_set > 0), true];
};
}] call CBA_fnc_addEventHandler; }] call CBA_fnc_addEventHandler;
[QGVAR(blockDamage), { //Name reversed from `allowDamage` because we want NOR logic [QGVAR(blockDamage), { //Name reversed from `allowDamage` because we want NOR logic
@ -527,4 +539,34 @@ GVAR(deviceKeyCurrentIndex) = -1;
{false}, {false},
[0xC7, [true, false, false]], false] call CBA_fnc_addKeybind; //SHIFT + Home Key [0xC7, [true, false, false]], false] call CBA_fnc_addKeybind; //SHIFT + Home Key
["ACE3 Weapons", QGVAR(unloadWeapon), localize LSTRING(unloadWeapon), {
// Conditions:
if !([ACE_player, objNull, ["isNotInside"]] call FUNC(canInteractWith)) exitWith {false};
private _currentWeapon = currentWeapon ACE_player;
if !(_currentWeapon != primaryWeapon _unit && {_currentWeapon != handgunWeapon _unit} && {_currentWeapon != secondaryWeapon _unit}) exitWith {false};
private _currentMuzzle = currentMuzzle ACE_player;
private _currentAmmoCount = ACE_player ammo _currentMuzzle;
if (_currentAmmoCount < 1) exitWith {false};
// Statement:
[ACE_player, _currentWeapon, _currentMuzzle, _currentAmmoCount, false] call FUNC(unloadUnitWeapon);
true
}, {false}, [19, [false, false, true]], false] call CBA_fnc_addKeybind; //ALT + R Key
["CBA_loadoutSet", {
params ["_unit", "_loadout"];
// remove if with https://github.com/CBATeam/CBA_A3/pull/1548
if (count _loadout == 2) then {
_loadout = _loadout select 0;
};
_loadout params ["_primaryWeaponArray"];
if ((_primaryWeaponArray param [0, ""]) == "ACE_FakePrimaryWeapon") then {
TRACE_1("Ignoring fake gun",_primaryWeaponArray);
_loadout set [0, []];
};
}] call CBA_fnc_addEventHandler;
GVAR(commonPostInited) = true; GVAR(commonPostInited) = true;

View File

@ -11,6 +11,9 @@ GVAR(syncedEvents) = createHashMap;
GVAR(showHudHash) = createHashMap; GVAR(showHudHash) = createHashMap;
GVAR(vehicleIconCache) = createHashMap; // for getVehicleIcon GVAR(vehicleIconCache) = createHashMap; // for getVehicleIcon
// Cache for FUNC(isModLoaded)
GVAR(isModLoadedCache) = createHashMap;
GVAR(settingsInitFinished) = false; GVAR(settingsInitFinished) = false;
GVAR(runAtSettingsInitialized) = []; GVAR(runAtSettingsInitialized) = [];

View File

@ -37,11 +37,11 @@ GVAR(AssignedItemsShownItems) = [
private _assignedItems = getUnitLoadout _unit param [9, ["","","","","",""]]; // ["ItemMap","ItemGPS","ItemRadio","ItemCompass","ItemWatch","NVGoggles"] private _assignedItems = getUnitLoadout _unit param [9, ["","","","","",""]]; // ["ItemMap","ItemGPS","ItemRadio","ItemCompass","ItemWatch","NVGoggles"]
GVAR(AssignedItemsShownItems) = [ GVAR(AssignedItemsShownItems) = [
!((_assignedItems select 0) isEqualTo "") && {getText (configFile >> "CfgWeapons" >> _assignedItems select 0 >> "ACE_hideItemType") != "map"}, ((_assignedItems select 0) isNotEqualTo "") && {getText (configFile >> "CfgWeapons" >> _assignedItems select 0 >> "ACE_hideItemType") != "map"},
!((_assignedItems select 3) isEqualTo "") && {getText (configFile >> "CfgWeapons" >> _assignedItems select 3 >> "ACE_hideItemType") != "compass"}, ((_assignedItems select 3) isNotEqualTo "") && {getText (configFile >> "CfgWeapons" >> _assignedItems select 3 >> "ACE_hideItemType") != "compass"},
!((_assignedItems select 4) isEqualTo "") && {getText (configFile >> "CfgWeapons" >> _assignedItems select 4 >> "ACE_hideItemType") != "watch"}, ((_assignedItems select 4) isNotEqualTo "") && {getText (configFile >> "CfgWeapons" >> _assignedItems select 4 >> "ACE_hideItemType") != "watch"},
!((_assignedItems select 2) isEqualTo "") && {getText (configFile >> "CfgWeapons" >> _assignedItems select 2 >> "ACE_hideItemType") != "radio"}, ((_assignedItems select 2) isNotEqualTo "") && {getText (configFile >> "CfgWeapons" >> _assignedItems select 2 >> "ACE_hideItemType") != "radio"},
!((_assignedItems select 1) isEqualTo "") && {getText (configFile >> "CfgWeapons" >> _assignedItems select 1 >> "ACE_hideItemType") != "gps"} ((_assignedItems select 1) isNotEqualTo "") && {getText (configFile >> "CfgWeapons" >> _assignedItems select 1 >> "ACE_hideItemType") != "gps"}
]; ];
GVAR(AssignedItemsShownItems) params ["_showMap", "_showCompass", "_showWatch", "_showRadio", "_showGPS"]; GVAR(AssignedItemsShownItems) params ["_showMap", "_showCompass", "_showWatch", "_showRadio", "_showGPS"];

View File

@ -22,7 +22,7 @@ params ["_oldComponent", "_newComponent", "_version"];
_oldComponent params ["_oldComponentName", "_oldSettingName"]; _oldComponent params ["_oldComponentName", "_oldSettingName"];
_newComponent params ["_newComponentName", "_newSettingName"]; _newComponent params ["_newComponentName", "_newSettingName"];
private _isReplacementAvailable = isClass (configFile >> "CfgPatches" >> _newComponentName); private _isReplacementAvailable = [_newComponentName] call FUNC(isModLoaded);
private _isDeprecatedLoaded = missionNamespace getvariable [_oldSettingName, false]; private _isDeprecatedLoaded = missionNamespace getvariable [_oldSettingName, false];
private _isReplacementLoaded = missionNamespace getvariable [_newSettingName, false]; private _isReplacementLoaded = missionNamespace getvariable [_newSettingName, false];

View File

@ -66,9 +66,13 @@ if (_state) then {
_ctrl ctrlSetTooltip "Abort."; _ctrl ctrlSetTooltip "Abort.";
_ctrl = _dlg displayctrl ([104, 1010] select isMultiplayer); _ctrl = _dlg displayctrl ([104, 1010] select isMultiplayer);
if (["ace_medical"] call FUNC(isModLoaded)) then {
_ctrl ctrlSetEventHandler ["buttonClick", 'closeDialog 0; [player, "respawn_button"] call EFUNC(medical_status,setDead); [false] call DFUNC(disableUserInput);'];
} else {
_ctrl ctrlSetEventHandler ["buttonClick", QUOTE(closeDialog 0; player setDamage 1; [false] call DFUNC(disableUserInput);)]; _ctrl ctrlSetEventHandler ["buttonClick", QUOTE(closeDialog 0; player setDamage 1; [false] call DFUNC(disableUserInput);)];
_ctrl ctrlEnable (call {private _config = missionConfigFile >> "respawnButton"; !isNumber _config || {getNumber _config == 1}}); };
_ctrl ctrlSetText "RESPAWN"; _ctrl ctrlEnable ((getMissionConfigValue ["respawnButton", -1]) != 0); // handles 3den attribute or description.ext
_ctrl ctrlSetText localize "$str_3den_multiplayer_attributecategory_respawn_displayname";
_ctrl ctrlSetTooltip "Respawn."; _ctrl ctrlSetTooltip "Respawn.";
}; };

View File

@ -19,7 +19,7 @@
["ace_endRadioTransmissions"] call CBA_fnc_localEvent; ["ace_endRadioTransmissions"] call CBA_fnc_localEvent;
// ACRE // ACRE
if (isClass (configFile >> "CfgPatches" >> "acre_main")) then { if (["acre_main"] call FUNC(isModLoaded)) then {
[-1] call acre_sys_core_fnc_handleMultiPttKeyPressUp; [-1] call acre_sys_core_fnc_handleMultiPttKeyPressUp;
[0] call acre_sys_core_fnc_handleMultiPttKeyPressUp; [0] call acre_sys_core_fnc_handleMultiPttKeyPressUp;
[1] call acre_sys_core_fnc_handleMultiPttKeyPressUp; [1] call acre_sys_core_fnc_handleMultiPttKeyPressUp;
@ -27,8 +27,8 @@ if (isClass (configFile >> "CfgPatches" >> "acre_main")) then {
}; };
// TFAR // TFAR
if (isClass (configFile >> "CfgPatches" >> "task_force_radio")) then { if (["task_force_radio"] call FUNC(isModLoaded)) then {
if (isClass (configFile >> "CfgPatches" >> "tfar_core")) exitWith { // Beta TFAR, exit to avoid script errors from legacy functions not existing if (["tfar_core"] call FUNC(isModLoaded)) exitWith { // Beta TFAR, exit to avoid script errors from legacy functions not existing
ACE_Player call TFAR_fnc_releaseAllTangents; ACE_Player call TFAR_fnc_releaseAllTangents;
}; };
call TFAR_fnc_onSwTangentReleased; call TFAR_fnc_onSwTangentReleased;

View File

@ -43,9 +43,13 @@ if (_cargo isKindOf "CAManBase") then {
_radiusOfItem = 1.1; _radiusOfItem = 1.1;
} else { } else {
//`sizeOf` is unreliable, and does not work with object types that don't exist on map, so estimate size based on cargo size //`sizeOf` is unreliable, and does not work with object types that don't exist on map, so estimate size based on cargo size
private _typeOfCargo = if (_cargo isEqualType "") then {_cargo} else {typeOf _cargo}; private _configOfCargo = if (_cargo isEqualType objNull) then {
private _itemSize = if (isNumber (configFile >> "CfgVehicles" >> _typeOfCargo >> QEGVAR(cargo,size)) && {getNumber (configFile >> "CfgVehicles" >> _typeOfCargo >> QEGVAR(cargo,size)) != -1}) then { configOf _cargo
getNumber (configFile >> "CfgVehicles" >> _typeOfCargo >> QEGVAR(cargo,size)); } else {
configFile >> "CfgVehicles" >> _cargo
};
private _itemSize = if (isNumber (_configOfCargo >> QEGVAR(cargo,size)) && {getNumber (_configOfCargo >> QEGVAR(cargo,size)) != -1}) then {
getNumber (_configOfCargo >> QEGVAR(cargo,size));
} else { } else {
if (["ace_cargo"] call FUNC(isModLoaded)) then { if (["ace_cargo"] call FUNC(isModLoaded)) then {
[_cargo] call EFUNC(cargo,getSizeItem); [_cargo] call EFUNC(cargo,getSizeItem);

View File

@ -17,7 +17,7 @@
params [["_vehicle", objNull, [objNull]]]; params [["_vehicle", objNull, [objNull]]];
private _config = configFile >> "CfgVehicles" >> _vehicle; private _config = configOf _vehicle;
private _cargo = []; private _cargo = [];
private _codrivers = getArray (_config >> "cargoIsCoDriver"); private _codrivers = getArray (_config >> "cargoIsCoDriver");

View File

@ -17,7 +17,7 @@
params [["_vehicle", objNull, [objNull]]]; params [["_vehicle", objNull, [objNull]]];
private _config = configFile >> "CfgVehicles" >> _vehicle; private _config = configOf _vehicle;
private _cargo = []; private _cargo = [];
private _codrivers = getArray (_config >> "cargoIsCoDriver"); private _codrivers = getArray (_config >> "cargoIsCoDriver");

View File

@ -18,7 +18,7 @@
params [["_object", objNull, [objNull, ""]]]; params [["_object", objNull, [objNull, ""]]];
if ((_object isEqualType objNull && {isNull _object}) || {_object isEqualType "" && {_object == ""}}) exitWith { DEFAULT_TEXTURE }; if (_object isEqualTo objNull || {_object isEqualTo ""}) exitWith { DEFAULT_TEXTURE };
private _objectType = if (_object isEqualType objNull) then { private _objectType = if (_object isEqualType objNull) then {
typeOf _object typeOf _object

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