Merge branch 'master' into radioDirectionFinder

This commit is contained in:
PabstMirror 2019-12-19 16:11:33 -06:00
commit e54d7358b2
599 changed files with 13102 additions and 6161 deletions

View File

@ -7,15 +7,6 @@ assignees: ''
--- ---
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: bug
assignees: ''
---
**Mods (complete and add to the following information):** **Mods (complete and add to the following information):**
- **Arma 3:** `x.xx` [e.g. 1.00 stable, rc, dev] - **Arma 3:** `x.xx` [e.g. 1.00 stable, rc, dev]
- **CBA:** `3.x.x` [e.g. 3.0.0 stable, commit hash] - **CBA:** `3.x.x` [e.g. 3.0.0 stable, commit hash]

View File

@ -0,0 +1,20 @@
---
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

@ -1,10 +0,0 @@
---
name: Todo
about: Create simple todo for this project
title: ''
labels: ''
assignees: ''
---

49
.github/workflows/arma.yml vendored Normal file
View File

@ -0,0 +1,49 @@
name: Arma
on:
push:
branches:
- master
pull_request:
jobs:
validate:
runs-on: ubuntu-latest
steps:
- name: Checkout the source code
uses: actions/checkout@master
- name: Validate SQF
run: python3 tools/sqf_validator.py
- name: Validate Config
run: python3 tools/config_style_checker.py
- name: Validate Stringtables
run: python3 tools/stringtable_validator.py
- name: Check Strings
run: python3 tools/check_strings.py
- name: Check for BOM
uses: arma-actions/bom-check@master
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout the source code
uses: actions/checkout@master
- name: Lint (sqflint)
uses: arma-actions/sqflint@master
continue-on-error: true # No failure due to many false-positives
build:
runs-on: ubuntu-latest
steps:
- name: Checkout the source code
uses: actions/checkout@master
- name: Build using HEMTT
uses: arma-actions/hemtt@master
with:
command: build --ci # no --release due to https://github.com/synixebrett/HEMTT/issues/227
# https://github.com/actions/upload-artifact/issues/3#issuecomment-524442814
# - name: Upload Artifact
# uses: actions/upload-artifact@master
# with:
# name: ace3-${{ github.sha }}-nobin
# path: '@ace'

24
.github/workflows/documentation.yml vendored Normal file
View File

@ -0,0 +1,24 @@
name: Documentation
on:
push:
branches:
- master
jobs:
update:
runs-on: ubuntu-latest
steps:
- name: Checkout the source code
uses: actions/checkout@master
- name: Install Python packages
run: |
pip3 install wheel
pip3 install setuptools
pip3 install pygithub
pip3 install pygithub3
- name: Deploy
if: github.repository == 'acemod/ACE3' && ! contains(github.event.head_commit.message, '[ci skip]')
env:
GH_TOKEN: ${{ secrets.DOCS_TOKEN }}
run: python3 tools/deploy.py

31
.github/workflows/extensions.yml vendored Normal file
View File

@ -0,0 +1,31 @@
name: Extensions
on:
pull_request:
paths:
- 'extensions/*'
- 'extensions/*/*'
- 'extensions/*/*/*'
- 'extensions/*/*/*/*'
- 'extensions/*/*/*/*/*'
jobs:
build:
runs-on: ${{ matrix. os }}
strategy:
matrix:
os: [windows-latest]
steps:
- name: Checkout the source code
uses: actions/checkout@master
- name: Build
shell: cmd
run: |
cd extensions/build
cmake .. && cmake --build .
- name: Upload Artifact
uses: actions/upload-artifact@master
with:
name: ace3_extensions-${{ matrix.os }}-debug
path: extensions/build

4
.gitignore vendored
View File

@ -1,8 +1,10 @@
@* @*
*.zip *.zip
release/* release/*
releases/*
hemtt
hemtt.exe
tools/temp tools/temp
tools/armake.exe
*.cache *.cache
*.pbo *.pbo
texHeaders.bin texHeaders.bin

View File

@ -47,6 +47,7 @@ Arkhir <wonsz666@gmail.com >
Asgar Serran <piechottaf@web.de> Asgar Serran <piechottaf@web.de>
BaerMitUmlaut BaerMitUmlaut
Bamse <bamsis@gmail.com> Bamse <bamsis@gmail.com>
Barman75
Bla1337 Bla1337
BlackPixxel <blackpixxel96@gmail.com> BlackPixxel <blackpixxel96@gmail.com>
BlackQwar BlackQwar
@ -124,6 +125,7 @@ PiZZADOX <509thParachuteInfantry@gmail.com>
Phyma <sethramstrom@gmail.com> Phyma <sethramstrom@gmail.com>
pokertour pokertour
Professor <lukas.trneny@wo.cz> Professor <lukas.trneny@wo.cz>
Pterolatypus <pterolatypus@gmail.com>
QuickDagger QuickDagger
rakowozz rakowozz
ramius86 <pasini86@hotmail.com> ramius86 <pasini86@hotmail.com>
@ -132,6 +134,7 @@ 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>
Schwaggot <tom.ryan@posteo.de>
simon84 <badguy360th@gmail.com> simon84 <badguy360th@gmail.com>
Skengman2 Skengman2
Sniperwolf572 <tenga6@gmail.com> Sniperwolf572 <tenga6@gmail.com>
@ -145,6 +148,7 @@ Tonic
Tourorist <tourorist@gmail.com> Tourorist <tourorist@gmail.com>
Tuupertunut Tuupertunut
Valentin Torikian <valentin.torikian@gmail.com> Valentin Torikian <valentin.torikian@gmail.com>
veteran29
voiper voiper
VyMajoris(W-Cephei)<vycanismajoriscsa@gmail.com> VyMajoris(W-Cephei)<vycanismajoriscsa@gmail.com>
Winter <simon@agius-muscat.net> Winter <simon@agius-muscat.net>

View File

@ -1,91 +0,0 @@
VERSION = $(shell cat "VERSION")
PREFIX = ace
BIN = @ace
ZIP = ace3
FLAGS = -i include -w unquoted-string -w redefinition-wo-undef
VERSION_FILES = README.md docs/README_DE.md docs/README_PL.md mod.cpp
MAJOR = $(word 1, $(subst ., ,$(VERSION)))
MINOR = $(word 2, $(subst ., ,$(VERSION)))
PATCH = $(word 3, $(subst ., ,$(VERSION)))
BUILD = $(word 4, $(subst ., ,$(VERSION)))
VERSION_S = $(MAJOR).$(MINOR).$(PATCH)
GIT_HASH = $(shell git log -1 --pretty=format:"%H" | head -c 8)
ifeq ($(OS), Windows_NT)
ARMAKE = ./tools/armake.exe # Downloaded via make.ps (rename armake_wXY.exe otherwise)
else
ARMAKE = armake
endif
$(BIN)/addons/$(PREFIX)_%.pbo: addons/%
@mkdir -p $(BIN)/addons
@echo " PBO $@"
@${ARMAKE} build ${FLAGS} -f -e "version=$(GIT_HASH)" $< $@
$(BIN)/optionals/$(PREFIX)_%.pbo: optionals/%
@mkdir -p $(BIN)/optionals
@echo " PBO $@"
@${ARMAKE} build ${FLAGS} -f -e "version=$(GIT_HASH)" $< $@
# Shortcut for building single addons (eg. "make <component>.pbo")
%.pbo:
"$(MAKE)" $(MAKEFLAGS) $(patsubst %, $(BIN)/addons/$(PREFIX)_%, $@)
all: $(patsubst addons/%, $(BIN)/addons/$(PREFIX)_%.pbo, $(wildcard addons/*)) \
$(patsubst optionals/%, $(BIN)/optionals/$(PREFIX)_%.pbo, $(wildcard optionals/*))
filepatching:
"$(MAKE)" $(MAKEFLAGS) FLAGS="-w unquoted-string -p"
$(BIN)/keys/%.biprivatekey:
@mkdir -p $(BIN)/keys
@echo " KEY $@"
@${ARMAKE} keygen -f $(patsubst $(BIN)/keys/%.biprivatekey, $(BIN)/keys/%, $@)
$(BIN)/addons/$(PREFIX)_%.pbo.$(PREFIX)_$(VERSION)-$(GIT_HASH).bisign: $(BIN)/addons/$(PREFIX)_%.pbo $(BIN)/keys/$(PREFIX)_$(VERSION).biprivatekey
@echo " SIG $@"
@${ARMAKE} sign -f -s $@ $(BIN)/keys/$(PREFIX)_$(VERSION).biprivatekey $<
$(BIN)/optionals/$(PREFIX)_%.pbo.$(PREFIX)_$(VERSION)-$(GIT_HASH).bisign: $(BIN)/optionals/$(PREFIX)_%.pbo $(BIN)/keys/$(PREFIX)_$(VERSION).biprivatekey
@echo " SIG $@"
@${ARMAKE} sign -f -s $@ $(BIN)/keys/$(PREFIX)_$(VERSION).biprivatekey $<
signatures: $(patsubst addons/%, $(BIN)/addons/$(PREFIX)_%.pbo.$(PREFIX)_$(VERSION)-$(GIT_HASH).bisign, $(wildcard addons/*)) \
$(patsubst optionals/%, $(BIN)/optionals/$(PREFIX)_%.pbo.$(PREFIX)_$(VERSION)-$(GIT_HASH).bisign, $(wildcard optionals/*))
extensions: $(wildcard extensions/*/*)
cd extensions/build && cmake .. && make
find ./extensions/build/ \( -name "*.so" -o -name "*.dll" \) -exec cp {} ./ \;
extensions-win64: $(wildcard extensions/*/*)
cd extensions/build && CXX=$(eval $(which g++-w64-mingw-i686)) cmake .. && make
version:
@echo " VER $(VERSION)"
$(shell sed -i -r -s 's/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/$(VERSION)/g' $(VERSION_FILES))
$(shell sed -i -r -s 's/[0-9]+\.[0-9]+\.[0-9]+/$(VERSION_S)/g' $(VERSION_FILES))
@echo -e "#define MAJOR $(MAJOR)\n#define MINOR $(MINOR)\n#define PATCHLVL $(PATCH)\n#define BUILD $(BUILD)" > "addons/main/script_version.hpp"
$(shell sed -i -r -s 's/ACE_VERSION_MAJOR [0-9]+/ACE_VERSION_MAJOR $(MAJOR)/g' extensions/CMakeLists.txt)
$(shell sed -i -r -s 's/ACE_VERSION_MINOR [0-9]+/ACE_VERSION_MINOR $(MINOR)/g' extensions/CMakeLists.txt)
$(shell sed -i -r -s 's/ACE_VERSION_REVISION [0-9]+/ACE_VERSION_REVISION $(PATCH)/g' extensions/CMakeLists.txt)
commit:
@echo " GIT commit release preparation"
@git add -A
@git diff-index --quiet HEAD || git commit -am "Prepare release $(VERSION_S)" -q
push: commit
@echo " GIT push release preparation"
@git push -q
release: clean version commit
@"$(MAKE)" $(MAKEFLAGS) signatures
@echo " ZIP $(ZIP)_$(VERSION_S).zip"
@cp *.dll mod.cpp README.md docs/README_DE.md docs/README_PL.md AUTHORS.txt LICENSE logo_ace3_ca.paa meta.cpp $(BIN)
@zip -qr $(ZIP)_$(VERSION_S).zip $(BIN)
clean:
rm -rf $(BIN) $(ZIP)_*.zip
.PHONY: all filepatching signatures extensions extensions-win64 version commit push release clean

View File

@ -19,7 +19,7 @@
<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://slackin.ace3mod.com/">
<img src="https://slackin.ace3mod.com/badge.svg?style=flat-square&label=Slack" alt="ACE3 Slack"> <img src="https://img.shields.io/badge/Slack-Join-darkviolet.svg?style=flat-square" alt="ACE3 Slack">
</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">

View File

@ -1 +0,0 @@
3.12.6.43

BIN
ace_artillerytables.dll Normal file

Binary file not shown.

BIN
ace_artillerytables_x64.dll Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -20,5 +20,8 @@ class CfgPatches {
#include "ACE_Settings.hpp" #include "ACE_Settings.hpp"
class ACE_Extensions { class ACE_Extensions {
extensions[] += {"ace_advanced_ballistics"}; class ace_advanced_ballistics {
windows = 1;
client = 1;
};
}; };

View File

@ -1,7 +1,7 @@
#include "script_component.hpp" #include "script_component.hpp"
/* /*
* Author: Ruthberg * Author: Ruthberg
* Initializes the advanced ballistics dll extension with terrain data * Initializes the advanced ballistics extension with terrain data
* *
* Arguments: * Arguments:
* None * None

View File

@ -6,7 +6,7 @@
<Polish>Pokaż inf. o wietrze</Polish> <Polish>Pokaż inf. o wietrze</Polish>
<Italian>Mostra indicazioni del vento</Italian> <Italian>Mostra indicazioni del vento</Italian>
<Russian>Показать информацию о ветре</Russian> <Russian>Показать информацию о ветре</Russian>
<French>Afficher les info sur le vent</French> <French>Afficher les infos sur le vent</French>
<Spanish>Mostrar información del viento</Spanish> <Spanish>Mostrar información del viento</Spanish>
<German>Windinformationen anzeigen</German> <German>Windinformationen anzeigen</German>
<Hungarian>Széladatok mutatása</Hungarian> <Hungarian>Széladatok mutatása</Hungarian>
@ -72,7 +72,7 @@
<German>Aktiviert die erweiterte Ballistik</German> <German>Aktiviert die erweiterte Ballistik</German>
<Czech>Aktivuje pokročilou balistiku</Czech> <Czech>Aktivuje pokročilou balistiku</Czech>
<Portuguese>Ativa balística avançada</Portuguese> <Portuguese>Ativa balística avançada</Portuguese>
<French>Activer la balistique avancée</French> <French>Active la balistique avancée.</French>
<Hungarian>Engedélyezi a fejlett ballisztikát</Hungarian> <Hungarian>Engedélyezi a fejlett ballisztikát</Hungarian>
<Russian>Включает продвинутую баллистику</Russian> <Russian>Включает продвинутую баллистику</Russian>
<Italian>Abilita Balistica Avanzata</Italian> <Italian>Abilita Balistica Avanzata</Italian>
@ -89,9 +89,11 @@
<Korean>총구속도 변화적용</Korean> <Korean>총구속도 변화적용</Korean>
<Chinese>啟用槍口初速變化</Chinese> <Chinese>啟用槍口初速變化</Chinese>
<Chinesesimp>启用枪口初速变化</Chinesesimp> <Chinesesimp>启用枪口初速变化</Chinesesimp>
<French>Activer les variations de la vitesse initiale</French> <French>Activer la variation de vitesse initiale</French>
<Polish>Aktywuj wariację prędkości wylotowej</Polish> <Polish>Aktywuj wariację prędkości wylotowej</Polish>
<Russian>Вкл. вариацию начальной скорости</Russian> <Russian>Вкл. вариацию начальной скорости</Russian>
<Portuguese>Ativar Variação de Velocidade no Freio de boca (muzzle)</Portuguese>
<Czech>Povoluje variantu rychlosti ústí</Czech>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Ballistics_muzzleVelocityVariationEnabled_Description"> <Key ID="STR_ACE_Advanced_Ballistics_muzzleVelocityVariationEnabled_Description">
<English>Simulates slight variations in muzzle velocity between each shot</English> <English>Simulates slight variations in muzzle velocity between each shot</English>
@ -101,9 +103,11 @@
<Korean>각 사격 사이에 총구속도 변화를 시뮬레이션 합니다.</Korean> <Korean>각 사격 사이에 총구속도 변화를 시뮬레이션 합니다.</Korean>
<Chinese>模擬每發子彈的槍口初速都略有不同</Chinese> <Chinese>模擬每發子彈的槍口初速都略有不同</Chinese>
<Chinesesimp>模拟每发子弹的枪口初速都略有不同</Chinesesimp> <Chinesesimp>模拟每发子弹的枪口初速都略有不同</Chinesesimp>
<French>Simule les légères variations</French> <French>Simule de légères variations de vitesse initiale entre chaque tir.</French>
<Polish>Symuluje lekkie zmiany w prędkości wylotowej między każdym strzałem</Polish> <Polish>Symuluje lekkie zmiany w prędkości wylotowej między każdym strzałem</Polish>
<Russian>Имитирует небольшие изменения начальной скорости при каждом выстреле</Russian> <Russian>Имитирует небольшие изменения начальной скорости при каждом выстреле</Russian>
<Portuguese>Simula pequenas variações na velocidade do Freio de Boca entre cada tiro</Portuguese>
<Czech>Simuluje malé odchylky v úsťové rychlosti mezi jednotlivými výstřely</Czech>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Ballistics_ammoTemperatureEnabled_DisplayName"> <Key ID="STR_ACE_Advanced_Ballistics_ammoTemperatureEnabled_DisplayName">
<English>Enable Ammo Temperature Simulation</English> <English>Enable Ammo Temperature Simulation</English>
@ -112,7 +116,7 @@
<German>Simulation der Munitionstemperatur aktivieren</German> <German>Simulation der Munitionstemperatur aktivieren</German>
<Czech>Povolit simulaci teploty munice</Czech> <Czech>Povolit simulaci teploty munice</Czech>
<Portuguese>Ativar simulação de temperatura de munição</Portuguese> <Portuguese>Ativar simulação de temperatura de munição</Portuguese>
<French>Active la simulation de la température</French> <French>Activer la simulation de la température</French>
<Hungarian>Lőszer-hő szimuláció engedélyezése</Hungarian> <Hungarian>Lőszer-hő szimuláció engedélyezése</Hungarian>
<Russian>Симуляция температуры для боеприпасов</Russian> <Russian>Симуляция температуры для боеприпасов</Russian>
<Italian>Abilita simulazione della temperatura delle munizioni</Italian> <Italian>Abilita simulazione della temperatura delle munizioni</Italian>
@ -128,7 +132,7 @@
<German>Munitionstemperatur hat Einfluss auf die Mündungsgeschwindigkeit</German> <German>Munitionstemperatur hat Einfluss auf die Mündungsgeschwindigkeit</German>
<Czech>Úsťová rychlost je závislá na teplotě munice</Czech> <Czech>Úsťová rychlost je závislá na teplotě munice</Czech>
<Portuguese>A velocidade de saída varia com a temperatura da munição</Portuguese> <Portuguese>A velocidade de saída varia com a temperatura da munição</Portuguese>
<French>La température de la munition influe sur la vélocité intiale</French> <French>La vitesse initiale varie en fonction de la température des munitions.</French>
<Hungarian>A kezdősebesség a lőszer hőmérsékletétől függően változó</Hungarian> <Hungarian>A kezdősebesség a lőszer hőmérsékletétől függően változó</Hungarian>
<Russian>Начальная скорость пули зависит от температуры</Russian> <Russian>Начальная скорость пули зависит от температуры</Russian>
<Italian>La velocità dello sparo varia a seconda della temperatura delle munizioni</Italian> <Italian>La velocità dello sparo varia a seconda della temperatura delle munizioni</Italian>
@ -160,7 +164,7 @@
<German>Lauflänge beeinflusst Mündungsgeschwindigkeit</German> <German>Lauflänge beeinflusst Mündungsgeschwindigkeit</German>
<Czech>Úsťová rychlost je závislá na délce hlavně</Czech> <Czech>Úsťová rychlost je závislá na délce hlavně</Czech>
<Portuguese>A velocidade de saída caria com o comprimento do cano</Portuguese> <Portuguese>A velocidade de saída caria com o comprimento do cano</Portuguese>
<French>La longueur du canon influe sur la vélocité initale</French> <French>La vitesse initiale varie en fonction de la longueur du canon.</French>
<Hungarian>A kezdősebesség a cső hosszától függően változó</Hungarian> <Hungarian>A kezdősebesség a cső hosszától függően változó</Hungarian>
<Russian>Начальная скорость пули зависит от длины ствола</Russian> <Russian>Начальная скорость пули зависит от длины ствола</Russian>
<Italian>La velocità di sparo varia a seconda della lunghezza della canna</Italian> <Italian>La velocità di sparo varia a seconda della lunghezza della canna</Italian>
@ -176,7 +180,7 @@
<German>Geschossspureffekt aktivieren</German> <German>Geschossspureffekt aktivieren</German>
<Czech>Povolit efekt trasírek</Czech> <Czech>Povolit efekt trasírek</Czech>
<Portuguese>Ativa efeito traçante de projétil</Portuguese> <Portuguese>Ativa efeito traçante de projétil</Portuguese>
<French>Activer l'effet balle traçante</French> <French>Activer l'effet de balle traçante</French>
<Hungarian>Nyomkövető-effekt engedélyezése</Hungarian> <Hungarian>Nyomkövető-effekt engedélyezése</Hungarian>
<Russian>Следы пуль</Russian> <Russian>Следы пуль</Russian>
<Italian>Abilita effetto dei Proiettili Traccianti</Italian> <Italian>Abilita effetto dei Proiettili Traccianti</Italian>
@ -192,7 +196,7 @@
<German>Aktiviere Geschossspureffekt für hohe Kaliber (bei Benutzung von Optiken mit starker Vergrößerung)</German> <German>Aktiviere Geschossspureffekt für hohe Kaliber (bei Benutzung von Optiken mit starker Vergrößerung)</German>
<Czech>Aktivuje efekt trasírek z vysokokaliberních zbraní (viditelné pouze skrze výkonnou optiku)</Czech> <Czech>Aktivuje efekt trasírek z vysokokaliberních zbraní (viditelné pouze skrze výkonnou optiku)</Czech>
<Portuguese>Ativa o efeito traçante de projétil para projéteis de alto calibre (somente visível quando observado por miras telescópicas)</Portuguese> <Portuguese>Ativa o efeito traçante de projétil para projéteis de alto calibre (somente visível quando observado por miras telescópicas)</Portuguese>
<French>Active une tracante pour les munitions de gros calibre (seulement visible en utilisant des optiques avancées)</French> <French>Active un effet de balle traçante pour les munitions de gros calibre (seulement visible en utilisant une optique à fort grossissement).</French>
<Hungarian>Engedélyezi a nagy kaliberű lövedékek nyomának vizuális követését (csak nagy teljesítményű optikán keresztül látható)</Hungarian> <Hungarian>Engedélyezi a nagy kaliberű lövedékek nyomának vizuális követését (csak nagy teljesítményű optikán keresztül látható)</Hungarian>
<Russian>Включает эффект следов пуль для больших калибров (видны только через мощную оптику)</Russian> <Russian>Включает эффект следов пуль для больших калибров (видны только через мощную оптику)</Russian>
<Italian>Abilita effetto dei proiettili traccianti di alto calibro (visibile solo attraverso ottiche ad alto potenziale)</Italian> <Italian>Abilita effetto dei proiettili traccianti di alto calibro (visibile solo attraverso ottiche ad alto potenziale)</Italian>
@ -224,7 +228,7 @@
<German>Definiert das Intervall zwischen den einzelnen Simulationsschritten</German> <German>Definiert das Intervall zwischen den einzelnen Simulationsschritten</German>
<Czech>Určuje interval mezi každým výpočtem</Czech> <Czech>Určuje interval mezi každým výpočtem</Czech>
<Portuguese>Define o intervalo entre cada cálculo</Portuguese> <Portuguese>Define o intervalo entre cada cálculo</Portuguese>
<French>Définit un intervalle de calcul entre deux simulations</French> <French>Définit l'intervalle entre chacune des étapes de calcul.</French>
<Hungarian>Meghatározza a számítási lépések közötti időintervallumot</Hungarian> <Hungarian>Meghatározza a számítási lépések közötti időintervallumot</Hungarian>
<Russian>Определяет временной интервал между вычислениями</Russian> <Russian>Определяет временной интервал между вычислениями</Russian>
<Italian>Definisce l'intervallo tra ogni step di calcolo</Italian> <Italian>Definisce l'intervallo tra ogni step di calcolo</Italian>
@ -256,7 +260,7 @@
<German>Gibt den Radius (in Metern) um den Spieler an, bei dem die erweiterte Ballistik auf Geschosse angewendet wird</German> <German>Gibt den Radius (in Metern) um den Spieler an, bei dem die erweiterte Ballistik auf Geschosse angewendet wird</German>
<Czech>Určuje oblast kolem hráče (v metrech), kde je pokročilá balistika použita na projektil</Czech> <Czech>Určuje oblast kolem hráče (v metrech), kde je pokročilá balistika použita na projektil</Czech>
<Portuguese>Define o raio ao redor do jogador (em metros) onde a balística avançada será aplicada aos projéteis</Portuguese> <Portuguese>Define o raio ao redor do jogador (em metros) onde a balística avançada será aplicada aos projéteis</Portuguese>
<French>Définit le rayon autour du joueur (en mètres) d'application de la balistique avancée</French> <French>Définit le rayon autour du joueur (en mètres), dans lequel la balistique avancée est appliquée aux projectiles.</French>
<Hungarian>Meghatározza a játékos körüli hatókört (méterben), ahol a lövedékek fejlett ballisztikát használnak</Hungarian> <Hungarian>Meghatározza a játékos körüli hatókört (méterben), ahol a lövedékek fejlett ballisztikát használnak</Hungarian>
<Russian>Определяет радиус вокруг игрока (в метрах), в котором продвинутая баллистика применяется к снарядам</Russian> <Russian>Определяет радиус вокруг игрока (в метрах), в котором продвинутая баллистика применяется к снарядам</Russian>
<Italian>Definisce il raggio attorno al giocatore (in metri) per cui la Balistica Avanzata è applicata ai proiettili</Italian> <Italian>Definisce il raggio attorno al giocatore (in metri) per cui la Balistica Avanzata è applicata ai proiettili</Italian>
@ -271,7 +275,7 @@
<Polish>Moduł ten pozwala aktywować zaawansowaną balistykę biorącą przy obliczeniach trajektorii lotu pocisku pod uwagę takie rzeczy jak temperatura powietrza, ciśnienie atmosferyczne, wilgotność powietrza, siły Coriolisa i Eotvosa, grawitację a także broń z jakiej wykonywany jest strzał oraz rodzaj amunicji. Wszystko to sprowadza się na bardzo dokładne odwzorowanie balistyki.</Polish> <Polish>Moduł ten pozwala aktywować zaawansowaną balistykę biorącą przy obliczeniach trajektorii lotu pocisku pod uwagę takie rzeczy jak temperatura powietrza, ciśnienie atmosferyczne, wilgotność powietrza, siły Coriolisa i Eotvosa, grawitację a także broń z jakiej wykonywany jest strzał oraz rodzaj amunicji. Wszystko to sprowadza się na bardzo dokładne odwzorowanie balistyki.</Polish>
<Czech>Tento modul umožňuje aktivovat pokročilou balistiku, která vypočítává trajektorii kulky a bere do úvahy věci jako je teplota vzduchu, atmosférický tlak, vlhkost vzduchu, gravitaci, typ munice a zbraň, ze které je náboj vystřelen. To vše přispívá k velmi přesné balistice.</Czech> <Czech>Tento modul umožňuje aktivovat pokročilou balistiku, která vypočítává trajektorii kulky a bere do úvahy věci jako je teplota vzduchu, atmosférický tlak, vlhkost vzduchu, gravitaci, typ munice a zbraň, ze které je náboj vystřelen. To vše přispívá k velmi přesné balistice.</Czech>
<Portuguese>Este módulo permite que você ative cálculos de balística avançada, fazendo a trajetória do projétil levar em consideração coisas como temperatura do ar, pressão atmosférica, umidade, força de Coriolis, a gravidade, o modelo da arma no qual o disparo é realizado e o tipo de munição. Tudo isso acrescenta-se a um balística muito precisa.</Portuguese> <Portuguese>Este módulo permite que você ative cálculos de balística avançada, fazendo a trajetória do projétil levar em consideração coisas como temperatura do ar, pressão atmosférica, umidade, força de Coriolis, a gravidade, o modelo da arma no qual o disparo é realizado e o tipo de munição. Tudo isso acrescenta-se a um balística muito precisa.</Portuguese>
<French>Ce module active la simulation de balistique avancée - les projectiles sont influencés par des variables comme le vent, la température, la pression atmosphérique, l'humidité, la gravité, le type de munition et l'arme avec laquelles ils sont tirés.</French> <French>Ce module permet une simulation balistique avancée ; c'est à dire que la trajectoire des projectiles est influencée par des facteurs tels que la température de l'air, la pression atmosphérique, l'humidité, la gravité, le type de munition et l'arme depuis laquelle elle est tirée.</French>
<Hungarian>Ez a modul engedélyezi a fejlett ballisztikai szimulációt - a lövedékek röppályáját befolyásolni fogja a levegő hőmérséklete, légnyomás, páratartalom, gravitáció, a lövedék fajtája, valamint a fegyver, amiből kilőtték a lövedéket.</Hungarian> <Hungarian>Ez a modul engedélyezi a fejlett ballisztikai szimulációt - a lövedékek röppályáját befolyásolni fogja a levegő hőmérséklete, légnyomás, páratartalom, gravitáció, a lövedék fajtája, valamint a fegyver, amiből kilőtték a lövedéket.</Hungarian>
<Russian>Этот модуль включает симуляцию продвинутой баллистики - при этом на траекторию полета снаряда влияют различные параметры, такие как температура воздуха, атмосферное давление, влажность, гравитация, тип боеприпаса и оружия, из которого произвели выстрел.</Russian> <Russian>Этот модуль включает симуляцию продвинутой баллистики - при этом на траекторию полета снаряда влияют различные параметры, такие как температура воздуха, атмосферное давление, влажность, гравитация, тип боеприпаса и оружия, из которого произвели выстрел.</Russian>
<Spanish>Este módulo permite la simulación balística avanzada - es decir, la trayectoria de los proyectiles está influenciada por variables como la temperatura del aire, la presión atmosférica, la humedad, la gravedad, el tipo de municiones y el arma desde el que fue disparada.</Spanish> <Spanish>Este módulo permite la simulación balística avanzada - es decir, la trayectoria de los proyectiles está influenciada por variables como la temperatura del aire, la presión atmosférica, la humedad, la gravedad, el tipo de municiones y el arma desde el que fue disparada.</Spanish>

View File

@ -27,6 +27,7 @@ params ["_unit", "_fatigue", "_speed", "_overexhausted"];
// - Audible effects ---------------------------------------------------------- // - Audible effects ----------------------------------------------------------
GVAR(lastBreath) = GVAR(lastBreath) + 1; GVAR(lastBreath) = GVAR(lastBreath) + 1;
if (_fatigue > 0.4 && {GVAR(lastBreath) > (_fatigue * -10 + 9)} && {!underwater _unit}) then { if (_fatigue > 0.4 && {GVAR(lastBreath) > (_fatigue * -10 + 9)} && {!underwater _unit}) then {
if (!isGameFocused) exitWith {};
switch (true) do { switch (true) do {
case (_fatigue < 0.6): { case (_fatigue < 0.6): {
playSound (QGVAR(breathLow) + str(floor random 6)); playSound (QGVAR(breathLow) + str(floor random 6));

View File

@ -25,11 +25,13 @@ _posAndSize set [2, _stamina * GVAR(staminaBarWidth)];
_staminaBarContainer ctrlSetPosition _posAndSize; _staminaBarContainer ctrlSetPosition _posAndSize;
// - Opacity ------------------------------------------------------------------ // - Opacity ------------------------------------------------------------------
if (GVAR(fadeStaminaBar)) then {
if (_stamina >= 0.8) then { if (_stamina >= 0.8) then {
_staminaBarContainer ctrlSetFade (0.9 + 0.1 * (_stamina - 0.8) / 0.2); _staminaBarContainer ctrlSetFade (0.9 + 0.1 * (_stamina - 0.8) / 0.2);
} else { } else {
_staminaBarContainer ctrlSetFade (0.9 * _stamina / 0.8); _staminaBarContainer ctrlSetFade (0.9 * _stamina / 0.8);
}; };
};
// - Color -------------------------------------------------------------------- // - Color --------------------------------------------------------------------
// 1.0 - 0.8: White // 1.0 - 0.8: White

View File

@ -4,8 +4,14 @@
[LSTRING(Enabled), LSTRING(Enabled_Description)], [LSTRING(Enabled), LSTRING(Enabled_Description)],
LSTRING(DisplayName), LSTRING(DisplayName),
true, true,
true, true, {
{[QGVAR(enabled), _this] call EFUNC(common,cbaSettings_settingChanged)}, if (!_this) then {
private _staminaBarContainer = uiNamespace getVariable [QGVAR(staminaBarContainer), controlNull];
_staminaBarContainer ctrlSetFade 1;
_staminaBarContainer ctrlCommit 0;
};
[QGVAR(enabled), _this] call EFUNC(common,cbaSettings_settingChanged)
},
true // Needs mission restart true // Needs mission restart
] call CBA_Settings_fnc_init; ] call CBA_Settings_fnc_init;
@ -24,6 +30,21 @@
} }
] call CBA_Settings_fnc_init; ] call CBA_Settings_fnc_init;
[
QGVAR(fadeStaminaBar),
"CHECKBOX",
[LSTRING(FadeStaminaBar), LSTRING(FadeStaminaBar_Description)],
LSTRING(DisplayName),
true,
false, {
if (!_this && GVAR(enabled) && GVAR(enableStaminaBar)) then {
private _staminaBarContainer = uiNamespace getVariable [QGVAR(staminaBarContainer), controlNull];
_staminaBarContainer ctrlSetFade 0;
_staminaBarContainer ctrlCommit 0;
};
}
] call CBA_Settings_fnc_init;
[ [
QGVAR(performanceFactor), QGVAR(performanceFactor),
"SLIDER", "SLIDER",

View File

@ -9,9 +9,11 @@
<Japanese>ACE アドバンスド ファティーグ</Japanese> <Japanese>ACE アドバンスド ファティーグ</Japanese>
<Italian>ACE Fatica Avanzata</Italian> <Italian>ACE Fatica Avanzata</Italian>
<Korean>ACE 고급 피로도</Korean> <Korean>ACE 고급 피로도</Korean>
<French>ACE Fatigue Avancée</French> <French>ACE Fatigue avancée</French>
<Polish>ACE Zaawansowane Zmęczenie</Polish> <Polish>ACE Zaawansowane Zmęczenie</Polish>
<Russian>ACE Продвинутая усталость</Russian> <Russian>ACE Продвинутая усталость</Russian>
<Portuguese>ACE Fadiga Avançada</Portuguese>
<Czech>ACE Pokročilá únava</Czech>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Fatigue_PerformanceFactor"> <Key ID="STR_ACE_Advanced_Fatigue_PerformanceFactor">
<English>Performance Factor</English> <English>Performance Factor</English>
@ -24,6 +26,8 @@
<Chinese>體力值</Chinese> <Chinese>體力值</Chinese>
<Chinesesimp>体力值</Chinesesimp> <Chinesesimp>体力值</Chinesesimp>
<Russian>Фактор производительности</Russian> <Russian>Фактор производительности</Russian>
<Portuguese>Fator de Performance</Portuguese>
<Czech>Faktor výkonu</Czech>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Fatigue_PerformanceFactor_Description"> <Key ID="STR_ACE_Advanced_Fatigue_PerformanceFactor_Description">
<English>Influences the overall performance of all players with no custom factor. Higher means better.</English> <English>Influences the overall performance of all players with no custom factor. Higher means better.</English>
@ -31,11 +35,13 @@
<Japanese>個別の因数を設定されていない、全てのプレイヤーのあらゆるパフォーマンスに影響を与えます。 値が高ければ高いほど、良い効果が得られます。</Japanese> <Japanese>個別の因数を設定されていない、全てのプレイヤーのあらゆるパフォーマンスに影響を与えます。 値が高ければ高いほど、良い効果が得られます。</Japanese>
<Polish>Wpływa na ogólną wydolność organizmu u wszystkich graczy bez ustawionego niestandardowego współczynnika. Więcej znaczy lepiej.</Polish> <Polish>Wpływa na ogólną wydolność organizmu u wszystkich graczy bez ustawionego niestandardowego współczynnika. Więcej znaczy lepiej.</Polish>
<Korean>모든 성능이 임의로 설정된 값 없이 영향받습니다. 값이 클수록 더 나은 성능을 발휘합니다</Korean> <Korean>모든 성능이 임의로 설정된 값 없이 영향받습니다. 값이 클수록 더 나은 성능을 발휘합니다</Korean>
<French>Influence les performances générales de tous les joueurs sans facteurs personalisés. Une valeur plus élevée implique de meilleures performances.</French> <French>Impacte la performance globale de tous les joueurs n'ayant pas de facteur personnalisé.\nPlus la valeur est élevée, plus le joueur est performant.</French>
<Italian>Influenza qualsiasi prestazione di tutti i giocatori smuniti di un fattore personalizzato. Maggiore significa migliore.</Italian> <Italian>Influenza qualsiasi prestazione di tutti i giocatori smuniti di un fattore personalizzato. Maggiore significa migliore.</Italian>
<Chinese>影響所有玩家的體力表現,值越高代表體力越好</Chinese> <Chinese>影響所有玩家的體力表現,值越高代表體力越好</Chinese>
<Chinesesimp>影响所有玩家的体力表现,值越高代表体力越好</Chinesesimp> <Chinesesimp>影响所有玩家的体力表现,值越高代表体力越好</Chinesesimp>
<Russian>Влияет на общую производительность игроков, у которых не задано персональное значение.</Russian> <Russian>Влияет на общую производительность игроков, у которых не задано персональное значение.</Russian>
<Portuguese>Influencia na performance geral de todos os jogadores sem nenhum fator personalizado. Quanto maior, melhor.</Portuguese>
<Czech>Ovlivňuje celkový výkon všech hráčů bez vlastního faktoru. Vyšší znamená lépe.</Czech>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Fatigue_PerformanceFactor_EdenDescription"> <Key ID="STR_ACE_Advanced_Fatigue_PerformanceFactor_EdenDescription">
<English>Influences the overall performance of this unit. Higher means better.</English> <English>Influences the overall performance of this unit. Higher means better.</English>
@ -43,11 +49,13 @@
<Japanese>このユニットのあらゆるパフォーマンスに影響を与えます。 値が高ければ高いほど、良い効果が得られます。</Japanese> <Japanese>このユニットのあらゆるパフォーマンスに影響を与えます。 値が高ければ高いほど、良い効果が得られます。</Japanese>
<Polish>Wpływa na ogólną wydolność tej jednostki. Więcej znaczy lepiej.</Polish> <Polish>Wpływa na ogólną wydolność tej jednostki. Więcej znaczy lepiej.</Polish>
<Korean>모든 성능이 이 단위로 영향을 받습니다. 값이 클수록 더 나은 성능을 발휘합니다</Korean> <Korean>모든 성능이 이 단위로 영향을 받습니다. 값이 클수록 더 나은 성능을 발휘합니다</Korean>
<French>Influence les performances générales de cette unité. Une valeur plus élevée implique de meilleures performances.</French> <French>Impacte la performance globale de cette unité.\nPlus la valeur est élevée, plus l'unité est performante.</French>
<Italian>Influenza qualsiasi prestazione di questa unità. Maggiore significa migliore.</Italian> <Italian>Influenza qualsiasi prestazione di questa unità. Maggiore significa migliore.</Italian>
<Chinese>影響這個單位的體力表現,值越高代表體力越好</Chinese> <Chinese>影響這個單位的體力表現,值越高代表體力越好</Chinese>
<Chinesesimp>影响这个单位的体力表现,值越高代表体力越好</Chinesesimp> <Chinesesimp>影响这个单位的体力表现,值越高代表体力越好</Chinesesimp>
<Russian>Влияет на общую производительность юнита.</Russian> <Russian>Влияет на общую производительность юнита.</Russian>
<Portuguese>Influencia na performance geral dessa unidade. Quanto maior, melhor.</Portuguese>
<Czech>Ovlivňuje celkový výkon této jednotky. Vyšší znamená lépe.</Czech>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Fatigue_RecoveryFactor"> <Key ID="STR_ACE_Advanced_Fatigue_RecoveryFactor">
<English>Recovery Factor</English> <English>Recovery Factor</English>
@ -60,6 +68,8 @@
<Chinese>回復值</Chinese> <Chinese>回復值</Chinese>
<Chinesesimp>回复值</Chinesesimp> <Chinesesimp>回复值</Chinesesimp>
<Russian>Фактор восстановления</Russian> <Russian>Фактор восстановления</Russian>
<Portuguese>Fator de Recuperação</Portuguese>
<Czech>Faktor zotavení</Czech>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Fatigue_RecoveryFactor_Description"> <Key ID="STR_ACE_Advanced_Fatigue_RecoveryFactor_Description">
<English>Changes how fast the player recovers when resting. Higher is faster.</English> <English>Changes how fast the player recovers when resting. Higher is faster.</English>
@ -67,11 +77,13 @@
<Japanese>プレイヤーが休憩をとる際に、どのくらいの速度でスタミナ回復するかを設定します。 値が高ければ高いほど、早くなります。</Japanese> <Japanese>プレイヤーが休憩をとる際に、どのくらいの速度でスタミナ回復するかを設定します。 値が高ければ高いほど、早くなります。</Japanese>
<Polish>Wpływa na czas regeneracji podczas postoju. Więcej znaczy szybciej.</Polish> <Polish>Wpływa na czas regeneracji podczas postoju. Więcej znaczy szybciej.</Polish>
<Korean>얼마나 빨리 회복하는지를 바꿉니다. 값이 클수록 더 나은 성능을 발휘합니다</Korean> <Korean>얼마나 빨리 회복하는지를 바꿉니다. 값이 클수록 더 나은 성능을 발휘합니다</Korean>
<French>Change la vitesse à laquelle les joueurs récupèrent leur endurance lorsqu'ils se reposent. Une valeur plus élevée implique une récupération plus 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>
<Czech>Mění, jak rychle se hráč zotaví, když odpočívá. Vyšší je rychlejší.</Czech>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Fatigue_LoadFactor"> <Key ID="STR_ACE_Advanced_Fatigue_LoadFactor">
<English>Load Factor</English> <English>Load Factor</English>
@ -79,11 +91,13 @@
<Japanese>重量因数</Japanese> <Japanese>重量因数</Japanese>
<Polish>Współczynnik masy ekwipunku</Polish> <Polish>Współczynnik masy ekwipunku</Polish>
<Korean>부담 요인</Korean> <Korean>부담 요인</Korean>
<French>Facteur d'encombrement</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>
<Czech>Faktor zatížení</Czech>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Fatigue_LoadFactor_Description"> <Key ID="STR_ACE_Advanced_Fatigue_LoadFactor_Description">
<English>Increases or decreases how much weight influences the players performance. Zero means equipment weight has no performance influence.</English> <English>Increases or decreases how much weight influences the players performance. Zero means equipment weight has no performance influence.</English>
@ -91,11 +105,13 @@
<Japanese>装備重量がプレイヤーのパフォーマンスにもたらす影響を増減させます。 値をゼロに設定した場合、装備重量はパフォーマンスに影響を与えません。</Japanese> <Japanese>装備重量がプレイヤーのパフォーマンスにもたらす影響を増減させます。 値をゼロに設定した場合、装備重量はパフォーマンスに影響を与えません。</Japanese>
<Polish>Zmniejsza lub zwiększa wpływ ciężaru ekwipunku na wydolność gracza. Zero oznacza kompletny brak wpływu na wydolność.</Polish> <Polish>Zmniejsza lub zwiększa wpływ ciężaru ekwipunku na wydolność gracza. Zero oznacza kompletny brak wpływu na wydolność.</Polish>
<Korean>플레이어가 무게에 따라 얼마나 영향받는지를 증가시키거나 감소시킵니다. 0의 경우 플레이어가 장비 무게에 영향받지 않습니다.</Korean> <Korean>플레이어가 무게에 따라 얼마나 영향받는지를 증가시키거나 감소시킵니다. 0의 경우 플레이어가 장비 무게에 영향받지 않습니다.</Korean>
<French>Augmente ou réduit l'influence que le poids à sur les performances des joueurs. Zéro implique que le poids de l'équipement n'a pas d'influence 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>
<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>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Fatigue_TerrainGradientFactor"> <Key ID="STR_ACE_Advanced_Fatigue_TerrainGradientFactor">
<English>Terrain Gradient Factor</English> <English>Terrain Gradient Factor</English>
@ -108,6 +124,8 @@
<Chinese>地形陡峭影響值</Chinese> <Chinese>地形陡峭影響值</Chinese>
<Chinesesimp>地形陡峭影响值</Chinesesimp> <Chinesesimp>地形陡峭影响值</Chinesesimp>
<Russian>Фактор местности</Russian> <Russian>Фактор местности</Russian>
<Portuguese>Fator de Inclinação do Terreno</Portuguese>
<Czech>Faktor stoupání terénu</Czech>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Fatigue_TerrainGradientFactor_Description"> <Key ID="STR_ACE_Advanced_Fatigue_TerrainGradientFactor_Description">
<English>Sets how much steep terrain increases stamina loss. Higher means higher stamina loss.</English> <English>Sets how much steep terrain increases stamina loss. Higher means higher stamina loss.</English>
@ -115,11 +133,13 @@
<Japanese>急勾配の地形がどれだけスタミナ消費を増大させるかを設定します。 値が高ければ高いほど、スタミナ消費が大きくなります。</Japanese> <Japanese>急勾配の地形がどれだけスタミナ消費を増大させるかを設定します。 値が高ければ高いほど、スタミナ消費が大きくなります。</Japanese>
<Polish>Wpływa na to w jakim stopniu stromy teren wpływa na utratę wytrzymałości. Więcej oznacza szybszą utratę wytrzymałości.</Polish> <Polish>Wpływa na to w jakim stopniu stromy teren wpływa na utratę wytrzymałości. Więcej oznacza szybszą utratę wytrzymałości.</Polish>
<Korean>경사도에 따라 얼마나 피로해지는지를 정합니다. 값이 클수록 더 많은 피로를 유발합니다.</Korean> <Korean>경사도에 따라 얼마나 피로해지는지를 정합니다. 값이 클수록 더 많은 피로를 유발합니다.</Korean>
<French>Configure l'influence de l'inclinaison du terrain sur la perte d'endurance. Une valeur plus élevée implique une perte d'endurance plus importante.</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>
<Czech>Nastavuje, o kolik strmý terén zvyšuje ztrátu výdrže. Vyšší znamená vyšší ztrátu výdrže.</Czech>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Fatigue_SwayFactor"> <Key ID="STR_ACE_Advanced_Fatigue_SwayFactor">
<English>Sway factor</English> <English>Sway factor</English>
@ -127,10 +147,12 @@
<Japanese>手ぶれ因数</Japanese> <Japanese>手ぶれ因数</Japanese>
<Chinesesimp>抖动因数</Chinesesimp> <Chinesesimp>抖动因数</Chinesesimp>
<Chinese>抖動因素</Chinese> <Chinese>抖動因素</Chinese>
<French>Facteur de stabilisation</French> <French>Facteur de tremblement</French>
<Italian>Fattore di oscillazione</Italian> <Italian>Fattore di oscillazione</Italian>
<Polish>Czynnik kołysania</Polish> <Polish>Czynnik kołysania</Polish>
<Russian>Фактор колебания прицела</Russian> <Russian>Фактор колебания прицела</Russian>
<Portuguese>Fator de Balanço de Mira</Portuguese>
<Czech>Faktor kývání</Czech>
</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>
@ -138,10 +160,12 @@
<Japanese>武器を持つ手のぶれ度合いを設定します。 値が高ければ高いほど、手ぶれが強くなります。</Japanese> <Japanese>武器を持つ手のぶれ度合いを設定します。 値が高ければ高いほど、手ぶれが強くなります。</Japanese>
<Chinesesimp>影响手持武器的晃动程度,数值越高,抖动的越厉害.</Chinesesimp> <Chinesesimp>影响手持武器的晃动程度,数值越高,抖动的越厉害.</Chinesesimp>
<Chinese>影響手持武器晃動程度,數值越高抖動越厲害</Chinese> <Chinese>影響手持武器晃動程度,數值越高抖動越厲害</Chinese>
<French>Influence les mouvements de l'arme, une valeur plus élevée signifie plus de mouvements</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>
<Polish>Wpływa na poziom kołysania broni. Większa ilość znaczy większe kołysanie.</Polish> <Polish>Wpływa na poziom kołysania broni. Większa ilość znaczy większe kołysanie.</Polish>
<Russian>Влияет на колебания прицела оружия. Чем выше - тем больше.</Russian> <Russian>Влияет на колебания прицела оружия. Чем выше - тем больше.</Russian>
<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>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Fatigue_Enabled"> <Key ID="STR_ACE_Advanced_Fatigue_Enabled">
<English>Enabled</English> <English>Enabled</English>
@ -154,6 +178,8 @@
<Chinese>啟用</Chinese> <Chinese>啟用</Chinese>
<Chinesesimp>启用</Chinesesimp> <Chinesesimp>启用</Chinesesimp>
<Russian>Включена</Russian> <Russian>Включена</Russian>
<Portuguese>Ativado</Portuguese>
<Czech>Povoleno</Czech>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Fatigue_Enabled_Description"> <Key ID="STR_ACE_Advanced_Fatigue_Enabled_Description">
<English>Enables/disables Advanced Fatigue.</English> <English>Enables/disables Advanced Fatigue.</English>
@ -161,16 +187,18 @@
<Japanese>アドバンスド ファティーグを有効化します。</Japanese> <Japanese>アドバンスド ファティーグを有効化します。</Japanese>
<Polish>Włącza/wyłącza zaawansowaną wytrzymałość</Polish> <Polish>Włącza/wyłącza zaawansowaną wytrzymałość</Polish>
<Korean>고급 피로도 활성화/비활성화</Korean> <Korean>고급 피로도 활성화/비활성화</Korean>
<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>
<Czech>Aktivuje / deaktivuje Pokročilou únavu.</Czech>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Fatigue_EnableStaminaBar"> <Key ID="STR_ACE_Advanced_Fatigue_EnableStaminaBar">
<English>Show stamina bar</English> <English>Show stamina bar</English>
<German>Zeige Ausdauerleiste</German> <German>Zeige Ausdauerleiste</German>
<Japanese>スタミナバーを表示する</Japanese> <Japanese>スタミナバーを表示</Japanese>
<Polish>Pokaż pasek wytrzymałości</Polish> <Polish>Pokaż pasek wytrzymałości</Polish>
<Korean>피로도 막대</Korean> <Korean>피로도 막대</Korean>
<French>Afficher la barre d'endurance</French> <French>Afficher la barre d'endurance</French>
@ -178,6 +206,8 @@
<Chinese>顯示體力條</Chinese> <Chinese>顯示體力條</Chinese>
<Chinesesimp>显示体力条</Chinesesimp> <Chinesesimp>显示体力条</Chinesesimp>
<Russian>Показать шкалу усталости</Russian> <Russian>Показать шкалу усталости</Russian>
<Portuguese>Exibir barra de estamina</Portuguese>
<Czech>Zobrazit lištu výdrže</Czech>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Fatigue_EnableStaminaBar_Description"> <Key ID="STR_ACE_Advanced_Fatigue_EnableStaminaBar_Description">
<English>Shows the stamina bar.</English> <English>Shows the stamina bar.</English>
@ -190,6 +220,22 @@
<Chinese>顯示體力條</Chinese> <Chinese>顯示體力條</Chinese>
<Chinesesimp>显示体力条</Chinesesimp> <Chinesesimp>显示体力条</Chinesesimp>
<Russian>Показывает шкалу усталости.</Russian> <Russian>Показывает шкалу усталости.</Russian>
<Portuguese>Exibe a barra de estamina.</Portuguese>
<Czech>Zobrazuje lištu výdrže</Czech>
</Key>
<Key ID="STR_ACE_Advanced_Fatigue_FadeStaminaBar">
<English>Fade Stamina bar automatically</English>
<German>Blende Ausdauerleiste automatisch aus</German>
<Chinese>體力條自動淡去</Chinese>
<French>Fondu automatique de la barre d'endurance</French>
<Japanese>自動的にスタミナバーを非表示</Japanese>
</Key>
<Key ID="STR_ACE_Advanced_Fatigue_FadeStaminaBar_Description">
<English>Adjusts transparency of the bar based on stamina status.</English>
<German>Passt die Transparenz der Ausdauerleiste abhängig vom Ausdauerstatus an.</German>
<Chinese>依照目前的體力程度調整體力條之透明度</Chinese>
<French>Règle la transparence de la barre en fonction de l'état d'endurance.</French>
<Japanese>スタミナの状態に応じて、自動的にバーの透明度を調整します。</Japanese>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -53,7 +53,7 @@ for "_i" from 0.05 to 1.45 step 0.1 do {
if (lineIntersects [_prevTrajASL, _newTrajASL]) then { // Checks the "VIEW" LOD if (lineIntersects [_prevTrajASL, _newTrajASL]) then { // Checks the "VIEW" LOD
_cross = 2; // 2: View LOD Block (Red) _cross = 2; // 2: View LOD Block (Red)
} else { } else {
if (!((lineIntersectsSurfaces [_prevTrajASL, _newTrajASL, _activeThrowable, ACE_player, true, 1, "GEOM", "FIRE"]) isEqualTo [])) then { if !((lineIntersectsSurfaces [_prevTrajASL, _newTrajASL, _activeThrowable, ACE_player, true, 1, "GEOM", "FIRE"]) isEqualTo []) then {
_cross = 3; // 3: GEOM/FIRE LOD Block (Yellow) - pass a3 bulding glass, but blocked on some CUP glass _cross = 3; // 3: GEOM/FIRE LOD Block (Yellow) - pass a3 bulding glass, but blocked on some CUP glass
}; };
}; };

View File

@ -12,6 +12,8 @@
<Italian>Lancio Avanzato</Italian> <Italian>Lancio Avanzato</Italian>
<Chinese>進階投擲</Chinese> <Chinese>進階投擲</Chinese>
<Chinesesimp>进阶投掷</Chinesesimp> <Chinesesimp>进阶投掷</Chinesesimp>
<Portuguese>Arremesso Avançado</Portuguese>
<Czech>Pokročilé házení</Czech>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Throwing_Module_Description"> <Key ID="STR_ACE_Advanced_Throwing_Module_Description">
<English>Allows changing advanced throwing behaviour.</English> <English>Allows changing advanced throwing behaviour.</English>
@ -24,6 +26,8 @@
<Italian>Permette il cambiamento della modalità di tiro.</Italian> <Italian>Permette il cambiamento della modalità di tiro.</Italian>
<Chinese>允許使用更多不同的投擲方式</Chinese> <Chinese>允許使用更多不同的投擲方式</Chinese>
<Chinesesimp>允许使用更多不同的投掷方式</Chinesesimp> <Chinesesimp>允许使用更多不同的投掷方式</Chinesesimp>
<Portuguese>Permite mudar o comportamento do arremesso avançado.</Portuguese>
<Czech>Umožňuje změnit pokročilé chování při házení.</Czech>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Throwing_Enable_DisplayName"> <Key ID="STR_ACE_Advanced_Throwing_Enable_DisplayName">
<English>Enable Advanced Throwing</English> <English>Enable Advanced Throwing</English>
@ -32,10 +36,12 @@
<Polish>Aktywuj zaawansowane rzucanie</Polish> <Polish>Aktywuj zaawansowane rzucanie</Polish>
<German>Aktiviere erweitertes Wurfsystem</German> <German>Aktiviere erweitertes Wurfsystem</German>
<Korean>고급 투척 활성화 </Korean> <Korean>고급 투척 활성화 </Korean>
<French>Active le lancé amélioré</French> <French>Activer le lancé amélioré</French>
<Italian>Abilita Lancio Avanzato</Italian> <Italian>Abilita Lancio Avanzato</Italian>
<Chinese>啟用進階投擲</Chinese> <Chinese>啟用進階投擲</Chinese>
<Chinesesimp>启用进阶投掷</Chinesesimp> <Chinesesimp>启用进阶投掷</Chinesesimp>
<Portuguese>Ativa o Arremesso Avançado</Portuguese>
<Czech>Povolit pokročilé házení</Czech>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Throwing_Enable_Description"> <Key ID="STR_ACE_Advanced_Throwing_Enable_Description">
<English>Enables advanced throwing system.</English> <English>Enables advanced throwing system.</English>
@ -48,6 +54,8 @@
<Italian>Abilita il sistema di lancio avanzato.</Italian> <Italian>Abilita il sistema di lancio avanzato.</Italian>
<Chinese>啟用進階投擲系統</Chinese> <Chinese>啟用進階投擲系統</Chinese>
<Chinesesimp>启用进阶投掷系统</Chinesesimp> <Chinesesimp>启用进阶投掷系统</Chinesesimp>
<Portuguese>Ativa o sistema de Arremesso Avançado.</Portuguese>
<Czech>Umožňuje pokročilý systém házení.</Czech>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Throwing_ShowThrowArc_DisplayName"> <Key ID="STR_ACE_Advanced_Throwing_ShowThrowArc_DisplayName">
<English>Show Throw Arc</English> <English>Show Throw Arc</English>
@ -60,6 +68,8 @@
<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>
<Czech>Zobrazit oblouk vrhu </Czech>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Throwing_ShowThrowArc_Description"> <Key ID="STR_ACE_Advanced_Throwing_ShowThrowArc_Description">
<English>Enables visualization of the throw arc (where throwable will fly).</English> <English>Enables visualization of the throw arc (where throwable will fly).</English>
@ -68,10 +78,11 @@
<Polish>Wyświetla wizualizację trasy przelotu granatu.</Polish> <Polish>Wyświetla wizualizację trasy przelotu granatu.</Polish>
<German>Aktiviert die Visualisierung des Wurfbogens (wohin das Objekt geworfen werden wird).</German> <German>Aktiviert die Visualisierung des Wurfbogens (wohin das Objekt geworfen werden wird).</German>
<Korean>투척 궤도를 시각화 합니다(투척물이 어디로 갈지)</Korean> <Korean>투척 궤도를 시각화 합니다(투척물이 어디로 갈지)</Korean>
<French>Active la visualisation de l'arc de lancé (où l'objet lancé va atterrir).</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>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Throwing_ShowMouseControls_DisplayName"> <Key ID="STR_ACE_Advanced_Throwing_ShowMouseControls_DisplayName">
<English>Show Throwing Mouse Controls</English> <English>Show Throwing Mouse Controls</English>
@ -84,6 +95,7 @@
<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>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Throwing_ShowMouseControls_Description"> <Key ID="STR_ACE_Advanced_Throwing_ShowMouseControls_Description">
<English>Enables visual cues for mouse controls when throwable is prepared.</English> <English>Enables visual cues for mouse controls when throwable is prepared.</English>
@ -92,10 +104,11 @@
<Polish>Wyświetla podpowiedzi sterowania myszą kiedy obiekt miotany jest w ręku.</Polish> <Polish>Wyświetla podpowiedzi sterowania myszą kiedy obiekt miotany jest w ręku.</Polish>
<German>Aktiviert visuelle Hinweise zur Maussteuerung, wenn ein Objekt zum Werfen vorbereitet wird.</German> <German>Aktiviert visuelle Hinweise zur Maussteuerung, wenn ein Objekt zum Werfen vorbereitet wird.</German>
<Korean>투척물을 준비시 마우스 조작을 시각화해서 보여줍니다</Korean> <Korean>투척물을 준비시 마우스 조작을 시각화해서 보여줍니다</Korean>
<French>Active les aides visuels pour les controles à 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>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Throwing_EnablePickUp_DisplayName"> <Key ID="STR_ACE_Advanced_Throwing_EnablePickUp_DisplayName">
<English>Enable Throwables Pick Up</English> <English>Enable Throwables Pick Up</English>
@ -104,10 +117,11 @@
<Polish>Zezwól na podnoszenie obiektów miotanych</Polish> <Polish>Zezwól na podnoszenie obiektów miotanych</Polish>
<German>Aktiviere Aufheben von Wurfobjekten</German> <German>Aktiviere Aufheben von Wurfobjekten</German>
<Korean>투척물 줍기 활성화</Korean> <Korean>투척물 줍기 활성화</Korean>
<French>Active la récupération des objets lancés</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>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Throwing_EnablePickUp_Description"> <Key ID="STR_ACE_Advanced_Throwing_EnablePickUp_Description">
<English>Enables ability to pick up throwables from the ground.</English> <English>Enables ability to pick up throwables from the ground.</English>
@ -116,10 +130,11 @@
<Polish>Umożliwia podnoszenie obiektów miotanych z ziemi.</Polish> <Polish>Umożliwia podnoszenie obiektów miotanych z ziemi.</Polish>
<German>Aktiviert die Möglichkeit, geworfene Objekte wieder vom Boden aufzuheben.</German> <German>Aktiviert die Möglichkeit, geworfene Objekte wieder vom Boden aufzuheben.</German>
<Korean>땅에 떨어진 투척물을 주울 수 있게 해줍니다.</Korean> <Korean>땅에 떨어진 투척물을 주울 수 있게 해줍니다.</Korean>
<French>Active la capacité de récupérer les objets lancés sur le 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>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Throwing_EnablePickUpAttached_DisplayName"> <Key ID="STR_ACE_Advanced_Throwing_EnablePickUpAttached_DisplayName">
<English>Enable Attached Throwables Pick Up</English> <English>Enable Attached Throwables Pick Up</English>
@ -132,6 +147,7 @@
<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>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Throwing_EnablePickUpAttached_Description"> <Key ID="STR_ACE_Advanced_Throwing_EnablePickUpAttached_Description">
<English>Enables ability to pick up throwables from attached objects.</English> <English>Enables ability to pick up throwables from attached objects.</English>
@ -140,10 +156,11 @@
<Polish>Umożliwia podnoszenie obiektów miotanych przyczepionych do innych obiektów.</Polish> <Polish>Umożliwia podnoszenie obiektów miotanych przyczepionych do innych obiektów.</Polish>
<German>Aktiviert die Möglichkeit, befestigte Wurfobjekte erneut aufzunehmen.</German> <German>Aktiviert die Möglichkeit, befestigte Wurfobjekte erneut aufzunehmen.</German>
<Korean>부착된 투척물을 주울 수 있게 해줍니다.</Korean> <Korean>부착된 투척물을 주울 수 있게 해줍니다.</Korean>
<French>Active la capacité à ramasser les objets lançables attaché à 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>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Throwing_Prepare"> <Key ID="STR_ACE_Advanced_Throwing_Prepare">
<English>Prepare/Change Throwable</English> <English>Prepare/Change Throwable</English>
@ -152,10 +169,11 @@
<Polish>Przygotuj/zmień ob. miotany</Polish> <Polish>Przygotuj/zmień ob. miotany</Polish>
<German>Wurfobjekt vorbereiten/wechseln</German> <German>Wurfobjekt vorbereiten/wechseln</German>
<Korean>투척물 준비/변경</Korean> <Korean>투척물 준비/변경</Korean>
<French>Préparer/changer d'objet</French> <French>Préparer/Changer d'objet lançable</French>
<Italian>Prepara/Cambia Oggetto lanciabile</Italian> <Italian>Prepara/Cambia Oggetto lanciabile</Italian>
<Chinese>準備/變更投擲物</Chinese> <Chinese>準備/變更投擲物</Chinese>
<Chinesesimp>准备/变更投掷物</Chinesesimp> <Chinesesimp>准备/变更投掷物</Chinesesimp>
<Portuguese>Preparar/Mudar Arremessável</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Throwing_dropModeHold"> <Key ID="STR_ACE_Advanced_Throwing_dropModeHold">
<English>Throwable Drop Mode (Hold)</English> <English>Throwable Drop Mode (Hold)</English>
@ -168,6 +186,7 @@
<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>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Throwing_DropModeToggle"> <Key ID="STR_ACE_Advanced_Throwing_DropModeToggle">
<English>Throwable Drop Mode (Toggle)</English> <English>Throwable Drop Mode (Toggle)</English>
@ -180,6 +199,7 @@
<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>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Throwing_Primed"> <Key ID="STR_ACE_Advanced_Throwing_Primed">
<English>Primed</English> <English>Primed</English>
@ -192,6 +212,7 @@
<Italian>Armato</Italian> <Italian>Armato</Italian>
<Chinese>引信開始燃燒</Chinese> <Chinese>引信開始燃燒</Chinese>
<Chinesesimp>引信开始燃烧</Chinesesimp> <Chinesesimp>引信开始燃烧</Chinesesimp>
<Portuguese>Preparado</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Throwing_Throw"> <Key ID="STR_ACE_Advanced_Throwing_Throw">
<English>Throw</English> <English>Throw</English>
@ -204,6 +225,7 @@
<Italian>Lanciare</Italian> <Italian>Lanciare</Italian>
<Chinese>投擲</Chinese> <Chinese>投擲</Chinese>
<Chinesesimp>投掷</Chinesesimp> <Chinesesimp>投掷</Chinesesimp>
<Portuguese>Arremessar</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Throwing_ChangeMode"> <Key ID="STR_ACE_Advanced_Throwing_ChangeMode">
<English>(Scroll) Change Mode</English> <English>(Scroll) Change Mode</English>
@ -216,6 +238,7 @@
<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>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Throwing_Extend"> <Key ID="STR_ACE_Advanced_Throwing_Extend">
<English>(Scroll) Extend</English> <English>(Scroll) Extend</English>
@ -224,10 +247,11 @@
<Polish>(Kółko m.) przedłuż</Polish> <Polish>(Kółko m.) przedłuż</Polish>
<German>(Scrollen) Erweitern</German> <German>(Scrollen) Erweitern</German>
<Korean>(마우스 휠) 연장</Korean> <Korean>(마우스 휠) 연장</Korean>
<French>(Molette souris) Etendre</French> <French>(Molette souris) Étendre</French>
<Italian>(Scorrere) Estendere</Italian> <Italian>(Scorrere) Estendere</Italian>
<Chinese>(滾輪) 延長</Chinese> <Chinese>(滾輪) 延長</Chinese>
<Chinesesimp>(滚轮) 延长</Chinesesimp> <Chinesesimp>(滚轮) 延长</Chinesesimp>
<Portuguese>(Roda do Mouse) Extender</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Throwing_Cook"> <Key ID="STR_ACE_Advanced_Throwing_Cook">
<English>(Click) Cook</English> <English>(Click) Cook</English>
@ -240,6 +264,7 @@
<Italian>(Click) Arma</Italian> <Italian>(Click) Arma</Italian>
<Chinese>(點擊) 提早拉開引信</Chinese> <Chinese>(點擊) 提早拉開引信</Chinese>
<Chinesesimp>(点击) 提早拉开引信</Chinesesimp> <Chinesesimp>(点击) 提早拉开引信</Chinesesimp>
<Portuguese>(Clique) Cozinhar</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Advanced_Throwing_PickUp"> <Key ID="STR_ACE_Advanced_Throwing_PickUp">
<English>Pick Up</English> <English>Pick Up</English>
@ -252,6 +277,7 @@
<Italian>Raccogli</Italian> <Italian>Raccogli</Italian>
<Chinese>撿取</Chinese> <Chinese>撿取</Chinese>
<Chinesesimp>捡取</Chinesesimp> <Chinesesimp>捡取</Chinesesimp>
<Portuguese>Pegar</Portuguese>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project name="ACE"> <Project name="ACE">
<Package name="ai"> <Package name="AI">
<Key ID="STR_ACE_ai_GarrisonInvalidPosition"> <Key ID="STR_ACE_AI_GarrisonInvalidPosition">
<English>Invalid position provided.</English> <English>Invalid position provided.</English>
<German>Ungültige Position</German> <German>Ungültige Position</German>
<French>Position invalide fourni</French> <French>Position invalide fournie.</French>
<Japanese>位置が無効です。</Japanese> <Japanese>位置が無効です。</Japanese>
<Italian>Posizione invalida fornita.</Italian> <Italian>Posizione invalida fornita.</Italian>
<Chinese>提供的位置無效</Chinese> <Chinese>提供的位置無效</Chinese>
@ -12,11 +12,12 @@
<Korean>위치가 잘못되었습니다.</Korean> <Korean>위치가 잘못되었습니다.</Korean>
<Polish>Podano błędną pozycję.</Polish> <Polish>Podano błędną pozycję.</Polish>
<Russian>Указана неверная позиция</Russian> <Russian>Указана неверная позиция</Russian>
<Portuguese>Posição inválida fornecida.</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_ai_GarrisonNoUnits"> <Key ID="STR_ACE_AI_GarrisonNoUnits">
<English>No units provided.</English> <English>No units provided.</English>
<German>Keine Einheit ausgewählt</German> <German>Keine Einheit ausgewählt</German>
<French>Aucune unité fourni</French> <French>Aucune unité fournie.</French>
<Japanese>ユニットがありません。</Japanese> <Japanese>ユニットがありません。</Japanese>
<Italian>Nessuna unità fornita.</Italian> <Italian>Nessuna unità fornita.</Italian>
<Chinese>找不到可用的單位</Chinese> <Chinese>找不到可用的單位</Chinese>
@ -24,11 +25,12 @@
<Korean>병력이 없습니다.</Korean> <Korean>병력이 없습니다.</Korean>
<Polish>Nie podano żadnych jednostek.</Polish> <Polish>Nie podano żadnych jednostek.</Polish>
<Russian>Не указаны юниты</Russian> <Russian>Не указаны юниты</Russian>
<Portuguese>Nenhuma unidade fornecida.</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_ai_GarrisonNotEnoughPos"> <Key ID="STR_ACE_AI_GarrisonNotEnoughPos">
<English>There aren't enough positions to place all units.</English> <English>There aren't enough positions to place all units.</English>
<German>Es gibt nicht genug Positionen, um alle Einheiten zu platzieren</German> <German>Es gibt nicht genug Positionen, um alle Einheiten zu platzieren</German>
<French>Il n'y a pas assez de positions pour placer toutes les unités</French> <French>Il n'y a pas assez de positions pour placer toutes les unités.</French>
<Japanese>全ユニットを置くために十分な位置がありません。</Japanese> <Japanese>全ユニットを置くために十分な位置がありません。</Japanese>
<Italian>Non ci sono abbastanza posizioni per piazzare tutte le unità.</Italian> <Italian>Non ci sono abbastanza posizioni per piazzare tutte le unità.</Italian>
<Chinese>沒有足夠的位置能擺放所有單位</Chinese> <Chinese>沒有足夠的位置能擺放所有單位</Chinese>
@ -36,11 +38,12 @@
<Korean>모든 병력을 배치 할 공간이 없습니다.</Korean> <Korean>모든 병력을 배치 할 공간이 없습니다.</Korean>
<Polish>Nie ma wystarczającej ilości pozycji, aby umieścić wszystkie jednostki.</Polish> <Polish>Nie ma wystarczającej ilości pozycji, aby umieścić wszystkie jednostki.</Polish>
<Russian>Недостаточно позиций для размещения всех юнитов</Russian> <Russian>Недостаточно позиций для размещения всех юнитов</Russian>
<Portuguese>Não há posições suficientes para colocar todas as unidades.</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_ai_GarrisonNoBuilding"> <Key ID="STR_ACE_AI_GarrisonNoBuilding">
<English>No building found.</English> <English>No building found.</English>
<German>Kein Gebäude gefunden</German> <German>Kein Gebäude gefunden</German>
<French>Aucun bâtiment trouvé</French> <French>Aucun bâtiment trouvé.</French>
<Japanese>建物がありません。</Japanese> <Japanese>建物がありません。</Japanese>
<Italian>Nessun edificio trovato.</Italian> <Italian>Nessun edificio trovato.</Italian>
<Chinese>沒找到建築物</Chinese> <Chinese>沒找到建築物</Chinese>
@ -48,6 +51,7 @@
<Korean>건물이 없습니다.</Korean> <Korean>건물이 없습니다.</Korean>
<Polish>Nie znaleziono budynku.</Polish> <Polish>Nie znaleziono budynku.</Polish>
<Russian>Здание не найдено</Russian> <Russian>Здание не найдено</Russian>
<Portuguese>Nenhuma construção encontrada.</Portuguese>
</Key> </Key>
</Package> </Package>
</Project> </Project>

Binary file not shown.

Binary file not shown.

View File

@ -9,7 +9,6 @@ class RscDisplayMain: RscStandardDisplay {
class Controls: Controls { class Controls: Controls {
class Bootcamp; class Bootcamp;
class VRTraining;
class Arsenal; class Arsenal;
class GVAR(mission): Arsenal { class GVAR(mission): Arsenal {
idc = -1; idc = -1;

View File

@ -23,6 +23,81 @@ if (isNil QGVAR(defaultLoadoutsList)) then {
GVAR(defaultLoadoutsList) = []; GVAR(defaultLoadoutsList) = [];
}; };
for "_dataIndex" from 0 to 10 do {
switch (_dataIndex) do {
case 0;
case 1;
case 2;
case 8: {
if (count (_loadout select _dataIndex) > 0) then {
private _weapon = (_loadout select _dataIndex) select 0;
if (_weapon != "") then {
private _baseWeapon = _weapon call BIS_fnc_baseWeapon;
if (_weapon != _baseWeapon) then {
(_loadout select _dataIndex) set [0, _baseWeapon];
};
};
};
};
case 3;
case 4;
case 5: {
if (count (_loadout select _dataIndex) > 0) then {
private _containerContents = (_loadout select _dataIndex) select 1;
if (count _containerContents > 0) then {
{
if (count _x == 2) then {
if ((_x select 0) isEqualType "") then {
private _item = (_x select 0);
if (_item != "") then {
private _uniqueBaseCfgText = getText (configFile >> "CfgWeapons" >> _item >> "ace_arsenal_uniqueBase");
if (_uniqueBaseCfgText != "") then {
_x set [0, _uniqueBaseCfgText];
};
};
} else {
private _weapon = (_x select 0) select 0;
if (_weapon != "") then {
private _baseWeapon = _weapon call BIS_fnc_baseWeapon;
if (_weapon != _baseWeapon) then {
(_x select 0)set [0, _baseWeapon];
};
};
};
};
} foreach _containerContents;
};
};
};
case 9: {
for "_subIndex" from 0 to 4 do {
private _item = (_loadout select _dataIndex) select _subIndex;
if (_item != "") then {
private _uniqueBaseCfgText = getText (configFile >> "CfgWeapons" >> _item >> "ace_arsenal_uniqueBase");
if (_uniqueBaseCfgText != "") then {
(_loadout select _dataIndex) set [_subIndex, _uniqueBaseCfgText];
};
};
};
};
};
};
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];

View File

@ -78,7 +78,7 @@ private _compatibleMagazines = [[[], []], [[], []], [[], []]];
private _index = _forEachIndex; private _index = _forEachIndex;
{ {
private _subIndex = _forEachIndex; private _subIndex = _forEachIndex min 1;
{ {
((_compatibleMagazines select _index) select _subIndex) pushBackUnique (configName (configFile >> "CfgMagazines" >> _x)) ((_compatibleMagazines select _index) select _subIndex) pushBackUnique (configName (configFile >> "CfgMagazines" >> _x))
} foreach ([getArray (_weaponConfig >> _x >> "magazines"), getArray (_weaponConfig >> "magazines")] select (_x == "this")); } foreach ([getArray (_weaponConfig >> _x >> "magazines"), getArray (_weaponConfig >> "magazines")] select (_x == "this"));

View File

@ -18,8 +18,6 @@ GVAR(currentLoadoutsTab) = nil;
private _arsenalDisplay = findDisplay IDD_ace_arsenal; private _arsenalDisplay = findDisplay IDD_ace_arsenal;
private _mouseBlockCtrl = _arsenalDisplay displayCtrl IDC_mouseBlock; private _mouseBlockCtrl = _arsenalDisplay displayCtrl IDC_mouseBlock;
GVAR(cameraPosition) = GVAR(previousCameraPos);
GVAR(previousCameraPos) = nil;
GVAR(loadoutsSearchbarFocus) = nil; GVAR(loadoutsSearchbarFocus) = nil;
GVAR(loadoutsPanelFocus) = nil; GVAR(loadoutsPanelFocus) = nil;

View File

@ -30,9 +30,6 @@ GVAR(currentLoadoutsTab) = -1;
GVAR(loadoutsSearchbarFocus) = false; GVAR(loadoutsSearchbarFocus) = false;
GVAR(loadoutsPanelFocus) = false; GVAR(loadoutsPanelFocus) = false;
GVAR(previousCameraPos) = GVAR(cameraPosition);
GVAR(cameraPosition) = [5,0,20,[-0.85,0,0.85]];
private _panelContentCtrl = _display displayCtrl IDC_contentPanel; private _panelContentCtrl = _display displayCtrl IDC_contentPanel;
_panelContentCtrl ctrlSetFontHeight (4.5 * GRID_H); _panelContentCtrl ctrlSetFontHeight (4.5 * GRID_H);
_panelContentCtrl ctrlCommit 0; _panelContentCtrl ctrlCommit 0;

View File

@ -18,18 +18,19 @@
params ["_stat", "_config", "_args"]; params ["_stat", "_config", "_args"];
_args params ["_statMinMax", "_barLimits"]; _args params ["_statMinMax", "_barLimits"];
TRACE_4("statBarStatement_accuracy",_stat,_config,_statMinMax,_barLimits);
private _fireModes = getArray (_config >> "modes"); private _fireModes = getArray (_config >> "modes");
private _dispersion = []; private _dispersion = [];
{ {
if (getNumber (_config >> _x >> "showToPlayer") != 0) then {
private _n = log (getNumber (_config >> _x >> "dispersion")); private _n = log (getNumber (_config >> _x >> "dispersion"));
if (!finite _n) then {_n = 0;}; if (!finite _n) then {_n = 0;};
_dispersion pushBackUnique _n; _dispersion pushBackUnique _n;
};
} foreach _fireModes; } foreach _fireModes;
_dispersion sort true; _dispersion sort true;
TRACE_1("",_dispersion);
linearConversion [_statMinMax select 0, _statMinMax select 1, _dispersion param [0, 0], _barLimits select 0, _barLimits select 1] linearConversion [_statMinMax select 0, _statMinMax select 1, _dispersion param [0, 0], _barLimits select 0, _barLimits select 1]

View File

@ -12,10 +12,11 @@
<Chinese>隱藏</Chinese> <Chinese>隱藏</Chinese>
<Chinesesimp>隐藏</Chinesesimp> <Chinesesimp>隐藏</Chinesesimp>
<Russian>Спрятать</Russian> <Russian>Спрятать</Russian>
<Portuguese>Ocultar</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_buttonHideTooltip"> <Key ID="STR_ACE_Arsenal_buttonHideTooltip">
<English>Hide interface</English> <English>Hide interface</English>
<French>Cache l'interface</French> <French>Masque l'interface</French>
<German>Oberfläche verstecken</German> <German>Oberfläche verstecken</German>
<Polish>Ukryj interfejs</Polish> <Polish>Ukryj interfejs</Polish>
<Japanese>インターフェイスを隠す</Japanese> <Japanese>インターフェイスを隠す</Japanese>
@ -24,10 +25,11 @@
<Chinese>隱藏介面</Chinese> <Chinese>隱藏介面</Chinese>
<Chinesesimp>隐藏介面</Chinesesimp> <Chinesesimp>隐藏介面</Chinesesimp>
<Russian>Скрыть интерфейс</Russian> <Russian>Скрыть интерфейс</Russian>
<Portuguese>Oculta a Interface</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_buttonLoadoutsText"> <Key ID="STR_ACE_Arsenal_buttonLoadoutsText">
<English>Loadouts</English> <English>Loadouts</English>
<French>Équipements</French> <French>Sets d'équipement</French>
<German>Ausrüstungen</German> <German>Ausrüstungen</German>
<Polish>Zestawy wyposażenia</Polish> <Polish>Zestawy wyposażenia</Polish>
<Japanese>装備</Japanese> <Japanese>装備</Japanese>
@ -36,6 +38,7 @@
<Chinese>裝備</Chinese> <Chinese>裝備</Chinese>
<Chinesesimp>装备</Chinesesimp> <Chinesesimp>装备</Chinesesimp>
<Russian>Комплекты</Russian> <Russian>Комплекты</Russian>
<Portuguese>Loadouts</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_buttonExportText"> <Key ID="STR_ACE_Arsenal_buttonExportText">
<English>Export</English> <English>Export</English>
@ -48,6 +51,7 @@
<Chinese>匯出</Chinese> <Chinese>匯出</Chinese>
<Chinesesimp>汇出</Chinesesimp> <Chinesesimp>汇出</Chinesesimp>
<Russian>Экспорт</Russian> <Russian>Экспорт</Russian>
<Portuguese>Exportar</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_buttonImportText"> <Key ID="STR_ACE_Arsenal_buttonImportText">
<English>Import</English> <English>Import</English>
@ -60,6 +64,7 @@
<Chinese>匯入</Chinese> <Chinese>匯入</Chinese>
<Chinesesimp>汇入</Chinesesimp> <Chinesesimp>汇入</Chinesesimp>
<Russian>Импорт</Russian> <Russian>Импорт</Russian>
<Portuguese>Importar</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_buttonCloseText"> <Key ID="STR_ACE_Arsenal_buttonCloseText">
<English>Close</English> <English>Close</English>
@ -72,10 +77,11 @@
<Chinese>關閉</Chinese> <Chinese>關閉</Chinese>
<Chinesesimp>关闭</Chinesesimp> <Chinesesimp>关闭</Chinesesimp>
<Russian>Закрыть</Russian> <Russian>Закрыть</Russian>
<Portuguese>Fechar</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_noVirtualItems"> <Key ID="STR_ACE_Arsenal_noVirtualItems">
<English>No virtual item available</English> <English>No virtual item available</English>
<French>Aucun objet virtuel disponible</French> <French>Aucun objet virtuel disponible.</French>
<German>Kein virtuelles Objekt verfügbar</German> <German>Kein virtuelles Objekt verfügbar</German>
<Polish>Brak dostępnych przedmiotów wirtualnych</Polish> <Polish>Brak dostępnych przedmiotów wirtualnych</Polish>
<Japanese>利用可能なバーチャル アイテムはありません</Japanese> <Japanese>利用可能なバーチャル アイテムはありません</Japanese>
@ -84,10 +90,11 @@
<Chinese>沒有可用的虛擬物品</Chinese> <Chinese>沒有可用的虛擬物品</Chinese>
<Chinesesimp>没有可用的虚拟物品</Chinesesimp> <Chinesesimp>没有可用的虚拟物品</Chinesesimp>
<Russian>Виртуальный предмет недоступен</Russian> <Russian>Виртуальный предмет недоступен</Russian>
<Portuguese>Nenhum item virtual disponível</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_buttonSaveText"> <Key ID="STR_ACE_Arsenal_buttonSaveText">
<English>Save</English> <English>Save</English>
<French>Enregister</French> <French>Enregistrer</French>
<German>Speichern</German> <German>Speichern</German>
<Polish>Zapisz</Polish> <Polish>Zapisz</Polish>
<Japanese>保存</Japanese> <Japanese>保存</Japanese>
@ -96,10 +103,11 @@
<Chinese>保存</Chinese> <Chinese>保存</Chinese>
<Chinesesimp>保存</Chinesesimp> <Chinesesimp>保存</Chinesesimp>
<Russian>Сохранить</Russian> <Russian>Сохранить</Russian>
<Portuguese>Salvar</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_buttonSaveTooltip"> <Key ID="STR_ACE_Arsenal_buttonSaveTooltip">
<English>Save the current loadout</English> <English>Save the current loadout</English>
<French>Enregistre l'équipement actuel</French> <French>Enregistre l'équipement actuel.</French>
<German>Ausgewählte Ausrüstung speichern</German> <German>Ausgewählte Ausrüstung speichern</German>
<Polish>Zapisz obecny zestaw</Polish> <Polish>Zapisz obecny zestaw</Polish>
<Japanese>現在の装備を保存します</Japanese> <Japanese>現在の装備を保存します</Japanese>
@ -108,12 +116,16 @@
<Chinese>保存當前的裝備</Chinese> <Chinese>保存當前的裝備</Chinese>
<Chinesesimp>保存当前的装备</Chinesesimp> <Chinesesimp>保存当前的装备</Chinesesimp>
<Russian>Сохранить текущий комплект экипировки</Russian> <Russian>Сохранить текущий комплект экипировки</Russian>
<Portuguese>Salva o loadout atual</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_buttonSaveTooltip_shiftClick"> <Key ID="STR_ACE_Arsenal_buttonSaveTooltip_shiftClick">
<English>[Shift+Click to save to mission defaults]</English> <English>[Shift+Click to save to mission defaults]</English>
<Japanese>[Shift + クリック] でミッション標準として保存します</Japanese> <Japanese>[Shift + クリック] でミッション標準として保存します</Japanese>
<Polish>Shift + Klik aby zapisac jako domyślne dla misji </Polish> <Polish>Shift + Klik aby zapisac jako domyślne dla misji </Polish>
<Russian>[Shift+Клик, чтобы сохранить в настройках по умолчанию]</Russian> <Russian>[Shift+Клик, чтобы сохранить в настройках по умолчанию]</Russian>
<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>
<Chinese>[Shift+左鍵來保存至任務預設]</Chinese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_buttonRenameText"> <Key ID="STR_ACE_Arsenal_buttonRenameText">
<English>Rename</English> <English>Rename</English>
@ -126,10 +138,11 @@
<Chinese>重新命名</Chinese> <Chinese>重新命名</Chinese>
<Chinesesimp>重新命名</Chinesesimp> <Chinesesimp>重新命名</Chinesesimp>
<Russian>Переименовать</Russian> <Russian>Переименовать</Russian>
<Portuguese>Renomear</Portuguese>
</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>
<French>Renomme l'équipement sélectionné</French> <French>Renomme le set d'équipement sélectionné.</French>
<German>Ausgewählte Ausrüstung umbenennen</German> <German>Ausgewählte Ausrüstung umbenennen</German>
<Polish>Zmień nazwę wybranego zestawu</Polish> <Polish>Zmień nazwę wybranego zestawu</Polish>
<Japanese>選択中の装備を改名します</Japanese> <Japanese>選択中の装備を改名します</Japanese>
@ -138,6 +151,7 @@
<Chinese>重新命名當前選擇的裝備</Chinese> <Chinese>重新命名當前選擇的裝備</Chinese>
<Chinesesimp>重新命名当前选择的装备</Chinesesimp> <Chinesesimp>重新命名当前选择的装备</Chinesesimp>
<Russian>Переименовать выбранный комплект экипировки</Russian> <Russian>Переименовать выбранный комплект экипировки</Russian>
<Portuguese>Renomeia o loadout selecionado</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_buttonLoadText"> <Key ID="STR_ACE_Arsenal_buttonLoadText">
<English>Load</English> <English>Load</English>
@ -150,10 +164,11 @@
<Chinese>載入</Chinese> <Chinese>載入</Chinese>
<Chinesesimp>载入</Chinesesimp> <Chinesesimp>载入</Chinesesimp>
<Russian>Загрузить</Russian> <Russian>Загрузить</Russian>
<Portuguese>Carregar</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_buttonLoadTooltip"> <Key ID="STR_ACE_Arsenal_buttonLoadTooltip">
<English>Load the selected loadout</English> <English>Load the selected loadout</English>
<French>Charger l'équipement sélectionné</French> <French>Charge le set d'équipement sélectionné.</French>
<German>Ausgewählte Ausrüstung laden</German> <German>Ausgewählte Ausrüstung laden</German>
<Polish>Wczytaj wybrany zestaw</Polish> <Polish>Wczytaj wybrany zestaw</Polish>
<Japanese>選択中の装備を読み込みます</Japanese> <Japanese>選択中の装備を読み込みます</Japanese>
@ -162,6 +177,7 @@
<Chinese>載入當前選擇的裝備</Chinese> <Chinese>載入當前選擇的裝備</Chinese>
<Chinesesimp>载入当前选择的装备</Chinesesimp> <Chinesesimp>载入当前选择的装备</Chinesesimp>
<Russian>Загрузить выбранный комплект экипировки</Russian> <Russian>Загрузить выбранный комплект экипировки</Russian>
<Portuguese>Carrega o loadout selecionado</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_buttonDeleteText"> <Key ID="STR_ACE_Arsenal_buttonDeleteText">
<English>Delete</English> <English>Delete</English>
@ -174,10 +190,11 @@
<Chinese>刪除</Chinese> <Chinese>刪除</Chinese>
<Chinesesimp>删除</Chinesesimp> <Chinesesimp>删除</Chinesesimp>
<Russian>Удалить</Russian> <Russian>Удалить</Russian>
<Portuguese>Apagar</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_buttonDeleteTooltip"> <Key ID="STR_ACE_Arsenal_buttonDeleteTooltip">
<English>Delete the selected loadout</English> <English>Delete the selected loadout</English>
<French>Supprimer l'équipement sélectionné</French> <French>Supprime le set d'équipement sélectionné.</French>
<German>Ausgewählte Ausrüstung entfernen</German> <German>Ausgewählte Ausrüstung entfernen</German>
<Polish>Skasuj wybrany zestaw</Polish> <Polish>Skasuj wybrany zestaw</Polish>
<Japanese>選択中の装備を削除します</Japanese> <Japanese>選択中の装備を削除します</Japanese>
@ -186,6 +203,7 @@
<Chinese>刪除當前選擇的裝備</Chinese> <Chinese>刪除當前選擇的裝備</Chinese>
<Chinesesimp>删除当前选择的装备</Chinesesimp> <Chinesesimp>删除当前选择的装备</Chinesesimp>
<Russian>Удалить выбранный комплект экипировки</Russian> <Russian>Удалить выбранный комплект экипировки</Russian>
<Portuguese>Apaga o loadout selecionado</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_tabMyLoadoutsText"> <Key ID="STR_ACE_Arsenal_tabMyLoadoutsText">
<English>My loadouts</English> <English>My loadouts</English>
@ -198,10 +216,11 @@
<Chinese>我的裝備</Chinese> <Chinese>我的裝備</Chinese>
<Chinesesimp>我的装备</Chinesesimp> <Chinesesimp>我的装备</Chinesesimp>
<Russian>Мои комплекты</Russian> <Russian>Мои комплекты</Russian>
<Portuguese>Meus loadouts</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_tabMyLoadoutsTooltip"> <Key ID="STR_ACE_Arsenal_tabMyLoadoutsTooltip">
<English>Loadouts saved in your profile</English> <English>Loadouts saved in your profile</English>
<French>Équipements enregistrés dans votre profil</French> <French>Sets d'équipement enregistrés dans votre profil.</French>
<German>Ausrüstungen, die in deinem Profil gespeichert sind</German> <German>Ausrüstungen, die in deinem Profil gespeichert sind</German>
<Polish>Zestawy zapisane w Twoim profilu</Polish> <Polish>Zestawy zapisane w Twoim profilu</Polish>
<Japanese>プロフィールに保存された装備です</Japanese> <Japanese>プロフィールに保存された装備です</Japanese>
@ -210,10 +229,11 @@
<Chinese>裝備已保存到你的設定檔中</Chinese> <Chinese>裝備已保存到你的設定檔中</Chinese>
<Chinesesimp>装备已保存到你的设定档中</Chinesesimp> <Chinesesimp>装备已保存到你的设定档中</Chinesesimp>
<Russian>Комплекты экипировки, сохраненные в вашем профиле</Russian> <Russian>Комплекты экипировки, сохраненные в вашем профиле</Russian>
<Portuguese>Loadouts salvos em seu perfil</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_tabDefaultLoadoutsText"> <Key ID="STR_ACE_Arsenal_tabDefaultLoadoutsText">
<English>Default loadouts</English> <English>Default loadouts</English>
<French>Équipements de base</French> <French>Équipements prédéfinis</French>
<German>Standard-Ausrüstungen</German> <German>Standard-Ausrüstungen</German>
<Polish>Domyślne zestawy</Polish> <Polish>Domyślne zestawy</Polish>
<Japanese>標準の装備</Japanese> <Japanese>標準の装備</Japanese>
@ -222,10 +242,11 @@
<Chinese>預設裝備</Chinese> <Chinese>預設裝備</Chinese>
<Chinesesimp>预设装备</Chinesesimp> <Chinesesimp>预设装备</Chinesesimp>
<Russian>По умолчанию</Russian> <Russian>По умолчанию</Russian>
<Portuguese>Loadouts padrões</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_tabDefaultLoadoutsTooltip"> <Key ID="STR_ACE_Arsenal_tabDefaultLoadoutsTooltip">
<English>Loadouts made available by the mission maker</English> <English>Loadouts made available by the mission maker</English>
<French>Équipements faits par l'auteur de la mission</French> <French>Sets d'équipement mis à disposition par le créateur de mission.</French>
<German>Ausrüstungen, die durch den Missionsersteller zur Verfügung gestellt worden sind</German> <German>Ausrüstungen, die durch den Missionsersteller zur Verfügung gestellt worden sind</German>
<Polish>Zestawy udostępnione przez twórcę misji</Polish> <Polish>Zestawy udostępnione przez twórcę misji</Polish>
<Japanese>装備はミッション著者によって利用できます</Japanese> <Japanese>装備はミッション著者によって利用できます</Japanese>
@ -234,6 +255,7 @@
<Chinese>任務作者提供的預設裝備</Chinese> <Chinese>任務作者提供的預設裝備</Chinese>
<Chinesesimp>任务作者提供的预设装备</Chinesesimp> <Chinesesimp>任务作者提供的预设装备</Chinesesimp>
<Russian>Комплекты экипировки, предоставляемые создателем миссии</Russian> <Russian>Комплекты экипировки, предоставляемые создателем миссии</Russian>
<Portuguese>Loadouts definidos pelo criador da missão</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_tabSharedLoadoutsText"> <Key ID="STR_ACE_Arsenal_tabSharedLoadoutsText">
<English>Public loadouts</English> <English>Public loadouts</English>
@ -246,10 +268,11 @@
<Chinese>公用裝備</Chinese> <Chinese>公用裝備</Chinese>
<Chinesesimp>公用装备</Chinesesimp> <Chinesesimp>公用装备</Chinesesimp>
<Russian>Публичные комплекты</Russian> <Russian>Публичные комплекты</Russian>
<Portuguese>Loadouts públicos</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_tabSharedLoadoutsTooltip"> <Key ID="STR_ACE_Arsenal_tabSharedLoadoutsTooltip">
<English>Loadouts shared by you and other players</English> <English>Loadouts shared by you and other players</English>
<French>Équipements mis à disposition par vous ou les autres joueurs</French> <French>Sets d'équipement partagés par vous-même ou par d'autres joueurs.</French>
<German>Ausrüstungen, die von dir und anderen Spielern geteilt wurden</German> <German>Ausrüstungen, die von dir und anderen Spielern geteilt wurden</German>
<Polish>Zestawy udostępnione przez Ciebie i innych graczy</Polish> <Polish>Zestawy udostępnione przez Ciebie i innych graczy</Polish>
<Japanese>自分か他人によって共有された装備です</Japanese> <Japanese>自分か他人によって共有された装備です</Japanese>
@ -258,6 +281,7 @@
<Chinese>由你與其他玩家分享的裝備配置</Chinese> <Chinese>由你與其他玩家分享的裝備配置</Chinese>
<Chinesesimp>由你与其他玩家分享的装备配置</Chinesesimp> <Chinesesimp>由你与其他玩家分享的装备配置</Chinesesimp>
<Russian>Комплекты экипировки, опубликованные вами и другими игроками</Russian> <Russian>Комплекты экипировки, опубликованные вами и другими игроками</Russian>
<Portuguese>Loadouts compartilhados por você ou outros jogadores</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_sortByWeightText"> <Key ID="STR_ACE_Arsenal_sortByWeightText">
<English>Sort by weight</English> <English>Sort by weight</English>
@ -270,6 +294,7 @@
<Chinese>以重量排序</Chinese> <Chinese>以重量排序</Chinese>
<Chinesesimp>以重量排序</Chinesesimp> <Chinesesimp>以重量排序</Chinesesimp>
<Russian>Сортировка по весу</Russian> <Russian>Сортировка по весу</Russian>
<Portuguese>Ordenar por peso</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_sortByAmountText"> <Key ID="STR_ACE_Arsenal_sortByAmountText">
<English>Sort by amount</English> <English>Sort by amount</English>
@ -282,10 +307,11 @@
<Chinese>以數量排序</Chinese> <Chinese>以數量排序</Chinese>
<Chinesesimp>以数量排序</Chinesesimp> <Chinesesimp>以数量排序</Chinesesimp>
<Russian>Сортировка по количеству</Russian> <Russian>Сортировка по количеству</Russian>
<Portuguese>Ordenar por quantidade</Portuguese>
</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>
<French>Partager ou arrêter de partager cet équipement</French> <French>Partager ou cesser de partager le set d'équipement sélectionné.</French>
<German>Ausgewählte Ausrüstung teilen oder nicht mehr teilen</German> <German>Ausgewählte Ausrüstung teilen oder nicht mehr teilen</German>
<Polish>Udostępnij lub przestań udostępniać wybrany zestaw</Polish> <Polish>Udostępnij lub przestań udostępniać wybrany zestaw</Polish>
<Japanese>選択した装備の共有設定</Japanese> <Japanese>選択した装備の共有設定</Japanese>
@ -294,6 +320,7 @@
<Chinese>開始/停止分享當前選擇的裝備</Chinese> <Chinese>開始/停止分享當前選擇的裝備</Chinese>
<Chinesesimp>开始/停止分享当前选择的装备</Chinesesimp> <Chinesesimp>开始/停止分享当前选择的装备</Chinesesimp>
<Russian>Открыть или закрыть общий доступ к комплекту экипировки</Russian> <Russian>Открыть или закрыть общий доступ к комплекту экипировки</Russian>
<Portuguese>Compartilhar ou parar de compartilhar o loadout selecionado</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_buttonSharePrivateText"> <Key ID="STR_ACE_Arsenal_buttonSharePrivateText">
<English>Private</English> <English>Private</English>
@ -306,6 +333,7 @@
<Chinese>私用</Chinese> <Chinese>私用</Chinese>
<Chinesesimp>私用</Chinesesimp> <Chinesesimp>私用</Chinesesimp>
<Russian>Приватный</Russian> <Russian>Приватный</Russian>
<Portuguese>Privado</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_buttonSharePublicText"> <Key ID="STR_ACE_Arsenal_buttonSharePublicText">
<English>Public</English> <English>Public</English>
@ -318,10 +346,11 @@
<Chinese>公用</Chinese> <Chinese>公用</Chinese>
<Chinesesimp>公用</Chinesesimp> <Chinesesimp>公用</Chinesesimp>
<Russian>Публичный</Russian> <Russian>Публичный</Russian>
<Portuguese>Público</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_exportDefaultError"> <Key ID="STR_ACE_Arsenal_exportDefaultError">
<English>The default loadouts list is empty!</English> <English>The default loadouts list is empty!</English>
<French>La liste d'équipements de base est vide !</French> <French>La liste des équipements prédéfinis est vide !</French>
<German>Die Standard-Ausrüstungen-Liste ist leer!</German> <German>Die Standard-Ausrüstungen-Liste ist leer!</German>
<Polish>Lista domyślnych zestawów jest pusta!</Polish> <Polish>Lista domyślnych zestawów jest pusta!</Polish>
<Japanese>標準の装備一欄が空です!</Japanese> <Japanese>標準の装備一欄が空です!</Japanese>
@ -330,10 +359,11 @@
<Chinese>沒有預設的裝備清單!</Chinese> <Chinese>沒有預設的裝備清單!</Chinese>
<Chinesesimp>没有预设的装备清单!</Chinesesimp> <Chinesesimp>没有预设的装备清单!</Chinesesimp>
<Russian>Список комплекта экипировки пуст!</Russian> <Russian>Список комплекта экипировки пуст!</Russian>
<Portuguese>A lista de loadouts padrões está vazia!</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_exportDefault"> <Key ID="STR_ACE_Arsenal_exportDefault">
<English>Default loadouts list exported to clipboard</English> <English>Default loadouts list exported to clipboard</English>
<French>Liste d'équipements de base exportée dans le presse papier</French> <French>Liste des équipements prédéfinis exportée dans le presse-papier.</French>
<German>Standard-Ausrüstungen-Liste in die Zwischenablage exportiert</German> <German>Standard-Ausrüstungen-Liste in die Zwischenablage exportiert</German>
<Polish>Lista domyślnych zestawów została eksportowana do schowka</Polish> <Polish>Lista domyślnych zestawów została eksportowana do schowka</Polish>
<Japanese>標準の装備一欄はクリップボードへエクスポートされました</Japanese> <Japanese>標準の装備一欄はクリップボードへエクスポートされました</Japanese>
@ -342,10 +372,11 @@
<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>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_exportCurrent"> <Key ID="STR_ACE_Arsenal_exportCurrent">
<English>Current loadout exported to clipboard</English> <English>Current loadout exported to clipboard</English>
<French>Équipement actuel exporté dans le presse papier</French> <French>Équipement actuel exporté dans le presse-papier.</French>
<German>Derzeitige Ausrüstung in die Zwischenablage exportiert</German> <German>Derzeitige Ausrüstung in die Zwischenablage exportiert</German>
<Polish>Obecny zestaw został eksportowany do schowka</Polish> <Polish>Obecny zestaw został eksportowany do schowka</Polish>
<Japanese>現在の装備はクリップボードへ出力されました</Japanese> <Japanese>現在の装備はクリップボードへ出力されました</Japanese>
@ -354,10 +385,11 @@
<Chinese>當前的裝備已匯出到剪貼簿中</Chinese> <Chinese>當前的裝備已匯出到剪貼簿中</Chinese>
<Chinesesimp>当前的装备已汇出到剪贴簿中</Chinesesimp> <Chinesesimp>当前的装备已汇出到剪贴簿中</Chinesesimp>
<Russian>Текущий список комплекта экипировки экспортирован в буфер</Russian> <Russian>Текущий список комплекта экипировки экспортирован в буфер</Russian>
<Portuguese>Loadout atual foi exportado pra área de transferência</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_importFormatError"> <Key ID="STR_ACE_Arsenal_importFormatError">
<English>Wrong format provided</English> <English>Wrong format provided</English>
<French>Mauvais format fourni</French> <French>Mauvais format fourni.</French>
<German>Falsches Format verwendet</German> <German>Falsches Format verwendet</German>
<Polish>Podano zły format</Polish> <Polish>Podano zły format</Polish>
<Japanese>間違ったフォーマットが入力されました</Japanese> <Japanese>間違ったフォーマットが入力されました</Japanese>
@ -366,10 +398,11 @@
<Chinese>提供的格式錯誤</Chinese> <Chinese>提供的格式錯誤</Chinese>
<Chinesesimp>提供的格式错误</Chinesesimp> <Chinesesimp>提供的格式错误</Chinesesimp>
<Russian>Неверный формат импорта</Russian> <Russian>Неверный формат импорта</Russian>
<Portuguese>Format incorreto fornecido</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_importedDefault"> <Key ID="STR_ACE_Arsenal_importedDefault">
<English>Default loadouts list imported from clipboard</English> <English>Default loadouts list imported from clipboard</English>
<French>Liste d'équipements de base importée depuis le presse papier</French> <French>Liste des équipements prédéfinis importée depuis le presse-papier.</French>
<German>Standard-Ausrüstungen-Liste aus der Zwischenablage importiert</German> <German>Standard-Ausrüstungen-Liste aus der Zwischenablage importiert</German>
<Polish>Lista domyślnych zestawów została importowana ze schowka</Polish> <Polish>Lista domyślnych zestawów została importowana ze schowka</Polish>
<Japanese>標準の装備一欄はクリップボードからインポートされました</Japanese> <Japanese>標準の装備一欄はクリップボードからインポートされました</Japanese>
@ -378,10 +411,11 @@
<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>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_importedCurrent"> <Key ID="STR_ACE_Arsenal_importedCurrent">
<English>Loadout imported from clipboard</English> <English>Loadout imported from clipboard</English>
<French>Équipement importé depuis le presse papier</French> <French>Set d'équipement importé depuis le presse-papier.</French>
<German>Ausrüstung aus der Zwischenablage importiert</German> <German>Ausrüstung aus der Zwischenablage importiert</German>
<Polish>Zestaw został importowany ze schowka</Polish> <Polish>Zestaw został importowany ze schowka</Polish>
<Japanese>装備はクリップボードからインポートされました</Japanese> <Japanese>装備はクリップボードからインポートされました</Japanese>
@ -390,10 +424,11 @@
<Chinese>裝備已從剪貼簿中匯入</Chinese> <Chinese>裝備已從剪貼簿中匯入</Chinese>
<Chinesesimp>装备已从剪贴簿中汇入</Chinesesimp> <Chinesesimp>装备已从剪贴簿中汇入</Chinesesimp>
<Russian>Список комплекта экипировки импортирован из буфера</Russian> <Russian>Список комплекта экипировки импортирован из буфера</Russian>
<Portuguese>Loadout importado da área de transferência</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_loadoutDeleted"> <Key ID="STR_ACE_Arsenal_loadoutDeleted">
<English>The following loadout was deleted:</English> <English>The following loadout was deleted:</English>
<French>L'équipement suivant fut supprimé:</French> <French>Le set d'équipement suivant a été supprimé :</French>
<German>Folgende Ausrüstung wurde entfernt:</German> <German>Folgende Ausrüstung wurde entfernt:</German>
<Polish>Następujący zestaw został skasowany:</Polish> <Polish>Następujący zestaw został skasowany:</Polish>
<Japanese>次の装備は削除されました:</Japanese> <Japanese>次の装備は削除されました:</Japanese>
@ -402,10 +437,11 @@
<Chinese>以下的裝備已被刪除:</Chinese> <Chinese>以下的裝備已被刪除:</Chinese>
<Chinesesimp>以下的装备已被删除:</Chinesesimp> <Chinesesimp>以下的装备已被删除:</Chinesesimp>
<Russian>Удален комплект экипировки:</Russian> <Russian>Удален комплект экипировки:</Russian>
<Portuguese>O seguinte loadout foi apagado:</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_loadoutUnshared"> <Key ID="STR_ACE_Arsenal_loadoutUnshared">
<English>The following loadout is not public anymore:</English> <English>The following loadout is not public anymore:</English>
<French>L'équipement suivant n'est plus public:</French> <French>Le set d'équipement suivant n'est plus public :</French>
<German>Folgende Ausrüstung ist nicht mehr öffentlich:</German> <German>Folgende Ausrüstung ist nicht mehr öffentlich:</German>
<Polish>Następujący zestaw nie jest już publiczny:</Polish> <Polish>Następujący zestaw nie jest już publiczny:</Polish>
<Japanese>次の装備は非公開になりました:</Japanese> <Japanese>次の装備は非公開になりました:</Japanese>
@ -414,10 +450,11 @@
<Chinese>以下的裝備已不再被分享:</Chinese> <Chinese>以下的裝備已不再被分享:</Chinese>
<Chinesesimp>以下的装备已不再被分享:</Chinesesimp> <Chinesesimp>以下的装备已不再被分享:</Chinesesimp>
<Russian>Этот комплект экипировки больше не публичный:</Russian> <Russian>Этот комплект экипировки больше не публичный:</Russian>
<Portuguese>O seguinte loadout não é mais público:</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_saveEmptyNameBox"> <Key ID="STR_ACE_Arsenal_saveEmptyNameBox">
<English>The name field is empty!</English> <English>The name field is empty!</English>
<French>Le champ nom est vide !</French> <French>Le champ "nom" est vide !</French>
<German>Das Feld "Name" ist leer!</German> <German>Das Feld "Name" ist leer!</German>
<Polish>Pole nazwy jest puste!</Polish> <Polish>Pole nazwy jest puste!</Polish>
<Japanese>名前が空白です!</Japanese> <Japanese>名前が空白です!</Japanese>
@ -426,10 +463,11 @@
<Chinese>名稱欄位為空!</Chinese> <Chinese>名稱欄位為空!</Chinese>
<Chinesesimp>名称栏位为空!</Chinesesimp> <Chinesesimp>名称栏位为空!</Chinesesimp>
<Russian>Поле имени пустое!</Russian> <Russian>Поле имени пустое!</Russian>
<Portuguese>O nome não pode estar vazio!</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_saveAuthorError"> <Key ID="STR_ACE_Arsenal_saveAuthorError">
<English>You are the author of this loadout</English> <English>You are the author of this loadout</English>
<French>Vous êtes l'auteur de cet équipement</French> <French>Vous êtes l'auteur de ce set d'équipement.</French>
<German>Du bist der Ersteller dieser Ausrüstung</German> <German>Du bist der Ersteller dieser Ausrüstung</German>
<Polish>Jesteś autorem tego zestawu</Polish> <Polish>Jesteś autorem tego zestawu</Polish>
<Japanese>あなたはこの装備の作者です</Japanese> <Japanese>あなたはこの装備の作者です</Japanese>
@ -438,10 +476,11 @@
<Chinese>你是這個裝備的作者</Chinese> <Chinese>你是這個裝備的作者</Chinese>
<Chinesesimp>你是这个装备的作者</Chinesesimp> <Chinesesimp>你是这个装备的作者</Chinesesimp>
<Russian>Вы автор этого комплекта экипировки</Russian> <Russian>Вы автор этого комплекта экипировки</Russian>
<Portuguese>Você é o autor desse loadout</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_saveSharedError"> <Key ID="STR_ACE_Arsenal_saveSharedError">
<English>A loadout of yours with the same name is public</English> <English>A loadout of yours with the same name is public</English>
<French>Un de vos équipements avec le même nom est public</French> <French>Un de vos sets d'équipement ayant le même nom est public.</French>
<German>Eine deiner Ausrüstungen mit dem gleichen Namen ist öffentlich</German> <German>Eine deiner Ausrüstungen mit dem gleichen Namen ist öffentlich</German>
<Polish>Jeden z Twoich zestawów nazwany tak samo jest już publiczny</Polish> <Polish>Jeden z Twoich zestawów nazwany tak samo jest już publiczny</Polish>
<Japanese>あなたの装備は既に公開されているものと同名です</Japanese> <Japanese>あなたの装備は既に公開されているものと同名です</Japanese>
@ -450,10 +489,11 @@
<Chinese>已有相同名稱的裝備在公用分享區</Chinese> <Chinese>已有相同名稱的裝備在公用分享區</Chinese>
<Chinesesimp>已有相同名称的装备在公用分享区</Chinesesimp> <Chinesesimp>已有相同名称的装备在公用分享区</Chinesesimp>
<Russian>Ваш комплект экипировки с таким же именем является публичным</Russian> <Russian>Ваш комплект экипировки с таким же именем является публичным</Russian>
<Portuguese>Um loadout seu com o mesmo nome é público</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_loadoutSaved"> <Key ID="STR_ACE_Arsenal_loadoutSaved">
<English>The following loadout was saved:</English> <English>The following loadout was saved:</English>
<French>L'équipement suivant fut enregistré:</French> <French>Le set d'équipement suivant a été enregistré :</French>
<German>Folgende Ausrüstung wurde gespeichert:</German> <German>Folgende Ausrüstung wurde gespeichert:</German>
<Polish>Następujący zestaw został zapisany:</Polish> <Polish>Następujący zestaw został zapisany:</Polish>
<Japanese>次の装備は保存されました:</Japanese> <Japanese>次の装備は保存されました:</Japanese>
@ -462,10 +502,11 @@
<Chinese>以下的裝備已被保存:</Chinese> <Chinese>以下的裝備已被保存:</Chinese>
<Chinesesimp>以下的装备已被保存:</Chinesesimp> <Chinesesimp>以下的装备已被保存:</Chinesesimp>
<Russian>Сохранен комплект экипировки:</Russian> <Russian>Сохранен комплект экипировки:</Russian>
<Portuguese>O seguinte loadout foi salvo:</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_loadoutLoaded"> <Key ID="STR_ACE_Arsenal_loadoutLoaded">
<English>The following loadout was loaded:</English> <English>The following loadout was loaded:</English>
<French>L'équipement suivant fut chargé:</French> <French>Le set d'équipement suivant a été chargé :</French>
<German>Folgene Ausrüstung wurde geladen:</German> <German>Folgene Ausrüstung wurde geladen:</German>
<Polish>Następujący zestaw został wczytany:</Polish> <Polish>Następujący zestaw został wczytany:</Polish>
<Japanese>次の装備が読み込みされました:</Japanese> <Japanese>次の装備が読み込みされました:</Japanese>
@ -474,10 +515,11 @@
<Chinese>以下的裝備已被載入:</Chinese> <Chinese>以下的裝備已被載入:</Chinese>
<Chinesesimp>以下的装备已被载入:</Chinesesimp> <Chinesesimp>以下的装备已被载入:</Chinesesimp>
<Russian>Загружен комплект экипировки:</Russian> <Russian>Загружен комплект экипировки:</Russian>
<Portuguese>O seguinte loadout foi carregado:</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_renameExistError"> <Key ID="STR_ACE_Arsenal_renameExistError">
<English>A loadout with the same name already exist!</English> <English>A loadout with the same name already exist!</English>
<French>Un équipement avec le même nom existe déjà !</French> <French>Un set d'équipement ayant le même nom existe déjà !</French>
<German>Eine Ausrüstung mit dem gleichen Namen existiert bereits!</German> <German>Eine Ausrüstung mit dem gleichen Namen existiert bereits!</German>
<Polish>Zestaw z tą nazwą już istnieje!</Polish> <Polish>Zestaw z tą nazwą już istnieje!</Polish>
<Japanese>既にその名前は装備に使われています!</Japanese> <Japanese>既にその名前は装備に使われています!</Japanese>
@ -486,10 +528,11 @@
<Chinese>已有相同名稱的裝備!</Chinese> <Chinese>已有相同名稱的裝備!</Chinese>
<Chinesesimp>已有相同名称的装备!</Chinesesimp> <Chinesesimp>已有相同名称的装备!</Chinesesimp>
<Russian>Комплект с таким именем уже существует!</Russian> <Russian>Комплект с таким именем уже существует!</Russian>
<Portuguese>Um loadout com o mesmo nome já existe!</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_loadoutRenamed"> <Key ID="STR_ACE_Arsenal_loadoutRenamed">
<English>was renamed to</English> <English>was renamed to</English>
<French>fut renommé en</French> <French>a été renommé en</French>
<German>wurde umbenannt in</German> <German>wurde umbenannt in</German>
<Polish>zmienił nazwę na</Polish> <Polish>zmienił nazwę na</Polish>
<Japanese>次の名前に変更されました</Japanese> <Japanese>次の名前に変更されました</Japanese>
@ -498,6 +541,7 @@
<Chinese>已被改名為</Chinese> <Chinese>已被改名為</Chinese>
<Chinesesimp>已被改名为</Chinesesimp> <Chinesesimp>已被改名为</Chinesesimp>
<Russian>был переименован в</Russian> <Russian>был переименован в</Russian>
<Portuguese>foi renameado para</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_invertCameraSetting"> <Key ID="STR_ACE_Arsenal_invertCameraSetting">
<English>Invert camera controls</English> <English>Invert camera controls</English>
@ -510,6 +554,7 @@
<Chinese>反轉攝影機控制</Chinese> <Chinese>反轉攝影機控制</Chinese>
<Chinesesimp>反转摄影机控制</Chinesesimp> <Chinesesimp>反转摄影机控制</Chinesesimp>
<Russian>Инвертировать управление камерой</Russian> <Russian>Инвертировать управление камерой</Russian>
<Portuguese>Inverter controles da câmera</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_modIconsSetting"> <Key ID="STR_ACE_Arsenal_modIconsSetting">
<English>Enable mod icons</English> <English>Enable mod icons</English>
@ -522,10 +567,11 @@
<Chinese>啟用模組圖示</Chinese> <Chinese>啟用模組圖示</Chinese>
<Chinesesimp>启用模组图示</Chinesesimp> <Chinesesimp>启用模组图示</Chinesesimp>
<Russian>Включить иконки модов</Russian> <Russian>Включить иконки модов</Russian>
<Portuguese>Ativar ícones de mods</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_fontHeightSetting"> <Key ID="STR_ACE_Arsenal_fontHeightSetting">
<English>Panel font height</English> <English>Panel font height</English>
<French>taille de police des panneaux</French> <French>Taille de police des panneaux</French>
<German>Schrifthöhe für die linke und rechte Liste</German> <German>Schrifthöhe für die linke und rechte Liste</German>
<Polish>Wysokość czcionki</Polish> <Polish>Wysokość czcionki</Polish>
<Japanese>パネルにあるフォントの高さ</Japanese> <Japanese>パネルにあるフォントの高さ</Japanese>
@ -534,10 +580,11 @@
<Chinese>面板字體高度</Chinese> <Chinese>面板字體高度</Chinese>
<Chinesesimp>面板字体高度</Chinesesimp> <Chinesesimp>面板字体高度</Chinesesimp>
<Russian>Размер шрифта панели</Russian> <Russian>Размер шрифта панели</Russian>
<Portuguese>Altura da fonte do painel</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_allowDefaultLoadoutsSetting"> <Key ID="STR_ACE_Arsenal_allowDefaultLoadoutsSetting">
<English>Allow default loadouts</English> <English>Allow default loadouts</English>
<French>Activer l'onglet équipement de base</French> <French>Autoriser les équipements prédéfinis</French>
<German>Erlaubt die Benutzung der Standardausrüstungen</German> <German>Erlaubt die Benutzung der Standardausrüstungen</German>
<Polish>Zezwól na użycie domyślnych zestawów</Polish> <Polish>Zezwól na użycie domyślnych zestawów</Polish>
<Japanese>標準の装備を許可</Japanese> <Japanese>標準の装備を許可</Japanese>
@ -546,10 +593,11 @@
<Chinese>允許預設裝備</Chinese> <Chinese>允許預設裝備</Chinese>
<Chinesesimp>允许预设装备</Chinesesimp> <Chinesesimp>允许预设装备</Chinesesimp>
<Russian>Разрешить комплекты по умолчанию</Russian> <Russian>Разрешить комплекты по умолчанию</Russian>
<Portuguese>Permitir loadouts padrões</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_allowSharingSetting"> <Key ID="STR_ACE_Arsenal_allowSharingSetting">
<English>Allow loadout sharing</English> <English>Allow loadout sharing</English>
<French>Autoriser le partage d'équipement</French> <French>Autoriser le partage des sets d'équipement</French>
<German>Erlaubt das Teilen von Ausrüstungen</German> <German>Erlaubt das Teilen von Ausrüstungen</German>
<Polish>Zezwól na udostępnianie zestawów</Polish> <Polish>Zezwól na udostępnianie zestawów</Polish>
<Japanese>装備の共有を許可</Japanese> <Japanese>装備の共有を許可</Japanese>
@ -558,10 +606,11 @@
<Chinese>允許分享裝備</Chinese> <Chinese>允許分享裝備</Chinese>
<Chinesesimp>允许分享装备</Chinesesimp> <Chinesesimp>允许分享装备</Chinesesimp>
<Russian>Разрешить публикацию комплектов</Russian> <Russian>Разрешить публикацию комплектов</Russian>
<Portuguese>Permitir compartilhar loadouts</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_printToRPTSetting"> <Key ID="STR_ACE_Arsenal_printToRPTSetting">
<English>Log missing / unavailable items</English> <English>Log missing / unavailable items</English>
<French>Enregistrer les objets manquants</French> <French>Consigner les objets manquants ou indisponibles</French>
<German>Aktiviert die Aufzeichnung fehlender Gegenstände in der RPT</German> <German>Aktiviert die Aufzeichnung fehlender Gegenstände in der RPT</German>
<Polish>Rejestruj brakujące / niedostępne przedmioty</Polish> <Polish>Rejestruj brakujące / niedostępne przedmioty</Polish>
<Japanese>欠落 / 利用不可アイテムを記録</Japanese> <Japanese>欠落 / 利用不可アイテムを記録</Japanese>
@ -570,6 +619,7 @@
<Chinese>記錄遺失/無法使用的項目</Chinese> <Chinese>記錄遺失/無法使用的項目</Chinese>
<Chinesesimp>记录遗失/无法使用的项目</Chinesesimp> <Chinesesimp>记录遗失/无法使用的项目</Chinesesimp>
<Russian>Вести журнал недоступных предметов</Russian> <Russian>Вести журнал недоступных предметов</Russian>
<Portuguese>Registrar em log itens indisponíveis/não encontrados</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_buttonCurrentMagTooltip"> <Key ID="STR_ACE_Arsenal_buttonCurrentMagTooltip">
<English>Primary magazine</English> <English>Primary magazine</English>
@ -582,6 +632,7 @@
<Chinese>主要武器彈匣</Chinese> <Chinese>主要武器彈匣</Chinese>
<Chinesesimp>主要武器弹匣</Chinesesimp> <Chinesesimp>主要武器弹匣</Chinesesimp>
<Russian>Основной магазин</Russian> <Russian>Основной магазин</Russian>
<Portuguese>Carregador Primário</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_buttonCurrentMag2Tooltip"> <Key ID="STR_ACE_Arsenal_buttonCurrentMag2Tooltip">
<English>Secondary magazine</English> <English>Secondary magazine</English>
@ -594,6 +645,7 @@
<Chinese>次要武器彈匣</Chinese> <Chinese>次要武器彈匣</Chinese>
<Chinesesimp>次要武器弹匣</Chinesesimp> <Chinesesimp>次要武器弹匣</Chinesesimp>
<Russian>Вторичный магазин</Russian> <Russian>Вторичный магазин</Russian>
<Portuguese>Carregador Secundário</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_settingCategory"> <Key ID="STR_ACE_Arsenal_settingCategory">
<English>ACE Arsenal</English> <English>ACE Arsenal</English>
@ -606,10 +658,11 @@
<Chinese>ACE虛擬軍火庫</Chinese> <Chinese>ACE虛擬軍火庫</Chinese>
<Chinesesimp>ACE虚拟军火库</Chinesesimp> <Chinesesimp>ACE虚拟军火库</Chinesesimp>
<Russian>ACE Арсенал</Russian> <Russian>ACE Арсенал</Russian>
<Portuguese>ACE Arsenal</Portuguese>
</Key> </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>
<French>Autorise l'usage de l'onglet équipements de base</French> <French>Active l'onglet "Équipements prédéfinis".</French>
<Polish>Zezwól na użycie zakładki domyślnych zestawów</Polish> <Polish>Zezwól na użycie zakładki domyślnych zestawów</Polish>
<Japanese>標準の装備タブの使用を許可します</Japanese> <Japanese>標準の装備タブの使用を許可します</Japanese>
<Italian>Consenti l'uso della sezione per gli equipaggiamenti standard</Italian> <Italian>Consenti l'uso della sezione per gli equipaggiamenti standard</Italian>
@ -618,10 +671,11 @@
<Chinese>允許使用預設的裝備</Chinese> <Chinese>允許使用預設的裝備</Chinese>
<Chinesesimp>允许使用预设的装备</Chinesesimp> <Chinesesimp>允许使用预设的装备</Chinesesimp>
<Russian>Разрешить использование вкладки комплектов экипировки по умолчанию</Russian> <Russian>Разрешить использование вкладки комплектов экипировки по умолчанию</Russian>
<Portuguese>Permite o uso da aba de loadouts padrões</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_modIconsTooltip"> <Key ID="STR_ACE_Arsenal_modIconsTooltip">
<English>Show / hide mod icons for the left panel</English> <English>Show / hide mod icons for the left panel</English>
<French>Montrer / cacher les icones de mod pour le panneau de gauche</French> <French>Affiche/masque les icônes de mod du panneau gauche.</French>
<Polish>Pokaż / ukryj ikony modów w lewym panelu</Polish> <Polish>Pokaż / ukryj ikony modów w lewym panelu</Polish>
<Japanese>左パネルにある MOD アイコンの表示 / 非表示をします</Japanese> <Japanese>左パネルにある MOD アイコンの表示 / 非表示をします</Japanese>
<Italian>Mostra / nascondi le icone delle mod dal pannello sinistro</Italian> <Italian>Mostra / nascondi le icone delle mod dal pannello sinistro</Italian>
@ -630,10 +684,11 @@
<Chinese>在左面板中顯示/隱藏模組圖示</Chinese> <Chinese>在左面板中顯示/隱藏模組圖示</Chinese>
<Chinesesimp>在左面板中显示/隐藏模组图示</Chinesesimp> <Chinesesimp>在左面板中显示/隐藏模组图示</Chinesesimp>
<Russian>Показать / скрыть значки модов в левой панели</Russian> <Russian>Показать / скрыть значки модов в левой панели</Russian>
<Portuguese>Mostra / Esconde os ícones de mods no painel esquerdo</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_fontHeightTooltip"> <Key ID="STR_ACE_Arsenal_fontHeightTooltip">
<English>Change the font height for text in the left / right panels</English> <English>Change the font height for text in the left / right panels</English>
<French>Change la taille de police du texte des panneaux gauche / droite</French> <French>Change la taille de police des panneaux latéraux.</French>
<Polish>Zmień wysokość czcionki dla tekstu lewego i prawego panelu</Polish> <Polish>Zmień wysokość czcionki dla tekstu lewego i prawego panelu</Polish>
<Japanese>右か左パネルにあるフォントの高さを変更します。</Japanese> <Japanese>右か左パネルにあるフォントの高さを変更します。</Japanese>
<Italian>Cambia l'altezza del font per il testo sul pannello sinistro / destro</Italian> <Italian>Cambia l'altezza del font per il testo sul pannello sinistro / destro</Italian>
@ -642,10 +697,11 @@
<Chinese>變更左/右面板中的字體高度</Chinese> <Chinese>變更左/右面板中的字體高度</Chinese>
<Chinesesimp>变更左/右面板中的字体高度</Chinesesimp> <Chinesesimp>变更左/右面板中的字体高度</Chinesesimp>
<Russian>Изменить размер шрифта для текста в левой / правой панелях</Russian> <Russian>Изменить размер шрифта для текста в левой / правой панелях</Russian>
<Portuguese>Muda o tamanho da fonte para os textos nos painéis esquerdo e direito</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_printToRPTTooltip"> <Key ID="STR_ACE_Arsenal_printToRPTTooltip">
<English>Log missing / unavailable items in the RPT</English> <English>Log missing / unavailable items in the RPT</English>
<French>Enregistre les objets manquants / indisponibles dans le RPT</French> <French>Consigne les objets manquants ou indisponibles dans le RPT.</French>
<Polish>Rejestruj brakujące / niedostępne przedmioty do pliku RPT</Polish> <Polish>Rejestruj brakujące / niedostępne przedmioty do pliku RPT</Polish>
<Japanese>PRT で欠落 / 利用不可アイテムを記録します</Japanese> <Japanese>PRT で欠落 / 利用不可アイテムを記録します</Japanese>
<Italian>Log mancante / oggetto non disponibile nell' RPT</Italian> <Italian>Log mancante / oggetto non disponibile nell' RPT</Italian>
@ -654,10 +710,11 @@
<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>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_CantOpenDisplay"> <Key ID="STR_ACE_Arsenal_CantOpenDisplay">
<English>Unable to open ACE arsenal</English> <English>Unable to open ACE arsenal</English>
<French>Impossible d'ouvrir ACE arsenal</French> <French>Impossible d'ouvrir l'arsenal ACE.</French>
<German>Kann ACE-Arsenal nicht anzeigen</German> <German>Kann ACE-Arsenal nicht anzeigen</German>
<Italian>Impossibile aprire l'arsenale ACE</Italian> <Italian>Impossibile aprire l'arsenale ACE</Italian>
<Japanese>ACE 武器庫を開けません</Japanese> <Japanese>ACE 武器庫を開けません</Japanese>
@ -666,10 +723,11 @@
<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>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_portLoadoutsText"> <Key ID="STR_ACE_Arsenal_portLoadoutsText">
<English>Import BI VA loadouts to ACE Arsenal</English> <English>Import BI VA loadouts to ACE Arsenal</English>
<French>Importe les loadouts de BI VA dans ACE Arsenal</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>
@ -678,10 +736,11 @@
<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>
<Portuguese>Importar loadouts do BIS Arsenal para o ACE Arsenal</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_portLoadoutsPlayerError"> <Key ID="STR_ACE_Arsenal_portLoadoutsPlayerError">
<English>No player unit available! Place a unit and mark it as "Player".</English> <English>No player unit available! Place a unit and mark it as "Player".</English>
<French>Aucune unité joueur disponible ! Placez une unité et marquez la en tant que "joueur".</French> <French>Aucune unité joueur disponible ! Placez une unité et marquez-la en tant que "joueur".</French>
<German>Keine Spielereinheit verfügbar. Setze eine Einheit und markiere sie als "Spieler".</German> <German>Keine Spielereinheit verfügbar. Setze eine Einheit und markiere sie als "Spieler".</German>
<Japanese>プレイヤー ユニットがありません!ユニットを設置し"Player"と名付けてください。</Japanese> <Japanese>プレイヤー ユニットがありません!ユニットを設置し"Player"と名付けてください。</Japanese>
<Korean>플레이어 유닛을 사용할 수 없습니다! 유닛을 놓고 "플레이어"라고 표시하십시오.</Korean> <Korean>플레이어 유닛을 사용할 수 없습니다! 유닛을 놓고 "플레이어"라고 표시하십시오.</Korean>
@ -690,10 +749,11 @@
<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>
<Portuguese>Nenhuma unidade de jogador disponível! Coloque uma unidade e marque como "Player".</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_portLoadoutsLoadoutError"> <Key ID="STR_ACE_Arsenal_portLoadoutsLoadoutError">
<English>No loadouts to import.</English> <English>No loadouts to import.</English>
<French>Aucun loadout à 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>
@ -702,6 +762,7 @@
<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>
<Portuguese>Nenhum loadout para importar.</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_Mission"> <Key ID="STR_ACE_Arsenal_Mission">
<English>ACE Arsenal</English> <English>ACE Arsenal</English>
@ -713,6 +774,8 @@
<Italian>Arsenale ACE</Italian> <Italian>Arsenale ACE</Italian>
<Polish>Arsenał ACE</Polish> <Polish>Arsenał ACE</Polish>
<Russian>ACE Арсенал</Russian> <Russian>ACE Арсенал</Russian>
<Portuguese>ACE Arsenal</Portuguese>
<French>Arsenal ACE</French>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_ReturnToArsenal"> <Key ID="STR_ACE_Arsenal_ReturnToArsenal">
<English>Return to ACE Arsenal.</English> <English>Return to ACE Arsenal.</English>
@ -724,6 +787,8 @@
<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>
<Portuguese>Voltar para o ACE Arsenal</Portuguese>
<French>Retour à l'arsenal ACE</French>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_Mission_tooltip"> <Key ID="STR_ACE_Arsenal_Mission_tooltip">
<English>Use ACE Arsenal to try out different weapons and equipment.</English> <English>Use ACE Arsenal to try out different weapons and equipment.</English>
@ -735,6 +800,8 @@
<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>
<Portuguese>Use o ACE Arsenal para experimentar diferentes armas e equipamentos.</Portuguese>
<French>Utilisez l'arsenal ACE pour essayer différentes armes ou équipements.</French>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_Mission_overview"> <Key ID="STR_ACE_Arsenal_Mission_overview">
<English>Try weapons and equipment and create your own loadouts.</English> <English>Try weapons and equipment and create your own loadouts.</English>
@ -746,39 +813,44 @@
<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>
<Portuguese>Experimente armas e equipamentos e crie seus próprios loadouts.</Portuguese>
<French>Essayez des armes et du matériel et créez vos propres sets d'équipement.</French>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_buttonLoadoutsTooltip"> <Key ID="STR_ACE_Arsenal_buttonLoadoutsTooltip">
<English>Open the loadouts screen</English> <English>Open the loadouts screen</English>
<German>Öffnet das Ausrüstungsmenü</German> <German>Öffnet das Ausrüstungsmenü</German>
<French>Affiche la page des équipements</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>
<Russian>Открыть окно комплектов экипировки</Russian> <Russian>Открыть окно комплектов экипировки</Russian>
<Portuguese>Abre a tela de loadouts</Portuguese>
</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>
<German>Exportiert aktuelles / standard Loadout</German> <German>Exportiert aktuelles / standard Loadout</German>
<French>Exporte l'équipement actuel ou la liste d'équipements de base</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>
</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>
<German>Importiert aktuelles / standard Loadout</German> <German>Importiert aktuelles / standard Loadout</German>
<French>Importer l'équipement actuel ou la liste d'équipements de base</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>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_statPotassium"> <Key ID="STR_ACE_Arsenal_statPotassium">
<English>Potassium levels</English> <English>Potassium levels</English>
@ -789,6 +861,7 @@
<Italian>Ilvello di potassio</Italian> <Italian>Ilvello di potassio</Italian>
<Polish>Poziomy potasu</Polish> <Polish>Poziomy potasu</Polish>
<Russian>Уровень Калия</Russian> <Russian>Уровень Калия</Russian>
<Portuguese>Níveis de Potássio</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_statMagnification"> <Key ID="STR_ACE_Arsenal_statMagnification">
<English>Magnification</English> <English>Magnification</English>
@ -800,7 +873,7 @@
<Russian>Увеличение</Russian> <Russian>Увеличение</Russian>
<German>Vergrößerung</German> <German>Vergrößerung</German>
<Czech>Zvětšení</Czech> <Czech>Zvětšení</Czech>
<Portuguese>Aumentox</Portuguese> <Portuguese>Aumento</Portuguese>
<Korean>배율</Korean> <Korean>배율</Korean>
<Chinesesimp>放大倍数</Chinesesimp> <Chinesesimp>放大倍数</Chinesesimp>
<Japanese>拡大倍率</Japanese> <Japanese>拡大倍率</Japanese>
@ -813,6 +886,9 @@
<Polish>Wsparcie noktowizyjne</Polish> <Polish>Wsparcie noktowizyjne</Polish>
<Italian>Supporto visore notturno</Italian> <Italian>Supporto visore notturno</Italian>
<Russian>Поддержка ночного видения</Russian> <Russian>Поддержка ночного видения</Russian>
<Portuguese>Suporte de Visão Noturna</Portuguese>
<French>Support JVN</French>
<Chinese>夜視鏡支援</Chinese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_statVisionMode_supPrim"> <Key ID="STR_ACE_Arsenal_statVisionMode_supPrim">
<English>Primary supported</English> <English>Primary supported</English>
@ -821,6 +897,9 @@
<Polish>Wspierane przez broń główną</Polish> <Polish>Wspierane przez broń główną</Polish>
<Italian>Primario supportato</Italian> <Italian>Primario supportato</Italian>
<Russian>Поддерживается осн. прицелом</Russian> <Russian>Поддерживается осн. прицелом</Russian>
<Portuguese>Primária suportada</Portuguese>
<French>Primaire supportée</French>
<Chinese>主武器支援</Chinese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_statVisionMode_supSec"> <Key ID="STR_ACE_Arsenal_statVisionMode_supSec">
<English>Secondary supported</English> <English>Secondary supported</English>
@ -829,6 +908,9 @@
<Polish>Wspierane przez broń drugorzędną</Polish> <Polish>Wspierane przez broń drugorzędną</Polish>
<Italian>Secondario supportato</Italian> <Italian>Secondario supportato</Italian>
<Russian>Поддерживается доп. прицелом</Russian> <Russian>Поддерживается доп. прицелом</Russian>
<Portuguese>Secundária suportada</Portuguese>
<French>Secondaire supportée</French>
<Chinese>次要武器支援</Chinese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_statVisionMode_IntPrim"> <Key ID="STR_ACE_Arsenal_statVisionMode_IntPrim">
<English>Primary integrated</English> <English>Primary integrated</English>
@ -837,6 +919,9 @@
<Polish>Zintegrowane z bronią główną</Polish> <Polish>Zintegrowane z bronią główną</Polish>
<Italian>Primario integrato</Italian> <Italian>Primario integrato</Italian>
<Russian>Интегрирован в осн. прицел</Russian> <Russian>Интегрирован в осн. прицел</Russian>
<Portuguese>Primária integrada</Portuguese>
<French>Primaire intégrée</French>
<Chinese>整合主武器</Chinese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_statVisionMode_NoSup"> <Key ID="STR_ACE_Arsenal_statVisionMode_NoSup">
<English>Not Supported</English> <English>Not Supported</English>
@ -845,6 +930,9 @@
<Polish>Nie wspierane</Polish> <Polish>Nie wspierane</Polish>
<Italian>Non supportato</Italian> <Italian>Non supportato</Italian>
<Russian>Не поддерживается</Russian> <Russian>Не поддерживается</Russian>
<Portuguese>Não suportado</Portuguese>
<French>Non supporté</French>
<Chinese>不支援</Chinese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_page"> <Key ID="STR_ACE_Arsenal_page">
<English>Page</English> <English>Page</English>
@ -856,17 +944,19 @@
<Italian>Pagina</Italian> <Italian>Pagina</Italian>
<Polish>Strona</Polish> <Polish>Strona</Polish>
<Russian>Стр.</Russian> <Russian>Стр.</Russian>
<Portuguese>Página</Portuguese>
</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>
<German>Aktiviere die Gesichter-, Stimmen- und Abzeichenübersicht</German> <German>Aktiviere die Gesichter-, Stimmen- und Abzeichenübersicht</German>
<French>Activer les onglets faces / 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>
<Russian>Включить вкладки Лиц / Голосов / Знаков различия</Russian> <Russian>Включить вкладки Лиц / Голосов / Знаков различия</Russian>
<Portuguese>Ativar as abas de rostos / vozes / insígnias</Portuguese>
</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>
@ -878,17 +968,19 @@
<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>
</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>
<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>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_Mode"> <Key ID="STR_ACE_Arsenal_Mode">
<English>Mode</English> <English>Mode</English>
@ -912,7 +1004,7 @@
<Spanish>Lista blanca</Spanish> <Spanish>Lista blanca</Spanish>
<German>Whitelist</German> <German>Whitelist</German>
<Czech>Seznam povolených</Czech> <Czech>Seznam povolených</Czech>
<Portuguese>Lista branca</Portuguese> <Portuguese>Lista Branca</Portuguese>
<French>Liste blanche</French> <French>Liste blanche</French>
<Hungarian>Fehérlista</Hungarian> <Hungarian>Fehérlista</Hungarian>
<Russian>Вайтлист</Russian> <Russian>Вайтлист</Russian>
@ -929,6 +1021,9 @@
<Italian>Lista Nera</Italian> <Italian>Lista Nera</Italian>
<Polish>Czarna lista (lista wykluczeń)</Polish> <Polish>Czarna lista (lista wykluczeń)</Polish>
<Russian>Чёрный список</Russian> <Russian>Чёрный список</Russian>
<Portuguese>Lista Negra</Portuguese>
<French>Liste noire</French>
<Chinese>黑名單</Chinese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_Items"> <Key ID="STR_ACE_Arsenal_Items">
<English>Items</English> <English>Items</English>
@ -952,7 +1047,10 @@
<Japanese>スクリプト用に現在のアイテム リストをアレイでエクスポートします</Japanese> <Japanese>スクリプト用に現在のアイテム リストをアレイでエクスポートします</Japanese>
<Italian>Esporta l'attuale lista di elementi come un array, per essere usati negli script</Italian> <Italian>Esporta l'attuale lista di elementi come un array, per essere usati negli script</Italian>
<Polish>Eksportuj obecną listę przedmiotów jako tablicę do wykorzystania w skryptach</Polish> <Polish>Eksportuj obecną listę przedmiotów jako tablicę do wykorzystania w skryptach</Polish>
<Portuguese>Exportar a lista atual de itens como uma matriz para usar em scripts</Portuguese>
<Russian>Экспорт текущего списка предметов в виде массива для использования в скриптах</Russian> <Russian>Экспорт текущего списка предметов в виде массива для использования в скриптах</Russian>
<French>Exporte l'équipement actuel dans le presse-papier, sous la forme d'un tableau à utiliser dans les scripts.</French>
<Chinese>匯出目前的物品列表為陣列用於腳本編寫</Chinese>
</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>
@ -960,6 +1058,9 @@
<Polish>Zaimportuj listę przedmiotów ze schowka (lista musi być w tym samym formacie jak przy exporcie)</Polish> <Polish>Zaimportuj listę przedmiotów ze schowka (lista musi być w tym samym formacie jak przy exporcie)</Polish>
<Japanese>クリップボードからアイテムリストをアレイでインポートします (エクスポートと同じフォーマットである必要があります)</Japanese> <Japanese>クリップボードからアイテムリストをアレイでインポートします (エクスポートと同じフォーマットである必要があります)</Japanese>
<Russian>Импорт массива списка предметов из буфера (должен иметь тот же формат, что при экспорте)</Russian> <Russian>Импорт массива списка предметов из буфера (должен иметь тот же формат, что при экспорте)</Russian>
<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>
<Chinese>從剪貼簿匯入物品列表之陣列(應該與匯出的格式一樣)</Chinese>
</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>
@ -967,6 +1068,9 @@
<Polish>Dodaj kompatybilne przedmioty</Polish> <Polish>Dodaj kompatybilne przedmioty</Polish>
<Japanese>対応アイテムを追加</Japanese> <Japanese>対応アイテムを追加</Japanese>
<Russian>Добавить совместимые предметы</Russian> <Russian>Добавить совместимые предметы</Russian>
<Portuguese>Adicionar itens compatíveis</Portuguese>
<French>Ajouter des objets compatibles</French>
<Chinese>增加相容的物品</Chinese>
</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>
@ -974,15 +1078,20 @@
<Polish>Automatycznie doda kompatybilne dodatki oraz magazynki (odpowiednio do każdej kategorii) dla wszystkich broni na liście</Polish> <Polish>Automatycznie doda kompatybilne dodatki oraz magazynki (odpowiednio do każdej kategorii) dla wszystkich broni na liście</Polish>
<Japanese>現在のアイテム リスト内にある全武器に対応するアタッチメントと弾倉 (選択したカテゴリに基づき) を自動的に追加します</Japanese> <Japanese>現在のアイテム リスト内にある全武器に対応するアタッチメントと弾倉 (選択したカテゴリに基づき) を自動的に追加します</Japanese>
<Russian>Добавляет совместимые приспособления или магазины (в зависимости от выбранной категории) для всего оружия в текущем списке предметов</Russian> <Russian>Добавляет совместимые приспособления или магазины (в зависимости от выбранной категории) для всего оружия в текущем списке предметов</Russian>
<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>
<Chinese>將會自動增加相容的配件以及彈匣(基於選擇的類型)至妳目前物品列表中的全部武器</Chinese>
</Key> </Key>
<Key ID="STR_ACE_Arsenal_statTTL"> <Key ID="STR_ACE_Arsenal_statTTL">
<English>Time to live</English> <English>Time to live</English>
<German>Lebenszeit</German> <German>Lebenszeit</German>
<French>Durée de vie</French> <French>Durée d'expiration</French>
<Japanese>有効時間</Japanese> <Japanese>有効時間</Japanese>
<Polish>Czas by żyć</Polish> <Polish>Czas by żyć</Polish>
<Italian>Scadenza (TTL)</Italian> <Italian>Scadenza (TTL)</Italian>
<Russian>Время действия</Russian> <Russian>Время действия</Russian>
<Portuguese>Time to live</Portuguese>
<Chinese>有效時間</Chinese>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

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

View File

@ -3,10 +3,13 @@ class Extended_PreStart_EventHandlers {
init = QUOTE(call COMPILE_FILE(XEH_preStart)); init = QUOTE(call COMPILE_FILE(XEH_preStart));
}; };
}; };
class Extended_PreInit_EventHandlers { class Extended_PreInit_EventHandlers {
class ADDON { class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preInit)); init = QUOTE(call COMPILE_FILE(XEH_preInit));
}; };
}; };
class Extended_PostInit_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_postInit));
};
};

View File

@ -0,0 +1,6 @@
class CfgMagazines {
class 32Rnd_155mm_Mo_shells;
class 8Rnd_82mm_Mo_shells: 32Rnd_155mm_Mo_shells {
GVAR(airFriction) = -0.0001;
};
};

View File

@ -0,0 +1,7 @@
class CfgVehicles {
class StaticWeapon;
class StaticMortar: StaticWeapon {
// Small mortars seem to need the alternate elevation calculations,
GVAR(showGunLaying) = 2;
};
};

View File

@ -0,0 +1,15 @@
class CfgWeapons {
class ACE_ItemCore;
class CBA_MiscItem_ItemInfo;
class ACE_artilleryTable: ACE_ItemCore {
author = ECSTRING(common,ACETeam);
scope = 2;
displayName = CSTRING(rangetable_displayName);
descriptionShort = CSTRING(rangetable_description);
picture = QPATHTOF(UI\icon_rangeTable.paa);
class ItemInfo: CBA_MiscItem_ItemInfo {
mass = 0.5;
};
};
};

View File

@ -0,0 +1,14 @@
ace_artillerytables
==========
Universal artillery rangetables.
#### Items Added:
`ACE_artilleryTable`
## Maintainers
The people responsible for merging changes to this component or answering potential questions.
- [PabstMirror](https://github.com/PabstMirror)

View File

@ -0,0 +1,96 @@
class GVAR(rangeTableDialog) {
idd = -1;
movingEnable = 1;
onLoad = QUOTE(with uiNameSpace do { GVAR(rangeTableDialog) = _this select 0 };);
objects[] = {};
class ControlsBackground {
class TableBackground: RscPicture {
idc = -1;
text = QPATHTOF(UI\RangeTable_background.paa);
x = "18 *(safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH) / 2)";
y = "1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2)) / 2)";
w = "16.2634559672906 * (safeZoneH / 40)";
h = "23 * ((safeZoneH / 1.2) / 25)";
colorBackground[] = {1,1,1,1};
};
class LeftSideBackground: RscText {
idc = -1;
x = "13 *(safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH) / 2)";
y = "1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2)) / 2)";
w = "5 * (safeZoneH / 40)";
h = "23 * ((safeZoneH / 1.2) / 25)";
colorBackground[] = {0,0,0,0.8};
};
};
class controls {
class TheTable: RscListNBox {
idc = IDC_TABLE;
x = "18 *(safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH) / 2)";
y = "3.76 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2)) / 2)";
w = "16.2634559672906 * (safeZoneH / 40)";
h = "20.24 * ((safeZoneH / 1.2) / 25)";
columns[] = {(10/867),(86/867),(171/867),(238/867),(320/867),(405/867),(485/867),(546/867),(607/867),(668/867),(729/867),(790/867)};
rowHeight = 0.015 * safeZoneH;
sizeEx = "0.014 * safeZoneH";
font = "EtelkaMonospacePro";
drawSideArrows = 1;
idcLeft = -1;
idcRight = -1;
colorText[] = {0, 0, 0, 1};
shadow = "0";
colorSelectBackground[] = {0, 0, 0, 0.025};
colorSelectBackground2[] = {0, 0, 0, 0.025};
colorScrollbar[] = {0.95,0,0.95,1};
class ListScrollBar: ScrollBar{
color[] = {0,0,0,0.6};
};
};
class ChargeListBox: RscListbox {
idc = IDC_CHARGELIST;
style = ST_RIGHT;
x = "13 *(safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH) / 2)";
y = "2 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2)) / 2)";
w = "5 * (safeZoneH / 40)";
h = "22 * ((safeZoneH / 1.2) / 25)";
onLBSelChanged = QUOTE([] call FUNC(rangeTableUpdate));
};
class elevationHigh: ctrlButton {
idc = IDC_BUTTON_ELEV_HIGH;
text = "High";
onButtonClick = QUOTE([true] call FUNC(rangeTableUpdate));
x = "13.1 *(safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH) / 2)";
y = "1.1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2)) / 2)";
w = "2.3 * (safeZoneH / 40)";
h = "0.8 * ((safeZoneH / 1.2) / 25)";
};
class elevationLow: elevationHigh {
idc = IDC_BUTTON_ELEV_LOW;
text = "Low";
onButtonClick = QUOTE([false] call FUNC(rangeTableUpdate));
x = "15.6 *(safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH) / 2)";
};
class CloseBackground: RscText {
idc = -1;
x = "33.7634559672906 *(safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH) / 2)";
y = "1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2)) / 2)";
w = "0.5 * (safeZoneH / 40)";
h = "0.5 * ((safeZoneH / 1.2) / 25)";
colorBackground[] = {0,0,0,0.5};
};
class CloseActiveText: RscActiveText {
idc = -1;
style = 48;
color[] = {1,1,1,0.7};
text = "A3\Ui_f\data\GUI\Rsc\RscDisplayArcadeMap\icon_exit_cross_ca.paa";
x = "33.7634559672906 *(safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH) / 2)";
y = "1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2)) / 2)";
w = "0.5 * (safeZoneH / 40)";
h = "0.5 * ((safeZoneH / 1.2) / 25)";
colorText[] = {1,1,1,0.7};
colorActive[] = {1,1,1,1};
tooltip = "Close";
onButtonClick = "closeDialog 0";
};
};
};

View File

@ -0,0 +1,42 @@
class RscTitles {
class GVAR(modeDisplay) {
idd = -1;
onLoad = QUOTE(with uiNameSpace do { GVAR(display) = _this select 0 };);
movingEnable = 0;
duration = 60;
fadeIn = "false";
fadeOut = "false";
class controls {
class ModeControlGroup: RscControlsGroupNoScrollbars {
idc = IDC_MODECONTROLGROUP;
x = "3.8 * (((safezoneW / safezoneH) min 1.2) / 40) + (profilenamespace getvariable ['IGUI_GRID_WEAPON_X',((safezoneX + safezoneW) - (10 * (((safezoneW / safezoneH) min 1.2) / 40)) - 4.3 * (((safezoneW / safezoneH) min 1.2) / 40))])";
y = "2.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (profilenamespace getVariable ['IGUI_GRID_WEAPON_Y', (safezoneY + 0.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25))])";
w = "10 * (((safezoneW / safezoneH) min 1.2) / 40)";
h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
class controls {
class Charge: RscText {
idc = IDC_CHARGE;
colorText[] = {1, 1, 1, 1};
colorBackground[] = {0, 0, 0, 0};
x = "0";
y = "0";
w = "(2) * (((safezoneW / safezoneH) min 1.2) / 40)";
h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
sizeEx = "0.8 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
};
class Azimuth: Charge {
idc = IDC_AZIMUTH;
x = "(2) * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
w = "(3) * (((safezoneW / safezoneH) min 1.2) / 40)";
};
class Elevation: Azimuth {
idc = IDC_ELEVATION;
x = "(5) * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
};
};
};
};
};
};

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,8 @@
TRACE_1("prep",_this);
PREP(firedEH);
PREP(interactMenuOpened);
PREP(rangeTableOpen);
PREP(rangeTableUpdate);
PREP(turretChanged);
PREP(turretPFEH);

View File

@ -0,0 +1,36 @@
#include "script_component.hpp"
["ace_settingsInitialized", {
TRACE_2("ace_settingsInitialized",GVAR(advancedCorrections),GVAR(disableArtilleryComputer));
if (hasInterface) then {
// Add hud overlay for actuall azimuth and elevation:
GVAR(pfID) = -1;
["turret", LINKFUNC(turretChanged), true] call CBA_fnc_addPlayerEventHandler;
// Add ability to dynamically open rangetables:
["ace_interactMenuOpened", LINKFUNC(interactMenuOpened)] call CBA_fnc_addEventHandler;
};
if (GVAR(advancedCorrections)) then {
["LandVehicle", "init", {
params ["_vehicle"];
private _vehicleCfg = configFile >> "CfgVehicles" >> typeOf _vehicle;
// config "ace_artillerytables_applyCorrections" [0 disabled, 1 enabled] falls back to artilleryScanner
private _applyCorrections = if (isNumber (_vehicleCfg >> QGVAR(applyCorrections))) then {
getNumber (_vehicleCfg >> QGVAR(applyCorrections))
} else {
getNumber (_vehicleCfg >> "artilleryScanner")
};
if (_applyCorrections == 1) then {
TRACE_2("adding firedEH",_vehicle,configName _vehicleCfg);
_vehicle addEventHandler ["Fired", {call FUNC(firedEH)}];
};
}, true, [], true] call CBA_fnc_addClassEventHandler;
};
}] call CBA_fnc_addEventHandler;
#ifdef DEBUG_MODE_FULL
#include "dev\showShotInfo.sqf"
#include "dev\checkConfigs.sqf"
#endif

View File

@ -6,5 +6,6 @@ PREP_RECOMPILE_START;
#include "XEH_PREP.hpp" #include "XEH_PREP.hpp"
PREP_RECOMPILE_END; PREP_RECOMPILE_END;
ADDON = true; #include "initSettings.sqf"
ADDON = true;

View File

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

View File

@ -0,0 +1,44 @@
#include "script_component.hpp"
class CfgPatches {
class ADDON {
name = COMPONENT_NAME;
units[] = {};
weapons[] = {};
requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"ace_interaction"};
author = ECSTRING(common,ACETeam);
authors[] = {"PabstMirror"};
url = ECSTRING(main,URL);
VERSION_CONFIG;
};
};
class ACE_Extensions {
class ace_artillerytables {
windows = 1;
client = 1;
};
};
#include "CfgEventHandlers.hpp"
#include "CfgMagazines.hpp"
#include "CfgVehicles.hpp"
#include "CfgWeapons.hpp"
// Common UI Stuff:
class RscText;
class RscListbox;
class RscListNBox;
class RscPicture;
class RscControlsGroup;
class RscControlsGroupNoScrollbars;
class ScrollBar;
class RscActiveText;
class RscStructuredText;
class ctrlButton;
#include "RscTitles.hpp"
#include "RscRangeTable.hpp"

View File

@ -0,0 +1,20 @@
diag_log text "-------------------------------------------";
INFO("Showing entries with custom configs");
diag_log text "-------------------------------------------";
private _fnc_showPropertyDefined = {
params ["_configBase", "_configProperty"];
private _customAll = configProperties [_configBase, 'isClass _x && {isNumber (_x >> _configProperty)}', true];
private _customExplicit = _customAll select {!([] isEqualTo configProperties [_x, 'configName _x == _configProperty', false])};
diag_log text format ["%1 with custom %2: %3 Explicit, %4 Total]", configName _configBase, _configProperty, count _customExplicit, count _customAll];
diag_log text format [" - Defined: %1", _customExplicit apply {configName _x}];
diag_log text format [" - Inherited: %1", _customAll apply {[configName _x, getNumber (_x >> _configProperty)]}];
};
[configFile >> "CfgMagazines", QGVAR(airFriction)] call _fnc_showPropertyDefined;
[configFile >> "CfgVehicles", QGVAR(showGunLaying)] call _fnc_showPropertyDefined;
[configFile >> "CfgVehicles", QGVAR(applyCorrections)] call _fnc_showPropertyDefined;
diag_log text "-------------------------------------------";

View File

@ -0,0 +1,47 @@
// #include "\z\ace\addons\artillerytables\script_component.hpp"
INFO("showing shot info");
["LandVehicle", "fired", {
params ["_shooter", "", "", "", "_ammo", "", "_proj"];
((velocity _proj) call CBA_fnc_vect2Polar) params ["_mag", "_dir", "_elev"];
private _shootPos = getPosASL _shooter;
if (_dir < 0) then {_dir = _dir + 360;};
private _offsetElev = _elev - (missionNamespace getVariable [QGVAR(predictedElevation), -999]);
private _offsetAz = _dir - (missionNamespace getVariable [QGVAR(predictedAzimuth), -999]);
hintSilent format ["%1 m/s\nAz: %2 [%3]\nEl: %4 [%5]\nError Az: %6\nError EL: %7",_mag toFixed 1, _dir toFixed 2, ((6400 / 360) * _dir) toFixed 0, _elev toFixed 2, ((6400 / 360) * _elev) toFixed 0,
_offsetAz toFixed 3, _offsetElev toFixed 3];
TRACE_2("",_offsetAz,_offsetElev);
private _submunitionAmmo = getText (configFile >> "CfgAmmo" >> _ammo >> "submunitionAmmo");
[{
params ["_proj", "_shootPos", "_lastPos", "_submunitionAmmo"];
if ((isNull _proj) && {_submunitionAmmo != ""}) then {
_proj = nearestObject [_lastPos, _submunitionAmmo];
_this set [0, _proj];
};
if (isNull _proj) exitWith {true};
_this set [2, getPosASL _proj];
false
}, {
params ["", "_shootPos", "_lastPos"];
private _mkrB = createMarker [format ["shotInfo-%1-%2",_shootPos,_lastPos], _lastPos];
_mkrB setMarkerType "mil_dot";
_mkrB setMarkerColor "ColorGreen";
_mkrB setMarkerSize [0.5,0.5];
private _diff = _lastPos vectorDiff _shootPos;
_mkrB setMarkerText format ["%1", _diff apply {round _x}];
private _dist2d = _shootPos distance2d _lastPos;
private _dir = _shootPos getDir _lastPos;
private _height = (_lastPos select 2) - (_shootPos select 2);
_mkrB setMarkerText format ["Dist: %1m Az: %2[%3] Height:%4", _dist2d toFixed 0, _dir toFixed 2, ((6400 / 360) * _dir) toFixed 0, _height toFixed 0];
}, [_proj, _shootPos, [0,0,0], _submunitionAmmo]] call CBA_fnc_waitUntilAndExecute;
private _mkrA = createMarker [format ["shotInfo-%1",_shootPos], _shootPos];
_mkrA setMarkerType "mil_dot";
_mkrA setMarkerColor "ColorRed";
_mkrA setMarkerSize [0.5,0.5];
}] call CBA_fnc_addClassEventHandler;

View File

@ -0,0 +1,88 @@
#include "script_component.hpp"
/*
* Author: PabstMirror
* Called when the mortar is fired.
*
* Arguments:
* 0: mortar - Object the event handler is assigned to <OBJECT>
* 1: weapon - Fired weapon <STRING>
* 2: muzzle - Muzzle that was used <STRING>
* 3: mode - Current mode of the fired weapon <STRING>
* 4: ammo - Ammo used <STRING>
* 5: magazine - magazine name which was used <STRING>
* 6: projectile - Object of the projectile that was shot <OBJECT>
* 7: gunner - Gunner <OBJECT>
*
* Return Value:
* None
*
* Example:
* [bisFiredEH] call ace_artillerytables_fnc_firedEH
*
* Public: No
*/
params ["_vehicle", "", "", "", "", "_magazine", "_projectile", "_gunner"];
TRACE_4("firedEH",_vehicle,_magazine,_projectile,_gunner);
if (!([_gunner] call EFUNC(common,isPlayer))) exitWith {}; // AI don't know how to use (this does give them more range than a player)
if ((gunner _vehicle) != _gunner) exitWith {}; // check if primaryGunner
// Get airFriction
private _airFriction = DEFAULT_AIR_FRICTION;
if (isNumber (configFile >> "CfgMagazines" >> _magazine >> QGVAR(airFriction))) then {
_airFriction = getNumber (configFile >> "CfgMagazines" >> _magazine >> QGVAR(airFriction));
};
TRACE_1("",_airFriction);
if (_airFriction >= 0) exitWith {}; // 0 disables everything, >0 makes no sense
BEGIN_COUNTER(adjustmentsCalc);
// Calculate air density
private _altitude = (getPosASL _vehicle) select 2;
private _temperature = _altitude call EFUNC(weather,calculateTemperatureAtHeight);
private _pressure = _altitude call EFUNC(weather,calculateBarometricPressure);
private _relativeHumidity = EGVAR(weather,currentHumidity);
private _airDensity = [_temperature, _pressure, _relativeHumidity] call EFUNC(weather,calculateAirDensity);
private _relativeDensity = _airDensity / 1.225;
TRACE_5("Weather",_temperature,_pressure,_relativeHumidity,_airDensity,_relativeDensity);
private _kFactor = _airFriction * _relativeDensity;
private _newMuzzleVelocityCoefficent = (((_temperature + 273.13) / 288.13 - 1) / 40 + 1);
TRACE_2("",_kFactor,_newMuzzleVelocityCoefficent);
// Apply powder effects
if (_newMuzzleVelocityCoefficent != 1) then {
private _bulletVelocity = velocity _projectile;
private _bulletSpeed = vectorMagnitude _bulletVelocity;
_bulletVelocity = (vectorNormalized _bulletVelocity) vectorMultiply (_bulletSpeed * _newMuzzleVelocityCoefficent);
_projectile setVelocity _bulletVelocity;
};
[{
params ["_projectile", "_kFactor", "_time"];
if (isNull _projectile) exitWith {true};
private _deltaT = CBA_missionTime - _time;
_this set[2, CBA_missionTime];
private _bulletVelocity = velocity _projectile;
private _trueVelocity = _bulletVelocity vectorDiff wind;
private _trueSpeed = vectorMagnitude _trueVelocity;
private _drag = _deltaT * _kFactor * _trueSpeed;
private _accel = _trueVelocity vectorMultiply _drag;
// TRACE_3("",_bulletVelocity,_trueSpeed,_accel);
_bulletVelocity = _bulletVelocity vectorAdd _accel;
_projectile setVelocity _bulletVelocity;
false
}, {
// TRACE_1("done",_this);
}, [_projectile, _kFactor, CBA_missionTime]] call CBA_fnc_waitUntilAndExecute;
END_COUNTER(adjustmentsCalc);

View File

@ -0,0 +1,108 @@
#include "script_component.hpp"
/*
* Author: PabstMirror
* Interaction menu opened, search for nearby artillery vehicles.
*
* Arguments:
* 0: Menu Type (1 is self interaction) <NUMBER>
*
* Return Value:
* Can Open <BOOL>
*
* Example:
* [1] call ace_artillerytables_fnc_interactMenuOpened
*
* Public: No
*/
params ["_menuType"];
TRACE_1("interactMenuOpened",_menuType);
if (_menuType != 1) exitWith {};
if (!("ACE_artilleryTable" in (ace_player call EFUNC(common,uniqueItems)))) exitWith {};
private _vehicleAdded = ace_player getVariable [QGVAR(vehiclesAdded), []];
private _rangeTablesShown = ace_player getVariable [QGVAR(rangeTablesShown), []];
TRACE_2("searching for new vehicles",_vehicleAdded,_rangeTablesShown);
{
private _vehicleCfg = configFile >> "CfgVehicles" >> typeOf _x;
// config "ace_artillerytables_showRangetable" [0 disabled, 1 enabled] falls back to artilleryScanner
private _showRangetable = if (isNumber (_vehicleCfg >> QGVAR(showRangetable))) then {
getNumber (_vehicleCfg >> QGVAR(showRangetable))
} else {
getNumber (_vehicleCfg >> "artilleryScanner")
};
if ((_showRangetable == 1) && {!(_x in _vehicleAdded)}) then {
private _vehicle = _x;
private _turret = [];
private _turretCfg = configNull; // find turret with artillery, will be one with primaryGunner = 1 (e.g. RHS PRP-3)
{
private _xTurretCfg = [_vehicleCfg, _x] call CBA_fnc_getTurret;
if ((getNumber (_xTurretCfg >> "primaryGunner")) == 1) exitWith {
_turret = _x;
_turretCfg = _xTurretCfg;
};
} forEach allTurrets _vehicle;
TRACE_3("",_vehicle,configName _vehicleCfg,_turret);
if (isNull _turretCfg) exitWith { ERROR_1("no primaryGunner %1",configName _vehicleCfg); };
if ((count _turret) != 1) then { WARNING_2("sub turret %1-%2",_typeOf,_turret); };
private _weaponsTurret = _vehicle weaponsTurret _turret;
if ((count _weaponsTurret) != 1) exitWith { WARNING_1("multiple weapons - %1",_typeOf); };
private _weapon = _weaponsTurret select 0;
private _turretAnimBody = getText (_turretCfg >> "animationSourceBody");
private _turretAnimGun = getText (_turretCfg >> "animationSourceGun");
// For artillery with detached camera (I_Truck_02_MRL_F) need to use animationSourcePhase
// But that command won't always work, so fallback to animationPhase
private _currentElevRad = _vehicle animationSourcePhase _turretAnimGun;
if (isNil "_currentElevRad") then { _currentElevRad = _vehicle animationPhase _turretAnimGun; };
private _currentTraverseRad = _vehicle animationSourcePhase _turretAnimBody;
if (isNil "_currentTraverseRad") then { _currentTraverseRad = _vehicle animationPhase _turretAnimBody; };
// Some turrets (MK6) have a neutralX rotation that we need to add to min/max config elevation to get actual limits
private _weaponDir = _vehicle weaponDirection _weapon;
private _turretRot = [vectorDir _vehicle, vectorUp _vehicle, deg _currentTraverseRad] call CBA_fnc_vectRotate3D;
private _neutralX = (acos ((_turretRot vectorCos _weaponDir) min 1)) - (deg _currentElevRad); // vectorCos can return values outside of -1..1
_neutralX = (round (_neutralX * 10)) / 10; // minimize floating point errors
private _minElev = _neutralX + getNumber (_turretCfg >> "minElev");
private _maxElev = _neutralX + getNumber (_turretCfg >> "maxElev");
private _applyCorrections = if (isNumber (_vehicleCfg >> QGVAR(applyCorrections))) then {
getNumber (_vehicleCfg >> QGVAR(applyCorrections))
} else {
getNumber (_vehicleCfg >> "artilleryScanner")
};
private _advCorrection = GVAR(advancedCorrections) && {_applyCorrections == 1};
if ((missionNamespace getVariable [QEGVAR(mk6Mortar,airResistanceEnabled), false]) && {_vehicle isKindOf "Mortar_01_base_F"}) then {
_advCorrection = true;
};
// check weapon and limits in case different vehicles use the same weapon (cammo variants should still produce the same array)
private _info = [_weapon, _minElev, _maxElev, _advCorrection];
_vehicleAdded pushBack _vehicle;
ace_player setVariable [QGVAR(vehiclesAdded), _vehicleAdded];
private _index = _rangeTablesShown pushBackUnique _info;
TRACE_2("",_info,_index);
if (_index != -1) then {
private _statement = {
params ["", "", "_info"];
TRACE_1("interaction statement",_info);
[FUNC(rangeTableOpen), _info] call CBA_fnc_execNextFrame; // delay a frame because of interaction menu closing dialogs
};
private _condition = {
//IGNORE_PRIVATE_WARNING ["_player"];
("ACE_artilleryTable" in (_player call EFUNC(common,uniqueItems))) && {[_player, objNull, ["notOnMap", "isNotSitting", "isNotInside"]] call EFUNC(common,canInteractWith)}
};
private _displayName = format ["%1%2", getText (_vehicleCfg >> "displayName"),["","*"] select _advCorrection];
private _action = [format ['QGVAR(%1)',_index], _displayName, QPATHTOF(UI\icon_rangeTable.paa), _statement, _condition, {}, _info] call EFUNC(interact_menu,createAction);
[ace_player, 1, ["ACE_SelfActions", "ACE_Equipment"], _action] call EFUNC(interact_menu,addActionToObject);
TRACE_1("added action",_displayName);
ace_player setVariable [QGVAR(rangeTablesShown), _rangeTablesShown];
};
};
} forEach (nearestObjects [ace_player, ["LandVehicle"], 25]);

View File

@ -0,0 +1,87 @@
#include "script_component.hpp"
/*
* Author: PabstMirror
* Opens the rangetable and fills the charge listbox.
*
* Arguments:
* 0: Weapon configname <STRING>
* 1: Elevation Min (Deg) <NUMBER>
* 2: Elevation Max (Deg) <NUMBER>
* 3: Advanced Corrections Enabled <BOOL>
*
* Return Value:
* None
*
* Example:
* ["mortar_155mm_AMOS", -5, 80, true] call ace_artillerytables_fnc_rangeTableOpen
*
* Public: No
*/
params ["_weaponName", "_elevMin", "_elevMax", "_advCorrection"];
TRACE_4("rangeTableOpen",_weaponName,_elevMin,_elevMax,_advCorrection);
BEGIN_COUNTER(rangeTableOpen);
createDialog QGVAR(rangeTableDialog);
private _dialog = uiNamespace getVariable [QGVAR(rangeTableDialog), displayNull];
if (isNull _dialog) exitWith{ERROR("Dialog failed to open");};
private _ctrlChargeList = _dialog displayCtrl IDC_CHARGELIST;
_dialog setVariable [QGVAR(elevMin),_elevMin];
_dialog setVariable [QGVAR(elevMax),_elevMax];
_dialog setVariable [QGVAR(advCorrection),_advCorrection];
TRACE_2("created dialog",_dialog,_ctrlChargeList);
// Get Mags:
private _mags = [_weaponName] call CBA_fnc_compatibleMagazines;
if (_mags isEqualTo []) exitWith {WARNING_1("No Mags",_weaponName);};
private _magCfg = configFile >> "CfgMagazines";
private _magParamsArray = [];
_mags = _mags apply {
private _initSpeed = getNumber (_magCfg >> _x >> "initSpeed");
_magParamsArray pushBackUnique _initSpeed;
private _airFriction = 0;
if (_advCorrection) then {
_airFriction = if (isNumber (_magCfg >> _x >> QGVAR(airFriction))) then { getNumber (_magCfg >> _x >> QGVAR(airFriction)) } else { DEFAULT_AIR_FRICTION };
};
_magParamsArray pushBackUnique _airFriction;
[getText (_magCfg >> _x >> "displayNameShort"), getText (_magCfg >> _x >> "displayName"), _initSpeed, _airFriction]
};
TRACE_2("",_magParamsArray,_mags);
if ((count _magParamsArray) == 2) then { // test if all magazines share the parameters
_mags = [["", "All Magazines", (_mags select 0) select 2, (_mags select 0) select 3]]; // simplify
};
// Get Firemodes:
private _fireModes = getArray (configFile >> "CfgWeapons" >> _weaponName >> "modes");
_fireModes = (_fireModes apply {configFile >> "CfgWeapons" >> _weaponName >> _x}) select {1 == getNumber (_x >> "showToPlayer")};
_fireModes = _fireModes apply {[getNumber (_x >> "artilleryCharge"), configName _x]};
_fireModes sort true;
private _allSameCharge = ((count _fireModes) == 1) && {((_fireModes select 0) select 0) == 1};
TRACE_2("",_allSameCharge,_fireModes);
GVAR(magModeData) = [];
{
_x params ["_xDisplayNameShort", "_xDisplayName", "_xInitSpeed", "_xAirFriction"];
if (_allSameCharge) then {
_ctrlChargeList lbAdd format ["%1", _xDisplayNameShort];
_ctrlChargeList lbSetTooltip [count GVAR(magModeData), format ["%1\n%2 m/s\n%3", _xDisplayName, _xInitSpeed toFixed 1, _xAirFriction]];
GVAR(magModeData) pushBack [_xInitSpeed, _xAirFriction];
} else {
{
_x params ["_xModeCharge"];
_ctrlChargeList lbAdd format ["[Charge %1] %2", _forEachIndex, _xDisplayNameShort]; // forEachIndex is from firemodes
_ctrlChargeList lbSetTooltip [count GVAR(magModeData), format ["%1\n%2 m/s\n%3", _xDisplayName, (_xInitSpeed * _xModeCharge) toFixed 1, _xAirFriction]];
GVAR(magModeData) pushBack [_xInitSpeed * _xModeCharge, _xAirFriction];
} forEach _fireModes;
};
} forEach _mags;
if (isNil QGVAR(lastElevationMode)) then {GVAR(lastElevationMode) = true;};
if (isNil QGVAR(lastTablePage)) then {GVAR(lastTablePage) = 0;};
if ((GVAR(lastTablePage) >= (count GVAR(magModeData))) || {GVAR(lastTablePage) < 0}) then { GVAR(lastTablePage) = 0; };
END_COUNTER(rangeTableOpen);
TRACE_2("trigger update",GVAR(lastElevationMode),GVAR(lastTablePage));
_ctrlChargeList lbSetCurSel GVAR(lastTablePage); // triggers call to FUNC(rangeTableUpdate)

View File

@ -0,0 +1,64 @@
#include "script_component.hpp"
/*
* Author: PabstMirror
* Called when listbox selection changes. Updates the rangetable with new values.
*
* Arguments:
* 0: Elevation Mode (true = high,false=low) <BOOL><OPTIONAL>
*
* Return Value:
* None
*
* Example:
* [] call ace_artillerytables_fnc_rangeTableUpdate
*
* Public: No
*/
private _dialog = uiNamespace getVariable [QGVAR(rangeTableDialog), displayNull];
private _ctrlRangeTable = _dialog displayCtrl IDC_TABLE;
private _ctrlChargeList = _dialog displayCtrl IDC_CHARGELIST;
private _ctrlElevationHigh = _dialog displayCtrl IDC_BUTTON_ELEV_HIGH;
private _ctrlElevationLow = _dialog displayCtrl IDC_BUTTON_ELEV_LOW;
GVAR(lastElevationMode) = param [0, GVAR(lastElevationMode)]; // update if passed a new value
GVAR(lastCharge) = lbCurSel _ctrlChargeList;
// get data for currently selected mag/mode combo:
(GVAR(magModeData) select GVAR(lastCharge)) params [["_muzzleVelocity", -1], ["_airFriction", 0]];
private _elevMin = _dialog getVariable [QGVAR(elevMin), 0];
private _elevMax = _dialog getVariable [QGVAR(elevMax), 0];
_ctrlElevationHigh ctrlSetTextColor ([[0.25,0.25,0.25,1],[1,1,1,1]] select GVAR(lastElevationMode));
_ctrlElevationLow ctrlSetTextColor ([[1,1,1,1],[0.25,0.25,0.25,1]] select GVAR(lastElevationMode));
lnbClear _ctrlRangeTable;
// Call extension with current data and start workers
TRACE_5("callExtension:start",_muzzleVelocity,_airFriction,_elevMin,_elevMax,GVAR(lastElevationMode));
private _ret = "ace_artillerytables" callExtension ["start", [_muzzleVelocity,_airFriction,_elevMin,_elevMax,GVAR(lastElevationMode)]];
TRACE_1("",_ret);
// Non-blocking read data out of extension as it becomes availiable
[{
private _dialog = uiNamespace getVariable [QGVAR(rangeTableDialog), displayNull];
private _ctrlRangeTable = _dialog displayCtrl IDC_TABLE;
if (isNull _dialog) exitWith {true};
private _status = 1; // 1 = data on line, 2 - data not ready, 3 - done
while {_status == 1} do {
private _ret = ("ace_artillerytables" callExtension ["getline", []]);
// TRACE_1("callExtension:getline",_ret);
_status = _ret select 1;
if (_status == 1) then { _ctrlRangeTable lnbAddRow parseSimpleArray (_ret select 0) };
};
(_status == 3) // exit loop when all data read
}, {
// put dummy line at end because scrolling is problematic and can't see last line
private _dialog = uiNamespace getVariable [QGVAR(rangeTableDialog), displayNull];
private _ctrlRangeTable = _dialog displayCtrl IDC_TABLE;
if (isNull _dialog) exitWith {TRACE_1("dialog closed",_this);};
_ctrlRangeTable lnbAddRow ["", "", "", "", "", "", "", "", "", "", ""];
TRACE_1("table filled",_ctrlRangeTable);
}, []] call CBA_fnc_waitUntilAndExecute;

View File

@ -0,0 +1,70 @@
#include "script_component.hpp"
/*
* Author: PabstMirror
* Turret changed, determine if we are in the gunner seat of an artillery vehicle.
*
* Arguments:
* 0: Player <OBJECT>
* 1: Turret <ARRAY>
*
* Return Value:
* Nothing
*
* Example:
* [player, [0]] call ace_artillerytables_fnc_turretChanged
*
* Public: No
*/
params ["_player", "_turret"];
private _vehicle = vehicle _player;
private _typeOf = typeOf _vehicle;
private _vehicleCfg = configFile >> "CfgVehicles" >> _typeOf;
// 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 {
getNumber (_vehicleCfg >> QGVAR(showGunLaying))
} else {
getNumber (_vehicleCfg >> "artilleryScanner")
};
TRACE_4("turretChanged",_player,_typeOf,_turret,_showGunLaying);
if (GVAR(pfID) >= 0) then {
TRACE_1("removing pfEH and display",GVAR(pfID));
[GVAR(pfID)] call CBA_fnc_removePerFrameHandler;
GVAR(pfID) = -1;
if (!isNull (uiNamespace getVariable [QGVAR(display), displayNull])) then {
([QGVAR(modeDisplay)] call BIS_fnc_rscLayer) cutText ["", "PLAIN"];
};
};
if ((alive _player) && {_showGunLaying > 0} && {_player == gunner _vehicle}) then {
private _turretCfg = [_typeOf, _turret] call CBA_fnc_getTurret;
private _turretAnimBody = getText (_turretCfg >> "animationSourceBody");
private _useAltElevation = (_showGunLaying == 2); // StaticMortars need elevation calculated differently, see FUNC(turretPFEH)
// If the memory point is invalid, then the turret will always use real weapon dir (e.g. CUP BM21)
private _memoryPointGunnerOptics = getText (_turretCfg >> "memoryPointGunnerOptics");
private _invalidGunnerMem = (_vehicle selectionPosition [_memoryPointGunnerOptics, "Memory"]) isEqualTo [0,0,0];
if (_invalidGunnerMem) then { INFO_3("[%1-%2] turret's memoryPointGunnerOptics invalid [%3]",typeOf _vehicle,_turret,_memoryPointGunnerOptics); };
private _weaponsTurret = _vehicle weaponsTurret _turret;
if ((count _weaponsTurret) != 1) then { WARNING_2("not singular weapon in turret - %1 - %2",_typeOf,_turret); };
private _weapon = _weaponsTurret param [0, ""];
private _fireModes = getArray (configFile >> "CfgWeapons" >> _weapon >> "modes");
_fireModes = (_fireModes apply {configFile >> "CfgWeapons" >> _weapon >> _x}) select {1 == getNumber (_x >> "showToPlayer")};
_fireModes = _fireModes apply {[getNumber (_x >> "artilleryCharge"), configName _x]};
_fireModes sort true;
_fireModes = _fireModes apply {_x select 1};
GVAR(pfID) = [LINKFUNC(turretPFEH), 0, [_vehicle, _turret, _fireModes, _useAltElevation, _turretAnimBody, _invalidGunnerMem]] call CBA_fnc_addPerFrameHandler;
TRACE_4("added pfEH",GVAR(pfID),_useAltElevation,_turretAnimBody,_invalidGunnerMem);
#ifdef DEBUG_MODE_FULL
private _ballisticsComputer = getNumber (configFile >> "CfgWeapons" >> _weapon >> "ballisticsComputer");
private _elevationMode = getNumber (_turretCfg >> "elevationMode");
private _discreteDistance = getArray (_turretCfg >> "discreteDistance");
TRACE_4("",_weapon,_ballisticsComputer,_elevationMode,_discreteDistance);
#endif
};

View File

@ -0,0 +1,92 @@
#include "script_component.hpp"
/*
* Author: PabstMirror
* Shows real azimuth and elevation on hud
*
* Arguments:
* 0: PFEH Args <ARRAY>
*
* Return Value:
* Nothing
*
* Example:
* [[...]] call ace_artillerytables_fnc_turretPFEH
*
* Public: No
*/
(_this select 0) params ["_vehicle", "_turret", "_fireModes", "_useAltElevation", "_turretAnimBody", "_invalidGunnerMem"];
if (shownArtilleryComputer && {GVAR(disableArtilleryComputer)}) then {
// Still Don't like this solution, but it works
closeDialog 0;
[localize LSTRING(disableArtilleryComputer_displayName)] call EFUNC(common,displayTextStructured);
};
// Restart display if null (not just at start, this will happen periodicly)
if (isNull (uiNamespace getVariable [QGVAR(display), displayNull])) then {
TRACE_1("creating display",_this);
([QGVAR(modeDisplay)] call BIS_fnc_rscLayer) cutRsc [QGVAR(modeDisplay), "PLAIN", 1, false];
};
private _ctrlGroup = (uiNamespace getVariable [QGVAR(display), displayNull]) displayCtrl 1000;
if (cameraView != "GUNNER") exitWith { // need to be in gunner mode, so we can check where the optics are aiming at
_ctrlGroup ctrlShow false;
};
_ctrlGroup ctrlShow true;
BEGIN_COUNTER(pfeh);
private _currentFireMode = (weaponState [_vehicle, _turret]) select 2;
private _currentChargeMode = _fireModes find _currentFireMode;
private _lookVector = (AGLtoASL (positionCameraToWorld [0,0,0])) vectorFromTo (AGLtoASL (positionCameraToWorld [0,0,1]));
private _weaponDir = _vehicle weaponDirection (currentWeapon _vehicle);
// Calc real azimuth/elevation
// (looking at the sky VS looking at ground will radicaly change fire direction because BIS)
private _display = uiNamespace getVariable ["ACE_dlgArtillery", displayNull];
private _useRealWeaponDir = if ((isNull (_display displayCtrl 173)) || {(_vehicle ammo (currentWeapon _vehicle)) == 0}) then {
// With no ammo, distance display will be empty, but gun will still fire at wonky angle if aimed at ground
private _testSeekerPosASL = AGLtoASL (positionCameraToWorld [0,0,0]);
private _testPoint = _testSeekerPosASL vectorAdd (_lookVector vectorMultiply viewDistance);
!((terrainIntersectASL [_testSeekerPosASL, _testPoint]) || {lineIntersects [_testSeekerPosASL, _testPoint, _vehicle]});
} else {
((ctrlText (_display displayCtrl 173)) == "--")
};
private _realElevation = asin (_weaponDir select 2);
private _realAzimuth = 0;
if (_useRealWeaponDir || _invalidGunnerMem) then {
// No range (looking at sky), it will follow weaponDir:
_realAzimuth = (_weaponDir select 0) atan2 (_weaponDir select 1)
} else {
// Valid range, will fire at camera dir
// Azimuth will still be look dir EVEN IF elevation has flipped over 90! (on steep hills)
_realAzimuth = ((_lookVector select 0) atan2 (_lookVector select 1));
if (_useAltElevation) then {
// Some small mortars have odd launch angles (I think due to the addition of neutral elevation constant with the manual elevation)
// This gets very close, (should be less than 0.5deg deviation on a 20deg slope)
private _currentTraverseRad = _vehicle animationSourcePhase _turretAnimBody;
if (isNil "_currentTraverseRad") then { _currentTraverseRad = _vehicle animationPhase _turretAnimBody; };
// Get turret roatation around it's z axis, then calc weapon elev in it's projection
private _turretRot = [vectorDir _vehicle, vectorUp _vehicle, deg _currentTraverseRad] call CBA_fnc_vectRotate3D;
_realElevation = (acos ((_turretRot vectorCos _weaponDir) min 1)) + ((_turretRot call CBA_fnc_vect2polar) select 2);
if (_realElevation > 90) then { _realElevation = 180 - _realElevation; }; // does not flip azimuth!
};
};
if (_realAzimuth < 0) then { _realAzimuth = _realAzimuth + 360; }; // mils will be 0-6400
private _ctrlCharge = (uiNamespace getVariable [QGVAR(display), displayNull]) displayCtrl IDC_CHARGE;
private _ctrlAzimuth = (uiNamespace getVariable [QGVAR(display), displayNull]) displayCtrl IDC_AZIMUTH;
private _ctrlElevation = (uiNamespace getVariable [QGVAR(display), displayNull]) displayCtrl IDC_ELEVATION;
_ctrlAzimuth ctrlSetText Format ["AZ: %1", [DEGTOMILS * _realAzimuth, 4, 0] call CBA_fnc_formatNumber];
_ctrlElevation ctrlSetText Format ["EL: %1", [DEGTOMILS * _realElevation, 4, 0] call CBA_fnc_formatNumber];
_ctrlCharge ctrlSetText format ["CH: %1", _currentChargeMode];
// avalible for other addons (mk6)
GVAR(predictedAzimuth) = _realAzimuth;
GVAR(predictedElevation) = _realElevation;
END_COUNTER(pfeh);

View File

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

View File

@ -0,0 +1,23 @@
// CBA Settings [ADDON: ace_artillerytables]:
private _categoryName = format ["ACE %1", localize "str_a3_cfgmarkers_nato_art"];
[
QGVAR(advancedCorrections), "CHECKBOX",
[LSTRING(advancedCorrections_displayName), LSTRING(advancedCorrections_description)],
[_categoryName, QUOTE(COMPONENT_BEAUTIFIED)],
false, // default value
true, // isGlobal
{[QGVAR(advancedCorrections), _this] call EFUNC(common,cbaSettings_settingChanged)},
true // Needs mission restart
] call CBA_settings_fnc_init;
[
QGVAR(disableArtilleryComputer), "CHECKBOX",
[LSTRING(disableArtilleryComputer_displayName), LSTRING(disableArtilleryComputer_description)],
[_categoryName, QUOTE(COMPONENT_BEAUTIFIED)],
false, // default value
true, // isGlobal
{[QGVAR(disableArtilleryComputer), _this] call EFUNC(common,cbaSettings_settingChanged)},
false // Needs mission restart
] call CBA_settings_fnc_init;

View File

@ -0,0 +1,25 @@
#define COMPONENT artillerytables
#define COMPONENT_BEAUTIFIED ArtilleryTables
#include "\z\ace\addons\main\script_mod.hpp"
// #define DEBUG_MODE_FULL
// #define DISABLE_COMPILE_CACHE
// #define ENABLE_PERFORMANCE_COUNTERS
#include "\z\ace\addons\main\script_macros.hpp"
// This is a good fit for most large artillery, but a little low for lighter mortars
#define DEFAULT_AIR_FRICTION -0.00006
#define DEGTOMILS 17.7777778
#define IDC_MODECONTROLGROUP 1000
#define IDC_CHARGE 1001
#define IDC_AZIMUTH 1002
#define IDC_ELEVATION 1003
#define IDC_TABLE 2001
#define IDC_CHARGELIST 2002
#define IDC_BUTTON_ELEV_HIGH 2003
#define IDC_BUTTON_ELEV_LOW 2004

View File

@ -0,0 +1,57 @@
<?xml version="1.0" encoding="utf-8"?>
<Project name="ACE">
<Package name="ArtilleryTables">
<Key ID="STR_ACE_ArtilleryTables_rangetable_displayName">
<English>Artillery Rangetable</English>
<Chinese>火炮射程表</Chinese>
<Japanese>火砲射程</Japanese>
</Key>
<Key ID="STR_ACE_ArtilleryTables_rangetable_description">
<English>Universal Artillery Rangetable</English>
<Chinese>通用的火炮射程表</Chinese>
<Japanese>汎用の火砲用射程表</Japanese>
</Key>
<Key ID="STR_ACE_ArtilleryTables_advancedCorrections_displayName">
<English>Air Resistance</English>
<Polish>Opór powietrza</Polish>
<Spanish>Resistencia al aire</Spanish>
<German>Luftwiderstand</German>
<Czech>Odpor vzduchu</Czech>
<Portuguese>Resistência do Ar</Portuguese>
<French>Résistance de l'air</French>
<Hungarian>Légellenállás</Hungarian>
<Russian>Сопротивление воздуха</Russian>
<Italian>Resistenza dell'Aria</Italian>
<Japanese>空気抵抗</Japanese>
<Korean>공기저항</Korean>
<Chinesesimp>空气阻力</Chinesesimp>
<Chinese>空氣阻力</Chinese>
</Key>
<Key ID="STR_ACE_ArtilleryTables_advancedCorrections_description">
<English>For Player Shots, Model Air Resistance and Wind Effects</English>
<Polish>Modeluj opór powietrza oraz wpływ wiatru na tor lotu pocisku dla strzałów z moździerza Mk6 przez graczy</Polish>
<Spanish>Para disparos del jugador, modelo de resistencia al aire y efectos de viento</Spanish>
<German>Für Spielerschüsse, Luftwiderstand und Windeffekte</German>
<Czech>Pro hráčovu střelbu, Model odporu vzduchu a povětrných podmínek</Czech>
<Portuguese>Para disparos do jogador, modelo de resistência de ar e efeitos de vento</Portuguese>
<French>Pour les tirs de joueurs, modèle de résistance à l'air et d'effet du vent</French>
<Hungarian>Játékos általi lövésekhez, legyen-e számított légellenállás és szélhatás</Hungarian>
<Russian>Для выстрелов игрока. Моделирует сопротивление воздуха и эффект ветра</Russian>
<Italian>Per Proiettili dei Giocatori, simula la Resistenza dell'Aria e gli Effetti del Vento</Italian>
<Japanese>プレイヤが射撃すると、空気抵抗モデルと風による影響を与えます。</Japanese>
<Korean>플레이어 사격시 공기저항과 바람에 영향을 받습니다</Korean>
<Chinesesimp>设定由玩家射击的迫击炮,将会受到空气阻力与风力的影响</Chinesesimp>
<Chinese>設定由玩家射擊的迫擊砲,將會受到空氣阻力與風力的影響</Chinese>
</Key>
<Key ID="STR_ACE_ArtilleryTables_disableArtilleryComputer_displayName">
<English>Artillery Computer Disabled</English>
<Chinese>停用火炮電腦</Chinese>
<Japanese>砲撃コンピュータ無効化</Japanese>
</Key>
<Key ID="STR_ACE_ArtilleryTables_disableArtilleryComputer_description">
<English>Disable the vanilla artillery computers</English>
<Chinese>停用原本的火炮控制電腦</Chinese>
<Japanese>ゲームの砲撃コンピュータを無効化します。</Japanese>
</Key>
</Package>
</Project>

View File

@ -63,7 +63,7 @@ if (_resetGunList) then {
["7.62x51mm M993" , 912, 100, 0.0803840, -0.00109390, 7.62, 0, 2, 10, 120, 0, 0, 8.230, 7.82, 25.40, 0.359, 1, "ICAO", [[-15,893],[0,900],[10,907],[15,912],[25,926],[30,935],[35,946]] , [[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]], true], ["7.62x51mm M993" , 912, 100, 0.0803840, -0.00109390, 7.62, 0, 2, 10, 120, 0, 0, 8.230, 7.82, 25.40, 0.359, 1, "ICAO", [[-15,893],[0,900],[10,907],[15,912],[25,926],[30,935],[35,946]] , [[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]], true],
["7.62x51mm Subsonic", 314, 100, 0.3344490, -0.00060194, 6.86, 0, 2, 10, 120, 0, 0, 12.96, 7.82, 25.40, 0.502, 1, "ICAO", [[-15,312],[0,313],[10,314],[15,314],[25,316],[30,317],[35,318]] , [[0, 0.303], [250, 0.409], [320, 0.427], [420, 0.445], [550, 0.460], [650, 0.467], [730, 0.470]], true], ["7.62x51mm Subsonic", 314, 100, 0.3344490, -0.00060194, 6.86, 0, 2, 10, 120, 0, 0, 12.96, 7.82, 25.40, 0.502, 1, "ICAO", [[-15,312],[0,313],[10,314],[15,314],[25,316],[30,317],[35,318]] , [[0, 0.303], [250, 0.409], [320, 0.427], [420, 0.445], [550, 0.460], [650, 0.467], [730, 0.470]], true],
["7.62x39mm" , 708, 100, 0.1066160, -0.00154815, 7.62, 0, 2, 10, 120, 0, 0, 7.970, 7.82, 25.40, 0.275, 1, "ICAO", [[-15,689],[0,696],[10,703],[15,708],[25,722],[30,731],[35,742]] , [[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]], true], ["7.62x39mm" , 715, 100, 0.104782, -0.00154815, 7.62, 0, 2, 10, 120, 0, 0, 7.970, 7.92, 24.00, 0.275, 1, "ICAO", [[-15,696],[0,703],[10,710],[15,715],[25,729],[30,738],[35,749]] , [[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]], true],
["6.5x39mm" , 766, 100, 0.0872025, -0.00077363, 6.35, 0, 2, 10, 120, 0, 0, 7.970, 6.71, 22.86, 0.524, 1, "ICAO", [[-15,747],[0,754],[10,761],[15,766],[25,780],[30,789],[35,800]] , [[0, 0.525], [910, 0.520], [1050, 0.515], [1270, 0.506], [1390, 0.503], [1570, 0.500], [1770, 0.498]], true], ["6.5x39mm" , 766, 100, 0.0872025, -0.00077363, 6.35, 0, 2, 10, 120, 0, 0, 7.970, 6.71, 22.86, 0.524, 1, "ICAO", [[-15,747],[0,754],[10,761],[15,766],[25,780],[30,789],[35,800]] , [[0, 0.525], [910, 0.520], [1050, 0.515], [1270, 0.506], [1390, 0.503], [1570, 0.500], [1770, 0.498]], true],
["6.5x47mm Lapua" , 767, 100, 0.0868248, -0.00069003, 6.35, 0, 2, 10, 120, 0, 0, 9.007, 6.71, 22.86, 0.577, 1, "ICAO", [[-15,748],[0,755],[10,762],[15,767],[25,781],[30,790],[35,801]] , [[0, 0.578], [970, 0.574], [1140, 0.569], [1430, 0.557], [1610, 0.553], [1750, 0.551], [1860, 0.550]], true], ["6.5x47mm Lapua" , 767, 100, 0.0868248, -0.00069003, 6.35, 0, 2, 10, 120, 0, 0, 9.007, 6.71, 22.86, 0.577, 1, "ICAO", [[-15,748],[0,755],[10,762],[15,767],[25,781],[30,790],[35,801]] , [[0, 0.578], [970, 0.574], [1140, 0.569], [1430, 0.557], [1610, 0.553], [1750, 0.551], [1860, 0.550]], true],
@ -76,7 +76,7 @@ if (_resetGunList) then {
["5.56x45mm Mk318" , 872, 100, 0.0814490, -0.00125880, 7.11, 0, 2, 10, 120, 0, 0, 4.018, 5.70, 17.78, 0.307, 1, "ASM" , [[-15,853],[0,860],[10,867],[15,872],[25,886],[30,895],[35,906]] , [[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]], true], ["5.56x45mm Mk318" , 872, 100, 0.0814490, -0.00125880, 7.11, 0, 2, 10, 120, 0, 0, 4.018, 5.70, 17.78, 0.307, 1, "ASM" , [[-15,853],[0,860],[10,867],[15,872],[25,886],[30,895],[35,906]] , [[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]], true],
["5.56x45mm M995" , 861, 100, 0.0825279, -0.00126182, 7.11, 0, 2, 10, 120, 0, 0, 4.536, 5.70, 17.78, 0.310, 1, "ASM" , [[-15,842],[0,849],[10,856],[15,861],[25,875],[30,884],[35,895]] , [[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]], true], ["5.56x45mm M995" , 861, 100, 0.0825279, -0.00126182, 7.11, 0, 2, 10, 120, 0, 0, 4.536, 5.70, 17.78, 0.310, 1, "ASM" , [[-15,842],[0,849],[10,856],[15,861],[25,875],[30,884],[35,895]] , [[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]], true],
["5.45x39mm 7N6M" , 727, 100, 0.0802286, -0.00119458, 3.81, 0, 2, 10, 120, 0, 0, 3.428, 5.59, 16.00, 0.336, 1, "ICAO", [[-15,708],[0,715],[10,722],[15,727],[25,741],[30,750],[35,761]], [[0, 0.339], [730, 0.331], [960, 0.323], [1100, 0.321], [1220, 0.320], [1380, 0.320], [1480, 0.320]], true]]; ["5.45x39mm 7N6M" , 735, 100, 0.0784916, -0.00119458, 3.81, 0, 2, 10, 120, 0, 0, 3.43, 5.6, 16.00, 0.336, 1, "ICAO", [[-15,716],[0,723],[10,730],[15,735],[25,749],[30,758],[35,769]], [[0, 0.339], [730, 0.331], [960, 0.323], [1100, 0.321], [1220, 0.320], [1380, 0.320], [1480, 0.320]], true]];
[] call FUNC(clear_user_data); [] call FUNC(clear_user_data);
profileNamespace setVariable ["ACE_ATragMX_gunList", GVAR(gunList)]; profileNamespace setVariable ["ACE_ATragMX_gunList", GVAR(gunList)];

View File

@ -74,7 +74,7 @@ if (_unit == _attachToVehicle) then { //Self Attachment
_virtualPosASL = _virtualPosASL vectorAdd ((positionCameraToWorld [0.3,0,0]) vectorDiff (positionCameraToWorld [0,0,0])); _virtualPosASL = _virtualPosASL vectorAdd ((positionCameraToWorld [0.3,0,0]) vectorDiff (positionCameraToWorld [0,0,0]));
}; };
private _virtualPos = _virtualPosASL call EFUNC(common,ASLToPosition); private _virtualPos = _virtualPosASL call EFUNC(common,ASLToPosition);
private _lineInterection = lineIntersects [eyePos ACE_player, _virtualPosASL, ACE_player]; private _lineInterection = !((lineIntersectsSurfaces [eyePos ACE_player, _virtualPosASL, ACE_player]) isEqualTo []);
//Don't allow placing in a bad position: //Don't allow placing in a bad position:
if (_lineInterection && {GVAR(placeAction) == PLACE_APPROVE}) then {GVAR(placeAction) = PLACE_WAITING;}; if (_lineInterection && {GVAR(placeAction) == PLACE_APPROVE}) then {GVAR(placeAction) = PLACE_WAITING;};

View File

@ -3,7 +3,7 @@
* Author: Pabst Mirror (based on Explosive attach by Garth de Wet (LH)) * Author: Pabst Mirror (based on Explosive attach by Garth de Wet (LH))
* Approves placement of the lightObject, scans for an appropriate location and attaches * Approves placement of the lightObject, scans for an appropriate location and attaches
* A player can release the attachObject with it floating in mid-air. * A player can release the attachObject with it floating in mid-air.
* This will use lineIntersectsWith to scan towards the center of the vehicle to find a collision * This will use lineIntersectsSurfaces to scan towards the center of the vehicle to find a collision
* ArmA's collision detection is of couse terrible and often misses collisions (difference between what we see and collision LOD) * ArmA's collision detection is of couse terrible and often misses collisions (difference between what we see and collision LOD)
* So it does multiple scans at slighly different angles * So it does multiple scans at slighly different angles
* This is VERY computationaly intensive, but doesn't happen that often. * This is VERY computationaly intensive, but doesn't happen that often.

View File

@ -40,7 +40,7 @@
<Polish>Odczep przedmiot</Polish> <Polish>Odczep przedmiot</Polish>
<French>Détacher l'objet</French> <French>Détacher l'objet</French>
<Czech>Odepnout předmět</Czech> <Czech>Odepnout předmět</Czech>
<Portuguese>Separar item</Portuguese> <Portuguese>Desprender item</Portuguese>
<Italian>Stacca l'oggetto</Italian> <Italian>Stacca l'oggetto</Italian>
<Hungarian>Tárgy lecsatolása</Hungarian> <Hungarian>Tárgy lecsatolása</Hungarian>
<Russian>Отсоединить</Russian> <Russian>Отсоединить</Russian>
@ -200,7 +200,7 @@
<Polish>Umieść</Polish> <Polish>Umieść</Polish>
<French>Placer</French> <French>Placer</French>
<Czech>Položit</Czech> <Czech>Položit</Czech>
<Portuguese>Colocar</Portuguese> <Portuguese>Fixar</Portuguese>
<Italian>Posiziona</Italian> <Italian>Posiziona</Italian>
<Hungarian>Elhelyez</Hungarian> <Hungarian>Elhelyez</Hungarian>
<Russian>Установить</Russian> <Russian>Установить</Russian>

View File

@ -6,6 +6,114 @@ class CfgAmmo {
timeToLive=6; timeToLive=6;
}; };
class ShotgunBase;
class B_12Gauge_Pellets_Submunition: BulletBase { //#00 Buckshot
//vanilla values have been left as comments for reference purposes
caliber = 0.525; //penetration of ~3mm RHA, ~9.6mm metal
//caliber = 1; //too high, ~5.7mm of RHA (380*1*15/1000=5.7), ~18.25 metal
//cost = 1;
//hit = 20;
//simulationStep = 0.0001;
//cartridge = "";
//submunitionAmmo = "B_12Gauge_Pellets_Submunition_Deploy";
submunitionConeType[] = {"poissondisc", 9}; //#00 Buckshot generally has 9 pellets per shell
//submunitionConeType[] = {"poissondisc", 18};
//submunitionConeAngle = 0.8;
//triggerSpeedCoef[] = {0.85, 1};
triggerTime = 0.008; // Shot takes ~5-15 feet to start spreading out and the vanilla triggerTime is too short to allow that
//triggerTime = 0.001;
};
class B_12Gauge_Pellets_Submunition_Deploy: BulletBase {
airFriction = -0.0030;
//airFriction = -0.0067;
caliber = 0.525;
hit = 2.55; //vanilla hit is way too high
//hit = 6;
//indirectHit = 0;
//indirectHitRange = 0;
//typicalSpeed = 360;
//deflecting = 35;
};
class B_12Gauge_Pellets: ShotgunBase { //This doesn't seem to be used for anything, but I want to standardize the caliber with the other pellet classes.
caliber = 0.525; //3mm RHA, probably still too high though as RHA is hardened.
};
class ACE_12Gauge_Pellets_Submunition_No0_Buck: B_12Gauge_Pellets_Submunition {
caliber = 0.5;
submunitionAmmo = "ACE_12Gauge_Pellets_Submunition_No0_Buck_Deploy";
submunitionConeType[] = {"poissondisc", 9};
submunitionConeAngle = 0.81;
};
class ACE_12Gauge_Pellets_Submunition_No0_Buck_Deploy: B_12Gauge_Pellets_Submunition_Deploy {
airFriction = -0.0033;
caliber = 0.5;
hit = 2.27;
};
class ACE_12Gauge_Pellets_Submunition_No1_Buck: B_12Gauge_Pellets_Submunition {
caliber = 0.475;
submunitionAmmo = "ACE_12Gauge_Pellets_Submunition_No1_Buck_Deploy";
submunitionConeType[] = {"poissondisc", 11};
submunitionConeAngle = 0.83;
};
class ACE_12Gauge_Pellets_Submunition_No1_Buck_Deploy: B_12Gauge_Pellets_Submunition_Deploy {
airFriction = -0.0038;
caliber = 0.475;
hit = 1.86;
};
class ACE_12Gauge_Pellets_Submunition_No2_Buck: B_12Gauge_Pellets_Submunition {
caliber = 0.45;
submunitionAmmo = "ACE_12Gauge_Pellets_Submunition_No2_Buck_Deploy";
submunitionConeType[] = {"poissondisc", 14};
submunitionConeAngle = 0.85;
};
class ACE_12Gauge_Pellets_Submunition_No2_Buck_Deploy: B_12Gauge_Pellets_Submunition_Deploy {
airFriction = -0.0048;
caliber = 0.45;
hit = 1.46;
};
class ACE_12Gauge_Pellets_Submunition_No3_Buck: B_12Gauge_Pellets_Submunition {
caliber = 0.425;
submunitionAmmo = "ACE_12Gauge_Pellets_Submunition_No3_Buck_Deploy";
submunitionConeType[] = {"poissondisc", 18};
submunitionConeAngle = 0.87;
};
class ACE_12Gauge_Pellets_Submunition_No3_Buck_Deploy: B_12Gauge_Pellets_Submunition_Deploy {
airFriction = -0.0067;
caliber = 0.425;
hit = 1.13;
};
class ACE_12Gauge_Pellets_Submunition_No4_Buck: B_12Gauge_Pellets_Submunition {
caliber = 0.4;
submunitionAmmo = "ACE_12Gauge_Pellets_Submunition_No4_Buck_Deploy";
submunitionConeType[] = {"poissondisc", 21};
submunitionConeAngle = 0.89;
};
class ACE_12Gauge_Pellets_Submunition_No4_Buck_Deploy: B_12Gauge_Pellets_Submunition_Deploy {
airFriction = -0.0085;
caliber = 0.4;
hit = 0.97;
};
class ACE_12Gauge_Pellets_Submunition_No4_Bird: B_12Gauge_Pellets_Submunition {
caliber = 0.2;
hit = 3;
submunitionAmmo = "ACE_12Gauge_Pellets_Submunition_No4_Bird_Deploy";
submunitionConeType[] = {"poissondisc", 135};
submunitionConeAngle = 1.1;
triggerSpeedCoef[] = {0.8, 1};
};
class ACE_12Gauge_Pellets_Submunition_No4_Bird_Deploy: B_12Gauge_Pellets_Submunition_Deploy {
caliber = 0.2;
airFriction = -0.0800;
hit = 0.15;
};
class B_12Gauge_Slug: BulletBase {
//caliber = 3; //too high, ~20mm of RHA (450*3*15/1000=20), ~64mm metal
caliber = 1.037; //~7mm RHA, ~22.4mm metal, probably still too high though as RHA is hardened.
};
class B_556x45_Ball : BulletBase { class B_556x45_Ball : BulletBase {
airFriction=-0.00130094; airFriction=-0.00130094;
tracerScale = 1; tracerScale = 1;
@ -68,17 +176,17 @@ class CfgAmmo {
nvgOnly = 1; nvgOnly = 1;
}; };
class B_545x39_Ball_F: BulletBase { class B_545x39_Ball_F: BulletBase {
airFriction=-0.00119458; airFriction = -0.001195;
ACE_caliber=5.588; ACE_caliber = 5.6; // https://bobp.cip-bobp.org/uploads/tdcc/tab-i/5-45-x-39-en.pdf
ACE_bulletLength = 21.59; ACE_bulletLength = 21.59;
ACE_bulletMass=3.42792; ACE_bulletMass = 3.43;
ACE_ammoTempMuzzleVelocityShifts[] = {-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ammoTempMuzzleVelocityShifts[] = {-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[] = {0.168}; ACE_ballisticCoefficients[] = {0.168};
ACE_velocityBoundaries[] = {}; ACE_velocityBoundaries[] = {};
ACE_standardAtmosphere = "ICAO"; ACE_standardAtmosphere = "ICAO";
ACE_dragModel = 7; ACE_dragModel = 7;
ACE_muzzleVelocities[]={735, 883, 892}; ACE_muzzleVelocities[] = {743, 848, 891, 900}; // at 21°C, at 15°C {735, 840, 883, 892} according with the AKS initSpeed
ACE_barrelLengths[]={206.5, 414.02, 508.0}; ACE_barrelLengths[] = {210, 314, 415, 508.0}; // respectively {AKS74U / AK105,AK12K / AK74 / default}
}; };
class B_56x15_dual: BulletBase { class B_56x15_dual: BulletBase {
tracerScale = 0.5; tracerScale = 0.5;
@ -338,17 +446,17 @@ class CfgAmmo {
ACE_barrelLengths[]={406.4, 508.0, 604.5, 736.6}; ACE_barrelLengths[]={406.4, 508.0, 604.5, 736.6};
}; };
class B_762x39_Ball_F: BulletBase { class B_762x39_Ball_F: BulletBase {
airFriction=-0.00154815; airFriction = -0.001548;
ACE_caliber=7.823; ACE_caliber = 7.92; // https://bobp.cip-bobp.org/uploads/tdcc/tab-i/7-62-x-39-en.pdf
ACE_bulletLength = 28.956; ACE_bulletLength = 28.956;
ACE_bulletMass=7.9704; ACE_bulletMass = 7.97;
ACE_ammoTempMuzzleVelocityShifts[] = {-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19}; ACE_ammoTempMuzzleVelocityShifts[] = {-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[] = {0.275}; ACE_ballisticCoefficients[] = {0.275};
ACE_velocityBoundaries[] = {}; ACE_velocityBoundaries[] = {};
ACE_standardAtmosphere = "ICAO"; ACE_standardAtmosphere = "ICAO";
ACE_dragModel = 1; ACE_dragModel = 1;
ACE_muzzleVelocities[]={650, 716, 750}; ACE_muzzleVelocities[] = {658, 678, 723, 743, 753}; // at 21°C, at 15°C {650, 670, 715, 735, 745} according with the AKM,AK12,AK12U,RPK initSpeed
ACE_barrelLengths[]={254.0, 414.02, 508.0}; ACE_barrelLengths[] = {254, 314, 415, 520, 590}; // respectively {default / AK104,AK15K / AK47,AKM,AK103,AK15 / SKS / RPK}
}; };
class B_9x21_Ball : BulletBase { class B_9x21_Ball : BulletBase {
airFriction=-0.00211064; airFriction=-0.00211064;

View File

@ -1,5 +1,38 @@
class CfgMagazineWells { class CfgMagazineWells {
class CBA_12g_2rnds {
ADDON[] = {
"ACE_2Rnd_12Gauge_Pellets_No0_Buck",
"ACE_2Rnd_12Gauge_Pellets_No1_Buck",
"ACE_2Rnd_12Gauge_Pellets_No2_Buck",
"ACE_2Rnd_12Gauge_Pellets_No3_Buck",
"ACE_2Rnd_12Gauge_Pellets_No4_Buck",
"ACE_2Rnd_12Gauge_Pellets_No4_Bird"
};
};
class HunterShotgun_01_12GA { //Vanilla magwell
ADDON[] = {
"ACE_2Rnd_12Gauge_Pellets_No0_Buck",
"ACE_2Rnd_12Gauge_Pellets_No1_Buck",
"ACE_2Rnd_12Gauge_Pellets_No2_Buck",
"ACE_2Rnd_12Gauge_Pellets_No3_Buck",
"ACE_2Rnd_12Gauge_Pellets_No4_Buck",
"ACE_2Rnd_12Gauge_Pellets_No4_Bird"
};
};
class UBS_12GA { //Vanilla magwell
ADDON[] = {
"ACE_6Rnd_12Gauge_Pellets_No0_Buck",
"ACE_6Rnd_12Gauge_Pellets_No1_Buck",
"ACE_6Rnd_12Gauge_Pellets_No2_Buck",
"ACE_6Rnd_12Gauge_Pellets_No3_Buck",
"ACE_6Rnd_12Gauge_Pellets_No4_Buck",
"ACE_6Rnd_12Gauge_Pellets_No4_Bird"
};
};
class CBA_65x39_MX { class CBA_65x39_MX {
ADDON[] = { ADDON[] = {
"ACE_30Rnd_65x39_caseless_mag_Tracer_Dim", "ACE_30Rnd_65x39_caseless_mag_Tracer_Dim",

View File

@ -4,6 +4,98 @@ class CfgMagazines {
class CA_Magazine; class CA_Magazine;
class VehicleMagazine; class VehicleMagazine;
class 2Rnd_12Gauge_Pellets: CA_Magazine {
displayName = CSTRING(2Rnd_12Gauge_Pellets_No00_Buck_Name);
displayNameShort = CSTRING(12Gauge_Pellets_No00_Buck_NameShort);
descriptionShort = CSTRING(12Gauge_Pellets_No00_Buck_Description);
};
class ACE_2Rnd_12Gauge_Pellets_No0_Buck: 2Rnd_12Gauge_Pellets {
author = ECSTRING(common,ACETeam);
displayName = CSTRING(2Rnd_12Gauge_Pellets_No0_Buck_Name);
displayNameShort = CSTRING(12Gauge_Pellets_No0_Buck_NameShort);
descriptionShort = CSTRING(12Gauge_Pellets_No0_Buck_Description);
ammo = "ACE_12Gauge_Pellets_Submunition_No0_Buck";
};
class ACE_2Rnd_12Gauge_Pellets_No1_Buck: ACE_2Rnd_12Gauge_Pellets_No0_Buck {
displayName = CSTRING(2Rnd_12Gauge_Pellets_No1_Buck_Name);
displayNameShort = CSTRING(12Gauge_Pellets_No1_Buck_NameShort);
descriptionShort = CSTRING(12Gauge_Pellets_No1_Buck_Description);
ammo = "ACE_12Gauge_Pellets_Submunition_No1_Buck";
};
class ACE_2Rnd_12Gauge_Pellets_No2_Buck: ACE_2Rnd_12Gauge_Pellets_No0_Buck {
displayName = CSTRING(2Rnd_12Gauge_Pellets_No2_Buck_Name);
displayNameShort = CSTRING(12Gauge_Pellets_No2_Buck_NameShort);
descriptionShort = CSTRING(12Gauge_Pellets_No2_Buck_Description);
ammo = "ACE_12Gauge_Pellets_Submunition_No2_Buck";
};
class ACE_2Rnd_12Gauge_Pellets_No3_Buck: ACE_2Rnd_12Gauge_Pellets_No0_Buck {
displayName = CSTRING(2Rnd_12Gauge_Pellets_No3_Buck_Name);
displayNameShort = CSTRING(12Gauge_Pellets_No3_Buck_NameShort);
descriptionShort = CSTRING(12Gauge_Pellets_No3_Buck_Description);
ammo = "ACE_12Gauge_Pellets_Submunition_No3_Buck";
};
class ACE_2Rnd_12Gauge_Pellets_No4_Buck: ACE_2Rnd_12Gauge_Pellets_No0_Buck {
displayName = CSTRING(2Rnd_12Gauge_Pellets_No4_Buck_Name);
displayNameShort = CSTRING(12Gauge_Pellets_No4_Buck_NameShort);
descriptionShort = CSTRING(12Gauge_Pellets_No4_Buck_Description);
ammo = "ACE_12Gauge_Pellets_Submunition_No4_Buck";
};
class ACE_2Rnd_12Gauge_Pellets_No4_Bird: ACE_2Rnd_12Gauge_Pellets_No0_Buck {
displayName = CSTRING(2Rnd_12Gauge_Pellets_No4_Bird_Name);
displayNameShort = CSTRING(12Gauge_Pellets_No4_Bird_NameShort);
descriptionShort = CSTRING(12Gauge_Pellets_No4_Bird_Description);
ammo = "ACE_12Gauge_Pellets_Submunition_No4_Bird";
};
class 6Rnd_12Gauge_Pellets: 2Rnd_12Gauge_Pellets {
displayName = CSTRING(6Rnd_12Gauge_Pellets_No00_Buck_Name);
displayNameShort = CSTRING(12Gauge_Pellets_No00_Buck_NameShort);
descriptionShort = CSTRING(12Gauge_Pellets_No00_Buck_Description);
};
class ACE_6Rnd_12Gauge_Pellets_No0_Buck: 6Rnd_12Gauge_Pellets {
author = ECSTRING(common,ACETeam);
displayName = CSTRING(6Rnd_12Gauge_Pellets_No0_Buck_Name);
displayNameShort = CSTRING(12Gauge_Pellets_No0_Buck_NameShort);
descriptionShort = CSTRING(12Gauge_Pellets_No0_Buck_Description);
ammo = "ACE_12Gauge_Pellets_Submunition_No0_Buck";
};
class ACE_6Rnd_12Gauge_Pellets_No1_Buck: ACE_6Rnd_12Gauge_Pellets_No0_Buck {
displayName = CSTRING(6Rnd_12Gauge_Pellets_No1_Buck_Name);
displayNameShort = CSTRING(12Gauge_Pellets_No1_Buck_NameShort);
descriptionShort = CSTRING(12Gauge_Pellets_No1_Buck_Description);
ammo = "ACE_12Gauge_Pellets_Submunition_No1_Buck";
};
class ACE_6Rnd_12Gauge_Pellets_No2_Buck: ACE_6Rnd_12Gauge_Pellets_No0_Buck {
displayName = CSTRING(6Rnd_12Gauge_Pellets_No2_Buck_Name);
displayNameShort = CSTRING(12Gauge_Pellets_No2_Buck_NameShort);
descriptionShort = CSTRING(12Gauge_Pellets_No2_Buck_Description);
ammo = "ACE_12Gauge_Pellets_Submunition_No2_Buck";
};
class ACE_6Rnd_12Gauge_Pellets_No3_Buck: ACE_6Rnd_12Gauge_Pellets_No0_Buck {
displayName = CSTRING(6Rnd_12Gauge_Pellets_No3_Buck_Name);
displayNameShort = CSTRING(12Gauge_Pellets_No3_Buck_NameShort);
descriptionShort = CSTRING(12Gauge_Pellets_No3_Buck_Description);
ammo = "ACE_12Gauge_Pellets_Submunition_No3_Buck";
};
class ACE_6Rnd_12Gauge_Pellets_No4_Buck: ACE_6Rnd_12Gauge_Pellets_No0_Buck {
displayName = CSTRING(6Rnd_12Gauge_Pellets_No4_Buck_Name);
displayNameShort = CSTRING(12Gauge_Pellets_No4_Buck_NameShort);
descriptionShort = CSTRING(12Gauge_Pellets_No4_Buck_Description);
ammo = "ACE_12Gauge_Pellets_Submunition_No4_Buck";
};
class ACE_6Rnd_12Gauge_Pellets_No4_Bird: ACE_6Rnd_12Gauge_Pellets_No0_Buck {
displayName = CSTRING(6Rnd_12Gauge_Pellets_No4_Bird_Name);
displayNameShort = CSTRING(12Gauge_Pellets_No4_Bird_NameShort);
descriptionShort = CSTRING(12Gauge_Pellets_No4_Bird_Description);
ammo = "ACE_12Gauge_Pellets_Submunition_No4_Bird";
};
class 15Rnd_12Gauge_Pellets: 6Rnd_12Gauge_Pellets {
displayName = CSTRING(15Rnd_12Gauge_Pellets_No00_Buck_Name);
displayNameShort = CSTRING(12Gauge_Pellets_No00_Buck_NameShort);
descriptionShort = CSTRING(12Gauge_Pellets_No00_Buck_Description);
};
class 30Rnd_580x42_Mag_F: CA_Magazine { class 30Rnd_580x42_Mag_F: CA_Magazine {
initSpeed = 950; initSpeed = 950;
}; };
@ -58,7 +150,7 @@ class CfgMagazines {
}; };
class 30Rnd_545x39_Mag_F: CA_Magazine { class 30Rnd_545x39_Mag_F: CA_Magazine {
initSpeed = 735; initSpeed = 735; // default BI value according with the ACE_muzzleVelocities at 15°C
}; };
class 30Rnd_556x45_Stanag: CA_Magazine { class 30Rnd_556x45_Stanag: CA_Magazine {
@ -120,7 +212,7 @@ class CfgMagazines {
}; };
class 30Rnd_762x39_Mag_F: CA_Magazine { class 30Rnd_762x39_Mag_F: CA_Magazine {
initSpeed = 716; initSpeed = 715; // default BI value according with the ACE_muzzleVelocities at 15°C
}; };
class 20Rnd_762x51_Mag: CA_Magazine { class 20Rnd_762x51_Mag: CA_Magazine {

View File

@ -211,6 +211,7 @@ class CfgVehicles {
accuracy = 1000; accuracy = 1000;
displayName = CSTRING(AmmoSupplyCrate_DisplayName); displayName = CSTRING(AmmoSupplyCrate_DisplayName);
model = "\A3\weapons_F\AmmoBoxes\AmmoBox_F"; model = "\A3\weapons_F\AmmoBoxes\AmmoBox_F";
editorPreview = "\A3\EditorPreviews_F\Data\CfgVehicles\Box_NATO_Ammo_F.jpg";
author = ECSTRING(common,ACETeam); author = ECSTRING(common,ACETeam);
class TransportMagazines { class TransportMagazines {
MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_SD,4); MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_SD,4);

View File

@ -143,6 +143,9 @@ class CfgWeapons {
// M14 // M14
class DMR_06_base_F: Rifle_Long_Base_F { class DMR_06_base_F: Rifle_Long_Base_F {
ACE_barrelLength = 558.8;
ACE_barrelTwist = 304.8;
initSpeed = -0.999395;
class Single: Mode_SemiAuto { class Single: Mode_SemiAuto {
dispersion = MOA_TO_RAD(0.81); dispersion = MOA_TO_RAD(0.81);
}; };
@ -152,6 +155,12 @@ class CfgWeapons {
}; };
}; };
class DMR_06_hunter_base_F: DMR_06_base_F {
class Single: Single {
dispersion = MOA_TO_RAD(0.81);
};
};
// MX LSW // MX LSW
class arifle_MX_SW_F: arifle_MX_Base_F { class arifle_MX_SW_F: arifle_MX_Base_F {
magazines[] = { magazines[] = {
@ -261,11 +270,6 @@ class CfgWeapons {
// Stoner 99 LMG // Stoner 99 LMG
class LMG_Mk200_F: Rifle_Long_Base_F { class LMG_Mk200_F: Rifle_Long_Base_F {
magazines[] = {
"200Rnd_65x39_cased_Box",
"200Rnd_65x39_cased_Box_Tracer",
"ACE_200Rnd_65x39_cased_Box_Tracer_Dim"
};
initSpeed = -0.999327; initSpeed = -0.999327;
ACE_barrelTwist = 177.8; ACE_barrelTwist = 177.8;
ACE_barrelLength = 317.5; ACE_barrelLength = 317.5;
@ -356,23 +360,47 @@ class CfgWeapons {
// AKS // AKS
class arifle_AKS_base_F: Rifle_Base_F { class arifle_AKS_base_F: Rifle_Base_F {
initSpeed = -1.0; initSpeed = -1; // 735 m/s according with the ACE_muzzleVelocities at 15°C
ACE_barrelTwist = 160.02; ACE_barrelTwist = 160;
ACE_barrelLength = 206.5; ACE_barrelLength = 210;
}; };
// AKM // AKM
class arifle_AKM_base_F: Rifle_Base_F { class arifle_AKM_base_F: Rifle_Base_F {
initSpeed = -1.0; initSpeed = -1; // 715 m/s according with the ACE_muzzleVelocities at 15°C
ACE_barrelTwist = 199.898; ACE_barrelTwist = 240;
ACE_barrelLength = 414.02; ACE_barrelLength = 415;
}; };
// AK12 // AK15,AK15K,RPK (AK12)
class arifle_AK12_base_F: Rifle_Base_F { class arifle_AK12_base_F: Rifle_Base_F {
initSpeed = -1.0; initSpeed = -1; // 715 m/s according with the ACE_muzzleVelocities at 15°C
ACE_barrelTwist = 199.898; ACE_barrelTwist = 240;
ACE_barrelLength = 414.02; ACE_barrelLength = 415;
};
class arifle_AK12U_base_F: arifle_AK12_base_F {
initSpeed = -0.937063; // 715*0.937063= 670 m/s according with the ACE_muzzleVelocities at 15°C
ACE_barrelTwist = 240;
ACE_barrelLength = 314;
};
class arifle_RPK12_base_F: arifle_AK12_base_F {
initSpeed = -1.041958; // 715*1.041958= 745 m/s according with the ACE_muzzleVelocities at 15°C
ACE_barrelTwist = 240;
ACE_barrelLength = 590;
};
// MSBS GROT (Promet)
class arifle_MSBS65_base_F: Rifle_Base_F {
initSpeed = -0.971576; // 774*0.971576= 752 m/s according with the ACE_muzzleVelocities at 15°C
ACE_barrelTwist = 228.6;
ACE_barrelLength = 406.4; // 16"
};
class arifle_MSBS65_Mark_base_F: arifle_MSBS65_base_F {
initSpeed = -1.007752; // 774*1.007752= 780 m/s according with the ACE_muzzleVelocities at 15°C
ACE_barrelLength = 508; // 20"
}; };
// QBZ-95-1 // QBZ-95-1
@ -790,23 +818,6 @@ class CfgWeapons {
ACE_barrelLength = 620.014; ACE_barrelLength = 620.014;
}; };
// M14
class srifle_DMR_06_camo_F: DMR_06_base_F {
magazines[] = {
"20Rnd_762x51_Mag",
"ACE_20Rnd_762x51_Mag_Tracer",
"ACE_20Rnd_762x51_Mag_Tracer_Dim",
"ACE_20Rnd_762x51_Mk316_Mod_0_Mag",
"ACE_20Rnd_762x51_M118LR_Mag",
"ACE_20Rnd_762x51_Mk319_Mod_0_Mag",
"ACE_20Rnd_762x51_M993_AP_Mag",
"ACE_20Rnd_762x51_Mag_SD"
};
initSpeed = -0.999395;
ACE_barrelTwist = 304.8;
ACE_barrelLength = 558.8;
};
// HK121 // HK121
class MMG_01_hex_F: MMG_01_base_F { class MMG_01_hex_F: MMG_01_base_F {
initSpeed = -0.985613; initSpeed = -0.985613;

File diff suppressed because it is too large Load Diff

View File

@ -10,7 +10,7 @@
* Child actions <ARRAY> * Child actions <ARRAY>
* *
* Example: * Example:
* [kevin] call ace_medical_fnc_addLoadCaptiveActions * [kevin] call ace_captives_fnc_addLoadCaptiveActions
* *
* Public: No * Public: No
*/ */

View File

@ -11,12 +11,14 @@
<Korean>포로설정</Korean> <Korean>포로설정</Korean>
<Polish>Jeńcy</Polish> <Polish>Jeńcy</Polish>
<Russian>Пленные</Russian> <Russian>Пленные</Russian>
<Portuguese>Prisioneiros</Portuguese>
<French>Prisonniers</French>
</Key> </Key>
<Key ID="STR_ACE_Captives_SetCaptive"> <Key ID="STR_ACE_Captives_SetCaptive">
<English>Take Prisoner</English> <English>Take Prisoner</English>
<German>Gefangen nehmen</German> <German>Gefangen nehmen</German>
<Spanish>Tomar prisionero</Spanish> <Spanish>Tomar prisionero</Spanish>
<French>Prendre le prisonnier</French> <French>Capturer le prisonnier</French>
<Polish>Aresztuj</Polish> <Polish>Aresztuj</Polish>
<Czech>Zajmout osobu</Czech> <Czech>Zajmout osobu</Czech>
<Italian>Arresta il prigioniero</Italian> <Italian>Arresta il prigioniero</Italian>
@ -65,7 +67,7 @@
<German>Gefangenen loslassen</German> <German>Gefangenen loslassen</German>
<Spanish>Soltar prisionero</Spanish> <Spanish>Soltar prisionero</Spanish>
<Polish>Anuluj eskortowanie</Polish> <Polish>Anuluj eskortowanie</Polish>
<French>Relâcher le prisonnier</French> <French>Lâcher le prisonnier</French>
<Czech>Uvolnit zajatce</Czech> <Czech>Uvolnit zajatce</Czech>
<Italian>Rilascia il Prigioniero</Italian> <Italian>Rilascia il Prigioniero</Italian>
<Portuguese>Largar Prisioneiro</Portuguese> <Portuguese>Largar Prisioneiro</Portuguese>
@ -195,7 +197,7 @@
<German>Einheit kapitulieren lassen</German> <German>Einheit kapitulieren lassen</German>
<Czech>Vzdávající se jednotka</Czech> <Czech>Vzdávající se jednotka</Czech>
<Portuguese>Fazer unidade se render</Portuguese> <Portuguese>Fazer unidade se render</Portuguese>
<French>Faire capituler l'unité</French> <French>Se rend</French>
<Hungarian>Egység kapitulálása</Hungarian> <Hungarian>Egység kapitulálása</Hungarian>
<Russian>Заставить юнита сдаться</Russian> <Russian>Заставить юнита сдаться</Russian>
<Italian>Fai arrendere l'unità</Italian> <Italian>Fai arrendere l'unità</Italian>
@ -211,7 +213,7 @@
<German>Einheit synchronisieren, um sie kapitulieren zu lassen.</German> <German>Einheit synchronisieren, um sie kapitulieren zu lassen.</German>
<Czech>Synchronizuj s jednotkou, která se má vzdát.</Czech> <Czech>Synchronizuj s jednotkou, která se má vzdát.</Czech>
<Portuguese>Sincroniza uma unidade para fazer com que ela se renda.</Portuguese> <Portuguese>Sincroniza uma unidade para fazer com que ela se renda.</Portuguese>
<French>Synchronise une unité pour la rendre captive.</French> <French>Synchronise l'unité pour qu'elle se rende.</French>
<Hungarian>Egység szinkronizálása, hogy kapituláljon.</Hungarian> <Hungarian>Egység szinkronizálása, hogy kapituláljon.</Hungarian>
<Russian>Синхронизируйте с юнитами, чтобы заставить их сдаться.</Russian> <Russian>Синхронизируйте с юнитами, чтобы заставить их сдаться.</Russian>
<Italian>Sincronizza una unità per farla arrendere.</Italian> <Italian>Sincronizza una unità per farla arrendere.</Italian>
@ -229,7 +231,7 @@
<Czech>Spoutat jednotku</Czech> <Czech>Spoutat jednotku</Czech>
<Italian>Metti manette all'unità</Italian> <Italian>Metti manette all'unità</Italian>
<Spanish>Hacer que la unidad esté esposada</Spanish> <Spanish>Hacer que la unidad esté esposada</Spanish>
<French>Rendre une unité captive</French> <French>Est menottée</French>
<Japanese>ユニットを拘束する</Japanese> <Japanese>ユニットを拘束する</Japanese>
<Korean>포박하기</Korean> <Korean>포박하기</Korean>
<Chinese>使單位戴上手銬</Chinese> <Chinese>使單位戴上手銬</Chinese>
@ -244,7 +246,7 @@
<Czech>Synchronizovat s jednotkou, která má být v poutech.</Czech> <Czech>Synchronizovat s jednotkou, která má být v poutech.</Czech>
<Italian>Sincronizza un'unità per metterle le manette.</Italian> <Italian>Sincronizza un'unità per metterle le manette.</Italian>
<Spanish>Sincroniza una unidad para hacer que esté esposada.</Spanish> <Spanish>Sincroniza una unidad para hacer que esté esposada.</Spanish>
<French>Synchronisez une unité pour la rendre captive.</French> <French>Synchronise l'unité pour qu'elle soit menottée.</French>
<Japanese>同期されたユニットを拘束させます。</Japanese> <Japanese>同期されたユニットを拘束させます。</Japanese>
<Korean>수갑을 채우기 위해 동기화합니다.</Korean> <Korean>수갑을 채우기 위해 동기화합니다.</Korean>
<Chinese>使單位戴上手銬</Chinese> <Chinese>使單位戴上手銬</Chinese>
@ -273,7 +275,7 @@
<Czech>Toto kontroluje nastavení kapitulace a pout</Czech> <Czech>Toto kontroluje nastavení kapitulace a pout</Czech>
<German>Einstellungen zur Kapitulation und Kabelbindern</German> <German>Einstellungen zur Kapitulation und Kabelbindern</German>
<Portuguese>Controla as configurações de rendição e abraçadeiras</Portuguese> <Portuguese>Controla as configurações de rendição e abraçadeiras</Portuguese>
<French>Contrôle les paramètres de la reddition et des Serflex</French> <French>Contrôle les paramètres de la reddition et des Serflex.</French>
<Hungarian>Szabályozza a kapituláció és bilincselés beállításait</Hungarian> <Hungarian>Szabályozza a kapituláció és bilincselés beállításait</Hungarian>
<Russian>Управляет настройками ареста и сдачи в плен</Russian> <Russian>Управляет настройками ареста и сдачи в плен</Russian>
<Italian>Controlla le impostazioni per la resa e le manette</Italian> <Italian>Controlla le impostazioni per la resa e le manette</Italian>
@ -289,7 +291,7 @@
<Czech>Může spoutat spolubojovníky</Czech> <Czech>Může spoutat spolubojovníky</Czech>
<German>Kann Kameraden fesseln</German> <German>Kann Kameraden fesseln</German>
<Portuguese>Pode algemar o próprio lado</Portuguese> <Portuguese>Pode algemar o próprio lado</Portuguese>
<French>Peut capturer sa propre faction</French> <French>Permission de capturer son propre camp</French>
<Hungarian>Saját oldal megbilincselhető</Hungarian> <Hungarian>Saját oldal megbilincselhető</Hungarian>
<Russian>Можно связывать руки союзникам</Russian> <Russian>Можно связывать руки союзникам</Russian>
<Italian>Puoi ammanettare unità alleate</Italian> <Italian>Puoi ammanettare unità alleate</Italian>
@ -305,7 +307,7 @@
<Czech>Mohou hráči spoutat jednotky na své straně</Czech> <Czech>Mohou hráči spoutat jednotky na své straně</Czech>
<German>Spieler können eigene Einheiten fesseln</German> <German>Spieler können eigene Einheiten fesseln</German>
<Portuguese>Os jogadores podem algemar unidades do seu lado</Portuguese> <Portuguese>Os jogadores podem algemar unidades do seu lado</Portuguese>
<French>Les joueurs peuvent utiliser les Serflex sur leur propre camp</French> <French>Les joueurs peuvent menotter les unités de leur propre camp.</French>
<Hungarian>A játékosok megkötözhetik-e a saját oldalukon lévő egységeket</Hungarian> <Hungarian>A játékosok megkötözhetik-e a saját oldalukon lévő egységeket</Hungarian>
<Russian>Разрешить игрокам арестовывать юнитов своей стороны</Russian> <Russian>Разрешить игрокам арестовывать юнитов своей стороны</Russian>
<Italian>I giocatori possono ammanettare unità alleate</Italian> <Italian>I giocatori possono ammanettare unità alleate</Italian>
@ -314,38 +316,6 @@
<Chinese>玩家可以使用束線帶銬住同陣營隊友</Chinese> <Chinese>玩家可以使用束線帶銬住同陣營隊友</Chinese>
<Chinesesimp>玩家可以使用束线带铐住同阵营队友</Chinesesimp> <Chinesesimp>玩家可以使用束线带铐住同阵营队友</Chinesesimp>
</Key> </Key>
<Key ID="STR_ACE_Captives_ModuleSettings_allowSurrender_name">
<English>Allow surrendering</English>
<Polish>Pozwól kapitulować</Polish>
<Spanish>Permitir rendición</Spanish>
<Czech>Povolit vzdávání</Czech>
<German>Kapitulation erlauben</German>
<Portuguese>Permite rendição</Portuguese>
<French>Permettre la reddition</French>
<Hungarian>Kapituláció engedélyezése</Hungarian>
<Russian>Разрешить сдаваться</Russian>
<Italian>Permetti Resa</Italian>
<Japanese>投降を許可</Japanese>
<Korean>투항 활성화</Korean>
<Chinese>允許投降</Chinese>
<Chinesesimp>允许投降</Chinesesimp>
</Key>
<Key ID="STR_ACE_Captives_ModuleSettings_allowSurrender_description">
<English>Players can surrender after holstering their weapon</English>
<Polish>Gracze mogą skapitulować po schowaniu swojej broni do kabury</Polish>
<Spanish>Los jugadores pueden rendirse después de enfundar su arma</Spanish>
<Czech>Hráč se může vzdát poté, co si skryje zbraň</Czech>
<German>Spieler können kapitulieren, nachdem sie ihre Waffe geholstert haben.</German>
<Portuguese>Jogadores podem se render depois de guardar sua arma</Portuguese>
<French>Les joueurs peuvent se rendre après avoir rangé leur arme</French>
<Hungarian>A játékosok megadhatják magukat a fegyverük elrakása után</Hungarian>
<Russian>Игроки могут сдаваться после того, как уберут оружие</Russian>
<Italian>I giocatori possono arrendersi dopo aver messo via le proprie armi</Italian>
<Japanese>プレイヤーは武器を収めたあと投降できるようにします。</Japanese>
<Korean>비무장한 플레이어가 투항할 수 있게 합니다</Korean>
<Chinese>玩家能在收起自己武器後投降</Chinese>
<Chinesesimp>玩家能在收起自己武器后投降</Chinesesimp>
</Key>
<Key ID="STR_ACE_Captives_ModuleSettings_requireSurrender_name"> <Key ID="STR_ACE_Captives_ModuleSettings_requireSurrender_name">
<English>Require surrendering</English> <English>Require surrendering</English>
<German>Benötigt Kapitulation</German> <German>Benötigt Kapitulation</German>
@ -370,7 +340,7 @@
<Spanish>Requiere que los Jugadores se rindan antes de arrestarlos</Spanish> <Spanish>Requiere que los Jugadores se rindan antes de arrestarlos</Spanish>
<Czech>Vyžaduje, aby se hráč nejdříve vzdal, poté může být spoután</Czech> <Czech>Vyžaduje, aby se hráč nejdříve vzdal, poté může být spoután</Czech>
<Italian>I giocatori devono arrendersi prima che possano essere arrestati</Italian> <Italian>I giocatori devono arrendersi prima che possano essere arrestati</Italian>
<French>Requiert la capitulation des joueurs avant qu'ils ne puissent être arrêtés</French> <French>Définit si les joueurs doivent d'abord s'être rendus avant qu'on ne puisse les arrêter.</French>
<Japanese>プレイヤーは拘束される前に、投降する必要があります。</Japanese> <Japanese>プレイヤーは拘束される前に、投降する必要があります。</Japanese>
<Korean>체포하기 전에 먼저 플레이어가 투항을 해야만 합니다</Korean> <Korean>체포하기 전에 먼저 플레이어가 투항을 해야만 합니다</Korean>
<Chinese>玩家須先要求目標投降,才可以進行逮捕</Chinese> <Chinese>玩家須先要求目標投降,才可以進行逮捕</Chinese>
@ -400,22 +370,43 @@
<Spanish>Rendición o desarme</Spanish> <Spanish>Rendición o desarme</Spanish>
<Czech>Vzdávání nebo beze zbraně</Czech> <Czech>Vzdávání nebo beze zbraně</Czech>
<Italian>Resa o senza armi</Italian> <Italian>Resa o senza armi</Italian>
<French>Capitulation ou desarmé</French> <French>Reddition ou désarmé</French>
<Japanese>投降中か非武装時</Japanese> <Japanese>投降中か非武装時</Japanese>
<Korean>투항 중 혹은 비무장</Korean> <Korean>투항 중 혹은 비무장</Korean>
<Chinese>投降或無武器狀態</Chinese> <Chinese>投降或無武器狀態</Chinese>
<Chinesesimp>投降或无武器状态</Chinesesimp> <Chinesesimp>投降或无武器状态</Chinesesimp>
</Key> </Key>
<Key ID="STR_ACE_Captives_KeyComb_Description"> <Key ID="STR_ACE_Captives_ModuleSettings_allowSurrender_name">
<English>Sets the unit under the cursor captive.</English> <English>Allow surrendering</English>
<German>Nimmt die Einheit unter dem Cursor fest.</German> <Polish>Pozwól kapitulować</Polish>
<Japanese>カーソル先のユニットを拘束</Japanese> <Spanish>Permitir rendición</Spanish>
<Italian>Imposta l'unità nello stato di prigioniero.</Italian> <Czech>Povolit vzdávání</Czech>
<Chinese>設置在游標下的單位成俘虜狀態</Chinese> <German>Kapitulation erlauben</German>
<Chinesesimp>设置在游标下的单位成俘虏状态。</Chinesesimp> <Portuguese>Permitir Rendição</Portuguese>
<Korean>커서의 병력을 포박합니다.</Korean> <French>Permettre la reddition</French>
<Polish>Ustawia jednostkę pod kursorem jako jeniec.</Polish> <Hungarian>Kapituláció engedélyezése</Hungarian>
<Russian>Арестовывает указанный курсором юнит</Russian> <Russian>Разрешить сдаваться</Russian>
<Italian>Permetti Resa</Italian>
<Japanese>投降を許可</Japanese>
<Korean>투항 활성화</Korean>
<Chinese>允許投降</Chinese>
<Chinesesimp>允许投降</Chinesesimp>
</Key>
<Key ID="STR_ACE_Captives_ModuleSettings_allowSurrender_description">
<English>Players can surrender after holstering their weapon</English>
<Polish>Gracze mogą skapitulować po schowaniu swojej broni do kabury</Polish>
<Spanish>Los jugadores pueden rendirse después de enfundar su arma</Spanish>
<Czech>Hráč se může vzdát poté, co si skryje zbraň</Czech>
<German>Spieler können kapitulieren, nachdem sie ihre Waffe geholstert haben.</German>
<Portuguese>Jogadores podem se render depois de guardar sua arma</Portuguese>
<French>Les joueurs peuvent se rendre après avoir rengainé leur arme.</French>
<Hungarian>A játékosok megadhatják magukat a fegyverük elrakása után</Hungarian>
<Russian>Игроки могут сдаваться после того, как уберут оружие</Russian>
<Italian>I giocatori possono arrendersi dopo aver messo via le proprie armi</Italian>
<Japanese>プレイヤーは武器を収めたあと投降できるようにします。</Japanese>
<Korean>비무장한 플레이어가 투항할 수 있게 합니다</Korean>
<Chinese>玩家能在收起自己武器後投降</Chinese>
<Chinesesimp>玩家能在收起自己武器后投降</Chinesesimp>
</Key> </Key>
<Key ID="STR_ACE_Captives_ModuleSettings_requireSurrenderAi_name"> <Key ID="STR_ACE_Captives_ModuleSettings_requireSurrenderAi_name">
<English>Require AI surrendering</English> <English>Require AI surrendering</English>
@ -427,6 +418,8 @@
<Korean>AI 항복 필요</Korean> <Korean>AI 항복 필요</Korean>
<Polish>Wymaga poddania się przez SI</Polish> <Polish>Wymaga poddania się przez SI</Polish>
<Russian>Требовать ИИ сдаться для ареста</Russian> <Russian>Требовать ИИ сдаться для ареста</Russian>
<Portuguese>Requer rendição da IA</Portuguese>
<French>Requiert la reddition de l'IA</French>
</Key> </Key>
<Key ID="STR_ACE_Captives_ModuleSettings_requireSurrenderAi_description"> <Key ID="STR_ACE_Captives_ModuleSettings_requireSurrenderAi_description">
<English>Require AI to surrender before they can be arrested</English> <English>Require AI to surrender before they can be arrested</English>
@ -438,6 +431,21 @@
<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>
<Portuguese>Requer que a IA se renda antes que seja presa</Portuguese>
<French>Requiert la capitulation des unités IA avant qu'elles ne puissent être arrêtées.</French>
</Key>
<Key ID="STR_ACE_Captives_KeyComb_Description">
<English>Sets the unit under the cursor captive.</English>
<German>Nimmt die Einheit unter dem Cursor fest.</German>
<Japanese>カーソル先のユニットを拘束</Japanese>
<Italian>Imposta l'unità nello stato di prigioniero.</Italian>
<Chinese>設置在游標下的單位成俘虜狀態</Chinese>
<Chinesesimp>设置在游标下的单位成俘虏状态。</Chinesesimp>
<Korean>커서의 병력을 포박합니다.</Korean>
<Polish>Ustawia jednostkę pod kursorem jako jeniec.</Polish>
<Russian>Арестовывает указанный курсором юнит</Russian>
<Portuguese>Torna a unidade sob o cursor um prisioneiro</Portuguese>
<French>Capture l'unité sous le curseur.</French>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -31,14 +31,23 @@ TRACE_2("setSpace",_vehicle,_size);
// Nothing to do here // Nothing to do here
if ( if (
(isNil "_space") || (isNil "_space") ||
{isNull _vehicle} || {isNull _vehicle}
{_space == _vehicle getVariable [QGVAR(space), CARGO_SPACE(typeOf _vehicle)]}
) exitWith {}; ) exitWith {};
// Account for cargo already in the vehicle
private _loaded = _vehicle getVariable [QGVAR(loaded), []];
private _newSpace = _space;
{
_newSpace = _newSpace - ([_x] call FUNC(getSizeItem));
} forEach _loaded;
// If the new value is the same as the old, do nothing
if (_newSpace == (_vehicle getVariable [QGVAR(space), CARGO_SPACE(typeOf _vehicle)])) exitwith {};
// Apply new space globally // Apply new space globally
_vehicle setVariable [QGVAR(space), _newSpace, true];
// Necessary to update value, even if no space, as API could be used again // Necessary to update value, even if no space, as API could be used again
_vehicle setVariable [QGVAR(hasCargo), _space > 0, true]; _vehicle setVariable [QGVAR(hasCargo), _space > 0, true];
_vehicle setVariable [QGVAR(space), _space, true];
// If no cargo space no need for cargo menu // If no cargo space no need for cargo menu
if (_space <= 0) exitWith {}; if (_space <= 0) exitWith {};

View File

@ -70,7 +70,7 @@
<Czech>Zbývající prostor: %1</Czech> <Czech>Zbývající prostor: %1</Czech>
<Spanish>Espacio de carga restante: %1</Spanish> <Spanish>Espacio de carga restante: %1</Spanish>
<Italian>Spazio cargo rimanente: %1</Italian> <Italian>Spazio cargo rimanente: %1</Italian>
<French>Espace de cargaison restant : %1</French> <French>Espace de chargement restant : %1</French>
<Japanese>カーゴの空き容量: %1</Japanese> <Japanese>カーゴの空き容量: %1</Japanese>
<Korean>선적 공간 남음: %1</Korean> <Korean>선적 공간 남음: %1</Korean>
<Chinese>貨物剩餘空間: %1</Chinese> <Chinese>貨物剩餘空間: %1</Chinese>
@ -85,7 +85,7 @@
<Czech>Povolit náklad</Czech> <Czech>Povolit náklad</Czech>
<Spanish>Habilitar carga</Spanish> <Spanish>Habilitar carga</Spanish>
<Italian>Abilita Cargo</Italian> <Italian>Abilita Cargo</Italian>
<French>Activer la mise en cargaison</French> <French>Activer la cargaison</French>
<Japanese>カーゴを有効化</Japanese> <Japanese>カーゴを有効化</Japanese>
<Korean>화물 활성화</Korean> <Korean>화물 활성화</Korean>
<Chinese>啟用貨物裝載</Chinese> <Chinese>啟用貨物裝載</Chinese>
@ -100,7 +100,7 @@
<Spanish>Habilitar la carga en el módulo de carga</Spanish> <Spanish>Habilitar la carga en el módulo de carga</Spanish>
<Czech>Umožňuje naložit předměty do nákladového prostoru vozidla</Czech> <Czech>Umožňuje naložit předměty do nákladového prostoru vozidla</Czech>
<Italian>Abilita il modulo di caricamento in cargo</Italian> <Italian>Abilita il modulo di caricamento in cargo</Italian>
<French>Active le chargement de cargaison dans un vehicule</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>
@ -130,7 +130,7 @@
<Spanish>Configure los ajustes del módulo de carga</Spanish> <Spanish>Configure los ajustes del módulo de carga</Spanish>
<Czech>Konfigurace nákladního modulu</Czech> <Czech>Konfigurace nákladního modulu</Czech>
<Italian>Configura le impostazioni del modulo cargo</Italian> <Italian>Configura le impostazioni del modulo cargo</Italian>
<French>Configure les paramètres du module de cargaison</French> <French>Configure les paramètres du module de cargaison.</French>
<Japanese>カーゴ モジュールの設定を構成</Japanese> <Japanese>カーゴ モジュールの設定を構成</Japanese>
<Korean>화물 모듈의 환경 설정을 바꿉니다</Korean> <Korean>화물 모듈의 환경 설정을 바꿉니다</Korean>
<Chinese>配置貨物模塊設定</Chinese> <Chinese>配置貨物模塊設定</Chinese>
@ -156,7 +156,7 @@
<English>Unloaded&lt;br/&gt;%1 from&lt;br/&gt;%2</English> <English>Unloaded&lt;br/&gt;%1 from&lt;br/&gt;%2</English>
<German>%1&lt;br/&gt;von&lt;br/&gt;%2 abgeladen</German> <German>%1&lt;br/&gt;von&lt;br/&gt;%2 abgeladen</German>
<Spanish>Descargado/a&lt;br/&gt;%1 de&lt;br/&gt;%2</Spanish> <Spanish>Descargado/a&lt;br/&gt;%1 de&lt;br/&gt;%2</Spanish>
<French>Déchargé&lt;br/&gt;%1 de&lt;br/&gt;%2</French> <French>%1&lt;br/&gt;déchargé de&lt;br/&gt;%2</French>
<Polish>%1&lt;br/&gt;rozładowano z&lt;br/&gt;%2</Polish> <Polish>%1&lt;br/&gt;rozładowano z&lt;br/&gt;%2</Polish>
<Czech>%1&lt;br/&gt;vyloženo z&lt;br/&gt;%2</Czech> <Czech>%1&lt;br/&gt;vyloženo z&lt;br/&gt;%2</Czech>
<Portuguese>%1&lt;br/&gt;descarregado de&lt;br/&gt;%2</Portuguese> <Portuguese>%1&lt;br/&gt;descarregado de&lt;br/&gt;%2</Portuguese>
@ -238,6 +238,8 @@
<Polish>Przestrzeń ładunkowa</Polish> <Polish>Przestrzeń ładunkowa</Polish>
<Korean>화물 공간</Korean> <Korean>화물 공간</Korean>
<Russian>Грузовое пространство</Russian> <Russian>Грузовое пространство</Russian>
<Portuguese>Espaço de Carga</Portuguese>
<French>Espace de stockage</French>
</Key> </Key>
<Key ID="STR_ACE_Cargo_space_edenDesc"> <Key ID="STR_ACE_Cargo_space_edenDesc">
<English>The cargo space available in this vehicle/container</English> <English>The cargo space available in this vehicle/container</English>
@ -249,6 +251,8 @@
<Polish>Dostępna przestrzeń ładunkowa w tym pojeździe/kontenerze</Polish> <Polish>Dostępna przestrzeń ładunkowa w tym pojeździe/kontenerze</Polish>
<Korean>이 차량/컨테이너에서 사용가능한 화물 공간</Korean> <Korean>이 차량/컨테이너에서 사용가능한 화물 공간</Korean>
<Russian>Грузовое пространство, доступное в этом транспортном средстве / контейнере</Russian> <Russian>Грузовое пространство, доступное в этом транспортном средстве / контейнере</Russian>
<Portuguese>O espaço de carga disponível nesse veículo/contâiner</Portuguese>
<French>L'espace de stockage disponible dans ce véhicule/container.</French>
</Key> </Key>
<Key ID="STR_ACE_Cargo_size_edenName"> <Key ID="STR_ACE_Cargo_size_edenName">
<English>Cargo Size</English> <English>Cargo Size</English>
@ -260,6 +264,8 @@
<Polish>Wielkość ładunku</Polish> <Polish>Wielkość ładunku</Polish>
<Korean>화물 크기</Korean> <Korean>화물 크기</Korean>
<Russian>Размер груза</Russian> <Russian>Размер груза</Russian>
<Portuguese>Tamanho da Carga</Portuguese>
<French>Encombrement fret</French>
</Key> </Key>
<Key ID="STR_ACE_Cargo_size_edenDesc"> <Key ID="STR_ACE_Cargo_size_edenDesc">
<English>The cargo space required to hold this object (-1 for unloadable)</English> <English>The cargo space required to hold this object (-1 for unloadable)</English>
@ -271,6 +277,8 @@
<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>
<Portuguese>O Espaço de carga necessário para carregar esse objeto (-1 para que não seja carregável)</Portuguese>
<French>Définit l'espace de stockage nécessaire à l'embarquement de cet objet (-1 pour le rendre non transportable).</French>
</Key> </Key>
<Key ID="STR_ACE_Cargo_paradropButton"> <Key ID="STR_ACE_Cargo_paradropButton">
<English>Airdrop</English> <English>Airdrop</English>
@ -278,11 +286,12 @@
<Japanese>空中投下</Japanese> <Japanese>空中投下</Japanese>
<Polish>Zrzut zaopatrzenia</Polish> <Polish>Zrzut zaopatrzenia</Polish>
<Korean>공중 투하</Korean> <Korean>공중 투하</Korean>
<French>Largage aérien</French> <French>Largage</French>
<Italian>Lancio Aereo</Italian> <Italian>Lancio Aereo</Italian>
<Chinese>空投</Chinese> <Chinese>空投</Chinese>
<Chinesesimp>空投</Chinesesimp> <Chinesesimp>空投</Chinesesimp>
<Russian>Десантирование груза</Russian> <Russian>Десантирование груза</Russian>
<Portuguese>Lançamento Aéreo</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Cargo_unlevelFlightWarning"> <Key ID="STR_ACE_Cargo_unlevelFlightWarning">
<English>Unlevel Flight</English> <English>Unlevel Flight</English>
@ -290,35 +299,38 @@
<Japanese>機体が水平ではありません</Japanese> <Japanese>機体が水平ではありません</Japanese>
<Polish>Nierówny lot</Polish> <Polish>Nierówny lot</Polish>
<Korean>기체가 수평이 아닙니다</Korean> <Korean>기체가 수평이 아닙니다</Korean>
<French>Rétablir l'assiette</French> <French>Vol en dénivelé</French>
<Italian>Volo non Livellato</Italian> <Italian>Volo non Livellato</Italian>
<Chinese>此架飛機並無保持水平飛行</Chinese> <Chinese>此架飛機並無保持水平飛行</Chinese>
<Chinesesimp>此架飞机并无保持水平飞行</Chinesesimp> <Chinesesimp>此架飞机并无保持水平飞行</Chinesesimp>
<Russian>Неподходящее положение</Russian> <Russian>Неподходящее положение</Russian>
<Portuguese>Desnivelar Vôo</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Cargo_paradropTimeCoefficent"> <Key ID="STR_ACE_Cargo_paradropTimeCoefficent">
<English>Paradrop Time Coefficient</English> <English>Paradrop Time Coefficient</English>
<German>Türlast Zeitfaktor</German> <German>Türlast Zeitfaktor</German>
<Japanese>空中投下までの時間係数</Japanese> <Japanese>空中投下までの時間係数</Japanese>
<Italian>Coefficente Tempo Lancio Paracadute</Italian> <Italian>Coefficente Tempo Lancio Paracadute</Italian>
<French>Coefficient Temps de largage de cargaison</French> <French>Coefficient du temps de paralargage</French>
<Chinese>空投時間係數</Chinese> <Chinese>空投時間係數</Chinese>
<Chinesesimp>空投时间系数</Chinesesimp> <Chinesesimp>空投时间系数</Chinesesimp>
<Polish>Współczynnik czasu zrzutu</Polish> <Polish>Współczynnik czasu zrzutu</Polish>
<Korean>공중 투하 시간 계수</Korean> <Korean>공중 투하 시간 계수</Korean>
<Russian>Коэффициент времени десантирования</Russian> <Russian>Коэффициент времени десантирования</Russian>
<Portuguese>Fator de Tempo para soltar a carga</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Cargo_paradropTimeCoefficent_description"> <Key ID="STR_ACE_Cargo_paradropTimeCoefficent_description">
<English>Modifier for how long it takes to paradrop a cargo item.</English> <English>Modifier for how long it takes to paradrop a cargo item.</English>
<German>Beeinflusst die zusätzliche Zeit für Türlastabwürfe.</German> <German>Beeinflusst die zusätzliche Zeit für Türlastabwürfe.</German>
<Japanese>カーゴ アイテムを空中投下するまでの時間を変更します。</Japanese> <Japanese>カーゴ アイテムを空中投下するまでの時間を変更します。</Japanese>
<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>Modifier le temps qu'il faut pour larguer la 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>
</Key> </Key>
<Key ID="STR_ACE_Cargo_loadTimeCoefficient"> <Key ID="STR_ACE_Cargo_loadTimeCoefficient">
<English>Load Time Coefficient</English> <English>Load Time Coefficient</English>
@ -327,6 +339,9 @@
<Polish>Współczynnik czasu załadowania</Polish> <Polish>Współczynnik czasu załadowania</Polish>
<Italian>Coefficente Tempo Caricamento</Italian> <Italian>Coefficente Tempo Caricamento</Italian>
<Russian>Коэффициент времени погрузки</Russian> <Russian>Коэффициент времени погрузки</Russian>
<Portuguese>Fator de tempo para carregar</Portuguese>
<French>Coefficient du temps de chargement</French>
<Chinese>裝載時間係數</Chinese>
</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>
@ -335,6 +350,9 @@
<Polish>Modyfikuje, jak długo zajmuje załadowywanie/wyładowywanie przedmiotów. \nCzasem, w sekundach, jest wielkość przedmiotu razy jego wartość.</Polish> <Polish>Modyfikuje, jak długo zajmuje załadowywanie/wyładowywanie przedmiotów. \nCzasem, w sekundach, jest wielkość przedmiotu razy jego wartość.</Polish>
<Italian>Modifica quanto tempo ci impiega a caricare o scaricare gli oggetti.\n Tempo, in secondi, è la dimensione dell'oggetto moltiplicata per questo valore</Italian> <Italian>Modifica quanto tempo ci impiega a caricare o scaricare gli oggetti.\n Tempo, in secondi, è la dimensione dell'oggetto moltiplicata per questo valore</Italian>
<Russian>Изменяет время для загрузки/выгрузки предметов. \n Время (сек) - это размер предмета, умноженный на это значение.</Russian> <Russian>Изменяет время для загрузки/выгрузки предметов. \n Время (сек) - это размер предмета, умноженный на это значение.</Russian>
<Portuguese>Coeficiente de quanto tempo leva para carregar/descarregar itens.\nTempo, em segundos, é o tamanho do objeto multiplicado por esse valor.</Portuguese>
<French>Modifie le temps nécessaire pour charger/décharger des objets.\nLe temps, en secondes, est calculé en multipliant la taille de l'élément par ce coefficient.</French>
<Chinese>修改要花多長時間來裝載/卸載物品。\n時間以秒為單位而物品的大小數值與這個係數成比。</Chinese>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -246,6 +246,7 @@ class CfgVehicles {
transportMaxItems = 9002; transportMaxItems = 9002;
maximumload = 9002; maximumload = 9002;
model = "\A3\weapons_F\AmmoBoxes\WpnsBox_large_F"; model = "\A3\weapons_F\AmmoBoxes\WpnsBox_large_F";
editorPreview = "\A3\EditorPreviews_F\Data\CfgVehicles\Box_NATO_WpsSpecial_F.jpg";
class TransportItems { class TransportItems {
MACRO_ADDITEM(ACE_Chemlight_Shield,20); MACRO_ADDITEM(ACE_Chemlight_Shield,20);

View File

@ -12,6 +12,7 @@
<Chinese>螢光棒</Chinese> <Chinese>螢光棒</Chinese>
<Chinesesimp>萤光棒</Chinesesimp> <Chinesesimp>萤光棒</Chinesesimp>
<Russian>Химсвет</Russian> <Russian>Химсвет</Russian>
<Portuguese>Bastões de Luz</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_Action_Prepare"> <Key ID="STR_ACE_Chemlights_Action_Prepare">
<English>Prepare %1</English> <English>Prepare %1</English>
@ -24,6 +25,7 @@
<Chinese>使用%1</Chinese> <Chinese>使用%1</Chinese>
<Chinesesimp>使用%1</Chinesesimp> <Chinesesimp>使用%1</Chinesesimp>
<Russian>Приготовить %1</Russian> <Russian>Приготовить %1</Russian>
<Portuguese>Preparar %1</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_Action_Prepare_Done"> <Key ID="STR_ACE_Chemlights_Action_Prepare_Done">
<English>%1&lt;br/&gt;Prepared</English> <English>%1&lt;br/&gt;Prepared</English>
@ -36,13 +38,14 @@
<Chinese>%1&lt;br/&gt;已使用</Chinese> <Chinese>%1&lt;br/&gt;已使用</Chinese>
<Chinesesimp>%1&lt;br/&gt;已使用</Chinesesimp> <Chinesesimp>%1&lt;br/&gt;已使用</Chinesesimp>
<Russian>%1&lt;br/&gt;Приготовлен</Russian> <Russian>%1&lt;br/&gt;Приготовлен</Russian>
<Portuguese>%1&lt;br/&gt;Preparado</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_Inventory_Full"> <Key ID="STR_ACE_Chemlights_Inventory_Full">
<English>No inventory space</English> <English>No inventory space</English>
<German>Kein Platz im Inventar</German> <German>Kein Platz im Inventar</German>
<Spanish>Sin espacio en inventario</Spanish> <Spanish>Sin espacio en inventario</Spanish>
<Polish>Brak miejsca w ekwipunku</Polish> <Polish>Brak miejsca w ekwipunku</Polish>
<French>Pas de place</French> <French>Pas de place dans l'inventaire</French>
<Czech>Nedostatek místa v inventáři</Czech> <Czech>Nedostatek místa v inventáři</Czech>
<Portuguese>Sem espaço no inventário</Portuguese> <Portuguese>Sem espaço no inventário</Portuguese>
<Italian>Nessuno spazio nell'inventario</Italian> <Italian>Nessuno spazio nell'inventario</Italian>
@ -64,6 +67,7 @@
<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>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_Orange_DisplayName"> <Key ID="STR_ACE_Chemlights_Orange_DisplayName">
<English>Chemlight (Orange)</English> <English>Chemlight (Orange)</English>
@ -76,6 +80,7 @@
<Chinese>螢光棒 (橘色)</Chinese> <Chinese>螢光棒 (橘色)</Chinese>
<Chinesesimp>萤光棒 (橘色)</Chinesesimp> <Chinesesimp>萤光棒 (橘色)</Chinesesimp>
<Russian>Химсвет (Оранжевый)</Russian> <Russian>Химсвет (Оранжевый)</Russian>
<Portuguese>Bastão de Luz (Laranja)</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_Orange_DisplayNameShort"> <Key ID="STR_ACE_Chemlights_Orange_DisplayNameShort">
<English>Orange Light</English> <English>Orange Light</English>
@ -88,6 +93,7 @@
<Chinese>橘色光</Chinese> <Chinese>橘色光</Chinese>
<Chinesesimp>橘色光</Chinesesimp> <Chinesesimp>橘色光</Chinesesimp>
<Russian>Оранжевый свет</Russian> <Russian>Оранжевый свет</Russian>
<Portuguese>Luz Laranja</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_Orange_DescriptionShort"> <Key ID="STR_ACE_Chemlights_Orange_DescriptionShort">
<English>Type: Light - Orange&lt;br /&gt;Rounds: 1&lt;br /&gt;Used in: Hand</English> <English>Type: Light - Orange&lt;br /&gt;Rounds: 1&lt;br /&gt;Used in: Hand</English>
@ -100,6 +106,7 @@
<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>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_White_DisplayName"> <Key ID="STR_ACE_Chemlights_White_DisplayName">
<English>Chemlight (White)</English> <English>Chemlight (White)</English>
@ -112,6 +119,7 @@
<Chinese>螢光棒 (白色)</Chinese> <Chinese>螢光棒 (白色)</Chinese>
<Chinesesimp>萤光棒 (白色)</Chinesesimp> <Chinesesimp>萤光棒 (白色)</Chinesesimp>
<Russian>Химсвет (Белый)</Russian> <Russian>Химсвет (Белый)</Russian>
<Portuguese>Bastão de Luz (Branco)</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_White_DisplayNameShort"> <Key ID="STR_ACE_Chemlights_White_DisplayNameShort">
<English>White Light</English> <English>White Light</English>
@ -124,6 +132,7 @@
<Chinese>白色光</Chinese> <Chinese>白色光</Chinese>
<Chinesesimp>白色光</Chinesesimp> <Chinesesimp>白色光</Chinesesimp>
<Russian>Белый свет</Russian> <Russian>Белый свет</Russian>
<Portuguese>Luz Branca</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_White_DescriptionShort"> <Key ID="STR_ACE_Chemlights_White_DescriptionShort">
<English>Type: Light - White&lt;br /&gt;Rounds: 1&lt;br /&gt;Used in: Hand</English> <English>Type: Light - White&lt;br /&gt;Rounds: 1&lt;br /&gt;Used in: Hand</English>
@ -136,6 +145,7 @@
<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>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_HiRed_DisplayName"> <Key ID="STR_ACE_Chemlights_HiRed_DisplayName">
<English>Chemlight (Hi Red)</English> <English>Chemlight (Hi Red)</English>
@ -143,11 +153,12 @@
<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 (Hi 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>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_HiRed_DisplayNameShort"> <Key ID="STR_ACE_Chemlights_HiRed_DisplayNameShort">
<English>Red Hi Light</English> <English>Red Hi Light</English>
@ -155,11 +166,12 @@
<Polish>Jaskrawe czerwone światło</Polish> <Polish>Jaskrawe czerwone światło</Polish>
<German>Helles, rotes Knicklicht</German> <German>Helles, rotes Knicklicht</German>
<Korean>밝은 빨간색</Korean> <Korean>밝은 빨간색</Korean>
<French>Lum. rouge haute intensité</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>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_HiRed_DescriptionShort"> <Key ID="STR_ACE_Chemlights_HiRed_DescriptionShort">
<English>Type: Light - Red Hi (30 minute)&lt;br /&gt;Rounds: 1&lt;br /&gt;Used in: Hand</English> <English>Type: Light - Red Hi (30 minute)&lt;br /&gt;Rounds: 1&lt;br /&gt;Used in: Hand</English>
@ -167,11 +179,12 @@
<Polish>Typ: Światło - jaskrawe czerwone (30 minut)&lt;br/&gt;Pociski: 1&lt;br/&gt;Używany w: ręce</Polish> <Polish>Typ: Światło - jaskrawe czerwone (30 minut)&lt;br/&gt;Pociski: 1&lt;br/&gt;Używany w: ręce</Polish>
<German>Typ: Licht - rot, hell (30 Minuten)&lt;br /&gt;Anzahl: 1&lt;br /&gt;Benutzt in: Hand</German> <German>Typ: Licht - rot, hell (30 Minuten)&lt;br /&gt;Anzahl: 1&lt;br /&gt;Benutzt in: Hand</German>
<Korean>종류: 밝은 빨간색 (30분)&lt;br /&gt;수량: 1&lt;br /&gt;사용처: 손</Korean> <Korean>종류: 밝은 빨간색 (30분)&lt;br /&gt;수량: 1&lt;br /&gt;사용처: 손</Korean>
<French>Type: Lumière - rouge Hi (30 minutes)&lt;br /&gt;Nbre: 1&lt;br /&gt; À main</French> <French>Type: Lumière - rouge HL (30 minutes)&lt;br /&gt;Nbre: 1&lt;br /&gt;À 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>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_HiYellow_DisplayName"> <Key ID="STR_ACE_Chemlights_HiYellow_DisplayName">
<English>Chemlight (Hi Yellow)</English> <English>Chemlight (Hi Yellow)</English>
@ -179,11 +192,12 @@
<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 (Hi 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>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_HiYellow_DisplayNameShort"> <Key ID="STR_ACE_Chemlights_HiYellow_DisplayNameShort">
<English>Yellow Hi Light</English> <English>Yellow Hi Light</English>
@ -191,11 +205,12 @@
<Polish>Jaskrawe żółte światło</Polish> <Polish>Jaskrawe żółte światło</Polish>
<German>Helles, gelbes Knicklicht</German> <German>Helles, gelbes Knicklicht</German>
<Korean>밝은 노란색</Korean> <Korean>밝은 노란색</Korean>
<French>Lum. jaune haute intensité</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>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_HiYellow_DescriptionShort"> <Key ID="STR_ACE_Chemlights_HiYellow_DescriptionShort">
<English>Type: Light - Yellow Hi (30 minute)&lt;br /&gt;Rounds: 1&lt;br /&gt;Used in: Hand</English> <English>Type: Light - Yellow Hi (30 minute)&lt;br /&gt;Rounds: 1&lt;br /&gt;Used in: Hand</English>
@ -203,11 +218,12 @@
<Polish>Typ: Światło - jaskrawe żółte (30 minut)&lt;br/&gt;Pociski: 1&lt;br/&gt;Używany w: ręce</Polish> <Polish>Typ: Światło - jaskrawe żółte (30 minut)&lt;br/&gt;Pociski: 1&lt;br/&gt;Używany w: ręce</Polish>
<German>Typ: Licht - gelb, hell (30 Minuten)&lt;br /&gt;Anzahl: 1&lt;br /&gt;Benutzt in: Hand</German> <German>Typ: Licht - gelb, hell (30 Minuten)&lt;br /&gt;Anzahl: 1&lt;br /&gt;Benutzt in: Hand</German>
<Korean>종류:밝은 노란색 (30분)&lt;br /&gt;수량: 1&lt;br /&gt;사용처: Hand</Korean> <Korean>종류:밝은 노란색 (30분)&lt;br /&gt;수량: 1&lt;br /&gt;사용처: Hand</Korean>
<French>Type: Lumière - Jaune Hi (30 minutes)Nbre: 1&lt;br /&gt; À main</French> <French>Type: Lumière - Jaune HL (30 minutes)&lt;br /&gt;Nbre: 1&lt;br /&gt;À 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>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_HiWhite_DisplayName"> <Key ID="STR_ACE_Chemlights_HiWhite_DisplayName">
<English>Chemlight (Hi White)</English> <English>Chemlight (Hi White)</English>
@ -215,11 +231,12 @@
<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 (Hi 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>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_HiWhite_DisplayNameShort"> <Key ID="STR_ACE_Chemlights_HiWhite_DisplayNameShort">
<English>White Hi Light</English> <English>White Hi Light</English>
@ -227,11 +244,12 @@
<Polish>Jaskrawe białe światło</Polish> <Polish>Jaskrawe białe światło</Polish>
<German>Helles, weißes Knicklicht</German> <German>Helles, weißes Knicklicht</German>
<Korean>밝은 하얀색</Korean> <Korean>밝은 하얀색</Korean>
<French>Lum. blanche haute intensité</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>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_HiWhite_DescriptionShort"> <Key ID="STR_ACE_Chemlights_HiWhite_DescriptionShort">
<English>Type: Light - White Hi (30 minute)&lt;br /&gt;Rounds: 1&lt;br /&gt;Used in: Hand</English> <English>Type: Light - White Hi (30 minute)&lt;br /&gt;Rounds: 1&lt;br /&gt;Used in: Hand</English>
@ -239,83 +257,111 @@
<Polish>Typ: Światło - jaskrawe białe (30 minut)&lt;br/&gt;Pociski: 1&lt;br/&gt;Używany w: ręce</Polish> <Polish>Typ: Światło - jaskrawe białe (30 minut)&lt;br/&gt;Pociski: 1&lt;br/&gt;Używany w: ręce</Polish>
<German>Typ: Licht - weiß, hell (30 Minuten)&lt;br /&gt;Anzahl: 1&lt;br /&gt;Benutzt in: Hand</German> <German>Typ: Licht - weiß, hell (30 Minuten)&lt;br /&gt;Anzahl: 1&lt;br /&gt;Benutzt in: Hand</German>
<Korean>종류: 밝은 하얀색 (30분)&lt;br /&gt;수량: 1&lt;br /&gt;사용처: 손</Korean> <Korean>종류: 밝은 하얀색 (30분)&lt;br /&gt;수량: 1&lt;br /&gt;사용처: 손</Korean>
<French>Type: Lumière - blanche Hi (30 minutes)&lt;br /&gt;Nbre: 1&lt;br /&gt; À main</French> <French>Type: Lumière - blanche HL (30 minutes)&lt;br /&gt;Nbre: 1&lt;br /&gt;À 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>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_HiBlue_DisplayName"> <Key ID="STR_ACE_Chemlights_HiBlue_DisplayName">
<English>Chemlight (Hi Blue)</English> <English>Chemlight (Hi Blue)</English>
<French>Cyalume (Hi Bleu)</French> <French>Cyalume (HL Bleu)</French>
<Japanese>ケミライト (高輝度 青)</Japanese> <Japanese>ケミライト (高輝度 青)</Japanese>
<Polish>Świetlik (jaskrawy niebieski)</Polish> <Polish>Świetlik (jaskrawy niebieski)</Polish>
<German>Knicklicht (Blau, Hell)</German>
<Italian>Luce chimica (Hi Blu)</Italian> <Italian>Luce chimica (Hi Blu)</Italian>
<Russian>Химсвет (Ярко-Синий)</Russian> <Russian>Химсвет (Ярко-Синий)</Russian>
<Portuguese>Bastão de Luz (Azul Forte)</Portuguese>
<Chinese>螢光棒(超亮藍色)</Chinese>
</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>
<French>Lum. bleue haute intensité</French> <French>Lum. bleue HL</French>
<German>Helles, blaues Knicklicht</German>
<Japanese>高輝度の青色</Japanese> <Japanese>高輝度の青色</Japanese>
<Polish>Jaskrawe niebieskie światło</Polish> <Polish>Jaskrawe niebieskie światło</Polish>
<Italian>Luce Hi Blu</Italian> <Italian>Luce Hi Blu</Italian>
<Russian>Яркий Синий свет</Russian> <Russian>Яркий Синий свет</Russian>
<Portuguese>Luz forte azul</Portuguese>
<Chinese>超亮藍色光</Chinese>
</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>
<French>Type: Lumière - bleue Hi (30 minutes)&lt;br /&gt;Nbre: 1&lt;br /&gt; À main</French> <French>Type: Lumière - bleue HL (30 minutes)&lt;br /&gt;Nbre: 1&lt;br /&gt;À main</French>
<German>Typ: Licht - blau, hell (30 Minuten)&lt;br /&gt;Anzahl: 1&lt;br /&gt;Benutzt in: Hand</German>
<Japanese>種類: 照明 - 高輝度 青 (30分間)&lt;br /&gt;装填数: 1&lt;br /&gt;次で使用: 携帯</Japanese> <Japanese>種類: 照明 - 高輝度 青 (30分間)&lt;br /&gt;装填数: 1&lt;br /&gt;次で使用: 携帯</Japanese>
<Polish>Typ: Światło - jaskrawe niebieskie (30 minut)&lt;br/&gt;Pociski: 1&lt;br/&gt;Używany w: ręce</Polish> <Polish>Typ: Światło - jaskrawe niebieskie (30 minut)&lt;br/&gt;Pociski: 1&lt;br/&gt;Używany w: ręce</Polish>
<Italian>Tipo: Luce - Hi blu (30 minuti)&lt;br/&gt;Rimanenti:1 &lt;br/&gt;Usata in: Mano</Italian> <Italian>Tipo: Luce - Hi blu (30 minuti)&lt;br/&gt;Rimanenti:1 &lt;br/&gt;Usata in: Mano</Italian>
<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>
<Chinese>類型: 光 - 超亮藍色 (30分鐘)&lt;br /&gt;發數: 1&lt;br /&gt;使用於: 手</Chinese>
</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>
<French>Cyalume (Hi Vert)</French> <French>Cyalume (HL Vert)</French>
<German>Knicklicht (Grün, Hell)</German>
<Japanese>ケミライト (高輝度 緑)</Japanese> <Japanese>ケミライト (高輝度 緑)</Japanese>
<Polish>Świetlik (jaskrawy zielony)</Polish> <Polish>Świetlik (jaskrawy zielony)</Polish>
<Italian>Luce chimica (Hi Verde)</Italian> <Italian>Luce chimica (Hi Verde)</Italian>
<Russian>Химсвет (Ярко-Зеленый)</Russian> <Russian>Химсвет (Ярко-Зеленый)</Russian>
<Portuguese>Bastão de Luz (Verde Forte)</Portuguese>
<Chinese>螢光棒(超亮綠色)</Chinese>
</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>
<French>Lum. verte haute intensité</French> <French>Lum. verte HL</French>
<German>Helles, grünes Knicklicht</German>
<Japanese>高輝度の青色</Japanese> <Japanese>高輝度の青色</Japanese>
<Polish>Jaskrawe zielone światło</Polish> <Polish>Jaskrawe zielone światło</Polish>
<Italian>Luce Hi Verde</Italian> <Italian>Luce Hi Verde</Italian>
<Russian>Яркий Зеленый свет</Russian> <Russian>Яркий Зеленый свет</Russian>
<Portuguese>Luz forte verde</Portuguese>
<Chinese>超亮綠色光</Chinese>
</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>
<French>Type: Lumière - verte Hi (30 minutes)&lt;br /&gt;Nbre: 1&lt;br /&gt; À main</French> <French>Type: Lumière - verte HL (30 minutes)&lt;br /&gt;Nbre: 1&lt;br /&gt;À main</French>
<German>Typ: Licht - grün, hell (30 Minuten)&lt;br /&gt;Anzahl: 1&lt;br /&gt;Benutzt in: Hand</German>
<Japanese>種類: 照明 - 高輝度 緑 (30分間)&lt;br /&gt;装填数: 1&lt;br /&gt;次で使用: 携帯</Japanese> <Japanese>種類: 照明 - 高輝度 緑 (30分間)&lt;br /&gt;装填数: 1&lt;br /&gt;次で使用: 携帯</Japanese>
<Polish>Typ: Światło - jaskrawe zielone (30 minut)&lt;br/&gt;Pociski: 1&lt;br/&gt;Używany w: ręce</Polish> <Polish>Typ: Światło - jaskrawe zielone (30 minut)&lt;br/&gt;Pociski: 1&lt;br/&gt;Używany w: ręce</Polish>
<Italian>Tipo: Luce - Hi verde (30 minuti)&lt;br/&gt;Rimanenti: 1&lt;br/&gt;Usata in: Mano</Italian> <Italian>Tipo: Luce - Hi verde (30 minuti)&lt;br/&gt;Rimanenti: 1&lt;br/&gt;Usata in: Mano</Italian>
<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>
<Chinese>類型: 光 - 超亮綠色 (30分鐘)&lt;br /&gt;發數: 1&lt;br /&gt;使用於: 手</Chinese>
</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>
<French>Cyalume (Ultra-Hi orange)</French> <French>Cyalume (UHL orange)</French>
<German>Knicklicht (Orange, Hell)</German>
<Japanese>ケミライト (高輝度 オレンジ)</Japanese> <Japanese>ケミライト (高輝度 オレンジ)</Japanese>
<Polish>Świetlik (ultra-jaskrawy pomarańczowy)</Polish> <Polish>Świetlik (ultra-jaskrawy pomarańczowy)</Polish>
<Italian>Luce chimica (Ultra-Hi Arancione)</Italian> <Italian>Luce chimica (Ultra-Hi Arancione)</Italian>
<Russian>Химсвет (Ультраяркий Оранжевый)</Russian> <Russian>Химсвет (Ультраяркий Оранжевый)</Russian>
<Portuguese>Bastão de Luz (Laranja Ultra Forte)</Portuguese>
<Chinese>螢光棒(極亮橘色)</Chinese>
</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>
<French>Lum. orange ultra haute intensité</French> <French>Lum. orange UHL</French>
<German>Helles, orangenes Knicklicht</German>
<Japanese>ウルトラ高輝度のオレンジ色</Japanese> <Japanese>ウルトラ高輝度のオレンジ色</Japanese>
<Polish>Ultra-jaskrawe pomarańczowe światło</Polish> <Polish>Ultra-jaskrawe pomarańczowe światło</Polish>
<Italian>Luce Ultra-Hi Arancione</Italian> <Italian>Luce Ultra-Hi Arancione</Italian>
<Russian>Ультраяркий Оранжевый свет</Russian> <Russian>Ультраяркий Оранжевый свет</Russian>
<Portuguese>Luz ultra forte laranja</Portuguese>
<Chinese>極亮橘色光</Chinese>
</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>
<French>Type: Lumière - Orange Ultra-Hi (5 minutes)&lt;br /&gt;Nbre: 1&lt;br /&gt; À main</French> <French>Type: Lumière - orange UHL (5 minutes)&lt;br /&gt;Nbre: 1&lt;br /&gt;À main</French>
<German>Typ: Licht - orange, hell (5 Minuten)&lt;br /&gt;Anzahl: 1&lt;br /&gt;Benutzt in: Hand</German>
<Japanese>種類: 照明 - ウルトラ高輝度 オレンジ (5分間)&lt;br /&gt;装填数: 1&lt;br /&gt;次で使用: 携帯</Japanese> <Japanese>種類: 照明 - ウルトラ高輝度 オレンジ (5分間)&lt;br /&gt;装填数: 1&lt;br /&gt;次で使用: 携帯</Japanese>
<Polish>Typ: Światło - ultra-jaskrawe pomarańczowe (30 minut)&lt;br/&gt;Pociski: 1&lt;br/&gt;Używany w: ręce</Polish> <Polish>Typ: Światło - ultra-jaskrawe pomarańczowe (5 minut)&lt;br/&gt;Pociski: 1&lt;br/&gt;Używany w: ręce</Polish>
<Italian>Tipo: Luce - Ultra-Hi (5 minuti)&lt;br/&gt;Rimanenti: 1&lt;br/&gt;Usata in: Mano</Italian> <Italian>Tipo: Luce - Ultra-Hi (5 minuti)&lt;br/&gt;Rimanenti: 1&lt;br/&gt;Usata in: Mano</Italian>
<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>
<Chinese>類型: 光 - 極亮橘色 (5分鐘)&lt;br /&gt;發數: 1&lt;br /&gt;使用於: 手</Chinese>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_IR_DisplayName"> <Key ID="STR_ACE_Chemlights_IR_DisplayName">
<English>Chemlight (IR)</English> <English>Chemlight (IR)</English>
@ -328,6 +374,7 @@
<Chinese>螢光棒 (紅外線)</Chinese> <Chinese>螢光棒 (紅外線)</Chinese>
<Chinesesimp>萤光棒 (红外线)</Chinesesimp> <Chinesesimp>萤光棒 (红外线)</Chinesesimp>
<Russian>Химсвет (Инфракрасный)</Russian> <Russian>Химсвет (Инфракрасный)</Russian>
<Portuguese>Bastão de Luz (IV)</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_IR_DisplayNameShort"> <Key ID="STR_ACE_Chemlights_IR_DisplayNameShort">
<English>IR Light</English> <English>IR Light</English>
@ -335,11 +382,12 @@
<Polish>Światło podczerwone</Polish> <Polish>Światło podczerwone</Polish>
<German>IR-Knicklicht</German> <German>IR-Knicklicht</German>
<Korean>적외선 켐라이트</Korean> <Korean>적외선 켐라이트</Korean>
<French>Lumière IR</French> <French>Lum. IR</French>
<Italian>Luce IR</Italian> <Italian>Luce IR</Italian>
<Chinese>紅外線光</Chinese> <Chinese>紅外線光</Chinese>
<Chinesesimp>红外线光</Chinesesimp> <Chinesesimp>红外线光</Chinesesimp>
<Russian>Инфракрасный свет</Russian> <Russian>Инфракрасный свет</Russian>
<Portuguese>Bastão de luz infravermelho</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_IR_DescriptionShort"> <Key ID="STR_ACE_Chemlights_IR_DescriptionShort">
<English>Type: Light - Infrared&lt;br /&gt;Rounds: 1&lt;br /&gt;Used in: Hand</English> <English>Type: Light - Infrared&lt;br /&gt;Rounds: 1&lt;br /&gt;Used in: Hand</English>
@ -352,6 +400,7 @@
<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>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_Shield_Empty_DisplayName"> <Key ID="STR_ACE_Chemlights_Shield_Empty_DisplayName">
<English>Chemlight Shield (Empty)</English> <English>Chemlight Shield (Empty)</English>
@ -359,11 +408,12 @@
<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>Étui 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>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_Shield_Empty_DescriptionShort"> <Key ID="STR_ACE_Chemlights_Shield_Empty_DescriptionShort">
<English>Shield for chemlights. Combine with chemlight to prepare reading light.</English> <English>Shield for chemlights. Combine with chemlight to prepare reading light.</English>
@ -371,11 +421,12 @@
<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. Combiné avec un cyalume pour obtennir un lampe de lecture.</French> <French>Étui pour cyalume. 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>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_Shield_Green_DisplayName"> <Key ID="STR_ACE_Chemlights_Shield_Green_DisplayName">
<English>Chemlight Shield (Green)</English> <English>Chemlight Shield (Green)</English>
@ -383,11 +434,12 @@
<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>Étui 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>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_Shield_Green_DescriptionShort"> <Key ID="STR_ACE_Chemlights_Shield_Green_DescriptionShort">
<English>Green reading light.</English> <English>Green reading light.</English>
@ -395,11 +447,12 @@
<Polish>Zielona lampka.</Polish> <Polish>Zielona lampka.</Polish>
<German>Grünes Leselicht.</German> <German>Grünes Leselicht.</German>
<Korean>초록빛 조명</Korean> <Korean>초록빛 조명</Korean>
<French>Lampe d'orientation verte.</French> <French>Lampe de lecture verte.</French>
<Italian>Luce da lettura Verde.</Italian> <Italian>Luce da lettura Verde.</Italian>
<Chinese>綠色閱讀燈</Chinese> <Chinese>綠色閱讀燈</Chinese>
<Chinesesimp>绿色阅读灯。</Chinesesimp> <Chinesesimp>绿色阅读灯。</Chinesesimp>
<Russian>Ночник из Химсвета (Зеленый)</Russian> <Russian>Ночник из Химсвета (Зеленый)</Russian>
<Portuguese>Luz de leitura verde.</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_Shield_Red_DisplayName"> <Key ID="STR_ACE_Chemlights_Shield_Red_DisplayName">
<English>Chemlight Shield (Red)</English> <English>Chemlight Shield (Red)</English>
@ -407,11 +460,12 @@
<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>Étui 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>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_Shield_Red_DescriptionShort"> <Key ID="STR_ACE_Chemlights_Shield_Red_DescriptionShort">
<English>Red reading light.</English> <English>Red reading light.</English>
@ -419,11 +473,12 @@
<Polish>Czerwona lampka.</Polish> <Polish>Czerwona lampka.</Polish>
<German>Rotes Leselicht.</German> <German>Rotes Leselicht.</German>
<Korean>빨간색 조명</Korean> <Korean>빨간색 조명</Korean>
<French>Lampe d'orientation rouge.</French> <French>Lampe de lecture rouge.</French>
<Italian>Luce da lettura Rossa.</Italian> <Italian>Luce da lettura Rossa.</Italian>
<Chinese>紅色閱讀燈</Chinese> <Chinese>紅色閱讀燈</Chinese>
<Chinesesimp>红色阅读灯。</Chinesesimp> <Chinesesimp>红色阅读灯。</Chinesesimp>
<Russian>Ночник из Химсвета (Красный)</Russian> <Russian>Ночник из Химсвета (Красный)</Russian>
<Portuguese>Luz de leitura vermelha.</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_Shield_Blue_DisplayName"> <Key ID="STR_ACE_Chemlights_Shield_Blue_DisplayName">
<English>Chemlight Shield (Blue)</English> <English>Chemlight Shield (Blue)</English>
@ -431,11 +486,12 @@
<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>Étui 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>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_Shield_Blue_DescriptionShort"> <Key ID="STR_ACE_Chemlights_Shield_Blue_DescriptionShort">
<English>Blue reading light.</English> <English>Blue reading light.</English>
@ -443,11 +499,12 @@
<Polish>Niebieska lampka.</Polish> <Polish>Niebieska lampka.</Polish>
<German>Blaues Leselicht.</German> <German>Blaues Leselicht.</German>
<Korean>파란색 조명</Korean> <Korean>파란색 조명</Korean>
<French>Lampe d'orientation bleue.</French> <French>Lampe de lecture bleue.</French>
<Italian>Luce da lettura Blu.</Italian> <Italian>Luce da lettura Blu.</Italian>
<Chinese>藍色閱讀燈</Chinese> <Chinese>藍色閱讀燈</Chinese>
<Chinesesimp>蓝色阅读灯。</Chinesesimp> <Chinesesimp>蓝色阅读灯。</Chinesesimp>
<Russian>Ночник из Химсвета (Синий)</Russian> <Russian>Ночник из Химсвета (Синий)</Russian>
<Portuguese>Luz de leitura azul.</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_Shield_Yellow_DisplayName"> <Key ID="STR_ACE_Chemlights_Shield_Yellow_DisplayName">
<English>Chemlight Shield (Yellow)</English> <English>Chemlight Shield (Yellow)</English>
@ -455,11 +512,12 @@
<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>Étui 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>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_Shield_Yellow_DescriptionShort"> <Key ID="STR_ACE_Chemlights_Shield_Yellow_DescriptionShort">
<English>Yellow reading light.</English> <English>Yellow reading light.</English>
@ -467,11 +525,12 @@
<Polish>Żółta lampka.</Polish> <Polish>Żółta lampka.</Polish>
<German>Gelbes Leselicht.</German> <German>Gelbes Leselicht.</German>
<Korean>노란색 조명</Korean> <Korean>노란색 조명</Korean>
<French>Lampe d'orientation jaune.</French> <French>Lampe de lecture jaune.</French>
<Italian>Luce da lettura Gialla.</Italian> <Italian>Luce da lettura Gialla.</Italian>
<Chinese>黃色閱讀燈</Chinese> <Chinese>黃色閱讀燈</Chinese>
<Chinesesimp>黄色阅读灯。</Chinesesimp> <Chinesesimp>黄色阅读灯。</Chinesesimp>
<Russian>Ночник из Химсвета (Желтый)</Russian> <Russian>Ночник из Химсвета (Желтый)</Russian>
<Portuguese>Luz de leitura amarela.</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_Shield_Orange_DisplayName"> <Key ID="STR_ACE_Chemlights_Shield_Orange_DisplayName">
<English>Chemlight Shield (Orange)</English> <English>Chemlight Shield (Orange)</English>
@ -479,11 +538,12 @@
<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>Étui 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>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_Shield_Orange_DescriptionShort"> <Key ID="STR_ACE_Chemlights_Shield_Orange_DescriptionShort">
<English>Orange reading light.</English> <English>Orange reading light.</English>
@ -491,11 +551,12 @@
<Polish>Pomarańczowa lampka.</Polish> <Polish>Pomarańczowa lampka.</Polish>
<German>Oranges Leselicht.</German> <German>Oranges Leselicht.</German>
<Korean>주황색 조명</Korean> <Korean>주황색 조명</Korean>
<French>Lampe d'orientation orange.</French> <French>Lampe de lecture orange.</French>
<Italian>Luce da lettura Arancione.</Italian> <Italian>Luce da lettura Arancione.</Italian>
<Chinese>橘色閱讀燈</Chinese> <Chinese>橘色閱讀燈</Chinese>
<Chinesesimp>橘色阅读灯。</Chinesesimp> <Chinesesimp>橘色阅读灯。</Chinesesimp>
<Russian>Ночник из Химсвета (Оранжевый)</Russian> <Russian>Ночник из Химсвета (Оранжевый)</Russian>
<Portuguese>Luz de leitura laranja.</Portuguese>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_Shield_White_DisplayName"> <Key ID="STR_ACE_Chemlights_Shield_White_DisplayName">
<English>Chemlight Shield (White)</English> <English>Chemlight Shield (White)</English>
@ -503,11 +564,12 @@
<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>Étui 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>
</Key> </Key>
<Key ID="STR_ACE_Chemlights_Shield_White_DescriptionShort"> <Key ID="STR_ACE_Chemlights_Shield_White_DescriptionShort">
<English>White reading light.</English> <English>White reading light.</English>
@ -515,11 +577,12 @@
<Polish>Biała lampka.</Polish> <Polish>Biała lampka.</Polish>
<German>Weißes Leselicht.</German> <German>Weißes Leselicht.</German>
<Korean>주황색 조명</Korean> <Korean>주황색 조명</Korean>
<French>Lampe d'orientation blanche.</French> <French>Lampe de lecture blanche.</French>
<Italian>Luce da lettura Bianca.</Italian> <Italian>Luce da lettura Bianca.</Italian>
<Chinese>白色閱讀燈</Chinese> <Chinese>白色閱讀燈</Chinese>
<Chinesesimp>白色阅读灯。</Chinesesimp> <Chinesesimp>白色阅读灯。</Chinesesimp>
<Russian>Ночник из Химсвета (Белый)</Russian> <Russian>Ночник из Химсвета (Белый)</Russian>
<Portuguese>Luz de leitura branca.</Portuguese>
</Key> </Key>
</Package> </Package>
</Project> </Project>

View File

@ -22,6 +22,7 @@ class ACE_Settings {
typeName = "SCALAR"; typeName = "SCALAR";
isClientSettable = 0; isClientSettable = 0;
displayName = CSTRING(CheckPBOsAction); displayName = CSTRING(CheckPBOsAction);
description = CSTRING(CheckPBOsActionDesc);
values[] = {CSTRING(CheckPBO_Action_WarnOnce), CSTRING(CheckPBO_Action_WarnPerm), CSTRING(CheckPBO_Action_Kick)}; values[] = {CSTRING(CheckPBO_Action_WarnOnce), CSTRING(CheckPBO_Action_WarnPerm), CSTRING(CheckPBO_Action_Kick)};
}; };
class GVAR(checkPBOsCheckAll) { class GVAR(checkPBOsCheckAll) {
@ -30,6 +31,7 @@ class ACE_Settings {
typeName = "BOOL"; typeName = "BOOL";
isClientSettable = 0; isClientSettable = 0;
displayName = CSTRING(CheckPBOsCheckAll); displayName = CSTRING(CheckPBOsCheckAll);
description = CSTRING(CheckPBOsCheckAllDesc);
}; };
class GVAR(checkPBOsWhitelist) { class GVAR(checkPBOsWhitelist) {
category = CSTRING(DisplayName); category = CSTRING(DisplayName);
@ -37,6 +39,7 @@ class ACE_Settings {
typeName = "STRING"; typeName = "STRING";
isClientSettable = 0; isClientSettable = 0;
displayName = CSTRING(CheckPBOsWhitelist); displayName = CSTRING(CheckPBOsWhitelist);
description = CSTRING(CheckPBOsWhitelistDesc);
}; };
/*class GVAR(enableNumberHotkeys) { /*class GVAR(enableNumberHotkeys) {
value = 1; value = 1;

View File

@ -27,6 +27,7 @@ PREP(changeProjectileDirection);
PREP(checkFiles); PREP(checkFiles);
PREP(checkPBOs); PREP(checkPBOs);
PREP(claim); PREP(claim);
PREP(claimSafeServer);
PREP(codeToString); PREP(codeToString);
PREP(createOrthonormalReference); PREP(createOrthonormalReference);
PREP(currentChannel); PREP(currentChannel);
@ -138,6 +139,7 @@ PREP(positionToASL);
PREP(progressBar); PREP(progressBar);
PREP(readSettingFromModule); PREP(readSettingFromModule);
PREP(receiveRequest); PREP(receiveRequest);
PREP(registerItemReplacement);
PREP(removeCanInteractWithCondition); PREP(removeCanInteractWithCondition);
PREP(removeSpecificMagazine); PREP(removeSpecificMagazine);
PREP(requestCallback); PREP(requestCallback);

View File

@ -121,8 +121,8 @@ if (isServer) then {
[QGVAR(fixFloating), FUNC(fixFloating)] call CBA_fnc_addEventHandler; [QGVAR(fixFloating), FUNC(fixFloating)] call CBA_fnc_addEventHandler;
[QGVAR(fixPosition), FUNC(fixPosition)] call CBA_fnc_addEventHandler; [QGVAR(fixPosition), FUNC(fixPosition)] call CBA_fnc_addEventHandler;
["ace_loadPersonEvent", FUNC(loadPersonLocal)] call CBA_fnc_addEventHandler; ["ace_loadPersonEvent", LINKFUNC(loadPersonLocal)] call CBA_fnc_addEventHandler;
["ace_unloadPersonEvent", FUNC(unloadPersonLocal)] call CBA_fnc_addEventHandler; ["ace_unloadPersonEvent", LINKFUNC(unloadPersonLocal)] call CBA_fnc_addEventHandler;
[QGVAR(lockVehicle), { [QGVAR(lockVehicle), {
_this setVariable [QGVAR(lockStatus), locked _this]; _this setVariable [QGVAR(lockStatus), locked _this];
@ -174,6 +174,7 @@ if (isServer) then {
[QGVAR(setShotParents), {(_this select 0) setShotParents [_this select 1, _this select 2]}] call CBA_fnc_addEventHandler; [QGVAR(setShotParents), {(_this select 0) setShotParents [_this select 1, _this select 2]}] call CBA_fnc_addEventHandler;
["ace_setOwner", {(_this select 0) setOwner (_this select 1)}] call CBA_fnc_addEventHandler; ["ace_setOwner", {(_this select 0) setOwner (_this select 1)}] call CBA_fnc_addEventHandler;
[QGVAR(serverLog), FUNC(serverLog)] call CBA_fnc_addEventHandler; [QGVAR(serverLog), FUNC(serverLog)] call CBA_fnc_addEventHandler;
[QGVAR(claimSafe), LINKFUNC(claimSafeServer)] call CBA_fnc_addEventHandler;
}; };
@ -204,7 +205,7 @@ if (isServer) then {
// Check files, previous installed version etc. // Check files, previous installed version etc.
////////////////////////////////////////////////// //////////////////////////////////////////////////
private _currentVersion = getText (configFile >> "CfgPatches" >> QUOTE(ADDON) >> "version"); private _currentVersion = getText (configFile >> "CfgPatches" >> QUOTE(ADDON) >> "versionStr");
private _previousVersion = profileNamespace getVariable ["ACE_VersionNumberString", ""]; private _previousVersion = profileNamespace getVariable ["ACE_VersionNumberString", ""];
// check previous version number from profile // check previous version number from profile
@ -312,7 +313,7 @@ addMissionEventHandler ["PlayerViewChanged", {
if (isNull player) exitWith {true}; if (isNull player) exitWith {true};
private _UAV = getConnectedUAV player; private _UAV = getConnectedUAV player;
if (!alive player) then {_UAV = objNull;}; if (!alive player) then {_UAV = objNull;};
private _position = (UAVControl _UAV) param [1, ""]; private _position = [player] call FUNC(getUavControlPosition);
private _seatAI = objNull; private _seatAI = objNull;
private _turret = []; private _turret = [];
switch (toLower _position) do { switch (toLower _position) do {
@ -458,14 +459,14 @@ GVAR(deviceKeyHandlingArray) = [];
GVAR(deviceKeyCurrentIndex) = -1; GVAR(deviceKeyCurrentIndex) = -1;
// Register localizations for the Keybinding categories // Register localizations for the Keybinding categories
["ACE3 Equipment", localize LSTRING(ACEKeybindCategoryEquipment)] call CBA_fnc_registerKeybindModPrettyName; ["ACE3 Equipment", LLSTRING(ACEKeybindCategoryEquipment)] call CBA_fnc_registerKeybindModPrettyName;
["ACE3 Common", localize LSTRING(ACEKeybindCategoryCommon)] call CBA_fnc_registerKeybindModPrettyName; ["ACE3 Common", LLSTRING(ACEKeybindCategoryCommon)] call CBA_fnc_registerKeybindModPrettyName;
["ACE3 Weapons", localize LSTRING(ACEKeybindCategoryWeapons)] call CBA_fnc_registerKeybindModPrettyName; ["ACE3 Weapons", LLSTRING(ACEKeybindCategoryWeapons)] call CBA_fnc_registerKeybindModPrettyName;
["ACE3 Movement", localize LSTRING(ACEKeybindCategoryMovement)] call CBA_fnc_registerKeybindModPrettyName; ["ACE3 Movement", LLSTRING(ACEKeybindCategoryMovement)] call CBA_fnc_registerKeybindModPrettyName;
["ACE3 Scope Adjustment", localize LSTRING(ACEKeybindCategoryScopeAdjustment)] call CBA_fnc_registerKeybindModPrettyName; ["ACE3 Scope Adjustment", LLSTRING(ACEKeybindCategoryScopeAdjustment)] call CBA_fnc_registerKeybindModPrettyName;
["ACE3 Vehicles", localize LSTRING(ACEKeybindCategoryVehicles)] call CBA_fnc_registerKeybindModPrettyName; ["ACE3 Vehicles", LLSTRING(ACEKeybindCategoryVehicles)] call CBA_fnc_registerKeybindModPrettyName;
["ACE3 Equipment", QGVAR(openDevice), (localize "STR_ACE_Common_toggleHandheldDevice"), { ["ACE3 Equipment", QGVAR(openDevice), LLSTRING(toggleHandheldDevice), {
[] call FUNC(deviceKeyFindValidIndex); [] call FUNC(deviceKeyFindValidIndex);
if (GVAR(deviceKeyCurrentIndex) == -1) exitWith {false}; if (GVAR(deviceKeyCurrentIndex) == -1) exitWith {false};
[] call ((GVAR(deviceKeyHandlingArray) select GVAR(deviceKeyCurrentIndex)) select 3); [] call ((GVAR(deviceKeyHandlingArray) select GVAR(deviceKeyCurrentIndex)) select 3);
@ -474,7 +475,7 @@ GVAR(deviceKeyCurrentIndex) = -1;
{false}, {false},
[0xC7, [false, false, false]], false] call CBA_fnc_addKeybind; //Home Key [0xC7, [false, false, false]], false] call CBA_fnc_addKeybind; //Home Key
["ACE3 Equipment", QGVAR(closeDevice), (localize "STR_ACE_Common_closeHandheldDevice"), { ["ACE3 Equipment", QGVAR(closeDevice), LLSTRING(closeHandheldDevice), {
[] call FUNC(deviceKeyFindValidIndex); [] call FUNC(deviceKeyFindValidIndex);
if (GVAR(deviceKeyCurrentIndex) == -1) exitWith {false}; if (GVAR(deviceKeyCurrentIndex) == -1) exitWith {false};
[] call ((GVAR(deviceKeyHandlingArray) select GVAR(deviceKeyCurrentIndex)) select 4); [] call ((GVAR(deviceKeyHandlingArray) select GVAR(deviceKeyCurrentIndex)) select 4);
@ -483,7 +484,7 @@ GVAR(deviceKeyCurrentIndex) = -1;
{false}, {false},
[0xC7, [false, true, false]], false] call CBA_fnc_addKeybind; //CTRL + Home Key [0xC7, [false, true, false]], false] call CBA_fnc_addKeybind; //CTRL + Home Key
["ACE3 Equipment", QGVAR(cycleDevice), (localize "STR_ACE_Common_cycleHandheldDevices"), { ["ACE3 Equipment", QGVAR(cycleDevice), LLSTRING(cycleHandheldDevices), {
[1] call FUNC(deviceKeyFindValidIndex); [1] call FUNC(deviceKeyFindValidIndex);
if (GVAR(deviceKeyCurrentIndex) == -1) exitWith {false}; if (GVAR(deviceKeyCurrentIndex) == -1) exitWith {false};
private _displayName = ((GVAR(deviceKeyHandlingArray) select GVAR(deviceKeyCurrentIndex)) select 0); private _displayName = ((GVAR(deviceKeyHandlingArray) select GVAR(deviceKeyCurrentIndex)) select 0);

View File

@ -10,7 +10,7 @@ class CfgPatches {
author = CSTRING(ACETeam); author = CSTRING(ACETeam);
authors[] = {"KoffeinFlummi"}; authors[] = {"KoffeinFlummi"};
url = ECSTRING(main,URL); url = ECSTRING(main,URL);
VERSION_CONFIG_COMMON; VERSION_CONFIG;
}; };
}; };
@ -67,9 +67,7 @@ class ACE_Rsc_Control_Base {
#include "CompassControl.hpp" #include "CompassControl.hpp"
#include "CfgUIGrids.hpp" #include "CfgUIGrids.hpp"
class ACE_Extensions { class ACE_Extensions {};
extensions[] = {};
};
class ACE_Tests { class ACE_Tests {
vehicleTransportInventory = QPATHTOF(dev\test_vehicleInventory.sqf); vehicleTransportInventory = QPATHTOF(dev\test_vehicleInventory.sqf);

View File

@ -1,12 +1,12 @@
#include "script_component.hpp" #include "script_component.hpp"
/* /*
* Author: PabstMirror * Author: PabstMirror
* Gets arithmetic result from a set. * Returns the arithmetic result of performing the given operation on a set.
* *
* Arguments: * Arguments:
* 0: Namespace <OBJECT><LOCATION><MISSIONNAMESPACE> * 0: Namespace <OBJECT|LOCATION|NAMESPACE>
* 1: Number Set ID <STRING> * 1: Number Set ID <STRING>
* 2: Operation (sum, product, min, max, avg) (Case Sensitive) <STRING> * 2: Operation (max, min, sum, product, avg) (Case Sensitive) <STRING>
* *
* Return Value: * Return Value:
* Value <NUMBER> * Value <NUMBER>
@ -18,51 +18,44 @@
* Public: Yes * Public: Yes
*/ */
params ["_namespace", "_setID", "_op"]; params ["_namespace", "_setID", "_operation"];
TRACE_3("arithmeticGetResult",_namespace,_setID,_op); TRACE_3("arithmeticGetResult",_namespace,_setID,_operation);
private _data = (_namespace getVariable _setID) param [2, []]; private _data = (_namespace getVariable _setID) param [2, [{0}]];
switch (_op) do { switch (_operation) do {
case ("max"): { case "max": {
private _result = -1e99; selectMax (_data apply {call _x})
{
_result = _result max (call _x);
nil
} count _data;
_result // return
}; };
case ("sum"): { case "min": {
selectMin (_data apply {call _x})
};
case "sum": {
private _result = 0; private _result = 0;
{ {
_result = _result + (call _x); _result = _result + call _x;
nil } forEach _data;
} count _data;
_result // return _result
}; };
case ("product"): { case "product": {
private _result = 1; private _result = 1;
{ {
_result = _result * (call _x); _result = _result * call _x;
nil } forEach _data;
} count _data;
_result // return _result
}; };
case ("min"): { case "avg": {
private _result = 1e99;
{
_result = _result min (call _x);
nil
} count _data;
_result // return
};
case ("avg"): {
private _result = 0; private _result = 0;
{ {
_result = _result + (call _x); _result = _result + call _x;
nil } forEach _data;
} count _data;
_result / (count _data); // return _result / count _data
}; };
default {3735928559}; default {3735928559};
}; };

View File

@ -4,7 +4,7 @@
* Adds or removes a source to an arithmetic set. * Adds or removes a source to an arithmetic set.
* *
* Arguments: * Arguments:
* 0: Namespace <OBJECT><LOCATION><MISSIONNAMESPACE> * 0: Namespace <OBJECT|LOCATION|NAMESPACE>
* 1: Number Set ID <STRING> * 1: Number Set ID <STRING>
* 2: Source <STRING> * 2: Source <STRING>
* 3: Code that returns a number (can access var _namespace) [use {} to remove] <CODE> * 3: Code that returns a number (can access var _namespace) [use {} to remove] <CODE>
@ -20,13 +20,15 @@
*/ */
params ["_namespace", "_setID", "_source", "_variable"]; params ["_namespace", "_setID", "_source", "_variable"];
TRACE_4("params",_namespace,_setID,_source,_variable); TRACE_4("arithmeticSetSource",_namespace,_setID,_source,_variable);
private _hash = _namespace getVariable _setID; private _hash = _namespace getVariable _setID;
if (isNil "_hash") then { if (isNil "_hash") then {
_hash = [] call CBA_fnc_hashCreate; _hash = [] call CBA_fnc_hashCreate;
_namespace setVariable [_setID, _hash]; _namespace setVariable [_setID, _hash];
}; };
if (_variable isEqualTo {}) then { if (_variable isEqualTo {}) then {
TRACE_1("removing",_source); TRACE_1("removing",_source);
[_hash, _source] call CBA_fnc_hashRem; [_hash, _source] call CBA_fnc_hashRem;

View File

@ -67,27 +67,32 @@ if (!(_oldCompats isEqualTo [])) then {
}; };
/////////////// ///////////////
// check dlls // check extensions
/////////////// ///////////////
if (toLower (productVersion select 6) in ["linux", "osx"]) then { private _platform = toLower (productVersion select 6);
INFO("Operating system does not support DLL file format"); if (!isServer && {_platform in ["linux", "osx"]}) then {
// Linux and OSX client ports do not support extensions at all
INFO("Operating system does not support extensions");
} else { } else {
{ {
private _versionEx = _x callExtension "version"; private _extension = configName _x;
private _isWindows = _platform == "windows" && {getNumber (_x >> "windows") == 1};
private _isLinux = _platform == "linux" && {getNumber (_x >> "linux") == 1};
private _isClient = hasInterface && {getNumber (_x >> "client") == 1};
private _isServer = !hasInterface && {getNumber (_x >> "server") == 1};
if ((_isWindows || _isLinux) && {_isClient || _isServer}) then {
private _versionEx = _extension callExtension "version";
if (_versionEx == "") then { if (_versionEx == "") then {
private _extension = ".dll"; private _extensionFile = _extension;
if (productVersion select 7 == "x64") then { if (productVersion select 7 == "x64") then {
_extension = "_x64.dll"; _extensionFile = format ["%1_x64", _extensionFile];
}; };
if (productVersion select 6 == "Linux") then { private _platformExt = [".dll", ".so"] select (_platform == "linux");
_extension = ".so"; _extensionFile = format ["%1%2", _extensionFile, _platformExt];
};
private _errorMsg = format ["Extension %1%2 not found.", _x, _extension];
private _errorMsg = format ["Extension %1 not found.", _extensionFile];
ERROR(_errorMsg); ERROR(_errorMsg);
if (hasInterface) then { if (hasInterface) then {
@ -95,10 +100,13 @@ if (toLower (productVersion select 6) in ["linux", "osx"]) then {
}; };
} else { } else {
// Print the current extension version // Print the current extension version
INFO_2("Extension version: %1: %2",_x,_versionEx); INFO_2("Extension version: %1: %2",_extension,_versionEx);
}; };
false };
} count getArray (configFile >> "ACE_Extensions" >> "extensions"); } forEach ("true" configClasses (configFile >> "ACE_Extensions"));
};
if (isArray (configFile >> "ACE_Extensions" >> "extensions")) then {
WARNING("extensions[] array no longer supported");
}; };
/////////////// ///////////////

View File

@ -0,0 +1,57 @@
#include "script_component.hpp"
/*
* Author: commy2, PabstMirror
* Unit claims the ownership over an object. This is used to prevent multiple players from draging the same ammo box or using up the same wheel when repairing etc.
* This function only runs on the server and handles the "ace_common_claimSafe" event. It provides a network safe way claiming objects as all claims are run on server.
* Return event is passed [_unit, _target, _success] for new claims, no event on claim release
*
* Arguments:
* 0: Unit that claims another object. ObjNull to remove claim. <OBJECT>
* 1: The object that gets claimed. <OBJECT>
* 2: Lock the claimed object aswell? (optional: false) <BOOL>
* 3: Target event to trigger for calling machine (called where _unit is local) <STRING>
*
* Return Value:
* None
*
* Example:
* [bob, flag, true, "claimReturn"] call ace_common_fnc_claimSafeServer
*
* Public: Yes
*/
params ["_unit", "_target", ["_lockTarget", false], ["_returnEvent", ""]];
private _owner = _target getVariable [QGVAR(owner), objNull];
TRACE_4("claimSafeServer",_unit,_target,_returnEvent,_owner);
if (!isNull _owner && {!isNull _unit} && {_unit != _owner}) exitWith {
WARNING_1("Claiming already owned object. - %1",_this);
if (_returnEvent == "") exitWith {};
[_returnEvent, [_unit, _target, false], _unit] call CBA_fnc_targetEvent;
};
// transfer this immediately
_target setVariable [QGVAR(owner), _unit, true];
// lock target object
if (_lockTarget) then {
private _canBeDisassembled = !([] isEqualTo getArray (_target call CBA_fnc_getObjectConfig >> "assembleInfo" >> "dissasembleTo")) && { !([false, true] select (_target getVariable [QEGVAR(csw,assemblyMode), 0])) };
if (!isNull _unit) then {
[QGVAR(lockVehicle), _target, _target] call CBA_fnc_targetEvent;
if (_canBeDisassembled) then {
_target enableWeaponDisassembly false;
};
} else {
[QGVAR(unlockVehicle), _target, _target] call CBA_fnc_targetEvent;
if (_canBeDisassembled) then {
_target enableWeaponDisassembly true;
};
};
};
if (!isNull _unit) then {
TRACE_2("claim success",_unit,_target);
if (_returnEvent == "") exitWith {};
[_returnEvent, [_unit, _target, true], _unit] call CBA_fnc_targetEvent;
};

View File

@ -82,7 +82,7 @@ if (_state) then {
openMap true; openMap true;
}; };
if (isServer || {serverCommandAvailable "#kick"} || {player getVariable ["ACE_isUnconscious", false] && {(call FUNC(player)) getVariable [QEGVAR(medical,AllowChatWhileUnconscious), missionNamespace getVariable [QEGVAR(medical,AllowChatWhileUnconscious), false]]}}) then { if (isServer || {serverCommandAvailable "#kick"}) then {
if (!(_key in (actionKeys "DefaultAction" + actionKeys "Throw")) && {_key in (actionKeys "Chat" + actionKeys "PrevChannel" + actionKeys "NextChannel")}) then { if (!(_key in (actionKeys "DefaultAction" + actionKeys "Throw")) && {_key in (actionKeys "Chat" + actionKeys "PrevChannel" + actionKeys "NextChannel")}) then {
_key = 0; _key = 0;
}; };

View File

@ -1,7 +1,7 @@
#include "script_component.hpp" #include "script_component.hpp"
/* /*
* Author: Ruthberg * Author: Ruthberg
* Returns the the first intersection with terrain between two positions. @todo rewrite using lineIntersectsSurfaces? * Returns the the first intersection with terrain between two positions.
* *
* Arguments: * Arguments:
* 0: PositionASL <ARRAY> * 0: PositionASL <ARRAY>
@ -18,31 +18,14 @@
* Public: Yes * Public: Yes
*/ */
params ["_source", "_destination", "_accuracy"]; params ["_source", "_destination"];
private _result = [false, [0, 0, 0]]; private _result = [false, [0, 0, 0]];
private _hits = lineIntersectsSurfaces [_source, _destination, objNull, objNull, true, -1];
private _distance = _source vectorDistance _destination; {
_x params ["_pos", "", "_obj"];
if !(lineIntersectsWith [_source, _destination] isEqualTo []) then { if (!isNull _obj) exitWith {
private _lower = 0; _result = [true, _pos];
private _upper = 1;
private _mid = 0.5;
private _dir = _source vectorFromTo _destination;
while {(_upper - _lower) * _distance > _accuracy} do {
_mid = _lower + (_upper - _lower) / 2;
if !(lineIntersectsWith [_source, _source vectorAdd (_dir vectorMultiply (_mid * _distance))] isEqualTo []) then {
_upper = _mid;
} else {
_lower = _mid;
}; };
}; } forEach _hits;
_mid = _lower + (_upper - _lower) / 2;
_result = [true, _source vectorAdd (_dir vectorMultiply (_mid * _distance))];
};
_result _result

View File

@ -20,8 +20,9 @@
#define GROUP_SWITCH_ID QFUNC(loadPerson) #define GROUP_SWITCH_ID QFUNC(loadPerson)
params ["_caller", "_unit", ["_vehicle", objNull]]; params ["_caller", "_unit", ["_vehicle", objNull]];
TRACE_3("loadPerson",_caller,_unit,_vehicle);
if (!([_caller, _unit, ["isNotDragging", "isNotCarrying", "isNotSwimming"]] call FUNC(canInteractWith)) || {_caller == _unit}) exitWith {_vehicle}; if (!([_caller, _unit, ["isNotDragging", "isNotCarrying", "isNotSwimming"]] call FUNC(canInteractWith)) || {_caller == _unit}) exitWith { objNull };
// Try to use nearest vehicle if a vehicle hasn't been supplied // Try to use nearest vehicle if a vehicle hasn't been supplied
if (isNull _vehicle) then { if (isNull _vehicle) then {
@ -30,6 +31,7 @@ if (isNull _vehicle) then {
if (!isNull _vehicle) then { if (!isNull _vehicle) then {
[_unit, true, GROUP_SWITCH_ID, side group _caller] call FUNC(switchToGroupSide); [_unit, true, GROUP_SWITCH_ID, side group _caller] call FUNC(switchToGroupSide);
TRACE_3("sending ace_loadPersonEvent",_unit,_vehicle,_caller);
["ace_loadPersonEvent", [_unit, _vehicle, _caller], _unit] call CBA_fnc_targetEvent; ["ace_loadPersonEvent", [_unit, _vehicle, _caller], _unit] call CBA_fnc_targetEvent;
}; };

View File

@ -17,15 +17,11 @@
* Public: Yes * Public: Yes
*/ */
params ["_unit", "_vehicle", "_caller"]; params ["_unit", "_vehicle", ["_caller", objNull]];
TRACE_3("loadPersonLocal",_unit,_vehicle,_caller);
// if (!alive _unit) then {
// _unit = [_unit, _caller] call makeCopyOfBody; //func does not exist
// };
private _slotsOpen = false; private _slotsOpen = false;
if ((_vehicle emptyPositions "cargo" > 0) && {!(_unit getVariable ['ACE_isUnconscious', false])} || {(getNumber (configFile >> "CfgVehicles" >> (typeOf _vehicle) >> "ejectDeadCargo")) == 0}) then {
if (_vehicle emptyPositions "cargo" > 0) then {
_unit moveInCargo _vehicle; _unit moveInCargo _vehicle;
_slotsOpen = true; _slotsOpen = true;
} else { } else {
@ -35,29 +31,16 @@ if (_vehicle emptyPositions "cargo" > 0) then {
}; };
}; };
if (_slotsOpen) then { if (!_slotsOpen) exitWith { WARNING_2("no open seats %1->%2",_unit,_vehicle); };
private _loaded = _vehicle getVariable [QGVAR(loaded_persons),[]];
_loaded pushBack _unit;
_vehicle setVariable [QGVAR(loaded_persons), _loaded, true]; [{ // just for error reporting
params ["_unit", "_vehicle"];
if !([_unit] call FUNC(isAwake)) then { (alive _unit) && {alive _vehicle} && {(vehicle _unit) == _vehicle}
[{ }, {
(_this select 0) params ["_unit", "_vehicle"]; params ["_unit", "_vehicle"];
TRACE_2("success",_unit,_vehicle);
// wait until the unit is in the vehicle }, [_unit, _vehicle], 2, {
if (vehicle _unit != _vehicle) exitWith { params ["_unit", "_vehicle"];
// kill this pfh if either one is deleted if (!alive _unit) exitWith {};
if (isNull _unit || isNull _vehicle) then { WARNING_2("timeout %1->%2",_unit,_vehicle);
[_this select 1] call CBA_fnc_removePerFrameHandler; }] call CBA_fnc_waitUntilAndExecute;
};
};
_unit setVariable [QEGVAR(medical,vehicleAwakeAnim), [_vehicle, animationState _unit]];
[_unit, [_unit] call FUNC(getDeathAnim), 1, true] call FUNC(doAnimation);
[_this select 1] call CBA_fnc_removePerFrameHandler;
}, 0.5, [_unit, _vehicle]] call CBA_fnc_addPerFrameHandler;
};
};

View File

@ -19,4 +19,8 @@
params ["_unit", ["_distance", 10]]; params ["_unit", ["_distance", 10]];
private _nearVehicles = nearestObjects [_unit, ["Car", "Air", "Tank", "Ship_F", "Pod_Heli_Transport_04_crewed_base_F"], _distance]; private _nearVehicles = nearestObjects [_unit, ["Car", "Air", "Tank", "Ship_F", "Pod_Heli_Transport_04_crewed_base_F"], _distance];
_nearVehicles select {(_x emptyPositions "cargo" > 0) || {_x emptyPositions "gunner" > 0}} _nearVehicles select {
// Filter cargo seats that will eject unconscious units (e.g. quad bike)
((_x emptyPositions "cargo" > 0) && {!(_unit getVariable ['ACE_isUnconscious', false])} || {(getNumber (configFile >> "CfgVehicles" >> (typeOf _x) >> "ejectDeadCargo")) == 0})
|| {_x emptyPositions "gunner" > 0}
}

View File

@ -0,0 +1,112 @@
#include "script_component.hpp"
/*
* Author: BaerMitUmlaut
* Registers an event handler that replaces an item or item type with one or
* more other items.
*
* Arguments:
* 0: Item or item type ID to replace <STRING or NUMBER>
* 1: Item or list of items <STRING or ARRAY>
* 2: Replace items that inherit from original item (only if 0 is STRING) (Optional)<BOOL>
*
* Return Value:
* None
*
* Example:
* ["FirstAidKit", "ACE_fieldDressing"] call ace_common_fnc_registerItemReplacement
*
* Public: Yes
*/
params [["_oldItem", "", [0,""]], ["_newItems", "", ["", []]], ["_replaceInherited", false, [false]]];
TRACE_3("registerItemReplacement",_oldItem,_newItems,_replaceInherited);
// CBA player event handler function
private _fnc_replaceItems = {
params ["_unit"];
private _items = items _unit;
if (_items isEqualTo GVAR(oldItems)) exitWith {};
private _newItems = _items - GVAR(oldItems);
if (_newItems isEqualTo []) exitWith {
GVAR(oldItems) = _items;
};
_newItems sort true; // Sort so all items of current class can be replaced at once
private _cfgWeapons = configFile >> "CfgWeapons"; // Microoptimization
for "_i" from 0 to count _newItems - 1 do {
private _item = _newItems#_i;
// Determine replacement items: direct replacements, ...
private _replacements = GVAR(itemReplacements) getVariable [_item, []];
// ... item type replacements ...
private _type = getNumber (_cfgWeapons >> _item >> "ItemInfo" >> "type");
private _typeReplacements = GVAR(itemReplacements) getVariable ["$" + str _type, []];
_replacements append _typeReplacements;
// ... and inherited replacements
{
if (_item isKindOf [_x, _cfgWeapons]) then {
private _inheritedReplacements = GVAR(itemReplacements) getVariable [_x, []];
_replacements append _inheritedReplacements;
};
} forEach GVAR(inheritedReplacements);
// Skip lookup for all following items of this class
private _count = 1;
while {_newItems#(_i + 1) == _item} do { // (i+1) can be out of bounds, but should fail safely
_count = _count + 1;
_i = _i + 1;
};
// Replace all items of current class in list
if !(_replacements isEqualTo []) then {
TRACE_3("replace",_item,_count,_replacements);
_unit removeItems _item;
for "_j" from 1 to _count do {
{ [_unit, _x] call FUNC(addToInventory) } forEach _replacements;
};
};
};
GVAR(oldItems) = items _unit;
};
// Setup on first run
if (isNil QGVAR(itemReplacements)) then {
GVAR(itemReplacements) = [] call CBA_fnc_createNamespace;
GVAR(inheritedReplacements) = [];
GVAR(oldItems) = [];
["loadout", _fnc_replaceItems] call CBA_fnc_addPlayerEventHandler;
};
// Save item replacement
// $ prefix is used for types (numbers) and replacements with inheritance
if (_replaceInherited) then {
_oldItem = "$" + _oldItem;
GVAR(inheritedReplacements) pushBack _oldItem;
};
if (_oldItem isEqualType 0) then {
_oldItem = "$" + str _oldItem;
};
if (_newItems isEqualType "") then {
_newItems = [_newItems];
};
private _oldReplacements = GVAR(itemReplacements) getVariable [_oldItem, []];
_oldReplacements append _newItems;
GVAR(itemReplacements) setVariable [_oldItem, _newItems];
// Force item scan when new replacement was registered in PostInit
if (!isNull ACE_player) then {
GVAR(oldItems) = [];
// Exec next frame to ensure full scan only runs once per frame
// For example, if item replacements are registred in PostInit (due to CBA
// settings) by different addons, the inventory is only scanned once in the
// next frame, not once per addon.
[_fnc_replaceItems, [ACE_player]] call CBA_fnc_execNextFrame;
};

View File

@ -15,18 +15,16 @@
* Public: No * Public: No
*/ */
#define GROUP_SWITCH_ID QFUNC(loadPerson)
params ["_unit"]; params ["_unit"];
TRACE_1("unloadPerson",_unit);
private _vehicle = vehicle _unit; private _vehicle = vehicle _unit;
if (isNull _vehicle) exitWith {false};
if (_vehicle == _unit) exitWith {false}; if (_vehicle == _unit) exitWith {false};
if (speed _vehicle > 1 || {((getPos _vehicle) select 2) > 2}) exitWith {false}; if (speed _vehicle > 1 || {((getPos _vehicle) select 2) > 2}) exitWith {false};
if (!isNull _vehicle) then {
["ace_unloadPersonEvent", [_unit, _vehicle], [_unit]] call CBA_fnc_targetEvent; ["ace_unloadPersonEvent", [_unit, _vehicle], [_unit]] call CBA_fnc_targetEvent;
};
true true

View File

@ -20,11 +20,19 @@
#define GROUP_SWITCH_ID QFUNC(loadPerson) #define GROUP_SWITCH_ID QFUNC(loadPerson)
params ["_unit", "_vehicle", ["_unloader", objNull]]; params ["_unit", "_vehicle", ["_unloader", objNull]];
TRACE_3("params",_unit,_vehicle,_unloader); TRACE_3("unloadpersonLocal",_unit,_vehicle,_unloader);
//This covers testing vehicle stability and finding a safe position //This covers testing vehicle stability and finding a safe position
private _emptyPos = [_vehicle, (typeOf _unit), _unloader] call EFUNC(common,findUnloadPosition); private _emptyPos = [_vehicle, (typeOf _unit), _unloader] call EFUNC(common,findUnloadPosition);
TRACE_1("findUnloadPosition",_emptyPos); TRACE_1("findUnloadPosition",_emptyPos);
if (_emptyPos isEqualTo []) then {
_emptyPos = [_vehicle, (typeOf _unit), _unloader] call EFUNC(common,findUnloadPosition);
TRACE_1("findUnloadPosition 2nd attempt",_emptyPos);
if (_emptyPos isEqualTo []) then {
_emptyPos = [_vehicle, (typeOf _unit), _unloader] call EFUNC(common,findUnloadPosition);
TRACE_1("findUnloadPosition 3rd attempt",_emptyPos);
};
};
if (count _emptyPos != 3) exitwith { if (count _emptyPos != 3) exitwith {
WARNING_4("Could not find unload pos %1-ASL: %2 isTouchingGround: %3 Speed: %4",_vehicle, getPosASL _vehicle, isTouchingGround _vehicle, speed _vehicle); WARNING_4("Could not find unload pos %1-ASL: %2 isTouchingGround: %3 Speed: %4",_vehicle, getPosASL _vehicle, isTouchingGround _vehicle, speed _vehicle);
@ -38,57 +46,22 @@ if (count _emptyPos != 3) exitwith {
unassignVehicle _unit; unassignVehicle _unit;
[_unit] orderGetIn false; [_unit] orderGetIn false;
private _resetUncon = false;
if (lifeState _unit == "INCAPACITATED") then {
_resetUncon = true;
_unit setUnconscious false;
TRACE_1("pausing setUnconscious",_unit);
};
TRACE_1("Ejecting", alive _unit); TRACE_1("Ejecting", alive _unit);
_unit action ["Eject", vehicle _unit]; _unit action ["Eject", vehicle _unit];
[{ [{
params ["_unit", "_emptyPos", "_resetUncon"]; params ["_unit", "_emptyPos"];
(alive _unit) && {(vehicle _unit) != _unit}
if ((vehicle _unit) != _unit) then { }, {
WARNING_2("Failed to unload in time [%1 - %2]",_unit, vehicle _unit); params ["_unit", "_emptyPos"];
}; TRACE_2("success",_unit,_emptyPos);
_unit setPosASL AGLToASL _emptyPos; _unit setPosASL AGLToASL _emptyPos;
}, [_unit, _emptyPos], 2, {
if (_resetUncon) then { params ["_unit", "_emptyPos"];
TRACE_1("resuming setUnconscious",_unit); if (!alive _unit) exitWith {};
// This should reset the unit to an Unconscious animation WARNING_2("timeout %1->%2",_unit,vehicle _unit);
// Also has the hilarious effect of violently ragdolling the guy }] call CBA_fnc_waitUntilAndExecute;
_unit setUnconscious true;
};
// ToDo [medical-rewrite]: verify we can remove the following commented code
// if !([_unit] call FUNC(isAwake)) then {
// TRACE_1("Check if isAwake", [_unit] call FUNC(isAwake));
// if (driver _unit == _unit) then {
// private _anim = [_unit] call FUNC(getDeathAnim);
// [_unit, _anim, 1, true] call FUNC(doAnimation);
// [{
// params ["_unit", "_anim"];
// if ((_unit getVariable "ACE_isUnconscious") and (animationState _unit != _anim)) then {
// [_unit, _anim, 2, true] call FUNC(doAnimation);
// };
// }, [_unit, _anim], 0.5] call CBA_fnc_waitAndExecute;
// };
// };
}, [_unit, _emptyPos, _resetUncon], 0.5] call CBA_fnc_waitAndExecute;
[_unit, false, GROUP_SWITCH_ID, side group _unit] call FUNC(switchToGroupSide); [_unit, false, GROUP_SWITCH_ID, side group _unit] call FUNC(switchToGroupSide);
private _loaded = _vehicle getvariable [QGVAR(loaded_persons),[]];
_loaded deleteAt (_loaded find _unit);
_vehicle setvariable [QGVAR(loaded_persons), _loaded, true];
true true

View File

@ -20,7 +20,7 @@
* Example: * Example:
* ["CBA_missionTime"] call ace_common_fnc_watchVariable // Uses title as code * ["CBA_missionTime"] call ace_common_fnc_watchVariable // Uses title as code
* ["diag_frameNo", {diag_frameNo}, [false]] call ace_common_fnc_watchVariable // Won't show delta * ["diag_frameNo", {diag_frameNo}, [false]] call ace_common_fnc_watchVariable // Won't show delta
* ["blood", {player getVariable "ace_medical_bloodVolume"}, [true, 0, 100]] call ace_common_fnc_watchVariable // Shows slider * ["blood", {player getVariable "ace_medical_bloodVolume"}, [true, 0, 6]] call ace_common_fnc_watchVariable // Shows slider
* ["multiLine text", {"Line 1 <br/>Line 2"}, [2]] call ace_common_fnc_watchVariable * ["multiLine text", {"Line 1 <br/>Line 2"}, [2]] call ace_common_fnc_watchVariable
* ["player names", {allPlayers apply {name _x}}, [5]] call ace_common_fnc_watchVariable // handles any data types * ["player names", {allPlayers apply {name _x}}, [5]] call ace_common_fnc_watchVariable // handles any data types
* *

View File

@ -1,59 +0,0 @@
#include "script_component.hpp"
#define MAX_COUNT 30
#define ANIM_TIME 10
private _display = findDisplay 0;
if (!scriptDone (_display getVariable [QGVAR(versionTooltip), scriptNull])) exitWith {};
_display setVariable [QGVAR(versionTooltip), [_display] spawn {
disableSerialization;
params ["_display"];
private _allControls = [];
private _fnc_create = {
private _ctrl = _display ctrlCreate ["RscPicture", -1];
// randomize size
private _size = selectRandom [safezoneW / 30, safezoneW / 20, safezoneW / 15];
private _position = [
random safezoneW + safezoneX - _size / 2,
- random (safezoneH / 5) + safezoneY - _size,
_size,
_size
];
_ctrl ctrlSetPosition _position;
_ctrl ctrlCommit 0;
// pls ignore
_ctrl ctrlSetText QPATHTOF(data\icon_banana_ca.paa);
// animate with random speed
_position set [1, 1 - safezoneY];
_ctrl ctrlSetPosition _position;
_ctrl ctrlCommit (ANIM_TIME * random [0.5, 1, 1.5]);
_allControls pushBack _ctrl;
};
while {!isNull _display} do {
_allControls = _allControls select {
if (ctrlCommitted _x) then {
ctrlDelete _x;
false
} else {
true
};
};
while {count _allControls < MAX_COUNT} do {
call _fnc_create;
};
uiSleep 3;
};
}];

View File

@ -16,10 +16,6 @@
#include "\z\ace\addons\main\script_macros.hpp" #include "\z\ace\addons\main\script_macros.hpp"
#define VERSION_CONFIG_COMMON VERSION_CONFIG;\
versionDesc = "ACE 3";\
versionAct = QUOTE(call COMPILE_FILE(init_versionTooltip))
#define DIG_SURFACE_BLACKLIST [ \ #define DIG_SURFACE_BLACKLIST [ \
"concrete", "concrete_exp", "concrete_int", "int_concrete", "int_concrete_exp", \ "concrete", "concrete_exp", "concrete_int", "int_concrete", "int_concrete_exp", \

View File

@ -99,6 +99,7 @@ if (!isServer) then {
diag_log text _error; diag_log text _error;
[QGVAR(systemChatGlobal), _error] call CBA_fnc_globalEvent; [QGVAR(systemChatGlobal), _error] call CBA_fnc_globalEvent;
[QGVAR(serverLog), _error] call CBA_fnc_serverEvent;
}; };
private _missingAddonServer = false; private _missingAddonServer = false;
@ -116,6 +117,7 @@ if (!isServer) then {
diag_log text _error; diag_log text _error;
[QGVAR(systemChatGlobal), _error] call CBA_fnc_globalEvent; [QGVAR(systemChatGlobal), _error] call CBA_fnc_globalEvent;
[QGVAR(serverLog), _error] call CBA_fnc_serverEvent;
}; };
private _oldVersionClient = false; private _oldVersionClient = false;
@ -133,6 +135,7 @@ if (!isServer) then {
diag_log text _error; diag_log text _error;
[QGVAR(systemChatGlobal), _error] call CBA_fnc_globalEvent; [QGVAR(systemChatGlobal), _error] call CBA_fnc_globalEvent;
[QGVAR(serverLog), _error] call CBA_fnc_serverEvent;
}; };
private _oldVersionServer = false; private _oldVersionServer = false;
@ -150,6 +153,7 @@ if (!isServer) then {
diag_log text _error; diag_log text _error;
[QGVAR(systemChatGlobal), _error] call CBA_fnc_globalEvent; [QGVAR(systemChatGlobal), _error] call CBA_fnc_globalEvent;
[QGVAR(serverLog), _error] call CBA_fnc_serverEvent;
}; };
ACE_Version_ClientErrors = [_missingAddon, _missingAddonServer, _oldVersionClient, _oldVersionServer]; ACE_Version_ClientErrors = [_missingAddon, _missingAddonServer, _oldVersionClient, _oldVersionServer];

View File

@ -11,6 +11,8 @@
<Korean>일반</Korean> <Korean>일반</Korean>
<Polish>Ogólny</Polish> <Polish>Ogólny</Polish>
<Russian>Общий</Russian> <Russian>Общий</Russian>
<Portuguese>Comum</Portuguese>
<French>Commun</French>
</Key> </Key>
<Key ID="STR_ACE_Common_ACETeam"> <Key ID="STR_ACE_Common_ACETeam">
<English>ACE-Team</English> <English>ACE-Team</English>
@ -36,11 +38,12 @@
<German>Erweitert</German> <German>Erweitert</German>
<Czech>Pokročilé</Czech> <Czech>Pokročilé</Czech>
<Portuguese>Avançada</Portuguese> <Portuguese>Avançada</Portuguese>
<French>Avancée</French> <French>Avancé</French>
<Hungarian>Fejlett</Hungarian> <Hungarian>Fejlett</Hungarian>
<Italian>Avanzato</Italian> <Italian>Avanzato</Italian>
<Japanese>アドバンスド</Japanese> <Japanese>アドバンスド</Japanese>
<Korean>고급</Korean> <Korean>고급</Korean>
<Chinese>進階</Chinese>
</Key> </Key>
<Key ID="STR_ACE_Common_Save"> <Key ID="STR_ACE_Common_Save">
<English>Save</English> <English>Save</English>
@ -353,7 +356,7 @@
<Spanish>Acción cancelada.</Spanish> <Spanish>Acción cancelada.</Spanish>
<Polish>Przerwano czynność</Polish> <Polish>Przerwano czynność</Polish>
<Czech>Akce přerušena</Czech> <Czech>Akce přerušena</Czech>
<French>Action annulée.</French> <French>Action annulée</French>
<Russian>Действие отменено.</Russian> <Russian>Действие отменено.</Russian>
<Portuguese>Ação cancelada.</Portuguese> <Portuguese>Ação cancelada.</Portuguese>
<Hungarian>Művelet megszakítva.</Hungarian> <Hungarian>Művelet megszakítva.</Hungarian>
@ -416,7 +419,7 @@
<German>Normal</German> <German>Normal</German>
<Italian>Normale</Italian> <Italian>Normale</Italian>
<Russian>Нормальное</Russian> <Russian>Нормальное</Russian>
<French>Normale</French> <French>Normal</French>
<Polish>Normalne</Polish> <Polish>Normalne</Polish>
<Spanish>Normal</Spanish> <Spanish>Normal</Spanish>
<Hungarian>Normális</Hungarian> <Hungarian>Normális</Hungarian>
@ -424,6 +427,7 @@
<Portuguese>Normal</Portuguese> <Portuguese>Normal</Portuguese>
<Japanese>通常</Japanese> <Japanese>通常</Japanese>
<Korean>보통</Korean> <Korean>보통</Korean>
<Chinese>普通</Chinese>
</Key> </Key>
<Key ID="STR_ACE_Common_NoVoice"> <Key ID="STR_ACE_Common_NoVoice">
<English>No Voice</English> <English>No Voice</English>
@ -438,73 +442,9 @@
<Portuguese>Sem voz</Portuguese> <Portuguese>Sem voz</Portuguese>
<Japanese>音声なし</Japanese> <Japanese>音声なし</Japanese>
<Korean>무음</Korean> <Korean>무음</Korean>
<Chinese>沒聲</Chinese> <Chinese>無語</Chinese>
<Chinesesimp>没声音</Chinesesimp> <Chinesesimp>没声音</Chinesesimp>
</Key> </Key>
<Key ID="STR_ACE_ACTION_ACCEPT_REQUEST_KEY_TITLE">
<English>Accept Requests</English>
<German>Anfrage akzeptieren</German>
<Spanish>Aceptar peticiones</Spanish>
<Polish>Akceptuj prośby</Polish>
<Czech>Přijmout žádost</Czech>
<French>Accepter requête</French>
<Russian>Принять запросы</Russian>
<Hungarian>Kérések elfogadása</Hungarian>
<Portuguese>Aceitar Pedido</Portuguese>
<Italian>Accetta la richiesta</Italian>
<Japanese>要求を受け入れ</Japanese>
<Korean>요청 수락</Korean>
<Chinese>接受請求</Chinese>
<Chinesesimp>接受请求</Chinesesimp>
</Key>
<Key ID="STR_ACE_ACTION_DECLINE_REQUEST_KEY_TITLE">
<English>Decline Requests</English>
<German>Anfrage ablehnen</German>
<Spanish>Rechazar peticiones</Spanish>
<Polish>Ignoruj prośby</Polish>
<Czech>Zamítnout žádost</Czech>
<Russian>Отклонить запросы</Russian>
<French>Rejeter requête</French>
<Hungarian>Kérések elutasítása</Hungarian>
<Portuguese>Rejeitar pedido</Portuguese>
<Italian>Rifiuta la richiesta</Italian>
<Japanese>要求を拒否</Japanese>
<Korean>요청 거부</Korean>
<Chinese>拒絕請求</Chinese>
<Chinesesimp>拒绝请求</Chinesesimp>
</Key>
<Key ID="STR_ACE_ACTION_ACCEPT_REQUEST_KEY_TOOLTIP">
<English>Accept Requests send by other players. These can be requests to use / share equipment, perform certain actions.</English>
<German>Anfragen werden von anderen Mitspielen gestellt. Diese können Anfragen u.a. zum Teilen/Verwenden von Ausrüstungsgegenständen, oder auch zum Ausführen von Handlungen sein. </German>
<Spanish>Acepta peticiones de otros jugadores. Pueden ser solicitudes para usar / compartir equipamiento, realizar ciertas acciones.</Spanish>
<Polish>Akceptuj prośby wysłane przez innych graczy. Akceptacji wymagają między innymi akcje używania / współdzielenia wyposażenia, wykonywania określonych czynności.</Polish>
<Italian>Accetta le richieste degli altri giocatori. Queste possono riguardare l'uso o la condivisione dell'equipaggiamento, o di determinate azioni.</Italian>
<Czech>Přijimutí žádosti poslané jinými hráči. Mohou to být žádosti k použítí/sdílení vybavení nebo k vykonání určité činnosti.</Czech>
<Russian>Принять запросы, отправленные другими игроками. Например, запросы на использование/совместное использование снаряжения, выполнение определенных действий</Russian>
<French>Accepter les requêtes d'autres joueurs. Comme l'utilisation / l'échange d'équipement, la réalisation d'actions.</French>
<Hungarian>Más játékosok általi kérések elfogadása. Ezek a kérések vonatkozhatnak a felszerelés használatára/megosztására, valamint különböző cselekményekre.</Hungarian>
<Portuguese>Aceitar pedidos enviados por outros jogadores. Podem ser pedidos para usar/ compartilhar equipamento, realizar certas ações.</Portuguese>
<Japanese>他プレイヤからの要求を許可します。他プレイヤは装備を共有し、使うなど特定の動作を行えます。</Japanese>
<Korean>다른 플레이어가 보내온 요청을 수락합니다. 이것은 장비 사용 / 공유 요청, 특정 작업 수행 등이 될 수 있습니다.</Korean>
<Chinese>接受由其他玩家送出的請求。包含使用/共享裝備與執行特定動作</Chinese>
<Chinesesimp>接受由其他玩家送出的请求。包含使用/共享装备与执行特定动作。</Chinesesimp>
</Key>
<Key ID="STR_ACE_ACTION_DECLINE_REQUEST_KEY_TOOLTIP">
<English>Decline Requests send by other players. These can be requests to use / share equipment, perform certain actions.</English>
<German>Anfragen werden von anderen Mitspielen gestellt. Diese können Anfragen u.a. zum Teilen/Verwenden von Ausrüstungsgegenständen, oder auch zum Ausführen von Handlungen sein. </German>
<Spanish>Rechazar peticiones de otros jugadores. Pueden ser solicitudes para usar / compartir equipamiento, realizar ciertas acciones.</Spanish>
<Polish>Ignoruj prośby wysłane przez innych graczy. Akceptacji wymagają między innymi akcje używania / współdzielenia wyposażenia, wykonywania określonych czynności.</Polish>
<Italian>Rifiuta le richieste degli altri giocatori. Queste possono riguardare l'uso o la condivisione dell'equipaggiamento, o di determinate azioni.</Italian>
<Czech>Zamítnutí žádostii poslané jinými hráči. Mohou to být žádosti k použítí/sdílení vybavení nebo k vykonání určité činnosti.</Czech>
<Russian>Отклонить запросы, отправленные другими игроками. Например, запросы на использование/совместное использование снаряжения, выполнение определенных действий</Russian>
<French>Rejeter les requêtes d'autres joueurs. Comme l'utilisation / l'échange d'équipement, la réalisation d'actions.</French>
<Hungarian>Más játékosok általi kérések elutasítása. Ezek a kérések vonatkozhatnak a felszerelés használatára/megosztására, valamint különböző cselekményekre.</Hungarian>
<Portuguese>Rejeita pedidos enviados por outros jogadores. Podem ser pedidos para usar/ compartilhar equipamento, realizar certas ações.</Portuguese>
<Japanese>他プレイヤからの要求を拒否します。他プレイヤは装備を共有し、使うなど特定の動作をできません。</Japanese>
<Korean>다른 플레이어가 보내온 요청을 거부합니다. 이것은 장비 사용 / 공유 요청, 특정 작업 수행 등이 될 수 있습니다.</Korean>
<Chinese>拒絕由其他玩家送出的請求。包含使用/共享裝備與執行特定動作</Chinese>
<Chinesesimp>拒绝由其他玩家送出的请求。包含使用/共享装备与执行特定动作。</Chinesesimp>
</Key>
<Key ID="STR_ACE_Common_CheckPBOsAction"> <Key ID="STR_ACE_Common_CheckPBOsAction">
<English>Check PBO Action</English> <English>Check PBO Action</English>
<German>PBO Überprüfung</German> <German>PBO Überprüfung</German>
@ -515,6 +455,12 @@
<Korean>PBO 검사</Korean> <Korean>PBO 검사</Korean>
<Polish>Sprawdź akcję PBO</Polish> <Polish>Sprawdź akcję PBO</Polish>
<Russian>Действие при проверке PBO</Russian> <Russian>Действие при проверке PBO</Russian>
<Portuguese>Ação de Checar PBO</Portuguese>
<French>Action à la vérification des PBOs</French>
</Key>
<Key ID="STR_ACE_Common_CheckPBOsActionDesc">
<English>Defines the action to be taken if a player does not have the correct PBOs.</English>
<French>Définit l'action à effectuer si un joueur n'a pas les bons PBOs.</French>
</Key> </Key>
<Key ID="STR_ACE_Common_CheckPBOsCheckAll"> <Key ID="STR_ACE_Common_CheckPBOsCheckAll">
<English>Check PBO All</English> <English>Check PBO All</English>
@ -526,6 +472,12 @@
<Korean>모든 PBO 검사</Korean> <Korean>모든 PBO 검사</Korean>
<Polish>Sprawdź wszystkie PBO</Polish> <Polish>Sprawdź wszystkie PBO</Polish>
<Russian>Проверять все PBO</Russian> <Russian>Проверять все PBO</Russian>
<Portuguese>Checar Todos os PBOs</Portuguese>
<French>Vérifier tous les PBOs</French>
</Key>
<Key ID="STR_ACE_Common_CheckPBOsCheckAllDesc">
<English>Check all addons, not only those of ACE.</English>
<French>Vérifie tous les addons, même ceux qui ne sont pas liés à ACE.</French>
</Key> </Key>
<Key ID="STR_ACE_Common_CheckPBOsWhitelist"> <Key ID="STR_ACE_Common_CheckPBOsWhitelist">
<English>Check PBO Whitelist</English> <English>Check PBO Whitelist</English>
@ -537,6 +489,12 @@
<Korean>검사 제외 PBO</Korean> <Korean>검사 제외 PBO</Korean>
<Polish>Sprawdź białą listę PBO</Polish> <Polish>Sprawdź białą listę PBO</Polish>
<Russian>Белый список для проверки PBO</Russian> <Russian>Белый список для проверки PBO</Russian>
<Portuguese>Lista Branca de PBO</Portuguese>
<French>Vérifier les PBOs en liste blanche</French>
</Key>
<Key ID="STR_ACE_Common_CheckPBOsWhitelistDesc">
<English>Define a list of regardless allowed addons.</English>
<French>Permet de définir une liste d'addons autorisés systématiquement.</French>
</Key> </Key>
<Key ID="STR_ACE_Common_SettingFeedbackIconsName"> <Key ID="STR_ACE_Common_SettingFeedbackIconsName">
<English>Feedback icons</English> <English>Feedback icons</English>
@ -545,7 +503,7 @@
<Italian>Icone informative</Italian> <Italian>Icone informative</Italian>
<Russian>Иконки состояний</Russian> <Russian>Иконки состояний</Russian>
<Polish>Ikony pomocnicze</Polish> <Polish>Ikony pomocnicze</Polish>
<French>Icones d'information</French> <French>Icônes d'information</French>
<Czech>Pomocné ikony</Czech> <Czech>Pomocné ikony</Czech>
<Hungarian>Visszajelző ikonok</Hungarian> <Hungarian>Visszajelző ikonok</Hungarian>
<Portuguese>Ícones de Feedback</Portuguese> <Portuguese>Ícones de Feedback</Portuguese>
@ -561,7 +519,7 @@
<Italian>Seleziona la posizione o disabilita le icone informative sul tuo schermo. Queste saranno mostrate per fornire informazioni aggiuntive sullo stato o sulle azioni del giocatore.</Italian> <Italian>Seleziona la posizione o disabilita le icone informative sul tuo schermo. Queste saranno mostrate per fornire informazioni aggiuntive sullo stato o sulle azioni del giocatore.</Italian>
<Russian>Выберите положение или или отключите отображение иконок состояний на Вашем экране. Эти иконки предоставят дополнительную информацию о состоянии персонажа и выполняемых действиях.</Russian> <Russian>Выберите положение или или отключите отображение иконок состояний на Вашем экране. Эти иконки предоставят дополнительную информацию о состоянии персонажа и выполняемых действиях.</Russian>
<Polish>Ustaw pozycję lub wyłącz całkowicie ikony pomocnicze na ekranie. Te ikony dostarczają dodatkowych informacji na temat statusu Twojej postaci i wykonywanych przez nią akcji.</Polish> <Polish>Ustaw pozycję lub wyłącz całkowicie ikony pomocnicze na ekranie. Te ikony dostarczają dodatkowych informacji na temat statusu Twojej postaci i wykonywanych przez nią akcji.</Polish>
<French>Sélection de la position ou la désactivation des icones de feedback. Ces icones vous apportent des informations complémentaires sur votre status et sur les actions en cours.</French> <French>Permet de sélectionner la position des icônes de feedback sur l'écran, ou de les désactiver.\nCes icônes vous apportent des informations supplémentaires sur votre personnage et sur les actions effectuées.</French>
<Czech>Nastavuje pozici nebo vypíná pomocné ikony. Tyto ikony ukazují extra informace ke stavu postavy a vykonávaných činností.</Czech> <Czech>Nastavuje pozici nebo vypíná pomocné ikony. Tyto ikony ukazují extra informace ke stavu postavy a vykonávaných činností.</Czech>
<Hungarian>Itt beállítható a visszajelző ikonok képernyőn lévő helyzete és jelenléte. Ezek az ikonok extra visszajelzést biztosítanak a karaktered állapotán és végrehajtott cselekvésein.</Hungarian> <Hungarian>Itt beállítható a visszajelző ikonok képernyőn lévő helyzete és jelenléte. Ezek az ikonok extra visszajelzést biztosítanak a karaktered állapotán és végrehajtott cselekvésein.</Hungarian>
<Portuguese>Selecione a posição ou disabilite a posição dos ícones de feedback na sua tela. Esses ícones irão aparecer para mostrar feedback extra do status do seu personagem e ações realizadas.</Portuguese> <Portuguese>Selecione a posição ou disabilite a posição dos ícones de feedback na sua tela. Esses ícones irão aparecer para mostrar feedback extra do status do seu personagem e ações realizadas.</Portuguese>
@ -593,7 +551,7 @@
<Italian>Modifica la posizione della barra di avanzamernto sullo schermo</Italian> <Italian>Modifica la posizione della barra di avanzamernto sullo schermo</Italian>
<Russian>Установите желаемое положение строки состояния на экране.</Russian> <Russian>Установите желаемое положение строки состояния на экране.</Russian>
<Polish>Ustaw pożądaną lokalizację paska postępu na ekranie</Polish> <Polish>Ustaw pożądaną lokalizację paska postępu na ekranie</Polish>
<French>Appliquer la position de la barre de progression sur l'écran</French> <French>Définit la position de la barre de progression sur l'écran.</French>
<Czech>Nastavuje pozici ukazetele průběhu činnosti na vaší obrazovce.</Czech> <Czech>Nastavuje pozici ukazetele průběhu činnosti na vaší obrazovce.</Czech>
<Hungarian>Itt beállítható az állapotjelző sáv képernyődön lévő helyzete.</Hungarian> <Hungarian>Itt beállítható az állapotjelző sáv képernyődön lévő helyzete.</Hungarian>
<Portuguese>Define o local desejado da barra de progresso na sua tela.</Portuguese> <Portuguese>Define o local desejado da barra de progresso na sua tela.</Portuguese>
@ -609,7 +567,7 @@
<Italian>Colore di sfondo dei suggerimenti</Italian> <Italian>Colore di sfondo dei suggerimenti</Italian>
<Russian>Цвет фона всплывающих подсказок</Russian> <Russian>Цвет фона всплывающих подсказок</Russian>
<Polish>Kolor tła powiadomień</Polish> <Polish>Kolor tła powiadomień</Polish>
<French>Notification: couleur de l'arrière plan</French> <French>Notifications - couleur de l'arrière-plan</French>
<Czech>Barva pozadí nápovědy</Czech> <Czech>Barva pozadí nápovědy</Czech>
<Hungarian>Súgó háttérszíne</Hungarian> <Hungarian>Súgó háttérszíne</Hungarian>
<Portuguese>Cor do fundo da hint</Portuguese> <Portuguese>Cor do fundo da hint</Portuguese>
@ -625,7 +583,7 @@
<Italian>Il colore di sfondo dei suggerimenti di ACE.</Italian> <Italian>Il colore di sfondo dei suggerimenti di ACE.</Italian>
<Russian>Цвет фона всплывающих подсказок АСЕ.</Russian> <Russian>Цвет фона всплывающих подсказок АСЕ.</Russian>
<Polish>Kolor tła dla powiadomień ACE</Polish> <Polish>Kolor tła dla powiadomień ACE</Polish>
<French>Notification ACE: couleur de l'arrière plan</French> <French>Définit la couleur d'arrière-plan des notifications ACE.</French>
<Czech>Barva pozadí ACE nápovědy.</Czech> <Czech>Barva pozadí ACE nápovědy.</Czech>
<Hungarian>Az ACE-súgók hátterének színe.</Hungarian> <Hungarian>Az ACE-súgók hátterének színe.</Hungarian>
<Portuguese>A cor de fundo das hints do ACE.</Portuguese> <Portuguese>A cor de fundo das hints do ACE.</Portuguese>
@ -641,7 +599,7 @@
<Italian>Il colore del testo dei suggerimenti</Italian> <Italian>Il colore del testo dei suggerimenti</Italian>
<Russian>Цвет шрифта всплывающих подсказок</Russian> <Russian>Цвет шрифта всплывающих подсказок</Russian>
<Polish>Kolor tekstu powiadomień</Polish> <Polish>Kolor tekstu powiadomień</Polish>
<French>Notification: couleur du texte</French> <French>Notifications - couleur du texte</French>
<Czech>Barva fontu nápovědy.</Czech> <Czech>Barva fontu nápovědy.</Czech>
<Hungarian>Súgószöveg betűinek színe</Hungarian> <Hungarian>Súgószöveg betűinek színe</Hungarian>
<Portuguese>Cor do do texto da hint</Portuguese> <Portuguese>Cor do do texto da hint</Portuguese>
@ -657,7 +615,7 @@
<Italian>Il colore del testo dei suggerimenti di ACE. Questo è il colore predefinito per tutto il testo mostrato dal sistema di suggerimenti di ACE quando il colore del testo non ha altro colore specificato.</Italian> <Italian>Il colore del testo dei suggerimenti di ACE. Questo è il colore predefinito per tutto il testo mostrato dal sistema di suggerimenti di ACE quando il colore del testo non ha altro colore specificato.</Italian>
<Russian>Цвет шрифта текста всплывающих подсказок АСЕ. Этот цвет является стандартным для всего текста, транслирующегося через систему подсказок АСЕ, если не установлено другого цвета для текста подсказок.</Russian> <Russian>Цвет шрифта текста всплывающих подсказок АСЕ. Этот цвет является стандартным для всего текста, транслирующегося через систему подсказок АСЕ, если не установлено другого цвета для текста подсказок.</Russian>
<Polish>Kolor tekstu dla powiadomień ACE. Ten kolor jest domyślnym dla wszystkich tekstów wyświetlanych poprzez System Powiadomień ACE, jeżeli dla powiadomienia nie określono innego koloru.</Polish> <Polish>Kolor tekstu dla powiadomień ACE. Ten kolor jest domyślnym dla wszystkich tekstów wyświetlanych poprzez System Powiadomień ACE, jeżeli dla powiadomienia nie określono innego koloru.</Polish>
<French>Notification ACE: couleur du texte. C'est la couleur par défaut de tout texte affiché dans les notifications ACE, si aucune couleur n'est spécifiée pour les notifications</French> <French>Définit la couleur du texte des notifications ACE.\nCette couleur est la couleur par défaut pour tout texte affiché par le système de notifications ACE, si aucune autre couleur n'est spécifiée.</French>
<Czech>Barva fontu ACE nápověd. Toto je standardní barva pro všechen text zobrazovaný ACE nápovědami, pokud nemá nápověda žádnou specifikanou barvu.</Czech> <Czech>Barva fontu ACE nápověd. Toto je standardní barva pro všechen text zobrazovaný ACE nápovědami, pokud nemá nápověda žádnou specifikanou barvu.</Czech>
<Hungarian>Az ACE-súgók betűkészletének színek. Ez a szín alapértelmezett az összes szövegre az ACE-súgórendszerben, ha a súgószöveg maga nem ad meg más színt.</Hungarian> <Hungarian>Az ACE-súgók betűkészletének színek. Ez a szín alapértelmezett az összes szövegre az ACE-súgórendszerben, ha a súgószöveg maga nem ad meg más színt.</Hungarian>
<Portuguese>A cor do texto das hints do ACE. Essa cor é a cor default para todos os texos exibidos pelo sistema de hints do ACE , caso o texto da hint não tem outra cor especificada.</Portuguese> <Portuguese>A cor do texto das hints do ACE. Essa cor é a cor default para todos os texos exibidos pelo sistema de hints do ACE , caso o texto da hint não tem outra cor especificada.</Portuguese>
@ -676,6 +634,8 @@
<Chinese>保持武器雷射/手電筒的狀態</Chinese> <Chinese>保持武器雷射/手電筒的狀態</Chinese>
<Chinesesimp>保持武器雷射/手电筒的状态</Chinesesimp> <Chinesesimp>保持武器雷射/手电筒的状态</Chinesesimp>
<Polish>Trwały znacznik laserowy/latarka</Polish> <Polish>Trwały znacznik laserowy/latarka</Polish>
<Portuguese>Luz da lanterna/laser da arma persistente</Portuguese>
<French>Rémanence du pointeur laser/de la lampe torche</French>
</Key> </Key>
<Key ID="STR_ACE_Common_SettingPersistentLaserDesc"> <Key ID="STR_ACE_Common_SettingPersistentLaserDesc">
<English>Enable gunlight after weapon switch or vehicle enter/exit if it was previously enabled.</English> <English>Enable gunlight after weapon switch or vehicle enter/exit if it was previously enabled.</English>
@ -687,6 +647,8 @@
<Chinese>保存武器雷射/手電筒的開關狀態,使玩家切換武器或進出載具時能保持之前的的狀態</Chinese> <Chinese>保存武器雷射/手電筒的開關狀態,使玩家切換武器或進出載具時能保持之前的的狀態</Chinese>
<Chinesesimp>保存武器雷射/手电筒的开关状态,使玩家切换武器或进出载具时能保持之前的的状态。</Chinesesimp> <Chinesesimp>保存武器雷射/手电筒的开关状态,使玩家切换武器或进出载具时能保持之前的的状态。</Chinesesimp>
<Polish>Aktywuj znacznik laserowy/latarkę po zmianie broni lub wejściu/wyjściu z pojazdu, jeśli był on poprzednio włączony.</Polish> <Polish>Aktywuj znacznik laserowy/latarkę po zmianie broni lub wejściu/wyjściu z pojazdu, jeśli był on poprzednio włączony.</Polish>
<Portuguese>Ativa a luz da arma ao trocar de arma, entrar/sair de um veículo. Caso tenha sido acesa anteriormente.</Portuguese>
<French>Si le pointeur laser/la lampe torche est allumé(e), cette option permet de le/la réallumer automatiquement après un changement d'arme, ou après une entrée/sortie d'un véhicule.</French>
</Key> </Key>
<Key ID="STR_ACE_Common_bananaDisplayName"> <Key ID="STR_ACE_Common_bananaDisplayName">
<English>Banana</English> <English>Banana</English>
@ -713,7 +675,7 @@
<Russian>Банан - это съедобный фрукт, ягода с ботанической точки зрения, произрастающий на нескольких видах травянистых растениях рода Банан (Musa).</Russian> <Russian>Банан - это съедобный фрукт, ягода с ботанической точки зрения, произрастающий на нескольких видах травянистых растениях рода Банан (Musa).</Russian>
<Hungarian>A banán egy ehető gyümölcs, technikai szempontból bogyótermés, melyet több fürtvirágzatú növény termel a Musa rendszertani nemzetségben.</Hungarian> <Hungarian>A banán egy ehető gyümölcs, technikai szempontból bogyótermés, melyet több fürtvirágzatú növény termel a Musa rendszertani nemzetségben.</Hungarian>
<Polish>Rodzaj roślin z rodziny bananowatych, obejmujący około 80 gatunków.&lt;br /&gt;Przedstawiciele są typowymi przedstawicielami flory międzyzwrotnikowej Azji, Afryki i Australii.&lt;br /&gt;Część gatunków dostarcza jadalnych owoców. Słowo banan pochodzi prawdopodobnie od arabskiego słowa banan, co oznacza palec, lub afrykańskiego języka wolof, w którym rośliny te określa się mianem banaana.</Polish> <Polish>Rodzaj roślin z rodziny bananowatych, obejmujący około 80 gatunków.&lt;br /&gt;Przedstawiciele są typowymi przedstawicielami flory międzyzwrotnikowej Azji, Afryki i Australii.&lt;br /&gt;Część gatunków dostarcza jadalnych owoców. Słowo banan pochodzi prawdopodobnie od arabskiego słowa banan, co oznacza palec, lub afrykańskiego języka wolof, w którym rośliny te określa się mianem banaana.</Polish>
<French>Une banane est un fruit qui, d'un point de vue botanique, fait partie du groupe des baies. Produite par plusieurs sortes de grandes plantes à fleurs herbacées du type Musa.</French> <French>Une banane est un fruit comestible qui, d'un point de vue botanique, fait partie du groupe des baies.\nProduite par plusieurs espèces de grandes plantes à fleurs herbacées du genre Musa.</French>
<Portuguese>A banana é uma fruta comestível, botanicamente uma baga, produzida por vários tipos de plantas herbáceas grandes do genero Musa.</Portuguese> <Portuguese>A banana é uma fruta comestível, botanicamente uma baga, produzida por vários tipos de plantas herbáceas grandes do genero Musa.</Portuguese>
<Japanese>甘蕉は食べられる果物でバショウ科バショウ属のうち、果実を食用とする品種群の総称。また、その果実のこと。いくつかの原種から育種された多年草。種によっては熟すまでは毒を持つものもある。</Japanese> <Japanese>甘蕉は食べられる果物でバショウ科バショウ属のうち、果実を食用とする品種群の総称。また、その果実のこと。いくつかの原種から育種された多年草。種によっては熟すまでは毒を持つものもある。</Japanese>
<Korean>바나나는 식용 과일로써 식물학적으로 열매류이며 여러 종류의 개화가능한 초본의 파초과로 부터 생산됩니다.</Korean> <Korean>바나나는 식용 과일로써 식물학적으로 열매류이며 여러 종류의 개화가능한 초본의 파초과로 부터 생산됩니다.</Korean>
@ -727,7 +689,7 @@
<German>Überprüfe PBOs</German> <German>Überprüfe PBOs</German>
<Czech>Zkontrolovat soubory PBO</Czech> <Czech>Zkontrolovat soubory PBO</Czech>
<Portuguese>Verificar PBOs</Portuguese> <Portuguese>Verificar PBOs</Portuguese>
<French>Vérifier les PBOs</French> <French>/!\ Module obsolète /!\ - Vérifier les PBOs</French>
<Hungarian>PBO-k ellenőrzése</Hungarian> <Hungarian>PBO-k ellenőrzése</Hungarian>
<Russian>Проверка аддонов</Russian> <Russian>Проверка аддонов</Russian>
<Italian>Controlla PBO</Italian> <Italian>Controlla PBO</Italian>
@ -744,7 +706,7 @@
<Czech>Zjistit addon který je v souladu se serverem</Czech> <Czech>Zjistit addon který je v souladu se serverem</Czech>
<Portuguese>Este módulo verifica a integridade dos addons quando iniciamos a simulação</Portuguese> <Portuguese>Este módulo verifica a integridade dos addons quando iniciamos a simulação</Portuguese>
<Russian>Выполняет проверку версий аддонов ACE у подключаемых игроков</Russian> <Russian>Выполняет проверку версий аддонов ACE у подключаемых игроков</Russian>
<French>Ce module contrôle si les PBOs de chaque joueur sont corrects</French> <French>/!\ Module obsolète /!\ - Vérifie l'intégrité des addons avec le serveur, et effectue l'action sélectionnée si un addon est manquant.</French>
<Italian>Controlla l'integrità degli addon con il server ed esegui l'azione selezionata se un addon è mancante</Italian> <Italian>Controlla l'integrità degli addon con il server ed esegui l'azione selezionata se un addon è mancante</Italian>
<Japanese>サーバがアドオンの整合性を検査し、もし不備があれば実行する動作を選択できます。</Japanese> <Japanese>サーバがアドオンの整合性を検査し、もし不備があれば実行する動作を選択できます。</Japanese>
<Korean>서버 에드온의 무결성을 검사하고 사라진 에드온이 있을경우 행동을 선택합니다.</Korean> <Korean>서버 에드온의 무결성을 검사하고 사라진 에드온이 있을경우 행동을 선택합니다.</Korean>
@ -758,7 +720,7 @@
<German>Aktion</German> <German>Aktion</German>
<Czech>Akce</Czech> <Czech>Akce</Czech>
<Portuguese>Ação</Portuguese> <Portuguese>Ação</Portuguese>
<French>Action</French> <French>/!\ Module obsolète /!\ - Action</French>
<Hungarian>Cselekvés</Hungarian> <Hungarian>Cselekvés</Hungarian>
<Russian>Действие</Russian> <Russian>Действие</Russian>
<Italian>Azione</Italian> <Italian>Azione</Italian>
@ -774,7 +736,7 @@
<German>Was soll mit Leuten geschehen, die nicht die richtigen PBO-Dateien geladen haben?</German> <German>Was soll mit Leuten geschehen, die nicht die richtigen PBO-Dateien geladen haben?</German>
<Czech>Co udělat s lidmi, co nemají správné addony?</Czech> <Czech>Co udělat s lidmi, co nemají správné addony?</Czech>
<Portuguese>O que fazer com pessoas que não tem os PBOs corretos?</Portuguese> <Portuguese>O que fazer com pessoas que não tem os PBOs corretos?</Portuguese>
<French>Que faire avec les personnes n'ayant pas les bons PBO ?</French> <French>/!\ Module obsolète /!\ - Définit l'action à effectuer si un joueur n'a pas les bons PBOs.</French>
<Hungarian>Mi legyen azokkal a személyekkel, akiknek nincsenek meg a helyes PBO-k?</Hungarian> <Hungarian>Mi legyen azokkal a személyekkel, akiknek nincsenek meg a helyes PBO-k?</Hungarian>
<Russian>Что делать с игроками с неправильными аддонами?</Russian> <Russian>Что делать с игроками с неправильными аддонами?</Russian>
<Italian>Cosa fare con giocatori che non hanno i PBO corretti?</Italian> <Italian>Cosa fare con giocatori che non hanno i PBO corretti?</Italian>
@ -806,7 +768,7 @@
<German>Verwarnen (permanent)</German> <German>Verwarnen (permanent)</German>
<Czech>Upozornit (permanentně)</Czech> <Czech>Upozornit (permanentně)</Czech>
<Portuguese>Avisar (permanente)</Portuguese> <Portuguese>Avisar (permanente)</Portuguese>
<French>Avertir (permanent)</French> <French>Avertir (systématiquement)</French>
<Hungarian>Figyelmeztetés (tartós)</Hungarian> <Hungarian>Figyelmeztetés (tartós)</Hungarian>
<Russian>Предупреждать (постоянно)</Russian> <Russian>Предупреждать (постоянно)</Russian>
<Italian>Avverti (permanente)</Italian> <Italian>Avverti (permanente)</Italian>
@ -822,7 +784,7 @@
<German>Kicken</German> <German>Kicken</German>
<Czech>Vyhodit</Czech> <Czech>Vyhodit</Czech>
<Portuguese>Chutar</Portuguese> <Portuguese>Chutar</Portuguese>
<French>Ejecter</French> <French>Éjecter</French>
<Hungarian>Kirúgás</Hungarian> <Hungarian>Kirúgás</Hungarian>
<Russian>Кикнуть</Russian> <Russian>Кикнуть</Russian>
<Italian>Kick</Italian> <Italian>Kick</Italian>
@ -838,7 +800,7 @@
<German>Alle Addons überprüfen</German> <German>Alle Addons überprüfen</German>
<Czech>Zkontrolovat všechny addony</Czech> <Czech>Zkontrolovat všechny addony</Czech>
<Portuguese>Verificar todos addons</Portuguese> <Portuguese>Verificar todos addons</Portuguese>
<French>Vérifier tous les addons</French> <French>/!\ Module obsolète /!\ - Vérifier tous les addons</French>
<Hungarian>Összes bővítmény ellenőrzése</Hungarian> <Hungarian>Összes bővítmény ellenőrzése</Hungarian>
<Russian>Проверять все аддоны</Russian> <Russian>Проверять все аддоны</Russian>
<Italian>Controlla tutti gli addon</Italian> <Italian>Controlla tutti gli addon</Italian>
@ -854,7 +816,7 @@
<German>Alle Addons anstatt nur ACE überprüfen?</German> <German>Alle Addons anstatt nur ACE überprüfen?</German>
<Czech>Zkontrolovat všechny addony namísto jen těch od ACE?</Czech> <Czech>Zkontrolovat všechny addony namísto jen těch od ACE?</Czech>
<Portuguese>Verificar todos addons invés de só os do ACE?</Portuguese> <Portuguese>Verificar todos addons invés de só os do ACE?</Portuguese>
<French>Vérifie tous les addons, même ceux qui ne sont pas liés à ACE</French> <French>/!\ Module obsolète /!\ - Vérifie tous les addons, même ceux qui ne sont pas liés à ACE.</French>
<Hungarian>Az összes bővítmény ellenőrzése, csak az ACE helyett?</Hungarian> <Hungarian>Az összes bővítmény ellenőrzése, csak az ACE helyett?</Hungarian>
<Russian>Проверять все аддоны, а не только ACE?</Russian> <Russian>Проверять все аддоны, а не только ACE?</Russian>
<Italian>Controlla tutti gli addon invece dei soli addon ACE?</Italian> <Italian>Controlla tutti gli addon invece dei soli addon ACE?</Italian>
@ -870,7 +832,7 @@
<German>Whitelist</German> <German>Whitelist</German>
<Czech>Seznam povolených</Czech> <Czech>Seznam povolených</Czech>
<Portuguese>Lista branca</Portuguese> <Portuguese>Lista branca</Portuguese>
<French>Liste blanche</French> <French>/!\ Module obsolète /!\ - Liste blanche</French>
<Hungarian>Fehérlista</Hungarian> <Hungarian>Fehérlista</Hungarian>
<Russian>Вайтлист доп. аддонов</Russian> <Russian>Вайтлист доп. аддонов</Russian>
<Italian>Lista Bianca</Italian> <Italian>Lista Bianca</Italian>
@ -886,7 +848,7 @@
<German>Welche Addons werden dennoch erlaubt?</German> <German>Welche Addons werden dennoch erlaubt?</German>
<Czech>Jaké addony jsou povoleny?</Czech> <Czech>Jaké addony jsou povoleny?</Czech>
<Portuguese>Quais addons são permitidos de qualquer maneira?</Portuguese> <Portuguese>Quais addons são permitidos de qualquer maneira?</Portuguese>
<French>Quels addons sont tolérés ?</French> <French>/!\ Module obsolète /!\ - Permet de définir une liste d'addons autorisés systématiquement.</French>
<Hungarian>Milyen bővítmények vannak feltétlenül engedélyezve?</Hungarian> <Hungarian>Milyen bővítmények vannak feltétlenül engedélyezve?</Hungarian>
<Russian>Какие аддоны дополнительно разрешены?</Russian> <Russian>Какие аддоны дополнительно разрешены?</Russian>
<Italian>Quali addon sono permessi in ogni caso?</Italian> <Italian>Quali addon sono permessi in ogni caso?</Italian>
@ -918,7 +880,7 @@
<German>Fügt einen LSD-Effekt zum synchronisierten Fahrzeug hinzu</German> <German>Fügt einen LSD-Effekt zum synchronisierten Fahrzeug hinzu</German>
<Czech>Přidá LSD efekt pro synchronizované vozidla</Czech> <Czech>Přidá LSD efekt pro synchronizované vozidla</Czech>
<Portuguese>Adiciona efeito LSD ao veículo sincronizado</Portuguese> <Portuguese>Adiciona efeito LSD ao veículo sincronizado</Portuguese>
<French>Ajoute l'effet LSD aux véhicules synchronisés</French> <French>Ajoute l'effet LSD aux véhicules synchronisés.</French>
<Hungarian>LSD-effekt hozzáadása a szinkronizált járművekhez</Hungarian> <Hungarian>LSD-effekt hozzáadása a szinkronizált járművekhez</Hungarian>
<Russian>Добавляет эффект LSD (мигание всеми цветами радуги) синхронизированным транспортным средствам</Russian> <Russian>Добавляет эффект LSD (мигание всеми цветами радуги) синхронизированным транспортным средствам</Russian>
<Italian>Aggiunge effetti LSD ai veicoli sincronizzati</Italian> <Italian>Aggiunge effetti LSD ai veicoli sincronizzati</Italian>
@ -934,7 +896,7 @@
<Portuguese>Ativa dispositivo de mão</Portuguese> <Portuguese>Ativa dispositivo de mão</Portuguese>
<Polish>Przełącz urządzenie podręczne</Polish> <Polish>Przełącz urządzenie podręczne</Polish>
<Czech>Přepnout ruční zařízení</Czech> <Czech>Přepnout ruční zařízení</Czech>
<French>Allumer l'ordinateur de poche</French> <French>Allumer l'appareil portatif</French>
<Hungarian>Kézi eszköz kapcsolása</Hungarian> <Hungarian>Kézi eszköz kapcsolása</Hungarian>
<Russian>Включить портативное устройство</Russian> <Russian>Включить портативное устройство</Russian>
<Italian>Apri dispositivo palmare</Italian> <Italian>Apri dispositivo palmare</Italian>
@ -950,7 +912,7 @@
<Portuguese>Fecha dispositivo de mão</Portuguese> <Portuguese>Fecha dispositivo de mão</Portuguese>
<Polish>Zamknij urządzenie podręczne</Polish> <Polish>Zamknij urządzenie podręczne</Polish>
<Czech>Zavřít ruční zařízení</Czech> <Czech>Zavřít ruční zařízení</Czech>
<French>Fermer l'ordinateur de poche</French> <French>Éteindre l'appareil portatif</French>
<Hungarian>Kézi eszköz bezárása</Hungarian> <Hungarian>Kézi eszköz bezárása</Hungarian>
<Russian>Закрыть портативное устройство</Russian> <Russian>Закрыть портативное устройство</Russian>
<Italian>Chiudi dispositivo palmare</Italian> <Italian>Chiudi dispositivo palmare</Italian>
@ -966,7 +928,7 @@
<Portuguese>Troca dispositivos de mão</Portuguese> <Portuguese>Troca dispositivos de mão</Portuguese>
<Polish>Następne urządzenie podręczne</Polish> <Polish>Następne urządzenie podręczne</Polish>
<Czech>Procházet ruční zařízení</Czech> <Czech>Procházet ruční zařízení</Czech>
<French>Changer (cycle) d'ordinateur de poche</French> <French>Changer d'appareil portatif</French>
<Hungarian>Kézi eszköz váltása</Hungarian> <Hungarian>Kézi eszköz váltása</Hungarian>
<Russian>Следующее портативное устройство</Russian> <Russian>Следующее портативное устройство</Russian>
<Italian>Cicla tra dispositivi palmari</Italian> <Italian>Cicla tra dispositivi palmari</Italian>
@ -978,7 +940,7 @@
<Key ID="STR_ACE_Common_Disabled"> <Key ID="STR_ACE_Common_Disabled">
<English>Disabled</English> <English>Disabled</English>
<Czech>Zakázáno</Czech> <Czech>Zakázáno</Czech>
<French>Désactiver</French> <French>Désactivé</French>
<German>Deaktiviert</German> <German>Deaktiviert</German>
<Italian>Disattivato</Italian> <Italian>Disattivato</Italian>
<Polish>Wyłączone</Polish> <Polish>Wyłączone</Polish>
@ -993,7 +955,7 @@
<Key ID="STR_ACE_Common_Enabled"> <Key ID="STR_ACE_Common_Enabled">
<English>Enabled</English> <English>Enabled</English>
<Czech>Povoleno</Czech> <Czech>Povoleno</Czech>
<French>Activer</French> <French>Activé</French>
<German>Aktiviert</German> <German>Aktiviert</German>
<Italian>Attivato</Italian> <Italian>Attivato</Italian>
<Polish>Włączone</Polish> <Polish>Włączone</Polish>
@ -1010,6 +972,9 @@
<German>Immer</German> <German>Immer</German>
<Japanese>常に</Japanese> <Japanese>常に</Japanese>
<Russian>Всегда</Russian> <Russian>Всегда</Russian>
<Portuguese>Sempre</Portuguese>
<French>Toujours</French>
<Chinese>一直</Chinese>
</Key> </Key>
<Key ID="STR_ACE_Common_Anywhere"> <Key ID="STR_ACE_Common_Anywhere">
<English>Anywhere</English> <English>Anywhere</English>
@ -1024,6 +989,7 @@
<Italian>Ovunque</Italian> <Italian>Ovunque</Italian>
<Japanese>どこでも</Japanese> <Japanese>どこでも</Japanese>
<Korean>어디서나</Korean> <Korean>어디서나</Korean>
<Chinese>任何地方</Chinese>
</Key> </Key>
<Key ID="STR_ACE_Common_Basic"> <Key ID="STR_ACE_Common_Basic">
<English>Basic</English> <English>Basic</English>
@ -1038,6 +1004,7 @@
<Italian>Basico</Italian> <Italian>Basico</Italian>
<Japanese>ベーシック</Japanese> <Japanese>ベーシック</Japanese>
<Korean>기본</Korean> <Korean>기본</Korean>
<Chinese>基礎</Chinese>
</Key> </Key>
<Key ID="STR_ACE_Common_Vehicle"> <Key ID="STR_ACE_Common_Vehicle">
<English>Medical Vehicles</English> <English>Medical Vehicles</English>
@ -1047,11 +1014,12 @@
<German>Sanitätsfahrzeuge</German> <German>Sanitätsfahrzeuge</German>
<Czech>Zdravotnická vozidla</Czech> <Czech>Zdravotnická vozidla</Czech>
<Portuguese>Veículos médcos</Portuguese> <Portuguese>Veículos médcos</Portuguese>
<French>Dans les véhicules médicals</French> <French>Dans les véhicules médicaux</French>
<Hungarian>Orvosi járművek</Hungarian> <Hungarian>Orvosi járművek</Hungarian>
<Italian>Veicoli medici</Italian> <Italian>Veicoli medici</Italian>
<Japanese>医療車両のみ</Japanese> <Japanese>医療車両のみ</Japanese>
<Korean>의료차량</Korean> <Korean>의료차량</Korean>
<Chinese>醫療載具</Chinese>
</Key> </Key>
<Key ID="STR_ACE_Common_Yes"> <Key ID="STR_ACE_Common_Yes">
<English>Yes</English> <English>Yes</English>
@ -1090,12 +1058,18 @@
<Japanese>確認</Japanese> <Japanese>確認</Japanese>
<German>Bestätigen</German> <German>Bestätigen</German>
<Russian>Подтвердить</Russian> <Russian>Подтвердить</Russian>
<Portuguese>Confirmar</Portuguese>
<French>Confirmer</French>
<Chinese>確認</Chinese>
</Key> </Key>
<Key ID="STR_ACE_Common_Never"> <Key ID="STR_ACE_Common_Never">
<English>Never</English> <English>Never</English>
<Japanese>行わない</Japanese> <Japanese>行わない</Japanese>
<German>Nie</German> <German>Nie</German>
<Russian>Никогда</Russian> <Russian>Никогда</Russian>
<Portuguese>Nunca</Portuguese>
<French>Jamais</French>
<Chinese>從不</Chinese>
</Key> </Key>
<Key ID="STR_ACE_Common_VehiclesOnly"> <Key ID="STR_ACE_Common_VehiclesOnly">
<English>Vehicles only</English> <English>Vehicles only</English>
@ -1136,7 +1110,7 @@
<Czech>ACE Vybavení</Czech> <Czech>ACE Vybavení</Czech>
<Spanish>ACE Equipo</Spanish> <Spanish>ACE Equipo</Spanish>
<Italian>ACE Equipaggiamento</Italian> <Italian>ACE Equipaggiamento</Italian>
<French>ACE Equipement</French> <French>ACE Équipement</French>
<Japanese>ACE 装備</Japanese> <Japanese>ACE 装備</Japanese>
<Korean>ACE 장비</Korean> <Korean>ACE 장비</Korean>
<Chinese>ACE 裝備按鍵</Chinese> <Chinese>ACE 裝備按鍵</Chinese>
@ -1196,7 +1170,7 @@
<Czech>ACE Nastavení optiky</Czech> <Czech>ACE Nastavení optiky</Czech>
<Spanish>ACE Ajuste de miras</Spanish> <Spanish>ACE Ajuste de miras</Spanish>
<Italian>ACE Regolazione Ottiche</Italian> <Italian>ACE Regolazione Ottiche</Italian>
<French>ACE Ajustement de la lunette </French> <French>ACE Réglage des lunettes</French>
<Japanese>ACE スコープ調節</Japanese> <Japanese>ACE スコープ調節</Japanese>
<Korean>ACE 조준경 조정</Korean> <Korean>ACE 조준경 조정</Korean>
<Chinese>ACE 瞄準鏡調節按鍵</Chinese> <Chinese>ACE 瞄準鏡調節按鍵</Chinese>
@ -1211,7 +1185,7 @@
<Czech>ACE Vozidla</Czech> <Czech>ACE Vozidla</Czech>
<Spanish>ACE Vehículos</Spanish> <Spanish>ACE Vehículos</Spanish>
<Italian>ACE Veicoli</Italian> <Italian>ACE Veicoli</Italian>
<French>ACE Vehicules</French> <French>ACE Véhicules</French>
<Japanese>ACE 車両</Japanese> <Japanese>ACE 車両</Japanese>
<Korean>ACE 차량</Korean> <Korean>ACE 차량</Korean>
<Chinese>ACE 載具按鍵</Chinese> <Chinese>ACE 載具按鍵</Chinese>
@ -1274,6 +1248,8 @@
<Italian>Permesso di abbassare la musica</Italian> <Italian>Permesso di abbassare la musica</Italian>
<Polish>Zezwól na przyciszanie muzyki</Polish> <Polish>Zezwól na przyciszanie muzyki</Polish>
<Russian>Разрешить приглушение музыки</Russian> <Russian>Разрешить приглушение музыки</Russian>
<Portuguese>Permite diminuir volume da música</Portuguese>
<French>Permission d'abaisser la musique</French>
</Key> </Key>
<Key ID="STR_ACE_Common_AllowFadeMusicTooltip"> <Key ID="STR_ACE_Common_AllowFadeMusicTooltip">
<English>Allow ACE scripts to turn down the music.</English> <English>Allow ACE scripts to turn down the music.</English>
@ -1285,6 +1261,8 @@
<Italian>Permetti agli script di ACEdi abbassare la musica.</Italian> <Italian>Permetti agli script di ACEdi abbassare la musica.</Italian>
<Polish>Zezwól skrypty ACE na przyciszanie muzyki.</Polish> <Polish>Zezwól skrypty ACE na przyciszanie muzyki.</Polish>
<Russian>Позволить скриптам ACE приглушать музыку</Russian> <Russian>Позволить скриптам ACE приглушать музыку</Russian>
<Portuguese>Permite que Scripts do ACE diminuam o volume da música.</Portuguese>
<French>Autorise les scripts ACE à baisser le volume de la musique.</French>
</Key> </Key>
<Key ID="STR_ACE_Common_FlagBlack"> <Key ID="STR_ACE_Common_FlagBlack">
<English>Flag (ACE - Black)</English> <English>Flag (ACE - Black)</English>
@ -1295,6 +1273,8 @@
<Japanese>旗 (ACE - 黒)</Japanese> <Japanese>旗 (ACE - 黒)</Japanese>
<Polish>Flaga (ACE - Czarna)</Polish> <Polish>Flaga (ACE - Czarna)</Polish>
<Russian>Флаг (ACE - Черный)</Russian> <Russian>Флаг (ACE - Черный)</Russian>
<Portuguese>Bandeira (ACE - Preto)</Portuguese>
<French>Drapeau (ACE - Noir)</French>
</Key> </Key>
<Key ID="STR_ACE_Common_FlagWhite"> <Key ID="STR_ACE_Common_FlagWhite">
<English>Flag (ACE - White)</English> <English>Flag (ACE - White)</English>
@ -1305,6 +1285,8 @@
<Japanese>旗 (ACE - 白)</Japanese> <Japanese>旗 (ACE - 白)</Japanese>
<Polish>Flaga (ACE - Biała)</Polish> <Polish>Flaga (ACE - Biała)</Polish>
<Russian>Флаг (ACE - Белый)</Russian> <Russian>Флаг (ACE - Белый)</Russian>
<Portuguese>Bandeira (ACE - Branco)</Portuguese>
<French>Drapeau (ACE - Blanc)</French>
</Key> </Key>
<Key ID="STR_ACE_Common_playerOnly"> <Key ID="STR_ACE_Common_playerOnly">
<English>Players only</English> <English>Players only</English>
@ -1314,7 +1296,7 @@
<German>Nur Spieler</German> <German>Nur Spieler</German>
<Czech>Pouze hráči</Czech> <Czech>Pouze hráči</Czech>
<Portuguese>Somente jogadores</Portuguese> <Portuguese>Somente jogadores</Portuguese>
<French>Joueur uniquement</French> <French>Joueurs uniquement</French>
<Hungarian>Csak játékosok</Hungarian> <Hungarian>Csak játékosok</Hungarian>
<Italian>Solo giocatori</Italian> <Italian>Solo giocatori</Italian>
<Japanese>プレイヤーのみ</Japanese> <Japanese>プレイヤーのみ</Japanese>

View File

@ -74,7 +74,7 @@ class CfgVehicles {
}; };
class ACE_ConcertinaWire: ACE_ConcertinaWireNoGeo { class ACE_ConcertinaWire: ACE_ConcertinaWireNoGeo {
scope = 2; scope = 2;
displayName = $STR_ACE_CONCERTINA_WIRE; displayName = CSTRING(DisplayName);
model = QPATHTOF(data\ACE_ConcertinaWire.p3d); model = QPATHTOF(data\ACE_ConcertinaWire.p3d);
EGVAR(logistics_wirecutter,isFence) = 1; EGVAR(logistics_wirecutter,isFence) = 1;
class ACE_Actions { class ACE_Actions {
@ -84,7 +84,7 @@ class CfgVehicles {
condition = "true"; condition = "true";
class ACE_Dismount { class ACE_Dismount {
selection = ""; selection = "";
displayName = "$STR_ACE_UNROLLWIRE"; displayName = CSTRING(UnrollWire);
distance = 5; distance = 5;
condition = "alive _target"; condition = "alive _target";
statement = QUOTE([ARR_2(_target,_player)] call FUNC(dismount)); statement = QUOTE([ARR_2(_target,_player)] call FUNC(dismount));
@ -103,7 +103,7 @@ class CfgVehicles {
}; };
scope = 2; scope = 2;
displayName = $STR_ACE_CONCERTINA_WIRECOIL; displayName = CSTRING(Coil_DisplayName);
model = QPATHTOF(data\ACE_ConcertinaWireCoil.p3d); model = QPATHTOF(data\ACE_ConcertinaWireCoil.p3d);
mapsize = 0.5; mapsize = 0.5;
animated = 0; animated = 0;
@ -129,7 +129,7 @@ class CfgVehicles {
condition = "true"; condition = "true";
class ACE_Deploy { class ACE_Deploy {
selection = ""; selection = "";
displayName = "$STR_ACE_ROLLWIRE"; displayName = CSTRING(RollWire);
distance = 4; distance = 4;
condition = "true"; condition = "true";
//wait a frame to handle "Do When releasing action menu key" option: //wait a frame to handle "Do When releasing action menu key" option:

View File

@ -77,7 +77,7 @@ GVAR(deployPFH) = [{
} count WIRE_FAST; } count WIRE_FAST;
}, 0, [_wireNoGeo, _wireNoGeoPos, _unit]] call CBA_fnc_addPerFrameHandler; }, 0, [_wireNoGeo, _wireNoGeoPos, _unit]] call CBA_fnc_addPerFrameHandler;
[localize "STR_ACE_ROLLWIRE", "", ""] call EFUNC(interaction,showMouseHint); [LLSTRING(RollWire), "", ""] call EFUNC(interaction,showMouseHint);
[_unit, "blockThrow", QUOTE(ADDON), true] call EFUNC(common,statusEffect_set); [_unit, "blockThrow", QUOTE(ADDON), true] call EFUNC(common,statusEffect_set);

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