mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Merge branch 'master' into pr/9234
This commit is contained in:
commit
1a876afe37
2
.github/CONTRIBUTING.md
vendored
2
.github/CONTRIBUTING.md
vendored
@ -36,7 +36,7 @@ We welcome anyone to contribute to this repository. Issues that we are actively
|
|||||||
|
|
||||||
When contributing to this repository, please first discuss the change you wish to make via issue or [Discord](https://acemod.org/discord) with the [ACE3 project maintainers](https://ace3.acemod.org/team.html) before making a change. This may not be necessary if you are contributing for something which has an existing issue in our repository already.
|
When contributing to this repository, please first discuss the change you wish to make via issue or [Discord](https://acemod.org/discord) with the [ACE3 project maintainers](https://ace3.acemod.org/team.html) before making a change. This may not be necessary if you are contributing for something which has an existing issue in our repository already.
|
||||||
|
|
||||||
1. Please make a pull request (PR) as early as possible. This lets use help you in the proces of developing it. When opening a work in progress pull request, mark your PR with a `WIP:` prefix.
|
1. Please make a pull request (PR) as early as possible. This lets use help you in the proces of developing it. When opening a work in progress pull request, use GitHub's draft feature. This will mark the PR as a work in progress and will prevent it from being merged until you mark it as ready for review.
|
||||||
2. Describe what this pull request will do and how it solves this in the description of your PR. A clear intent and description of the way the issue is resolved will help us to review the PR more efficiently.
|
2. Describe what this pull request will do and how it solves this in the description of your PR. A clear intent and description of the way the issue is resolved will help us to review the PR more efficiently.
|
||||||
3. Please follow our [Development Guidelines](https://ace3.acemod.org/wiki/development/).
|
3. Please follow our [Development Guidelines](https://ace3.acemod.org/wiki/development/).
|
||||||
|
|
||||||
|
6
.github/PULL_REQUEST_TEMPLATE.md
vendored
6
.github/PULL_REQUEST_TEMPLATE.md
vendored
@ -4,6 +4,6 @@
|
|||||||
|
|
||||||
### IMPORTANT
|
### IMPORTANT
|
||||||
|
|
||||||
- [ ] If the contribution affects [the documentation](https://github.com/acemod/ACE3/tree/master/docs), please include your changes in this pull request so the documentation will appear on the [website](https://ace3.acemod.org/).
|
- If the contribution affects [the documentation](https://github.com/acemod/ACE3/tree/master/docs), please include your changes in this pull request so the documentation will appear on the [website](https://ace3.acemod.org/).
|
||||||
- [ ] [Development Guidelines](https://ace3.acemod.org/wiki/development/) are read, understood and applied.
|
- [Development Guidelines](https://ace3.acemod.org/wiki/development/) are read, understood and applied.
|
||||||
- [ ] Title of this PR uses our standard template `Component - Add|Fix|Improve|Change|Make|Remove {changes}`.
|
- Title of this PR uses our standard template `Component - Add|Fix|Improve|Change|Make|Remove {changes}`.
|
||||||
|
6
.github/release-drafter.yml
vendored
6
.github/release-drafter.yml
vendored
@ -21,6 +21,10 @@ categories:
|
|||||||
labels:
|
labels:
|
||||||
- 'kind/cleanup'
|
- 'kind/cleanup'
|
||||||
- 'area/compatibility'
|
- 'area/compatibility'
|
||||||
|
- 'kind/change'
|
||||||
|
- title: '**SETTINGS:**'
|
||||||
|
labels:
|
||||||
|
- 'kind/setting'
|
||||||
- title: '**TRANSLATIONS:**'
|
- title: '**TRANSLATIONS:**'
|
||||||
labels:
|
labels:
|
||||||
- 'area/translations'
|
- 'area/translations'
|
||||||
@ -39,5 +43,5 @@ template: |
|
|||||||
|
|
||||||
replacers:
|
replacers:
|
||||||
# Category titles
|
# Category titles
|
||||||
- search: '/\#\# (\*\*(ADDED|FIXED|IMPROVED|CHANGED|TRANSLATIONS):\*\*)/g'
|
- search: '/\#\# (\*\*(ADDED|FIXED|IMPROVED|CHANGED|SETTINGS|TRANSLATIONS):\*\*)/g'
|
||||||
replace: '$1'
|
replace: '$1'
|
||||||
|
8
.github/workflows/arma.yml
vendored
8
.github/workflows/arma.yml
vendored
@ -11,7 +11,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout the source code
|
- name: Checkout the source code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: Validate SQF
|
- name: Validate SQF
|
||||||
run: python3 tools/sqf_validator.py
|
run: python3 tools/sqf_validator.py
|
||||||
- name: Validate Config
|
- name: Validate Config
|
||||||
@ -22,6 +22,8 @@ jobs:
|
|||||||
run: python3 tools/check_strings.py
|
run: python3 tools/check_strings.py
|
||||||
- name: Check for BOM
|
- name: Check for BOM
|
||||||
uses: arma-actions/bom-check@master
|
uses: arma-actions/bom-check@master
|
||||||
|
with:
|
||||||
|
path: 'addons'
|
||||||
- name: Validate function headers
|
- name: Validate function headers
|
||||||
run: python3 docs/tools/document_functions.py --debug
|
run: python3 docs/tools/document_functions.py --debug
|
||||||
|
|
||||||
@ -29,7 +31,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout the source code
|
- name: Checkout the source code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: Lint (sqflint)
|
- name: Lint (sqflint)
|
||||||
uses: arma-actions/sqflint@master
|
uses: arma-actions/sqflint@master
|
||||||
continue-on-error: true # No failure due to many false-positives
|
continue-on-error: true # No failure due to many false-positives
|
||||||
@ -38,7 +40,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout the source code
|
- name: Checkout the source code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: Setup HEMTT
|
- name: Setup HEMTT
|
||||||
uses: arma-actions/hemtt@v1
|
uses: arma-actions/hemtt@v1
|
||||||
- name: Run HEMTT build
|
- name: Run HEMTT build
|
||||||
|
4
.github/workflows/documentation.yml
vendored
4
.github/workflows/documentation.yml
vendored
@ -15,7 +15,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout the source code
|
- name: Checkout the source code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: Install Python packages
|
- name: Install Python packages
|
||||||
run: |
|
run: |
|
||||||
pip3 install wheel
|
pip3 install wheel
|
||||||
@ -33,7 +33,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Extract Dependencies
|
- name: Extract Dependencies
|
||||||
run: python3 tools/extract_dependencies.py --markdown
|
run: python3 tools/extract_dependencies.py --markdown
|
||||||
|
2
.github/workflows/extensions.yml
vendored
2
.github/workflows/extensions.yml
vendored
@ -14,7 +14,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout the source code
|
- name: Checkout the source code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
- name: Build
|
- name: Build
|
||||||
shell: cmd
|
shell: cmd
|
||||||
run: |
|
run: |
|
||||||
|
44
.github/workflows/hemtt.yml
vendored
Normal file
44
.github/workflows/hemtt.yml
vendored
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
name: HEMTT
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
pull_request_target:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
windows:
|
||||||
|
runs-on: windows-latest
|
||||||
|
steps:
|
||||||
|
- name: Install Arma 3 Tools
|
||||||
|
uses: arma-actions/arma3-tools@master
|
||||||
|
with:
|
||||||
|
toolsUrl: ${{ secrets.ARMA3_TOOLS_URL }}
|
||||||
|
- name: Checkout the source code
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Setup HEMTT
|
||||||
|
uses: arma-actions/hemtt@v1
|
||||||
|
- name: Checkout pull request
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
if: ${{ github.event_name == 'pull_request_target' }}
|
||||||
|
with:
|
||||||
|
path: pullrequest
|
||||||
|
ref: 'refs/pull/${{ github.event.number }}/merge'
|
||||||
|
- name: Replace addons with pull request addons
|
||||||
|
if: ${{ github.event_name == 'pull_request_target' }}
|
||||||
|
run: |
|
||||||
|
rm -r addons\
|
||||||
|
rm -r optionals\
|
||||||
|
rm -r include\
|
||||||
|
xcopy /e /h /q pullrequest\addons addons\
|
||||||
|
xcopy /e /h /q pullrequest\optionals optionals\
|
||||||
|
xcopy /e /h /q pullrequest\include include\
|
||||||
|
- name: Run HEMTT build
|
||||||
|
run: hemtt build
|
||||||
|
- name: Rename build folder
|
||||||
|
run: mv .hemttout/build .hemttout/@ace
|
||||||
|
- name: Upload Artifact
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: ace3-${{ github.sha }}
|
||||||
|
path: .hemttout/@*
|
9
.github/workflows/pboproject.yml
vendored
9
.github/workflows/pboproject.yml
vendored
@ -25,7 +25,7 @@ jobs:
|
|||||||
Invoke-WebRequest "$env:RHSUSF_URL" -OutFile rhsusf.zip
|
Invoke-WebRequest "$env:RHSUSF_URL" -OutFile rhsusf.zip
|
||||||
$files = @("arma3.zip", "rhsafrf.zip", "rhsgref.zip", "rhssaf.zip", "rhsusf.zip")
|
$files = @("arma3.zip", "rhsafrf.zip", "rhsgref.zip", "rhssaf.zip", "rhsusf.zip")
|
||||||
ForEach ($file in $files) {
|
ForEach ($file in $files) {
|
||||||
Extract-7Zip -Path $file -DestinationPath .
|
Expand-7ZipArchive -Path $file -DestinationPath .
|
||||||
Remove-Item $file
|
Remove-Item $file
|
||||||
}
|
}
|
||||||
env:
|
env:
|
||||||
@ -35,18 +35,18 @@ jobs:
|
|||||||
RHSSAF_URL: ${{ secrets.RHSSAF_URL }}
|
RHSSAF_URL: ${{ secrets.RHSSAF_URL }}
|
||||||
RHSUSF_URL: ${{ secrets.RHSUSF_URL }}
|
RHSUSF_URL: ${{ secrets.RHSUSF_URL }}
|
||||||
- name: Checkout CBA A3
|
- name: Checkout CBA A3
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
path: x\cba
|
path: x\cba
|
||||||
ref: master
|
ref: master
|
||||||
repository: CBATeam/CBA_A3.git
|
repository: CBATeam/CBA_A3.git
|
||||||
- name: Checkout ACE3
|
- name: Checkout ACE3
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
path: z\ace
|
path: z\ace
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Checkout pull request
|
- name: Checkout pull request
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
if: ${{ github.event_name == 'pull_request_target' }}
|
if: ${{ github.event_name == 'pull_request_target' }}
|
||||||
with:
|
with:
|
||||||
path: pullrequest
|
path: pullrequest
|
||||||
@ -66,6 +66,7 @@ jobs:
|
|||||||
pboproject -P
|
pboproject -P
|
||||||
xcopy /e /h /q z\ace\tools\pDummies\gm gm\
|
xcopy /e /h /q z\ace\tools\pDummies\gm gm\
|
||||||
xcopy /e /h /q z\ace\tools\pDummies\vn vn\
|
xcopy /e /h /q z\ace\tools\pDummies\vn vn\
|
||||||
|
xcopy /e /h /q z\ace\tools\pDummies\WW2 WW2\
|
||||||
- name: Build
|
- name: Build
|
||||||
run: py P:\z\ace\tools\make.py ci
|
run: py P:\z\ace\tools\make.py ci
|
||||||
env:
|
env:
|
||||||
|
@ -18,21 +18,53 @@ include = [
|
|||||||
[version]
|
[version]
|
||||||
git_hash = 0
|
git_hash = 0
|
||||||
|
|
||||||
|
# Unused in HEMTT v1.11 or higher, kept for backwards compatibility
|
||||||
[asc]
|
[asc]
|
||||||
enabled = true
|
enabled = true
|
||||||
exclude = [
|
exclude = [
|
||||||
"/initsettings.sqf",
|
".inc.sqf",
|
||||||
"/initkeybinds.sqf",
|
"/dev/",
|
||||||
"/xeh_prep.sqf",
|
|
||||||
"dev",
|
|
||||||
"medical_ai/statemachine.sqf",
|
|
||||||
"common/functions/fnc_dummy.sqf",
|
"common/functions/fnc_dummy.sqf",
|
||||||
|
"zeus/functions/fnc_zeusAttributes.sqf",
|
||||||
]
|
]
|
||||||
|
|
||||||
[hemtt.config]
|
[hemtt.config]
|
||||||
preset = "Hemtt"
|
preset = "Hemtt"
|
||||||
|
|
||||||
[hemtt.launch]
|
[hemtt.launch]
|
||||||
|
workshop = [
|
||||||
|
"450814997", # CBA_A3
|
||||||
|
]
|
||||||
|
|
||||||
|
[hemtt.launch.spe]
|
||||||
|
workshop = [
|
||||||
|
"450814997", # CBA_A3
|
||||||
|
]
|
||||||
|
dlc = [
|
||||||
|
"spe"
|
||||||
|
]
|
||||||
|
|
||||||
|
[hemtt.launch.vn]
|
||||||
workshop = [
|
workshop = [
|
||||||
"450814997", # CBA_A3's Workshop ID
|
"450814997", # CBA_A3's Workshop ID
|
||||||
]
|
]
|
||||||
|
dlc = [
|
||||||
|
"S.O.G. Prairie Fire",
|
||||||
|
]
|
||||||
|
|
||||||
|
[hemtt.launch.ws]
|
||||||
|
workshop = [
|
||||||
|
"450814997", # CBA_A3's Workshop ID
|
||||||
|
]
|
||||||
|
dlc = [
|
||||||
|
"Western Sahara",
|
||||||
|
]
|
||||||
|
|
||||||
|
[hemtt.launch.rhs]
|
||||||
|
workshop = [
|
||||||
|
"450814997", # CBA_A3's Workshop ID
|
||||||
|
"843425103", # RHS AFRF Workshop ID
|
||||||
|
"843577117", # RHS USAF Workshop ID
|
||||||
|
"843593391", # RHS GREF Workshop ID
|
||||||
|
"843632231", # RHS SAF Workshop ID
|
||||||
|
]
|
||||||
|
13
AUTHORS.txt
13
AUTHORS.txt
@ -10,7 +10,7 @@ Brett Mayson
|
|||||||
bux578 <github@jonathandavid.de>
|
bux578 <github@jonathandavid.de>
|
||||||
commy2
|
commy2
|
||||||
Dahlgren
|
Dahlgren
|
||||||
Dani (TCVM) <baileydanyluk@gmail.com>
|
Drofseh <drofseh.arma@gmail.com>
|
||||||
esteldunedain <nicolas.d.badano@gmail.com>
|
esteldunedain <nicolas.d.badano@gmail.com>
|
||||||
Felix Wiegand <koffeinflummi@gmail.com>
|
Felix Wiegand <koffeinflummi@gmail.com>
|
||||||
Garth "L-H" de Wet <garthofhearts@gmail.com>
|
Garth "L-H" de Wet <garthofhearts@gmail.com>
|
||||||
@ -18,14 +18,17 @@ Giallustio
|
|||||||
Glowbal
|
Glowbal
|
||||||
Grim
|
Grim
|
||||||
Janus
|
Janus
|
||||||
|
johnb43
|
||||||
jokoho482 <jokoho482@gmail.com>
|
jokoho482 <jokoho482@gmail.com>
|
||||||
Jonpas <jonpas33@gmail.com>
|
Jonpas <jonpas33@gmail.com>
|
||||||
Kieran
|
Kieran
|
||||||
|
kymckay
|
||||||
mharis001 <mhariszakar@gmail.com>
|
mharis001 <mhariszakar@gmail.com>
|
||||||
|
MikeMF
|
||||||
NouberNou
|
NouberNou
|
||||||
PabstMirror <pabstmirror@gmail.com>
|
PabstMirror <pabstmirror@gmail.com>
|
||||||
Ruthberg <ulteq@web.de>
|
Ruthberg <ulteq@web.de>
|
||||||
SilentSpike <SilentSpike100@gmail.com>
|
tcvm <baileydanyluk@gmail.com>
|
||||||
tpM
|
tpM
|
||||||
veteran29
|
veteran29
|
||||||
ViperMaul
|
ViperMaul
|
||||||
@ -44,6 +47,7 @@ aeroson
|
|||||||
Aggr094 <bastards4glory@gmail.com>
|
Aggr094 <bastards4glory@gmail.com>
|
||||||
alef <alefor@gmail.com>
|
alef <alefor@gmail.com>
|
||||||
Aleksey EpMAK Yermakov <epmak777@gmail.com>
|
Aleksey EpMAK Yermakov <epmak777@gmail.com>
|
||||||
|
AleM
|
||||||
Alganthe <alganthe@live.fr>
|
Alganthe <alganthe@live.fr>
|
||||||
Andrea "AtixNeon" Verano <veranoandrea88@gmail.com>
|
Andrea "AtixNeon" Verano <veranoandrea88@gmail.com>
|
||||||
Anthariel <Contact@storm-simulation.com>
|
Anthariel <Contact@storm-simulation.com>
|
||||||
@ -78,7 +82,6 @@ diwako
|
|||||||
dixon13 <dixonbegay@gmail.com>
|
dixon13 <dixonbegay@gmail.com>
|
||||||
Drift_91
|
Drift_91
|
||||||
Drill <drill87@gmail.com>
|
Drill <drill87@gmail.com>
|
||||||
Drofseh <drofseh@gmail.com>
|
|
||||||
Dslyecxi <dslyecxi@gmail.com>
|
Dslyecxi <dslyecxi@gmail.com>
|
||||||
Dudakov aka [OMCB]Kaban <dudakov.s@gmail.com>
|
Dudakov aka [OMCB]Kaban <dudakov.s@gmail.com>
|
||||||
Eclipser <jms@modeemi.fi>
|
Eclipser <jms@modeemi.fi>
|
||||||
@ -112,7 +115,9 @@ havena <silveredenis@gmail.com>
|
|||||||
Hawkins
|
Hawkins
|
||||||
Head <brobergsebastian@gmail.com>
|
Head <brobergsebastian@gmail.com>
|
||||||
Hybrid V
|
Hybrid V
|
||||||
|
Hypoxic <martini_a@outlook.com>
|
||||||
JasperRab <jasper@jasperrab.eu>
|
JasperRab <jasper@jasperrab.eu>
|
||||||
|
JDT
|
||||||
john681611 <john681611@hotmail.com>
|
john681611 <john681611@hotmail.com>
|
||||||
JoramD
|
JoramD
|
||||||
Karneck <dschultz26@hotmail.com>
|
Karneck <dschultz26@hotmail.com>
|
||||||
@ -120,6 +125,7 @@ Kavinsky <nmunozfernandez@gmail.com>
|
|||||||
Keithen <Keithen.Neu@gmail.com>
|
Keithen <Keithen.Neu@gmail.com>
|
||||||
Kllrt <kllrtik@gmail.com>
|
Kllrt <kllrtik@gmail.com>
|
||||||
KokaKolaA3
|
KokaKolaA3
|
||||||
|
Krzyciu
|
||||||
legman <juicemelon@msn.com>
|
legman <juicemelon@msn.com>
|
||||||
Legolasindar "Viper" <legolasindar@gmail.com>
|
Legolasindar "Viper" <legolasindar@gmail.com>
|
||||||
licht-im-Norden87 <lichtimnorden87@gmail.com>
|
licht-im-Norden87 <lichtimnorden87@gmail.com>
|
||||||
@ -174,7 +180,6 @@ Toaster <jonathan.pereira@gmail.com>
|
|||||||
Tonic
|
Tonic
|
||||||
Tourorist <tourorist@gmail.com>
|
Tourorist <tourorist@gmail.com>
|
||||||
Tuupertunut
|
Tuupertunut
|
||||||
TyroneMF <TyroneMF@hotmail.com>
|
|
||||||
Valentin Torikian <valentin.torikian@gmail.com>
|
Valentin Torikian <valentin.torikian@gmail.com>
|
||||||
voiper
|
voiper
|
||||||
VyMajoris(W-Cephei)<vycanismajoriscsa@gmail.com>
|
VyMajoris(W-Cephei)<vycanismajoriscsa@gmail.com>
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 133 KiB |
12
README.md
12
README.md
@ -1,10 +1,11 @@
|
|||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="https://github.com/acemod/ACE3/raw/master/extras/assets/logo/black/ACE3-Logo.jpg" width="480">
|
<img src="https://github.com/acemod/ACE3/raw/master/extras/assets/logo/black/ACE3-Logo.png#gh-light-mode-only" width="480">
|
||||||
|
<img src="https://github.com/acemod/ACE3/raw/master/extras/assets/logo/white/ACE3-Logo.png#gh-dark-mode-only" width="480">
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://github.com/acemod/ACE3/releases/latest">
|
<a href="https://github.com/acemod/ACE3/releases/latest">
|
||||||
<img src="https://img.shields.io/badge/Version-3.15.2-blue.svg?style=flat-square" alt="ACE3 Version">
|
<img src="https://img.shields.io/badge/Version-3.16.1-blue.svg?style=flat-square" alt="ACE3 Version">
|
||||||
</a>
|
</a>
|
||||||
<a href="https://github.com/acemod/ACE3/issues">
|
<a href="https://github.com/acemod/ACE3/issues">
|
||||||
<img src="https://img.shields.io/github/issues-raw/acemod/ACE3.svg?style=flat-square&label=Issues" alt="ACE3 Issues">
|
<img src="https://img.shields.io/github/issues-raw/acemod/ACE3.svg?style=flat-square&label=Issues" alt="ACE3 Issues">
|
||||||
@ -21,9 +22,6 @@
|
|||||||
<a href="https://acemod.org/discord">
|
<a href="https://acemod.org/discord">
|
||||||
<img src="https://img.shields.io/badge/Discord-Join-darkviolet.svg?style=flat-square" alt="ACE3 Discord">
|
<img src="https://img.shields.io/badge/Discord-Join-darkviolet.svg?style=flat-square" alt="ACE3 Discord">
|
||||||
</a>
|
</a>
|
||||||
<a href="https://circleci.com/gh/acemod/ACE3">
|
|
||||||
<img src="https://circleci.com/gh/acemod/ACE3.svg?style=svg" alt="ACE3 Build Status">
|
|
||||||
</a>
|
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
@ -97,9 +95,7 @@ Please, use our [Issue Tracker](https://github.com/acemod/ACE3/issues) to report
|
|||||||
|
|
||||||
### Testing & building
|
### Testing & building
|
||||||
|
|
||||||
To help us test the latest development changes, download our master branch ([directly](https://github.com/acemod/ACE3/archive/master.zip), or [with git](https://help.github.com/articles/fetching-a-remote/)), then assemble a test build:
|
To help us test the latest development changes, download the [artifact](https://github.com/acemod/ACE3/actions/workflows/arma.yml) of the branch you'd like to test or subscribe to "Anrop ACE3 Master" on the workshop to test `master` branch. Alternatively [build your own version](https://ace3.acemod.org/wiki/development/setting-up-the-development-environment.html).
|
||||||
|
|
||||||
- [Setting up the development environment](https://ace3.acemod.org/wiki/development/setting-up-the-development-environment.html) – step-by-step instructions on how to properly setup and build a version of ACE3 for testing purposes.
|
|
||||||
|
|
||||||
### Get in touch
|
### Get in touch
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
|
|
||||||
#include "initKeybinds.sqf"
|
#include "initKeybinds.inc.sqf"
|
||||||
|
|
||||||
GVAR(currentbulletID) = -1;
|
GVAR(currentbulletID) = -1;
|
||||||
|
|
||||||
|
@ -6,6 +6,6 @@ PREP_RECOMPILE_START;
|
|||||||
#include "XEH_PREP.hpp"
|
#include "XEH_PREP.hpp"
|
||||||
PREP_RECOMPILE_END;
|
PREP_RECOMPILE_END;
|
||||||
|
|
||||||
#include "initSettings.sqf"
|
#include "initSettings.inc.sqf"
|
||||||
|
|
||||||
ADDON = true;
|
ADDON = true;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: Ruthberg
|
* Author: Ruthberg
|
||||||
*
|
*
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: Ruthberg
|
* Author: Ruthberg
|
||||||
*
|
*
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: Ruthberg, MikeMatrix, joko // Jonas
|
* Author: Ruthberg, MikeMatrix, joko // Jonas
|
||||||
*
|
*
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: Ruthberg
|
* Author: Ruthberg
|
||||||
*
|
*
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: Ruthberg
|
* Author: Ruthberg
|
||||||
*
|
*
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#define DEBUG_MODE_FULL
|
#define DEBUG_MODE_FULL
|
||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: esteldunedain
|
* Author: esteldunedain
|
||||||
*
|
*
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: Ruthberg
|
* Author: Ruthberg
|
||||||
*
|
*
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: Glowbal, Ruthberg, joko // Jonas
|
* Author: Glowbal, Ruthberg, joko // Jonas
|
||||||
* Handle the PFH for Bullets
|
* Handle the PFH for Bullets
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: Glowbal, Ruthberg
|
* Author: Glowbal, Ruthberg
|
||||||
*
|
*
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: Glowbal, Ruthberg
|
* Author: Glowbal, Ruthberg
|
||||||
* Module for adjusting the advanced ballistics settings
|
* Module for adjusting the advanced ballistics settings
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: Ruthberg
|
* Author: Ruthberg
|
||||||
* Initializes the advanced ballistics extension with terrain data
|
* Initializes the advanced ballistics extension with terrain data
|
||||||
@ -19,7 +19,7 @@ if (!hasInterface) exitWith {};
|
|||||||
if (!GVAR(enabled)) exitWith {};
|
if (!GVAR(enabled)) exitWith {};
|
||||||
|
|
||||||
private _initStartTime = diag_tickTime;
|
private _initStartTime = diag_tickTime;
|
||||||
private _mapSize = getNumber (configFile >> "CfgWorlds" >> worldName >> "MapSize");
|
private _mapSize = worldSize;
|
||||||
|
|
||||||
if (("ace_advanced_ballistics" callExtension format["init:%1:%2", worldName, _mapSize]) == "Terrain already initialized") exitWith {
|
if (("ace_advanced_ballistics" callExtension format["init:%1:%2", worldName, _mapSize]) == "Terrain already initialized") exitWith {
|
||||||
INFO_1("Terrain already initialized [world: %1]", worldName);
|
INFO_1("Terrain already initialized [world: %1]", worldName);
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: Ruthberg
|
* Author: Ruthberg
|
||||||
*
|
*
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: Ruthberg
|
* Author: Ruthberg
|
||||||
*
|
*
|
||||||
|
@ -1 +0,0 @@
|
|||||||
#include "\z\ace\addons\advanced_ballistics\script_component.hpp"
|
|
@ -4,7 +4,7 @@
|
|||||||
<Key ID="STR_ACE_Advanced_Ballistics_WindInfoKey">
|
<Key ID="STR_ACE_Advanced_Ballistics_WindInfoKey">
|
||||||
<English>Show Wind Info</English>
|
<English>Show Wind Info</English>
|
||||||
<Polish>Pokaż inf. o wietrze</Polish>
|
<Polish>Pokaż inf. o wietrze</Polish>
|
||||||
<Italian>Mostra indicazioni del vento</Italian>
|
<Italian>Mostra indicazioni vento</Italian>
|
||||||
<Russian>Показать информацию о ветре</Russian>
|
<Russian>Показать информацию о ветре</Russian>
|
||||||
<French>Afficher les infos sur le vent</French>
|
<French>Afficher les infos sur le vent</French>
|
||||||
<Spanish>Mostrar información del viento</Spanish>
|
<Spanish>Mostrar información del viento</Spanish>
|
||||||
@ -46,7 +46,7 @@
|
|||||||
<Hungarian>Fejlett ballisztika</Hungarian>
|
<Hungarian>Fejlett ballisztika</Hungarian>
|
||||||
<Russian>Продвинутая баллистика</Russian>
|
<Russian>Продвинутая баллистика</Russian>
|
||||||
<Italian>Balistica Avanzata</Italian>
|
<Italian>Balistica Avanzata</Italian>
|
||||||
<Japanese>アドバンスド バリスティックス</Japanese>
|
<Japanese>アドバンスド弾道計算</Japanese>
|
||||||
<Korean>고급 탄도학</Korean>
|
<Korean>고급 탄도학</Korean>
|
||||||
<Chinese>先進彈道系統</Chinese>
|
<Chinese>先進彈道系統</Chinese>
|
||||||
<Chinesesimp>进阶弹道系统</Chinesesimp>
|
<Chinesesimp>进阶弹道系统</Chinesesimp>
|
||||||
@ -63,7 +63,7 @@
|
|||||||
<Hungarian>Fejlett ballisztika</Hungarian>
|
<Hungarian>Fejlett ballisztika</Hungarian>
|
||||||
<Russian>Продвинутая баллистика</Russian>
|
<Russian>Продвинутая баллистика</Russian>
|
||||||
<Italian>Balistica Avanzata</Italian>
|
<Italian>Balistica Avanzata</Italian>
|
||||||
<Japanese>アドバンスド バリスティックスを有効化</Japanese>
|
<Japanese>アドバンスド弾道計算を有効化</Japanese>
|
||||||
<Korean>고급 탄도학</Korean>
|
<Korean>고급 탄도학</Korean>
|
||||||
<Chinese>先進彈道系統</Chinese>
|
<Chinese>先進彈道系統</Chinese>
|
||||||
<Chinesesimp>进阶弹道系统</Chinesesimp>
|
<Chinesesimp>进阶弹道系统</Chinesesimp>
|
||||||
@ -80,7 +80,7 @@
|
|||||||
<Hungarian>Engedélyezi a fejlett ballisztikát</Hungarian>
|
<Hungarian>Engedélyezi a fejlett ballisztikát</Hungarian>
|
||||||
<Russian>Включает продвинутую баллистику</Russian>
|
<Russian>Включает продвинутую баллистику</Russian>
|
||||||
<Italian>Abilita Balistica Avanzata</Italian>
|
<Italian>Abilita Balistica Avanzata</Italian>
|
||||||
<Japanese>アドバンスド バリスティックスを有効化します。</Japanese>
|
<Japanese>アドバンスド弾道計算は高度な弾道計算処理を有効化します。</Japanese>
|
||||||
<Korean>고급 탄도학을 적용합니다</Korean>
|
<Korean>고급 탄도학을 적용합니다</Korean>
|
||||||
<Chinese>啟用先進彈道系統</Chinese>
|
<Chinese>啟用先進彈道系統</Chinese>
|
||||||
<Chinesesimp>启用进阶弹道系统</Chinesesimp>
|
<Chinesesimp>启用进阶弹道系统</Chinesesimp>
|
||||||
@ -106,8 +106,8 @@
|
|||||||
<English>Simulates slight variations in muzzle velocity between each shot</English>
|
<English>Simulates slight variations in muzzle velocity between each shot</English>
|
||||||
<Spanish>Simula variaciones ligeras de velocidad entre cada disparo</Spanish>
|
<Spanish>Simula variaciones ligeras de velocidad entre cada disparo</Spanish>
|
||||||
<German>Simuliert leichte Variationen der Mündungsgeschwindigkeit zwischen jedem Schuss.</German>
|
<German>Simuliert leichte Variationen der Mündungsgeschwindigkeit zwischen jedem Schuss.</German>
|
||||||
<Japanese>発射毎の銃口初速の変動をシミュレートします。</Japanese>
|
<Japanese>各発射毎の銃口初速のわずかな変動をシミュレートします。</Japanese>
|
||||||
<Italian>Simula lievi variazioni della velocità della volata tra un colpo e l'altro</Italian>
|
<Italian>Simula piccole variazioni della velocità alla volata tra ogni colpo.</Italian>
|
||||||
<Korean>각 사격 사이에 총구속도 변화를 시뮬레이션 합니다.</Korean>
|
<Korean>각 사격 사이에 총구속도 변화를 시뮬레이션 합니다.</Korean>
|
||||||
<Chinese>模擬每發子彈的槍口初速都略有不同</Chinese>
|
<Chinese>模擬每發子彈的槍口初速都略有不同</Chinese>
|
||||||
<Chinesesimp>模拟每发子弹的枪口初速都略有不同</Chinesesimp>
|
<Chinesesimp>模拟每发子弹的枪口初速都略有不同</Chinesesimp>
|
||||||
@ -128,8 +128,8 @@
|
|||||||
<French>Activer la simulation de la température</French>
|
<French>Activer la simulation de la température</French>
|
||||||
<Hungarian>Lőszer-hő szimuláció engedélyezése</Hungarian>
|
<Hungarian>Lőszer-hő szimuláció engedélyezése</Hungarian>
|
||||||
<Russian>Симуляция температуры для боеприпасов</Russian>
|
<Russian>Симуляция температуры для боеприпасов</Russian>
|
||||||
<Italian>Abilita simulazione della temperatura delle munizioni</Italian>
|
<Italian>Abilita simulazione temperatura munizioni</Italian>
|
||||||
<Japanese>弾薬温度のシミュレーションを有効化</Japanese>
|
<Japanese>弾薬温度シミュレーションを有効化</Japanese>
|
||||||
<Korean>탄약 온도 구현 적용</Korean>
|
<Korean>탄약 온도 구현 적용</Korean>
|
||||||
<Chinese>啟用彈藥溫度模擬系統</Chinese>
|
<Chinese>啟用彈藥溫度模擬系統</Chinese>
|
||||||
<Chinesesimp>启用弹药温度模拟系统</Chinesesimp>
|
<Chinesesimp>启用弹药温度模拟系统</Chinesesimp>
|
||||||
@ -145,7 +145,7 @@
|
|||||||
<French>La vitesse initiale varie en fonction de la température des munitions.</French>
|
<French>La vitesse initiale varie en fonction de la température des munitions.</French>
|
||||||
<Hungarian>A kezdősebesség a lőszer hőmérsékletétől függően változó</Hungarian>
|
<Hungarian>A kezdősebesség a lőszer hőmérsékletétől függően változó</Hungarian>
|
||||||
<Russian>Начальная скорость пули зависит от температуры</Russian>
|
<Russian>Начальная скорость пули зависит от температуры</Russian>
|
||||||
<Italian>La velocità dello sparo varia a seconda della temperatura delle munizioni</Italian>
|
<Italian>La velocità alla volata varia a seconda della temperatura delle munizioni.</Italian>
|
||||||
<Japanese>弾薬の温度により銃口初速を変動させます。</Japanese>
|
<Japanese>弾薬の温度により銃口初速を変動させます。</Japanese>
|
||||||
<Korean>탄약 온도에 비례해 총구 속도가 달라집니다</Korean>
|
<Korean>탄약 온도에 비례해 총구 속도가 달라집니다</Korean>
|
||||||
<Chinese>子彈初速將隨彈藥溫度而有所變化</Chinese>
|
<Chinese>子彈初速將隨彈藥溫度而有所變化</Chinese>
|
||||||
@ -162,8 +162,8 @@
|
|||||||
<French>Activer la simulation de la longueur de canon</French>
|
<French>Activer la simulation de la longueur de canon</French>
|
||||||
<Hungarian>Csőhossz-szimuláció engedélyezése</Hungarian>
|
<Hungarian>Csőhossz-szimuláció engedélyezése</Hungarian>
|
||||||
<Russian>Симуляция длины ствола</Russian>
|
<Russian>Симуляция длины ствола</Russian>
|
||||||
<Italian>Abilita simulazione della lunghezza della canna</Italian>
|
<Italian>Abilita simulazione lunghezza canna</Italian>
|
||||||
<Japanese>銃身長のシミュレーションを有効化</Japanese>
|
<Japanese>銃身長シミュレーションを有効化</Japanese>
|
||||||
<Korean>총열 길이 구현 적용</Korean>
|
<Korean>총열 길이 구현 적용</Korean>
|
||||||
<Chinese>啟用槍管長度模擬系統</Chinese>
|
<Chinese>啟用槍管長度模擬系統</Chinese>
|
||||||
<Chinesesimp>启用枪管长度模拟系统</Chinesesimp>
|
<Chinesesimp>启用枪管长度模拟系统</Chinesesimp>
|
||||||
@ -179,7 +179,7 @@
|
|||||||
<French>La vitesse initiale varie en fonction de la longueur du canon.</French>
|
<French>La vitesse initiale varie en fonction de la longueur du canon.</French>
|
||||||
<Hungarian>A kezdősebesség a cső hosszától függően változó</Hungarian>
|
<Hungarian>A kezdősebesség a cső hosszától függően változó</Hungarian>
|
||||||
<Russian>Начальная скорость пули зависит от длины ствола</Russian>
|
<Russian>Начальная скорость пули зависит от длины ствола</Russian>
|
||||||
<Italian>La velocità di sparo varia a seconda della lunghezza della canna</Italian>
|
<Italian>La velocità alla volata varia a seconda della lunghezza della canna.</Italian>
|
||||||
<Japanese>銃身長により銃口初速を変動させます。</Japanese>
|
<Japanese>銃身長により銃口初速を変動させます。</Japanese>
|
||||||
<Korean>총구 속도가 총열에 비례해 달라집니다</Korean>
|
<Korean>총구 속도가 총열에 비례해 달라집니다</Korean>
|
||||||
<Chinese>子彈初速將隨槍管長度而有所變化</Chinese>
|
<Chinese>子彈初速將隨槍管長度而有所變化</Chinese>
|
||||||
@ -196,7 +196,7 @@
|
|||||||
<French>Activer l'effet de balle traçante</French>
|
<French>Activer l'effet de balle traçante</French>
|
||||||
<Hungarian>Nyomkövető-effekt engedélyezése</Hungarian>
|
<Hungarian>Nyomkövető-effekt engedélyezése</Hungarian>
|
||||||
<Russian>Следы пуль</Russian>
|
<Russian>Следы пуль</Russian>
|
||||||
<Italian>Abilita effetto dei Proiettili Traccianti</Italian>
|
<Italian>Abilita effetto di traccia proiettile</Italian>
|
||||||
<Japanese>弾丸の軌跡エフェクトを有効化</Japanese>
|
<Japanese>弾丸の軌跡エフェクトを有効化</Japanese>
|
||||||
<Korean>예광탄 효과 적용</Korean>
|
<Korean>예광탄 효과 적용</Korean>
|
||||||
<Chinese>啟用曳光彈效果</Chinese>
|
<Chinese>啟用曳光彈效果</Chinese>
|
||||||
@ -213,7 +213,7 @@
|
|||||||
<French>Active un effet de balle traçante pour les munitions de gros calibre (seulement visible en utilisant une optique à fort grossissement).</French>
|
<French>Active un effet de balle traçante pour les munitions de gros calibre (seulement visible en utilisant une optique à fort grossissement).</French>
|
||||||
<Hungarian>Engedélyezi a nagy kaliberű lövedékek nyomának vizuális követését (csak nagy teljesítményű optikán keresztül látható)</Hungarian>
|
<Hungarian>Engedélyezi a nagy kaliberű lövedékek nyomának vizuális követését (csak nagy teljesítményű optikán keresztül látható)</Hungarian>
|
||||||
<Russian>Включает эффект следов пуль для больших калибров (видны только через мощную оптику)</Russian>
|
<Russian>Включает эффект следов пуль для больших калибров (видны только через мощную оптику)</Russian>
|
||||||
<Italian>Abilita effetto dei proiettili traccianti di alto calibro (visibile solo attraverso ottiche ad alto potenziale)</Italian>
|
<Italian>Abilita effetto di traccia lasciata da proiettili di alto calibro (visibile solo attraverso ottiche ad alto ingrandimento)</Italian>
|
||||||
<Japanese>大口径弾の軌跡エフェクトを有効化します。 (高性能光学機器を介してのみ見ることができます)</Japanese>
|
<Japanese>大口径弾の軌跡エフェクトを有効化します。 (高性能光学機器を介してのみ見ることができます)</Japanese>
|
||||||
<Korean>대구경 탄환에 예광탄 효과를 적용합니다(오직 고성능 조준경 사용시에만 보입니다)</Korean>
|
<Korean>대구경 탄환에 예광탄 효과를 적용합니다(오직 고성능 조준경 사용시에만 보입니다)</Korean>
|
||||||
<Chinese>啟用曳光彈效果給大口徑子彈 (只有透過高倍率光學瞄鏡才能看到)</Chinese>
|
<Chinese>啟用曳光彈效果給大口徑子彈 (只有透過高倍率光學瞄鏡才能看到)</Chinese>
|
||||||
@ -230,7 +230,7 @@
|
|||||||
<French>Intervalle de simulation</French>
|
<French>Intervalle de simulation</French>
|
||||||
<Hungarian>Szimuláció intervalluma</Hungarian>
|
<Hungarian>Szimuláció intervalluma</Hungarian>
|
||||||
<Russian>Интервал симуляции</Russian>
|
<Russian>Интервал симуляции</Russian>
|
||||||
<Italian>Intervallo Simulazione</Italian>
|
<Italian>Intervallo di Simulazione</Italian>
|
||||||
<Japanese>シミュレーション間隔</Japanese>
|
<Japanese>シミュレーション間隔</Japanese>
|
||||||
<Korean>구현 간격</Korean>
|
<Korean>구현 간격</Korean>
|
||||||
<Chinese>模擬間隔</Chinese>
|
<Chinese>模擬間隔</Chinese>
|
||||||
@ -246,7 +246,7 @@
|
|||||||
<French>Définit l'intervalle entre chacune des étapes de calcul.</French>
|
<French>Définit l'intervalle entre chacune des étapes de calcul.</French>
|
||||||
<Hungarian>Meghatározza a számítási lépések közötti időintervallumot</Hungarian>
|
<Hungarian>Meghatározza a számítási lépések közötti időintervallumot</Hungarian>
|
||||||
<Russian>Определяет временной интервал между вычислениями</Russian>
|
<Russian>Определяет временной интервал между вычислениями</Russian>
|
||||||
<Italian>Definisce l'intervallo tra ogni step di calcolo</Italian>
|
<Italian>Definisce l'intervallo tra ogni passo del calcolo</Italian>
|
||||||
<Japanese>各シミュレーション毎の間隔を定義します。</Japanese>
|
<Japanese>各シミュレーション毎の間隔を定義します。</Japanese>
|
||||||
<Korean>각 계산 단위의 간격을 정의합니다</Korean>
|
<Korean>각 계산 단위의 간격을 정의합니다</Korean>
|
||||||
<Chinese>定義每個模擬計算之間的時間間隔</Chinese>
|
<Chinese>定義每個模擬計算之間的時間間隔</Chinese>
|
||||||
@ -263,7 +263,7 @@
|
|||||||
<Hungarian>Szimuláció hatóköre</Hungarian>
|
<Hungarian>Szimuláció hatóköre</Hungarian>
|
||||||
<Russian>Радиус симуляции</Russian>
|
<Russian>Радиус симуляции</Russian>
|
||||||
<Italian>Raggio Simulazione</Italian>
|
<Italian>Raggio Simulazione</Italian>
|
||||||
<Japanese>シミュレーションの範囲</Japanese>
|
<Japanese>シミュレーションの半径</Japanese>
|
||||||
<Korean>구현 범위</Korean>
|
<Korean>구현 범위</Korean>
|
||||||
<Chinese>模擬半徑</Chinese>
|
<Chinese>模擬半徑</Chinese>
|
||||||
<Chinesesimp>模拟半径</Chinesesimp>
|
<Chinesesimp>模拟半径</Chinesesimp>
|
||||||
@ -279,8 +279,8 @@
|
|||||||
<French>Définit le rayon autour du joueur (en mètres), dans lequel la balistique avancée est appliquée aux projectiles.</French>
|
<French>Définit le rayon autour du joueur (en mètres), dans lequel la balistique avancée est appliquée aux projectiles.</French>
|
||||||
<Hungarian>Meghatározza a játékos körüli hatókört (méterben), ahol a lövedékek fejlett ballisztikát használnak</Hungarian>
|
<Hungarian>Meghatározza a játékos körüli hatókört (méterben), ahol a lövedékek fejlett ballisztikát használnak</Hungarian>
|
||||||
<Russian>Определяет радиус вокруг игрока (в метрах), в котором продвинутая баллистика применяется к снарядам</Russian>
|
<Russian>Определяет радиус вокруг игрока (в метрах), в котором продвинутая баллистика применяется к снарядам</Russian>
|
||||||
<Italian>Definisce il raggio attorno al giocatore (in metri) per cui la Balistica Avanzata è applicata ai proiettili</Italian>
|
<Italian>Definisce il raggio attorno al giocatore (in metri) entro il quale la Balistica Avanzata è applicata ai proiettili</Italian>
|
||||||
<Japanese>アドバンスド バリスティックスの適用半径範囲 (プレイヤー中心、メートル単位) を定義します。</Japanese>
|
<Japanese>アドバンスド弾道計算の適用半径範囲 (プレイヤー中心、メートル単位) を定義します。</Japanese>
|
||||||
<Korean>플레이어 주위의 발사체를 고급 탄도학으로 정의하는 범위를 정합니다(미터)</Korean>
|
<Korean>플레이어 주위의 발사체를 고급 탄도학으로 정의하는 범위를 정합니다(미터)</Korean>
|
||||||
<Chinese>以玩家的半徑距離(公尺)定義先進彈道系統啟用範圍</Chinese>
|
<Chinese>以玩家的半徑距離(公尺)定義先進彈道系統啟用範圍</Chinese>
|
||||||
<Chinesesimp>定义玩家周围的半径(米),在这个半径内,进阶弹道系统会被启用</Chinesesimp>
|
<Chinesesimp>定义玩家周围的半径(米),在这个半径内,进阶弹道系统会被启用</Chinesesimp>
|
||||||
@ -296,8 +296,8 @@
|
|||||||
<Hungarian>Ez a modul engedélyezi a fejlett ballisztikai szimulációt - a lövedékek röppályáját befolyásolni fogja a levegő hőmérséklete, légnyomás, páratartalom, gravitáció, a lövedék fajtája, valamint a fegyver, amiből kilőtték a lövedéket.</Hungarian>
|
<Hungarian>Ez a modul engedélyezi a fejlett ballisztikai szimulációt - a lövedékek röppályáját befolyásolni fogja a levegő hőmérséklete, légnyomás, páratartalom, gravitáció, a lövedék fajtája, valamint a fegyver, amiből kilőtték a lövedéket.</Hungarian>
|
||||||
<Russian>Этот модуль включает симуляцию продвинутой баллистики - при этом на траекторию полета снаряда влияют различные параметры, такие как температура воздуха, атмосферное давление, влажность, гравитация, тип боеприпаса и оружия, из которого произвели выстрел.</Russian>
|
<Russian>Этот модуль включает симуляцию продвинутой баллистики - при этом на траекторию полета снаряда влияют различные параметры, такие как температура воздуха, атмосферное давление, влажность, гравитация, тип боеприпаса и оружия, из которого произвели выстрел.</Russian>
|
||||||
<Spanish>Este módulo permite la simulación balística avanzada - es decir, la trayectoria de los proyectiles está influenciada por variables como la temperatura del aire, la presión atmosférica, la humedad, la gravedad, el tipo de municiones y el arma desde el que fue disparada.</Spanish>
|
<Spanish>Este módulo permite la simulación balística avanzada - es decir, la trayectoria de los proyectiles está influenciada por variables como la temperatura del aire, la presión atmosférica, la humedad, la gravedad, el tipo de municiones y el arma desde el que fue disparada.</Spanish>
|
||||||
<Italian>Questo modulo abilita la simulazione della Balistica Avanzata - cioè la traiettoria dei proiettili è influenzata da variabili come la temperatura dell'aria, pressione atmosferica, umidità, gravità, il tipo di munizione e l'arma da cui è sparata</Italian>
|
<Italian>Questo modulo abilita la simulazione della Balistica Avanzata - essa comporta che la traiettoria dei proiettili è influenzata da variabili come la temperatura dell'aria, pressione atmosferica, umidità, gravità, il tipo di munizione e l'arma da cui è sparata.</Italian>
|
||||||
<Japanese>アドバンスド バリスティックスのシミュレーションを有効化します。 弾道は気温・気圧・湿度・重力・弾薬の種類・発射する武器などの変化による影響を受けるようになります。</Japanese>
|
<Japanese>アドバンスド弾道計算のシミュレーションを有効化します。 弾道は気温・気圧・湿度・重力・弾薬の種類・発射する武器などの変化による影響を受けるようになります。</Japanese>
|
||||||
<Korean>이 모듈은 고급 탄도학을 적용시킵니다 - 이는 발사체의 궤적이 기온, 대기압, 습도, 중력, 탄환의 종류와 어느 무기에서 발사되는지에 따라 영향을 받습니다.</Korean>
|
<Korean>이 모듈은 고급 탄도학을 적용시킵니다 - 이는 발사체의 궤적이 기온, 대기압, 습도, 중력, 탄환의 종류와 어느 무기에서 발사되는지에 따라 영향을 받습니다.</Korean>
|
||||||
<Chinese>該模塊實現先進的彈道仿真 - 這意味著子彈的軌跡是由空氣溫度、大氣壓力、濕度、重力、彈藥類型以及射擊的武器所影響</Chinese>
|
<Chinese>該模塊實現先進的彈道仿真 - 這意味著子彈的軌跡是由空氣溫度、大氣壓力、濕度、重力、彈藥類型以及射擊的武器所影響</Chinese>
|
||||||
<Chinesesimp>该模块实现增强的弹道模拟—子弹的轨迹由空气温度、大气压力、湿度、重力、弹药类型和射击的武器等变量所影响</Chinesesimp>
|
<Chinesesimp>该模块实现增强的弹道模拟—子弹的轨迹由空气温度、大气压力、湿度、重力、弹药类型和射击的武器等变量所影响</Chinesesimp>
|
||||||
|
@ -2,22 +2,34 @@
|
|||||||
|
|
||||||
if (!hasInterface) exitWith {};
|
if (!hasInterface) exitWith {};
|
||||||
|
|
||||||
[missionNamespace, "ACE_setCustomAimCoef", QUOTE(ADDON), {
|
["baseline", {
|
||||||
private _unit = ACE_player;
|
private _fatigue = ACE_player getVariable [QGVAR(aimFatigue), 0];
|
||||||
private _fatigue = _unit getVariable [QGVAR(aimFatigue), 0];
|
switch (stance ACE_player) do {
|
||||||
|
|
||||||
switch (stance _unit) do {
|
|
||||||
case ("CROUCH"): {
|
case ("CROUCH"): {
|
||||||
(1.0 + _fatigue ^ 2 * 0.1) * GVAR(swayFactor)
|
(1.0 + _fatigue ^ 2 * 0.1)
|
||||||
};
|
};
|
||||||
case ("PRONE"): {
|
case ("PRONE"): {
|
||||||
(1.0 + _fatigue ^ 2 * 2.0) * GVAR(swayFactor)
|
(1.0 + _fatigue ^ 2 * 2.0)
|
||||||
};
|
};
|
||||||
default {
|
default {
|
||||||
(1.5 + _fatigue ^ 2 * 3.0) * GVAR(swayFactor)
|
(1.5 + _fatigue ^ 2 * 3.0)
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}] call EFUNC(common,arithmeticSetSource);
|
}, QUOTE(ADDON)] call EFUNC(common,addSwayFactor);
|
||||||
|
|
||||||
|
["multiplier", {
|
||||||
|
switch (true) do {
|
||||||
|
case (isWeaponRested ACE_player): {
|
||||||
|
GVAR(swayFactor) * GVAR(restedSwayFactor)
|
||||||
|
};
|
||||||
|
case (isWeaponDeployed ACE_player): {
|
||||||
|
GVAR(swayFactor) * GVAR(deployedSwayFactor)
|
||||||
|
};
|
||||||
|
default {
|
||||||
|
GVAR(swayFactor)
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}, QUOTE(ADDON)] call EFUNC(common,addSwayFactor);
|
||||||
|
|
||||||
// recheck weapon inertia after weapon swap, change of attachments or switching unit
|
// recheck weapon inertia after weapon swap, change of attachments or switching unit
|
||||||
["weapon", {[ACE_player] call FUNC(getWeaponInertia)}, true] call CBA_fnc_addPlayerEventHandler;
|
["weapon", {[ACE_player] call FUNC(getWeaponInertia)}, true] call CBA_fnc_addPlayerEventHandler;
|
||||||
|
@ -6,7 +6,7 @@ PREP_RECOMPILE_START;
|
|||||||
#include "XEH_PREP.hpp"
|
#include "XEH_PREP.hpp"
|
||||||
PREP_RECOMPILE_END;
|
PREP_RECOMPILE_END;
|
||||||
|
|
||||||
#include "initSettings.sqf"
|
#include "initSettings.inc.sqf"
|
||||||
|
|
||||||
GVAR(staminaBarWidth) = 10 * (((safezoneW / safezoneH) min 1.2) / 40);
|
GVAR(staminaBarWidth) = 10 * (((safezoneW / safezoneH) min 1.2) / 40);
|
||||||
GVAR(dutyList) = createHashMap;
|
GVAR(dutyList) = createHashMap;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: BaerMitUmlaut
|
* Author: BaerMitUmlaut
|
||||||
* Adds a duty factor.
|
* Adds a duty factor.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: BaerMitUmlaut
|
* Author: BaerMitUmlaut
|
||||||
* Creates the stamina bar.
|
* Creates the stamina bar.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: BaerMitUmlaut
|
* Author: BaerMitUmlaut
|
||||||
* Calculates the duty of the current animation.
|
* Calculates the duty of the current animation.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: BaerMitUmlaut
|
* Author: BaerMitUmlaut
|
||||||
* Calculates the current metabolic costs for a unit.
|
* Calculates the current metabolic costs for a unit.
|
||||||
@ -36,16 +36,19 @@ if (GVAR(isSwimming)) then {
|
|||||||
_terrainGradient = 0;
|
_terrainGradient = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Metabolic cost for walking and running is different
|
||||||
if (_velocity > 2) then {
|
if (_velocity > 2) then {
|
||||||
|
// Running
|
||||||
(
|
(
|
||||||
2.10 * SIM_BODYMASS
|
2.10 * SIM_BODYMASS
|
||||||
+ 4 * (SIM_BODYMASS + _gearMass) * ((_gearMass / SIM_BODYMASS) ^ 2)
|
+ 4 * (SIM_BODYMASS + _gearMass) * ((_gearMass / SIM_BODYMASS) ^ 2)
|
||||||
+ (SIM_BODYMASS + _gearMass) * (0.90 * (_velocity ^ 2) + 0.66 * _velocity * _terrainGradient)
|
+ (SIM_BODYMASS + _gearMass) * (0.9 * (_velocity ^ 2) + 0.66 * _velocity * _terrainGradient)
|
||||||
) * 0.23 * _duty
|
) * 0.23 * _duty
|
||||||
} else {
|
} else {
|
||||||
|
// Walking
|
||||||
(
|
(
|
||||||
1.05 * SIM_BODYMASS
|
1.05 * SIM_BODYMASS
|
||||||
+ 4 * (SIM_BODYMASS + _gearMass) * ((_gearMass / SIM_BODYMASS) ^ 2)
|
+ 2 * (SIM_BODYMASS + _gearMass) * ((_gearMass / SIM_BODYMASS) ^ 2)
|
||||||
+ (SIM_BODYMASS + _gearMass) * (1.15 * (_velocity ^ 2) + 0.66 * _velocity * _terrainGradient)
|
+ (SIM_BODYMASS + _gearMass) * (1.15 * (_velocity ^ 2) + 0.66 * _velocity * _terrainGradient)
|
||||||
) * 0.23 * _duty
|
) * 0.23 * _duty
|
||||||
};
|
};
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: Pterolatypus
|
* Author: Pterolatypus
|
||||||
* Calculates total weapon inertia, accounting for attachments.
|
* Calculates total weapon inertia, accounting for attachments.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: BaerMitUmlaut
|
* Author: BaerMitUmlaut
|
||||||
* Handles any audible, visual and physical effects of fatigue.
|
* Handles any audible, visual and physical effects of fatigue.
|
||||||
@ -94,6 +94,3 @@ if (_overexhausted) then {
|
|||||||
};
|
};
|
||||||
|
|
||||||
_unit setVariable [QGVAR(aimFatigue), _fatigue];
|
_unit setVariable [QGVAR(aimFatigue), _fatigue];
|
||||||
|
|
||||||
private _aimCoef = [missionNamespace, "ACE_setCustomAimCoef", "max"] call EFUNC(common,arithmeticGetResult);
|
|
||||||
_unit setCustomAimCoef _aimCoef;
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: BaerMitUmlaut
|
* Author: BaerMitUmlaut
|
||||||
* Handles switching units (once on init and afterwards via Zeus).
|
* Handles switching units (once on init and afterwards via Zeus).
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: BaerMitUmlaut
|
* Author: BaerMitUmlaut
|
||||||
* Handles visual changes of the stamina bar.
|
* Handles visual changes of the stamina bar.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: BaerMitUmlaut
|
* Author: BaerMitUmlaut
|
||||||
* Main looping function that updates fatigue values.
|
* Main looping function that updates fatigue values.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: BaerMitUmlaut
|
* Author: BaerMitUmlaut
|
||||||
* Initializes the module settings.
|
* Initializes the module settings.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: BaerMitUmlaut
|
* Author: BaerMitUmlaut
|
||||||
* Removes a duty factor.
|
* Removes a duty factor.
|
||||||
|
@ -1 +0,0 @@
|
|||||||
#include "\z\ace\addons\advanced_fatigue\script_component.hpp"
|
|
109
addons/advanced_fatigue/initSettings.inc.sqf
Normal file
109
addons/advanced_fatigue/initSettings.inc.sqf
Normal file
@ -0,0 +1,109 @@
|
|||||||
|
[
|
||||||
|
QGVAR(enabled),
|
||||||
|
"CHECKBOX",
|
||||||
|
[LSTRING(Enabled), LSTRING(Enabled_Description)],
|
||||||
|
LSTRING(DisplayName),
|
||||||
|
true,
|
||||||
|
true, {
|
||||||
|
if (!_this) then {
|
||||||
|
private _staminaBarContainer = uiNamespace getVariable [QGVAR(staminaBarContainer), controlNull];
|
||||||
|
_staminaBarContainer ctrlSetFade 1;
|
||||||
|
_staminaBarContainer ctrlCommit 0;
|
||||||
|
};
|
||||||
|
[QGVAR(enabled), _this] call EFUNC(common,cbaSettings_settingChanged)
|
||||||
|
},
|
||||||
|
true // Needs mission restart
|
||||||
|
] call CBA_fnc_addSetting;
|
||||||
|
|
||||||
|
[
|
||||||
|
QGVAR(enableStaminaBar),
|
||||||
|
"CHECKBOX",
|
||||||
|
[LSTRING(EnableStaminaBar), LSTRING(EnableStaminaBar_Description)],
|
||||||
|
LSTRING(DisplayName),
|
||||||
|
true,
|
||||||
|
true, {
|
||||||
|
if (!_this) then {
|
||||||
|
private _staminaBarContainer = uiNamespace getVariable [QGVAR(staminaBarContainer), controlNull];
|
||||||
|
_staminaBarContainer ctrlSetFade 1;
|
||||||
|
_staminaBarContainer ctrlCommit 0;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
] call CBA_fnc_addSetting;
|
||||||
|
|
||||||
|
[
|
||||||
|
QGVAR(fadeStaminaBar),
|
||||||
|
"CHECKBOX",
|
||||||
|
[LSTRING(FadeStaminaBar), LSTRING(FadeStaminaBar_Description)],
|
||||||
|
LSTRING(DisplayName),
|
||||||
|
true,
|
||||||
|
false, {
|
||||||
|
if (!_this && GVAR(enabled) && GVAR(enableStaminaBar)) then {
|
||||||
|
private _staminaBarContainer = uiNamespace getVariable [QGVAR(staminaBarContainer), controlNull];
|
||||||
|
_staminaBarContainer ctrlSetFade 0;
|
||||||
|
_staminaBarContainer ctrlCommit 0;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
] call CBA_fnc_addSetting;
|
||||||
|
|
||||||
|
[
|
||||||
|
QGVAR(performanceFactor),
|
||||||
|
"SLIDER",
|
||||||
|
[LSTRING(PerformanceFactor), LSTRING(PerformanceFactor_Description)],
|
||||||
|
LSTRING(DisplayName),
|
||||||
|
[0, 5, 1, 1],
|
||||||
|
true
|
||||||
|
] call CBA_fnc_addSetting;
|
||||||
|
|
||||||
|
[
|
||||||
|
QGVAR(recoveryFactor),
|
||||||
|
"SLIDER",
|
||||||
|
[LSTRING(RecoveryFactor), LSTRING(RecoveryFactor_Description)],
|
||||||
|
LSTRING(DisplayName),
|
||||||
|
[0, 5, 1, 1],
|
||||||
|
true
|
||||||
|
] call CBA_fnc_addSetting;
|
||||||
|
|
||||||
|
[
|
||||||
|
QGVAR(loadFactor),
|
||||||
|
"SLIDER",
|
||||||
|
[LSTRING(LoadFactor), LSTRING(LoadFactor_Description)],
|
||||||
|
LSTRING(DisplayName),
|
||||||
|
[0, 5, 1, 1],
|
||||||
|
true
|
||||||
|
] call CBA_fnc_addSetting;
|
||||||
|
|
||||||
|
[
|
||||||
|
QGVAR(terrainGradientFactor),
|
||||||
|
"SLIDER",
|
||||||
|
[LSTRING(TerrainGradientFactor), LSTRING(TerrainGradientFactor_Description)],
|
||||||
|
LSTRING(DisplayName),
|
||||||
|
[0, 5, 1, 1],
|
||||||
|
true
|
||||||
|
] call CBA_fnc_addSetting;
|
||||||
|
|
||||||
|
[
|
||||||
|
QGVAR(swayFactor),
|
||||||
|
"SLIDER",
|
||||||
|
[LSTRING(SwayFactor), LSTRING(SwayFactor_Description)],
|
||||||
|
LSTRING(DisplayName),
|
||||||
|
[0, 5, 1, 1],
|
||||||
|
true
|
||||||
|
] call CBA_fnc_addSetting;
|
||||||
|
|
||||||
|
[
|
||||||
|
QGVAR(restedSwayFactor),
|
||||||
|
"SLIDER",
|
||||||
|
[LSTRING(RestedSwayFactor), LSTRING(RestedSwayFactor_Description)],
|
||||||
|
LSTRING(DisplayName),
|
||||||
|
[0, 5, 1, 2],
|
||||||
|
true
|
||||||
|
] call CBA_fnc_addSetting;
|
||||||
|
|
||||||
|
[
|
||||||
|
QGVAR(deployedSwayFactor),
|
||||||
|
"SLIDER",
|
||||||
|
[LSTRING(DeployedSwayFactor), LSTRING(DeployedSwayFactor_Description)],
|
||||||
|
LSTRING(DisplayName),
|
||||||
|
[0, 5, 1, 2],
|
||||||
|
true
|
||||||
|
] call CBA_fnc_addSetting;
|
@ -1,91 +0,0 @@
|
|||||||
[
|
|
||||||
QGVAR(enabled),
|
|
||||||
"CHECKBOX",
|
|
||||||
[LSTRING(Enabled), LSTRING(Enabled_Description)],
|
|
||||||
LSTRING(DisplayName),
|
|
||||||
true,
|
|
||||||
true, {
|
|
||||||
if (!_this) then {
|
|
||||||
private _staminaBarContainer = uiNamespace getVariable [QGVAR(staminaBarContainer), controlNull];
|
|
||||||
_staminaBarContainer ctrlSetFade 1;
|
|
||||||
_staminaBarContainer ctrlCommit 0;
|
|
||||||
};
|
|
||||||
[QGVAR(enabled), _this] call EFUNC(common,cbaSettings_settingChanged)
|
|
||||||
},
|
|
||||||
true // Needs mission restart
|
|
||||||
] call CBA_fnc_addSetting;
|
|
||||||
|
|
||||||
[
|
|
||||||
QGVAR(enableStaminaBar),
|
|
||||||
"CHECKBOX",
|
|
||||||
[LSTRING(EnableStaminaBar), LSTRING(EnableStaminaBar_Description)],
|
|
||||||
LSTRING(DisplayName),
|
|
||||||
true,
|
|
||||||
true, {
|
|
||||||
if (!_this) then {
|
|
||||||
private _staminaBarContainer = uiNamespace getVariable [QGVAR(staminaBarContainer), controlNull];
|
|
||||||
_staminaBarContainer ctrlSetFade 1;
|
|
||||||
_staminaBarContainer ctrlCommit 0;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
] call CBA_fnc_addSetting;
|
|
||||||
|
|
||||||
[
|
|
||||||
QGVAR(fadeStaminaBar),
|
|
||||||
"CHECKBOX",
|
|
||||||
[LSTRING(FadeStaminaBar), LSTRING(FadeStaminaBar_Description)],
|
|
||||||
LSTRING(DisplayName),
|
|
||||||
true,
|
|
||||||
false, {
|
|
||||||
if (!_this && GVAR(enabled) && GVAR(enableStaminaBar)) then {
|
|
||||||
private _staminaBarContainer = uiNamespace getVariable [QGVAR(staminaBarContainer), controlNull];
|
|
||||||
_staminaBarContainer ctrlSetFade 0;
|
|
||||||
_staminaBarContainer ctrlCommit 0;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
] call CBA_fnc_addSetting;
|
|
||||||
|
|
||||||
[
|
|
||||||
QGVAR(performanceFactor),
|
|
||||||
"SLIDER",
|
|
||||||
[LSTRING(PerformanceFactor), LSTRING(PerformanceFactor_Description)],
|
|
||||||
LSTRING(DisplayName),
|
|
||||||
[0, 5, 1, 1],
|
|
||||||
true
|
|
||||||
] call CBA_fnc_addSetting;
|
|
||||||
|
|
||||||
[
|
|
||||||
QGVAR(recoveryFactor),
|
|
||||||
"SLIDER",
|
|
||||||
[LSTRING(RecoveryFactor), LSTRING(RecoveryFactor_Description)],
|
|
||||||
LSTRING(DisplayName),
|
|
||||||
[0, 5, 1, 1],
|
|
||||||
true
|
|
||||||
] call CBA_fnc_addSetting;
|
|
||||||
|
|
||||||
[
|
|
||||||
QGVAR(loadFactor),
|
|
||||||
"SLIDER",
|
|
||||||
[LSTRING(LoadFactor), LSTRING(LoadFactor_Description)],
|
|
||||||
LSTRING(DisplayName),
|
|
||||||
[0, 5, 1, 1],
|
|
||||||
true
|
|
||||||
] call CBA_fnc_addSetting;
|
|
||||||
|
|
||||||
[
|
|
||||||
QGVAR(terrainGradientFactor),
|
|
||||||
"SLIDER",
|
|
||||||
[LSTRING(TerrainGradientFactor), LSTRING(TerrainGradientFactor_Description)],
|
|
||||||
LSTRING(DisplayName),
|
|
||||||
[0, 5, 1, 1],
|
|
||||||
true
|
|
||||||
] call CBA_fnc_addSetting;
|
|
||||||
|
|
||||||
[
|
|
||||||
QGVAR(swayFactor),
|
|
||||||
"SLIDER",
|
|
||||||
[LSTRING(SwayFactor), LSTRING(SwayFactor_Description)],
|
|
||||||
LSTRING(DisplayName),
|
|
||||||
[0, 5, 1, 1],
|
|
||||||
true
|
|
||||||
] call CBA_fnc_addSetting;
|
|
@ -7,7 +7,7 @@
|
|||||||
<German>ACE Erweiterte Ausdauer</German>
|
<German>ACE Erweiterte Ausdauer</German>
|
||||||
<Chinese>ACE 進階疲勞</Chinese>
|
<Chinese>ACE 進階疲勞</Chinese>
|
||||||
<Chinesesimp>ACE 进阶体力</Chinesesimp>
|
<Chinesesimp>ACE 进阶体力</Chinesesimp>
|
||||||
<Japanese>ACE アドバンスド ファティーグ</Japanese>
|
<Japanese>ACE アドバンスド疲労</Japanese>
|
||||||
<Italian>ACE Fatica Avanzata</Italian>
|
<Italian>ACE Fatica Avanzata</Italian>
|
||||||
<Korean>ACE 고급 피로도</Korean>
|
<Korean>ACE 고급 피로도</Korean>
|
||||||
<French>ACE Fatigue avancée</French>
|
<French>ACE Fatigue avancée</French>
|
||||||
@ -41,7 +41,7 @@
|
|||||||
<Polish>Wpływa na ogólną wydolność organizmu u wszystkich graczy bez ustawionego niestandardowego współczynnika. Więcej znaczy lepiej.</Polish>
|
<Polish>Wpływa na ogólną wydolność organizmu u wszystkich graczy bez ustawionego niestandardowego współczynnika. Więcej znaczy lepiej.</Polish>
|
||||||
<Korean>모든 성능이 임의로 설정된 값 없이 영향받습니다. 값이 클수록 더 나은 성능을 발휘합니다</Korean>
|
<Korean>모든 성능이 임의로 설정된 값 없이 영향받습니다. 값이 클수록 더 나은 성능을 발휘합니다</Korean>
|
||||||
<French>Impacte la performance globale de tous les joueurs n'ayant pas de facteur personnalisé.\nPlus la valeur est élevée, plus le joueur est performant.</French>
|
<French>Impacte la performance globale de tous les joueurs n'ayant pas de facteur personnalisé.\nPlus la valeur est élevée, plus le joueur est performant.</French>
|
||||||
<Italian>Influenza qualsiasi prestazione di tutti i giocatori smuniti di un fattore personalizzato. Maggiore significa migliore.</Italian>
|
<Italian>Influenza la prestazione generale di tutti i giocatori smuniti di un fattore personalizzato. Maggiore significa migliore.</Italian>
|
||||||
<Chinese>影響所有玩家的體力表現,值越高代表體力越好</Chinese>
|
<Chinese>影響所有玩家的體力表現,值越高代表體力越好</Chinese>
|
||||||
<Chinesesimp>影响所有玩家的体力表现,值越高代表体力越好</Chinesesimp>
|
<Chinesesimp>影响所有玩家的体力表现,值越高代表体力越好</Chinesesimp>
|
||||||
<Russian>Влияет на общую производительность игроков, у которых не задано персональное значение.</Russian>
|
<Russian>Влияет на общую производительность игроков, у которых не задано персональное значение.</Russian>
|
||||||
@ -56,7 +56,7 @@
|
|||||||
<Polish>Wpływa na ogólną wydolność tej jednostki. Więcej znaczy lepiej.</Polish>
|
<Polish>Wpływa na ogólną wydolność tej jednostki. Więcej znaczy lepiej.</Polish>
|
||||||
<Korean>모든 성능이 이 단위로 영향을 받습니다. 값이 클수록 더 나은 성능을 발휘합니다</Korean>
|
<Korean>모든 성능이 이 단위로 영향을 받습니다. 값이 클수록 더 나은 성능을 발휘합니다</Korean>
|
||||||
<French>Impacte la performance globale de cette unité.\nPlus la valeur est élevée, plus l'unité est performante.</French>
|
<French>Impacte la performance globale de cette unité.\nPlus la valeur est élevée, plus l'unité est performante.</French>
|
||||||
<Italian>Influenza qualsiasi prestazione di questa unità. Maggiore significa migliore.</Italian>
|
<Italian>Influenza la prestazione personalizzata di questa unità. Maggiore significa migliore.</Italian>
|
||||||
<Chinese>影響這個單位的體力表現,值越高代表體力越好</Chinese>
|
<Chinese>影響這個單位的體力表現,值越高代表體力越好</Chinese>
|
||||||
<Chinesesimp>影响这个单位的体力表现,值越高代表体力越好</Chinesesimp>
|
<Chinesesimp>影响这个单位的体力表现,值越高代表体力越好</Chinesesimp>
|
||||||
<Russian>Влияет на общую производительность юнита.</Russian>
|
<Russian>Влияет на общую производительность юнита.</Russian>
|
||||||
@ -87,7 +87,7 @@
|
|||||||
<Polish>Wpływa na czas regeneracji podczas postoju. Więcej znaczy szybciej.</Polish>
|
<Polish>Wpływa na czas regeneracji podczas postoju. Więcej znaczy szybciej.</Polish>
|
||||||
<Korean>얼마나 빨리 회복하는지를 바꿉니다. 값이 클수록 더 나은 성능을 발휘합니다</Korean>
|
<Korean>얼마나 빨리 회복하는지를 바꿉니다. 값이 클수록 더 나은 성능을 발휘합니다</Korean>
|
||||||
<French>Modifie la vitesse à laquelle le joueur récupère lorsqu'il se repose.\nPlus la valeur est élevée, plus la récupération est rapide.</French>
|
<French>Modifie la vitesse à laquelle le joueur récupère lorsqu'il se repose.\nPlus la valeur est élevée, plus la récupération est rapide.</French>
|
||||||
<Italian>Determina in quanto tempo il giocatore recupera quando rilassato. Maggiore significa migliore.</Italian>
|
<Italian>Determina quanto velocemente il giocatore recupera le energie quando si ferma. Maggiore significa migliore.</Italian>
|
||||||
<Chinese>決定玩家休息多久就能回復體力,值越高恢復越快</Chinese>
|
<Chinese>決定玩家休息多久就能回復體力,值越高恢復越快</Chinese>
|
||||||
<Chinesesimp>决定玩家休息多久就能恢复体力,值越高恢复越快</Chinesesimp>
|
<Chinesesimp>决定玩家休息多久就能恢复体力,值越高恢复越快</Chinesesimp>
|
||||||
<Russian>Изменяет скорость восстановления игрока во время отдыха. Чем выше, тем быстрее.</Russian>
|
<Russian>Изменяет скорость восстановления игрока во время отдыха. Чем выше, тем быстрее.</Russian>
|
||||||
@ -102,7 +102,7 @@
|
|||||||
<Polish>Współczynnik masy ekwipunku</Polish>
|
<Polish>Współczynnik masy ekwipunku</Polish>
|
||||||
<Korean>부담 요인</Korean>
|
<Korean>부담 요인</Korean>
|
||||||
<French>Facteur de charge</French>
|
<French>Facteur de charge</French>
|
||||||
<Italian>Fattore Caricamento</Italian>
|
<Italian>Fattore Carico</Italian>
|
||||||
<Chinese>負重量</Chinese>
|
<Chinese>負重量</Chinese>
|
||||||
<Chinesesimp>重量系数</Chinesesimp>
|
<Chinesesimp>重量系数</Chinesesimp>
|
||||||
<Russian>Фактор нагрузки</Russian>
|
<Russian>Фактор нагрузки</Russian>
|
||||||
@ -117,7 +117,7 @@
|
|||||||
<Polish>Zmniejsza lub zwiększa wpływ ciężaru ekwipunku na wydolność gracza. Zero oznacza kompletny brak wpływu na wydolność.</Polish>
|
<Polish>Zmniejsza lub zwiększa wpływ ciężaru ekwipunku na wydolność gracza. Zero oznacza kompletny brak wpływu na wydolność.</Polish>
|
||||||
<Korean>플레이어가 무게에 따라 얼마나 영향받는지를 증가시키거나 감소시킵니다. 0의 경우 플레이어가 장비 무게에 영향받지 않습니다.</Korean>
|
<Korean>플레이어가 무게에 따라 얼마나 영향받는지를 증가시키거나 감소시킵니다. 0의 경우 플레이어가 장비 무게에 영향받지 않습니다.</Korean>
|
||||||
<French>Augmente ou diminue l'influence du poids sur les performances du joueur.\nUne valeur nulle indique que le poids de l'équipement n'a aucun impact sur les performances.</French>
|
<French>Augmente ou diminue l'influence du poids sur les performances du joueur.\nUne valeur nulle indique que le poids de l'équipement n'a aucun impact sur les performances.</French>
|
||||||
<Italian>Incrementa o decrementa quanto il peso influenza le prestazioni dei giocatori. Zero significa che il peso dell'equipaggiamento non ha alcuna influenza nelle prestazioni.</Italian>
|
<Italian>Determina quanto il peso trasportato influenza le prestazioni dei giocatori. Zero significa che il peso dell'equipaggiamento non influisce sulle prestazioni.</Italian>
|
||||||
<Chinese>增加或降低玩家所能承受的負重量. 如設定值為0, 代表裝備的重量將不會影響到玩家的體力表現</Chinese>
|
<Chinese>增加或降低玩家所能承受的負重量. 如設定值為0, 代表裝備的重量將不會影響到玩家的體力表現</Chinese>
|
||||||
<Chinesesimp>增加或降低玩家所能承受的负重量。如设定值为0,代表装备的重量将不会影响到玩家的体力表现</Chinesesimp>
|
<Chinesesimp>增加或降低玩家所能承受的负重量。如设定值为0,代表装备的重量将不会影响到玩家的体力表现</Chinesesimp>
|
||||||
<Russian>Увеличивает или уменьшает вес, влияющий на производительность игроков. Ноль означает, что вес снаряжения не влияет на производительность</Russian>
|
<Russian>Увеличивает или уменьшает вес, влияющий на производительность игроков. Ноль означает, что вес снаряжения не влияет на производительность</Russian>
|
||||||
@ -147,7 +147,7 @@
|
|||||||
<Polish>Wpływa na to w jakim stopniu stromy teren wpływa na utratę wytrzymałości. Więcej oznacza szybszą utratę wytrzymałości.</Polish>
|
<Polish>Wpływa na to w jakim stopniu stromy teren wpływa na utratę wytrzymałości. Więcej oznacza szybszą utratę wytrzymałości.</Polish>
|
||||||
<Korean>경사도에 따라 얼마나 피로해지는지를 정합니다. 값이 클수록 더 많은 피로를 유발합니다.</Korean>
|
<Korean>경사도에 따라 얼마나 피로해지는지를 정합니다. 값이 클수록 더 많은 피로를 유발합니다.</Korean>
|
||||||
<French>Définit à quel point un terrain escarpé réduit l'endurance du joueur.\nPlus la valeur est élevée, moins le joueur est endurant.</French>
|
<French>Définit à quel point un terrain escarpé réduit l'endurance du joueur.\nPlus la valeur est élevée, moins le joueur est endurant.</French>
|
||||||
<Italian>Stabilisce quanto la pendenza del terreno incrementa la perdita della stamina. Maggiore significa più stamina persa.</Italian>
|
<Italian>Determina quanto la pendenza del terreno incrementa la perdita della stamina. Maggiore significa più stamina persa.</Italian>
|
||||||
<Chinese>設定陡峭的地形將會影響多少體力的流失,值越高代表體力流失越快</Chinese>
|
<Chinese>設定陡峭的地形將會影響多少體力的流失,值越高代表體力流失越快</Chinese>
|
||||||
<Chinesesimp>设定陡峭的地形将会影响多少体力的流失速度,值越高代表体力流失越快</Chinesesimp>
|
<Chinesesimp>设定陡峭的地形将会影响多少体力的流失速度,值越高代表体力流失越快</Chinesesimp>
|
||||||
<Russian>Устанавливает, насколько крутая местность увеличивает потерю выносливости. Чем выше, тем быстрее теряется выносливость.</Russian>
|
<Russian>Устанавливает, насколько крутая местность увеличивает потерю выносливости. Чем выше, тем быстрее теряется выносливость.</Russian>
|
||||||
@ -162,7 +162,7 @@
|
|||||||
<Chinesesimp>抖动系数</Chinesesimp>
|
<Chinesesimp>抖动系数</Chinesesimp>
|
||||||
<Chinese>抖動因素</Chinese>
|
<Chinese>抖動因素</Chinese>
|
||||||
<French>Facteur de tremblement</French>
|
<French>Facteur de tremblement</French>
|
||||||
<Italian>Fattore di oscillazione</Italian>
|
<Italian>Fattore di Oscillazione</Italian>
|
||||||
<Polish>Czynnik kołysania</Polish>
|
<Polish>Czynnik kołysania</Polish>
|
||||||
<Russian>Фактор колебания прицела</Russian>
|
<Russian>Фактор колебания прицела</Russian>
|
||||||
<Portuguese>Fator de Balanço de Mira</Portuguese>
|
<Portuguese>Fator de Balanço de Mira</Portuguese>
|
||||||
@ -172,27 +172,63 @@
|
|||||||
<Key ID="STR_ACE_Advanced_Fatigue_SwayFactor_Description">
|
<Key ID="STR_ACE_Advanced_Fatigue_SwayFactor_Description">
|
||||||
<English>Influences the amount of weapon sway. Higher means more sway.</English>
|
<English>Influences the amount of weapon sway. Higher means more sway.</English>
|
||||||
<Spanish>Afecta al la estabilidad de la mira. Más alto significa más balanceo</Spanish>
|
<Spanish>Afecta al la estabilidad de la mira. Más alto significa más balanceo</Spanish>
|
||||||
<German>Beeinflusst den Faktor, wie ruhig man eine Waffe halten kann. Ein höherer Wert bedeutet weniger Stabilisierung</German>
|
<German>Beeinflusst, wie ruhig man eine Waffe halten kann. Ein höherer Wert bedeutet weniger Stabilisierung.</German>
|
||||||
<Japanese>武器を持つ手のぶれ度合いを設定します。 値が高ければ高いほど、手ぶれが強くなります。</Japanese>
|
<Japanese>武器の手ぶれの量に影響します。値が高いほど、手ぶれが強くなります。</Japanese>
|
||||||
<Chinesesimp>影响手持武器的晃动程度,数值越高,抖动的越厉害。</Chinesesimp>
|
<Chinesesimp>影响手持武器的晃动程度,数值越高,抖动的越厉害。</Chinesesimp>
|
||||||
<Chinese>影響手持武器晃動程度,數值越高抖動越厲害</Chinese>
|
<Chinese>影響手持武器晃動程度,數值越高抖動越厲害</Chinese>
|
||||||
<French>Influe sur l'amplitude du tremblement de l'arme. Une valeur plus élevée signifie plus de tremblement.</French>
|
<French>Influe sur l'amplitude du tremblement de l'arme. Une valeur plus élevée signifie plus de tremblement.</French>
|
||||||
<Italian>Influenza l'ammontare di oscillazione dell'arma. Maggiore significa più oscillazione.</Italian>
|
<Italian>Influenza l'aumento di oscillazione dell'arma quando affaticato. Maggiore significa più oscillazione.</Italian>
|
||||||
<Polish>Wpływa na poziom kołysania broni. Większa ilość znaczy większe kołysanie.</Polish>
|
<Polish>Wpływa na poziom kołysania broni. Większa ilość znaczy większe kołysanie.</Polish>
|
||||||
<Russian>Влияет на колебания прицела оружия. Чем выше - тем больше.</Russian>
|
<Russian>Влияет на колебания прицела оружия. Чем выше - тем больше.</Russian>
|
||||||
<Portuguese>Influencia a quantidade de balanço da mira da arma. Quanto maior, mais balanço.</Portuguese>
|
<Portuguese>Influencia a quantidade de balanço da mira da arma. Quanto maior, mais balanço.</Portuguese>
|
||||||
<Czech>Ovlivňuje množství kývání zbraní. Vyšší znamená více kývání.</Czech>
|
<Czech>Ovlivňuje množství kývání zbraní. Vyšší znamená více kývání.</Czech>
|
||||||
<Korean>손떨림의 정도를 정합니다. 높을 수록 많이 휘적입니다.</Korean>
|
<Korean>손떨림의 정도를 정합니다. 높을 수록 많이 휘적입니다.</Korean>
|
||||||
</Key>
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Advanced_Fatigue_RestedSwayFactor">
|
||||||
|
<English>Rested sway factor</English>
|
||||||
|
<French>Facteur de balancement au repos</French>
|
||||||
|
<Korean>휴식 시 손떨림 정도</Korean>
|
||||||
|
<Portuguese>Fator de balanço de mira em repouso</Portuguese>
|
||||||
|
<German>Verwacklungsfaktor, wenn aufgelegt</German>
|
||||||
|
<Italian>Fattore di Oscillazione Appoggiato</Italian>
|
||||||
|
<Japanese>静止時の手ぶれ係数</Japanese>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Advanced_Fatigue_RestedSwayFactor_Description">
|
||||||
|
<English>Influences the amount of weapon sway while weapon is rested.</English>
|
||||||
|
<French>Influence le degré de balancement de l'arme au repos.</French>
|
||||||
|
<Korean>무기가 아무런 행동도 하지 않는 동안 무기가 흔들리는 정도를 정합니다.</Korean>
|
||||||
|
<Portuguese>Influencia a quantidade de balanço de mira enquanto a arma está em repouso.</Portuguese>
|
||||||
|
<German>Beeinflusst, wie ruhig man die Waffe hält, während sie aufgelegt ist.</German>
|
||||||
|
<Italian>Determina la quantità di oscillazione dell'arma quando questa è appoggiata.</Italian>
|
||||||
|
<Japanese>静止している時の武器の手ぶれの量に影響します。</Japanese>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Advanced_Fatigue_DeployedSwayFactor">
|
||||||
|
<English>Deployed sway factor</English>
|
||||||
|
<French>Facteur de balancement déployé</French>
|
||||||
|
<Korean>거치 시 손떨림 정도</Korean>
|
||||||
|
<Portuguese>Fator de balanço de mira em posição de tiro</Portuguese>
|
||||||
|
<German>Verwacklungsfaktor, wenn Zweibein aufgestellt ist.</German>
|
||||||
|
<Italian>Fattore di Oscillazione su Bipode</Italian>
|
||||||
|
<Japanese>展開時の手ぶれ係数</Japanese>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Advanced_Fatigue_DeployedSwayFactor_Description">
|
||||||
|
<English>Influences the amount of weapon sway while weapon is deployed.</English>
|
||||||
|
<French>Influence le degré de balancement de l'arme déployée.</French>
|
||||||
|
<Korean>무기를 거치하는 동안 무기를 흔드는 정도를 정합니다.</Korean>
|
||||||
|
<Portuguese>Influencia a quantidade de balanço de mira enquanto a arma está em posição de tiro.</Portuguese>
|
||||||
|
<German>Beeinflusst, wie ruhig man die Waffen hält, während das Zweibein aufgestellt ist.</German>
|
||||||
|
<Italian>Determina la quantità di oscillazione dell'arma quando questa è stabilizzata usando il bipode.</Italian>
|
||||||
|
<Japanese>武器の展開(Cキー)時の武器の手ぶれの量に影響します。</Japanese>
|
||||||
|
</Key>
|
||||||
<Key ID="STR_ACE_Advanced_Fatigue_Enabled">
|
<Key ID="STR_ACE_Advanced_Fatigue_Enabled">
|
||||||
<English>Enabled</English>
|
<English>Enabled</English>
|
||||||
<Spanish>Activada</Spanish>
|
<Spanish>Activada</Spanish>
|
||||||
<German>Aktiv</German>
|
<German>Aktiv</German>
|
||||||
<Japanese>アドバンスド ファティーグを有効化</Japanese>
|
<Japanese>有効化</Japanese>
|
||||||
<Polish>Włączone</Polish>
|
<Polish>Włączone</Polish>
|
||||||
<Korean>활성화</Korean>
|
<Korean>활성화</Korean>
|
||||||
<French>Activé</French>
|
<French>Activé</French>
|
||||||
<Italian>Abilitato</Italian>
|
<Italian>Abilitata</Italian>
|
||||||
<Chinese>啟用</Chinese>
|
<Chinese>啟用</Chinese>
|
||||||
<Chinesesimp>启用</Chinesesimp>
|
<Chinesesimp>启用</Chinesesimp>
|
||||||
<Russian>Включена</Russian>
|
<Russian>Включена</Russian>
|
||||||
@ -203,11 +239,11 @@
|
|||||||
<English>Enables/disables Advanced Fatigue.</English>
|
<English>Enables/disables Advanced Fatigue.</English>
|
||||||
<Spanish>Activa/desactiva la fatiga avanzada</Spanish>
|
<Spanish>Activa/desactiva la fatiga avanzada</Spanish>
|
||||||
<German>Aktiviert/deaktiviert Advanced Fatigue.</German>
|
<German>Aktiviert/deaktiviert Advanced Fatigue.</German>
|
||||||
<Japanese>アドバンスド ファティーグを有効化します。</Japanese>
|
<Japanese>アドバンスド疲労は高度な疲労管理システムを有効化します。</Japanese>
|
||||||
<Polish>Włącza/wyłącza zaawansowaną wytrzymałość</Polish>
|
<Polish>Włącza/wyłącza zaawansowaną wytrzymałość</Polish>
|
||||||
<Korean>고급 피로도 활성화/비활성화</Korean>
|
<Korean>고급 피로도 활성화/비활성화</Korean>
|
||||||
<French>Active/Désactive la fatigue avancée.</French>
|
<French>Active/Désactive la fatigue avancée.</French>
|
||||||
<Italian>Abilita/disabilita la Fatica Avanzata.</Italian>
|
<Italian>Abilita/Disabilita la Fatica Avanzata.</Italian>
|
||||||
<Chinese>啟用/關閉進階體力.</Chinese>
|
<Chinese>啟用/關閉進階體力.</Chinese>
|
||||||
<Chinesesimp>启用/关闭进阶体力。</Chinesesimp>
|
<Chinesesimp>启用/关闭进阶体力。</Chinesesimp>
|
||||||
<Russian>Включает / Отключает Продвинутую усталость</Russian>
|
<Russian>Включает / Отключает Продвинутую усталость</Russian>
|
||||||
@ -251,7 +287,7 @@
|
|||||||
<German>Blende Ausdauerleiste automatisch aus</German>
|
<German>Blende Ausdauerleiste automatisch aus</German>
|
||||||
<Chinese>體力條自動淡去</Chinese>
|
<Chinese>體力條自動淡去</Chinese>
|
||||||
<Chinesesimp>自动淡化体力条</Chinesesimp>
|
<Chinesesimp>自动淡化体力条</Chinesesimp>
|
||||||
<Italian>Dissolvenza automatica della barra della stamina</Italian>
|
<Italian>Nascondi in automatico la barra della stamina</Italian>
|
||||||
<Czech>Automaticky schovat lištu výdrže</Czech>
|
<Czech>Automaticky schovat lištu výdrže</Czech>
|
||||||
<French>Fondu automatique de la barre d'endurance</French>
|
<French>Fondu automatique de la barre d'endurance</French>
|
||||||
<Japanese>自動的にスタミナバーを非表示</Japanese>
|
<Japanese>自動的にスタミナバーを非表示</Japanese>
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
|
|
||||||
// Fired XEH
|
// Fired XEH
|
||||||
|
GVAR(ammoEventHandlers) = createHashMap;
|
||||||
[QGVAR(throwFiredXEH), FUNC(throwFiredXEH)] call CBA_fnc_addEventHandler;
|
[QGVAR(throwFiredXEH), FUNC(throwFiredXEH)] call CBA_fnc_addEventHandler;
|
||||||
|
|
||||||
// Exit on HC
|
// Exit on HC
|
||||||
|
@ -6,6 +6,6 @@ PREP_RECOMPILE_START;
|
|||||||
#include "XEH_PREP.hpp"
|
#include "XEH_PREP.hpp"
|
||||||
PREP_RECOMPILE_END;
|
PREP_RECOMPILE_END;
|
||||||
|
|
||||||
#include "initSettings.sqf"
|
#include "initSettings.inc.sqf"
|
||||||
|
|
||||||
ADDON = true;
|
ADDON = true;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: Jonpas
|
* Author: Jonpas
|
||||||
* Checks if a throwable can be prepared.
|
* Checks if a throwable can be prepared.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: Jonpas
|
* Author: Jonpas
|
||||||
* Checks if a throwable can be thrown.
|
* Checks if a throwable can be thrown.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: Zapat, Dslyecxi, Jonpas
|
* Author: Zapat, Dslyecxi, Jonpas
|
||||||
* Draws throw arc.
|
* Draws throw arc.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: Dslyecxi, Jonpas, SilentSpike
|
* Author: Dslyecxi, Jonpas, kymckay
|
||||||
* Handles drawing the currently selected or cooked throwable.
|
* Handles drawing the currently selected or cooked throwable.
|
||||||
*
|
*
|
||||||
* Arguments:
|
* Arguments:
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: Dslyecxi, Jonpas
|
* Author: Dslyecxi, Jonpas
|
||||||
* Exits throw mode.
|
* Exits throw mode.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: PabstMirror
|
* Author: PabstMirror
|
||||||
* Retrieve muzzle name from config.
|
* Retrieve muzzle name from config.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: Jonpas
|
* Author: Jonpas
|
||||||
* Initializes the Advanced Throwing module.
|
* Initializes the Advanced Throwing module.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: Dslyecxi, Jonpas
|
* Author: Dslyecxi, Jonpas
|
||||||
* Key down event.
|
* Key down event.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: Dslyecxi, Jonpas
|
* Author: Dslyecxi, Jonpas
|
||||||
* Mouse button down event.
|
* Mouse button down event.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: Dslyecxi, Jonpas
|
* Author: Dslyecxi, Jonpas
|
||||||
* Mouse scroll wheel changed event.
|
* Mouse scroll wheel changed event.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: Jonpas
|
* Author: Jonpas
|
||||||
* Picks up a throwable from the ground.
|
* Picks up a throwable from the ground.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: Dslyecxi, Jonpas
|
* Author: Dslyecxi, Jonpas
|
||||||
* Prepares throwable or selects the next.
|
* Prepares throwable or selects the next.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: Dslyecxi, Jonpas
|
* Author: Dslyecxi, Jonpas
|
||||||
* Primes the throwable, creates global throwable vehicle and throws Fired XEH.
|
* Primes the throwable, creates global throwable vehicle and throws Fired XEH.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: PabstMirror, Jonpas
|
* Author: PabstMirror, Jonpas
|
||||||
* When interact_menu starts rendering (from "interact_keyDown" event).
|
* When interact_menu starts rendering (from "interact_keyDown" event).
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: Dslyecxi, Jonpas
|
* Author: Dslyecxi, Jonpas
|
||||||
* Throw selected throwable.
|
* Throw selected throwable.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: CBA Team
|
* Author: CBA Team
|
||||||
* Throws Fired XEH.
|
* Throws Fired XEH.
|
||||||
@ -20,14 +20,25 @@
|
|||||||
*
|
*
|
||||||
* Public: No
|
* Public: No
|
||||||
*/
|
*/
|
||||||
|
params ["_unit", "", "_muzzle", "", "_ammo"];
|
||||||
TRACE_1("Fired",_this);
|
TRACE_1("Fired",_this);
|
||||||
|
|
||||||
{
|
{
|
||||||
_this call _x;
|
_this call _x;
|
||||||
} forEach ((_this select 0) getVariable "cba_xeh_fired");
|
} forEach (_unit getVariable "cba_xeh_fired");
|
||||||
|
|
||||||
// Call muzzle fired EH
|
// Call muzzle fired EH
|
||||||
{
|
{
|
||||||
_this call compile getText (_x >> "fired");
|
_this call compile getText (_x >> "fired");
|
||||||
} forEach (configProperties [configFile >> "CfgWeapons" >> "Throw" >> (_this select 2) >> "EventHandlers", "isClass _x", true]);
|
} forEach (configProperties [configFile >> "CfgWeapons" >> "Throw" >> _muzzle >> "EventHandlers", "isClass _x", true]);
|
||||||
|
|
||||||
|
// Call ammo fired EH
|
||||||
|
{ _this call _x } forEach (GVAR(ammoEventHandlers) getOrDefaultCall [_ammo, {
|
||||||
|
private _cfg = configFile >> "CfgAmmo" >> _ammo >> "EventHandlers";
|
||||||
|
private _eventHandlers = [];
|
||||||
|
{
|
||||||
|
private _eh = getText (_x >> "fired");
|
||||||
|
if (_eh != "") then { _eventHandlers pushBack compile _eh };
|
||||||
|
} forEach ([_cfg] + configProperties [_cfg, "isClass _x", true]);
|
||||||
|
_eventHandlers
|
||||||
|
}, true]);
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: Jonpas
|
* Author: Jonpas
|
||||||
* Updates controls hints based on current state.
|
* Updates controls hints based on current state.
|
||||||
|
@ -1 +0,0 @@
|
|||||||
#include "\z\ace\addons\advanced_throwing\script_component.hpp"
|
|
@ -5,7 +5,7 @@
|
|||||||
<English>Advanced Throwing</English>
|
<English>Advanced Throwing</English>
|
||||||
<Spanish>Lanzamiento Avanzado</Spanish>
|
<Spanish>Lanzamiento Avanzado</Spanish>
|
||||||
<Russian>Улучшенный бросок гранат</Russian>
|
<Russian>Улучшенный бросок гранат</Russian>
|
||||||
<Japanese>アドバンスド スローイング</Japanese>
|
<Japanese>アドバンスド投擲</Japanese>
|
||||||
<Polish>Zaawansowane rzucanie</Polish>
|
<Polish>Zaawansowane rzucanie</Polish>
|
||||||
<German>Erweitertes Wurfsystem</German>
|
<German>Erweitertes Wurfsystem</German>
|
||||||
<Korean>고급 투척</Korean>
|
<Korean>고급 투척</Korean>
|
||||||
@ -21,7 +21,7 @@
|
|||||||
<English>Allows changing advanced throwing behaviour.</English>
|
<English>Allows changing advanced throwing behaviour.</English>
|
||||||
<Spanish>Permite modificar el comportamiento del lanzamiento avanzado</Spanish>
|
<Spanish>Permite modificar el comportamiento del lanzamiento avanzado</Spanish>
|
||||||
<Russian>Позволяет настраивать поведение улучшенного броска гранат.</Russian>
|
<Russian>Позволяет настраивать поведение улучшенного броска гранат.</Russian>
|
||||||
<Japanese>アドバンスド スローイングの動作挙動を変更します。</Japanese>
|
<Japanese>アドバンスド投擲は投擲の高度な動作挙動を変更可能にします。</Japanese>
|
||||||
<Polish>Zezwala na zmianę zachowania zaawansowanego trybu rzucania.</Polish>
|
<Polish>Zezwala na zmianę zachowania zaawansowanego trybu rzucania.</Polish>
|
||||||
<German>Erlaubt es, das Verhalten des erweiterten Wurfsystems zu ändern.</German>
|
<German>Erlaubt es, das Verhalten des erweiterten Wurfsystems zu ändern.</German>
|
||||||
<Korean>고급 투척 행위를 허가합니다</Korean>
|
<Korean>고급 투척 행위를 허가합니다</Korean>
|
||||||
@ -36,7 +36,7 @@
|
|||||||
<English>Enable Advanced Throwing</English>
|
<English>Enable Advanced Throwing</English>
|
||||||
<Spanish>Activar Lanzamiento Avanzado</Spanish>
|
<Spanish>Activar Lanzamiento Avanzado</Spanish>
|
||||||
<Russian>Вкл. улучшенный бросок</Russian>
|
<Russian>Вкл. улучшенный бросок</Russian>
|
||||||
<Japanese>アドバンスド スローイングを有効化</Japanese>
|
<Japanese>アドバンスド投擲を有効化</Japanese>
|
||||||
<Polish>Aktywuj zaawansowane rzucanie</Polish>
|
<Polish>Aktywuj zaawansowane rzucanie</Polish>
|
||||||
<German>Aktiviere erweitertes Wurfsystem</German>
|
<German>Aktiviere erweitertes Wurfsystem</German>
|
||||||
<Korean>고급 투척 활성화 </Korean>
|
<Korean>고급 투척 활성화 </Korean>
|
||||||
@ -52,7 +52,7 @@
|
|||||||
<English>Enables advanced throwing system.</English>
|
<English>Enables advanced throwing system.</English>
|
||||||
<Spanish>Activa el Lanzamiento Avanzado</Spanish>
|
<Spanish>Activa el Lanzamiento Avanzado</Spanish>
|
||||||
<Russian>Включает систему улучшенного броска.</Russian>
|
<Russian>Включает систему улучшенного броска.</Russian>
|
||||||
<Japanese>アドバンスド スローイングを有効化します。</Japanese>
|
<Japanese>アドバンスド投擲は高度な投擲システムを有効化します。</Japanese>
|
||||||
<Polish>Aktywuje system zaawansowanego rzucania.</Polish>
|
<Polish>Aktywuje system zaawansowanego rzucania.</Polish>
|
||||||
<German>Aktiviert das erweiterte Wurfsystem.</German>
|
<German>Aktiviert das erweiterte Wurfsystem.</German>
|
||||||
<Korean>고급 투척을 활성화 합니다</Korean>
|
<Korean>고급 투척을 활성화 합니다</Korean>
|
||||||
@ -68,7 +68,7 @@
|
|||||||
<English>Show Throw Arc</English>
|
<English>Show Throw Arc</English>
|
||||||
<Spanish>Mostrar Arco de Lanzamiento</Spanish>
|
<Spanish>Mostrar Arco de Lanzamiento</Spanish>
|
||||||
<Russian>Показать траекторию броска</Russian>
|
<Russian>Показать траекторию броска</Russian>
|
||||||
<Japanese>投てき軌道を表示</Japanese>
|
<Japanese>投擲軌道を表示</Japanese>
|
||||||
<Polish>Pokaż trasę lotu</Polish>
|
<Polish>Pokaż trasę lotu</Polish>
|
||||||
<German>Zeige Wurfbogen</German>
|
<German>Zeige Wurfbogen</German>
|
||||||
<Korean>투척 궤적 표시</Korean>
|
<Korean>투척 궤적 표시</Korean>
|
||||||
@ -84,7 +84,7 @@
|
|||||||
<English>Enables visualization of the throw arc (where throwable will fly).</English>
|
<English>Enables visualization of the throw arc (where throwable will fly).</English>
|
||||||
<Spanish>Activa la visualización del arco de lanzamiento (donde irá el objeto lanzado)</Spanish>
|
<Spanish>Activa la visualización del arco de lanzamiento (donde irá el objeto lanzado)</Spanish>
|
||||||
<Russian>Включает визуализацию траектории броска (как полетит граната).</Russian>
|
<Russian>Включает визуализацию траектории броска (как полетит граната).</Russian>
|
||||||
<Japanese>投てき軌道 (投てき物がどこに飛ぶか) の表示を有効化します。</Japanese>
|
<Japanese>投擲軌道 (投擲物がどこに飛ぶか) の表示を有効化します。</Japanese>
|
||||||
<Polish>Wyświetla wizualizację trasy przelotu granatu.</Polish>
|
<Polish>Wyświetla wizualizację trasy przelotu granatu.</Polish>
|
||||||
<German>Aktiviert die Visualisierung des Wurfbogens (wohin das Objekt geworfen werden wird).</German>
|
<German>Aktiviert die Visualisierung des Wurfbogens (wohin das Objekt geworfen werden wird).</German>
|
||||||
<Korean>투척 궤도를 시각화 합니다(투척물이 어디로 갈지)</Korean>
|
<Korean>투척 궤도를 시각화 합니다(투척물이 어디로 갈지)</Korean>
|
||||||
@ -99,12 +99,12 @@
|
|||||||
<English>Show Throwing Mouse Controls</English>
|
<English>Show Throwing Mouse Controls</English>
|
||||||
<Spanish>Mostrar controles de ratón de lanzamiento</Spanish>
|
<Spanish>Mostrar controles de ratón de lanzamiento</Spanish>
|
||||||
<Russian>Показывать управление мышью</Russian>
|
<Russian>Показывать управление мышью</Russian>
|
||||||
<Japanese>投てきのマウス操作を表示</Japanese>
|
<Japanese>投擲のマウス操作を表示</Japanese>
|
||||||
<Polish>Pokaż podpowiedzi sterowania myszą</Polish>
|
<Polish>Pokaż podpowiedzi sterowania myszą</Polish>
|
||||||
<German>Zeige Maussteuerung beim Werfen</German>
|
<German>Zeige Maussteuerung beim Werfen</German>
|
||||||
<Korean>마우스 조작 표시</Korean>
|
<Korean>마우스 조작 표시</Korean>
|
||||||
<French>Afficher les contrôles à la souris du lancé</French>
|
<French>Afficher les contrôles à la souris du lancé</French>
|
||||||
<Italian>Mostra Comandi Mouse Lancio</Italian>
|
<Italian>Mostra Comandi Mouse di Lancio</Italian>
|
||||||
<Chinese>顯示滑鼠投擲控制提示</Chinese>
|
<Chinese>顯示滑鼠投擲控制提示</Chinese>
|
||||||
<Chinesesimp>显示鼠标投掷控制提示</Chinesesimp>
|
<Chinesesimp>显示鼠标投掷控制提示</Chinesesimp>
|
||||||
<Portuguese>Mostrar os controles de mouse para Arremesso</Portuguese>
|
<Portuguese>Mostrar os controles de mouse para Arremesso</Portuguese>
|
||||||
@ -114,7 +114,7 @@
|
|||||||
<English>Enables visual cues for mouse controls when throwable is prepared.</English>
|
<English>Enables visual cues for mouse controls when throwable is prepared.</English>
|
||||||
<Spanish>Activa muestras visuales para los controles del ratón cuando el objeto lanzable está preparado</Spanish>
|
<Spanish>Activa muestras visuales para los controles del ratón cuando el objeto lanzable está preparado</Spanish>
|
||||||
<Russian>Включает отображение подсказок по управлению мышью, когда граната подготовлена.</Russian>
|
<Russian>Включает отображение подсказок по управлению мышью, когда граната подготовлена.</Russian>
|
||||||
<Japanese>投てき物を構える時、マウス操作の説明表示を有効化します。</Japanese>
|
<Japanese>投擲物を構える時、マウス操作の説明表示を有効化します。</Japanese>
|
||||||
<Polish>Wyświetla podpowiedzi sterowania myszą kiedy obiekt miotany jest w ręku.</Polish>
|
<Polish>Wyświetla podpowiedzi sterowania myszą kiedy obiekt miotany jest w ręku.</Polish>
|
||||||
<German>Aktiviert visuelle Hinweise zur Maussteuerung, wenn ein Objekt zum Werfen vorbereitet wird.</German>
|
<German>Aktiviert visuelle Hinweise zur Maussteuerung, wenn ein Objekt zum Werfen vorbereitet wird.</German>
|
||||||
<Korean>투척물을 준비시 마우스 조작을 시각화해서 보여줍니다</Korean>
|
<Korean>투척물을 준비시 마우스 조작을 시각화해서 보여줍니다</Korean>
|
||||||
@ -129,12 +129,12 @@
|
|||||||
<English>Enable Throwables Pick Up</English>
|
<English>Enable Throwables Pick Up</English>
|
||||||
<Spanish>Habilitar recoger objetos lanzados</Spanish>
|
<Spanish>Habilitar recoger objetos lanzados</Spanish>
|
||||||
<Russian>Вкл. подбор гранат</Russian>
|
<Russian>Вкл. подбор гранат</Russian>
|
||||||
<Japanese>投てき物の拾い上げを有効化</Japanese>
|
<Japanese>投擲物の拾い上げを有効化</Japanese>
|
||||||
<Polish>Zezwól na podnoszenie obiektów miotanych</Polish>
|
<Polish>Zezwól na podnoszenie obiektów miotanych</Polish>
|
||||||
<German>Aktiviere Aufheben von Wurfobjekten</German>
|
<German>Aktiviere Aufheben von Wurfobjekten</German>
|
||||||
<Korean>투척물 줍기 활성화</Korean>
|
<Korean>투척물 줍기 활성화</Korean>
|
||||||
<French>Permettre le ramassage d'objets lançables</French>
|
<French>Permettre le ramassage d'objets lançables</French>
|
||||||
<Italian>Abilita Raccogli Oggetti</Italian>
|
<Italian>Abilita Raccolta Lanciabili</Italian>
|
||||||
<Chinese>啟用可撿取地面投擲物</Chinese>
|
<Chinese>啟用可撿取地面投擲物</Chinese>
|
||||||
<Chinesesimp>启用捡取地面投掷物</Chinesesimp>
|
<Chinesesimp>启用捡取地面投掷物</Chinesesimp>
|
||||||
<Portuguese>Permitir pegar arremessáveis</Portuguese>
|
<Portuguese>Permitir pegar arremessáveis</Portuguese>
|
||||||
@ -144,12 +144,12 @@
|
|||||||
<English>Enables ability to pick up throwables from the ground.</English>
|
<English>Enables ability to pick up throwables from the ground.</English>
|
||||||
<Spanish>Activa la habilidad de coger objetos lanzados del suelo</Spanish>
|
<Spanish>Activa la habilidad de coger objetos lanzados del suelo</Spanish>
|
||||||
<Russian>Включает возможность подбирать гранаты с земли.</Russian>
|
<Russian>Включает возможность подбирать гранаты с земли.</Russian>
|
||||||
<Japanese>地面に落ちている投てき物を拾い上げる機能を有効化します。</Japanese>
|
<Japanese>地面に落ちている投擲物を拾い上げる機能を有効化します。</Japanese>
|
||||||
<Polish>Umożliwia podnoszenie obiektów miotanych z ziemi.</Polish>
|
<Polish>Umożliwia podnoszenie obiektów miotanych z ziemi.</Polish>
|
||||||
<German>Aktiviert die Möglichkeit, geworfene Objekte wieder vom Boden aufzuheben.</German>
|
<German>Aktiviert die Möglichkeit, geworfene Objekte wieder vom Boden aufzuheben.</German>
|
||||||
<Korean>땅에 떨어진 투척물을 주울 수 있게 해줍니다.</Korean>
|
<Korean>땅에 떨어진 투척물을 주울 수 있게 해줍니다.</Korean>
|
||||||
<French>Active la possibilité de ramasser des objets lançables du sol.</French>
|
<French>Active la possibilité de ramasser des objets lançables du sol.</French>
|
||||||
<Italian>Abilita la possibilità di raccogliere un oggetto lanciabile da terra.</Italian>
|
<Italian>Permette ai giocatori di raccogliere un oggetto lanciabile da terra.</Italian>
|
||||||
<Chinese>啟用後, 可撿取地面上的投擲物</Chinese>
|
<Chinese>啟用後, 可撿取地面上的投擲物</Chinese>
|
||||||
<Chinesesimp>启用后,可捡取地面上的投掷物</Chinesesimp>
|
<Chinesesimp>启用后,可捡取地面上的投掷物</Chinesesimp>
|
||||||
<Portuguese>Permite que objetos arremessados sejam pegos do chão. (ACE Menu de Interação)</Portuguese>
|
<Portuguese>Permite que objetos arremessados sejam pegos do chão. (ACE Menu de Interação)</Portuguese>
|
||||||
@ -159,12 +159,12 @@
|
|||||||
<English>Enable Attached Throwables Pick Up</English>
|
<English>Enable Attached Throwables Pick Up</English>
|
||||||
<Spanish>Activar coger objetos lanzables que se enganchan</Spanish>
|
<Spanish>Activar coger objetos lanzables que se enganchan</Spanish>
|
||||||
<Russian>Вкл. подбор прикрепленных гранат</Russian>
|
<Russian>Вкл. подбор прикрепленных гранат</Russian>
|
||||||
<Japanese>取り付けられた投てき物の拾い上げを有効化</Japanese>
|
<Japanese>装着済の投擲物の拾い上げを有効化</Japanese>
|
||||||
<Polish>Zezwól na podnoszenie przyczepionych obiektów miotanych</Polish>
|
<Polish>Zezwól na podnoszenie przyczepionych obiektów miotanych</Polish>
|
||||||
<German>Aktiviere erneute Aufnahme befestigter Wurfobjekte</German>
|
<German>Aktiviere erneute Aufnahme befestigter Wurfobjekte</German>
|
||||||
<Korean>부착 투척물 줍기 활성화</Korean>
|
<Korean>부착 투척물 줍기 활성화</Korean>
|
||||||
<French>Activer le ramassage d'objets lançables attachés</French>
|
<French>Activer le ramassage d'objets lançables attachés</French>
|
||||||
<Italian>Abilita Raccogli Oggetti Lanciabili da altri Oggetti</Italian>
|
<Italian>Abilita Raccolta Lanciabili Attaccati</Italian>
|
||||||
<Chinese>啟用可撿取附著投擲物</Chinese>
|
<Chinese>啟用可撿取附著投擲物</Chinese>
|
||||||
<Chinesesimp>启用捡取附着投掷物</Chinesesimp>
|
<Chinesesimp>启用捡取附着投掷物</Chinesesimp>
|
||||||
<Portuguese>Permitir pegar arremessáveis fixados</Portuguese>
|
<Portuguese>Permitir pegar arremessáveis fixados</Portuguese>
|
||||||
@ -174,12 +174,12 @@
|
|||||||
<English>Enables ability to pick up throwables from attached objects.</English>
|
<English>Enables ability to pick up throwables from attached objects.</English>
|
||||||
<Spanish>Activa la habilidad de lanzar objetos enganchados</Spanish>
|
<Spanish>Activa la habilidad de lanzar objetos enganchados</Spanish>
|
||||||
<Russian>Включает возможность подбирать гранаты, прикрепленные к объектам.</Russian>
|
<Russian>Включает возможность подбирать гранаты, прикрепленные к объектам.</Russian>
|
||||||
<Japanese>取り付けられた投てき物を拾い上げる機能を有効化します。</Japanese>
|
<Japanese>オブジェクトに装着された投擲可能物を拾い上げる機能を有効化します。</Japanese>
|
||||||
<Polish>Umożliwia podnoszenie obiektów miotanych przyczepionych do innych obiektów.</Polish>
|
<Polish>Umożliwia podnoszenie obiektów miotanych przyczepionych do innych obiektów.</Polish>
|
||||||
<German>Aktiviert die Möglichkeit, befestigte Wurfobjekte erneut aufzunehmen.</German>
|
<German>Aktiviert die Möglichkeit, befestigte Wurfobjekte erneut aufzunehmen.</German>
|
||||||
<Korean>부착된 투척물을 주울 수 있게 해줍니다.</Korean>
|
<Korean>부착된 투척물을 주울 수 있게 해줍니다.</Korean>
|
||||||
<French>Active la possibilité de ramasser des objets lançables attachés à d'autres objets.</French>
|
<French>Active la possibilité de ramasser des objets lançables attachés à d'autres objets.</French>
|
||||||
<Italian>Abilita la possibilità di raccogliere gli oggetti lanciabili dagli altri oggetti. </Italian>
|
<Italian>Permette ai giocatori di raccogliere gli oggetti lanciabili da altri oggetti attaccati.</Italian>
|
||||||
<Chinese>啟用後, 可撿取附著在物件上的投擲物</Chinese>
|
<Chinese>啟用後, 可撿取附著在物件上的投擲物</Chinese>
|
||||||
<Chinesesimp>启用后,可捡取附着在物体上的投掷物</Chinesesimp>
|
<Chinesesimp>启用后,可捡取附着在物体上的投掷物</Chinesesimp>
|
||||||
<Portuguese>Permite que arremessáveis fixados em objetos sejam pegos.</Portuguese>
|
<Portuguese>Permite que arremessáveis fixados em objetos sejam pegos.</Portuguese>
|
||||||
@ -189,12 +189,12 @@
|
|||||||
<English>Prepare/Change Throwable</English>
|
<English>Prepare/Change Throwable</English>
|
||||||
<Spanish>Preparar/Cambiar objetos lanzables</Spanish>
|
<Spanish>Preparar/Cambiar objetos lanzables</Spanish>
|
||||||
<Russian>Подготовить/заменить гранату</Russian>
|
<Russian>Подготовить/заменить гранату</Russian>
|
||||||
<Japanese>投てき物の準備/変更</Japanese>
|
<Japanese>投擲物の準備/変更</Japanese>
|
||||||
<Polish>Przygotuj/zmień ob. miotany</Polish>
|
<Polish>Przygotuj/zmień ob. miotany</Polish>
|
||||||
<German>Wurfobjekt vorbereiten/wechseln</German>
|
<German>Wurfobjekt vorbereiten/wechseln</German>
|
||||||
<Korean>투척물 준비/변경</Korean>
|
<Korean>투척물 준비/변경</Korean>
|
||||||
<French>Préparer/Changer d'objet lançable</French>
|
<French>Préparer/Changer d'objet lançable</French>
|
||||||
<Italian>Prepara/Cambia Oggetto lanciabile</Italian>
|
<Italian>Prepara/Cambia Oggetto Lanciabile</Italian>
|
||||||
<Chinese>準備/變更投擲物</Chinese>
|
<Chinese>準備/變更投擲物</Chinese>
|
||||||
<Chinesesimp>准备/变更投掷物</Chinesesimp>
|
<Chinesesimp>准备/变更投掷物</Chinesesimp>
|
||||||
<Portuguese>Preparar/Mudar Arremessável</Portuguese>
|
<Portuguese>Preparar/Mudar Arremessável</Portuguese>
|
||||||
@ -204,12 +204,12 @@
|
|||||||
<English>Throwable Drop Mode (Hold)</English>
|
<English>Throwable Drop Mode (Hold)</English>
|
||||||
<Spanish>Modo soltar objeto lanzable (Mantener pulsado)</Spanish>
|
<Spanish>Modo soltar objeto lanzable (Mantener pulsado)</Spanish>
|
||||||
<Russian>Режим броска гранаты (удерживать)</Russian>
|
<Russian>Режим броска гранаты (удерживать)</Russian>
|
||||||
<Japanese>投てきモード (押している間)</Japanese>
|
<Japanese>投擲モード (押している間)</Japanese>
|
||||||
<Polish>Tryb upuszczania ob. miotanego (przytrzymaj)</Polish>
|
<Polish>Tryb upuszczania ob. miotanego (przytrzymaj)</Polish>
|
||||||
<German>Wurfobjekt Fallmodus (halten)</German>
|
<German>Wurfobjekt Fallmodus (halten)</German>
|
||||||
<Korean>투척물 떨어뜨리기 모드(꾹눌러서)</Korean>
|
<Korean>투척물 떨어뜨리기 모드(꾹눌러서)</Korean>
|
||||||
<French>Mode de lancé de l'objet (Tenir)</French>
|
<French>Mode de lancé de l'objet (Tenir)</French>
|
||||||
<Italian>Modalità Oggetto Gettabile (Mantenere)</Italian>
|
<Italian>Modalità Gettare (Tieni premuto)</Italian>
|
||||||
<Chinese>投擲模式 (按住)</Chinese>
|
<Chinese>投擲模式 (按住)</Chinese>
|
||||||
<Chinesesimp>投掷模式(按住)</Chinesesimp>
|
<Chinesesimp>投掷模式(按住)</Chinesesimp>
|
||||||
<Portuguese>Modo de Arremesso (Segurar)</Portuguese>
|
<Portuguese>Modo de Arremesso (Segurar)</Portuguese>
|
||||||
@ -219,12 +219,12 @@
|
|||||||
<English>Throwable Drop Mode (Toggle)</English>
|
<English>Throwable Drop Mode (Toggle)</English>
|
||||||
<Spanish>Modo soltar objeto lanzable (interruptor)</Spanish>
|
<Spanish>Modo soltar objeto lanzable (interruptor)</Spanish>
|
||||||
<Russian>Режим броска гранаты (переключить)</Russian>
|
<Russian>Режим броска гранаты (переключить)</Russian>
|
||||||
<Japanese>投てきモード (切り替え)</Japanese>
|
<Japanese>投擲モード (切り替え)</Japanese>
|
||||||
<Polish>Tryb upuszczania ob. miotanego (przełącz)</Polish>
|
<Polish>Tryb upuszczania ob. miotanego (przełącz)</Polish>
|
||||||
<German>Wurfobjekt Fallmodus (umschalten)</German>
|
<German>Wurfobjekt Fallmodus (umschalten)</German>
|
||||||
<Korean>투척물 떨어뜨리기 모드(토글)</Korean>
|
<Korean>투척물 떨어뜨리기 모드(토글)</Korean>
|
||||||
<French>Mode de lancé de l'objet (Basculer)</French>
|
<French>Mode de lancé de l'objet (Basculer)</French>
|
||||||
<Italian>Modalità Oggetto lanciabile Gettabile (Interruttore)</Italian>
|
<Italian>Modalità Getta Oggetto (Cambia)</Italian>
|
||||||
<Chinese>投擲模式 (切換)</Chinese>
|
<Chinese>投擲模式 (切換)</Chinese>
|
||||||
<Chinesesimp>投掷模式(切换)</Chinesesimp>
|
<Chinesesimp>投掷模式(切换)</Chinesesimp>
|
||||||
<Portuguese>Modo de Arremesso (Alternar)</Portuguese>
|
<Portuguese>Modo de Arremesso (Alternar)</Portuguese>
|
||||||
@ -239,7 +239,7 @@
|
|||||||
<German>Scharf gemacht</German>
|
<German>Scharf gemacht</German>
|
||||||
<Korean>뇌관 작동</Korean>
|
<Korean>뇌관 작동</Korean>
|
||||||
<French>amorcée</French>
|
<French>amorcée</French>
|
||||||
<Italian>Armato</Italian>
|
<Italian>Innescato</Italian>
|
||||||
<Chinese>引信開始燃燒</Chinese>
|
<Chinese>引信開始燃燒</Chinese>
|
||||||
<Chinesesimp>已开引信</Chinesesimp>
|
<Chinesesimp>已开引信</Chinesesimp>
|
||||||
<Portuguese>Preparado</Portuguese>
|
<Portuguese>Preparado</Portuguese>
|
||||||
@ -254,7 +254,7 @@
|
|||||||
<German>Werfen</German>
|
<German>Werfen</German>
|
||||||
<Korean>던지기</Korean>
|
<Korean>던지기</Korean>
|
||||||
<French>Lancer</French>
|
<French>Lancer</French>
|
||||||
<Italian>Lanciare</Italian>
|
<Italian>Lancia</Italian>
|
||||||
<Chinese>投擲</Chinese>
|
<Chinese>投擲</Chinese>
|
||||||
<Chinesesimp>投掷</Chinesesimp>
|
<Chinesesimp>投掷</Chinesesimp>
|
||||||
<Portuguese>Arremessar</Portuguese>
|
<Portuguese>Arremessar</Portuguese>
|
||||||
@ -270,7 +270,7 @@
|
|||||||
<German>(Scrollen) Modus wechseln</German>
|
<German>(Scrollen) Modus wechseln</German>
|
||||||
<Korean>(마우스 휠) 모드 변경</Korean>
|
<Korean>(마우스 휠) 모드 변경</Korean>
|
||||||
<French>(Défilement) Changer de mode</French>
|
<French>(Défilement) Changer de mode</French>
|
||||||
<Italian>(Scorrere) Cambio Modalità</Italian>
|
<Italian>(Scorri) Cambia Modalità</Italian>
|
||||||
<Chinese>(滾輪) 變更模式</Chinese>
|
<Chinese>(滾輪) 變更模式</Chinese>
|
||||||
<Chinesesimp>(滚轮)变更模式</Chinesesimp>
|
<Chinesesimp>(滚轮)变更模式</Chinesesimp>
|
||||||
<Portuguese>(Roda do Mouse) Alternar modo</Portuguese>
|
<Portuguese>(Roda do Mouse) Alternar modo</Portuguese>
|
||||||
@ -286,10 +286,10 @@
|
|||||||
<German>(Scrollen) Erweitern</German>
|
<German>(Scrollen) Erweitern</German>
|
||||||
<Korean>(마우스 휠) 연장</Korean>
|
<Korean>(마우스 휠) 연장</Korean>
|
||||||
<French>(Défilement) Étendre</French>
|
<French>(Défilement) Étendre</French>
|
||||||
<Italian>(Scorrere) Estendere</Italian>
|
<Italian>(Scorri) Estendi</Italian>
|
||||||
<Chinese>(滾輪) 延長</Chinese>
|
<Chinese>(滾輪) 延長</Chinese>
|
||||||
<Chinesesimp>(滚轮)延长</Chinesesimp>
|
<Chinesesimp>(滚轮)延长</Chinesesimp>
|
||||||
<Portuguese>(Roda do Mouse) Extender</Portuguese>
|
<Portuguese>(Roda do Mouse) Estender</Portuguese>
|
||||||
<Czech>(Scrollovat) Oddálit</Czech>
|
<Czech>(Scrollovat) Oddálit</Czech>
|
||||||
<Turkish>(Tekerlek) Uzat</Turkish>
|
<Turkish>(Tekerlek) Uzat</Turkish>
|
||||||
</Key>
|
</Key>
|
||||||
@ -302,7 +302,7 @@
|
|||||||
<German>(Klicken) Abkochen</German>
|
<German>(Klicken) Abkochen</German>
|
||||||
<Korean>(클릭) 예열</Korean>
|
<Korean>(클릭) 예열</Korean>
|
||||||
<French>(Clique) Dégoupiller</French>
|
<French>(Clique) Dégoupiller</French>
|
||||||
<Italian>(Click) Arma</Italian>
|
<Italian>(Click) Innesca</Italian>
|
||||||
<Chinese>(點擊) 提早拉開引信</Chinese>
|
<Chinese>(點擊) 提早拉開引信</Chinese>
|
||||||
<Chinesesimp>(点击)提早拉开引信</Chinesesimp>
|
<Chinesesimp>(点击)提早拉开引信</Chinesesimp>
|
||||||
<Portuguese>(Clique) Cozinhar</Portuguese>
|
<Portuguese>(Clique) Cozinhar</Portuguese>
|
||||||
@ -313,7 +313,7 @@
|
|||||||
<English>Pick Up</English>
|
<English>Pick Up</English>
|
||||||
<Spanish>Coger</Spanish>
|
<Spanish>Coger</Spanish>
|
||||||
<Russian>Подобрать</Russian>
|
<Russian>Подобрать</Russian>
|
||||||
<Japanese>拾い上げる</Japanese>
|
<Japanese>拾う</Japanese>
|
||||||
<Polish>Podnieś</Polish>
|
<Polish>Podnieś</Polish>
|
||||||
<German>Aufheben</German>
|
<German>Aufheben</German>
|
||||||
<Korean>줍기</Korean>
|
<Korean>줍기</Korean>
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
PREP(assignNVG);
|
||||||
|
PREP(assignNVGpfh);
|
||||||
PREP(drawCuratorGarrisonPathing);
|
PREP(drawCuratorGarrisonPathing);
|
||||||
PREP(garrison);
|
PREP(garrison);
|
||||||
PREP(garrisonMove);
|
PREP(garrisonMove);
|
||||||
|
@ -68,3 +68,11 @@
|
|||||||
params ["_unit", "_mode"];
|
params ["_unit", "_mode"];
|
||||||
_unit enableGunLights _mode;
|
_unit enableGunLights _mode;
|
||||||
}] call CBA_fnc_addEventHandler;
|
}] call CBA_fnc_addEventHandler;
|
||||||
|
|
||||||
|
|
||||||
|
if (isServer) then {
|
||||||
|
["CAManBase", "init", {
|
||||||
|
// wait for HMD to be assigned so `hmd _unit` works
|
||||||
|
[FUNC(assignNVG), _this, 1] call CBA_fnc_waitAndExecute;
|
||||||
|
}] call CBA_fnc_addClassEventHandler;
|
||||||
|
};
|
||||||
|
@ -6,4 +6,11 @@ PREP_RECOMPILE_START;
|
|||||||
#include "XEH_PREP.hpp"
|
#include "XEH_PREP.hpp"
|
||||||
PREP_RECOMPILE_END;
|
PREP_RECOMPILE_END;
|
||||||
|
|
||||||
|
if (isServer) then {
|
||||||
|
GVAR(assignNVGthread) = false;
|
||||||
|
GVAR(assignNVGstate) = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
#include "initSettings.inc.sqf"
|
||||||
|
|
||||||
ADDON = true;
|
ADDON = true;
|
||||||
|
39
addons/ai/functions/fnc_assignNVG.sqf
Normal file
39
addons/ai/functions/fnc_assignNVG.sqf
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
#include "..\script_component.hpp"
|
||||||
|
/*
|
||||||
|
* Author: Jonpas
|
||||||
|
* Assigns AI first found NVG in their inventory during night time and unassigns it during day time.
|
||||||
|
*
|
||||||
|
* Arguments:
|
||||||
|
* 0: Unit <OBJECT>
|
||||||
|
*
|
||||||
|
* Return Value:
|
||||||
|
* None
|
||||||
|
*
|
||||||
|
* Example:
|
||||||
|
* [cursorObject] call ace_ai_fnc_assignNVG
|
||||||
|
*
|
||||||
|
* Public: No
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (!GVAR(assignNVG)) exitWith {};
|
||||||
|
|
||||||
|
params ["_unit"];
|
||||||
|
|
||||||
|
if (alive _unit && {!isPlayer _unit}) then {
|
||||||
|
private _nvg = hmd _unit;
|
||||||
|
|
||||||
|
if (GVAR(assignNVGstate)) then {
|
||||||
|
if (_nvg == "") then {
|
||||||
|
private _items = [_unit, false, true, true, true, false, false] call CBA_fnc_uniqueUnitItems; // backpack, vest, uniform
|
||||||
|
{
|
||||||
|
if (getText (configFile >> "CfgWeapons" >> _x >> "simulation") == "NVGoggles") exitWith {
|
||||||
|
_unit assignItem _x;
|
||||||
|
};
|
||||||
|
} forEach _items;
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
if (_nvg != "" && {currentVisionMode _unit == 0} && {_unit canAdd _nvg}) then {
|
||||||
|
_unit unassignItem _nvg;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
27
addons/ai/functions/fnc_assignNVGpfh.sqf
Normal file
27
addons/ai/functions/fnc_assignNVGpfh.sqf
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
#include "..\script_component.hpp"
|
||||||
|
/*
|
||||||
|
* Author: Jonpas
|
||||||
|
* waitAndExecute Handler for periodic NVG assignment.
|
||||||
|
*
|
||||||
|
* Arguments:
|
||||||
|
* None
|
||||||
|
|
||||||
|
* Return Value:
|
||||||
|
* None
|
||||||
|
*
|
||||||
|
* Example:
|
||||||
|
* [] call ace_ai_fnc_assignNVGpfh
|
||||||
|
*
|
||||||
|
* Public: No
|
||||||
|
*/
|
||||||
|
TRACE_1("assignNVGpfh",count allUnits);
|
||||||
|
|
||||||
|
if (!GVAR(assignNVG)) exitWith { TRACE_1("shutdown loop",_this); GVAR(assignNVGthread) = false; };
|
||||||
|
|
||||||
|
GVAR(assignNVGstate) = sunOrMoon < 1 || {moonIntensity > 0.8};
|
||||||
|
|
||||||
|
{
|
||||||
|
_x call FUNC(assignNVG);
|
||||||
|
} forEach allUnits;
|
||||||
|
|
||||||
|
[FUNC(assignNVGpfh), [], 300] call CBA_fnc_waitAndExecute;
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: alganthe
|
* Author: alganthe
|
||||||
* Draws AI garrison pathing while the Zeus display is open.
|
* Draws AI garrison pathing while the Zeus display is open.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: alganthe
|
* Author: alganthe
|
||||||
* Garrison function used to garrison AI inside buildings.
|
* Garrison function used to garrison AI inside buildings.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: alganthe
|
* Author: alganthe
|
||||||
* Internal function used by ace_ai_fnc_garrison to make the units move to the positions it picked.
|
* Internal function used by ace_ai_fnc_garrison to make the units move to the positions it picked.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: mharis001
|
* Author: mharis001
|
||||||
* Initializes the Zeus display.
|
* Initializes the Zeus display.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: alganthe
|
* Author: alganthe
|
||||||
* Used to un-garrison units.
|
* Used to un-garrison units.
|
||||||
|
@ -1 +0,0 @@
|
|||||||
#include "\z\ace\addons\ai\script_component.hpp"
|
|
19
addons/ai/initSettings.inc.sqf
Normal file
19
addons/ai/initSettings.inc.sqf
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
private _category = format ["ACE %1", LLSTRING(DisplayName)];
|
||||||
|
|
||||||
|
[
|
||||||
|
QGVAR(assignNVG), "CHECKBOX",
|
||||||
|
[LSTRING(AssignNVG_DisplayName), LSTRING(AssignNVG_Description)],
|
||||||
|
_category,
|
||||||
|
false,
|
||||||
|
1,
|
||||||
|
{
|
||||||
|
if (isServer) then {
|
||||||
|
params ["_enabled"];
|
||||||
|
if (_enabled && {!GVAR(assignNVGthread)}) then {
|
||||||
|
TRACE_1("start loop",_this);
|
||||||
|
GVAR(assignNVGthread) = true;
|
||||||
|
[FUNC(assignNVGpfh), [], 1] call CBA_fnc_waitAndExecute;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
] call CBA_fnc_addSetting;
|
@ -1,6 +1,22 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project name="ACE">
|
<Project name="ACE">
|
||||||
<Package name="AI">
|
<Package name="AI">
|
||||||
|
<Key ID="STR_ACE_AI_DisplayName">
|
||||||
|
<English>AI</English>
|
||||||
|
<Chinese>AI</Chinese>
|
||||||
|
<French>IA</French>
|
||||||
|
<Spanish>IA</Spanish>
|
||||||
|
<Italian>IA</Italian>
|
||||||
|
<Polish>SI</Polish>
|
||||||
|
<Russian>ИИ</Russian>
|
||||||
|
<German>KI</German>
|
||||||
|
<Czech>UI</Czech>
|
||||||
|
<Portuguese>IA</Portuguese>
|
||||||
|
<Korean>AI</Korean>
|
||||||
|
<Chinesesimp>AI</Chinesesimp>
|
||||||
|
<Japanese>AI</Japanese>
|
||||||
|
<Turkish>AI</Turkish>
|
||||||
|
</Key>
|
||||||
<Key ID="STR_ACE_AI_GarrisonInvalidPosition">
|
<Key ID="STR_ACE_AI_GarrisonInvalidPosition">
|
||||||
<English>Invalid position provided.</English>
|
<English>Invalid position provided.</English>
|
||||||
<German>Ungültige Position</German>
|
<German>Ungültige Position</German>
|
||||||
@ -65,5 +81,25 @@
|
|||||||
<Czech>Nenalezena žádná budova.</Czech>
|
<Czech>Nenalezena žádná budova.</Czech>
|
||||||
<Turkish>Bir yapı bulunamadı</Turkish>
|
<Turkish>Bir yapı bulunamadı</Turkish>
|
||||||
</Key>
|
</Key>
|
||||||
|
<Key ID="STR_ACE_AI_AssignNVG_DisplayName">
|
||||||
|
<English>Auto-Equip NVGs</English>
|
||||||
|
<Polish>Automatyczne zakładanie NVG</Polish>
|
||||||
|
<German>Automatisch NVGs ausrüsten</German>
|
||||||
|
<Italian>Equipaggia NVG in automatico</Italian>
|
||||||
|
<Korean>야투경 자동 창착</Korean>
|
||||||
|
<French>Equipement JVN automatique</French>
|
||||||
|
<Portuguese>Equipar NVGs automaticamente</Portuguese>
|
||||||
|
<Japanese>暗視装置の自動装備</Japanese>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_AI_AssignNVG_Description">
|
||||||
|
<English>Equips NVG in inventory during night time and unequips it during day time.\nDoes not add NVGs to inventory!</English>
|
||||||
|
<Polish>Zakłada NVG w nocy i zdejmuje je w ciągu dnia.\nNie dodaje NVG do ekwipunku!</Polish>
|
||||||
|
<German>Rüstet NVG nachts aus dem Inventar aus und entfernt es tagsüber.\nFügt keine NVGs zum Inventar hinzu!</German>
|
||||||
|
<Italian>Equipaggia NVG dall'inventario durante la notte, e li mette nell'inventario durante il giorno.\nNon aggiunge NVG all'inventario se non sono presenti.</Italian>
|
||||||
|
<Korean>야간에는 야투경을 소지품에 장착하고 주간에는 장착을 해제합니다.\n주의! 소지품에 야투경을 추가하는 것이 아닙니다!</Korean>
|
||||||
|
<French>Equipe des JVN pendant la nuit et les déséquipe le jour.\nN'ajoute pas les JVN dans l'intenvaire !</French>
|
||||||
|
<Portuguese>Equipa o NVG do inventário durante a noite e desequipa durante o dia.\nNão adiciona NVGs ao inventário!</Portuguese>
|
||||||
|
<Japanese>インベントリ内の暗視装置を夜間に装備し、日中は解除し収納します。\nこれはNVGをインベントリに追加しません。</Japanese>
|
||||||
|
</Key>
|
||||||
</Package>
|
</Package>
|
||||||
</Project>
|
</Project>
|
||||||
|
@ -12,6 +12,6 @@ class Extended_PreInit_EventHandlers {
|
|||||||
|
|
||||||
class Extended_PostInit_EventHandlers {
|
class Extended_PostInit_EventHandlers {
|
||||||
class ADDON {
|
class ADDON {
|
||||||
init = QUOTE(call COMPILE_FILE(XEH_postInit));
|
init = QUOTE(call COMPILE_SCRIPT(XEH_postInit));
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: Dystopian
|
* Author: Dystopian
|
||||||
* Check if Eject action can be shown.
|
* Check if Eject action can be shown.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: PabstMirror
|
* Author: PabstMirror
|
||||||
* Adds actions to a drone
|
* Adds actions to a drone
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: PabstMirror
|
* Author: PabstMirror
|
||||||
* Get drone's target location, if aimed at infinity it will return a virtual point
|
* Get drone's target location, if aimed at infinity it will return a virtual point
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: PabstMirror
|
* Author: PabstMirror
|
||||||
* Modify the current waypoint of a drone
|
* Modify the current waypoint of a drone
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: PabstMirror
|
* Author: PabstMirror
|
||||||
* Set new waypoint of a drone
|
* Set new waypoint of a drone
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "script_component.hpp"
|
#include "..\script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: Dystopian
|
* Author: Dystopian
|
||||||
* Add Eject action to vehicle if needed.
|
* Add Eject action to vehicle if needed.
|
||||||
|
@ -1 +0,0 @@
|
|||||||
#include "\z\ace\addons\aircraft\script_component.hpp"
|
|
@ -61,16 +61,19 @@
|
|||||||
<Polish>30mm Odłamkowo-Burzące - Zapalające</Polish>
|
<Polish>30mm Odłamkowo-Burzące - Zapalające</Polish>
|
||||||
<Turkish>30mm Yüksek Patlayıcı </Turkish>
|
<Turkish>30mm Yüksek Patlayıcı </Turkish>
|
||||||
<German>30mm Hochexplosiv/Brandladung</German>
|
<German>30mm Hochexplosiv/Brandladung</German>
|
||||||
<Japanese>30mm 焼夷りゅう弾</Japanese>
|
<Italian>30mm Esplosivo/Incendiario</Italian>
|
||||||
|
<Japanese>30mm 焼夷榴弾</Japanese>
|
||||||
<Czech>30mm Tříštivo-trhavá zápalná střela</Czech>
|
<Czech>30mm Tříštivo-trhavá zápalná střela</Czech>
|
||||||
<Russian>30мм Осколочно-Фугасный Зажигательный</Russian>
|
<Russian>30мм Осколочно-Фугасный Зажигательный</Russian>
|
||||||
<Korean>30mm 고폭소이탄</Korean>
|
<Korean>30mm 고폭소이탄</Korean>
|
||||||
|
<Portuguese>30mm Alto-Explosivo Incendiária</Portuguese>
|
||||||
</Key>
|
</Key>
|
||||||
<Key ID="STR_ACE_Aircraft_GatlingDescriptionShortHEI">
|
<Key ID="STR_ACE_Aircraft_GatlingDescriptionShortHEI">
|
||||||
<English>30mm HEI</English>
|
<English>30mm HEI</English>
|
||||||
<Spanish>30mm AEI</Spanish>
|
<Spanish>30mm AEI</Spanish>
|
||||||
<Chinese>30毫米高爆燃燒</Chinese>
|
<Chinese>30毫米高爆燃燒</Chinese>
|
||||||
<Chinesesimp>30mm 高爆燃烧</Chinesesimp>
|
<Chinesesimp>30mm 高爆燃烧</Chinesesimp>
|
||||||
|
<Italian>30mm HEI</Italian>
|
||||||
<French>30 mm HEI</French>
|
<French>30 mm HEI</French>
|
||||||
<Polish>30mm OB-Z</Polish>
|
<Polish>30mm OB-Z</Polish>
|
||||||
<Turkish>30mm HEI</Turkish>
|
<Turkish>30mm HEI</Turkish>
|
||||||
@ -79,6 +82,7 @@
|
|||||||
<Czech>30mm HEI</Czech>
|
<Czech>30mm HEI</Czech>
|
||||||
<Russian>30мм ОФЗ</Russian>
|
<Russian>30мм ОФЗ</Russian>
|
||||||
<Korean>30mm HEI</Korean>
|
<Korean>30mm HEI</Korean>
|
||||||
|
<Portuguese>30mm AEI</Portuguese>
|
||||||
</Key>
|
</Key>
|
||||||
<Key ID="STR_ACE_Aircraft_GatlingDescriptionAP">
|
<Key ID="STR_ACE_Aircraft_GatlingDescriptionAP">
|
||||||
<English>30mm DU Armor Piercing</English>
|
<English>30mm DU Armor Piercing</English>
|
||||||
@ -86,13 +90,15 @@
|
|||||||
<Chinese>30毫米貧化鈾穿甲彈 </Chinese>
|
<Chinese>30毫米貧化鈾穿甲彈 </Chinese>
|
||||||
<Chinesesimp>30 mm 贫铀穿甲</Chinesesimp>
|
<Chinesesimp>30 mm 贫铀穿甲</Chinesesimp>
|
||||||
<French>30 mm UA Armor Piercing</French>
|
<French>30 mm UA Armor Piercing</French>
|
||||||
|
<Italian>30mm AP Uranio Impoverito</Italian>
|
||||||
<Polish>30mm Zubożony Uran - Przebijające</Polish>
|
<Polish>30mm Zubożony Uran - Przebijające</Polish>
|
||||||
<Turkish>30mm DU Zırh Delici</Turkish>
|
<Turkish>30mm DU Zırh Delici</Turkish>
|
||||||
<German>30mm abgereichertes panzerbrechendes Uraniumgeschoss</German>
|
<German>30mm abgereichertes panzerbrechendes Uraniumgeschoss</German>
|
||||||
<Japanese>30mm DU 徹甲弾</Japanese>
|
<Japanese>30mm 劣化ウラン徹甲弾</Japanese>
|
||||||
<Czech>30mm Protipancéřová střela z ochuzeného Uranu</Czech>
|
<Czech>30mm Protipancéřová střela z ochuzeného Uranu</Czech>
|
||||||
<Russian>30мм ОУ Бронебойный Снаряд</Russian>
|
<Russian>30мм ОУ Бронебойный Снаряд</Russian>
|
||||||
<Korean>30mm 열화우라늄 철갑탄</Korean>
|
<Korean>30mm 열화우라늄 철갑탄</Korean>
|
||||||
|
<Portuguese>30mm DU Perfurante de Blindagem</Portuguese>
|
||||||
</Key>
|
</Key>
|
||||||
<Key ID="STR_ACE_Aircraft_GatlingDescriptionShortAP">
|
<Key ID="STR_ACE_Aircraft_GatlingDescriptionShortAP">
|
||||||
<English>30mm DU AP</English>
|
<English>30mm DU AP</English>
|
||||||
@ -100,6 +106,7 @@
|
|||||||
<Chinese>30毫米貧鈾穿甲</Chinese>
|
<Chinese>30毫米貧鈾穿甲</Chinese>
|
||||||
<Chinesesimp>30mm 贫铀穿甲</Chinesesimp>
|
<Chinesesimp>30mm 贫铀穿甲</Chinesesimp>
|
||||||
<French>30 mm UA AP</French>
|
<French>30 mm UA AP</French>
|
||||||
|
<Italian>30mm AP-UI</Italian>
|
||||||
<Polish>30mm ZU-P</Polish>
|
<Polish>30mm ZU-P</Polish>
|
||||||
<Turkish>30mm DU AP</Turkish>
|
<Turkish>30mm DU AP</Turkish>
|
||||||
<German>30mm DU-PB</German>
|
<German>30mm DU-PB</German>
|
||||||
@ -107,6 +114,7 @@
|
|||||||
<Czech>30 mm DU AP</Czech>
|
<Czech>30 mm DU AP</Czech>
|
||||||
<Russian>30мм ОУ БС</Russian>
|
<Russian>30мм ОУ БС</Russian>
|
||||||
<Korean>30mm DU AP</Korean>
|
<Korean>30mm DU AP</Korean>
|
||||||
|
<Portuguese>30mm DU AP</Portuguese>
|
||||||
</Key>
|
</Key>
|
||||||
<Key ID="STR_ACE_Aircraft_GatlingDescriptionCM41">
|
<Key ID="STR_ACE_Aircraft_GatlingDescriptionCM41">
|
||||||
<English>30mm Combat Mix 4:1 DU:HEI</English>
|
<English>30mm Combat Mix 4:1 DU:HEI</English>
|
||||||
@ -114,13 +122,15 @@
|
|||||||
<Chinese>30毫米戰鬥混合彈4:1 穿甲:高爆</Chinese>
|
<Chinese>30毫米戰鬥混合彈4:1 穿甲:高爆</Chinese>
|
||||||
<Chinesesimp>30mm 战斗混合 穿甲/高爆 4:1</Chinesesimp>
|
<Chinesesimp>30mm 战斗混合 穿甲/高爆 4:1</Chinesesimp>
|
||||||
<French>30 mm Mix de Combat 4:1 UA:HEI</French>
|
<French>30 mm Mix de Combat 4:1 UA:HEI</French>
|
||||||
|
<Italian>30mm Misto 4:1 UI:HEI</Italian>
|
||||||
<Polish>30mm Mieszanka bojowa 4:1 ZU:OB-Z</Polish>
|
<Polish>30mm Mieszanka bojowa 4:1 ZU:OB-Z</Polish>
|
||||||
<Turkish>30mm Combat Mix 4:1 DU:HEI</Turkish>
|
<Turkish>30mm Combat Mix 4:1 DU:HEI</Turkish>
|
||||||
<German>30mm Kampfmischung 4:1 DU:HEB</German>
|
<German>30mm Kampfmischung 4:1 DU:HEB</German>
|
||||||
<Japanese>30mm コンバット ミックス 4:1 DU:HEI</Japanese>
|
<Japanese>30mm コンバット ミックス 4:1 劣化ウラン徹甲弾:焼夷榴弾</Japanese>
|
||||||
<Czech>30mm Bojový Mix 4:1 DU:HEI</Czech>
|
<Czech>30mm Bojový Mix 4:1 DU:HEI</Czech>
|
||||||
<Russian>30мм Смешанное боепитание 4:1 ОУ:ОФЗ</Russian>
|
<Russian>30мм Смешанное боепитание 4:1 ОУ:ОФЗ</Russian>
|
||||||
<Korean>30mm 4:1 열화:고폭소이</Korean>
|
<Korean>30mm 4:1 열화:고폭소이</Korean>
|
||||||
|
<Portuguese>30mm Mix de Combate 4:1 DU:AEI</Portuguese>
|
||||||
</Key>
|
</Key>
|
||||||
<Key ID="STR_ACE_Aircraft_GatlingDescriptionShortCM41">
|
<Key ID="STR_ACE_Aircraft_GatlingDescriptionShortCM41">
|
||||||
<English>30mm CM 4:1</English>
|
<English>30mm CM 4:1</English>
|
||||||
@ -128,6 +138,7 @@
|
|||||||
<Chinese>30毫米 穿高混合 4:1</Chinese>
|
<Chinese>30毫米 穿高混合 4:1</Chinese>
|
||||||
<Chinesesimp>30mm 穿爆混合 4:1</Chinesesimp>
|
<Chinesesimp>30mm 穿爆混合 4:1</Chinesesimp>
|
||||||
<French>30 mm MdC 4:1</French>
|
<French>30 mm MdC 4:1</French>
|
||||||
|
<Italian>30mm Misto 4:1</Italian>
|
||||||
<Polish>30mm MB 4:1</Polish>
|
<Polish>30mm MB 4:1</Polish>
|
||||||
<Turkish>30mm CM 4:1</Turkish>
|
<Turkish>30mm CM 4:1</Turkish>
|
||||||
<German>30mm KM 4:1</German>
|
<German>30mm KM 4:1</German>
|
||||||
@ -142,10 +153,11 @@
|
|||||||
<Chinese>30毫米戰鬥混合彈5:1 穿甲:高爆</Chinese>
|
<Chinese>30毫米戰鬥混合彈5:1 穿甲:高爆</Chinese>
|
||||||
<Chinesesimp>30 mm 战斗混合 穿甲/高爆 5:1</Chinesesimp>
|
<Chinesesimp>30 mm 战斗混合 穿甲/高爆 5:1</Chinesesimp>
|
||||||
<French>30 mm Mix de Combat 5:1 UA:HEI</French>
|
<French>30 mm Mix de Combat 5:1 UA:HEI</French>
|
||||||
|
<Italian>30mm Misto 5:1 UI:HEI</Italian>
|
||||||
<Polish>30mm Mieszanka bojowa 5:1 ZU:OB-Z</Polish>
|
<Polish>30mm Mieszanka bojowa 5:1 ZU:OB-Z</Polish>
|
||||||
<Turkish>30mm Combat Mix 5:1 DU:HEI</Turkish>
|
<Turkish>30mm Combat Mix 5:1 DU:HEI</Turkish>
|
||||||
<German>30mm Kampfmischung 5:1 DU:HEB</German>
|
<German>30mm Kampfmischung 5:1 DU:HEB</German>
|
||||||
<Japanese>30mm コンバット ミックス 5:1 DU:HEI</Japanese>
|
<Japanese>30mm コンバット ミックス 5:1 劣化ウラン徹甲弾:焼夷榴弾</Japanese>
|
||||||
<Czech>30mm Bojový Mix 5:1 DU:HEI</Czech>
|
<Czech>30mm Bojový Mix 5:1 DU:HEI</Czech>
|
||||||
<Russian>30мм Смешанное боепитание 5:1 ОУ:ОФЗ</Russian>
|
<Russian>30мм Смешанное боепитание 5:1 ОУ:ОФЗ</Russian>
|
||||||
<Korean>30mm 5:1 열화:고폭소이</Korean>
|
<Korean>30mm 5:1 열화:고폭소이</Korean>
|
||||||
@ -156,6 +168,7 @@
|
|||||||
<Chinese>30毫米 穿高混合 5:1</Chinese>
|
<Chinese>30毫米 穿高混合 5:1</Chinese>
|
||||||
<Chinesesimp>30mm 穿爆混合 5:1</Chinesesimp>
|
<Chinesesimp>30mm 穿爆混合 5:1</Chinesesimp>
|
||||||
<French>30 mm MdC 5:1</French>
|
<French>30 mm MdC 5:1</French>
|
||||||
|
<Italian>30mm Misto 5:1</Italian>
|
||||||
<Polish>30mm MB 5:1</Polish>
|
<Polish>30mm MB 5:1</Polish>
|
||||||
<Turkish>30mm CM 5:1</Turkish>
|
<Turkish>30mm CM 5:1</Turkish>
|
||||||
<German>30mm KM 5:1</German>
|
<German>30mm KM 5:1</German>
|
||||||
|
@ -75,11 +75,11 @@ class GVAR(sorts) {
|
|||||||
scope = 2;
|
scope = 2;
|
||||||
displayName = CSTRING(sortByProtectionBallistic);
|
displayName = CSTRING(sortByProtectionBallistic);
|
||||||
tabs[] = {{3,4,6}, {}};
|
tabs[] = {{3,4,6}, {}};
|
||||||
statement = QUOTE([ARR_3(_this, 1000000, 1000)] call FUNC(sortStatement_protection));
|
statement = QUOTE([ARR_3(_this,1000000,1000)] call FUNC(sortStatement_protection));
|
||||||
};
|
};
|
||||||
|
|
||||||
class ACE_protectionExplosive: ACE_protectionBallistic {
|
class ACE_protectionExplosive: ACE_protectionBallistic {
|
||||||
displayName = CSTRING(sortByProtectionExplosive);
|
displayName = CSTRING(sortByProtectionExplosive);
|
||||||
statement = QUOTE([ARR_3(_this, 1000, 1000000)] call FUNC(sortStatement_protection));
|
statement = QUOTE([ARR_3(_this,1000,1000000)] call FUNC(sortStatement_protection));
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -24,7 +24,7 @@ class GVAR(stats) {
|
|||||||
priority = 1.5;
|
priority = 1.5;
|
||||||
displayName = "$STR_a3_rscdisplayarsenal_stat_weight";
|
displayName = "$STR_a3_rscdisplayarsenal_stat_weight";
|
||||||
showText = 1;
|
showText = 1;
|
||||||
textStatement = QUOTE([ARR_2(_this select 0, _this select 1)] call FUNC(statTextStatement_mass));
|
textStatement = QUOTE([ARR_2(_this select 0,_this select 1)] call FUNC(statTextStatement_mass));
|
||||||
tabs[] = {{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14}, {0,1,2,3,4,5,6,7}};
|
tabs[] = {{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14}, {0,1,2,3,4,5,6,7}};
|
||||||
};
|
};
|
||||||
class ACE_rateOfFire: statBase {
|
class ACE_rateOfFire: statBase {
|
||||||
@ -34,8 +34,8 @@ class GVAR(stats) {
|
|||||||
displayName = "$STR_a3_rscdisplayarsenal_stat_rof";
|
displayName = "$STR_a3_rscdisplayarsenal_stat_rof";
|
||||||
showBar = 1;
|
showBar = 1;
|
||||||
showText = 1;
|
showText = 1;
|
||||||
barStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_2([ARR_2(-1.4, 0.31)], [ARR_2(1, 0.01)])])] call FUNC(statBarStatement_rateOfFIre));
|
barStatement = QUOTE([ARR_3((_this select 0) select 0,_this select 1,[ARR_2([ARR_2(-1.4,0.31)],[ARR_2(1,0.01)])])] call FUNC(statBarStatement_rateOfFIre));
|
||||||
textStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_2([ARR_2(-1.4, 0.31)], false)])] call FUNC(statTextStatement_rateOfFire));
|
textStatement = QUOTE([ARR_3((_this select 0) select 0,_this select 1,[ARR_2([ARR_2(-1.4,0.31)],false)])] call FUNC(statTextStatement_rateOfFire));
|
||||||
tabs[] = {{0,1}, {}};
|
tabs[] = {{0,1}, {}};
|
||||||
};
|
};
|
||||||
class ACE_accuracy: statBase {
|
class ACE_accuracy: statBase {
|
||||||
@ -45,8 +45,8 @@ class GVAR(stats) {
|
|||||||
displayName = "$STR_a3_rscdisplayarsenal_stat_dispersion";
|
displayName = "$STR_a3_rscdisplayarsenal_stat_dispersion";
|
||||||
showBar = 1;
|
showBar = 1;
|
||||||
showText = 1;
|
showText = 1;
|
||||||
barStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_3([ARR_2(-4, -1.7)], [ARR_2(1, 0.01)], true)])] call FUNC(statBarStatement_accuracy));
|
barStatement = QUOTE([ARR_3((_this select 0) select 0,_this select 1,[ARR_3([ARR_2(-4,-1.7)],[ARR_2(1,0.01)],true)])] call FUNC(statBarStatement_accuracy));
|
||||||
textStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_2([ARR_2(-4, -1.7)], false)])] call FUNC(statTextStatement_accuracy));
|
textStatement = QUOTE([ARR_3((_this select 0) select 0,_this select 1,[ARR_2([ARR_2(-4,-1.7)],false)])] call FUNC(statTextStatement_accuracy));
|
||||||
tabs[] = {{0,1}, {}};
|
tabs[] = {{0,1}, {}};
|
||||||
};
|
};
|
||||||
class ACE_maxZeroing: statBase {
|
class ACE_maxZeroing: statBase {
|
||||||
@ -55,7 +55,7 @@ class GVAR(stats) {
|
|||||||
stats[] = {"maxZeroing"};
|
stats[] = {"maxZeroing"};
|
||||||
displayName = "$STR_a3_rscdisplayarsenal_stat_range";
|
displayName = "$STR_a3_rscdisplayarsenal_stat_range";
|
||||||
showBar = 1;
|
showBar = 1;
|
||||||
barStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_3([ARR_2(0, 2500)], [ARR_2(0.01, 1)], false)])] call FUNC(statBarStatement_default));
|
barStatement = QUOTE([ARR_3((_this select 0) select 0,_this select 1,[ARR_3([ARR_2(0,2500)],[ARR_2(0.01,1)],false)])] call FUNC(statBarStatement_default));
|
||||||
tabs[] = {{0,1,2}, {}};
|
tabs[] = {{0,1,2}, {}};
|
||||||
};
|
};
|
||||||
class ACE_impact: statBase {
|
class ACE_impact: statBase {
|
||||||
@ -64,7 +64,7 @@ class GVAR(stats) {
|
|||||||
stats[] = {"hit", "initSpeed"};
|
stats[] = {"hit", "initSpeed"};
|
||||||
displayName = "$STR_a3_rscdisplayarsenal_stat_impact";
|
displayName = "$STR_a3_rscdisplayarsenal_stat_impact";
|
||||||
showBar = 1;
|
showBar = 1;
|
||||||
barStatement = QUOTE([ARR_3(_this select 0, _this select 1, [ARR_2([ARR_2(0, 3.2)], [ARR_2(-1, 1100)])])] call FUNC(statBarStatement_impact));
|
barStatement = QUOTE([ARR_3(_this select 0,_this select 1,[ARR_2([ARR_2(0,3.2)],[ARR_2(-1,1100)])])] call FUNC(statBarStatement_impact));
|
||||||
tabs[] = {{0,1,2}, {}};
|
tabs[] = {{0,1,2}, {}};
|
||||||
};
|
};
|
||||||
class ACE_scopeMagnification: statBase {
|
class ACE_scopeMagnification: statBase {
|
||||||
@ -105,7 +105,7 @@ class GVAR(stats) {
|
|||||||
stats[] = {"passthrough"};
|
stats[] = {"passthrough"};
|
||||||
displayName = "$STR_a3_rscdisplayarsenal_stat_passthrough";
|
displayName = "$STR_a3_rscdisplayarsenal_stat_passthrough";
|
||||||
showBar = 1;
|
showBar = 1;
|
||||||
barStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_3([ARR_2(0, 0.63)], [ARR_2(0.01, 1)], false)])] call FUNC(statBarStatement_default));
|
barStatement = QUOTE([ARR_3((_this select 0) select 0,_this select 1,[ARR_3([ARR_2(0,0.63)],[ARR_2(0.01,1)],false)])] call FUNC(statBarStatement_default));
|
||||||
tabs[] = {{3,4,6}, {}};
|
tabs[] = {{3,4,6}, {}};
|
||||||
};
|
};
|
||||||
class ACE_explosiveResistance: statBase {
|
class ACE_explosiveResistance: statBase {
|
||||||
@ -114,7 +114,7 @@ class GVAR(stats) {
|
|||||||
stats[] = {"armor"};
|
stats[] = {"armor"};
|
||||||
displayName = "$STR_a3_rscdisplayarsenal_stat_armor";
|
displayName = "$STR_a3_rscdisplayarsenal_stat_armor";
|
||||||
showBar = 1;
|
showBar = 1;
|
||||||
barStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_3([ARR_2(0, 0.80)], [ARR_2(0.01, 1)], false)])] call FUNC(statBarStatement_default));
|
barStatement = QUOTE([ARR_3((_this select 0) select 0,_this select 1,[ARR_3([ARR_2(0,0.80)],[ARR_2(0.01,1)],false)])] call FUNC(statBarStatement_default));
|
||||||
tabs[] = {{3,4,6}, {}};
|
tabs[] = {{3,4,6}, {}};
|
||||||
};
|
};
|
||||||
class ACE_load: statBase {
|
class ACE_load: statBase {
|
||||||
@ -123,7 +123,7 @@ class GVAR(stats) {
|
|||||||
stats[] = {"maximumLoad"};
|
stats[] = {"maximumLoad"};
|
||||||
displayName = "$STR_a3_rscdisplayarsenal_stat_load";
|
displayName = "$STR_a3_rscdisplayarsenal_stat_load";
|
||||||
showBar = 1;
|
showBar = 1;
|
||||||
barStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_3([ARR_2(0, 500)], [ARR_2(0.01, 1)], false)])] call FUNC(statBarStatement_default));
|
barStatement = QUOTE([ARR_3((_this select 0) select 0,_this select 1,[ARR_3([ARR_2(0,500)],[ARR_2(0.01,1)],false)])] call FUNC(statBarStatement_default));
|
||||||
tabs[] = {{3,4,5}, {}};
|
tabs[] = {{3,4,5}, {}};
|
||||||
};
|
};
|
||||||
class ACE_smokeChemTTL: statBase {
|
class ACE_smokeChemTTL: statBase {
|
||||||
@ -133,7 +133,7 @@ class GVAR(stats) {
|
|||||||
displayName = CSTRING(statTTL);
|
displayName = CSTRING(statTTL);
|
||||||
showText = 1;
|
showText = 1;
|
||||||
textStatement = QUOTE(call FUNC(statTextStatement_smokeChemTTL));
|
textStatement = QUOTE(call FUNC(statTextStatement_smokeChemTTL));
|
||||||
condition = QUOTE((configName (_this select 1)) isKindOf [ARR_2('smokeShell', configFile >> 'CfgMagazines')]);
|
condition = QUOTE((configName (_this select 1)) isKindOf [ARR_2('smokeShell',configFile >> 'CfgMagazines')]);
|
||||||
tabs[] = {{}, {5}};
|
tabs[] = {{}, {5}};
|
||||||
};
|
};
|
||||||
class ACE_explosionTime: statBase {
|
class ACE_explosionTime: statBase {
|
||||||
@ -152,4 +152,13 @@ class GVAR(stats) {
|
|||||||
textStatement = QUOTE(call FUNC(statTextStatement_magCount));
|
textStatement = QUOTE(call FUNC(statTextStatement_magCount));
|
||||||
tabs[] = {{}, {4}};
|
tabs[] = {{}, {4}};
|
||||||
};
|
};
|
||||||
|
class ACE_illuminators: statBase {
|
||||||
|
scope = 2;
|
||||||
|
priority = 1;
|
||||||
|
stats[] = {};
|
||||||
|
displayName = CSTRING(statIlluminators);
|
||||||
|
showText = 1;
|
||||||
|
textStatement = QUOTE(call FUNC(statTextStatement_illuminators));
|
||||||
|
tabs[] = {{}, {1}};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
@ -28,7 +28,7 @@ class Cfg3DEN {
|
|||||||
w = QUOTE(130 * ATTRIBUTE_W);
|
w = QUOTE(130 * ATTRIBUTE_W);
|
||||||
h = QUOTE(106.83 * ATTRIBUTE_H);
|
h = QUOTE(106.83 * ATTRIBUTE_H);
|
||||||
attributeLoad = QUOTE([ARR_2(_this,+_value)] call FUNC(attributeLoad));
|
attributeLoad = QUOTE([ARR_2(_this,+_value)] call FUNC(attributeLoad));
|
||||||
attributeSave = QUOTE(uiNamespace getVariable [ARR_2(QQGVAR(attributeValue),[ARR_2([], 0)])]);
|
attributeSave = QUOTE(uiNamespace getVariable [ARR_2(QQGVAR(attributeValue),[ARR_2([],0)])]);
|
||||||
class controls {
|
class controls {
|
||||||
class ModeTitle: ctrlStatic {
|
class ModeTitle: ctrlStatic {
|
||||||
idc = -1;
|
idc = -1;
|
||||||
@ -40,7 +40,7 @@ class Cfg3DEN {
|
|||||||
};
|
};
|
||||||
class Mode: ctrlToolbox {
|
class Mode: ctrlToolbox {
|
||||||
idc = IDC_ATTRIBUTE_MODE;
|
idc = IDC_ATTRIBUTE_MODE;
|
||||||
onToolBoxSelChanged = QUOTE([ARR_2(ctrlParentControlsGroup (_this select 0), _this select 1)] call FUNC(attributeMode));
|
onToolBoxSelChanged = QUOTE([ARR_2(ctrlParentControlsGroup (_this select 0),_this select 1)] call FUNC(attributeMode));
|
||||||
x = QUOTE(5 * ATTRIBUTE_W);
|
x = QUOTE(5 * ATTRIBUTE_W);
|
||||||
y = QUOTE(5 * ATTRIBUTE_H);
|
y = QUOTE(5 * ATTRIBUTE_H);
|
||||||
w = QUOTE(125 * ATTRIBUTE_W);
|
w = QUOTE(125 * ATTRIBUTE_W);
|
||||||
@ -55,7 +55,7 @@ class Cfg3DEN {
|
|||||||
};
|
};
|
||||||
class Category: ctrlToolboxPictureKeepAspect {
|
class Category: ctrlToolboxPictureKeepAspect {
|
||||||
idc = IDC_ATTRIBUTE_CATEGORY;
|
idc = IDC_ATTRIBUTE_CATEGORY;
|
||||||
onToolBoxSelChanged = QUOTE([ARR_2(ctrlParentControlsGroup (_this select 0), _this select 1)] call FUNC(attributeCategory));
|
onToolBoxSelChanged = QUOTE([ARR_2(ctrlParentControlsGroup (_this select 0),_this select 1)] call FUNC(attributeCategory));
|
||||||
x = QUOTE(5 * ATTRIBUTE_W);
|
x = QUOTE(5 * ATTRIBUTE_W);
|
||||||
y = QUOTE(15 * ATTRIBUTE_H);
|
y = QUOTE(15 * ATTRIBUTE_H);
|
||||||
w = QUOTE(125 * ATTRIBUTE_W);
|
w = QUOTE(125 * ATTRIBUTE_W);
|
||||||
@ -129,7 +129,8 @@ class Cfg3DEN {
|
|||||||
};
|
};
|
||||||
class SearchButton: ctrlButtonPicture {
|
class SearchButton: ctrlButtonPicture {
|
||||||
idc = IDC_ATTRIBUTE_SEARCH_BUTTON;
|
idc = IDC_ATTRIBUTE_SEARCH_BUTTON;
|
||||||
onButtonClick = QUOTE( \
|
#pragma hemtt suppress pw3_padded_arg
|
||||||
|
onButtonClick = QUOTE(\
|
||||||
params ['_searchButton']; \
|
params ['_searchButton']; \
|
||||||
private _controlsGroup = ctrlParentControlsGroup _searchButton; \
|
private _controlsGroup = ctrlParentControlsGroup _searchButton; \
|
||||||
private _searchBar = _controlsGroup controlsGroupCtrl IDC_ATTRIBUTE_SEARCHBAR; \
|
private _searchBar = _controlsGroup controlsGroupCtrl IDC_ATTRIBUTE_SEARCHBAR; \
|
||||||
@ -147,7 +148,8 @@ class Cfg3DEN {
|
|||||||
class SearchBar: ctrlEdit {
|
class SearchBar: ctrlEdit {
|
||||||
idc = IDC_ATTRIBUTE_SEARCHBAR;
|
idc = IDC_ATTRIBUTE_SEARCHBAR;
|
||||||
onKeyUp = QUOTE([ctrlParentControlsGroup (_this select 0)] call FUNC(attributeAddItems));
|
onKeyUp = QUOTE([ctrlParentControlsGroup (_this select 0)] call FUNC(attributeAddItems));
|
||||||
onMouseButtonClick = QUOTE( \
|
#pragma hemtt suppress pw3_padded_arg
|
||||||
|
onMouseButtonClick = QUOTE(\
|
||||||
params [ARR_2('_searchBar','_button')]; \
|
params [ARR_2('_searchBar','_button')]; \
|
||||||
if (_button != 1) exitWith {}; \
|
if (_button != 1) exitWith {}; \
|
||||||
_searchBar ctrlSetText ''; \
|
_searchBar ctrlSetText ''; \
|
||||||
|
@ -26,7 +26,7 @@ class Display3DEN {
|
|||||||
class GVAR(portVALoadouts) {
|
class GVAR(portVALoadouts) {
|
||||||
text = CSTRING(portLoadoutsText);
|
text = CSTRING(portLoadoutsText);
|
||||||
picture = QPATHTOEF(common,data\logo_ace3_ca.paa);
|
picture = QPATHTOEF(common,data\logo_ace3_ca.paa);
|
||||||
action = QUOTE(call DFUNC(portVALoadouts););
|
action = QUOTE(call DFUNC(portVALoadouts));
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
PREP(addAction);
|
||||||
PREP(addDefaultLoadout);
|
PREP(addDefaultLoadout);
|
||||||
PREP(addListBoxItem);
|
PREP(addListBoxItem);
|
||||||
PREP(addRightPanelButton);
|
PREP(addRightPanelButton);
|
||||||
@ -20,6 +21,7 @@ PREP(buttonActionsPage);
|
|||||||
PREP(buttonCargo);
|
PREP(buttonCargo);
|
||||||
PREP(buttonClearAll);
|
PREP(buttonClearAll);
|
||||||
PREP(buttonExport);
|
PREP(buttonExport);
|
||||||
|
PREP(buttonFavorites);
|
||||||
PREP(buttonHide);
|
PREP(buttonHide);
|
||||||
PREP(buttonImport);
|
PREP(buttonImport);
|
||||||
PREP(buttonLoadoutsDelete);
|
PREP(buttonLoadoutsDelete);
|
||||||
@ -37,11 +39,14 @@ PREP(fillLeftPanel);
|
|||||||
PREP(fillLoadoutsList);
|
PREP(fillLoadoutsList);
|
||||||
PREP(fillRightPanel);
|
PREP(fillRightPanel);
|
||||||
PREP(fillSort);
|
PREP(fillSort);
|
||||||
|
PREP(getVirtualItems);
|
||||||
PREP(handleActions);
|
PREP(handleActions);
|
||||||
PREP(handleLoadoutsSearchbar);
|
PREP(handleLoadoutsSearchbar);
|
||||||
PREP(handleMouse);
|
PREP(handleMouse);
|
||||||
PREP(handleScrollWheel);
|
PREP(handleScrollWheel);
|
||||||
PREP(handleSearchbar);
|
PREP(handleSearchbar);
|
||||||
|
PREP(handleSearchInputChanged);
|
||||||
|
PREP(handleSearchModeToggle);
|
||||||
PREP(handleStats);
|
PREP(handleStats);
|
||||||
PREP(initBox);
|
PREP(initBox);
|
||||||
PREP(itemInfo);
|
PREP(itemInfo);
|
||||||
@ -54,6 +59,7 @@ PREP(onLoadoutsClose);
|
|||||||
PREP(onLoadoutsOpen);
|
PREP(onLoadoutsOpen);
|
||||||
PREP(onMouseButtonDown);
|
PREP(onMouseButtonDown);
|
||||||
PREP(onMouseButtonUp);
|
PREP(onMouseButtonUp);
|
||||||
|
PREP(onPanelDblClick);
|
||||||
PREP(onSelChangedLeft);
|
PREP(onSelChangedLeft);
|
||||||
PREP(onSelChangedLoadouts);
|
PREP(onSelChangedLoadouts);
|
||||||
PREP(onSelChangedRight);
|
PREP(onSelChangedRight);
|
||||||
@ -62,6 +68,7 @@ PREP(open3DEN);
|
|||||||
PREP(openBox);
|
PREP(openBox);
|
||||||
PREP(portVALoadouts);
|
PREP(portVALoadouts);
|
||||||
PREP(refresh);
|
PREP(refresh);
|
||||||
|
PREP(removeAction);
|
||||||
PREP(removeBox);
|
PREP(removeBox);
|
||||||
PREP(removeDefaultLoadout);
|
PREP(removeDefaultLoadout);
|
||||||
PREP(removeSort);
|
PREP(removeSort);
|
||||||
@ -88,6 +95,7 @@ PREP(statBarStatement_impact);
|
|||||||
PREP(statBarStatement_rateOfFIre);
|
PREP(statBarStatement_rateOfFIre);
|
||||||
PREP(statTextStatement_accuracy);
|
PREP(statTextStatement_accuracy);
|
||||||
PREP(statTextStatement_explosionTime);
|
PREP(statTextStatement_explosionTime);
|
||||||
|
PREP(statTextStatement_illuminators);
|
||||||
PREP(statTextStatement_magCount);
|
PREP(statTextStatement_magCount);
|
||||||
PREP(statTextStatement_mass);
|
PREP(statTextStatement_mass);
|
||||||
PREP(statTextStatement_rateOfFire);
|
PREP(statTextStatement_rateOfFire);
|
||||||
@ -98,4 +106,5 @@ PREP(updateCamPos);
|
|||||||
PREP(updateRightPanel);
|
PREP(updateRightPanel);
|
||||||
PREP(updateCurrentItemsList);
|
PREP(updateCurrentItemsList);
|
||||||
PREP(updateUniqueItemsList);
|
PREP(updateUniqueItemsList);
|
||||||
|
PREP(updateVirtualItemsFlat);
|
||||||
PREP(verifyLoadout);
|
PREP(verifyLoadout);
|
||||||
|
@ -18,6 +18,15 @@ GVAR(lastSortDirectionRight) = DESCENDING;
|
|||||||
[QGVAR(removeDefaultLoadout), LINKFUNC(removeDefaultLoadout)] call CBA_fnc_addEventHandler;
|
[QGVAR(removeDefaultLoadout), LINKFUNC(removeDefaultLoadout)] call CBA_fnc_addEventHandler;
|
||||||
[QGVAR(renameDefaultLoadout), LINKFUNC(renameDefaultLoadout)] call CBA_fnc_addEventHandler;
|
[QGVAR(renameDefaultLoadout), LINKFUNC(renameDefaultLoadout)] call CBA_fnc_addEventHandler;
|
||||||
|
|
||||||
|
[QGVAR(refresh), {
|
||||||
|
params ["_object"];
|
||||||
|
|
||||||
|
// If the arsenal is already open, refresh arsenal display
|
||||||
|
if (!isNil QGVAR(currentBox) && {GVAR(currentBox) isEqualTo _object}) then {
|
||||||
|
[true, true] call FUNC(refresh);
|
||||||
|
};
|
||||||
|
}] call CBA_fnc_addEventHandler;
|
||||||
|
|
||||||
[QGVAR(broadcastFace), {
|
[QGVAR(broadcastFace), {
|
||||||
params ["_unit", "_face"];
|
params ["_unit", "_face"];
|
||||||
_unit setFace _face;
|
_unit setFace _face;
|
||||||
@ -149,3 +158,25 @@ GVAR(lastSortDirectionRight) = DESCENDING;
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
}] call CBA_fnc_addEventHandler;
|
}] call CBA_fnc_addEventHandler;
|
||||||
|
|
||||||
|
// Compatibility for RHS attachment system. Also used by NIArms.
|
||||||
|
// Will only work for ACE_player, different arsenal centers will be ignored. RHS limitation.
|
||||||
|
if (!isNil "rhs_fnc_accGripod") then {
|
||||||
|
[QEGVAR(arsenal,weaponItemChanged), {
|
||||||
|
params ["_weapon", "_item", "_itemIndex"];
|
||||||
|
if (EGVAR(arsenal,center) != ACE_player) exitWith {};
|
||||||
|
|
||||||
|
switch (_itemIndex) do {
|
||||||
|
case ITEM_INDEX_SIDE: {
|
||||||
|
call rhs_fnc_anpeq15_rail;
|
||||||
|
};
|
||||||
|
case ITEM_INDEX_BIPOD: {
|
||||||
|
// Need this call to make sure RHS's functions are set
|
||||||
|
call rhs_fnc_accGripod;
|
||||||
|
if (getText (configFile >> "CfgWeapons" >> _item >> "rhs_grip_type") == "") then {
|
||||||
|
call rhs_grip_deinitialize;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}] call CBA_fnc_addEventHandler;
|
||||||
|
};
|
||||||
|
@ -9,7 +9,7 @@ PREP_RECOMPILE_START;
|
|||||||
#include "XEH_PREP.hpp"
|
#include "XEH_PREP.hpp"
|
||||||
PREP_RECOMPILE_END;
|
PREP_RECOMPILE_END;
|
||||||
|
|
||||||
#include "initSettings.sqf"
|
#include "initSettings.inc.sqf"
|
||||||
|
|
||||||
// Arsenal events
|
// Arsenal events
|
||||||
[QGVAR(statsToggle), {
|
[QGVAR(statsToggle), {
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
#define WIDTH_TOTAL (safezoneW - 2 * (93 * GRID_W))
|
#define WIDTH_TOTAL (safezoneW - 2 * (93 * GRID_W))
|
||||||
#define WIDTH_GAP (WIDTH_TOTAL / 100)
|
#define WIDTH_GAP (WIDTH_TOTAL / 100)
|
||||||
#define WIDTH_SINGLE ((WIDTH_TOTAL - 6 * WIDTH_GAP) / 5)
|
#define WIDTH_SINGLE ((WIDTH_TOTAL - 7 * WIDTH_GAP) / 6)
|
||||||
|
|
||||||
// IDDs
|
// IDDs
|
||||||
#define IDD_MISSION 46
|
#define IDD_MISSION 46
|
||||||
@ -19,6 +19,17 @@
|
|||||||
#define ASCENDING 0
|
#define ASCENDING 0
|
||||||
#define DESCENDING 1
|
#define DESCENDING 1
|
||||||
|
|
||||||
|
// Favorites
|
||||||
|
#define FAVORITES_COLOR (GVAR(favoritesColor) + [1])
|
||||||
|
|
||||||
|
// Attachments
|
||||||
|
#define ITEM_INDEX_MUZZLE 0
|
||||||
|
#define ITEM_INDEX_SIDE 1
|
||||||
|
#define ITEM_INDEX_OPTIC 2
|
||||||
|
#define ITEM_INDEX_BIPOD 3
|
||||||
|
#define ITEM_INDEX_MAGAZINE 4
|
||||||
|
#define ITEM_INDEX_MAGAZINE_SECONDARY 5
|
||||||
|
|
||||||
// IDCs
|
// IDCs
|
||||||
#define IDD_ace_arsenal 1127001
|
#define IDD_ace_arsenal 1127001
|
||||||
#define IDC_mouseArea 0
|
#define IDC_mouseArea 0
|
||||||
@ -39,6 +50,7 @@
|
|||||||
#define IDC_buttonLoadouts 1003
|
#define IDC_buttonLoadouts 1003
|
||||||
#define IDC_buttonExport 1004
|
#define IDC_buttonExport 1004
|
||||||
#define IDC_buttonImport 1005
|
#define IDC_buttonImport 1005
|
||||||
|
#define IDC_buttonFavorites 1006
|
||||||
#define IDC_infoBox 11
|
#define IDC_infoBox 11
|
||||||
#define IDC_infoBackground 1101
|
#define IDC_infoBackground 1101
|
||||||
#define IDC_infoName 1102
|
#define IDC_infoName 1102
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user