Merge branch 'master' into cbaDisposable

This commit is contained in:
PabstMirror 2019-10-17 13:01:07 -05:00
commit bccf170573
781 changed files with 18674 additions and 7654 deletions

View File

@ -1,25 +0,0 @@
**Arma 3 Version:** `x.xx` (stable / rc / dev)
**CBA Version:** `3.x.x` (stable / dev + commit hash)
**ACE3 Version:** `3.x.x` (stable / dev + commit hash)
**Mods:**
```
- CBA_A3
- ace
```
**Description:**
- Add a detailed description of the error. This makes it easier for us to fix the issue.
**Steps to reproduce:**
- Add the steps needed to reproduce the issue.
**Where did the issue occur?**
- Dedicated / Self-Hosted Multiplayer / Singleplayer / Editor (Singleplayer) / Editor (Multiplayer) / Virtual Arsenal
**Additional information:**
- Provide any additional information that will help us solve this issue.
**RPT log file:**
- Add a link ([gist](https://gist.github.com) or [pastebin](http://pastebin.com)) to the client and/or server RPT file. An instruction to find your RPT files can be found [here](https://community.bistudio.com/wiki/Crash_Files#Arma_3).
- If possible at the time the bug is encountered, go to Options and select "ACE Debug To Clipboard", this will print extensive debug information to the RPT file and copy it to clipboard.

37
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@ -0,0 +1,37 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: kind/bug
assignees: ''
---
**Mods (complete and add to the following information):**
- **Arma 3:** `x.xx` [e.g. 1.00 stable, rc, dev]
- **CBA:** `3.x.x` [e.g. 3.0.0 stable, commit hash]
- **ACE3:** `3.x.x` [eg. 3.0.0 stable, commit hash]
_Make sure to reproduce the issue with only CBA and ACE3 on a newly created mission!_
**Description:**
A clear and concise description of what the bug is.
**Steps to reproduce:**
- Go to ...
- Click ...
- See ...
**Expected behavior:**
A clear and concise description of what you expected to happen.
**Where did the issue occur?**
- Dedicated / Self-Hosted Multiplayer / Singleplayer / Editor (Singleplayer) / Editor (Multiplayer) / Virtual Arsenal
**Log Files:**
- Link to ([gist](https://gist.github.com) or [pastebin](http://pastebin.com)) to the client and/or server RPT file. An instruction to find your RPT files can be found [here](https://community.bistudio.com/wiki/Crash_Files#Arma_3).
**Additional context:**
Add any other context about the problem here.
**Screenshots:**
If applicable, add screenshots to help explain your problem.

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

@ -0,0 +1,12 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: kind/feature request, status/invalid
assignees: ''
---
### Do not post feature requests here!
Learn how to make a feature request [here](https://ace3mod.com/wiki/user/how-to-make-a-feature-request.html).

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

@ -0,0 +1,45 @@
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 String Tables
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
container: acemod/armake:master
steps:
- name: Checkout the source code
uses: actions/checkout@master
- name: Build (armake)
run: armake --version && make -j4
- 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.GITHUB_TOKEN }}
run: python3 tools/deploy.py

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

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

View File

@ -47,10 +47,12 @@ Arkhir <wonsz666@gmail.com >
Asgar Serran <piechottaf@web.de>
BaerMitUmlaut
Bamse <bamsis@gmail.com>
Barman75
Bla1337
BlackPixxel <blackpixxel96@gmail.com>
BlackQwar
Brakoviejo
Brandon (TCVM) <brandondanyluk366@gmail.com>
Brisse <brisse@outlook.com>
Brostrom.A | Evul <andreas.brostrom.ce@gmail.com>
BullHorn <bullhorn7@gmail.com>
@ -60,6 +62,7 @@ Clon1998 <ps.patti1998@gmail.com>
Codingboy
Coren <coren4@gmail.com>
Crusty
C0kkie
Dharma Bellamkonda <dharma.bellamkonda@gmail.com>
Dimaslg <dimaslg@telecable.es>
diwako
@ -130,6 +133,7 @@ Riccardo Petricca <petriccarcc@gmail.com>
Robert Boklahánics <bokirobi@gmail.com>
ruPaladin <happyworm24@rambler.ru>
Rutger "RedBery" Meijering <c.redbery@gmail.com>
Schwaggot <tom.ryan@posteo.de>
simon84 <badguy360th@gmail.com>
Skengman2
Sniperwolf572 <tenga6@gmail.com>

View File

@ -82,7 +82,7 @@ push: commit
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)
@cp *.dll *.so 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:

View File

@ -19,7 +19,7 @@
<img src="https://img.shields.io/badge/License-GPLv2-red.svg?style=flat-square" alt="ACE3 License">
</a>
<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 href="https://circleci.com/gh/acemod/ACE3">
<img src="https://circleci.com/gh/acemod/ACE3.svg?style=svg" alt="ACE3 Build Status">

Binary file not shown.

Binary file not shown.

View File

@ -20,5 +20,8 @@ class CfgPatches {
#include "ACE_Settings.hpp"
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"
/*
* Author: Ruthberg
* Initializes the advanced ballistics dll extension with terrain data
* Initializes the advanced ballistics extension with terrain data
*
* Arguments:
* None

View File

@ -91,6 +91,8 @@
<Chinesesimp>启用枪口初速变化</Chinesesimp>
<French>Activer les variations de la vitesse initiale</French>
<Polish>Aktywuj wariację prędkości wylotowej</Polish>
<Russian>Вкл. вариацию начальной скорости</Russian>
<Portuguese>Ativar Variação de Velocidade no Freio de boca (muzzle)</Portuguese>
</Key>
<Key ID="STR_ACE_Advanced_Ballistics_muzzleVelocityVariationEnabled_Description">
<English>Simulates slight variations in muzzle velocity between each shot</English>
@ -102,6 +104,8 @@
<Chinesesimp>模拟每发子弹的枪口初速都略有不同</Chinesesimp>
<French>Simule les légères variations</French>
<Polish>Symuluje lekkie zmiany w prędkości wylotowej między każdym strzałem</Polish>
<Russian>Имитирует небольшие изменения начальной скорости при каждом выстреле</Russian>
<Portuguese>Simula pequenas variações na velocidade do Freio de Boca entre cada tiro</Portuguese>
</Key>
<Key ID="STR_ACE_Advanced_Ballistics_ammoTemperatureEnabled_DisplayName">
<English>Enable Ammo Temperature Simulation</English>

View File

@ -47,8 +47,8 @@ if (!hasInterface) exitWith {};
[QEGVAR(medical,pain), { // 0->1.0, 0.5->1.05, 1->1.1
linearConversion [0, 1, (_this getVariable [QEGVAR(medical,pain), 0]), 1, 1.1, true];
}] call FUNC(addDutyFactor);
[QEGVAR(medical,bloodVolume), { // 100->1.0, 90->1.1, 80->1.2
linearConversion [6, 0, (_this getVariable [QEGVAR(medical,bloodVolume), 100]), 1, 2, true];
[QEGVAR(medical,bloodVolume), { // 6->1.0, 5->1.167, 4->1.33
linearConversion [6, 0, (_this getVariable [QEGVAR(medical,bloodVolume), 6]), 1, 2, true];
}] call FUNC(addDutyFactor);
};
if (["ACE_Dragging"] call EFUNC(common,isModLoaded)) then {

View File

@ -10,5 +10,6 @@ PREP_RECOMPILE_END;
GVAR(staminaBarWidth) = 10 * (((safezoneW / safezoneH) min 1.2) / 40);
GVAR(dutyList) = [[], []];
GVAR(setAnimExclusions) = [];
ADDON = true;

View File

@ -58,8 +58,9 @@ if (GVAR(ppeBlackoutLast) == 1) then {
// - Physical effects ---------------------------------------------------------
if (GVAR(isSwimming)) exitWith {
_unit setAnimSpeedCoef linearConversion [0.7, 0.9, _fatigue, 1, 0.5, true];
if (GVAR(setAnimExclusions) isEqualTo []) then {
_unit setAnimSpeedCoef linearConversion [0.7, 0.9, _fatigue, 1, 0.5, true];
};
if ((isSprintAllowed _unit) && {_fatigue > 0.7}) then {
[_unit, "blockSprint", QUOTE(ADDON), true] call EFUNC(common,statusEffect_set);
} else {
@ -69,7 +70,10 @@ if (GVAR(isSwimming)) exitWith {
};
};
if ((getAnimSpeedCoef _unit) != 1) then {
_unit setAnimSpeedCoef 1;
if (GVAR(setAnimExclusions) isEqualTo []) then {
TRACE_1("reset",getAnimSpeedCoef _unit);
_unit setAnimSpeedCoef 1;
};
};
if (_overexhausted) then {

View File

@ -11,6 +11,8 @@
<Korean>ACE 고급 피로도</Korean>
<French>ACE Fatigue Avancée</French>
<Polish>ACE Zaawansowane Zmęczenie</Polish>
<Russian>ACE Продвинутая усталость</Russian>
<Portuguese>ACE Fadiga Avançada</Portuguese>
</Key>
<Key ID="STR_ACE_Advanced_Fatigue_PerformanceFactor">
<English>Performance Factor</English>
@ -22,6 +24,8 @@
<Italian>Fattore Prestazione</Italian>
<Chinese>體力值</Chinese>
<Chinesesimp>体力值</Chinesesimp>
<Russian>Фактор производительности</Russian>
<Portuguese>Fator de Performance</Portuguese>
</Key>
<Key ID="STR_ACE_Advanced_Fatigue_PerformanceFactor_Description">
<English>Influences the overall performance of all players with no custom factor. Higher means better.</English>
@ -33,6 +37,8 @@
<Italian>Influenza qualsiasi prestazione di tutti i giocatori smuniti di un fattore personalizzato. Maggiore significa migliore.</Italian>
<Chinese>影響所有玩家的體力表現,值越高代表體力越好</Chinese>
<Chinesesimp>影响所有玩家的体力表现,值越高代表体力越好</Chinesesimp>
<Russian>Влияет на общую производительность игроков, у которых не задано персональное значение.</Russian>
<Portuguese>Influencia na performance geral de todos os jogadores sem nenhum fator personalizado. Quanto maior, melhor.</Portuguese>
</Key>
<Key ID="STR_ACE_Advanced_Fatigue_PerformanceFactor_EdenDescription">
<English>Influences the overall performance of this unit. Higher means better.</English>
@ -44,6 +50,8 @@
<Italian>Influenza qualsiasi prestazione di questa unità. Maggiore significa migliore.</Italian>
<Chinese>影響這個單位的體力表現,值越高代表體力越好</Chinese>
<Chinesesimp>影响这个单位的体力表现,值越高代表体力越好</Chinesesimp>
<Russian>Влияет на общую производительность юнита.</Russian>
<Portuguese>Influencia na performance geral dessa unidade. Quanto maior, melhor.</Portuguese>
</Key>
<Key ID="STR_ACE_Advanced_Fatigue_RecoveryFactor">
<English>Recovery Factor</English>
@ -55,6 +63,8 @@
<Italian>Fattore Recupero</Italian>
<Chinese>回復值</Chinese>
<Chinesesimp>回复值</Chinesesimp>
<Russian>Фактор восстановления</Russian>
<Portuguese>Fator de Recuperação</Portuguese>
</Key>
<Key ID="STR_ACE_Advanced_Fatigue_RecoveryFactor_Description">
<English>Changes how fast the player recovers when resting. Higher is faster.</English>
@ -66,6 +76,8 @@
<Italian>Determina in quanto tempo il giocatore recupera quando rilassato. Maggiore significa migliore.</Italian>
<Chinese>決定玩家休息多久就能回復體力,值越高恢復越快</Chinese>
<Chinesesimp>决定玩家休息多久就能回复体力,值越高恢复越快</Chinesesimp>
<Russian>Изменяет скорость восстановления игрока во время отдыха. Чем выше, тем быстрее.</Russian>
<Portuguese>Altera o quão rápido um jogador recupera quando descansando. Quanto maior, mais rápido.</Portuguese>
</Key>
<Key ID="STR_ACE_Advanced_Fatigue_LoadFactor">
<English>Load Factor</English>
@ -77,6 +89,8 @@
<Italian>Fattore Caricamento</Italian>
<Chinese>負重量</Chinese>
<Chinesesimp>负重量</Chinesesimp>
<Russian>Фактор нагрузки</Russian>
<Portuguese>Fator de Carga</Portuguese>
</Key>
<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>
@ -88,6 +102,8 @@
<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>
<Chinesesimp>增加或降低玩家所能承受的负重量. 如设定值为0, 代表装备的重量将不会影响到玩家的体力表现</Chinesesimp>
<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>
</Key>
<Key ID="STR_ACE_Advanced_Fatigue_TerrainGradientFactor">
<English>Terrain Gradient Factor</English>
@ -99,6 +115,8 @@
<Italian>Fattore Pendenza Terreno</Italian>
<Chinese>地形陡峭影響值</Chinese>
<Chinesesimp>地形陡峭影响值</Chinesesimp>
<Russian>Фактор местности</Russian>
<Portuguese>Fator de Inclinação do Terreno</Portuguese>
</Key>
<Key ID="STR_ACE_Advanced_Fatigue_TerrainGradientFactor_Description">
<English>Sets how much steep terrain increases stamina loss. Higher means higher stamina loss.</English>
@ -110,24 +128,32 @@
<Italian>Stabilisce quanto la pendenza del terreno incrementa la perdita della stamina. Maggiore significa più stamina persa.</Italian>
<Chinese>設定陡峭的地形將會影響多少體力的流失,值越高代表體力流失越快</Chinese>
<Chinesesimp>设定陡峭的地形将会影响多少体力的流,失值越高代表体力流失越快</Chinesesimp>
<Russian>Устанавливает, насколько крутая местность увеличивает потерю выносливости. Чем выше, тем быстрее теряется выносливость.</Russian>
<Portuguese>Define o quanto que um terreno íngrime aumenta na perda de estamina. Quanto maior, maior a perda de estamina.</Portuguese>
</Key>
<Key ID="STR_ACE_Advanced_Fatigue_SwayFactor">
<English>Sway factor</English>
<German>Verwacklungsfaktor</German>
<Japanese>手ぶれ因数</Japanese>
<Chinesesimp>抖动因数</Chinesesimp>
<Chinese>抖動因素</Chinese>
<French>Facteur de stabilisation</French>
<Italian>Fattore di oscillazione</Italian>
<Polish>Czynnik kołysania</Polish>
<Russian>Фактор колебания прицела</Russian>
<Portuguese>Fator de Balanço de Mira</Portuguese>
</Key>
<Key ID="STR_ACE_Advanced_Fatigue_SwayFactor_Description">
<English>Influences the amount of weapon sway. Higher means more sway.</English>
<German>Beeinflusst den Faktor, wie ruhig man eine Waffe halten kann. Ein höherer Wert bedeutet weniger Stabilisierung</German>
<Japanese>武器を持つ手のぶれ度合いを設定します。 値が高ければ高いほど、手ぶれが強くなります。</Japanese>
<Chinesesimp>影响手持武器的晃动程度,数值越高,抖动的越厉害.</Chinesesimp>
<Chinese>影響手持武器晃動程度,數值越高抖動越厲害</Chinese>
<French>Influence les mouvements de l'arme, une valeur plus élevée signifie plus de mouvements</French>
<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>
<Russian>Влияет на колебания прицела оружия. Чем выше - тем больше.</Russian>
<Portuguese>Influencia a quantidade de balanço da mira da arma. Quanto maior, mais balanço.</Portuguese>
</Key>
<Key ID="STR_ACE_Advanced_Fatigue_Enabled">
<English>Enabled</English>
@ -139,6 +165,8 @@
<Italian>Abilitato</Italian>
<Chinese>啟用</Chinese>
<Chinesesimp>启用</Chinesesimp>
<Russian>Включена</Russian>
<Portuguese>Ativado</Portuguese>
</Key>
<Key ID="STR_ACE_Advanced_Fatigue_Enabled_Description">
<English>Enables/disables Advanced Fatigue.</English>
@ -150,6 +178,8 @@
<Italian>Abilita/disabilita la Fatica Avanzata.</Italian>
<Chinese>啟用/關閉進階體力.</Chinese>
<Chinesesimp>启用/关闭进阶体力.</Chinesesimp>
<Russian>Включает / Отключает Продвинутую усталость</Russian>
<Portuguese>Ativa/Desativa Fadiga Avançada.</Portuguese>
</Key>
<Key ID="STR_ACE_Advanced_Fatigue_EnableStaminaBar">
<English>Show stamina bar</English>
@ -161,6 +191,8 @@
<Italian>Mostra barra stamina</Italian>
<Chinese>顯示體力條</Chinese>
<Chinesesimp>显示体力条</Chinesesimp>
<Russian>Показать шкалу усталости</Russian>
<Portuguese>Exibir barra de estamina</Portuguese>
</Key>
<Key ID="STR_ACE_Advanced_Fatigue_EnableStaminaBar_Description">
<English>Shows the stamina bar.</English>
@ -172,6 +204,8 @@
<Italian>Mostra la barra della stamina.</Italian>
<Chinese>顯示體力條</Chinese>
<Chinesesimp>显示体力条</Chinesesimp>
<Russian>Показывает шкалу усталости.</Russian>
<Portuguese>Exibe a barra de estamina.</Portuguese>
</Key>
</Package>
</Project>

View File

@ -26,3 +26,8 @@ TRACE_1("Fired",_this);
{
_this call _x;
} forEach ((_this select 0) getVariable "cba_xeh_fired");
// Call muzzle fired EH
{
_this call compile getText (_x >> "fired");
} forEach (configProperties [configFile >> "CfgWeapons" >> "Throw" >> (_this select 2) >> "EventHandlers", "isClass _x", true]);

View File

@ -12,6 +12,7 @@
<Italian>Lancio Avanzato</Italian>
<Chinese>進階投擲</Chinese>
<Chinesesimp>进阶投掷</Chinesesimp>
<Portuguese>Arremesso Avançado</Portuguese>
</Key>
<Key ID="STR_ACE_Advanced_Throwing_Module_Description">
<English>Allows changing advanced throwing behaviour.</English>
@ -24,6 +25,7 @@
<Italian>Permette il cambiamento della modalità di tiro.</Italian>
<Chinese>允許使用更多不同的投擲方式</Chinese>
<Chinesesimp>允许使用更多不同的投掷方式</Chinesesimp>
<Portuguese>Permite mudar o comportamento do arremesso avançado.</Portuguese>
</Key>
<Key ID="STR_ACE_Advanced_Throwing_Enable_DisplayName">
<English>Enable Advanced Throwing</English>
@ -36,6 +38,7 @@
<Italian>Abilita Lancio Avanzato</Italian>
<Chinese>啟用進階投擲</Chinese>
<Chinesesimp>启用进阶投掷</Chinesesimp>
<Portuguese>Ativa o Arremesso Avançado</Portuguese>
</Key>
<Key ID="STR_ACE_Advanced_Throwing_Enable_Description">
<English>Enables advanced throwing system.</English>
@ -48,6 +51,7 @@
<Italian>Abilita il sistema di lancio avanzato.</Italian>
<Chinese>啟用進階投擲系統</Chinese>
<Chinesesimp>启用进阶投掷系统</Chinesesimp>
<Portuguese>Ativa o sistema de Arremesso Avançado.</Portuguese>
</Key>
<Key ID="STR_ACE_Advanced_Throwing_ShowThrowArc_DisplayName">
<English>Show Throw Arc</English>
@ -60,6 +64,7 @@
<Italian>Mostra Arco di Tiro</Italian>
<Chinese>顯示投擲軌道</Chinese>
<Chinesesimp>显示投掷轨道</Chinesesimp>
<Portuguese>Mostrar o Arco de Arremesso</Portuguese>
</Key>
<Key ID="STR_ACE_Advanced_Throwing_ShowThrowArc_Description">
<English>Enables visualization of the throw arc (where throwable will fly).</English>
@ -72,6 +77,7 @@
<Italian>Abilita la visualizzazione dell'arco del tiro (dove l'oggetto lanciabile volerà).</Italian>
<Chinese>顯示投擲軌道幫助投擲</Chinese>
<Chinesesimp>显示投掷轨道帮助投掷</Chinesesimp>
<Portuguese>Permite a visualização do Arco de Arremesso por onde o objeto será jogado.</Portuguese>
</Key>
<Key ID="STR_ACE_Advanced_Throwing_ShowMouseControls_DisplayName">
<English>Show Throwing Mouse Controls</English>
@ -84,6 +90,7 @@
<Italian>Mostra Comandi Mouse Lancio</Italian>
<Chinese>顯示滑鼠投擲控制提示</Chinese>
<Chinesesimp>显示滑鼠投掷控制提示</Chinesesimp>
<Portuguese>Mostrar os controles de mouse para Arremesso</Portuguese>
</Key>
<Key ID="STR_ACE_Advanced_Throwing_ShowMouseControls_Description">
<English>Enables visual cues for mouse controls when throwable is prepared.</English>
@ -96,6 +103,7 @@
<Italian>Abilita la visualizzazione dei controlli del mouse quando l'oggetto lanciabile è pronto.</Italian>
<Chinese>開啟後會在準備投擲時, 顯示滑鼠相關操作</Chinese>
<Chinesesimp>开启后会在准备投掷时, 显示滑鼠相关操作</Chinesesimp>
<Portuguese>Ativa as dicas visuais dos controles do mouse quando um arremessável é preparado.</Portuguese>
</Key>
<Key ID="STR_ACE_Advanced_Throwing_EnablePickUp_DisplayName">
<English>Enable Throwables Pick Up</English>
@ -108,6 +116,7 @@
<Italian>Abilita Raccogli Oggetti</Italian>
<Chinese>啟用可撿取地面投擲物</Chinese>
<Chinesesimp>启用可捡取地面投掷物</Chinesesimp>
<Portuguese>Permitir pegar arremessáveis</Portuguese>
</Key>
<Key ID="STR_ACE_Advanced_Throwing_EnablePickUp_Description">
<English>Enables ability to pick up throwables from the ground.</English>
@ -120,6 +129,7 @@
<Italian>Abilita la possibilità di raccogliere un oggetto lanciabile da terra.</Italian>
<Chinese>啟用後, 可撿取地面上的投擲物</Chinese>
<Chinesesimp>启用后, 可捡取地面上的投掷物</Chinesesimp>
<Portuguese>Permite que objetos arremessados sejam pegos do chão. (ACE Menu de Interação)</Portuguese>
</Key>
<Key ID="STR_ACE_Advanced_Throwing_EnablePickUpAttached_DisplayName">
<English>Enable Attached Throwables Pick Up</English>
@ -132,6 +142,7 @@
<Italian>Abilita Raccogli Oggetti Lanciabili da altri Oggetti</Italian>
<Chinese>啟用可撿取附著投擲物</Chinese>
<Chinesesimp>启用可捡取附着投掷物</Chinesesimp>
<Portuguese>Permitir pegar arremessáveis fixados</Portuguese>
</Key>
<Key ID="STR_ACE_Advanced_Throwing_EnablePickUpAttached_Description">
<English>Enables ability to pick up throwables from attached objects.</English>
@ -144,6 +155,7 @@
<Italian>Abilita la possibilità di raccogliere gli oggetti lanciabili dagli altri oggetti. </Italian>
<Chinese>啟用後, 可撿取附著在物件上的投擲物</Chinese>
<Chinesesimp>启用后, 可捡取附着在物件上的投掷物</Chinesesimp>
<Portuguese>Permite que arremessáveis fixados em objetos sejam pegos.</Portuguese>
</Key>
<Key ID="STR_ACE_Advanced_Throwing_Prepare">
<English>Prepare/Change Throwable</English>
@ -156,6 +168,7 @@
<Italian>Prepara/Cambia Oggetto lanciabile</Italian>
<Chinese>準備/變更投擲物</Chinese>
<Chinesesimp>准备/变更投掷物</Chinesesimp>
<Portuguese>Preparar/Mudar Arremessável</Portuguese>
</Key>
<Key ID="STR_ACE_Advanced_Throwing_dropModeHold">
<English>Throwable Drop Mode (Hold)</English>
@ -168,6 +181,7 @@
<Italian>Modalità Oggetto Gettabile (Mantenere)</Italian>
<Chinese>投擲模式 (按住)</Chinese>
<Chinesesimp>投掷模式 (按住)</Chinesesimp>
<Portuguese>Modo de Arremesso (Segurar)</Portuguese>
</Key>
<Key ID="STR_ACE_Advanced_Throwing_DropModeToggle">
<English>Throwable Drop Mode (Toggle)</English>
@ -180,6 +194,7 @@
<Italian>Modalità Oggetto lanciabile Gettabile (Interruttore)</Italian>
<Chinese>投擲模式 (切換)</Chinese>
<Chinesesimp>投掷模式 (切换)</Chinesesimp>
<Portuguese>Modo de Arremesso (Alternar)</Portuguese>
</Key>
<Key ID="STR_ACE_Advanced_Throwing_Primed">
<English>Primed</English>
@ -192,6 +207,7 @@
<Italian>Armato</Italian>
<Chinese>引信開始燃燒</Chinese>
<Chinesesimp>引信开始燃烧</Chinesesimp>
<Portuguese>Preparado</Portuguese>
</Key>
<Key ID="STR_ACE_Advanced_Throwing_Throw">
<English>Throw</English>
@ -204,6 +220,7 @@
<Italian>Lanciare</Italian>
<Chinese>投擲</Chinese>
<Chinesesimp>投掷</Chinesesimp>
<Portuguese>Arremessar</Portuguese>
</Key>
<Key ID="STR_ACE_Advanced_Throwing_ChangeMode">
<English>(Scroll) Change Mode</English>
@ -216,6 +233,7 @@
<Italian>(Scorrere) Cambio Modalità</Italian>
<Chinese>(滾輪) 變更模式</Chinese>
<Chinesesimp>(滚轮) 变更模式</Chinesesimp>
<Portuguese>(Roda do Mouse) Alternar modo</Portuguese>
</Key>
<Key ID="STR_ACE_Advanced_Throwing_Extend">
<English>(Scroll) Extend</English>
@ -228,6 +246,7 @@
<Italian>(Scorrere) Estendere</Italian>
<Chinese>(滾輪) 延長</Chinese>
<Chinesesimp>(滚轮) 延长</Chinesesimp>
<Portuguese>(Roda do Mouse) Extender</Portuguese>
</Key>
<Key ID="STR_ACE_Advanced_Throwing_Cook">
<English>(Click) Cook</English>
@ -240,6 +259,7 @@
<Italian>(Click) Arma</Italian>
<Chinese>(點擊) 提早拉開引信</Chinese>
<Chinesesimp>(点击) 提早拉开引信</Chinesesimp>
<Portuguese>(Clique) Cozinhar</Portuguese>
</Key>
<Key ID="STR_ACE_Advanced_Throwing_PickUp">
<English>Pick Up</English>
@ -252,6 +272,7 @@
<Italian>Raccogli</Italian>
<Chinese>撿取</Chinese>
<Chinesesimp>捡取</Chinesesimp>
<Portuguese>Pegar</Portuguese>
</Key>
</Package>
</Project>

View File

@ -3,6 +3,7 @@
<Package name="ai">
<Key ID="STR_ACE_ai_GarrisonInvalidPosition">
<English>Invalid position provided.</English>
<German>Ungültige Position</German>
<French>Position invalide fourni</French>
<Japanese>位置が無効です。</Japanese>
<Italian>Posizione invalida fornita.</Italian>
@ -10,9 +11,12 @@
<Chinesesimp>提供的位置无效。</Chinesesimp>
<Korean>위치가 잘못되었습니다.</Korean>
<Polish>Podano błędną pozycję.</Polish>
<Russian>Указана неверная позиция</Russian>
<Portuguese>Posição inválida fornecida.</Portuguese>
</Key>
<Key ID="STR_ACE_ai_GarrisonNoUnits">
<English>No units provided.</English>
<German>Keine Einheit ausgewählt</German>
<French>Aucune unité fourni</French>
<Japanese>ユニットがありません。</Japanese>
<Italian>Nessuna unità fornita.</Italian>
@ -20,9 +24,12 @@
<Chinesesimp>找不到可用的单位。</Chinesesimp>
<Korean>병력이 없습니다.</Korean>
<Polish>Nie podano żadnych jednostek.</Polish>
<Russian>Не указаны юниты</Russian>
<Portuguese>Nenhuma unidade fornecida.</Portuguese>
</Key>
<Key ID="STR_ACE_ai_GarrisonNotEnoughPos">
<English>There aren't enough positions to place all units.</English>
<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>
<Japanese>全ユニットを置くために十分な位置がありません。</Japanese>
<Italian>Non ci sono abbastanza posizioni per piazzare tutte le unità.</Italian>
@ -30,9 +37,12 @@
<Chinesesimp>没有足够的位置能摆放所有单位。</Chinesesimp>
<Korean>모든 병력을 배치 할 공간이 없습니다.</Korean>
<Polish>Nie ma wystarczającej ilości pozycji, aby umieścić wszystkie jednostki.</Polish>
<Russian>Недостаточно позиций для размещения всех юнитов</Russian>
<Portuguese>Não há posições suficientes para colocar todas as unidades.</Portuguese>
</Key>
<Key ID="STR_ACE_ai_GarrisonNoBuilding">
<English>No building found.</English>
<German>Kein Gebäude gefunden</German>
<French>Aucun bâtiment trouvé</French>
<Japanese>建物がありません。</Japanese>
<Italian>Nessun edificio trovato.</Italian>
@ -40,6 +50,8 @@
<Chinesesimp>没找到建筑物。</Chinesesimp>
<Korean>건물이 없습니다.</Korean>
<Polish>Nie znaleziono budynku.</Polish>
<Russian>Здание не найдено</Russian>
<Portuguese>Nenhuma construção encontrada.</Portuguese>
</Key>
</Package>
</Project>

BIN
addons/apl/ACE_CSW_Bag.p3d Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,95 @@
ambient[]={1,1,1,1.000000};
diffuse[]={1,1,1,1.000000};
forcedDiffuse[]={0.000000,0.000000,0.000000,0.000000};
emmisive[]={0.000000,0.000000,0.000000,1.000000};
specular[]={1,1,1,1.000000};
specularPower=40.000000;
PixelShaderID="super";
VertexShaderID="super";
class Stage1
{
texture = "z\ace\addons\apl\data\csw_nsv_nohq.paa";
uvSource="tex";
class uvTransform
{
aside[]={1.000000,0.000000,0.000000};
up[]={0.000000,1.000000,0.000000};
dir[]={0.000000,0.000000,0.000000};
pos[]={0.000000,0.000000,0.000000};
};
};
class Stage2
{
texture="a3\weapons_f\Data\DetailMaps\metal_detail_dt.paa";
uvSource="tex";
class uvTransform
{
aside[]={8.0000,0.000000,0.000000};
up[]={0.000000,8.0000,0.000000};
dir[]={0.000000,0.000000,0.000000};
pos[]={0.000000,0.000000,0.000000};
};
};
class Stage3
{
texture="#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource="tex";
class uvTransform
{
aside[]={1.000000,0.000000,0.000000};
up[]={0.000000,1.000000,0.000000};
dir[]={0.000000,0.000000,0.000000};
pos[]={0.000000,0.000000,0.000000};
};
};
class Stage4
{
texture = "#(argb,8,8,3)color(1,1,1,1,AS)";
uvSource="tex";
class uvTransform
{
aside[]={1.000000,0.000000,0.000000};
up[]={0.000000,1.000000,0.000000};
dir[]={0.000000,0.000000,0.000000};
pos[]={0.000000,0.000000,0.000000};
};
};
class Stage5
{
texture = "z\ace\addons\apl\data\csw_nsv_smdi.paa";
uvSource="tex";
class uvTransform
{
aside[]={1.000000,0.000000,0.000000};
up[]={0.000000,1.000000,0.000000};
dir[]={0.000000,0.000000,0.000000};
pos[]={0.000000,0.000000,0.000000};
};
};
class Stage6
{
texture = "#(ai,32,128,1)fresnel(3.38,5.33)";
uvSource="tex";
class uvTransform
{
aside[]={1.000000,0.000000,0.000000};
up[]={0.000000,1.000000,0.000000};
dir[]={0.000000,0.000000,0.000000};
pos[]={0.000000,0.000000,0.000000};
};
};
class Stage7
{
texture="a3\data_f\env_land_co.paa";
uvSource="tex";
class uvTransform
{
aside[]={1.000000,0.000000,0.000000};
up[]={0.000000,1.000000,0.000000};
dir[]={0.000000,0.000000,0.000000};
pos[]={0.000000,0.000000,0.000000};
};
};
class StageTI {
texture = "a3\data_f\default_vehicle_ti_ca.paa";
};

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,92 @@
ambient[] = {1.0,1.0,1.0,1.0};
diffuse[] = {1.0,1.0,1.0,1.0};
forcedDiffuse[] = {0.0,0.0,0.0,0.0};
emmisive[] = {0.0,0.0,0.0,1.0};
specular[] = {0.545,0.545,0.545,1.0};
specularPower = 100.0;
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1
{
texture = "z\ace\addons\apl\data\csw_spg9_nohq.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,1.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage2
{
texture = "a3\weapons_f\Data\DetailMaps\metal_detail_dt.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {8.0,0.0,0.0};
up[] = {0.0,2.0,0.0};
dir[] = {0.0,0.0,1.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage3
{
texture = "#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,1.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage4
{
texture = "#(argb,8,8,3)color(1,1,1,1,AS)";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,1.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage5
{
texture = "z\ace\addons\apl\data\csw_spg9_smdi.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,1.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage6
{
texture = "#(ai,32,128,1)fresnel(1.89,1.02)";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,1.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage7
{
texture="a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,1.0};
pos[] = {0.0,0.0,0.0};
};
};

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,32 @@
ambient[]={1.000000,1.000000,1.000000,1.000000};
diffuse[]={1.000000,1.000000,1.000000,1.000000};
forcedDiffuse[]={0.000000,0.000000,0.000000,0.000000};
emmisive[]={0.000000,0.000000,0.000000,1.000000};
specular[]={0.3000000,0.3000000,0.3000000,1.000000};
specularPower=100.000000;
PixelShaderID="NormalMapSpecularDIMap";
VertexShaderID="NormalMap";
class Stage1
{
texture="z\ace\addons\apl\data\csw_tow_merge_nohq.paa";
uvSource="tex";
class uvTransform
{
aside[]={1.000000,0.000000,0.000000};
up[]={0.000000,1.000000,0.000000};
dir[]={0.000000,0.000000,0.000000};
pos[]={0.000000,0.000000,0.000000};
};
};
class Stage2
{
texture="z\ace\addons\apl\data\csw_tow_merge_smdi.paa";
uvSource="tex";
class uvTransform
{
aside[]={1.000000,0.000000,0.000000};
up[]={0.000000,1.000000,0.000000};
dir[]={0.000000,0.000000,0.000000};
pos[]={0.000000,0.000000,0.000000};
};
};

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,32 @@
ambient[] = {1.0,1.0,1.0,1.0};
diffuse[] = {1.0,1.0,1.0,1.0};
forcedDiffuse[] = {0.0,0.0,0.0,0.0};
emmisive[] = {0.0,0.0,0.0,0.0};
specular[] = {0.3,0.3,0.3,1.0};
specularPower = 256.0;
PixelShaderID = "NormalMapSpecularDIMap";
VertexShaderID = "NormalMap";
class Stage1
{
texture = "z\ace\addons\apl\data\csw_tripod_ags_nohq.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage2
{
texture = "z\ace\addons\apl\data\csw_tripod_ags_smdi.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,98 @@
#define _ARMA_
ambient[] = {1,1,1,1.0};
diffuse[] = {1,1,1,1.0};
forcedDiffuse[] = {0.0,0.0,0.0,0.0};
emmisive[] = {0.0,0.0,0.0,1.0};
specular[] = {1,1,1,1.0};
specularPower = 40.0;
PixelShaderID = "super";
VertexShaderID = "super";
class Stage1
{
texture = "z\ace\addons\apl\data\m3tripod_nohq.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage2
{
texture = "a3\weapons_f\Data\DetailMaps\metal_detail_dt.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {8.0,0.0,0.0};
up[] = {0.0,8.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage3
{
texture = "#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage4
{
texture = "#(argb,8,8,3)color(1,1,1,1,AS)";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage5
{
texture = "z\ace\addons\apl\data\m3tripod_SMDI.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage6
{
texture = "#(ai,32,128,1)fresnel(3.38,5.33)";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage7
{
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class StageTI
{
texture = "a3\data_f\default_vehicle_ti_ca.paa";
};

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,95 @@
ambient[]={1,1,1,1.000000};
diffuse[]={1,1,1,1.000000};
forcedDiffuse[]={0.000000,0.000000,0.000000,0.000000};
emmisive[]={0.000000,0.000000,0.000000,1.000000};
specular[]={1,1,1,1.000000};
specularPower=40.000000;
PixelShaderID="super";
VertexShaderID="super";
class Stage1
{
texture="z\ace\addons\apl\data\mortarBaseplate_nohq.paa";
uvSource="tex";
class uvTransform
{
aside[]={1.000000,0.000000,0.000000};
up[]={0.000000,1.000000,0.000000};
dir[]={0.000000,0.000000,0.000000};
pos[]={0.000000,0.000000,0.000000};
};
};
class Stage2
{
texture="a3\weapons_f\Data\DetailMaps\metal_detail_dt.paa";
uvSource="tex";
class uvTransform
{
aside[]={8.0000,0.000000,0.000000};
up[]={0.000000,8.0000,0.000000};
dir[]={0.000000,0.000000,0.000000};
pos[]={0.000000,0.000000,0.000000};
};
};
class Stage3
{
texture="#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource="tex";
class uvTransform
{
aside[]={1.000000,0.000000,0.000000};
up[]={0.000000,1.000000,0.000000};
dir[]={0.000000,0.000000,0.000000};
pos[]={0.000000,0.000000,0.000000};
};
};
class Stage4
{
texture="z\ace\addons\apl\data\mortarBaseplate_as.paa";
uvSource="tex";
class uvTransform
{
aside[]={1.000000,0.000000,0.000000};
up[]={0.000000,1.000000,0.000000};
dir[]={0.000000,0.000000,0.000000};
pos[]={0.000000,0.000000,0.000000};
};
};
class Stage5
{
texture="z\ace\addons\apl\data\mortarBaseplate_smdi.paa";
uvSource="tex";
class uvTransform
{
aside[]={1.000000,0.000000,0.000000};
up[]={0.000000,1.000000,0.000000};
dir[]={0.000000,0.000000,0.000000};
pos[]={0.000000,0.000000,0.000000};
};
};
class Stage6
{
texture = "#(ai,32,128,1)fresnel(3.38,5.33)";
uvSource="tex";
class uvTransform
{
aside[]={1.000000,0.000000,0.000000};
up[]={0.000000,1.000000,0.000000};
dir[]={0.000000,0.000000,0.000000};
pos[]={0.000000,0.000000,0.000000};
};
};
class Stage7
{
texture="a3\data_f\env_land_co.paa";
uvSource="tex";
class uvTransform
{
aside[]={1.000000,0.000000,0.000000};
up[]={0.000000,1.000000,0.000000};
dir[]={0.000000,0.000000,0.000000};
pos[]={0.000000,0.000000,0.000000};
};
};
class StageTI {
texture = "a3\data_f\default_vehicle_ti_ca.paa";
};

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,98 @@
#define _ARMA_
class StageTI
{
texture = "a3\weapons_f\ammoboxes\bags\data\backpacks_ti_ca.paa";
};
ambient[] = {1.0,1.0,1.0,1.0};
diffuse[] = {1.0,1.0,1.0,1.0};
forcedDiffuse[] = {0.0,0.0,0.0,0.0};
emmisive[] = {0.0,0.0,0.0,1.0};
specular[] = {0.0,0.0,0.0,1.0};
specularPower = 0.0;
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1
{
texture = "z\ace\addons\apl\data\static_nohq.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage2
{
texture = "#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage3
{
texture = "#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage4
{
texture = "#(argb,8,8,3)color(1,1,1,1,AS)";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage5
{
texture = "#(argb,8,8,3)color(0,0,1,1,SMDI)";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage6
{
texture = "#(ai,32,128,1)fresnel(1.58,0.71)";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};
class Stage7
{
texture = "a3\data\env2_co.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
pos[] = {0.0,0.0,0.0};
};
};

Binary file not shown.

Binary file not shown.

View File

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

View File

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

View File

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

View File

@ -6,11 +6,13 @@
<French>Cacher</French>
<German>Verstecken</German>
<Polish>Ukryj</Polish>
<Japanese>非表示</Japanese>
<Japanese>隠す</Japanese>
<Italian>Nascondere</Italian>
<Korean>숨김</Korean>
<Chinese>隱藏</Chinese>
<Chinesesimp>隐藏</Chinesesimp>
<Russian>Спрятать</Russian>
<Portuguese>Ocultar</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_buttonHideTooltip">
<English>Hide interface</English>
@ -22,6 +24,8 @@
<Korean>인터페이스 숨기기</Korean>
<Chinese>隱藏介面</Chinese>
<Chinesesimp>隐藏介面</Chinesesimp>
<Russian>Скрыть интерфейс</Russian>
<Portuguese>Oculta a Interface</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_buttonLoadoutsText">
<English>Loadouts</English>
@ -33,28 +37,34 @@
<Korean>로드아웃</Korean>
<Chinese>裝備</Chinese>
<Chinesesimp>装备</Chinesesimp>
<Russian>Комплекты</Russian>
<Portuguese>Loadouts</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_buttonExportText">
<English>Export</English>
<French>Exporter</French>
<German>Exportieren</German>
<Polish>Eksportuj</Polish>
<Japanese>出力</Japanese>
<Japanese>エクスポート</Japanese>
<Italian>Esporta</Italian>
<Korean>내보내기</Korean>
<Chinese>匯出</Chinese>
<Chinesesimp>汇出</Chinesesimp>
<Russian>Экспорт</Russian>
<Portuguese>Exportar</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_buttonImportText">
<English>Import</English>
<French>Importer</French>
<German>Importieren</German>
<Polish>Importuj</Polish>
<Japanese>取込</Japanese>
<Japanese>インポート</Japanese>
<Italian>Importa</Italian>
<Korean>가져오기</Korean>
<Chinese>匯入</Chinese>
<Chinesesimp>汇入</Chinesesimp>
<Russian>Импорт</Russian>
<Portuguese>Importar</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_buttonCloseText">
<English>Close</English>
@ -66,17 +76,21 @@
<Korean>닫기</Korean>
<Chinese>關閉</Chinese>
<Chinesesimp>关闭</Chinesesimp>
<Russian>Закрыть</Russian>
<Portuguese>Fechar</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_noVirtualItems">
<English>No virtual item available</English>
<French>Aucun objet virtuel disponible</French>
<German>Kein virtuelles Objekt verfügbar</German>
<Polish>Brak dostępnych przedmiotów wirtualnych</Polish>
<Japanese>利用可能なバーチャル アイテムは無し</Japanese>
<Japanese>利用可能なバーチャル アイテムはありません</Japanese>
<Italian>Nessun oggetto virtuale disponibile</Italian>
<Korean>가상장비 사용 불가</Korean>
<Chinese>沒有可用的虛擬物品</Chinese>
<Chinesesimp>没有可用的虚拟物品</Chinesesimp>
<Russian>Виртуальный предмет недоступен</Russian>
<Portuguese>Nenhum item virtual disponível</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_buttonSaveText">
<English>Save</English>
@ -88,6 +102,8 @@
<Korean>저장</Korean>
<Chinese>保存</Chinese>
<Chinesesimp>保存</Chinesesimp>
<Russian>Сохранить</Russian>
<Portuguese>Salvar</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_buttonSaveTooltip">
<English>Save the current loadout</English>
@ -99,11 +115,15 @@
<Korean>현재 로드아웃 저장</Korean>
<Chinese>保存當前的裝備</Chinese>
<Chinesesimp>保存当前的装备</Chinesesimp>
<Russian>Сохранить текущий комплект экипировки</Russian>
<Portuguese>Salva o loadout atual</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_buttonSaveTooltip_shiftClick">
<English>[Shift+Click to save to mission defaults]</English>
<Japanese>[Shift + クリック] でミッション標準として保存します</Japanese>
<Polish>Shift + Klik aby zapisac jako domyślne dla misji </Polish>
<Russian>[Shift+Клик, чтобы сохранить в настройках по умолчанию]</Russian>
<Portuguese>[Shift+Clique para salvar nos padrões da missão]</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_buttonRenameText">
<English>Rename</English>
@ -115,6 +135,8 @@
<Korean>이름바꾸기</Korean>
<Chinese>重新命名</Chinese>
<Chinesesimp>重新命名</Chinesesimp>
<Russian>Переименовать</Russian>
<Portuguese>Renomear</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_buttonRenameTooltip">
<English>Rename the selected loadout</English>
@ -126,6 +148,8 @@
<Korean>선택한 로드아웃의 이름 바꾸기</Korean>
<Chinese>重新命名當前選擇的裝備</Chinese>
<Chinesesimp>重新命名当前选择的装备</Chinesesimp>
<Russian>Переименовать выбранный комплект экипировки</Russian>
<Portuguese>Renomeia o loadout selecionado</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_buttonLoadText">
<English>Load</English>
@ -137,6 +161,8 @@
<Korean>불러오기</Korean>
<Chinese>載入</Chinese>
<Chinesesimp>载入</Chinesesimp>
<Russian>Загрузить</Russian>
<Portuguese>Carregar</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_buttonLoadTooltip">
<English>Load the selected loadout</English>
@ -148,6 +174,8 @@
<Korean>선택한 로드아웃 불러오기</Korean>
<Chinese>載入當前選擇的裝備</Chinese>
<Chinesesimp>载入当前选择的装备</Chinesesimp>
<Russian>Загрузить выбранный комплект экипировки</Russian>
<Portuguese>Carrega o loadout selecionado</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_buttonDeleteText">
<English>Delete</English>
@ -159,6 +187,8 @@
<Korean>삭제</Korean>
<Chinese>刪除</Chinese>
<Chinesesimp>删除</Chinesesimp>
<Russian>Удалить</Russian>
<Portuguese>Apagar</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_buttonDeleteTooltip">
<English>Delete the selected loadout</English>
@ -170,6 +200,8 @@
<Korean>선택한 로드아웃 삭제하기</Korean>
<Chinese>刪除當前選擇的裝備</Chinese>
<Chinesesimp>删除当前选择的装备</Chinesesimp>
<Russian>Удалить выбранный комплект экипировки</Russian>
<Portuguese>Apaga o loadout selecionado</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_tabMyLoadoutsText">
<English>My loadouts</English>
@ -181,6 +213,8 @@
<Korean>내 로드아웃</Korean>
<Chinese>我的裝備</Chinese>
<Chinesesimp>我的装备</Chinesesimp>
<Russian>Мои комплекты</Russian>
<Portuguese>Meus loadouts</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_tabMyLoadoutsTooltip">
<English>Loadouts saved in your profile</English>
@ -192,6 +226,8 @@
<Korean>프로필에 저장된 로드아웃</Korean>
<Chinese>裝備已保存到你的設定檔中</Chinese>
<Chinesesimp>装备已保存到你的设定档中</Chinesesimp>
<Russian>Комплекты экипировки, сохраненные в вашем профиле</Russian>
<Portuguese>Loadouts salvos em seu perfil</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_tabDefaultLoadoutsText">
<English>Default loadouts</English>
@ -203,6 +239,8 @@
<Korean>기본 로드아웃</Korean>
<Chinese>預設裝備</Chinese>
<Chinesesimp>预设装备</Chinesesimp>
<Russian>По умолчанию</Russian>
<Portuguese>Loadouts padrões</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_tabDefaultLoadoutsTooltip">
<English>Loadouts made available by the mission maker</English>
@ -214,6 +252,8 @@
<Korean>미션메이커가 허용한 로드아웃</Korean>
<Chinese>任務作者提供的預設裝備</Chinese>
<Chinesesimp>任务作者提供的预设装备</Chinesesimp>
<Russian>Комплекты экипировки, предоставляемые создателем миссии</Russian>
<Portuguese>Loadouts definidos pelo criador da missão</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_tabSharedLoadoutsText">
<English>Public loadouts</English>
@ -225,6 +265,8 @@
<Korean>공용 로드아웃</Korean>
<Chinese>公用裝備</Chinese>
<Chinesesimp>公用装备</Chinesesimp>
<Russian>Публичные комплекты</Russian>
<Portuguese>Loadouts públicos</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_tabSharedLoadoutsTooltip">
<English>Loadouts shared by you and other players</English>
@ -236,6 +278,8 @@
<Korean>플레이어들이 공유하는 로드아웃</Korean>
<Chinese>由你與其他玩家分享的裝備配置</Chinese>
<Chinesesimp>由你与其他玩家分享的装备配置</Chinesesimp>
<Russian>Комплекты экипировки, опубликованные вами и другими игроками</Russian>
<Portuguese>Loadouts compartilhados por você ou outros jogadores</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_sortByWeightText">
<English>Sort by weight</English>
@ -247,6 +291,8 @@
<Korean>무게로 정렬</Korean>
<Chinese>以重量排序</Chinese>
<Chinesesimp>以重量排序</Chinesesimp>
<Russian>Сортировка по весу</Russian>
<Portuguese>Ordenar por peso</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_sortByAmountText">
<English>Sort by amount</English>
@ -258,6 +304,8 @@
<Korean>갯수로 정렬</Korean>
<Chinese>以數量排序</Chinese>
<Chinesesimp>以数量排序</Chinesesimp>
<Russian>Сортировка по количеству</Russian>
<Portuguese>Ordenar por quantidade</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_buttonShareTooltip">
<English>Share or stop sharing the selected loadout</English>
@ -269,6 +317,8 @@
<Korean>선택한 로드아웃 공유 혹은 공유중지</Korean>
<Chinese>開始/停止分享當前選擇的裝備</Chinese>
<Chinesesimp>开始/停止分享当前选择的装备</Chinesesimp>
<Russian>Открыть или закрыть общий доступ к комплекту экипировки</Russian>
<Portuguese>Compartilhar ou parar de compartilhar o loadout selecionado</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_buttonSharePrivateText">
<English>Private</English>
@ -280,6 +330,8 @@
<Korean>개인</Korean>
<Chinese>私用</Chinese>
<Chinesesimp>私用</Chinesesimp>
<Russian>Приватный</Russian>
<Portuguese>Privado</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_buttonSharePublicText">
<English>Public</English>
@ -291,6 +343,8 @@
<Korean>공용</Korean>
<Chinese>公用</Chinese>
<Chinesesimp>公用</Chinesesimp>
<Russian>Публичный</Russian>
<Portuguese>Público</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_exportDefaultError">
<English>The default loadouts list is empty!</English>
@ -302,17 +356,21 @@
<Korean>기본 로드아웃 목록이 비어있습니다!</Korean>
<Chinese>沒有預設的裝備清單!</Chinese>
<Chinesesimp>没有预设的装备清单!</Chinesesimp>
<Russian>Список комплекта экипировки пуст!</Russian>
<Portuguese>A lista de loadouts padrões está vazia!</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_exportDefault">
<English>Default loadouts list exported to clipboard</English>
<French>Liste d'équipements de base exportée dans le presse papier</French>
<German>Standard-Ausrüstungen-Liste in die Zwischenablage exportiert</German>
<Polish>Lista domyślnych zestawów została eksportowana do schowka</Polish>
<Japanese>標準の装備一欄はクリップボードへ出力されました</Japanese>
<Japanese>標準の装備一欄はクリップボードへエクスポートされました</Japanese>
<Italian>La lista degli equipaggiamenti standard è stata esportata negli appunti</Italian>
<Korean>클립보드에 기본 로드아웃 목록 내보내기</Korean>
<Chinese>預設的裝備清單已匯出到剪貼簿中</Chinese>
<Chinesesimp>预设的装备清单已汇出到剪贴簿中</Chinesesimp>
<Russian>Список комплекта экипировки по умолчанию экспортирован в буфер</Russian>
<Portuguese>A lista de loadouts padrões foi exportada pra área de transferência</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_exportCurrent">
<English>Current loadout exported to clipboard</English>
@ -324,6 +382,8 @@
<Korean>현재 로드아웃을 클립보드로 내보냈습니다.</Korean>
<Chinese>當前的裝備已匯出到剪貼簿中</Chinese>
<Chinesesimp>当前的装备已汇出到剪贴簿中</Chinesesimp>
<Russian>Текущий список комплекта экипировки экспортирован в буфер</Russian>
<Portuguese>Loadout atual foi exportado pra área de transferência</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_importFormatError">
<English>Wrong format provided</English>
@ -335,28 +395,34 @@
<Korean>잘못된 형식 입력됨</Korean>
<Chinese>提供的格式錯誤</Chinese>
<Chinesesimp>提供的格式错误</Chinesesimp>
<Russian>Неверный формат импорта</Russian>
<Portuguese>Format incorreto fornecido</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_importedDefault">
<English>Default loadouts list imported from clipboard</English>
<French>Liste d'équipements de base importée depuis le presse papier</French>
<German>Standard-Ausrüstungen-Liste aus der Zwischenablage importiert</German>
<Polish>Lista domyślnych zestawów została importowana ze schowka</Polish>
<Japanese>標準の装備一欄はクリップボードから取込されました</Japanese>
<Japanese>標準の装備一欄はクリップボードからインポートされました</Japanese>
<Italian>La lista degli equipaggiamenti standard è stata importata dagli appunti</Italian>
<Korean>클립보드에서 기본 로드아웃 가져오기</Korean>
<Chinese>預設的裝備清單已從剪貼簿中匯入</Chinese>
<Chinesesimp>预设的装备清单已从剪贴簿中汇入</Chinesesimp>
<Russian>Список комплекта экипировки по умолчанию импортирован из буфера</Russian>
<Portuguese>A lista de loadouts padrões foi importada da área de transferência</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_importedCurrent">
<English>Loadout imported from clipboard</English>
<French>Équipement importé depuis le presse papier</French>
<German>Ausrüstung aus der Zwischenablage importiert</German>
<Polish>Zestaw został importowany ze schowka</Polish>
<Japanese>装備はクリップボードから取込されました</Japanese>
<Japanese>装備はクリップボードからインポートされました</Japanese>
<Italian>Equipaggiamento importato dagli appunti</Italian>
<Korean>클립보드에서 로드아웃을 가져왔습니다.</Korean>
<Chinese>裝備已從剪貼簿中匯入</Chinese>
<Chinesesimp>装备已从剪贴簿中汇入</Chinesesimp>
<Russian>Список комплекта экипировки импортирован из буфера</Russian>
<Portuguese>Loadout importado da área de transferência</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_loadoutDeleted">
<English>The following loadout was deleted:</English>
@ -368,6 +434,8 @@
<Korean>다음 로드아웃이 삭제됨 :</Korean>
<Chinese>以下的裝備已被刪除:</Chinese>
<Chinesesimp>以下的装备已被删除:</Chinesesimp>
<Russian>Удален комплект экипировки:</Russian>
<Portuguese>O seguinte loadout foi apagado:</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_loadoutUnshared">
<English>The following loadout is not public anymore:</English>
@ -379,17 +447,21 @@
<Korean>다음 로드아웃이 더이상 공용이 아님:</Korean>
<Chinese>以下的裝備已不再被分享:</Chinese>
<Chinesesimp>以下的装备已不再被分享:</Chinesesimp>
<Russian>Этот комплект экипировки больше не публичный:</Russian>
<Portuguese>O seguinte loadout não é mais público:</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_saveEmptyNameBox">
<English>The name field is empty!</English>
<French>Le champ nom est vide !</French>
<German>Das Feld "Name" ist leer!</German>
<Polish>Pole nazwy jest puste!</Polish>
<Japanese>名前が空白です!</Japanese>
<Japanese>名前が空白です!</Japanese>
<Italian>Il campo del nome è vuoto!</Italian>
<Korean>이름칸이 비었습니다!</Korean>
<Chinese>名稱欄位為空!</Chinese>
<Chinesesimp>名称栏位为空!</Chinesesimp>
<Russian>Поле имени пустое!</Russian>
<Portuguese>O nome não pode estar vazio!</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_saveAuthorError">
<English>You are the author of this loadout</English>
@ -401,6 +473,8 @@
<Korean>이 로드아웃의 제작자입니다.</Korean>
<Chinese>你是這個裝備的作者</Chinese>
<Chinesesimp>你是这个装备的作者</Chinesesimp>
<Russian>Вы автор этого комплекта экипировки</Russian>
<Portuguese>Você é o autor desse loadout</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_saveSharedError">
<English>A loadout of yours with the same name is public</English>
@ -412,6 +486,8 @@
<Korean>같은 이름의 로드아웃이 공용에 있습니다.</Korean>
<Chinese>已有相同名稱的裝備在公用分享區</Chinese>
<Chinesesimp>已有相同名称的装备在公用分享区</Chinesesimp>
<Russian>Ваш комплект экипировки с таким же именем является публичным</Russian>
<Portuguese>Um loadout seu com o mesmo nome é público</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_loadoutSaved">
<English>The following loadout was saved:</English>
@ -423,6 +499,8 @@
<Korean>다음 로드아웃이 저장됨:</Korean>
<Chinese>以下的裝備已被保存:</Chinese>
<Chinesesimp>以下的装备已被保存:</Chinesesimp>
<Russian>Сохранен комплект экипировки:</Russian>
<Portuguese>O seguinte loadout foi salvo:</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_loadoutLoaded">
<English>The following loadout was loaded:</English>
@ -434,6 +512,8 @@
<Korean>다음 로드아웃을 불러옴:</Korean>
<Chinese>以下的裝備已被載入:</Chinese>
<Chinesesimp>以下的装备已被载入:</Chinesesimp>
<Russian>Загружен комплект экипировки:</Russian>
<Portuguese>O seguinte loadout foi carregado:</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_renameExistError">
<English>A loadout with the same name already exist!</English>
@ -445,17 +525,21 @@
<Korean>같은 이름의 로드아웃이 이미 존재합니다!</Korean>
<Chinese>已有相同名稱的裝備!</Chinese>
<Chinesesimp>已有相同名称的装备!</Chinesesimp>
<Russian>Комплект с таким именем уже существует!</Russian>
<Portuguese>Um loadout com o mesmo nome já existe!</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_loadoutRenamed">
<English>was renamed to</English>
<French>fut renommé en</French>
<German>wurde umbenannt in</German>
<Polish>zmienił nazwę na</Polish>
<Japanese>次の名前に改名されました</Japanese>
<Japanese>次の名前に変更されました</Japanese>
<Italian>E' stato rinominato in</Italian>
<Korean>이름이 다음과 같이 변경됨:</Korean>
<Chinese>已被改名為</Chinese>
<Chinesesimp>已被改名为</Chinesesimp>
<Russian>был переименован в</Russian>
<Portuguese>foi renameado para</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_invertCameraSetting">
<English>Invert camera controls</English>
@ -467,6 +551,8 @@
<Korean>카메라 조종 반전</Korean>
<Chinese>反轉攝影機控制</Chinese>
<Chinesesimp>反转摄影机控制</Chinesesimp>
<Russian>Инвертировать управление камерой</Russian>
<Portuguese>Inverter controles da câmera</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_modIconsSetting">
<English>Enable mod icons</English>
@ -478,6 +564,8 @@
<Korean>모드 아이콘 허가</Korean>
<Chinese>啟用模組圖示</Chinese>
<Chinesesimp>启用模组图示</Chinesesimp>
<Russian>Включить иконки модов</Russian>
<Portuguese>Ativar ícones de mods</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_fontHeightSetting">
<English>Panel font height</English>
@ -489,6 +577,8 @@
<Korean>패널 폰트 높이</Korean>
<Chinese>面板字體高度</Chinese>
<Chinesesimp>面板字体高度</Chinesesimp>
<Russian>Размер шрифта панели</Russian>
<Portuguese>Altura da fonte do painel</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_allowDefaultLoadoutsSetting">
<English>Allow default loadouts</English>
@ -500,6 +590,8 @@
<Korean>기본 로드아웃 허용</Korean>
<Chinese>允許預設裝備</Chinese>
<Chinesesimp>允许预设装备</Chinesesimp>
<Russian>Разрешить комплекты по умолчанию</Russian>
<Portuguese>Permitir loadouts padrões</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_allowSharingSetting">
<English>Allow loadout sharing</English>
@ -511,6 +603,8 @@
<Korean>로드아웃 공유 허용</Korean>
<Chinese>允許分享裝備</Chinese>
<Chinesesimp>允许分享装备</Chinesesimp>
<Russian>Разрешить публикацию комплектов</Russian>
<Portuguese>Permitir compartilhar loadouts</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_printToRPTSetting">
<English>Log missing / unavailable items</English>
@ -522,6 +616,8 @@
<Korean>누락 된 항목 / 사용 할 수 없는 항목 기록</Korean>
<Chinese>記錄遺失/無法使用的項目</Chinese>
<Chinesesimp>记录遗失/无法使用的项目</Chinesesimp>
<Russian>Вести журнал недоступных предметов</Russian>
<Portuguese>Registrar em log itens indisponíveis/não encontrados</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_buttonCurrentMagTooltip">
<English>Primary magazine</English>
@ -533,6 +629,8 @@
<German>Primärmagazin</German>
<Chinese>主要武器彈匣</Chinese>
<Chinesesimp>主要武器弹匣</Chinesesimp>
<Russian>Основной магазин</Russian>
<Portuguese>Carregador Primário</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_buttonCurrentMag2Tooltip">
<English>Secondary magazine</English>
@ -544,6 +642,8 @@
<German>Sekundärmagazin</German>
<Chinese>次要武器彈匣</Chinese>
<Chinesesimp>次要武器弹匣</Chinesesimp>
<Russian>Вторичный магазин</Russian>
<Portuguese>Carregador Secundário</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_settingCategory">
<English>ACE Arsenal</English>
@ -555,6 +655,8 @@
<Korean>ACE 아스날</Korean>
<Chinese>ACE虛擬軍火庫</Chinese>
<Chinesesimp>ACE虚拟军火库</Chinesesimp>
<Russian>ACE Арсенал</Russian>
<Portuguese>ACE Arsenal</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_defaultLoadoutsTooltip">
<English>Allow the use of the default loadouts tab</English>
@ -566,6 +668,8 @@
<German>Erlaube die Nutzung des Standardausrüstungsreiters</German>
<Chinese>允許使用預設的裝備</Chinese>
<Chinesesimp>允许使用预设的装备</Chinesesimp>
<Russian>Разрешить использование вкладки комплектов экипировки по умолчанию</Russian>
<Portuguese>Permite o uso da aba de loadouts padrões</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_modIconsTooltip">
<English>Show / hide mod icons for the left panel</English>
@ -577,6 +681,8 @@
<German>Zeigt/Versteckt Mod-Symbole in der linken Leiste</German>
<Chinese>在左面板中顯示/隱藏模組圖示</Chinese>
<Chinesesimp>在左面板中显示/隐藏模组图示</Chinesesimp>
<Russian>Показать / скрыть значки модов в левой панели</Russian>
<Portuguese>Mostra / Esconde os ícones de mods no painel esquerdo</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_fontHeightTooltip">
<English>Change the font height for text in the left / right panels</English>
@ -588,6 +694,8 @@
<German>Ändert die Schriftgröße für die linke/rechte Leiste</German>
<Chinese>變更左/右面板中的字體高度</Chinese>
<Chinesesimp>变更左/右面板中的字体高度</Chinesesimp>
<Russian>Изменить размер шрифта для текста в левой / правой панелях</Russian>
<Portuguese>Muda o tamanho da fonte para os textos nos painéis esquerdo e direito</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_printToRPTTooltip">
<English>Log missing / unavailable items in the RPT</English>
@ -599,6 +707,8 @@
<German>Fehlende Gegenstände werden in der RPT aufgezeichnet</German>
<Chinese>記錄遺失/無法使用的項目到RPT檔案中</Chinese>
<Chinesesimp>记录遗失/无法使用的项目到RPT档案中</Chinesesimp>
<Russian>Вести журнал отсутствующих / недоступных предметов в RPT</Russian>
<Portuguese>Registrar em log itens indisponíveis no RPT</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_CantOpenDisplay">
<English>Unable to open ACE arsenal</English>
@ -610,6 +720,8 @@
<Chinese>無法開啟ACE虛擬軍火庫</Chinese>
<Chinesesimp>无法开启ACE虚拟军火库</Chinesesimp>
<Polish>Nie można otworzyć arsenału ACE</Polish>
<Russian>Невозможно открыть ACE Арсенал</Russian>
<Portuguese>Não foi possível abrir o ACE Arsenal</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_portLoadoutsText">
<English>Import BI VA loadouts to ACE Arsenal</English>
@ -621,6 +733,8 @@
<Chinesesimp>汇入BI原厂虚拟军火库的装备到ACE虚拟军火库中</Chinesesimp>
<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>
<Russian>Импорт комплектов из Арсенала BI в Арсенал ACE</Russian>
<Portuguese>Importar loadouts do BIS Arsenal para o ACE Arsenal</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_portLoadoutsPlayerError">
<English>No player unit available! Place a unit and mark it as "Player".</English>
@ -632,17 +746,21 @@
<Chinesesimp>没有可用的玩家单位!请摆放一个单位并设定成"玩家"。</Chinesesimp>
<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>
<Russian>Нет доступных игроков! Разместите юнит и отметьте его как «Игрок»</Russian>
<Portuguese>Nenhuma unidade de jogador disponível! Coloque uma unidade e marque como "Player".</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_portLoadoutsLoadoutError">
<English>No loadouts to import.</English>
<French>Aucun loadout à importer.</French>
<German>Keine Ausrüstungen zum Importieren</German>
<Japanese>取り込みする装備がありません。</Japanese>
<Japanese>インポートする装備がありません。</Japanese>
<Korean>가져올 로드 아웃이 없습니다.</Korean>
<Chinese>沒有裝備被匯入</Chinese>
<Chinesesimp>没有装备被汇入。</Chinesesimp>
<Italian>Non ci sono equipaggiamenti da importare.</Italian>
<Polish>Brak zestawów wyposażenia do zaimportowania.</Polish>
<Russian>Нет комплектов для импорта</Russian>
<Portuguese>Nenhum loadout para importar.</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_Mission">
<English>ACE Arsenal</English>
@ -653,6 +771,8 @@
<Chinesesimp>ACE虚拟军火库</Chinesesimp>
<Italian>Arsenale ACE</Italian>
<Polish>Arsenał ACE</Polish>
<Russian>ACE Арсенал</Russian>
<Portuguese>ACE Arsenal</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_ReturnToArsenal">
<English>Return to ACE Arsenal.</English>
@ -663,6 +783,8 @@
<Chinesesimp>返回到ACE虚拟军火库。</Chinesesimp>
<Italian>Torna all'arsenale ACE</Italian>
<Polish>Wróć do arsenału ACE.</Polish>
<Russian>Вернуться в ACE Арсенал</Russian>
<Portuguese>Voltar para o ACE Arsenal</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_Mission_tooltip">
<English>Use ACE Arsenal to try out different weapons and equipment.</English>
@ -673,6 +795,8 @@
<Chinesesimp>使用ACE虚拟军火库来尝试不同的武器与装备。</Chinesesimp>
<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>
<Russian>Используйте ACE Arsenal, чтобы опробовать различное оружие и снаряжение.</Russian>
<Portuguese>Use o ACE Arsenal para experimentar diferentes armas e equipamentos.</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_Mission_overview">
<English>Try weapons and equipment and create your own loadouts.</English>
@ -683,33 +807,44 @@
<Chinesesimp>尝试不同的武器与装备来组合你个人的装备配置。</Chinesesimp>
<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>
<Russian>Опробуйте оружие и снаряжение, создавайте собственные комплекты экипировки.</Russian>
<Portuguese>Experimente armas e equipamentos e crie seus próprios loadouts.</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_buttonLoadoutsTooltip">
<English>Open the loadouts screen</English>
<German>Öffnet das Ausrüstungsmenü</German>
<French>Affiche la page des équipements</French>
<Chinese>開啟裝備選單</Chinese>
<Chinesesimp>开启装备选单</Chinesesimp>
<Japanese>装備画面を開く</Japanese>
<Italian>Apri la pagina degli equipaggiamenti</Italian>
<Polish>Otwórz ekran zestawów</Polish>
<Russian>Открыть окно комплектов экипировки</Russian>
<Portuguese>Abre a tela de loadouts</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_buttonExportTooltip">
<English>Export current / default loadouts</English>
<German>Exportiert aktuelles / standard Loadout</German>
<French>Exporte l'équipement actuel ou la liste d'équipements de base</French>
<Chinese>匯出當前/預設的裝備</Chinese>
<Chinesesimp>汇出当前/预设的装备</Chinesesimp>
<Japanese>現在 / 標準装備を出力</Japanese>
<Japanese>現在/標準装備をエクスポートします</Japanese>
<Italian>Esporta l'equipaggiamento attuale oppure la lista degli equipaggiamenti di base</Italian>
<Polish>Eksportuj obecne / domyślne zestawy wyposażenia </Polish>
<Russian>Экспорт комплектов экипировки</Russian>
<Portuguese>Exporta loadout atual / loadouts padrões</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_buttonImportTooltip">
<English>Import current / default loadouts</English>
<German>Importiert aktuelles / standard Loadout</German>
<French>Importer l'équipement actuel ou la liste d'équipements de base</French>
<Chinese>匯入當前/預設的裝備</Chinese>
<Chinesesimp>汇入当前/预设的装备</Chinesesimp>
<Japanese>現在 / 標準装備を取込</Japanese>
<Japanese>現在/標準装備をインポートします</Japanese>
<Italian>Importa l'equipaggiamento attuale oppure la lista degli equipaggiamenti di base</Italian>
<Polish>Importuj obecne / domyślne zestawy wyposażenia</Polish>
<Russian>Импорт комплектов экипировки</Russian>
<Portuguese>Importa loadout atual / loadouts padrões</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_statPotassium">
<English>Potassium levels</English>
@ -719,6 +854,8 @@
<Chinese>鉀水平</Chinese>
<Italian>Ilvello di potassio</Italian>
<Polish>Poziomy potasu</Polish>
<Russian>Уровень Калия</Russian>
<Portuguese>Níveis de Potássio</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_statMagnification">
<English>Magnification</English>
@ -730,7 +867,7 @@
<Russian>Увеличение</Russian>
<German>Vergrößerung</German>
<Czech>Zvětšení</Czech>
<Portuguese>Aumentox</Portuguese>
<Portuguese>Aumento</Portuguese>
<Korean>배율</Korean>
<Chinesesimp>放大倍数</Chinesesimp>
<Japanese>拡大倍率</Japanese>
@ -739,9 +876,11 @@
<Key ID="STR_ACE_Arsenal_statVisionMode">
<English>Nightvision Support</English>
<German>Nachtsicht Unterstützung</German>
<Japanese>暗視装置に対応</Japanese>
<Japanese>暗視装置への対応有無</Japanese>
<Polish>Wsparcie noktowizyjne</Polish>
<Italian>Supporto visore notturno</Italian>
<Russian>Поддержка ночного видения</Russian>
<Portuguese>Suporte de Visão Noturna</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_statVisionMode_supPrim">
<English>Primary supported</English>
@ -749,6 +888,8 @@
<Japanese>プライマリが対応</Japanese>
<Polish>Wspierane przez broń główną</Polish>
<Italian>Primario supportato</Italian>
<Russian>Поддерживается осн. прицелом</Russian>
<Portuguese>Primária suportada</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_statVisionMode_supSec">
<English>Secondary supported</English>
@ -756,6 +897,8 @@
<Japanese>セカンダリが対応</Japanese>
<Polish>Wspierane przez broń drugorzędną</Polish>
<Italian>Secondario supportato</Italian>
<Russian>Поддерживается доп. прицелом</Russian>
<Portuguese>Secundária suportada</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_statVisionMode_IntPrim">
<English>Primary integrated</English>
@ -763,6 +906,8 @@
<Japanese>プライマリに内蔵</Japanese>
<Polish>Zintegrowane z bronią główną</Polish>
<Italian>Primario integrato</Italian>
<Russian>Интегрирован в осн. прицел</Russian>
<Portuguese>Primária integrada</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_statVisionMode_NoSup">
<English>Not Supported</English>
@ -770,42 +915,56 @@
<Japanese>セカンダリに内蔵</Japanese>
<Polish>Nie wspierane</Polish>
<Italian>Non supportato</Italian>
<Russian>Не поддерживается</Russian>
<Portuguese>Não suportado</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_page">
<English>Page</English>
<German>Seite</German>
<French>Page</French>
<Japanese>ページ</Japanese>
<Chinesesimp>页面</Chinesesimp>
<Chinese>頁面</Chinese>
<Italian>Pagina</Italian>
<Polish>Strona</Polish>
<Russian>Стр.</Russian>
<Portuguese>Página</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_enableIdentityTabsSettings">
<English>Enable the faces / voices / insignias tabs</English>
<German>Aktiviere die Gesichter-, Stimmen- und Abzeichenübersicht</German>
<French>Activer les onglets faces / voix / insignes</French>
<Japanese>顔 / 声 / 記章タブを有効化</Japanese>
<Chinesesimp>启用脸谱/声音/徽章/选项 </Chinesesimp>
<Chinese>啟用臉譜/聲音/徽章選項</Chinese>
<Italian>Abilita volti, voci e insegne</Italian>
<Polish>Aktywuj zakładki twarz / głos / insygnia</Polish>
<Russian>Включить вкладки Лиц / Голосов / Знаков различия</Russian>
<Portuguese>Ativar as abas de rostos / vozes / insígnias</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_buttonClearContainerTooltip">
<English>Empty the selected container</English>
<German>Aktuellen Container leeren</German>
<French>Vider le conteneur selectionné</French>
<Japanese>選択されたコンテナは空です</Japanese>
<Chinesesimp>选择的箱子是空的</Chinesesimp>
<Chinese>清空選擇的箱子</Chinese>
<Italian>Svuota il contenitore selezionato</Italian>
<Polish>Opróżnij wybrany pojemnik</Polish>
<Russian>Очистить контейнер</Russian>
<Portuguese>Esvaziar o cointâiner selecionado</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_exportedClassnameText">
<English>Exported class name to clipboard</English>
<German>Der Klassenname wurde in die Zwischenablage exportiert</German>
<French>Nom de classe exporté dans le presse papier</French>
<Japanese>クリップボードへクラスネームを出力</Japanese>
<Japanese>クリップボードへクラスネームをエクスポート</Japanese>
<Chinesesimp>将种类复制到剪贴板</Chinesesimp>
<Chinese>輸出 class name 到剪貼簿上</Chinese>
<Italian>Copiato il nome della classe negli appunti</Italian>
<Polish>Wyeksportowano nazwę klasy do schowka</Polish>
<Russian>Имя класса, экспортированного в буфер</Russian>
<Portuguese>O nome da classe foi exportado para a área de transferência</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_Mode">
<English>Mode</English>
@ -829,7 +988,7 @@
<Spanish>Lista blanca</Spanish>
<German>Whitelist</German>
<Czech>Seznam povolených</Czech>
<Portuguese>Lista branca</Portuguese>
<Portuguese>Lista Branca</Portuguese>
<French>Liste blanche</French>
<Hungarian>Fehérlista</Hungarian>
<Russian>Вайтлист</Russian>
@ -841,9 +1000,12 @@
</Key>
<Key ID="STR_ACE_Arsenal_Blacklist">
<English>Blacklist</English>
<German>Blacklist</German>
<Japanese>禁止リスト</Japanese>
<Italian>Lista Nera</Italian>
<Polish>Czarna lista (lista wykluczeń)</Polish>
<Russian>Чёрный список</Russian>
<Portuguese>Lista Negra</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_Items">
<English>Items</English>
@ -863,28 +1025,46 @@
</Key>
<Key ID="STR_ACE_Arsenal_AttributeExport_Tooltip">
<English>Export current items list as an array for use in scripts</English>
<Japanese>スクリプト用に現在のアイテム リストをアレイで出力します</Japanese>
<German>Exportiert aktuelle Gegenstände als Array, um es in Scripten zu verwenden</German>
<Japanese>スクリプト用に現在のアイテム リストをアレイでエクスポートします</Japanese>
<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>
<Portuguese>Exportar a lista atual de itens como uma matriz para usar em scripts</Portuguese>
<Russian>Экспорт текущего списка предметов в виде массива для использования в скриптах</Russian>
</Key>
<Key ID="STR_ACE_Arsenal_AttributeImport_Tooltip">
<English>Import items list array from clipboard (should be the same format as export)</English>
<German>Importiert alles aus der Zwischenablage (Sollte im gleichen Format sein, wie beim Exportieren)</German>
<Polish>Zaimportuj listę przedmiotów ze schowka (lista musi być w tym samym formacie jak przy exporcie)</Polish>
<Japanese>クリップボードからアイテムリストをアレイでインポートします (エクスポートと同じフォーマットである必要があります)</Japanese>
<Russian>Импорт массива списка предметов из буфера (должен иметь тот же формат, что при экспорте)</Russian>
<Portuguese>Importar lista de itens da área de transferência (deve estar no mesmo formato que uma lista exportada)</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_AttributeAddCompatible_DisplayName">
<English>Add Compatible Items</English>
<German>Füge kompatible Gegenstände hinzu</German>
<Polish>Dodaj kompatybilne przedmioty</Polish>
<Japanese>対応アイテムを追加</Japanese>
<Russian>Добавить совместимые предметы</Russian>
<Portuguese>Adicionar itens compatíveis</Portuguese>
</Key>
<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>
<German>Es werden automatisch kompatible Aufsätze oder Magazine für alle ausgewählten Waffen hinzugefügt</German>
<Polish>Automatycznie doda kompatybilne dodatki oraz magazynki (odpowiednio do każdej kategorii) dla wszystkich broni na liście</Polish>
<Japanese>現在のアイテム リスト内にある全武器に対応するアタッチメントと弾倉 (選択したカテゴリに基づき) を自動的に追加します</Japanese>
<Russian>Добавляет совместимые приспособления или магазины (в зависимости от выбранной категории) для всего оружия в текущем списке предметов</Russian>
<Portuguese>Irá automaticamente adicionar acessórios ou carregadores (baseado na categoria selecionada) para todas as armas na lista de itens atual</Portuguese>
</Key>
<Key ID="STR_ACE_Arsenal_statTTL">
<English>Time to live</English>
<German>Lebenszeit</German>
<French>Durée de vie</French>
<Japanese>生存時間</Japanese>
<Japanese>有効時間</Japanese>
<Polish>Czas by żyć</Polish>
<Italian>Scadenza (TTL)</Italian>
<Russian>Время действия</Russian>
<Portuguese>Time to live</Portuguese>
</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 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.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 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);
profileNamespace setVariable ["ACE_ATragMX_gunList", GVAR(gunList)];

View File

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

View File

@ -67,18 +67,18 @@ class CfgAmmo {
class ACE_B_556x45_Ball_Tracer_Dim: B_556x45_Ball_Tracer_Red {
nvgOnly = 1;
};
class B_545x39_Ball_F : BulletBase {
airFriction=-0.00119458;
ACE_caliber=5.588;
ACE_bulletLength=21.59;
ACE_bulletMass=3.42792;
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_velocityBoundaries[]={};
ACE_standardAtmosphere="ICAO";
ACE_dragModel=7;
ACE_muzzleVelocities[]={735, 883, 892};
ACE_barrelLengths[]={206.5, 414.02, 508.0};
class B_545x39_Ball_F: BulletBase {
airFriction = -0.001195;
ACE_caliber = 5.6; // https://bobp.cip-bobp.org/uploads/tdcc/tab-i/5-45-x-39-en.pdf
ACE_bulletLength = 21.59;
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_ballisticCoefficients[] = {0.168};
ACE_velocityBoundaries[] = {};
ACE_standardAtmosphere = "ICAO";
ACE_dragModel = 7;
ACE_muzzleVelocities[] = {743, 848, 891, 900}; // at 21°C, at 15°C {735, 840, 883, 892} according with the AKS initSpeed
ACE_barrelLengths[] = {210, 314, 415, 508.0}; // respectively {AKS74U / AK105,AK12K / AK74 / default}
};
class B_56x15_dual: BulletBase {
tracerScale = 0.5;
@ -337,18 +337,18 @@ class CfgAmmo {
ACE_muzzleVelocities[]={735, 770, 809, 838};
ACE_barrelLengths[]={406.4, 508.0, 604.5, 736.6};
};
class B_762x39_Ball_F : BulletBase {
airFriction=-0.00154815;
ACE_caliber=7.823;
ACE_bulletLength=28.956;
ACE_bulletMass=7.9704;
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_velocityBoundaries[]={};
ACE_standardAtmosphere="ICAO";
ACE_dragModel=1;
ACE_muzzleVelocities[]={650, 716, 750};
ACE_barrelLengths[]={254.0, 414.02, 508.0};
class B_762x39_Ball_F: BulletBase {
airFriction = -0.001548;
ACE_caliber = 7.92; // https://bobp.cip-bobp.org/uploads/tdcc/tab-i/7-62-x-39-en.pdf
ACE_bulletLength = 28.956;
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_ballisticCoefficients[] = {0.275};
ACE_velocityBoundaries[] = {};
ACE_standardAtmosphere = "ICAO";
ACE_dragModel = 1;
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, 314, 415, 520, 590}; // respectively {default / AK104,AK15K / AK47,AKM,AK103,AK15 / SKS / RPK}
};
class B_9x21_Ball : BulletBase {
airFriction=-0.00211064;
@ -604,15 +604,17 @@ class CfgAmmo {
ACE_barrelLengths[]={304.8, 406.4, 609.6};
};
class B_570x28_Ball: BulletBase {
ACE_caliber = 5.7;
ACE_caliber = 5.7; // https://bobp.cip-bobp.org/uploads/tdcc/tab-i/tabical-en-page7.pdf
ACE_bulletLength = 21.6; // http://blog.thejustnation.org/2011/04/5-7x28mm-ammo-review/
ACE_bulletMass = 2; // based on the SS190
ACE_ballisticCoefficients[] = {0.177}; //http://m.delphiforums.com/autogun/messages/5267/7
ACE_ammoTempMuzzleVelocityShifts[] = {-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619};
ACE_ballisticCoefficients[] = {0.084}; // https://www.thefirearmblog.com/blog/2016/10/24/modern-personal-defense-weapon-calibers-4-6x30mm-hk/
ACE_velocityBoundaries[] = {};
ACE_standardAtmosphere = "ASM"; // 50/50 chance to get it right
ACE_standardAtmosphere = "ICAO";
ACE_dragModel = 7;
ACE_muzzleVelocities[] = {716,776};
ACE_barrelLengths[] = {264,407};
ACE_muzzleVelocities[] = {716, 776}; // at 21°C, 715-775 m/s at 15°C according with the 50Rnd_570x28_SMG_03 initSpeed
ACE_barrelLengths[] = {264, 407};
airFriction = -0.002619; // default BI value -0.001412
};
class B_19mm_HE: BulletBase {
tracerScale = 1;

View File

@ -58,7 +58,7 @@ class CfgMagazines {
};
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 {
@ -120,7 +120,7 @@ class CfgMagazines {
};
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 {

View File

@ -75,6 +75,7 @@ class CfgWeapons {
ACE_barrelTwist = 228.6; // 1:9 inch twist
ACE_barrelLength = 407;
ACE_twistDirection = 1;
initSpeed = -1.083916; // 775 m/s according with the ACE_muzzleVelocities at 15°C, default BI value -1.1 (786 m/s)
modes[] = {"Single"};
};
class SMG_03C_BASE: SMG_03_TR_BASE {
@ -142,6 +143,9 @@ class CfgWeapons {
// M14
class DMR_06_base_F: Rifle_Long_Base_F {
ACE_barrelLength = 558.8;
ACE_barrelTwist = 304.8;
initSpeed = -0.999395;
class Single: Mode_SemiAuto {
dispersion = MOA_TO_RAD(0.81);
};
@ -151,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
class arifle_MX_SW_F: arifle_MX_Base_F {
magazines[] = {
@ -260,11 +270,6 @@ class CfgWeapons {
// Stoner 99 LMG
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;
ACE_barrelTwist = 177.8;
ACE_barrelLength = 317.5;
@ -355,23 +360,47 @@ class CfgWeapons {
// AKS
class arifle_AKS_base_F: Rifle_Base_F {
initSpeed = -1.0;
ACE_barrelTwist = 160.02;
ACE_barrelLength = 206.5;
initSpeed = -1; // 735 m/s according with the ACE_muzzleVelocities at 15°C
ACE_barrelTwist = 160;
ACE_barrelLength = 210;
};
// AKM
class arifle_AKM_base_F: Rifle_Base_F {
initSpeed = -1.0;
ACE_barrelTwist = 199.898;
ACE_barrelLength = 414.02;
initSpeed = -1; // 715 m/s according with the ACE_muzzleVelocities at 15°C
ACE_barrelTwist = 240;
ACE_barrelLength = 415;
};
// AK12
// AK15,AK15K,RPK (AK12)
class arifle_AK12_base_F: Rifle_Base_F {
initSpeed = -1.0;
ACE_barrelTwist = 199.898;
ACE_barrelLength = 414.02;
initSpeed = -1; // 715 m/s according with the ACE_muzzleVelocities at 15°C
ACE_barrelTwist = 240;
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
@ -789,23 +818,6 @@ class CfgWeapons {
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
class MMG_01_hex_F: MMG_01_base_F {
initSpeed = -0.985613;

View File

@ -2283,47 +2283,62 @@
</Key>
<Key ID="STR_ACE_Ballistics_statBarrelTwist">
<English>Barrel twist</English>
<German>Dralllänge</German>
<Japanese>銃身の転度</Japanese>
<Chinesesimp>膛线缠距</Chinesesimp>
<Chinese>膛線扭度</Chinese>
<Italian>Rigatura della canna</Italian>
<Polish>Gwintowanie lufy</Polish>
<Russian>Нарезы ствола</Russian>
<Portuguese>Barrel Twist</Portuguese>
</Key>
<Key ID="STR_ACE_Ballistics_statBarrelLength">
<English>Barrel length</English>
<German>Lauflänge</German>
<French>Longueur du canon</French>
<Japanese>銃身長</Japanese>
<Chinesesimp>身管长度</Chinesesimp>
<Chinese>槍管長度</Chinese>
<Italian>Lunghezza della canna</Italian>
<Polish>Długość lufy</Polish>
<Russian>Длина ствола</Russian>
<Portuguese>Comprimento do cano</Portuguese>
</Key>
<Key ID="STR_ACE_Ballistics_statBallisticCoef">
<English>Ballistic coefficient</English>
<German>Ballistischer Koeffizient</German>
<French>Coefficient ballistique</French>
<Japanese>弾道係数</Japanese>
<Chinesesimp>弹道系数</Chinesesimp>
<Chinese>彈道係數</Chinese>
<Italian>Coefficente balistico</Italian>
<Polish>Współczynnik balistyczny</Polish>
<Russian>Баллистический коэффициент</Russian>
<Portuguese>Coeficiente balístico</Portuguese>
</Key>
<Key ID="STR_ACE_Ballistics_statBulletMass">
<English>Bullet mass</English>
<German>Projektilgewicht</German>
<French>Masse d'une balle</French>
<Japanese>弾丸重量</Japanese>
<Chinesesimp>弹头重量</Chinesesimp>
<Chinese>彈頭重量</Chinese>
<Italian>Massa del proiettile</Italian>
<Polish>Masa pocisku</Polish>
<Russian>Масса пули</Russian>
<Portuguese>Massa do projétil</Portuguese>
</Key>
<Key ID="STR_ACE_Ballistics_statMuzzleVelocity">
<English>Muzzle velocity</English>
<German>Mündungsgeschwindigkeit</German>
<French>Vitesse à la bouche</French>
<Japanese>銃口初速</Japanese>
<Chinesesimp>枪口初速</Chinesesimp>
<Chinese>槍口初速</Chinese>
<Italian>Velocità iniziale</Italian>
<Polish>Prędkość wylotowa</Polish>
<Russian>Начальная скорость</Russian>
<Portuguese>Velocidade de Saída</Portuguese>
</Key>
</Package>
</Project>

View File

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

View File

@ -10,6 +10,8 @@
<Japanese>捕虜</Japanese>
<Korean>포로설정</Korean>
<Polish>Jeńcy</Polish>
<Russian>Пленные</Russian>
<Portuguese>Prisioneiros</Portuguese>
</Key>
<Key ID="STR_ACE_Captives_SetCaptive">
<English>Take Prisoner</English>
@ -21,7 +23,7 @@
<Italian>Arresta il prigioniero</Italian>
<Portuguese>Tomar Prisioneiro</Portuguese>
<Hungarian>Foglyul ejtés</Hungarian>
<Russian>Взять в плен</Russian>
<Russian>Арестовать</Russian>
<Japanese>捕虜にする</Japanese>
<Korean>포박하기</Korean>
<Chinese>逮捕俘虜</Chinese>
@ -37,7 +39,7 @@
<Italian>Libera il prigioniero</Italian>
<Portuguese>Libertar Prisioneiro</Portuguese>
<Hungarian>Fogoly szabadon engedése</Hungarian>
<Russian>Освободить пленника</Russian>
<Russian>Освободить пленного</Russian>
<Japanese>捕虜を解放する</Japanese>
<Korean>풀어주기</Korean>
<Chinese>釋放俘虜</Chinese>
@ -53,7 +55,7 @@
<Italian>Scorta il Prigioniero</Italian>
<Portuguese>Escoltar Prisioneiro</Portuguese>
<Hungarian>Fogoly kísérése</Hungarian>
<Russian>Конвоировать пленника</Russian>
<Russian>Конвоировать пленного</Russian>
<Japanese>捕虜を移動させる</Japanese>
<Korean>포로 호송하기</Korean>
<Chinese>護送俘虜</Chinese>
@ -85,7 +87,7 @@
<Italian>Prima devi arrestarlo!</Italian>
<Portuguese>Você deve tomá-lo como prisioneiro primeiro!</Portuguese>
<Hungarian>Először foglyul kell ejtened őt!</Hungarian>
<Russian>Вы должны сначала взять его в плен!</Russian>
<Russian>Вы должны сначала арестовать его!</Russian>
<Japanese>捕虜を取っている必要があります!</Japanese>
<Korean>먼저 포로로 만들어야합니다!</Korean>
<Chinese>你必須先逮捕他!</Chinese>
@ -149,7 +151,7 @@
<Portuguese>A algema plástica permite que você contenha prisioneiros.</Portuguese>
<Italian>Fascetta per arrestare i prigionieri</Italian>
<Hungarian>Gyorskötöző, emberek foglyulejtéséhez használható.</Hungarian>
<Russian>Кабельные стяжки позволяют связывать пленников.</Russian>
<Russian>Кабельные стяжки используются для связывания рук при аресте</Russian>
<Japanese>ケーブル タイは捕虜を制圧できます。</Japanese>
<Korean>케이블 타이는 포로를 구류시킬때 씁니다.</Korean>
<Chinese>束線帶可以綁住俘虜</Chinese>
@ -179,7 +181,7 @@
<Portuguese>Parar de se render</Portuguese>
<Czech>Přestat se vzdávat</Czech>
<Polish>Podejmij walkę ponownie</Polish>
<Russian>Прекратить сдачу в плен</Russian>
<Russian>Прекратить сдаваться</Russian>
<Hungarian>Megadás abbahagyása</Hungarian>
<Italian>Smetti di arrenderti</Italian>
<Japanese>投降をやめる</Japanese>
@ -212,7 +214,7 @@
<Portuguese>Sincroniza uma unidade para fazer com que ela se renda.</Portuguese>
<French>Synchronise une unité pour la rendre captive.</French>
<Hungarian>Egység szinkronizálása, hogy kapituláljon.</Hungarian>
<Russian>Синхронизируйте с юнитами, чтобы заставить их сдаться в плен.</Russian>
<Russian>Синхронизируйте с юнитами, чтобы заставить их сдаться.</Russian>
<Italian>Sincronizza una unità per farla arrendere.</Italian>
<Japanese>同期されたユニットを投降させます。</Japanese>
<Korean>투항시키기 위해 동기화합니다.</Korean>
@ -224,7 +226,7 @@
<German>Einheit in Handschellen legen</German>
<Polish>Skuj jednostkę</Polish>
<Portuguese>Fazer unidade algemada</Portuguese>
<Russian>Связать юнита</Russian>
<Russian>Связать юниту руки</Russian>
<Czech>Spoutat jednotku</Czech>
<Italian>Metti manette all'unità</Italian>
<Spanish>Hacer que la unidad esté esposada</Spanish>
@ -239,7 +241,7 @@
<German>Synchronisiere eine Einheit, um sie in Handschellen zu legen.</German>
<Polish>Zsynchronizuj z jednostką, aby została skuta.</Polish>
<Portuguese>Sincronizar uma unidade para deixá-la algemada.</Portuguese>
<Russian>Синхронизируйте с юнитами, чтобы сделать их связанными.</Russian>
<Russian>Синхронизируйте с юнитами, чтобы связать им руки.</Russian>
<Czech>Synchronizovat s jednotkou, která má být v poutech.</Czech>
<Italian>Sincronizza un'unità per metterle le manette.</Italian>
<Spanish>Sincroniza una unidad para hacer que esté esposada.</Spanish>
@ -274,7 +276,7 @@
<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>
<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>
<Japanese>投降したユニットや拘束されたユニットの扱いを設定します。</Japanese>
<Korean>투항과 케이블 타이에 관련한 설정</Korean>
@ -290,7 +292,7 @@
<Portuguese>Pode algemar o próprio lado</Portuguese>
<French>Peut capturer sa propre faction</French>
<Hungarian>Saját oldal megbilincselhető</Hungarian>
<Russian>Связать союзника</Russian>
<Russian>Можно связывать руки союзникам</Russian>
<Italian>Puoi ammanettare unità alleate</Italian>
<Japanese>拘束ユニットを自陣営へ</Japanese>
<Korean>자기편을 포박 할 수 있습니다.</Korean>
@ -306,7 +308,7 @@
<Portuguese>Os jogadores podem algemar unidades do seu lado</Portuguese>
<French>Les joueurs peuvent utiliser les Serflex sur leur propre camp</French>
<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>
<Japanese>プレイヤーが拘束したユニットの陣営を自陣営に変更させます。</Japanese>
<Korean>자기편에게 케이블타이를 사용할 수 있게합니다</Korean>
@ -319,10 +321,10 @@
<Spanish>Permitir rendición</Spanish>
<Czech>Povolit vzdávání</Czech>
<German>Kapitulation erlauben</German>
<Portuguese>Permite rendição</Portuguese>
<Portuguese>Permitir Rendição</Portuguese>
<French>Permettre la reddition</French>
<Hungarian>Kapituláció engedélyezése</Hungarian>
<Russian>Сдаться в плен</Russian>
<Russian>Разрешить сдаваться</Russian>
<Italian>Permetti Resa</Italian>
<Japanese>投降を許可</Japanese>
<Korean>투항 활성화</Korean>
@ -338,7 +340,7 @@
<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>
<Russian>Игроки могут сдаваться после того, как уберут оружие</Russian>
<Italian>I giocatori possono arrendersi dopo aver messo via le proprie armi</Italian>
<Japanese>プレイヤーは武器を収めたあと投降できるようにします。</Japanese>
<Korean>비무장한 플레이어가 투항할 수 있게 합니다</Korean>
@ -350,7 +352,7 @@
<German>Benötigt Kapitulation</German>
<Polish>Wymagaj kapitulacji</Polish>
<Portuguese>Requer rendição</Portuguese>
<Russian>Требовать пленения</Russian>
<Russian>Требовать сдаться для ареста</Russian>
<Spanish>Requiere rendición</Spanish>
<Czech>Vzdávání vyžadováno</Czech>
<Italian>Richiedi Resa</Italian>
@ -365,7 +367,7 @@
<German>Spieler müssen sich erst ergeben, bevor sie gefangen genommen werden können</German>
<Polish>Wymagaj od graczy kapitulacji zanim będzie można ich zaaresztować</Polish>
<Portuguese>Requer que jogadores se rendam antes de poderem ser presos</Portuguese>
<Russian>Требуется, чтобы игрок сдался в плен прежде, чем его можно будет связать</Russian>
<Russian>Требовать для ареста, чтобы игроки вначале сдавались</Russian>
<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>
<Italian>I giocatori devono arrendersi prima che possano essere arrestati</Italian>
@ -380,7 +382,7 @@
<German>Nur Ergeben</German>
<Polish>Tylko kapitulacja</Polish>
<Portuguese>Somente rendição </Portuguese>
<Russian>Только сдавшийся в плен</Russian>
<Russian>Только сдавшийся</Russian>
<Spanish>Solo rendición</Spanish>
<Czech>Pouze vzdávání</Czech>
<Italian>Solo Resa</Italian>
@ -414,6 +416,8 @@
<Chinesesimp>设置在游标下的单位成俘虏状态。</Chinesesimp>
<Korean>커서의 병력을 포박합니다.</Korean>
<Polish>Ustawia jednostkę pod kursorem jako jeniec.</Polish>
<Russian>Арестовывает указанный курсором юнит</Russian>
<Portuguese>Torna a unidade sob o cursor um prisioneiro</Portuguese>
</Key>
<Key ID="STR_ACE_Captives_ModuleSettings_requireSurrenderAi_name">
<English>Require AI surrendering</English>
@ -424,6 +428,8 @@
<Chinesesimp>需要AI先行投降</Chinesesimp>
<Korean>AI 항복 필요</Korean>
<Polish>Wymaga poddania się przez SI</Polish>
<Russian>Требовать ИИ сдаться для ареста</Russian>
<Portuguese>Requer rendição da IA</Portuguese>
</Key>
<Key ID="STR_ACE_Captives_ModuleSettings_requireSurrenderAi_description">
<English>Require AI to surrender before they can be arrested</English>
@ -434,6 +440,8 @@
<Chinesesimp>在逮捕AI之前该AI必须先进入投降状态。</Chinesesimp>
<Korean>포박하기 전에 먼저 AI가 투항해야만 합니다.</Korean>
<Polish>Wymaga poddania się przez SI zanim aresztowanie będzie możliwe</Polish>
<Russian>Требовать для ареста, чтобы ИИ вначале сдавались</Russian>
<Portuguese>Requer que a IA se renda antes que seja presa</Portuguese>
</Key>
</Package>
</Project>

View File

@ -63,6 +63,11 @@ class CfgVehicles {
GVAR(space) = 4;
GVAR(hasCargo) = 1;
};
class Tank_F: Tank {};
class UGV_02_Base_F: Tank_F {
GVAR(space) = 0;
GVAR(hasCargo) = 0;
};
class Car_F;
class Truck_F: Car_F {

View File

@ -11,5 +11,6 @@ PREP_RECOMPILE_END;
GVAR(initializedItemClasses) = [];
GVAR(initializedVehicleClasses) = [];
GVAR(cargoHolderTypes) = ["Car", "Air", "Tank", "Ship", "Cargo_base_F", "Land_PaperBox_closed_F"];
GVAR(disableParadropEffectsClasstypes) = ["Car_F"];
ADDON = true;

View File

@ -69,8 +69,10 @@ _itemObject setVelocity ((velocity _vehicle) vectorAdd ((vectorNormalized (vecto
_item attachTo [_parachute, [0,0,1]];
_parachute setVelocity _velocity;
private _light = "Chemlight_yellow" createVehicle [0,0,0];
_light attachTo [_item, [0,0,0]];
if ((GVAR(disableParadropEffectsClasstypes) findIf {_item isKindOf _x}) == -1) then {
private _light = "Chemlight_yellow" createVehicle [0,0,0];
_light attachTo [_item, [0,0,0]];
};
}, [_itemObject], 0.7] call CBA_fnc_waitAndExecute;
@ -83,8 +85,10 @@ _itemObject setVelocity ((velocity _vehicle) vectorAdd ((vectorNormalized (vecto
};
if (getPos _item select 2 < 1) then {
private _smoke = "SmokeshellYellow" createVehicle [0,0,0];
_smoke attachTo [_item, [0,0,0]];
if ((GVAR(disableParadropEffectsClasstypes) findIf {_item isKindOf _x}) == -1) then {
private _smoke = "SmokeshellYellow" createVehicle [0,0,0];
_smoke attachTo [_item, [0,0,0]];
};
[_this select 1] call CBA_fnc_removePerFrameHandler;
};

View File

@ -237,6 +237,8 @@
<Chinesesimp>货物空间</Chinesesimp>
<Polish>Przestrzeń ładunkowa</Polish>
<Korean>화물 공간</Korean>
<Russian>Грузовое пространство</Russian>
<Portuguese>Espaço de Carga</Portuguese>
</Key>
<Key ID="STR_ACE_Cargo_space_edenDesc">
<English>The cargo space available in this vehicle/container</English>
@ -247,6 +249,8 @@
<Chinesesimp>设定此载具/集装箱可装载多少货物</Chinesesimp>
<Polish>Dostępna przestrzeń ładunkowa w tym pojeździe/kontenerze</Polish>
<Korean>이 차량/컨테이너에서 사용가능한 화물 공간</Korean>
<Russian>Грузовое пространство, доступное в этом транспортном средстве / контейнере</Russian>
<Portuguese>O espaço de carga disponível nesse veículo/contâiner</Portuguese>
</Key>
<Key ID="STR_ACE_Cargo_size_edenName">
<English>Cargo Size</English>
@ -257,6 +261,8 @@
<Chinesesimp>货物的大小</Chinesesimp>
<Polish>Wielkość ładunku</Polish>
<Korean>화물 크기</Korean>
<Russian>Размер груза</Russian>
<Portuguese>Tamanho da Carga</Portuguese>
</Key>
<Key ID="STR_ACE_Cargo_size_edenDesc">
<English>The cargo space required to hold this object (-1 for unloadable)</English>
@ -267,6 +273,8 @@
<Chinesesimp>此货物会占掉多少空间(设定-1的话此货物就不能被装载)</Chinesesimp>
<Polish>Wymagana przestrzeń ładunkowa dla tego obiektu (-1 dla niemożliwych do załadowania)</Polish>
<Korean>이 화물을 적재하는데 필요한 공간 (-1=무조건 적재가능)</Korean>
<Russian>Грузовое пространство, необходимое для размещения этого объекта (-1 для незагружаемого)</Russian>
<Portuguese>O Espaço de carga necessário para carregar esse objeto (-1 para que não seja carregável)</Portuguese>
</Key>
<Key ID="STR_ACE_Cargo_paradropButton">
<English>Airdrop</English>
@ -278,6 +286,8 @@
<Italian>Lancio Aereo</Italian>
<Chinese>空投</Chinese>
<Chinesesimp>空投</Chinesesimp>
<Russian>Десантирование груза</Russian>
<Portuguese>Lançamento Aéreo</Portuguese>
</Key>
<Key ID="STR_ACE_Cargo_unlevelFlightWarning">
<English>Unlevel Flight</English>
@ -289,6 +299,8 @@
<Italian>Volo non Livellato</Italian>
<Chinese>此架飛機並無保持水平飛行</Chinese>
<Chinesesimp>此架飞机并无保持水平飞行</Chinesesimp>
<Russian>Неподходящее положение</Russian>
<Portuguese>Desnivelar Vôo</Portuguese>
</Key>
<Key ID="STR_ACE_Cargo_paradropTimeCoefficent">
<English>Paradrop Time Coefficient</English>
@ -300,6 +312,8 @@
<Chinesesimp>空投时间系数</Chinesesimp>
<Polish>Współczynnik czasu zrzutu</Polish>
<Korean>공중 투하 시간 계수</Korean>
<Russian>Коэффициент времени десантирования</Russian>
<Portuguese>Fator de Tempo para soltar a carga</Portuguese>
</Key>
<Key ID="STR_ACE_Cargo_paradropTimeCoefficent_description">
<English>Modifier for how long it takes to paradrop a cargo item.</English>
@ -311,18 +325,26 @@
<Chinesesimp>设定空投所需消耗的时间.</Chinesesimp>
<Polish>Modyfikator wskazujący jak dużo czasu potrzeba by zrzucić przedmiot na spadochronie.</Polish>
<Korean>화물을 공중 투하 하는데 얼마나 걸리는 시간 설정</Korean>
<Russian>Модификатор времени, необходимого для десантирования груза</Russian>
<Portuguese>Coeficiente de quanto tempo leva para soltar uma carga de paraquedas</Portuguese>
</Key>
<Key ID="STR_ACE_Cargo_loadTimeCoefficient">
<English>Load Time Coefficient</English>
<German>Ladezeitmultiplikator</German>
<Japanese>積載時間の係数</Japanese>
<Polish>Współczynnik czasu załadowania</Polish>
<Italian>Coefficente Tempo Caricamento</Italian>
<Russian>Коэффициент времени погрузки</Russian>
<Portuguese>Fator de tempo para carregar</Portuguese>
</Key>
<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>
<German>Gibt an, wie lange das Laden / Entladen von Gegenständen dauern soll.\nZeit in Sekunden, die mit der Größe des Gegenstandes multipliziert wird.</German>
<Japanese>アイテムの積み下ろし作業にかかる時間を編集できます。\nアイテムの大きさにこの値が乗法され、時間 (秒) を変更できます。</Japanese>
<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>
<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>
</Key>
</Package>
</Project>

View File

@ -11,6 +11,8 @@
<Italian>Luce chimica</Italian>
<Chinese>螢光棒</Chinese>
<Chinesesimp>萤光棒</Chinesesimp>
<Russian>Химсвет</Russian>
<Portuguese>Bastões de Luz</Portuguese>
</Key>
<Key ID="STR_ACE_Chemlights_Action_Prepare">
<English>Prepare %1</English>
@ -22,6 +24,8 @@
<Italian>Prepara %1</Italian>
<Chinese>使用%1</Chinese>
<Chinesesimp>使用%1</Chinesesimp>
<Russian>Приготовить %1</Russian>
<Portuguese>Preparar %1</Portuguese>
</Key>
<Key ID="STR_ACE_Chemlights_Action_Prepare_Done">
<English>%1&lt;br/&gt;Prepared</English>
@ -33,6 +37,8 @@
<Italian>%1 &lt;br/&gt; Preparata</Italian>
<Chinese>%1&lt;br/&gt;已使用</Chinese>
<Chinesesimp>%1&lt;br/&gt;已使用</Chinesesimp>
<Russian>%1&lt;br/&gt;Приготовлен</Russian>
<Portuguese>%1&lt;br/&gt;Preparado</Portuguese>
</Key>
<Key ID="STR_ACE_Chemlights_Inventory_Full">
<English>No inventory space</English>
@ -60,6 +66,8 @@
<Italian>[ACE] Luci chimiche</Italian>
<Chinese>[ACE] 螢光棒</Chinese>
<Chinesesimp>[ACE] 萤光棒</Chinesesimp>
<Russian>[ACE] Химсвет</Russian>
<Portuguese>[ACE] Bastões de Luz</Portuguese>
</Key>
<Key ID="STR_ACE_Chemlights_Orange_DisplayName">
<English>Chemlight (Orange)</English>
@ -71,6 +79,8 @@
<Italian>Luce chimica (Arancione)</Italian>
<Chinese>螢光棒 (橘色)</Chinese>
<Chinesesimp>萤光棒 (橘色)</Chinesesimp>
<Russian>Химсвет (Оранжевый)</Russian>
<Portuguese>Bastão de Luz (Laranja)</Portuguese>
</Key>
<Key ID="STR_ACE_Chemlights_Orange_DisplayNameShort">
<English>Orange Light</English>
@ -82,6 +92,8 @@
<Italian>Luce Arancione</Italian>
<Chinese>橘色光</Chinese>
<Chinesesimp>橘色光</Chinesesimp>
<Russian>Оранжевый свет</Russian>
<Portuguese>Luz Laranja</Portuguese>
</Key>
<Key ID="STR_ACE_Chemlights_Orange_DescriptionShort">
<English>Type: Light - Orange&lt;br /&gt;Rounds: 1&lt;br /&gt;Used in: Hand</English>
@ -93,6 +105,8 @@
<Italian>Tipo: Luce - Arancione&lt;br/&gt;Rimanenti: 1&lt;br/&gt;Usata in: Mano</Italian>
<Chinese>類型: 光 - 橘色&lt;br /&gt;發數: 1&lt;br /&gt;使用於: 手</Chinese>
<Chinesesimp>类型: 光 - 橘色&lt;br /&gt;发数: 1&lt;br /&gt;使用于: 手</Chinesesimp>
<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 ID="STR_ACE_Chemlights_White_DisplayName">
<English>Chemlight (White)</English>
@ -104,6 +118,8 @@
<Italian>Luce chimica (Bianca)</Italian>
<Chinese>螢光棒 (白色)</Chinese>
<Chinesesimp>萤光棒 (白色)</Chinesesimp>
<Russian>Химсвет (Белый)</Russian>
<Portuguese>Bastão de Luz (Branco)</Portuguese>
</Key>
<Key ID="STR_ACE_Chemlights_White_DisplayNameShort">
<English>White Light</English>
@ -115,6 +131,8 @@
<Italian>Luce Bianca</Italian>
<Chinese>白色光</Chinese>
<Chinesesimp>白色光</Chinesesimp>
<Russian>Белый свет</Russian>
<Portuguese>Luz Branca</Portuguese>
</Key>
<Key ID="STR_ACE_Chemlights_White_DescriptionShort">
<English>Type: Light - White&lt;br /&gt;Rounds: 1&lt;br /&gt;Used in: Hand</English>
@ -126,6 +144,8 @@
<Italian>Tipo: Luce - Bianca&lt;br/&gt;Rimanenti: 1&lt;br/&gt;Usata in: Mano</Italian>
<Chinese>類型: 光 - 白色&lt;br /&gt;發數: 1&lt;br /&gt;使用於: 手</Chinese>
<Chinesesimp>类型: 光 - 白色&lt;br /&gt;发数: 1&lt;br /&gt;使用于: 手</Chinesesimp>
<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 ID="STR_ACE_Chemlights_HiRed_DisplayName">
<English>Chemlight (Hi Red)</English>
@ -137,6 +157,8 @@
<Italian>Luce chimica (Hi Rossa)</Italian>
<Chinese>螢光棒 (超亮紅色)</Chinese>
<Chinesesimp>萤光棒 (超亮红色)</Chinesesimp>
<Russian>Химсвет (Ярко-Красный)</Russian>
<Portuguese>Bastão de Luz (Vermelho Forte)</Portuguese>
</Key>
<Key ID="STR_ACE_Chemlights_HiRed_DisplayNameShort">
<English>Red Hi Light</English>
@ -148,6 +170,8 @@
<Italian>Luce Hi Rossa</Italian>
<Chinese>超亮紅色光</Chinese>
<Chinesesimp>超亮红色光</Chinesesimp>
<Russian>Яркий Красный свет</Russian>
<Portuguese>Luz forte vermelha</Portuguese>
</Key>
<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>
@ -159,6 +183,8 @@
<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>
<Chinesesimp>类型: 光 - 超亮红色 (30分钟)&lt;br /&gt;发数: 1&lt;br /&gt;使用于: 手</Chinesesimp>
<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 ID="STR_ACE_Chemlights_HiYellow_DisplayName">
<English>Chemlight (Hi Yellow)</English>
@ -170,6 +196,8 @@
<Italian>Luce chimica (Hi Gialla)</Italian>
<Chinese>螢光棒 (超亮黃色)</Chinese>
<Chinesesimp>萤光棒 (超亮黄色)</Chinesesimp>
<Russian>Химсвет (Ярко-Желтый)</Russian>
<Portuguese>Bastão de Luz (Amarelo Forte)</Portuguese>
</Key>
<Key ID="STR_ACE_Chemlights_HiYellow_DisplayNameShort">
<English>Yellow Hi Light</English>
@ -181,6 +209,8 @@
<Italian>Luce Hi Gialla</Italian>
<Chinese>超亮黃色光</Chinese>
<Chinesesimp>超亮黄色光</Chinesesimp>
<Russian>Яркий Желтый свет</Russian>
<Portuguese>Luz forte amarela</Portuguese>
</Key>
<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>
@ -192,6 +222,8 @@
<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>
<Chinesesimp>类型: 光 - 超亮黄色 (30分钟)&lt;br /&gt;发数: 1&lt;br /&gt;使用于: 手</Chinesesimp>
<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 ID="STR_ACE_Chemlights_HiWhite_DisplayName">
<English>Chemlight (Hi White)</English>
@ -203,6 +235,8 @@
<Italian>Luce chimica (Hi Bianca)</Italian>
<Chinese>螢光棒 (超亮白色)</Chinese>
<Chinesesimp>萤光棒 (超亮白色)</Chinesesimp>
<Russian>Химсвет (Ярко-Белый)</Russian>
<Portuguese>Bastão de Luz (Branco Forte)</Portuguese>
</Key>
<Key ID="STR_ACE_Chemlights_HiWhite_DisplayNameShort">
<English>White Hi Light</English>
@ -214,6 +248,8 @@
<Italian>Luce Hi Bianca</Italian>
<Chinese>超亮白色光</Chinese>
<Chinesesimp>超亮白色光</Chinesesimp>
<Russian>Яркий Белый свет</Russian>
<Portuguese>Luz forte branca</Portuguese>
</Key>
<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>
@ -225,69 +261,98 @@
<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>
<Chinesesimp>类型: 光 - 超亮白色 (30分钟)&lt;br /&gt;发数: 1&lt;br /&gt;使用于: 手</Chinesesimp>
<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 ID="STR_ACE_Chemlights_HiBlue_DisplayName">
<English>Chemlight (Hi Blue)</English>
<French>Cyalume (Hi Bleu)</French>
<Japanese>ケミライト (高輝度 青)</Japanese>
<Polish>Świetlik (jaskrawy niebieski)</Polish>
<German>Knicklicht (Blau, Hell)</German>
<Italian>Luce chimica (Hi Blu)</Italian>
<Russian>Химсвет (Ярко-Синий)</Russian>
<Portuguese>Bastão de Luz (Azul Forte)</Portuguese>
</Key>
<Key ID="STR_ACE_Chemlights_HiBlue_DisplayNameShort">
<English>Blue Hi Light</English>
<French>Lum. bleue haute intensité</French>
<German>Helles, blaues Knicklicht</German>
<Japanese>高輝度の青色</Japanese>
<Polish>Jaskrawe niebieskie światło</Polish>
<Italian>Luce Hi Blu</Italian>
<Russian>Яркий Синий свет</Russian>
<Portuguese>Luz forte azul</Portuguese>
</Key>
<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>
<French>Type: Lumière - bleue Hi (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>
<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>
<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>
</Key>
<Key ID="STR_ACE_Chemlights_HiGreen_DisplayName">
<English>Chemlight (Hi Green)</English>
<French>Cyalume (Hi Vert)</French>
<German>Knicklicht (Grün, Hell)</German>
<Japanese>ケミライト (高輝度 緑)</Japanese>
<Polish>Świetlik (jaskrawy zielony)</Polish>
<Italian>Luce chimica (Hi Verde)</Italian>
<Russian>Химсвет (Ярко-Зеленый)</Russian>
<Portuguese>Bastão de Luz (Verde Forte)</Portuguese>
</Key>
<Key ID="STR_ACE_Chemlights_HiGreen_DisplayNameShort">
<English>Green Hi Light</English>
<French>Lum. verte haute intensité</French>
<German>Helles, grünes Knicklicht</German>
<Japanese>高輝度の青色</Japanese>
<Polish>Jaskrawe zielone światło</Polish>
<Italian>Luce Hi Verde</Italian>
<Russian>Яркий Зеленый свет</Russian>
<Portuguese>Luz forte verde</Portuguese>
</Key>
<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>
<French>Type: Lumière - verte Hi (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>
<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>
<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>
</Key>
<Key ID="STR_ACE_Chemlights_UltraHiOrange_DisplayName">
<English>Chemlight (Ultra-Hi Orange)</English>
<French>Cyalume (Ultra-Hi orange)</French>
<German>Knicklicht (Orange, Hell)</German>
<Japanese>ケミライト (高輝度 オレンジ)</Japanese>
<Polish>Świetlik (ultra-jaskrawy pomarańczowy)</Polish>
<Italian>Luce chimica (Ultra-Hi Arancione)</Italian>
<Russian>Химсвет (Ультраяркий Оранжевый)</Russian>
<Portuguese>Bastão de Luz (Laranja Ultra Forte)</Portuguese>
</Key>
<Key ID="STR_ACE_Chemlights_UltraHiOrange_DisplayNameShort">
<English>Orange Ultra-Hi Light</English>
<French>Lum. orange ultra haute intensité</French>
<German>Helles, orangenes Knicklicht</German>
<Japanese>ウルトラ高輝度のオレンジ色</Japanese>
<Polish>Ultra-jaskrawe pomarańczowe światło</Polish>
<Italian>Luce Ultra-Hi Arancione</Italian>
<Russian>Ультраяркий Оранжевый свет</Russian>
<Portuguese>Luz ultra forte laranja</Portuguese>
</Key>
<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>
<French>Type: Lumière - Orange Ultra-Hi (5 minutes)&lt;br /&gt;Nbre: 1&lt;br /&gt; À main</French>
<German>Typ: Licht - orange, hell (30 Minuten)&lt;br /&gt;Anzahl: 1&lt;br /&gt;Benutzt in: Hand</German>
<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>
<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>
<Portuguese>Tipo: Luz - Laranja Ultra Forte (5 minutos)&lt;br/&gt;Usos: 1&lt;br/&gt;Usado em: Mão</Portuguese>
</Key>
<Key ID="STR_ACE_Chemlights_IR_DisplayName">
<English>Chemlight (IR)</English>
@ -299,6 +364,8 @@
<Italian>Luce chimica (IR)</Italian>
<Chinese>螢光棒 (紅外線)</Chinese>
<Chinesesimp>萤光棒 (红外线)</Chinesesimp>
<Russian>Химсвет (Инфракрасный)</Russian>
<Portuguese>Bastão de Luz (IV)</Portuguese>
</Key>
<Key ID="STR_ACE_Chemlights_IR_DisplayNameShort">
<English>IR Light</English>
@ -310,6 +377,8 @@
<Italian>Luce IR</Italian>
<Chinese>紅外線光</Chinese>
<Chinesesimp>红外线光</Chinesesimp>
<Russian>Инфракрасный свет</Russian>
<Portuguese>Bastão de luz infravermelho</Portuguese>
</Key>
<Key ID="STR_ACE_Chemlights_IR_DescriptionShort">
<English>Type: Light - Infrared&lt;br /&gt;Rounds: 1&lt;br /&gt;Used in: Hand</English>
@ -321,6 +390,8 @@
<Italian>Tipo: Luce - Infrarossi&lt;br /&gt;Usata in: Mano</Italian>
<Chinese>類型: 光 - 紅外線&lt;br /&gt;發數: 1&lt;br /&gt;使用於: 手</Chinese>
<Chinesesimp>类型: 光 - 红外线&lt;br /&gt;发数: 1&lt;br /&gt;使用于: 手</Chinesesimp>
<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 ID="STR_ACE_Chemlights_Shield_Empty_DisplayName">
<English>Chemlight Shield (Empty)</English>
@ -332,6 +403,8 @@
<Italian>Scudo Luce chimica (Vuoto)</Italian>
<Chinese>螢光棒保護殼 (空)</Chinese>
<Chinesesimp>萤光棒保护壳 (空)</Chinesesimp>
<Russian>Контейнер для Химсвета (Пуст)</Russian>
<Portuguese>Estojo de Luz (Vazio)</Portuguese>
</Key>
<Key ID="STR_ACE_Chemlights_Shield_Empty_DescriptionShort">
<English>Shield for chemlights. Combine with chemlight to prepare reading light.</English>
@ -343,6 +416,8 @@
<Italian>Scudo per luci chimiche. Combina con una luce chimica per una luce da lettura.</Italian>
<Chinese>螢光棒的保護殼. 與螢光棒結合後可充當閱讀燈</Chinese>
<Chinesesimp>萤光棒的保护壳. 与萤光棒结合后可充当阅读灯.</Chinesesimp>
<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 ID="STR_ACE_Chemlights_Shield_Green_DisplayName">
<English>Chemlight Shield (Green)</English>
@ -354,6 +429,8 @@
<Italian>Scudo Luce Chimica (Verde)</Italian>
<Chinese>螢光棒保護殼 (綠色)</Chinese>
<Chinesesimp>萤光棒保护壳 (绿色)</Chinesesimp>
<Russian>Контейнер для Химсвета (Зел)</Russian>
<Portuguese>Estojo de Luz (Verde)</Portuguese>
</Key>
<Key ID="STR_ACE_Chemlights_Shield_Green_DescriptionShort">
<English>Green reading light.</English>
@ -365,6 +442,8 @@
<Italian>Luce da lettura Verde.</Italian>
<Chinese>綠色閱讀燈</Chinese>
<Chinesesimp>绿色阅读灯。</Chinesesimp>
<Russian>Ночник из Химсвета (Зеленый)</Russian>
<Portuguese>Luz de leitura verde.</Portuguese>
</Key>
<Key ID="STR_ACE_Chemlights_Shield_Red_DisplayName">
<English>Chemlight Shield (Red)</English>
@ -376,6 +455,8 @@
<Italian>Scudo Luce Chimica (Rossa)</Italian>
<Chinese>螢光棒保護殼 (紅色)</Chinese>
<Chinesesimp>萤光棒保护壳 (红色)</Chinesesimp>
<Russian>Контейнер для Химсвета (Красн)</Russian>
<Portuguese>Estojo de Luz (Vermelho)</Portuguese>
</Key>
<Key ID="STR_ACE_Chemlights_Shield_Red_DescriptionShort">
<English>Red reading light.</English>
@ -387,6 +468,8 @@
<Italian>Luce da lettura Rossa.</Italian>
<Chinese>紅色閱讀燈</Chinese>
<Chinesesimp>红色阅读灯。</Chinesesimp>
<Russian>Ночник из Химсвета (Красный)</Russian>
<Portuguese>Luz de leitura vermelha.</Portuguese>
</Key>
<Key ID="STR_ACE_Chemlights_Shield_Blue_DisplayName">
<English>Chemlight Shield (Blue)</English>
@ -398,6 +481,8 @@
<Italian>Scudo Luce Chimica (Blu)</Italian>
<Chinese>螢光棒保護殼 (藍色)</Chinese>
<Chinesesimp>萤光棒保护壳 (蓝色)</Chinesesimp>
<Russian>Контейнер для Химсвета (Син)</Russian>
<Portuguese>Estojo de Luz (Azul)</Portuguese>
</Key>
<Key ID="STR_ACE_Chemlights_Shield_Blue_DescriptionShort">
<English>Blue reading light.</English>
@ -409,6 +494,8 @@
<Italian>Luce da lettura Blu.</Italian>
<Chinese>藍色閱讀燈</Chinese>
<Chinesesimp>蓝色阅读灯。</Chinesesimp>
<Russian>Ночник из Химсвета (Синий)</Russian>
<Portuguese>Luz de leitura azul.</Portuguese>
</Key>
<Key ID="STR_ACE_Chemlights_Shield_Yellow_DisplayName">
<English>Chemlight Shield (Yellow)</English>
@ -420,6 +507,8 @@
<Italian>Scudo Luce Chimica (Gialla)</Italian>
<Chinese>螢光棒保護殼 (黃色)</Chinese>
<Chinesesimp>萤光棒保护壳 (黄色)</Chinesesimp>
<Russian>Контейнер для Химсвета (Желт)</Russian>
<Portuguese>Estojo de Luz (Amarelo)</Portuguese>
</Key>
<Key ID="STR_ACE_Chemlights_Shield_Yellow_DescriptionShort">
<English>Yellow reading light.</English>
@ -431,6 +520,8 @@
<Italian>Luce da lettura Gialla.</Italian>
<Chinese>黃色閱讀燈</Chinese>
<Chinesesimp>黄色阅读灯。</Chinesesimp>
<Russian>Ночник из Химсвета (Желтый)</Russian>
<Portuguese>Luz de leitura amarela.</Portuguese>
</Key>
<Key ID="STR_ACE_Chemlights_Shield_Orange_DisplayName">
<English>Chemlight Shield (Orange)</English>
@ -442,6 +533,8 @@
<Italian>Scudo Luce Chimica (Arancione)</Italian>
<Chinese>螢光棒保護殼 (橘色)</Chinese>
<Chinesesimp>萤光棒保护壳 (橘色)</Chinesesimp>
<Russian>Контейнер для Химсвета (Оранж)</Russian>
<Portuguese>Estojo de Luz (Laranja)</Portuguese>
</Key>
<Key ID="STR_ACE_Chemlights_Shield_Orange_DescriptionShort">
<English>Orange reading light.</English>
@ -453,6 +546,8 @@
<Italian>Luce da lettura Arancione.</Italian>
<Chinese>橘色閱讀燈</Chinese>
<Chinesesimp>橘色阅读灯。</Chinesesimp>
<Russian>Ночник из Химсвета (Оранжевый)</Russian>
<Portuguese>Luz de leitura laranja.</Portuguese>
</Key>
<Key ID="STR_ACE_Chemlights_Shield_White_DisplayName">
<English>Chemlight Shield (White)</English>
@ -464,6 +559,8 @@
<Italian>Scudo Luce Chimica (Bianca)</Italian>
<Chinese>螢光棒保護殼 (白色)</Chinese>
<Chinesesimp>萤光棒保护壳 (白色)</Chinesesimp>
<Russian>Контейнер для Химсвета (Белый)</Russian>
<Portuguese>Estojo de Luz (Branco)</Portuguese>
</Key>
<Key ID="STR_ACE_Chemlights_Shield_White_DescriptionShort">
<English>White reading light.</English>
@ -475,6 +572,8 @@
<Italian>Luce da lettura Bianca.</Italian>
<Chinese>白色閱讀燈</Chinese>
<Chinesesimp>白色阅读灯。</Chinesesimp>
<Russian>Ночник из Химсвета (Белый)</Russian>
<Portuguese>Luz de leitura branca.</Portuguese>
</Key>
</Package>
</Project>

View File

@ -138,6 +138,7 @@ PREP(positionToASL);
PREP(progressBar);
PREP(readSettingFromModule);
PREP(receiveRequest);
PREP(registerItemReplacement);
PREP(removeCanInteractWithCondition);
PREP(removeSpecificMagazine);
PREP(requestCallback);

View File

@ -19,8 +19,8 @@
//Status Effect EHs:
[QGVAR(setStatusEffect), {_this call FUNC(statusEffect_set)}] call CBA_fnc_addEventHandler;
["forceWalk", false, ["ACE_SwitchUnits", "ACE_Attach", "ACE_dragging", "ACE_Explosives", "ACE_Ladder", "ACE_Sandbag", "ACE_refuel", "ACE_rearm", "ACE_Trenches"]] call FUNC(statusEffect_addType);
["blockSprint", false, []] call FUNC(statusEffect_addType);
["forceWalk", false, ["ace_advanced_fatigue", "ACE_SwitchUnits", "ACE_Attach", "ACE_dragging", "ACE_Explosives", "ACE_Ladder", "ACE_Sandbag", "ACE_refuel", "ACE_rearm", "ACE_Trenches"]] call FUNC(statusEffect_addType);
["blockSprint", false, ["ace_advanced_fatigue", "ace_medical_fracture"]] call FUNC(statusEffect_addType);
["setCaptive", true, [QEGVAR(captives,Handcuffed), QEGVAR(captives,Surrendered)]] call FUNC(statusEffect_addType);
["blockDamage", false, ["fixCollision", "ACE_cargo"]] call FUNC(statusEffect_addType);
["blockEngine", false, ["ACE_Refuel"]] call FUNC(statusEffect_addType);
@ -121,8 +121,8 @@ if (isServer) then {
[QGVAR(fixFloating), FUNC(fixFloating)] call CBA_fnc_addEventHandler;
[QGVAR(fixPosition), FUNC(fixPosition)] call CBA_fnc_addEventHandler;
["ace_loadPersonEvent", FUNC(loadPersonLocal)] call CBA_fnc_addEventHandler;
["ace_unloadPersonEvent", FUNC(unloadPersonLocal)] call CBA_fnc_addEventHandler;
["ace_loadPersonEvent", LINKFUNC(loadPersonLocal)] call CBA_fnc_addEventHandler;
["ace_unloadPersonEvent", LINKFUNC(unloadPersonLocal)] call CBA_fnc_addEventHandler;
[QGVAR(lockVehicle), {
_this setVariable [QGVAR(lockStatus), locked _this];
@ -145,9 +145,23 @@ if (isServer) then {
[QGVAR(playActionNow), {(_this select 0) playActionNow (_this select 1)}] call CBA_fnc_addEventHandler;
[QGVAR(switchMove), {(_this select 0) switchMove (_this select 1)}] call CBA_fnc_addEventHandler;
[QGVAR(setVectorDirAndUp), {(_this select 0) setVectorDirAndUp (_this select 1)}] call CBA_fnc_addEventHandler;
[QGVAR(setVanillaHitPointDamage), {(_this select 0) setHitPointDamage (_this select 1)}] call CBA_fnc_addEventHandler;
[QGVAR(addWeaponItem), {(_this select 0) addWeaponItem [(_this select 1), (_this select 2)]}] call CBA_fnc_addEventHandler;
[QGVAR(setVanillaHitPointDamage), {
params ["_object", "_hitPointAnddamage"];
private _damageDisabled = !isDamageAllowed _object;
if (_damageDisabled) then {
_object allowDamage true;
};
_object setHitPointDamage _hitPointAnddamage;
if (_damageDisabled) then {
_object allowDamage false;
};
}] call CBA_fnc_addEventHandler;
// Request framework
[QGVAR(requestCallback), FUNC(requestCallback)] call CBA_fnc_addEventHandler;
[QGVAR(receiveRequest), FUNC(receiveRequest)] call CBA_fnc_addEventHandler;
@ -298,7 +312,7 @@ addMissionEventHandler ["PlayerViewChanged", {
if (isNull player) exitWith {true};
private _UAV = getConnectedUAV player;
if (!alive player) then {_UAV = objNull;};
private _position = (UAVControl _UAV) param [1, ""];
private _position = [player] call FUNC(getUavControlPosition);
private _seatAI = objNull;
private _turret = [];
switch (toLower _position) do {

View File

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

View File

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

View File

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

View File

@ -21,6 +21,9 @@ LOG("Adding ACE_Settings to CBA_settings");
GVAR(cbaSettings_forcedSettings) = [];
GVAR(cbaSettings_missionSettings) = [];
GVAR(settings) = []; // will stay empty - for BWC?
#ifdef DEBUG_MODE_FULL
GVAR(settingsMovedToSQF) = [];
#endif
// Add Event Handlers:
[QGVAR(setSetting), {
@ -66,6 +69,13 @@ GVAR(settings) = []; // will stay empty - for BWC?
false
} count GVAR(runAtSettingsInitialized);
GVAR(runAtSettingsInitialized) = nil; //cleanup
#ifdef DEBUG_MODE_FULL
INFO_1("checking settingsMovedToSQF [%1]",count GVAR(settingsMovedToSQF));
{
if (isNil _x) then { WARNING_1("setting [%1] NOT moved to sqf",_x); };
} forEach GVAR(settingsMovedToSQF);
#endif
}] call CBA_fnc_addEventHandler;
private _start = diag_tickTime;
@ -81,6 +91,10 @@ for "_index" from 0 to (_countOptions - 1) do {
} else {
WARNING_1("Setting [%1] - Already defined from somewhere else??",_varName);
};
#ifdef DEBUG_MODE_FULL
} else {
GVAR(settingsMovedToSQF) pushBack configName _optionEntry;
#endif
};
};

View File

@ -67,38 +67,43 @@ if (!(_oldCompats isEqualTo [])) then {
};
///////////////
// check dlls
// check extensions
///////////////
if (toLower (productVersion select 6) in ["linux", "osx"]) then {
INFO("Operating system does not support DLL file format");
private _platform = toLower (productVersion select 6);
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 {
{
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 (_versionEx == "") then {
private _extension = ".dll";
if ((_isWindows || _isLinux) && {_isClient || _isServer}) then {
private _versionEx = _extension callExtension "version";
if (_versionEx == "") then {
private _extensionFile = _extension;
if (productVersion select 7 == "x64") then {
_extensionFile = format ["%1_x64", _extensionFile];
};
if (productVersion select 7 == "x64") then {
_extension = "_x64.dll";
private _platformExt = [".dll", ".so"] select (_platform == "linux");
_extensionFile = format ["%1%2", _extensionFile, _platformExt];
private _errorMsg = format ["Extension %1 not found.", _extensionFile];
ERROR(_errorMsg);
if (hasInterface) then {
["[ACE] ERROR", _errorMsg, {findDisplay 46 closeDisplay 0}] call FUNC(errorMessage);
};
} else {
// Print the current extension version
INFO_2("Extension version: %1: %2",_extension,_versionEx);
};
if (productVersion select 6 == "Linux") then {
_extension = ".so";
};
private _errorMsg = format ["Extension %1%2 not found.", _x, _extension];
ERROR(_errorMsg);
if (hasInterface) then {
["[ACE] ERROR", _errorMsg, {findDisplay 46 closeDisplay 0}] call FUNC(errorMessage);
};
} else {
// Print the current extension version
INFO_2("Extension version: %1: %2",_x,_versionEx);
};
false
} count getArray (configFile >> "ACE_Extensions" >> "extensions");
} forEach ("true" configClasses (configFile >> "ACE_Extensions"));
};
///////////////

View File

@ -30,7 +30,7 @@ _target setVariable [QGVAR(owner), _unit, true];
// lock target object
if (_lockTarget) then {
private _canBeDisassembled = !([] isEqualTo getArray (_target call CBA_fnc_getObjectConfig >> "assembleInfo" >> "dissasembleTo"));
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 {

View File

@ -16,6 +16,7 @@
*/
params ["_state"];
TRACE_1("disableUserInput",_state);
if (_state) then {
disableSerialization;
@ -81,7 +82,7 @@ if (_state) then {
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 {
_key = 0;
};

View File

@ -13,11 +13,11 @@
* is the unit an EOD <BOOL>
*
* Example:
* isSpecialist = [player] call FUNC(isEOD);
* [player] call ace_common_fnc_isEOD
*
* Public: Yes
*/
params ["_unit"];
_unit getVariable ["ACE_isEOD", _unit getUnitTrait "explosiveSpecialist"] // return
(_unit getVariable ["ACE_isEOD", _unit getUnitTrait "explosiveSpecialist"]) in [1, true]

View File

@ -20,8 +20,9 @@
#define GROUP_SWITCH_ID QFUNC(loadPerson)
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
if (isNull _vehicle) then {
@ -30,6 +31,7 @@ if (isNull _vehicle) then {
if (!isNull _vehicle) then {
[_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;
};

View File

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

View File

@ -19,4 +19,8 @@
params ["_unit", ["_distance", 10]];
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

@ -16,7 +16,8 @@
* Public: Yes
*/
params ["_id", "_disable"];
params [["_id", "#", [""]], ["_disable", false, [false]]];
TRACE_2("setDisableUserInputStatus",_id,_disable);
if (isNil QGVAR(DISABLE_USER_INPUT_COLLECTION)) then {
GVAR(DISABLE_USER_INPUT_COLLECTION) = [];

View File

@ -11,7 +11,7 @@
* Items <ARRAY>
*
* Example:
* [_player] call ace_common_fnc_uniqueItems
* [player] call ace_common_fnc_uniqueItems
*
* Public: No
*/
@ -28,12 +28,10 @@ private _fnc_getItems = {
// Use cached items list if unit is ACE_player
if (_unit isEqualTo ACE_player) then {
private _items = GVAR(uniqueItemsCache);
if (isNil "_items") then {
_items = call _fnc_getItems;
GVAR(uniqueItemsCache) = _items;
if (isNil QGVAR(uniqueItemsCache)) then {
GVAR(uniqueItemsCache) = call _fnc_getItems;
};
+_items
+GVAR(uniqueItemsCache)
} else {
call _fnc_getItems;
};

View File

@ -15,18 +15,16 @@
* Public: No
*/
#define GROUP_SWITCH_ID QFUNC(loadPerson)
params ["_unit"];
TRACE_1("unloadPerson",_unit);
private _vehicle = vehicle _unit;
if (isNull _vehicle) exitWith {false};
if (_vehicle == _unit) 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

View File

@ -20,11 +20,19 @@
#define GROUP_SWITCH_ID QFUNC(loadPerson)
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
private _emptyPos = [_vehicle, (typeOf _unit), _unloader] call EFUNC(common,findUnloadPosition);
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 {
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;
[_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);
_unit action ["Eject", vehicle _unit];
[{
params ["_unit", "_emptyPos", "_resetUncon"];
if ((vehicle _unit) != _unit) then {
WARNING_2("Failed to unload in time [%1 - %2]",_unit, vehicle _unit);
};
params ["_unit", "_emptyPos"];
(alive _unit) && {(vehicle _unit) != _unit}
}, {
params ["_unit", "_emptyPos"];
TRACE_2("success",_unit,_emptyPos);
_unit setPosASL AGLToASL _emptyPos;
if (_resetUncon) then {
TRACE_1("resuming setUnconscious",_unit);
// This should reset the unit to an Unconscious animation
// Also has the hilarious effect of violently ragdolling the guy
_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, _emptyPos], 2, {
params ["_unit", "_emptyPos"];
if (!alive _unit) exitWith {};
WARNING_2("timeout %1->%2",_unit,vehicle _unit);
}] call CBA_fnc_waitUntilAndExecute;
[_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

View File

@ -20,7 +20,7 @@
* Example:
* ["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
* ["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
* ["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"
#define VERSION_CONFIG_COMMON VERSION_CONFIG;\
versionDesc = "ACE 3";\
versionAct = QUOTE(call COMPILE_FILE(init_versionTooltip))
#define DIG_SURFACE_BLACKLIST [ \
"concrete", "concrete_exp", "concrete_int", "int_concrete", "int_concrete_exp", \

View File

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

View File

@ -10,6 +10,8 @@
<Chinesesimp>通用</Chinesesimp>
<Korean>일반</Korean>
<Polish>Ogólny</Polish>
<Russian>Общий</Russian>
<Portuguese>Comum</Portuguese>
</Key>
<Key ID="STR_ACE_Common_ACETeam">
<English>ACE-Team</English>
@ -27,7 +29,7 @@
<Chinese>ACE-製作團隊</Chinese>
<Chinesesimp>ACE-制作团队</Chinesesimp>
</Key>
<Key ID="STR_ACE_Common_Advanced">
<Key ID="STR_ACE_Common_Advanced">
<English>Advanced</English>
<Russian>Усложненный</Russian>
<Polish>Zaawansowany</Polish>
@ -410,7 +412,7 @@
<Chinese>未知的</Chinese>
<Chinesesimp>未知的</Chinesesimp>
</Key>
<Key ID="STR_ACE_Common_Normal">
<Key ID="STR_ACE_Common_Normal">
<English>Normal</English>
<German>Normal</German>
<Italian>Normale</Italian>
@ -506,30 +508,39 @@
</Key>
<Key ID="STR_ACE_Common_CheckPBOsAction">
<English>Check PBO Action</English>
<German>PBO Überprüfung</German>
<Italian>Controlla Azioni PBO</Italian>
<Chinese>檢查PBO動作</Chinese>
<Chinesesimp>检查PBO动作</Chinesesimp>
<Japanese>PBO 検査の挙動</Japanese>
<Korean>PBO 검사</Korean>
<Polish>Sprawdź akcję PBO</Polish>
<Russian>Действие при проверке PBO</Russian>
<Portuguese>Ação de Checar PBO</Portuguese>
</Key>
<Key ID="STR_ACE_Common_CheckPBOsCheckAll">
<English>Check PBO All</English>
<German>Alle PBOs überprüfen</German>
<Italian>Controlla Tutti i PBO</Italian>
<Chinese>檢查所有PBO</Chinese>
<Chinesesimp>检查所有PBO</Chinesesimp>
<Japanese>PBO 全てを検査</Japanese>
<Korean>모든 PBO 검사</Korean>
<Polish>Sprawdź wszystkie PBO</Polish>
<Russian>Проверять все PBO</Russian>
<Portuguese>Checar Todos os PBOs</Portuguese>
</Key>
<Key ID="STR_ACE_Common_CheckPBOsWhitelist">
<English>Check PBO Whitelist</English>
<German>PBO Whitelist</German>
<Italian>Controlla Whitelist PBO</Italian>
<Chinese>檢查PBO白名單</Chinese>
<Chinesesimp>检查PBO白名单</Chinesesimp>
<Japanese>許可リスト内の PBO を検査</Japanese>
<Korean>검사 제외 PBO</Korean>
<Polish>Sprawdź białą listę PBO</Polish>
<Russian>Белый список для проверки PBO</Russian>
<Portuguese>Lista Branca de PBO</Portuguese>
</Key>
<Key ID="STR_ACE_Common_SettingFeedbackIconsName">
<English>Feedback icons</English>
@ -669,6 +680,7 @@
<Chinese>保持武器雷射/手電筒的狀態</Chinese>
<Chinesesimp>保持武器雷射/手电筒的状态</Chinesesimp>
<Polish>Trwały znacznik laserowy/latarka</Polish>
<Portuguese>Luz da lanterna/laser da arma persistente</Portuguese>
</Key>
<Key ID="STR_ACE_Common_SettingPersistentLaserDesc">
<English>Enable gunlight after weapon switch or vehicle enter/exit if it was previously enabled.</English>
@ -680,6 +692,7 @@
<Chinese>保存武器雷射/手電筒的開關狀態,使玩家切換武器或進出載具時能保持之前的的狀態</Chinese>
<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>
<Portuguese>Ativa a luz da arma ao trocar de arma, entrar/sair de um veículo. Caso tenha sido acesa anteriormente.</Portuguese>
</Key>
<Key ID="STR_ACE_Common_bananaDisplayName">
<English>Banana</English>
@ -998,10 +1011,14 @@
<Chinese>啟用</Chinese>
<Chinesesimp>启用</Chinesesimp>
</Key>
<Key ID="STR_ACE_Common_Always">
<Key ID="STR_ACE_Common_Always">
<English>Always</English>
<German>Immer</German>
<Japanese>常に</Japanese>
<Russian>Всегда</Russian>
<Portuguese>Sempre</Portuguese>
</Key>
<Key ID="STR_ACE_Common_Anywhere">
<Key ID="STR_ACE_Common_Anywhere">
<English>Anywhere</English>
<Russian>Где угодно</Russian>
<Polish>Wszędzie</Polish>
@ -1009,13 +1026,13 @@
<German>Überall</German>
<Czech>Kdekoliv</Czech>
<Portuguese>Qualquer lugar</Portuguese>
<French>PArtout</French>
<French>Partout</French>
<Hungarian>Akárhol</Hungarian>
<Italian>Ovunque</Italian>
<Japanese>どこでも</Japanese>
<Korean>어디서나</Korean>
</Key>
<Key ID="STR_ACE_Common_Basic">
<Key ID="STR_ACE_Common_Basic">
<English>Basic</English>
<Russian>Базовый</Russian>
<Polish>Podstawowy</Polish>
@ -1030,7 +1047,7 @@
<Korean>기본</Korean>
</Key>
<Key ID="STR_ACE_Common_Vehicle">
<English>Medical vehicles</English>
<English>Medical Vehicles</English>
<Russian>В медицинском транспорте</Russian>
<Polish>Pojazdy medyczne</Polish>
<Spanish>Vehiculos médicos</Spanish>
@ -1077,9 +1094,17 @@
</Key>
<Key ID="STR_ACE_Common_Confirm">
<English>Confirm</English>
<Japanese>確認</Japanese>
<German>Bestätigen</German>
<Russian>Подтвердить</Russian>
<Portuguese>Confirmar</Portuguese>
</Key>
<Key ID="STR_ACE_Common_Never">
<English>Never</English>
<Japanese>行わない</Japanese>
<German>Nie</German>
<Russian>Никогда</Russian>
<Portuguese>Nunca</Portuguese>
</Key>
<Key ID="STR_ACE_Common_VehiclesOnly">
<English>Vehicles only</English>
@ -1257,6 +1282,8 @@
<Japanese>音楽の音量低下を許可</Japanese>
<Italian>Permesso di abbassare la musica</Italian>
<Polish>Zezwól na przyciszanie muzyki</Polish>
<Russian>Разрешить приглушение музыки</Russian>
<Portuguese>Permite diminuir volume da música</Portuguese>
</Key>
<Key ID="STR_ACE_Common_AllowFadeMusicTooltip">
<English>Allow ACE scripts to turn down the music.</English>
@ -1267,22 +1294,62 @@
<Japanese>ACE スプリントへ音量低下を許可します。</Japanese>
<Italian>Permetti agli script di ACEdi abbassare la musica.</Italian>
<Polish>Zezwól skrypty ACE na przyciszanie muzyki.</Polish>
<Russian>Позволить скриптам ACE приглушать музыку</Russian>
<Portuguese>Permite que Scripts do ACE diminuam o volume da música.</Portuguese>
</Key>
<Key ID="STR_ACE_Common_FlagBlack">
<English>Flag (ACE - Black)</English>
<German>Flagge (Ace - Schwarz)</German>
<Chinesesimp>旗帜(ACE-黑色):</Chinesesimp>
<Chinese>旗幟(ACE-黑色)</Chinese>
<Italian>Bandiera (ACE - Nera)</Italian>
<Japanese>旗 (ACE - 黒)</Japanese>
<Polish>Flaga (ACE - Czarna)</Polish>
<Russian>Флаг (ACE - Черный)</Russian>
<Portuguese>Bandeira (ACE - Preto)</Portuguese>
</Key>
<Key ID="STR_ACE_Common_FlagWhite">
<English>Flag (ACE - White)</English>
<German>Flagge (Ace - Weiß)</German>
<Chinesesimp>旗帜(ACE-白色):</Chinesesimp>
<Chinese>旗幟(ACE-白色)</Chinese>
<Italian>Bandiera (ACE - Bianca)</Italian>
<Japanese>旗 (ACE - 白)</Japanese>
<Polish>Flaga (ACE - Biała)</Polish>
<Russian>Флаг (ACE - Белый)</Russian>
<Portuguese>Bandeira (ACE - Branco)</Portuguese>
</Key>
<Key ID="STR_ACE_Common_playerOnly">
<English>Players only</English>
<Russian>Игроков</Russian>
<Polish>Tylko dla graczy</Polish>
<Spanish>Solo jugadores</Spanish>
<German>Nur Spieler</German>
<Czech>Pouze hráči</Czech>
<Portuguese>Somente jogadores</Portuguese>
<French>Joueur uniquement</French>
<Hungarian>Csak játékosok</Hungarian>
<Italian>Solo giocatori</Italian>
<Japanese>プレイヤーのみ</Japanese>
<Korean>플레이어만</Korean>
<Chinesesimp>只限玩家</Chinesesimp>
<Chinese>只限玩家</Chinese>
</Key>
<Key ID="STR_ACE_Common_playersAndAI">
<English>Players and AI</English>
<Russian>Игроков и ботов</Russian>
<Polish>Gracze oraz AI</Polish>
<Spanish>Jugadores e IA</Spanish>
<German>Spieler und KI</German>
<Czech>Hráči a AI</Czech>
<Portuguese>Jogadores e IA</Portuguese>
<French>Joueurs et IA</French>
<Hungarian>Játékosok és AI</Hungarian>
<Italian>Giocatori ed IA</Italian>
<Japanese>プレイヤーと AI</Japanese>
<Korean>플레이어 및 인공지능</Korean>
<Chinesesimp>玩家与AI</Chinesesimp>
<Chinese>玩家與AI</Chinese>
</Key>
</Package>
</Project>

View File

@ -87,7 +87,7 @@ if (_amountOfMagazines > 0) exitWith {
playSound3D [_sound, objNull, false, (getPosASL _vehicle), 2, 1, 1300];
if (random 1 < 0.15) then {
[_vehicle, _ammo, _speed, random 1 < 0.15] call _spawnProjectile;
[_vehicle, _ammo, _speed, true] call _spawnProjectile;
};
};
if (toLower _simType == "shotgrenade") then {

View File

@ -11,12 +11,22 @@
<German>ACE Durchzündung</German>
<French>ACE Cook off</French>
<Polish>ACE Samozapłon</Polish>
<Russian>ACE Возгорание</Russian>
<Portuguese>ACE Cook off</Portuguese>
</Key>
<Key ID="STR_ACE_CookOff_enable_hd_name">
<English>Damage handling and turret effects</English>
<German>Schadensberechnung und Geschützturmeffekte</German>
<Japanese>損傷処理と砲塔の効果</Japanese>
<Russian>Обработка урона и эффектов срыва башни</Russian>
<Portuguese>Manipulação de dano e efeitos de torre</Portuguese>
</Key>
<Key ID="STR_ACE_CookOff_enable_hd_tooltip">
<English>Changes damage handling for cook off and turret explosion effects</English>
<German>Ändert die Schadensberechnung für die Durchzündung und die Explosionseffekte des Geschützturmes</German>
<Japanese>誘爆の損傷処理と砲塔の爆発効果を変更します。</Japanese>
<Russian>Изменяет обработку урона для возгорания и эффекта срыва башни</Russian>
<Portuguese>Modifica a manipulação de dano para o cozinhamento de munição e efeitos de explosão da torre</Portuguese>
</Key>
<Key ID="STR_ACE_CookOff_generic_turret_wreck">
<English>Wreck (Turret)</English>
@ -43,6 +53,8 @@
<Italian>Abilita esplosione cassa munizioni</Italian>
<Chinese>開啟彈藥箱殉爆效果</Chinese>
<Chinesesimp>开启弹药箱殉爆效果</Chinesesimp>
<Russian>Разрешить возгорание ящиков с боеприпасами</Russian>
<Portuguese>Permitir cozinhar caixas de munição</Portuguese>
</Key>
<Key ID="STR_ACE_CookOff_enableBoxCookoff_tooltip">
<English>Enables cooking off of ammo boxes.</English>
@ -54,6 +66,8 @@
<Italian>Abilita l'esplosione della cassa di munizioni. </Italian>
<Chinese>開啟彈藥箱殉爆效果</Chinese>
<Chinesesimp>开启弹药箱殉爆效果</Chinesesimp>
<Russian>Активирует возгорание ящиков с боеприпасами</Russian>
<Portuguese>Permitir que caixas de munição cozinhem.</Portuguese>
</Key>
<Key ID="STR_ACE_CookOff_enableAmmoCookoff_name">
<English>Enable Ammunition cook off</English>
@ -65,6 +79,8 @@
<Italian>Abilita Esplosione munizioni</Italian>
<Chinese>開啟彈藥殉爆效果</Chinese>
<Chinesesimp>开启弹药殉爆效果</Chinesesimp>
<Russian>Разрешить детонацию боекомплекта</Russian>
<Portuguese>Permitir cozinhar munição</Portuguese>
</Key>
<Key ID="STR_ACE_CookOff_enableAmmoCookoff_tooltip">
<English>Enables Ammunition cook off. Fires ammunition projectiles while vehicle is on fire and has ammunition.</English>
@ -76,6 +92,8 @@
<Chinese>開啟彈藥殉爆效果。當一台載有彈藥的載具起火時, 將會有殉爆的效果</Chinese>
<Chinesesimp>开启弹药殉爆效果。当一台载有弹药的载具起火时, 将会有殉爆的效果。</Chinesesimp>
<Korean>쿡오프 현상을 활성화 합니다. 이것은 탄약에 불이 붙어있는 동안 주변에 발사체를 발사합니다.</Korean>
<Russian>Активирует возгорание и детонацию боекомплекта в горящей технике</Russian>
<Portuguese>Permite que a munição cozinhe. Dispara projéteis de munição enquanto o veículo está em chamas e tem munição.</Portuguese>
</Key>
<Key ID="STR_ACE_CookOff_ammoCookoffDuration_name">
<English>Ammunition cook off duration</English>
@ -87,6 +105,8 @@
<Chinese>彈藥殉爆效果持續時間</Chinese>
<Chinesesimp>弹药殉爆效果持续时间</Chinesesimp>
<Korean>쿡오프 지속 시간</Korean>
<Russian>Длительность возгорания боеприпасов</Russian>
<Portuguese>Duração do cozinhamento de munição</Portuguese>
</Key>
<Key ID="STR_ACE_CookOff_ammoCookoffDuration_tooltip">
<English>Multiplier for how long cook off lasts [Setting to 0 will disable ammo cookoff]</English>
@ -98,6 +118,8 @@
<Chinese>設定彈藥殉爆效果會持續多久時間 [輸入0來關閉殉爆效果]</Chinese>
<Chinesesimp>设定弹药殉爆效果会持续多久时间 [输入0来关闭殉爆效果]</Chinesesimp>
<Korean>쿡오프 지속 시간의 배수 [0 이면 비활성]</Korean>
<Russian>Множитель длительности возгорания [0 - отключает возгорание боеприпасов]</Russian>
<Portuguese>Multiplicação da duração do cozinhamento [0 faz com que o cozinhamento seja desativado]</Portuguese>
</Key>
<Key ID="STR_ACE_CookOff_probabilityCoef_name">
<English>Cook-off probability coefficient</English>
@ -108,6 +130,8 @@
<Chinesesimp>殉爆发生机率系数</Chinesesimp>
<French>Coefficient de probabilité du cook off</French>
<Polish>Współczynnik prawdopodobieństwa samozapłonu</Polish>
<Russian>Коэффициент вероятности возгорания</Russian>
<Portuguese>Probabilidade de Cozinhar</Portuguese>
</Key>
<Key ID="STR_ACE_CookOff_probabilityCoef_tooltip">
<English>Multiplier for cook-off probability. Higher value results in higher cook-off probability</English>
@ -118,6 +142,8 @@
<Chinesesimp>调整殉爆发生机率系数。值越高代表越容易发生殉爆。</Chinesesimp>
<French>Multiplicateur pour la probabilité du cook off. Plus la valeur est élevée, plus la probabilité de cook off est haute.</French>
<Polish>Mnożnik prawdopodobieństwa samozapłonu. Większa wartość oznacza większe prawdopodobieństwo samozapłonu</Polish>
<Russian>Множитель коэффициента вероятности возгорания. Чем выше значение, тем выше вероятность.</Russian>
<Portuguese>Multiplicador para a chance de cozinhamento. Valores mais altos aumentam as chances de ocorrer.</Portuguese>
</Key>
</Package>
</Project>

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