diff --git a/.github/workflows/arma.yml b/.github/workflows/arma.yml index 528a9306c9..0e99365496 100644 --- a/.github/workflows/arma.yml +++ b/.github/workflows/arma.yml @@ -16,7 +16,9 @@ jobs: run: python3 tools/sqf_validator.py - name: Validate Config run: python3 tools/config_style_checker.py - - name: Validate String Tables + - name: Validate Stringtables + run: python3 tools/stringtable_validator.py + - name: Check Strings run: python3 tools/check_strings.py - name: Check for BOM uses: arma-actions/bom-check@master @@ -32,14 +34,16 @@ jobs: build: runs-on: ubuntu-latest - container: acemod/armake:master steps: - name: Checkout the source code uses: actions/checkout@master - - name: Build (armake) - run: armake --version && make -j4 - - name: Upload Artifact - uses: actions/upload-artifact@master + - name: Build using HEMTT + uses: arma-actions/hemtt@master with: - name: ace3-${{ github.sha }}-nobin - path: '@ace' + command: build --ci # no --release due to https://github.com/synixebrett/HEMTT/issues/227 + # https://github.com/actions/upload-artifact/issues/3#issuecomment-524442814 + # - name: Upload Artifact + # uses: actions/upload-artifact@master + # with: + # name: ace3-${{ github.sha }}-nobin + # path: '@ace' diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index 5022af32f4..b0263abf8c 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -20,5 +20,5 @@ jobs: - name: Deploy if: github.repository == 'acemod/ACE3' && ! contains(github.event.head_commit.message, '[ci skip]') env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GH_TOKEN: ${{ secrets.DOCS_TOKEN }} run: python3 tools/deploy.py diff --git a/.gitignore b/.gitignore index 6a37c85d53..a8f6a13221 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,10 @@ @* *.zip release/* +releases/* +hemtt +hemtt.exe tools/temp -tools/armake.exe *.cache *.pbo texHeaders.bin diff --git a/AUTHORS.txt b/AUTHORS.txt index e05d1d7d11..26979b22ea 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -125,6 +125,7 @@ PiZZADOX <509thParachuteInfantry@gmail.com> Phyma pokertour Professor +Pterolatypus QuickDagger rakowozz ramius86 diff --git a/Makefile b/Makefile deleted file mode 100644 index f0b0810e3e..0000000000 --- a/Makefile +++ /dev/null @@ -1,91 +0,0 @@ -VERSION = $(shell cat "VERSION") -PREFIX = ace -BIN = @ace -ZIP = ace3 -FLAGS = -i include -w unquoted-string -w redefinition-wo-undef -VERSION_FILES = README.md docs/README_DE.md docs/README_PL.md mod.cpp - -MAJOR = $(word 1, $(subst ., ,$(VERSION))) -MINOR = $(word 2, $(subst ., ,$(VERSION))) -PATCH = $(word 3, $(subst ., ,$(VERSION))) -BUILD = $(word 4, $(subst ., ,$(VERSION))) -VERSION_S = $(MAJOR).$(MINOR).$(PATCH) -GIT_HASH = $(shell git log -1 --pretty=format:"%H" | head -c 8) - -ifeq ($(OS), Windows_NT) - ARMAKE = ./tools/armake.exe # Downloaded via make.ps (rename armake_wXY.exe otherwise) -else - ARMAKE = armake -endif - -$(BIN)/addons/$(PREFIX)_%.pbo: addons/% - @mkdir -p $(BIN)/addons - @echo " PBO $@" - @${ARMAKE} build ${FLAGS} -f -e "version=$(GIT_HASH)" $< $@ - -$(BIN)/optionals/$(PREFIX)_%.pbo: optionals/% - @mkdir -p $(BIN)/optionals - @echo " PBO $@" - @${ARMAKE} build ${FLAGS} -f -e "version=$(GIT_HASH)" $< $@ - -# Shortcut for building single addons (eg. "make .pbo") -%.pbo: - "$(MAKE)" $(MAKEFLAGS) $(patsubst %, $(BIN)/addons/$(PREFIX)_%, $@) - -all: $(patsubst addons/%, $(BIN)/addons/$(PREFIX)_%.pbo, $(wildcard addons/*)) \ - $(patsubst optionals/%, $(BIN)/optionals/$(PREFIX)_%.pbo, $(wildcard optionals/*)) - -filepatching: - "$(MAKE)" $(MAKEFLAGS) FLAGS="-w unquoted-string -p" - -$(BIN)/keys/%.biprivatekey: - @mkdir -p $(BIN)/keys - @echo " KEY $@" - @${ARMAKE} keygen -f $(patsubst $(BIN)/keys/%.biprivatekey, $(BIN)/keys/%, $@) - -$(BIN)/addons/$(PREFIX)_%.pbo.$(PREFIX)_$(VERSION)-$(GIT_HASH).bisign: $(BIN)/addons/$(PREFIX)_%.pbo $(BIN)/keys/$(PREFIX)_$(VERSION).biprivatekey - @echo " SIG $@" - @${ARMAKE} sign -f -s $@ $(BIN)/keys/$(PREFIX)_$(VERSION).biprivatekey $< - -$(BIN)/optionals/$(PREFIX)_%.pbo.$(PREFIX)_$(VERSION)-$(GIT_HASH).bisign: $(BIN)/optionals/$(PREFIX)_%.pbo $(BIN)/keys/$(PREFIX)_$(VERSION).biprivatekey - @echo " SIG $@" - @${ARMAKE} sign -f -s $@ $(BIN)/keys/$(PREFIX)_$(VERSION).biprivatekey $< - -signatures: $(patsubst addons/%, $(BIN)/addons/$(PREFIX)_%.pbo.$(PREFIX)_$(VERSION)-$(GIT_HASH).bisign, $(wildcard addons/*)) \ - $(patsubst optionals/%, $(BIN)/optionals/$(PREFIX)_%.pbo.$(PREFIX)_$(VERSION)-$(GIT_HASH).bisign, $(wildcard optionals/*)) - -extensions: $(wildcard extensions/*/*) - cd extensions/build && cmake .. && make - find ./extensions/build/ \( -name "*.so" -o -name "*.dll" \) -exec cp {} ./ \; - -extensions-win64: $(wildcard extensions/*/*) - cd extensions/build && CXX=$(eval $(which g++-w64-mingw-i686)) cmake .. && make - -version: - @echo " VER $(VERSION)" - $(shell sed -i -r -s 's/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/$(VERSION)/g' $(VERSION_FILES)) - $(shell sed -i -r -s 's/[0-9]+\.[0-9]+\.[0-9]+/$(VERSION_S)/g' $(VERSION_FILES)) - @echo -e "#define MAJOR $(MAJOR)\n#define MINOR $(MINOR)\n#define PATCHLVL $(PATCH)\n#define BUILD $(BUILD)" > "addons/main/script_version.hpp" - $(shell sed -i -r -s 's/ACE_VERSION_MAJOR [0-9]+/ACE_VERSION_MAJOR $(MAJOR)/g' extensions/CMakeLists.txt) - $(shell sed -i -r -s 's/ACE_VERSION_MINOR [0-9]+/ACE_VERSION_MINOR $(MINOR)/g' extensions/CMakeLists.txt) - $(shell sed -i -r -s 's/ACE_VERSION_REVISION [0-9]+/ACE_VERSION_REVISION $(PATCH)/g' extensions/CMakeLists.txt) - -commit: - @echo " GIT commit release preparation" - @git add -A - @git diff-index --quiet HEAD || git commit -am "Prepare release $(VERSION_S)" -q - -push: commit - @echo " GIT push release preparation" - @git push -q - -release: clean version commit - @"$(MAKE)" $(MAKEFLAGS) signatures - @echo " ZIP $(ZIP)_$(VERSION_S).zip" - @cp *.dll *.so mod.cpp README.md docs/README_DE.md docs/README_PL.md AUTHORS.txt LICENSE logo_ace3_ca.paa meta.cpp $(BIN) - @zip -qr $(ZIP)_$(VERSION_S).zip $(BIN) - -clean: - rm -rf $(BIN) $(ZIP)_*.zip - -.PHONY: all filepatching signatures extensions extensions-win64 version commit push release clean diff --git a/VERSION b/VERSION deleted file mode 100644 index d87a10b470..0000000000 --- a/VERSION +++ /dev/null @@ -1 +0,0 @@ -3.12.6.43 diff --git a/addons/advanced_ballistics/stringtable.xml b/addons/advanced_ballistics/stringtable.xml index 118057afe0..964487129d 100644 --- a/addons/advanced_ballistics/stringtable.xml +++ b/addons/advanced_ballistics/stringtable.xml @@ -6,7 +6,7 @@ Pokaż inf. o wietrze Mostra indicazioni del vento Показать информацию о ветре - Afficher les info sur le vent + Afficher les infos sur le vent Mostrar información del viento Windinformationen anzeigen Széladatok mutatása @@ -89,10 +89,11 @@ 총구속도 변화적용 啟用槍口初速變化 启用枪口初速变化 - Activer les variations de la vitesse initiale + Activer la variation de vitesse initiale Aktywuj wariację prędkości wylotowej Вкл. вариацию начальной скорости Ativar Variação de Velocidade no Freio de boca (muzzle) + Povoluje variantu rychlosti ústí Simulates slight variations in muzzle velocity between each shot @@ -102,10 +103,11 @@ 각 사격 사이에 총구속도 변화를 시뮬레이션 합니다. 模擬每發子彈的槍口初速都略有不同 模拟每发子弹的枪口初速都略有不同 - Simule les légères variations + Simule de légères variations de vitesse initiale entre chaque tir. Symuluje lekkie zmiany w prędkości wylotowej między każdym strzałem Имитирует небольшие изменения начальной скорости при каждом выстреле Simula pequenas variações na velocidade do Freio de Boca entre cada tiro + Simuluje malé odchylky v úsťové rychlosti mezi jednotlivými výstřely Enable Ammo Temperature Simulation @@ -114,7 +116,7 @@ Simulation der Munitionstemperatur aktivieren Povolit simulaci teploty munice Ativar simulação de temperatura de munição - Active la simulation de la température + Activer la simulation de la température Lőszer-hő szimuláció engedélyezése Симуляция температуры для боеприпасов Abilita simulazione della temperatura delle munizioni @@ -130,7 +132,7 @@ Munitionstemperatur hat Einfluss auf die Mündungsgeschwindigkeit Úsťová rychlost je závislá na teplotě munice A velocidade de saída varia com a temperatura da munição - La température de la munition influe sur la vélocité intiale + La vitesse initiale varie en fonction de la température des munitions. A kezdősebesség a lőszer hőmérsékletétől függően változó Начальная скорость пули зависит от температуры La velocità dello sparo varia a seconda della temperatura delle munizioni @@ -162,7 +164,7 @@ Lauflänge beeinflusst Mündungsgeschwindigkeit Úsťová rychlost je závislá na délce hlavně A velocidade de saída caria com o comprimento do cano - La longueur du canon influe sur la vélocité initale + La vitesse initiale varie en fonction de la longueur du canon. A kezdősebesség a cső hosszától függően változó Начальная скорость пули зависит от длины ствола La velocità di sparo varia a seconda della lunghezza della canna @@ -194,7 +196,7 @@ Aktiviere Geschossspureffekt für hohe Kaliber (bei Benutzung von Optiken mit starker Vergrößerung) Aktivuje efekt trasírek z vysokokaliberních zbraní (viditelné pouze skrze výkonnou optiku) Ativa o efeito traçante de projétil para projéteis de alto calibre (somente visível quando observado por miras telescópicas) - Active une tracante pour les munitions de gros calibre (seulement visible en utilisant des optiques avancées) + Active un effet de balle traçante pour les munitions de gros calibre (seulement visible en utilisant une optique à fort grossissement) 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ó) Включает эффект следов пуль для больших калибров (видны только через мощную оптику) Abilita effetto dei proiettili traccianti di alto calibro (visibile solo attraverso ottiche ad alto potenziale) @@ -226,7 +228,7 @@ Definiert das Intervall zwischen den einzelnen Simulationsschritten Určuje interval mezi každým výpočtem Define o intervalo entre cada cálculo - Définit un intervalle de calcul entre deux simulations + Définit l'intervalle entre chacune des étapes de calcul. Meghatározza a számítási lépések közötti időintervallumot Определяет временной интервал между вычислениями Definisce l'intervallo tra ogni step di calcolo @@ -258,7 +260,7 @@ Gibt den Radius (in Metern) um den Spieler an, bei dem die erweiterte Ballistik auf Geschosse angewendet wird Určuje oblast kolem hráče (v metrech), kde je pokročilá balistika použita na projektil Define o raio ao redor do jogador (em metros) onde a balística avançada será aplicada aos projéteis - Définit le rayon autour du joueur (en mètres) d'application de la balistique avancée + Définit le rayon autour du joueur (en mètres), dans lequel la balistique avancée est appliquée aux projectiles. Meghatározza a játékos körüli hatókört (méterben), ahol a lövedékek fejlett ballisztikát használnak Определяет радиус вокруг игрока (в метрах), в котором продвинутая баллистика применяется к снарядам Definisce il raggio attorno al giocatore (in metri) per cui la Balistica Avanzata è applicata ai proiettili @@ -273,7 +275,7 @@ Moduł ten pozwala aktywować zaawansowaną balistykę biorącą przy obliczeniach trajektorii lotu pocisku pod uwagę takie rzeczy jak temperatura powietrza, ciśnienie atmosferyczne, wilgotność powietrza, siły Coriolisa i Eotvosa, grawitację a także broń z jakiej wykonywany jest strzał oraz rodzaj amunicji. Wszystko to sprowadza się na bardzo dokładne odwzorowanie balistyki. Tento modul umožňuje aktivovat pokročilou balistiku, která vypočítává trajektorii kulky a bere do úvahy věci jako je teplota vzduchu, atmosférický tlak, vlhkost vzduchu, gravitaci, typ munice a zbraň, ze které je náboj vystřelen. To vše přispívá k velmi přesné balistice. Este módulo permite que você ative cálculos de balística avançada, fazendo a trajetória do projétil levar em consideração coisas como temperatura do ar, pressão atmosférica, umidade, força de Coriolis, a gravidade, o modelo da arma no qual o disparo é realizado e o tipo de munição. Tudo isso acrescenta-se a um balística muito precisa. - Ce module active la simulation de balistique avancée - les projectiles sont influencés par des variables comme le vent, la température, la pression atmosphérique, l'humidité, la gravité, le type de munition et l'arme avec laquelles ils sont tirés. + Ce module permet une simulation balistique avancée ; c'est à dire que la trajectoire des projectiles est influencée par des facteurs tels que la température de l'air, la pression atmosphérique, l'humidité, la gravité, le type de munition et l'arme depuis laquelle elle est tirée. 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. Этот модуль включает симуляцию продвинутой баллистики - при этом на траекторию полета снаряда влияют различные параметры, такие как температура воздуха, атмосферное давление, влажность, гравитация, тип боеприпаса и оружия, из которого произвели выстрел. 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. diff --git a/addons/advanced_fatigue/functions/fnc_handleEffects.sqf b/addons/advanced_fatigue/functions/fnc_handleEffects.sqf index fbbb685217..e9452c8c2c 100644 --- a/addons/advanced_fatigue/functions/fnc_handleEffects.sqf +++ b/addons/advanced_fatigue/functions/fnc_handleEffects.sqf @@ -27,6 +27,7 @@ params ["_unit", "_fatigue", "_speed", "_overexhausted"]; // - Audible effects ---------------------------------------------------------- GVAR(lastBreath) = GVAR(lastBreath) + 1; if (_fatigue > 0.4 && {GVAR(lastBreath) > (_fatigue * -10 + 9)} && {!underwater _unit}) then { + if (!isGameFocused) exitWith {}; switch (true) do { case (_fatigue < 0.6): { playSound (QGVAR(breathLow) + str(floor random 6)); diff --git a/addons/advanced_fatigue/functions/fnc_handleStaminaBar.sqf b/addons/advanced_fatigue/functions/fnc_handleStaminaBar.sqf index 73ba6179a9..d73a6deb0d 100644 --- a/addons/advanced_fatigue/functions/fnc_handleStaminaBar.sqf +++ b/addons/advanced_fatigue/functions/fnc_handleStaminaBar.sqf @@ -25,10 +25,12 @@ _posAndSize set [2, _stamina * GVAR(staminaBarWidth)]; _staminaBarContainer ctrlSetPosition _posAndSize; // - Opacity ------------------------------------------------------------------ -if (_stamina >= 0.8) then { - _staminaBarContainer ctrlSetFade (0.9 + 0.1 * (_stamina - 0.8) / 0.2); -} else { - _staminaBarContainer ctrlSetFade (0.9 * _stamina / 0.8); +if (GVAR(fadeStaminaBar)) then { + if (_stamina >= 0.8) then { + _staminaBarContainer ctrlSetFade (0.9 + 0.1 * (_stamina - 0.8) / 0.2); + } else { + _staminaBarContainer ctrlSetFade (0.9 * _stamina / 0.8); + }; }; // - Color -------------------------------------------------------------------- diff --git a/addons/advanced_fatigue/initSettings.sqf b/addons/advanced_fatigue/initSettings.sqf index 4e44d75132..fa90aa9a4b 100644 --- a/addons/advanced_fatigue/initSettings.sqf +++ b/addons/advanced_fatigue/initSettings.sqf @@ -4,8 +4,14 @@ [LSTRING(Enabled), LSTRING(Enabled_Description)], LSTRING(DisplayName), true, - true, - {[QGVAR(enabled), _this] call EFUNC(common,cbaSettings_settingChanged)}, + 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_Settings_fnc_init; @@ -24,6 +30,21 @@ } ] call CBA_Settings_fnc_init; +[ + QGVAR(fadeStaminaBar), + "CHECKBOX", + [LSTRING(FadeStaminaBar), LSTRING(FadeStaminaBar_Description)], + LSTRING(DisplayName), + true, + false, { + if (!_this && GVAR(enabled) && GVAR(enableStaminaBar)) then { + private _staminaBarContainer = uiNamespace getVariable [QGVAR(staminaBarContainer), controlNull]; + _staminaBarContainer ctrlSetFade 0; + _staminaBarContainer ctrlCommit 0; + }; + } +] call CBA_Settings_fnc_init; + [ QGVAR(performanceFactor), "SLIDER", diff --git a/addons/advanced_fatigue/stringtable.xml b/addons/advanced_fatigue/stringtable.xml index 73c4f83624..5134b379e5 100644 --- a/addons/advanced_fatigue/stringtable.xml +++ b/addons/advanced_fatigue/stringtable.xml @@ -13,6 +13,7 @@ ACE Zaawansowane Zmęczenie ACE Продвинутая усталость ACE Fadiga Avançada + ACE Pokročilá únava Performance Factor @@ -26,6 +27,7 @@ 体力值 Фактор производительности Fator de Performance + Faktor výkonu Influences the overall performance of all players with no custom factor. Higher means better. @@ -33,12 +35,13 @@ 個別の因数を設定されていない、全てのプレイヤーのあらゆるパフォーマンスに影響を与えます。 値が高ければ高いほど、良い効果が得られます。 Wpływa na ogólną wydolność organizmu u wszystkich graczy bez ustawionego niestandardowego współczynnika. Więcej znaczy lepiej. 모든 성능이 임의로 설정된 값 없이 영향받습니다. 값이 클수록 더 나은 성능을 발휘합니다 - Influence les performances générales de tous les joueurs sans facteurs personalisés. Une valeur plus élevée implique de meilleures performances. + 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. Influenza qualsiasi prestazione di tutti i giocatori smuniti di un fattore personalizzato. Maggiore significa migliore. 影響所有玩家的體力表現,值越高代表體力越好 影响所有玩家的体力表现,值越高代表体力越好 Влияет на общую производительность игроков, у которых не задано персональное значение. Influencia na performance geral de todos os jogadores sem nenhum fator personalizado. Quanto maior, melhor. + Ovlivňuje celkový výkon všech hráčů bez vlastního faktoru. Vyšší znamená lépe. Influences the overall performance of this unit. Higher means better. @@ -46,12 +49,13 @@ このユニットのあらゆるパフォーマンスに影響を与えます。 値が高ければ高いほど、良い効果が得られます。 Wpływa na ogólną wydolność tej jednostki. Więcej znaczy lepiej. 모든 성능이 이 단위로 영향을 받습니다. 값이 클수록 더 나은 성능을 발휘합니다 - Influence les performances générales de cette unité. Une valeur plus élevée implique de meilleures performances. + Impacte la performance globale de cette unité.\nPlus la valeur est élevée, plus le joueur est performant. Influenza qualsiasi prestazione di questa unità. Maggiore significa migliore. 影響這個單位的體力表現,值越高代表體力越好 影响这个单位的体力表现,值越高代表体力越好 Влияет на общую производительность юнита. Influencia na performance geral dessa unidade. Quanto maior, melhor. + Ovlivňuje celkový výkon této jednotky. Vyšší znamená lépe. Recovery Factor @@ -65,6 +69,7 @@ 回复值 Фактор восстановления Fator de Recuperação + Faktor zotavení Changes how fast the player recovers when resting. Higher is faster. @@ -72,12 +77,13 @@ プレイヤーが休憩をとる際に、どのくらいの速度でスタミナ回復するかを設定します。 値が高ければ高いほど、早くなります。 Wpływa na czas regeneracji podczas postoju. Więcej znaczy szybciej. 얼마나 빨리 회복하는지를 바꿉니다. 값이 클수록 더 나은 성능을 발휘합니다 - Change la vitesse à laquelle les joueurs récupèrent leur endurance lorsqu'ils se reposent. Une valeur plus élevée implique une récupération plus rapide. + 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. Determina in quanto tempo il giocatore recupera quando rilassato. Maggiore significa migliore. 決定玩家休息多久就能回復體力,值越高恢復越快 决定玩家休息多久就能回复体力,值越高恢复越快 Изменяет скорость восстановления игрока во время отдыха. Чем выше, тем быстрее. Altera o quão rápido um jogador recupera quando descansando. Quanto maior, mais rápido. + Mění, jak rychle se hráč zotaví, když odpočívá. Vyšší je rychlejší. Load Factor @@ -85,12 +91,13 @@ 重量因数 Współczynnik masy ekwipunku 부담 요인 - Facteur d'encombrement + Facteur de charge Fattore Caricamento 負重量 负重量 Фактор нагрузки Fator de Carga + Faktor zatížení Increases or decreases how much weight influences the players performance. Zero means equipment weight has no performance influence. @@ -98,12 +105,13 @@ 装備重量がプレイヤーのパフォーマンスにもたらす影響を増減させます。 値をゼロに設定した場合、装備重量はパフォーマンスに影響を与えません。 Zmniejsza lub zwiększa wpływ ciężaru ekwipunku na wydolność gracza. Zero oznacza kompletny brak wpływu na wydolność. 플레이어가 무게에 따라 얼마나 영향받는지를 증가시키거나 감소시킵니다. 0의 경우 플레이어가 장비 무게에 영향받지 않습니다. - Augmente ou réduit l'influence que le poids à sur les performances des joueurs. Zéro implique que le poids de l'équipement n'a pas d'influence sur les performances. + 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. Incrementa o decrementa quanto il peso influenza le prestazioni dei giocatori. Zero significa che il peso dell'equipaggiamento non ha alcuna influenza nelle prestazioni. 增加或降低玩家所能承受的負重量. 如設定值為0, 代表裝備的重量將不會影響到玩家的體力表現 增加或降低玩家所能承受的负重量. 如设定值为0, 代表装备的重量将不会影响到玩家的体力表现 Увеличивает или уменьшает вес, влияющий на производительность игроков. Ноль означает, что вес снаряжения не влияет на производительность Aumenta ou diminui o quanto o peso influencia a performance do jogador. Zero significa que o peso não tem impacto algum na performance. + Zvyšuje nebo snižuje, jak velká váha ovlivňuje výkon hráče. Nulová hodnota znamená, že hmotnost zařízení nemá žádný vliv na výkon. Terrain Gradient Factor @@ -117,6 +125,7 @@ 地形陡峭影响值 Фактор местности Fator de Inclinação do Terreno + Faktor stoupání terénu Sets how much steep terrain increases stamina loss. Higher means higher stamina loss. @@ -124,12 +133,13 @@ 急勾配の地形がどれだけスタミナ消費を増大させるかを設定します。 値が高ければ高いほど、スタミナ消費が大きくなります。 Wpływa na to w jakim stopniu stromy teren wpływa na utratę wytrzymałości. Więcej oznacza szybszą utratę wytrzymałości. 경사도에 따라 얼마나 피로해지는지를 정합니다. 값이 클수록 더 많은 피로를 유발합니다. - Configure l'influence de l'inclinaison du terrain sur la perte d'endurance. Une valeur plus élevée implique une perte d'endurance plus importante. + Définit à quel point un terrain escarpé réduit l'endurance du joueur.\nPlus la valeur est élevée, moins le joueur est endurant. Stabilisce quanto la pendenza del terreno incrementa la perdita della stamina. Maggiore significa più stamina persa. 設定陡峭的地形將會影響多少體力的流失,值越高代表體力流失越快 设定陡峭的地形将会影响多少体力的流,失值越高代表体力流失越快 Устанавливает, насколько крутая местность увеличивает потерю выносливости. Чем выше, тем быстрее теряется выносливость. Define o quanto que um terreno íngrime aumenta na perda de estamina. Quanto maior, maior a perda de estamina. + Nastavuje, o kolik strmý terén zvyšuje ztrátu výdrže. Vyšší znamená vyšší ztrátu výdrže. Sway factor @@ -137,11 +147,12 @@ 手ぶれ因数 抖动因数 抖動因素 - Facteur de stabilisation + Facteur de tremblement Fattore di oscillazione Czynnik kołysania Фактор колебания прицела Fator de Balanço de Mira + Faktor kývání Influences the amount of weapon sway. Higher means more sway. @@ -149,11 +160,12 @@ 武器を持つ手のぶれ度合いを設定します。 値が高ければ高いほど、手ぶれが強くなります。 影响手持武器的晃动程度,数值越高,抖动的越厉害. 影響手持武器晃動程度,數值越高抖動越厲害 - Influence les mouvements de l'arme, une valeur plus élevée signifie plus de mouvements + Influe sur l'amplitude du tremblement de l'arme, une valeur plus élevée signifie plus de tremblement. Influenza l'ammontare di oscillazione dell'arma. Maggiore significa più oscillazione. Wpływa na poziom kołysania broni. Większa ilość znaczy większe kołysanie. Влияет на колебания прицела оружия. Чем выше - тем больше. Influencia a quantidade de balanço da mira da arma. Quanto maior, mais balanço. + Ovlivňuje množství kývání zbraní. Vyšší znamená více kývání. Enabled @@ -167,6 +179,7 @@ 启用 Включена Ativado + Povoleno Enables/disables Advanced Fatigue. @@ -180,6 +193,7 @@ 启用/关闭进阶体力. Включает / Отключает Продвинутую усталость Ativa/Desativa Fadiga Avançada. + Aktivuje / deaktivuje Pokročilou únavu. Show stamina bar @@ -193,6 +207,7 @@ 显示体力条 Показать шкалу усталости Exibir barra de estamina + Zobrazit lištu výdrže Shows the stamina bar. @@ -206,6 +221,17 @@ 显示体力条 Показывает шкалу усталости. Exibe a barra de estamina. + Zobrazuje lištu výdrže + + + Fade Stamina bar automatically + Blende Ausdauerleiste automatisch aus + 體力條自動淡去 + + + Adjusts transparency of the bar based on stamina status. + Passt die Transparenz der Ausdauerleiste abhängig vom Ausdauerstatus an. + 依照目前的體力程度調整體力條之透明度 diff --git a/addons/advanced_throwing/functions/fnc_drawArc.sqf b/addons/advanced_throwing/functions/fnc_drawArc.sqf index 906650627f..bd7bc7a661 100644 --- a/addons/advanced_throwing/functions/fnc_drawArc.sqf +++ b/addons/advanced_throwing/functions/fnc_drawArc.sqf @@ -53,7 +53,7 @@ for "_i" from 0.05 to 1.45 step 0.1 do { if (lineIntersects [_prevTrajASL, _newTrajASL]) then { // Checks the "VIEW" LOD _cross = 2; // 2: View LOD Block (Red) } else { - if (!((lineIntersectsSurfaces [_prevTrajASL, _newTrajASL, _activeThrowable, ACE_player, true, 1, "GEOM", "FIRE"]) isEqualTo [])) then { + if !((lineIntersectsSurfaces [_prevTrajASL, _newTrajASL, _activeThrowable, ACE_player, true, 1, "GEOM", "FIRE"]) isEqualTo []) then { _cross = 3; // 3: GEOM/FIRE LOD Block (Yellow) - pass a3 bulding glass, but blocked on some CUP glass }; }; diff --git a/addons/advanced_throwing/stringtable.xml b/addons/advanced_throwing/stringtable.xml index 08042e09ea..a8c54bc6e0 100644 --- a/addons/advanced_throwing/stringtable.xml +++ b/addons/advanced_throwing/stringtable.xml @@ -13,6 +13,7 @@ 進階投擲 进阶投掷 Arremesso Avançado + Pokročilé házení Allows changing advanced throwing behaviour. @@ -26,6 +27,7 @@ 允許使用更多不同的投擲方式 允许使用更多不同的投掷方式 Permite mudar o comportamento do arremesso avançado. + Umožňuje změnit pokročilé chování při házení. Enable Advanced Throwing @@ -39,6 +41,7 @@ 啟用進階投擲 启用进阶投掷 Ativa o Arremesso Avançado + Povolit pokročilé házení Enables advanced throwing system. @@ -52,6 +55,7 @@ 啟用進階投擲系統 启用进阶投掷系统 Ativa o sistema de Arremesso Avançado. + Umožňuje pokročilý systém házení. Show Throw Arc @@ -65,6 +69,7 @@ 顯示投擲軌道 显示投掷轨道 Mostrar o Arco de Arremesso + Zobrazit oblouk vrhu Enables visualization of the throw arc (where throwable will fly). diff --git a/addons/ai/stringtable.xml b/addons/ai/stringtable.xml index 6a307a500e..f3538b38b7 100644 --- a/addons/ai/stringtable.xml +++ b/addons/ai/stringtable.xml @@ -1,10 +1,10 @@ - - + + Invalid position provided. Ungültige Position - Position invalide fourni + Position invalide fournie. 位置が無効です。 Posizione invalida fornita. 提供的位置無效 @@ -14,10 +14,10 @@ Указана неверная позиция Posição inválida fornecida. - + No units provided. Keine Einheit ausgewählt - Aucune unité fourni + Aucune unité fournie. ユニットがありません。 Nessuna unità fornita. 找不到可用的單位 @@ -27,10 +27,10 @@ Не указаны юниты Nenhuma unidade fornecida. - + There aren't enough positions to place all units. Es gibt nicht genug Positionen, um alle Einheiten zu platzieren - Il n'y a pas assez de positions pour placer toutes les unités + Il n'y a pas assez de positions pour placer toutes les unités. 全ユニットを置くために十分な位置がありません。 Non ci sono abbastanza posizioni per piazzare tutte le unità. 沒有足夠的位置能擺放所有單位 @@ -40,10 +40,10 @@ Недостаточно позиций для размещения всех юнитов Não há posições suficientes para colocar todas as unidades. - + No building found. Kein Gebäude gefunden - Aucun bâtiment trouvé + Aucun bâtiment trouvé. 建物がありません。 Nessun edificio trovato. 沒找到建築物 diff --git a/addons/arsenal/RscDisplayMain.hpp b/addons/arsenal/RscDisplayMain.hpp index b20b99e31e..50b7c28505 100644 --- a/addons/arsenal/RscDisplayMain.hpp +++ b/addons/arsenal/RscDisplayMain.hpp @@ -9,7 +9,6 @@ class RscDisplayMain: RscStandardDisplay { class Controls: Controls { class Bootcamp; - class VRTraining; class Arsenal; class GVAR(mission): Arsenal { idc = -1; diff --git a/addons/arsenal/functions/fnc_addDefaultLoadout.sqf b/addons/arsenal/functions/fnc_addDefaultLoadout.sqf index 2c18a38ca6..2ec3b9c80d 100644 --- a/addons/arsenal/functions/fnc_addDefaultLoadout.sqf +++ b/addons/arsenal/functions/fnc_addDefaultLoadout.sqf @@ -23,6 +23,81 @@ if (isNil QGVAR(defaultLoadoutsList)) then { GVAR(defaultLoadoutsList) = []; }; +for "_dataIndex" from 0 to 10 do { + switch (_dataIndex) do { + + case 0; + case 1; + case 2; + case 8: { + if (count (_loadout select _dataIndex) > 0) then { + + private _weapon = (_loadout select _dataIndex) select 0; + if (_weapon != "") then { + + private _baseWeapon = _weapon call BIS_fnc_baseWeapon; + if (_weapon != _baseWeapon) then { + (_loadout select _dataIndex) set [0, _baseWeapon]; + }; + }; + }; + }; + + case 3; + case 4; + case 5: { + if (count (_loadout select _dataIndex) > 0) then { + private _containerContents = (_loadout select _dataIndex) select 1; + + if (count _containerContents > 0) then { + + { + if (count _x == 2) then { + + if ((_x select 0) isEqualType "") then { + + private _item = (_x select 0); + if (_item != "") then { + + private _uniqueBaseCfgText = getText (configFile >> "CfgWeapons" >> _item >> "ace_arsenal_uniqueBase"); + if (_uniqueBaseCfgText != "") then { + + _x set [0, _uniqueBaseCfgText]; + }; + }; + } else { + private _weapon = (_x select 0) select 0; + if (_weapon != "") then { + + private _baseWeapon = _weapon call BIS_fnc_baseWeapon; + if (_weapon != _baseWeapon) then { + (_x select 0)set [0, _baseWeapon]; + }; + }; + }; + }; + } foreach _containerContents; + }; + }; + }; + + case 9: { + for "_subIndex" from 0 to 4 do { + private _item = (_loadout select _dataIndex) select _subIndex; + + if (_item != "") then { + + private _uniqueBaseCfgText = getText (configFile >> "CfgWeapons" >> _item >> "ace_arsenal_uniqueBase"); + if (_uniqueBaseCfgText != "") then { + + (_loadout select _dataIndex) set [_subIndex, _uniqueBaseCfgText]; + }; + }; + }; + }; + }; +}; + private _loadoutIndex = (+(GVAR(defaultLoadoutsList))) findIf {(_x select 0) == _name}; if (_loadoutIndex == -1) then { GVAR(defaultLoadoutsList) pushBack [_name, _loadout]; diff --git a/addons/arsenal/functions/fnc_fillRightPanel.sqf b/addons/arsenal/functions/fnc_fillRightPanel.sqf index a5f60c593c..626afecc3d 100644 --- a/addons/arsenal/functions/fnc_fillRightPanel.sqf +++ b/addons/arsenal/functions/fnc_fillRightPanel.sqf @@ -78,7 +78,7 @@ private _compatibleMagazines = [[[], []], [[], []], [[], []]]; private _index = _forEachIndex; { - private _subIndex = _forEachIndex; + private _subIndex = _forEachIndex min 1; { ((_compatibleMagazines select _index) select _subIndex) pushBackUnique (configName (configFile >> "CfgMagazines" >> _x)) } foreach ([getArray (_weaponConfig >> _x >> "magazines"), getArray (_weaponConfig >> "magazines")] select (_x == "this")); diff --git a/addons/arsenal/stringtable.xml b/addons/arsenal/stringtable.xml index adcb26ee59..62ccc3efe5 100644 --- a/addons/arsenal/stringtable.xml +++ b/addons/arsenal/stringtable.xml @@ -16,7 +16,7 @@ Hide interface - Cache l'interface + Masque l'interface Oberfläche verstecken Ukryj interfejs インターフェイスを隠す @@ -29,7 +29,7 @@ Loadouts - Équipements + Sets d'équipement Ausrüstungen Zestawy wyposażenia 装備 @@ -81,7 +81,7 @@ No virtual item available - Aucun objet virtuel disponible + Aucun objet virtuel disponible. Kein virtuelles Objekt verfügbar Brak dostępnych przedmiotów wirtualnych 利用可能なバーチャル アイテムはありません @@ -94,7 +94,7 @@ Save - Enregister + Enregistrer Speichern Zapisz 保存 @@ -124,6 +124,8 @@ Shift + Klik aby zapisac jako domyślne dla misji [Shift+Клик, чтобы сохранить в настройках по умолчанию] [Shift+Clique para salvar nos padrões da missão] + [Shift+Clic pour enregistrer en tant qu'équipement prédéfini] + [Shift+左鍵來保存至任務預設] Rename @@ -140,7 +142,7 @@ Rename the selected loadout - Renomme l'équipement sélectionné + Renomme le set d'équipement sélectionné Ausgewählte Ausrüstung umbenennen Zmień nazwę wybranego zestawu 選択中の装備を改名します @@ -166,7 +168,7 @@ Load the selected loadout - Charger l'équipement sélectionné + Charge le set d'équipement sélectionné Ausgewählte Ausrüstung laden Wczytaj wybrany zestaw 選択中の装備を読み込みます @@ -192,7 +194,7 @@ Delete the selected loadout - Supprimer l'équipement sélectionné + Supprime le set d'équipement sélectionné Ausgewählte Ausrüstung entfernen Skasuj wybrany zestaw 選択中の装備を削除します @@ -218,7 +220,7 @@ Loadouts saved in your profile - Équipements enregistrés dans votre profil + Sets d'équipement enregistrés dans votre profil Ausrüstungen, die in deinem Profil gespeichert sind Zestawy zapisane w Twoim profilu プロフィールに保存された装備です @@ -231,7 +233,7 @@ Default loadouts - Équipements de base + Équipements prédéfinis Standard-Ausrüstungen Domyślne zestawy 標準の装備 @@ -244,7 +246,7 @@ Loadouts made available by the mission maker - Équipements faits par l'auteur de la mission + Sets d'équipement mis à disposition par le créateur de mission Ausrüstungen, die durch den Missionsersteller zur Verfügung gestellt worden sind Zestawy udostępnione przez twórcę misji 装備はミッション著者によって利用できます @@ -270,7 +272,7 @@ Loadouts shared by you and other players - Équipements mis à disposition par vous ou les autres joueurs + Sets d'équipement partagés par vous-même ou par d'autres joueurs Ausrüstungen, die von dir und anderen Spielern geteilt wurden Zestawy udostępnione przez Ciebie i innych graczy 自分か他人によって共有された装備です @@ -309,7 +311,7 @@ Share or stop sharing the selected loadout - Partager ou arrêter de partager cet équipement + Partager ou cesser de partager le set d'équipement sélectionné Ausgewählte Ausrüstung teilen oder nicht mehr teilen Udostępnij lub przestań udostępniać wybrany zestaw 選択した装備の共有設定 @@ -348,7 +350,7 @@ The default loadouts list is empty! - La liste d'équipements de base est vide ! + La liste des équipements prédéfinis est vide ! Die Standard-Ausrüstungen-Liste ist leer! Lista domyślnych zestawów jest pusta! 標準の装備一欄が空です! @@ -361,7 +363,7 @@ Default loadouts list exported to clipboard - Liste d'équipements de base exportée dans le presse papier + Liste des équipements prédéfinis exportée dans le presse-papier Standard-Ausrüstungen-Liste in die Zwischenablage exportiert Lista domyślnych zestawów została eksportowana do schowka 標準の装備一欄はクリップボードへエクスポートされました @@ -374,7 +376,7 @@ Current loadout exported to clipboard - Équipement actuel exporté dans le presse papier + Équipement actuel exporté dans le presse-papier Derzeitige Ausrüstung in die Zwischenablage exportiert Obecny zestaw został eksportowany do schowka 現在の装備はクリップボードへ出力されました @@ -400,7 +402,7 @@ Default loadouts list imported from clipboard - Liste d'équipements de base importée depuis le presse papier + Liste des équipements prédéfinis importée depuis le presse-papier Standard-Ausrüstungen-Liste aus der Zwischenablage importiert Lista domyślnych zestawów została importowana ze schowka 標準の装備一欄はクリップボードからインポートされました @@ -413,7 +415,7 @@ Loadout imported from clipboard - Équipement importé depuis le presse papier + Set d'équipement importé depuis le presse-papier. Ausrüstung aus der Zwischenablage importiert Zestaw został importowany ze schowka 装備はクリップボードからインポートされました @@ -426,7 +428,7 @@ The following loadout was deleted: - L'équipement suivant fut supprimé: + Le set d'équipement suivant a été supprimé : Folgende Ausrüstung wurde entfernt: Następujący zestaw został skasowany: 次の装備は削除されました: @@ -439,7 +441,7 @@ The following loadout is not public anymore: - L'équipement suivant n'est plus public: + Le set d'équipement suivant n'est plus public : Folgende Ausrüstung ist nicht mehr öffentlich: Następujący zestaw nie jest już publiczny: 次の装備は非公開になりました: @@ -452,7 +454,7 @@ The name field is empty! - Le champ nom est vide ! + Le champ "nom" est vide ! Das Feld "Name" ist leer! Pole nazwy jest puste! 名前が空白です! @@ -465,7 +467,7 @@ You are the author of this loadout - Vous êtes l'auteur de cet équipement + Vous êtes l'auteur de ce set d'équipement Du bist der Ersteller dieser Ausrüstung Jesteś autorem tego zestawu あなたはこの装備の作者です @@ -478,7 +480,7 @@ A loadout of yours with the same name is public - Un de vos équipements avec le même nom est public + Un de vos sets d'équipement ayant le même nom est public Eine deiner Ausrüstungen mit dem gleichen Namen ist öffentlich Jeden z Twoich zestawów nazwany tak samo jest już publiczny あなたの装備は既に公開されているものと同名です @@ -491,7 +493,7 @@ The following loadout was saved: - L'équipement suivant fut enregistré: + Le set d'équipement suivant a été enregistré : Folgende Ausrüstung wurde gespeichert: Następujący zestaw został zapisany: 次の装備は保存されました: @@ -504,7 +506,7 @@ The following loadout was loaded: - L'équipement suivant fut chargé: + Le set d'équipement suivant a été chargé : Folgene Ausrüstung wurde geladen: Następujący zestaw został wczytany: 次の装備が読み込みされました: @@ -517,7 +519,7 @@ A loadout with the same name already exist! - Un équipement avec le même nom existe déjà ! + Un set d'équipement ayant le même nom existe déjà ! Eine Ausrüstung mit dem gleichen Namen existiert bereits! Zestaw z tą nazwą już istnieje! 既にその名前は装備に使われています! @@ -530,7 +532,7 @@ was renamed to - fut renommé en + a été renommé en wurde umbenannt in zmienił nazwę na 次の名前に変更されました @@ -569,7 +571,7 @@ Panel font height - taille de police des panneaux + Taille de police des panneaux Schrifthöhe für die linke und rechte Liste Wysokość czcionki パネルにあるフォントの高さ @@ -582,7 +584,7 @@ Allow default loadouts - Activer l'onglet équipement de base + Autoriser les équipements prédéfinis Erlaubt die Benutzung der Standardausrüstungen Zezwól na użycie domyślnych zestawów 標準の装備を許可 @@ -595,7 +597,7 @@ Allow loadout sharing - Autoriser le partage d'équipement + Autoriser le partage des sets d'équipement Erlaubt das Teilen von Ausrüstungen Zezwól na udostępnianie zestawów 装備の共有を許可 @@ -608,7 +610,7 @@ Log missing / unavailable items - Enregistrer les objets manquants + Consigner les objets manquants ou indisponibles Aktiviert die Aufzeichnung fehlender Gegenstände in der RPT Rejestruj brakujące / niedostępne przedmioty 欠落 / 利用不可アイテムを記録 @@ -660,7 +662,7 @@ Allow the use of the default loadouts tab - Autorise l'usage de l'onglet équipements de base + Active l'onglet `Équipements prédéfinis` Zezwól na użycie zakładki domyślnych zestawów 標準の装備タブの使用を許可します Consenti l'uso della sezione per gli equipaggiamenti standard @@ -673,7 +675,7 @@ Show / hide mod icons for the left panel - Montrer / cacher les icones de mod pour le panneau de gauche + Affiche / masque les icônes de mod du panneau gauche Pokaż / ukryj ikony modów w lewym panelu 左パネルにある MOD アイコンの表示 / 非表示をします Mostra / nascondi le icone delle mod dal pannello sinistro @@ -686,7 +688,7 @@ Change the font height for text in the left / right panels - Change la taille de police du texte des panneaux gauche / droite + Change la taille de police des panneaux latéraux Zmień wysokość czcionki dla tekstu lewego i prawego panelu 右か左パネルにあるフォントの高さを変更します。 Cambia l'altezza del font per il testo sul pannello sinistro / destro @@ -699,7 +701,7 @@ Log missing / unavailable items in the RPT - Enregistre les objets manquants / indisponibles dans le RPT + Consigne les objets manquants ou indisponibles dans le RPT Rejestruj brakujące / niedostępne przedmioty do pliku RPT PRT で欠落 / 利用不可アイテムを記録します Log mancante / oggetto non disponibile nell' RPT @@ -712,7 +714,7 @@ Unable to open ACE arsenal - Impossible d'ouvrir ACE arsenal + Impossible d'ouvrir l'arsenal ACE Kann ACE-Arsenal nicht anzeigen Impossibile aprire l'arsenale ACE ACE 武器庫を開けません @@ -725,7 +727,7 @@ Import BI VA loadouts to ACE Arsenal - Importe les loadouts de BI VA dans ACE Arsenal + Importer les sets BI VA dans l'arsenal ACE Importiert die BI-VA-Ausrüstungen in das ACE-Arsenal 標準の VA 装備から ACE 武器庫へ取り込み 바닐라 로드아웃을 ace 아스날로 가져오기 @@ -738,7 +740,7 @@ No player unit available! Place a unit and mark it as "Player". - Aucune unité joueur disponible ! Placez une unité et marquez la en tant que "joueur". + Aucune unité joueur disponible ! Placez une unité et marquez-la en tant que "joueur". Keine Spielereinheit verfügbar. Setze eine Einheit und markiere sie als "Spieler". プレイヤー ユニットがありません!ユニットを設置し"Player"と名付けてください。 플레이어 유닛을 사용할 수 없습니다! 유닛을 놓고 "플레이어"라고 표시하십시오. @@ -751,7 +753,7 @@ No loadouts to import. - Aucun loadout à importer. + Aucun équipement à importer. Keine Ausrüstungen zum Importieren インポートする装備がありません。 가져올 로드 아웃이 없습니다. @@ -773,6 +775,7 @@ Arsenał ACE ACE Арсенал ACE Arsenal + Arsenal ACE Return to ACE Arsenal. @@ -785,6 +788,7 @@ Wróć do arsenału ACE. Вернуться в ACE Арсенал Voltar para o ACE Arsenal + Retour à l'arsenal ACE Use ACE Arsenal to try out different weapons and equipment. @@ -797,6 +801,7 @@ Skorzystaj z arsenału ACE by wypróbować broń i ekwipunek. Используйте ACE Arsenal, чтобы опробовать различное оружие и снаряжение. Use o ACE Arsenal para experimentar diferentes armas e equipamentos. + Utilisez l'arsenal ACE pour essayer différentes armes ou équipements. Try weapons and equipment and create your own loadouts. @@ -809,11 +814,12 @@ Wypróbuj broń i ekwipunek i stwórz swoje własne zestawy wyposażenia. Опробуйте оружие и снаряжение, создавайте собственные комплекты экипировки. Experimente armas e equipamentos e crie seus próprios loadouts. + Essayez des armes et du matériel et créez vos propres sets d'équipement. Open the loadouts screen Öffnet das Ausrüstungsmenü - Affiche la page des équipements + Affiche les sets d'équipement 開啟裝備選單 开启装备选单 装備画面を開く @@ -825,7 +831,7 @@ Export current / default loadouts Exportiert aktuelles / standard Loadout - Exporte l'équipement actuel ou la liste d'équipements de base + Exporte le set d'équipement actuel / les sets prédéfinis 匯出當前/預設的裝備 汇出当前/预设的装备 現在/標準装備をエクスポートします @@ -837,7 +843,7 @@ Import current / default loadouts Importiert aktuelles / standard Loadout - Importer l'équipement actuel ou la liste d'équipements de base + Importe le set d'équipement actuel / les sets prédéfinis 匯入當前/預設的裝備 汇入当前/预设的装备 現在/標準装備をインポートします @@ -881,6 +887,8 @@ Supporto visore notturno Поддержка ночного видения Suporte de Visão Noturna + Support JVN + 夜視鏡支援 Primary supported @@ -890,6 +898,8 @@ Primario supportato Поддерживается осн. прицелом Primária suportada + Primaire supportée + 主武器支援 Secondary supported @@ -899,6 +909,8 @@ Secondario supportato Поддерживается доп. прицелом Secundária suportada + Secondaire supportée + 次要武器支援 Primary integrated @@ -908,6 +920,8 @@ Primario integrato Интегрирован в осн. прицел Primária integrada + Primaire intégrée + 整合主武器 Not Supported @@ -917,6 +931,8 @@ Non supportato Не поддерживается Não suportado + Non supporté + 不支援 Page @@ -933,7 +949,7 @@ Enable the faces / voices / insignias tabs Aktiviere die Gesichter-, Stimmen- und Abzeichenübersicht - Activer les onglets faces / voix / insignes + Activer les onglets visages / voix / insignes 顔 / 声 / 記章タブを有効化 启用脸谱/声音/徽章/选项 啟用臉譜/聲音/徽章選項 @@ -1006,6 +1022,8 @@ Czarna lista (lista wykluczeń) Чёрный список Lista Negra + Liste noire + 黑名單 Items @@ -1031,6 +1049,8 @@ Eksportuj obecną listę przedmiotów jako tablicę do wykorzystania w skryptach Exportar a lista atual de itens como uma matriz para usar em scripts Экспорт текущего списка предметов в виде массива для использования в скриптах + Exporte l'équipement actuel dans le presse-papier, sous la forme d'un tableau à utiliser dans les scripts + 匯出目前的物品列表為陣列用於腳本編寫 Import items list array from clipboard (should be the same format as export) @@ -1039,6 +1059,8 @@ クリップボードからアイテムリストをアレイでインポートします (エクスポートと同じフォーマットである必要があります) Импорт массива списка предметов из буфера (должен иметь тот же формат, что при экспорте) Importar lista de itens da área de transferência (deve estar no mesmo formato que uma lista exportada) + Importe un tableau d'équipements à partir du presse-papier (le format doit être identique à celui de l'exportation) + 從剪貼簿匯入物品列表之陣列(應該與匯出的格式一樣) Add Compatible Items @@ -1047,6 +1069,8 @@ 対応アイテムを追加 Добавить совместимые предметы Adicionar itens compatíveis + Ajouter des objets compatibles + 增加相容的物品 Will automatically add compatible attachments or magazines (based on selected category) for all weapons in current items list @@ -1055,16 +1079,19 @@ 現在のアイテム リスト内にある全武器に対応するアタッチメントと弾倉 (選択したカテゴリに基づき) を自動的に追加します Добавляет совместимые приспособления или магазины (в зависимости от выбранной категории) для всего оружия в текущем списке предметов Irá automaticamente adicionar acessórios ou carregadores (baseado na categoria selecionada) para todas as armas na lista de itens atual + Ajoute automatiquement des accessoires ou des chargeurs compatibles (en fonction de la catégorie sélectionnée), pour toutes les armes de la liste actuelle + 將會自動增加相容的配件以及彈匣(基於選擇的類型)至妳目前物品列表中的全部武器 Time to live Lebenszeit - Durée de vie + Durée d'expiration 有効時間 Czas by żyć Scadenza (TTL) Время действия Time to live + 有效時間 diff --git a/addons/attach/functions/fnc_attach.sqf b/addons/attach/functions/fnc_attach.sqf index 21652f296d..4d43cf47e9 100644 --- a/addons/attach/functions/fnc_attach.sqf +++ b/addons/attach/functions/fnc_attach.sqf @@ -74,7 +74,7 @@ if (_unit == _attachToVehicle) then { //Self Attachment _virtualPosASL = _virtualPosASL vectorAdd ((positionCameraToWorld [0.3,0,0]) vectorDiff (positionCameraToWorld [0,0,0])); }; private _virtualPos = _virtualPosASL call EFUNC(common,ASLToPosition); - private _lineInterection = lineIntersects [eyePos ACE_player, _virtualPosASL, ACE_player]; + private _lineInterection = !((lineIntersectsSurfaces [eyePos ACE_player, _virtualPosASL, ACE_player]) isEqualTo []); //Don't allow placing in a bad position: if (_lineInterection && {GVAR(placeAction) == PLACE_APPROVE}) then {GVAR(placeAction) = PLACE_WAITING;}; diff --git a/addons/attach/functions/fnc_placeApprove.sqf b/addons/attach/functions/fnc_placeApprove.sqf index d0101695b4..2ae6f84b74 100644 --- a/addons/attach/functions/fnc_placeApprove.sqf +++ b/addons/attach/functions/fnc_placeApprove.sqf @@ -3,7 +3,7 @@ * Author: Pabst Mirror (based on Explosive attach by Garth de Wet (LH)) * Approves placement of the lightObject, scans for an appropriate location and attaches * A player can release the attachObject with it floating in mid-air. - * This will use lineIntersectsWith to scan towards the center of the vehicle to find a collision + * This will use lineIntersectsSurfaces to scan towards the center of the vehicle to find a collision * ArmA's collision detection is of couse terrible and often misses collisions (difference between what we see and collision LOD) * So it does multiple scans at slighly different angles * This is VERY computationaly intensive, but doesn't happen that often. diff --git a/addons/ballistics/CfgVehicles.hpp b/addons/ballistics/CfgVehicles.hpp index c6a40301f2..94f9c7c863 100644 --- a/addons/ballistics/CfgVehicles.hpp +++ b/addons/ballistics/CfgVehicles.hpp @@ -211,6 +211,7 @@ class CfgVehicles { accuracy = 1000; displayName = CSTRING(AmmoSupplyCrate_DisplayName); model = "\A3\weapons_F\AmmoBoxes\AmmoBox_F"; + editorPreview = "\A3\EditorPreviews_F\Data\CfgVehicles\Box_NATO_Ammo_F.jpg"; author = ECSTRING(common,ACETeam); class TransportMagazines { MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_SD,4); diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index a413386d1e..0074c141ab 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -15,7 +15,7 @@ 6,5x47mm 20-lövedékes tár (HPBT Scenar) 6.5x47mm 20発入り 弾倉 (HPBT Scenar) 20발들이 6.5x47mm (HPBT Scenar) - 6.5x47mm 20發 彈匣 (Lapua 空尖艇尾狙擊專用彈) + 6.5x47毫米 20發 彈匣 (拉普 空尖艇尾狙擊專用彈) 6.5x47mm 20发 弹匣 (Lapua 空尖艇尾狙击专用弹) @@ -31,12 +31,12 @@ 6,5mm Lapua 6.5mm Lapua 6.5mm Lapua - 6.5mm Lapua 空尖艇尾狙擊專用彈 + 6.5毫米 拉普 空尖艇尾狙擊專用彈 6.5mm Lapua 空尖艇尾狙击专用弹 Caliber: 6.5x47mm (HPBT Scenar)<br />Rounds: 20<br />Used in: QBU-88 - Calibre: 6,5x47mm (HPBT Scenar)<br />Cartouches: 20 + Calibre: 6,5x47mm (HPBT Scenar)<br />Cartouches: 20<br />Utilisé avec: QBU-88 Calibre: 6.5x47mm (HPBT Scenar)<br />Balas: 20<br />Se usa en: QBU-88 Kaliber: 6,5x47mm (HPBT Scenar)<br />Pociski: 20 Калибр: 6,5x47 мм (экспансивные Scenar)<br />Патронов: 20<br />Используются с: QBU-88 @@ -47,7 +47,7 @@ Kaliber: 6,5x47mm (HPBT Scenar)<br />Lövedékek: 20<br />Használható: QBU-88 口径: 6.5x47mm (HPBT Scenar)<br />装填数: 20<br />次で使用: QBU-88 구경: 6.5x47mm (HPBT Scenar)<br />장탄수: 20<br />사용처: QBU-88 - 口徑: 6.5x47mm (Lapua 空尖艇尾狙擊專用彈)<br />發數: 20<br />使用於: QBU-88 + 口徑: 6.5x47毫米 (拉普 空尖艇尾狙擊專用彈)<br />發數: 20<br />使用於: QBU-88 口径: 6.5x47mm (Lapua 空尖艇尾狙击专用弹)<br />发数: 20<br />使用于: QBU-88 @@ -63,7 +63,7 @@ 6,5mm Creedmor 20-lövedékes tár 6.5mm Creedmor 20発入り 弾倉 20발들이 6.5mm Creedmor 탄창 - 6.5mm 20發 彈匣 (Creedmor 狙擊專用彈) + 6.5毫米 20發 彈匣 (克里德莫爾(CM) 狙擊專用彈) 6.5mm 20发 弹匣 (Creedmor 狙击专用弹) @@ -79,7 +79,7 @@ 6,5mm CM 6.5mm CM 6.5mm CM - 6.5mm CM 狙擊專用彈 + 6.5毫米 CM 狙擊專用彈 6.5mm CM 狙击专用弹 @@ -95,7 +95,7 @@ Kaliber: 6,5x47mm Creedmor<br />Lövedékek: 20<br />Használható: QBU-88 口径: 6.5x47mm Creedmor<br />装填数: 20<br />次で使用: QBU-88 구경: 6.5x47mm Creedmor<br />장탄수: 20<br />사용처: QBU-88 - 口徑: 6.5x47mm Creedmor 狙擊專用彈<br />發數: 20<br />使用於: QBU-88 + 口徑: 6.5x47毫米 克里德莫爾 狙擊專用彈<br />發數: 20<br />使用於: QBU-88 口径: 6.5x47mm Creedmor 狙击专用弹<br />发数: 20<br />使用于: QBU-88 @@ -112,7 +112,7 @@ Магазин из 30-ти 6,5 мм ИК-трассирующих 6.5mm 30発入り IR-DIM曳光弾 弾倉 30발들이 6.5mm IR-DIM 예광탄 탄창 - 6.5mm 30發 低視度紅外線曳光彈 彈匣 + 6.5毫米 30發 低視度紅外線曳光彈 彈匣 6.5mm 30发 低视度红外线曳光弹 弹匣 @@ -128,7 +128,7 @@ 6,5 мм ИК-трассирующие 6.5mm IR-DIM曳光弾 6.5mm IR-DIM 예광탄 - 6.5mm 低視紅外曳光彈 + 6.5毫米 低視紅外曳光彈 6.5mm 低视红外曳光弹 @@ -144,7 +144,7 @@ Калибр: 6,5x39 мм ИК-трассирующие<br />Патронов: 30<br />Используются с: MX/C/M/SW/3GL 口径: 6.5x39mm 曳光弾 IR-DIM<br />装填数: 30<br />次で使用: MX/C/M/SW/3GL 구경: 6.5x39mm IR-DIM 예광탄<br />장탄수: 30<br />사용처: MX/C/M/SW/3GL - 口徑: 6.5x39mm 低視度紅外線曳光彈<br />發數: 30<br />使用於: MX/C/M/SW/3GL + 口徑: 6.5x39毫米 低視度紅外線曳光彈<br />發數: 30<br />使用於: MX/C/M/SW/3GL 口径: 6.5x39mm 低视度红外线曳光弹<br />发数: 30<br />使用于: MX/C/M/SW/3GL @@ -160,7 +160,7 @@ Магазин из 30-ти 6,5 мм дозвуковых 6.5mm 30発入り 亜音速弾 弾倉 30발들이 6.5mm 아음속탄 탄창 - 6.5mm 30發 消音彈 彈匣 + 6.5毫米 30發 消音彈 彈匣 6.5mm 30发 消音弹 弹匣 @@ -176,7 +176,7 @@ 6,5 мм дозвуковые 6.5mm 亜音速弾 6.5mm 아음속탄 - 6.5mm 消音彈 + 6.5毫米 消音彈 6.5mm 消音弹 @@ -192,7 +192,7 @@ Калибр: 6,5x39 мм дозвуковые<br />Патронов: 30<br />Используются с: MX/C/M/SW/3GL 口径: 6.5x39mm 亜音速弾<br />装填数: 30<br />次で使用: MX/C/M/SW/3GL 구경: 6.5x39mm SD<br />장탄수: 30<br />사용처: MX/C/M/SW/3GL - 口徑: 6.5x39mm 消音彈<br />發數: 30<br />使用於: MX/C/M/SW/3GL + 口徑: 6.5x39毫米 消音彈<br />發數: 30<br />使用於: MX/C/M/SW/3GL 口径: 6.5x39mm 消音弹<br />发数: 30<br />使用于: MX/C/M/SW/3GL @@ -208,7 +208,7 @@ Магазин из 30-ти 6,5 мм бронебойных 6.5mm 30 発入り徹甲弾 弾倉 30발들이 6.5mm 철갑탄 탄창 - 6.5mm 30發 穿甲彈 彈匣 + 6.5毫米30發 穿甲彈 彈匣 6.5mm 30发 穿甲弹 弹匣 @@ -224,7 +224,7 @@ 6,5 мм бронебойные 6.5mm 徹甲弾 6.5mm 철갑탄 - 6.5mm 穿甲彈 + 6.5毫米 穿甲彈 6.5mm 穿甲弹 @@ -240,7 +240,7 @@ Калибр: 6,5x39 мм бронебойные<br />Патронов: 30<br />Используются с: MX/C/M/SW/3GL 口径: 6.5x39mm 徹甲弾<br />装填数: 30<br />次で使用: MX/C/M/SW/3GL 구경: 6.5x39mm 철갑탄<br />장탄수: 30<br />사용처: MX/C/M/SW/3GL - 口徑: 6.5x39mm 穿甲彈<br />發數: 30<br />使用於: MX/C/M/SW/3GL + 口徑: 6.5x39毫米 穿甲彈<br />發數: 30<br />使用於: MX/C/M/SW/3GL 口径: 6.5x39mm 穿甲弹<br />发数: 30<br />使用于: MX/C/M/SW/3GL @@ -257,7 +257,7 @@ Магазин из 30-ти 6,5 мм ИК-трассирующих 6.5mm 30発入り IR-DIM曳光弾 弾倉 30발들이 6.5mm IR-DIM 예광탄 탄창 - 6.5mm 30發 低視度紅外線曳光彈 彈匣 + 6.5毫米 30發 低視度紅外線曳光彈 彈匣 6.5mm 30发 低视度红外线曳光弹 弹匣 @@ -273,7 +273,7 @@ 6,5 мм ИК-трассирующие 6.5mm IR-DIM曳光弾 6.5mm IR-DIM 예광탄 - 6.5mm 低視紅外曳光彈 + 6.5毫米 低視紅外曳光彈 6.5mm 低视红外曳光弹 @@ -289,7 +289,7 @@ Калибр: 6,5x39 мм ИК-трассирующие<br />Патронов: 30<br />Используются с: Katiba 口径: 6.5x39mm IR-DIM曳光弾<br />装填数: 30<br />次で使用: Katiba 구경: 6.5x39mm IR-DIM 예광탄<br />장탄수: 30<br />사용처: Katiba - 口徑: 6.5x39mm 低視度紅外線曳光彈<br />發數: 30<br />使用於: Katiba + 口徑: 6.5x39毫米 低視度紅外線曳光彈<br />發數: 30<br />使用於: Katiba 口径: 6.5x39mm 低视度红外线曳光弹<br />发数: 30<br />使用于: Katiba @@ -305,7 +305,7 @@ Магазин из 30-ти 6,5 мм дозвуковых 6.5mm 30発入り 亜音速弾 弾倉 30발들이 6.5mm 아음속탄 탄창 - 6.5mm 30發 消音彈 彈匣 + 6.5毫米 30發 消音彈 彈匣 6.5mm 30发 消音弹 弹匣 @@ -321,7 +321,7 @@ 6,5 мм дозвуковые 6.5mm 亜音速弾 6.5mm 아음속탄 - 6.5mm 消音彈 + 6.5毫米 消音彈 6.5mm 消音弹 @@ -337,7 +337,7 @@ Калибр: 6,5x39 мм дозвуковые<br />Патронов: 30<br />Используются с: Katiba 口径: 6.5x39mm 亜音速弾<br />装填数: 30<br />次で使用: Katiba 구경: 6.5x39mm 아음속탄<br />장탄수: 30<br />사용처: Katiba - 口徑: 6.5x39mm 消音彈<br />發數: 30<br />使用於: Katiba + 口徑: 6.5x39毫米 消音彈<br />發數: 30<br />使用於: Katiba 口径: 6.5x39mm 消音弹<br />发数: 30<br />使用于: Katiba @@ -353,7 +353,7 @@ Магазин из 30-ти 6,5 мм бронебойных 6.5mm 30 発入り徹甲弾 弾倉 30발들이 6.5mm 철갑탄 탄창 - 6.5mm 30發 穿甲彈 彈匣 + 6.5毫米 30發 穿甲彈 彈匣 6.5mm 30发 穿甲弹 弹匣 @@ -369,7 +369,7 @@ 6,5 мм бронебойные 6.5mm 徹甲弾 6.5mm 철갑탄 - 6.5mm 穿甲彈 + 6.5毫米 穿甲彈 6.5mm 穿甲弹 @@ -385,7 +385,7 @@ Калибр: 6,5x39 мм бронебойные<br />Патронов: 30<br />Используются с: Katiba 口径: 6.5x39mm 徹甲弾<br />装填数: 30<br />次で使用: Katiba 구경: 6.5x39mm 철갑탄<br />장탄수: 30<br />사용처: Katiba - 口徑: 6.5x39mm 穿甲彈<br />發數: 30<br />使用於: Katiba + 口徑: 6.5x39m毫米 穿甲彈<br />發數: 30<br />使用於: Katiba 口径: 6.5x39mm 穿甲弹<br />发数: 30<br />使用于: Katiba @@ -402,7 +402,7 @@ Магазин из 30-ти 5,56 мм ИК-трассирующих 5.56mm 30発入り IR-DIM曳光弾 弾倉 30발 들이 5.56mm IR-DIM 예광탄 탄창 - 5.56mm 30發 低視度紅外線曳光彈 彈匣 + 5.56毫米 30發 低視度紅外線曳光彈 彈匣 5.56mm 30发 低视度红外线曳光弹 弹匣 @@ -418,7 +418,7 @@ 5,56 мм ИК-трассирующие 5.56mm IR-DIM曳光弾 5.56mm IR-DIM 예광탄 - 5.56mm 低視紅外曳光彈 + 5.56毫米 低視紅外曳光彈 5.56mm 低视红外曳光弹 @@ -434,7 +434,7 @@ Калибр: 5,56x45 мм ИК-трассирующие<br />Патронов: 30<br />Используются с: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR 口径: 5.56x45mm IR-DIM曳光弾<br />装填数: 30<br />次で使用: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR 구경: 5.56x45mm IR-DIM 예광탄<br />장탄수: 30<br />사용처: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR - 口徑: 5.56x45mm 低視度紅外線曳光彈<br />發數: 30<br />使用於: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR + 口徑: 5.56x45毫米 低視度紅外線曳光彈<br />發數: 30<br />使用於: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR 口径: 5.56x45mm 低视度红外线曳光弹<br />发数: 30<br />使用于: TRG-20, TRG-21/EGLM, Mk20/C/EGLM, SDAR @@ -451,7 +451,7 @@ Магазин из 20-ти 7,62 мм трассирующих 7.62mm 20発入り 曳光弾 20발들이 7.62mm 예광탄 탄창 - 7.62mm 20發 曳光彈 彈匣 + 7.62毫米 20發 曳光彈 彈匣 7.62mm 20发 曳光弹 弹匣 @@ -459,7 +459,7 @@ 7,62mm Nyomjelző 7,62mm Leuchtspur 7,62mm Trazadora - 7,62mm Traçantes + 7,62mm Traçante 7,62mm Smugacz 7.62mm Svítící 7,62mm Traçante @@ -467,7 +467,7 @@ 7,62 мм трассирущие 7.62mm 曳光弾 7.62mm 예광탄 - 7.62mm 曳光彈 + 7.62毫米 曳光彈 7.62mm 曳光弹 @@ -475,7 +475,7 @@ Kaliber: 7,62x51mm Nyomjelző<br />Lövedékek: 20<br />Használható: Mk18 ABR Kaliber: 7,62x51mm Leuchtspur<br />Patronen: 20<br />Eingesetzt von: EBR Calibre: 7,62x51mm Trazadora<br />Balas: 20<br />Se usa en: Mk18 ABR - Calibre: 7,62x51mm Traçantes<br />Cartouches: 20<br />Utilisé avec: EBR + Calibre: 7,62x51mm Traçante<br />Cartouches: 20<br />Utilisé avec: Mk18 ABR Kaliber: 7,62x51mm Smugacz<br />Pociski: 20<br />Używane w: Mk18 ABR Ráže: 7.62x51mm Svítící<br />Nábojů: 20<br />Použití u: Mk14 Mod 1 EBR Calibre: 7,62x51mm Traçante<br />Projéteis: 20<br />Usado em: Mk18 ABR @@ -483,7 +483,7 @@ Калибр: 7,62x51 мм трассирующие<br />Патронов: 20<br />Используются с: Mk18 ABR 口径: 7.62x51mm 曳光弾<br />装填数: 20<br />次で使用: Mk18 ABR 구경: 7.62x51mm 예광탄<br />장탄수: 20<br />사용처: Mk18 ABR - 口徑: 7.62x51mm 曳光彈<br />發數: 20<br />使用於: Mk18 ABR + 口徑: 7.62x51毫米 曳光彈<br />發數: 20<br />使用於: Mk18 ABR 口径: 7.62x51mm 曳光弹<br />发数: 20<br />使用于: Mk18 ABR @@ -499,7 +499,7 @@ Магазин из 20-ти 7,62 мм ИК-трассирующих 7.62mm 20発入り IR-DIM曳光弾 20발들이 7.62mm IR-DIM 예광탄 탄창 - 7.62mm 20發 低視度紅外線曳光彈 彈匣 + 7.62毫米 20發 低視度紅外線曳光彈 彈匣 7.62mm 20发 低视度红外线曳光弹 弹匣 @@ -515,7 +515,7 @@ 7,62 мм ИК-трассирующие 7.62mm IR-DIM曳光弾 7.62mm IR-DIM 예광탄 - 7.62mm 低視紅外曳光彈 + 7.62毫米 低視紅外曳光彈 7.62mm 低视红外曳光弹 @@ -523,7 +523,7 @@ Kaliber: 7,62x51mm Nyomjelző IR-DIM<br />Lövedékek: 20<br />Használható: Mk18 ABR Kaliber: 7,62x51mm Leuchtspur IR-DIM<br />Patronen: 20<br />Eingesetzt von: EBR Calibre: 7,62x51mm Trazadoras IR-DIM<br />Balas: 20<br />Se usa en: Mk18 ABR - Calibre: 7,62x51mm Traçantes IR-DIM<br />Cartouches: 20<br />Utilisé avec: EBR + Calibre: 7,62x51mm Traçante IR-DIM<br />Cartouches: 20<br />Utilisé avec: Mk18 ABR Kaliber: 7,62x51mm Smugacz IR-DIM<br />Pociski: 20<br />Używane w: Mk18 ABR Ráže: 7.62x51mm Svítící IR-DIM<br />Nábojů: 20<br />Použití u: Mk14 Mod 1 EBR Calibre: 7,62x51mm Traçante IR-DIM<br />Projéteis: 20<br />Usado em: Mk18 ABR @@ -531,7 +531,7 @@ Калибр: 7,62x51 мм ИК-трассирующие<br />Патронов: 20<br />Используются с: Mk18 ABR 口径: 7.62x51mm IR-DIM曳光弾<br />装填数: 20<br />次で使用: Mk18 ABR 구경: 7.62x51mm IR-DIM 예광탄<br />장탄수: 20<br />사용처: Mk18 ABR - 口徑: 7.62x51mm 低視度紅外線曳光彈<br />發數: 20<br />使用於: Mk18 ABR + 口徑: 7.62x51毫米 低視度紅外線曳光彈<br />發數: 20<br />使用於: Mk18 ABR 口径: 7.62x51mm 低视度红外线曳光弹<br />发数: 20<br />使用于: Mk18 ABR @@ -547,7 +547,7 @@ Магазин из 20-ти 7,62 мм дозвуковых 7.62mm 20発入り 亜音速弾 弾倉 20발들이 7.62mm 아음속탄 탄창 - 7.62mm 20發 消音彈 彈匣 + 7.62毫米 20發 消音彈 彈匣 7.62mm 20发 消音弹 弹匣 @@ -563,7 +563,7 @@ 7,62 мм дозвуковые 7.62mm 亜音速弾 7.62mm 아음속탄 - 7.62mm 消音彈 + 7.62毫米 消音彈 7.62mm 消音弹 @@ -571,7 +571,7 @@ Kaliber: 7,62x51mm Halk<br />Lövedékek: 20<br />Használható: Mk18 ABR Kaliber: 7,62x51mm SD<br />Patronen: 20<br />Eingesetzt von: EBR Calibre: 7,62x51mm SD<br />Balas: 20<br />Se usa en: Mk18 ABR - Calibre: 7,62x51mm SD<br />Cartouches: 20<br />Utilisé avec: EBR + Calibre: 7,62x51mm SD<br />Cartouches: 20<br />Utilisé avec: Mk18 ABR Kaliber: 7,62x51mm SD<br />Pociski: 20<br />Używane w: Mk18 ABR Ráže: 7.62x51mm SD<br />Nábojů: 20<br />Použití u: Mk14 Mod 1 EBR Calibre: 7,62x51mm SD<br />Projéteis: 20<br />Usado em: Mk18 ABR @@ -579,7 +579,7 @@ Калибр: 7,62x51 мм дозвуковые<br />Патронов: 20<br />Используются с: Mk18 ABR 口径: 7.62x51mm 亜音速弾<br />装填数: 20<br />次で使用: Mk18 ABR 구경: 7.62x51mm SD<br />장탄수: 20<br />사용처: Mk18 ABR - 口徑: 7.62x51mm 消音彈<br />發數: 20<br />使用於: Mk18 ABR + 口徑: 7.62x51毫米 消音彈<br />發數: 20<br />使用於: Mk18 ABR 口径: 7.62x51mm 消音弹<br />发数: 20<br />使用于: Mk18 ABR @@ -587,7 +587,7 @@ .338 NM 130Rnd Tracer Belt .338 NM 130-Patronen-Gurt Leuchtspur Taśma .338 NM 130rd Smugacz - Bande .338 NM 130Cps Traçante + Bande .338 NM 130Cps Traçantes Cinta de 130 balas trazadoras de .338 NM Лента из 130-ти .338 NM трассирующих .338 NM 130Rnd Tracciante Belt @@ -596,7 +596,7 @@ .338 NM 130-lövedékes nyomkövető heveder .338 NM 130発入り 曳光弾ベルト 130발들이 .338 NM 예광탄 벨트 - .338 NM 130發 曳光彈 彈鏈 + .338 拉普麥格農(NM) 130發 曳光彈 彈鏈 .338 NM 130发 曳光弹 弹链 @@ -628,7 +628,7 @@ Kaliber: .338 Norma Magnum nyomkövető<br />Lövedékek: 130<br />Használható: SPMG 口径: .338 Norma Magnum 曳光弾<br />装填数: 130<br />次で使用: SPMG 구경: .338 Norma 매그넘 예광탄<br />장탄수: 130<br />사용처: SPMG - 口徑: .338 Norma Magnum 曳光彈<br />發數: 130<br />使用於: SPMG + 口徑: .338 拉普麥格農 曳光彈<br />發數: 130<br />使用於: SPMG 口径: .338 Norma Magnum 曳光弹<br />发数: 130<br />使用于: SPMG @@ -644,7 +644,7 @@ .338 NM 130-lövedékes infravörös nyomkövető heveder .338 NM 130発入り IR-DIM曳光弾ベルト 130발들이 .338 NM IR-DIM 예광탄 벨트 - .338 NM 130發 低視度紅外線曳光彈 彈鏈 + .338 拉普麥格農(NM) 130發 低視度紅外線曳光彈 彈鏈 .338 NM 130发 低视度红外线曳光弹 弹链 @@ -676,7 +676,7 @@ Kaliber: .338 Norma Magnum infravörös nyomkövető<br />Lövedékek: 130<br />Használható: SPMG 口径: .338 Norma Magnum IR-DIM曳光弾<br />装填数: 130<br />次で使用: SPMG 구경: .338 Norma 매그넘 IR-DIM 예광탄<br />장탄수: 130<br />사용처: SPMG - 口徑: .338 Norma Magnum 低視度紅外線曳光彈<br />發數: 130<br />使用於: SPMG + 口徑: .338 拉普麥格農 低視度紅外線曳光彈<br />發數: 130<br />使用於: SPMG 口径: .338 Norma Magnum 低视度红外线曳光弹<br />发数: 130<br />使用于: SPMG @@ -692,7 +692,7 @@ .338 NM 130-lövedékes páncéltörő heveder .338 NM 130発入り 徹甲弾ベルト 130발들이 .338 NM 철갑탄 벨트 - .338 NM 130發 穿甲彈 彈鏈 + .338 拉普麥格農(NM) 130發 穿甲彈 彈鏈 .338 NM 130发 穿甲弹 弹链 @@ -724,7 +724,7 @@ Kaliber: .338 Norma Magnum páncéltörő<br />Lövedékek: 130<br />Használható: SPMG 口径: .338 Norma Magnum 徹甲弾<br />装填数: 130<br />次で使用: SPMG 구경: .338 Norma 매그넘 철갑탄<br />장탄수: 130<br />사용처: SPMG - 口徑: .338 Norma Magnum 穿甲彈<br />發數: 130<br />使用於: SPMG + 口徑: .338 拉普麥格農 穿甲彈<br />發數: 130<br />使用於: SPMG 口径: .338 Norma Magnum 穿甲弹<br />发数: 130<br />使用于: SPMG @@ -732,7 +732,7 @@ 9.3mm 10Rnd Tracer Mag 9,3mm 10-Patronen-Magazin Leuchtspur Magazynek 9.3mm 10rd Smugacz - Ch. 9,3mm 10Cps Traçante + Ch. 9,3mm 10Cps Traçantes Cargador de 10 balas trazadoras de 9.3mm Магазин из 10-ти 9,3 мм трассирующих 9.3mm 10Rnd Tracer Mag @@ -741,7 +741,7 @@ 9,3mm 10-lövedékes nyomkövető tár 9.3mm 10発入り 曳光弾 弾倉 10발들이 9.3mm 예광탄 탄창 - 9.3mm 10發 曳光彈 彈匣 + 9.3毫米 10發 曳光彈 彈匣 9.3mm 10发 曳光弹 弹匣 @@ -757,7 +757,7 @@ 9,3mm nyomkövető 9.3mm 曳光弾 9.3mm 예광탄 - 9.3mm 曳光彈 + 9.3毫米 曳光彈 9.3mm 曳光弹 @@ -773,14 +773,14 @@ Kaliber: 9,3x64mm nyomkövető<br />Lövedékek: 10<br />Használható: Cyrus 口径: 9.3x64mm 曳光弾<br />装填数: 10<br />次で使用: Cyrus 구경: 9.3x64mm 예광탄<br />장탄수: 10<br />사용처: Cyrus - 口徑: 9.3x64mm 曳光彈<br />發數: 10<br />使用於: Cyrus + 口徑: 9.3x64毫米 曳光彈<br />發數: 10<br />使用於: Cyrus 口径: 9.3x64mm 曳光弹<br />发数: 10<br />使用于: Cyrus 9.3mm 10Rnd Tracer IR-DIM Mag 9,3mm 10-Patronen-Magazin Leuchtspur IR-DIM Magazynek 9,3mm 10rd Smugacz IR-DIM - Ch. 9,3mm 10Cps Traçante IR-DIM + Ch. 9,3mm 10Cps Traçantes IR-DIM Cargador de 10 balas trazadoras IR-DIM de 9.3mm Магазин из 10-ти 9,3 мм ИК-трассирующих 9.3mm 10Rnd Tracciante IR-DIM Mag @@ -789,7 +789,7 @@ 9,3mm 10-lövedékes infravörös nyomkövető tár 9.3mm 10発入り IR-DIM曳光弾 弾倉 10발들이 9.3mm IR-DIM 예광탄 탄창 - 9.3mm 10發 低視度紅外線曳光彈 彈匣 + 9.3毫米 10發 低視度紅外線曳光彈 彈匣 9.3mm 10发 低视度红外线曳光弹 弹匣 @@ -805,7 +805,7 @@ 9,3mm infravörös nyomkövető 9.3mm IR-DIM曳光弾 9.3mm IR-DIM 예광탄 - 9.3mm 低視紅外曳光彈 + 9.3毫米 低視紅外曳光彈 9.3mm 低视红外曳光弹 @@ -821,7 +821,7 @@ Kaliber: 9,3x64mm infravörös nyomkövető<br />Lövedékek: 10<br /> Használható: Cyrus 口径: 9.3x64mm IR-DIM曳光弾<br />装填数: 10<br />次で使用: Cyrus 구경: 9.3x64mm IR-DIM 예광탄<br />장탄수: 10<br />사용처: Cyrus - 口徑: 9.3x64mm 低視度紅外線曳光彈<br />發數: 10<br />使用於: Cyrus + 口徑: 9.3x64毫米 低視度紅外線曳光彈<br />發數: 10<br />使用於: Cyrus 口径: 9.3x64mm 低视度红外线曳光弹<br />发数: 10<br />使用于: Cyrus @@ -829,7 +829,7 @@ 9.3mm 150Rnd Tracer Belt 9,3mm 150-Patronen-Gurt Leuchtspur Taśma 9,3mm 150rd Smugacz - Bande 9,3mm 150Cps Traçante + Bande 9,3mm 150Cps Traçantes Cinta de 150 balas trazadoras de 9.3mm Лента из 150-ти 9,3 мм трассирующих 9.3mm 150Rnd Tracer Belt @@ -838,7 +838,7 @@ 9,3mm 150-lövedékes nyomkövető heveder 9.3mm 150発入り 曳光弾ベルト 150발들이 9.3mm 예광탄 벨트 - 9.3mm 150發 曳光彈 彈鏈 + 9.3毫米 150發 曳光彈 彈鏈 9.3mm 150发 曳光弹 弹链 @@ -854,14 +854,14 @@ 9,3mm nyomkövető 9.3mm 曳光弾 9.3mm 예광탄 - 9.3mm 曳光彈 + 9.3毫米 曳光彈 9.3mm 曳光弹 Caliber: 9.3x64mm Tracer<br />Rounds: 150<br />Used in: Navid Kaliber: 9,3x64mm Leuchtspur<br />Patronen: 150<br />Eingesetzt von: Navid Kaliber: 9,3x64mm Smugacz<br />Pociski: 150<br />Używane w: Navid - Calibre: 9,3x64mm Traçante<br />Cartouches: 150<br />Utilisé avec: Navid + Calibre: 9,3x64mm Traçantes<br />Cartouches: 150<br />Utilisé avec: Navid Calibre: 9.3x64mm trazadora<br />Balas: 150<br />Se usa en: Navid Калибр: 9,3x64 мм трассирующие<br />Патронов: 150<br />Используются с: Навид Calibro: 9.3x64mm Tracciante<br />Munizioni: 150<br />In uso su: Navid @@ -870,14 +870,14 @@ Kaliber: 9,3x64mm nyomkövető<br />Lövedékek: 150<br />Használható: Navid 口径: 9.3x64mm 曳光弾<br />装填数: 150<br />次で使用: Navid 구경: 9.3x64mm 예광탄<br />장탄수: 150<br />사용처: Navid - 口徑: 9.3x64mm 曳光彈<br />發數: 150<br />使用於: Navid + 口徑: 9.3x64m毫米 曳光彈<br />發數: 150<br />使用於: Navid 口径: 9.3x64mm 曳光弹<br />发数: 150<br />使用于: Navid 9.3mm 150Rnd Tracer IR-DIM Belt 9,3mm 150-Patronen-Gurt Leuchtspur IR-DIM Taśma 9,3mm 150rd Smugacz IR-DIM - Bande 9,3mm 150Cps Traçante IR-DIM + Bande 9,3mm 150Cps Traçantes IR-DIM Cinta de 150 balas trazadoras IR-DIM de 9.3mm Лента из 150-ти 9,3 мм ИК-трассирующих 9.3mm 150Rnd Tracciante IR-DIM Belt @@ -886,7 +886,7 @@ 9,3mm 150-lövedékes infravörös nyomkövető heveder 9.3mm 150発入り IR-DIM曳光弾ベルト 150발들이 9.3mm IR-DIM 예광탄 벨트 - 9.3mm 150發 低視度紅外線曳光彈 彈鏈 + 9.3毫米 150發 低視度紅外線曳光彈 彈鏈 9.3mm 150发 低视度红外线曳光弹 弹链 @@ -902,7 +902,7 @@ 9,3mm infravörös nyomkövető 9.3mm IR-DIM曳光弾 9.3mm IR-DIM 예광탄 - 9.3mm 低視紅外曳光彈 + 9.3毫米 低視紅外曳光彈 9.3mm 低视红外曳光弹 @@ -918,7 +918,7 @@ Kaliber: 9,3x64mm infravörös nyomkövető<br />Lövedékek: 150<br />Használható: Navid 口径: 9.3x64mm IR-DIM曳光弾<br />装填数: 150<br />次で使用: Navid 구경: 9.3x64mm IR-DIM 예광탄<br />장탄수: 150<br />사용처: Navid - 口徑: 9.3x64mm 低視度紅外線曳光彈<br />發數: 150<br />使用於: Navid + 口徑: 9.3x64毫米 低視度紅外線曳光彈<br />發數: 150<br />使用於: Navid 口径: 9.3x64mm 低视度红外线曳光弹<br />发数: 150<br />使用于: Navid @@ -934,7 +934,7 @@ 9,3mm 150-lövedékes páncéltörő heveder 9.3mm 150発入り 徹甲弾ベルト 150발들이 9.3mm 철갑탄 벨트 - 9.3mm 150發 穿甲彈 彈鏈 + 9.3毫米 150發 穿甲彈 彈鏈 9.3mm 150发 穿甲弹 弹链 @@ -950,7 +950,7 @@ 9,3mm páncéltörő 9.3mm 徹甲弾 9.3mm 철갑탄 - 9.3mm 穿甲彈 + 9.3毫米 穿甲彈 9.3mm 穿甲弹 @@ -966,7 +966,7 @@ Kaliber: 9,3x64mm páncéltörő<br />Lövedékek: 150<br />Használható: Navid 口径: 9.3x64mm 徹甲弾<br />装填数: 150<br />次で使用: Navid 구경: 9.3x64mm 철갑탄<br />장탄수: 150<br />사용처: Navid - 口徑: 9.3x64mm 穿甲彈<br />發數: 150<br />使用於: Navid + 口徑: 9.3x64毫米 穿甲彈<br />發數: 150<br />使用於: Navid 口径: 9.3x64mm 穿甲弹<br />发数: 150<br />使用于: Navid @@ -982,7 +982,7 @@ 9x19mm 16-lövedékes tár 9x19mm 16発入り 弾倉 16발들이 9x19mm 탄창 - 9x19mm 16發 彈匣 + 9x19毫米 16發 彈匣 9x19mm 16发 弹匣 @@ -998,7 +998,7 @@ 9x19mm 9x19mm 9x19mm - 9x19mm + 9x19毫米 9x19mm @@ -1014,7 +1014,7 @@ 9x19mm 16-lövedékes tár 9x19mm 30発入り 弾倉 30발들이 9x19mm 탄창 - 9x19mm 30發 彈匣 + 9x19毫米 30發 彈匣 9x19mm 30发 弹匣 @@ -1030,7 +1030,7 @@ 9x19mm 30-lövedékes tár 9x19mm 30発入り 弾倉 30발들이 9x19mm 탄창 - 9x19mm 30發 彈匣 + 9x19毫米 30發 彈匣 9x19mm 30发 弹匣 @@ -1046,7 +1046,7 @@ 9x19mm 9x19mm 9x19mm - 9x19mm + 9x19毫米 9x19mm @@ -1062,13 +1062,13 @@ 9x19mm 30-lövedékes tár 9x19mm 30発入り 弾倉 30발들이 9x19mm 탄창 - 9x19mm 30發 彈匣 + 9x19毫米 30發 彈匣 9x19mm 30发 弹匣 7.62x54mm 10Rnd Tracer Mag Magazynek 7,62x54mm 10rd Smugacz - Ch. 7,62x54mm 10Cps Traçante + Ch. 7,62x54mm 10Cps Traçantes Cargador de 10 balas trazadoras de 7.62x54mm Магазин из 10-ти 7,62 мм ИК-трассирующих 7,62x54mm 10-Patronen-Magazin Leuchtspur @@ -1078,7 +1078,7 @@ 7,62x54mm 10-lövedékes nyomkövető tár 7.62x54mm 10発入り 曳光弾 弾倉 10발들이 7.62x54mm 예광탄 탄창 - 7.62x54mm 10發 曳光彈 彈匣 + 7.62x54毫米 10發 曳光彈 彈匣 7.62x54mm 10发 曳光弹 弹匣 @@ -1094,13 +1094,13 @@ 7,62mm 7.62mm 7.62mm - 7.62mm + 7.62毫米 7.62mm 7.62x54mm 10Rnd Tracer Mag Magazynek 7,62x54mm 10rd Smugacz - Ch. 7,62x54mm 10Cps Traçante + Ch. 7,62x54mm 10Cps Traçantes Cargador de 10 balas trazadoras de 7.62x54mm Магазин из 10-ти 7,62 мм ИК-трассирующих 7,62x54mm 10-Patronen-Magazin Leuchtspur @@ -1110,13 +1110,13 @@ 7,62x54mm 10-lövedékes nyomkövető tár 7.62x54mm 10発入り 曳光弾 弾倉 10발들이 7.62x54mm 예광탄 탄창 - 7.62x54mm 10發 曳光彈 彈匣 + 7.62x54毫米 10發 曳光彈 彈匣 7.62x54mm 10发 曳光弹 弹匣 6.5mm 100Rnd Tracer IR-DIM Mag Magazynek 6,5mm 100rd Smugacz IR-DIM - Ch. 6,5mm 100Cps Traçante IR-DIM + Ch. 6,5mm 100Cps Traçantes IR-DIM Cargador de 100 balas trazadoras IR-DIM de 6.5mm Магазин из 100 6,5 мм ИК-трассирующих 6,5mm 100-Patronen-Magazin IR-DIM Leuchtspur @@ -1126,7 +1126,7 @@ 6,5mm 100-lövedékes infravörös nyomkövető tár 6.5mm 100発入り IR-DIM曳光弾 弾倉 100발들이 6.5mm IR-DIM 예광탄 탄창 - 6.5mm 100發 低視度紅外線曳光彈 彈匣 + 6.5毫米 100發 低視度紅外線曳光彈 彈匣 6.5mm 100发 低视度红外线曳光弹 弹匣 @@ -1142,13 +1142,13 @@ 6,5mm infravörös nyomkövető 6.5mm IR-DIM曳光弾 6.5mm IR-DIM 예광탄 - 6.5mm 低視紅外曳光彈 + 6.5毫米 低視紅外曳光彈 6.5mm 低视红外曳光弹 6.5mm 100Rnd Tracer IR-DIM Mag<br />Rounds: 100<br />Used in: MX LSW Magazynek 6,5mm 100rd Smugacz IR-DIM - Ch. 6,5mm 100Cps Traçante IR-DIM<br />Cartouches: 100<br />Utilisé avec: MX LSW + Ch. 6,5mm 100Cps Traçantes IR-DIM<br />Cartouches: 100<br />Utilisé avec: MX LSW Cargador de 100 balas trazadoras IR-DIM de 6.5mm Магазин из 100 6,5 мм ИК-трассирующих 6,5mm 100-Patronen-Magazin IR-DIM Leuchtspur<br />Patronen: 100<br />Eingesetzt von: MXLSW @@ -1158,13 +1158,13 @@ 6.5mm 100-lövedékes infravörös nyomkövető tár<br />Lövedékek: 100<br />Használható: MX LSW 6.5mm 100発入り IR-DIM曳光弾 弾倉<br />装填数: 100<br />次で使用: MX LSW 100발들이 6.5mm IR-DIM 예광탄 탄창<br />장탄수: 100<br />사용처: MX LSW - 6.5mm 100發 低視度紅外線曳光彈<br />發數: 100<br />使用於: MX LSW + 6.5毫米 100發 低視度紅外線曳光彈<br />發數: 100<br />使用於: MX LSW 6.5mm 100发 低视度红外线曳光弹<br />发数: 100<br />使用于: MX LSW 6.5mm 200Rnd Tracer IR-DIM Belt Magazynek 6,5mm 200rd Smugacz IR-DIM - Bande 6,5mm 200Cps Traçante IR-DIM + Bande 6,5mm 200Cps Traçantes IR-DIM Cinta de 200 balas trazadoras IR-DIM de 6.5mm Магазин из 200-т 6,5 мм ИК-трассирующих 6,5mm 200-Patronen-Gurt IR-DIM Leuchtspur @@ -1174,7 +1174,7 @@ 6,5mm 200-lövedékes infravörös nyomkövető heveder 6.5mm 200発入り IR-DIM曳光弾ベルト 200발들이 6.5mm IR-DIM 예광탄 탄창 - 6.5mm 200發 低視度紅外線曳光彈 彈鏈 + 6.5毫米 200發 低視度紅外線曳光彈 彈鏈 6.5mm 200发 低视度红外线曳光弹 弹链 @@ -1190,13 +1190,13 @@ 6,5mm infravörös nyomkövető 6.5mm IR-DIM曳光弾 6.5mm IR-DIM 예광탄 - 6.5mm 低視紅外曳光彈 + 6.5毫米 低視紅外曳光彈 6.5mm 低视红外曳光弹 6.5mm 200Rnd Tracer IR-DIM Belt<br />Rounds: 200<br />Used in: Stoner 99 LMG Magazynek 6,5mm 200rd Smugacz IR-DIM - Bande 6.5mm 200Cps Traçante IR-DIM<br />Cartouches: 200<br />Utilisé avec: Stoner 99 LMG + Bande 6.5mm 200Cps Traçantes IR-DIM<br />Cartouches: 200<br />Utilisé avec: Stoner 99 LMG Cinta de 200 balas trazadoras IR-DIM de 6.5mm Магазин из 200-т 6,5 мм ИК-трассирующих 6,5mm 200-Patronen-Gurt IR-DIM Leuchtspur<br />Patronen: 200<br />Eingesetzt von: Stoner 99 LMG @@ -1206,7 +1206,7 @@ 6.5mm 200-lövedékes infravörös nyomkövető heveder<br />Lövedékek: 200<br />Használható: Stoner 99 LMG 6.5mm 200発入り IR-DIM曳光弾ベルト<br />装填数: 200<br />次で使用: Stoner 99 LMG 200발들이 6.5mm IR-DIM 예광탄 벨트<br />장탄수: 200<br />사용처: Stoner 99 LMG - 6.5mm 200發 低視度紅外線曳光彈<br />發數: 200<br />使用於: Stoner 99 LMG + 6.5毫米 200發 低視度紅外線曳光彈<br />發數: 200<br />使用於: Stoner 99 LMG 6.5mm 200发 低视度红外线曳光弹<br />发数: 200<br />使用于: Stoner 99 LMG @@ -1222,7 +1222,7 @@ 5,56mm 30-lövedékes tár (Mk262) 5.56mm 30発入り 弾倉 (Mk262) 30발들이 5.56mm 탄창 (Mk262) - 5.56mm 30發 彈匣 (Mk262 狙擊專用彈) + 5.56毫米 30發 彈匣 (Mk262 狙擊專用彈) 5.56mm 30发 弹匣 (Mk262 狙击专用弹) @@ -1238,7 +1238,7 @@ 5,56mm Mk262 5.56mm Mk262 5.56mm Mk262 - 5.56mm Mk262 狙擊專用彈 + 5.56毫米 Mk262 狙擊專用彈 5.56mm Mk262 狙击专用弹 @@ -1254,7 +1254,7 @@ Kaliber: 5,56x45mm NATO (Mk262)<br />Lövedékek: 30 口径: 5.56x45mm NATO (Mk262)<br />装填数: 30 구경: 5.56x45mm NATO (Mk262)<br />장탄수: 30 - 口徑: 5.56x45mm NATO標準 (Mk262 狙擊專用彈)<br />發數: 30 + 口徑: 5.56x45毫米 NATO標準 (Mk262 狙擊專用彈)<br />發數: 30 口径: 5.56x45mm NATO标准 (Mk262 狙击专用弹)<br />发数: 30 @@ -1270,7 +1270,7 @@ 5,56mm 30-lövedékes tár (Mk318) 5.56mm 30発入り 弾倉 (Mk318) 30발들이 5.56mm 탄창 (Mk318) - 5.56mm 30發 彈匣 (Mk318 特戰專用彈) + 5.56毫米 30發 彈匣 (Mk318 特戰專用彈) 5.56mm 30发 弹匣 (Mk318 特战专用弹) @@ -1286,7 +1286,7 @@ 5,56mm Mk318 5.56mm Mk318 5.56mm Mk318 - 5.56mm Mk318 特戰專用彈 + 5.56毫米 Mk318 特戰專用彈 5.56mm Mk318 特战专用弹 @@ -1302,7 +1302,7 @@ Kaliber: 5,56x45mm NATO (Mk318)<br />Lövedékek: 30 口径: 5.56x45mm NATO (Mk318)<br />装填数: 30 구경: 5.56x45mm NATO (Mk318)<br />장탄수: 30 - 口徑: 5.56x45mm NATO標準 (Mk318 特戰專用彈)<br />發數: 30 + 口徑: 5.56x45毫米 NATO標準 (Mk318 特戰專用彈)<br />發數: 30 口径: 5.56x45mm NATO标准 (Mk318 特战专用弹)<br />发数: 30 @@ -1318,7 +1318,7 @@ 5,56mm 30-lövedékes tár (M995 páncéltörő) 5.56mm 30発入り 弾倉 (M995 徹甲弾) 30발들이 5.56mm 탄창 (Mk995 철갑탄) - 5.56mm 30發 彈匣 (M995 穿甲彈) + 5.56毫米 30發 彈匣 (M995 穿甲彈) 5.56mm 30发 弹匣 (M995 穿甲弹) @@ -1334,7 +1334,7 @@ 5,56mm páncéltörő 5.56mm 徹甲弾 5.56mm 철갑탄 - 5.56mm M995 穿甲彈 + 5.56毫米 M995 穿甲彈 5.56mm M995 穿甲弹 @@ -1350,7 +1350,7 @@ Kaliber: 5,56x45mm NATO (M995 páncéltörő)<br />Lövedékek: 30 口径: 5.56x45mm NATO (M995 徹甲弾)<br />装填数: 30 구경: 5.56x45mm NATO (Mk995 철갑탄)<br />장탄수: 30 - 口徑: 5.56x45mm NATO標準 (M995 穿甲彈)<br />發數: 30 + 口徑: 5.56x45毫米 NATO標準 (M995 穿甲彈)<br />發數: 30 口径: 5.56x45mm NATO标准 (M995 穿甲弹)<br />发数: 30 @@ -1366,7 +1366,7 @@ 7,62mm 10-lövedékes tár (M118LR) 7.62mm 10発入り 弾倉 (M118LR) 10발들이 7.62mm 탄창 (M118LR) - 7.62mm 10發 彈匣 (M118LR 狙擊專用彈) + 7.62毫米 10發 彈匣 (M118LR 狙擊專用彈) 7.62mm 10发 弹匣 (M118LR 狙击专用弹) @@ -1382,7 +1382,7 @@ 7,62mm M118LR 7.62mm M118LR 7.62mm M118LR - 7.62mm M118LR 狙擊專用彈 + 7.62m毫米 M118LR 狙擊專用彈 7.62mm M118LR 狙击专用弹 @@ -1398,7 +1398,7 @@ Kaliber: 7,62x51mm NATO (M118LR)<br />Lövedékek: 10 口径: 7.62x51mm NATO (M118LR)<br />装填数: 10 구경: 7.62x51mm NATO (M118LR)<br />장탄수: 10 - 口徑: 7.62x51mm NATO標準 (M118LR 狙擊專用彈)<br />發數: 10 + 口徑: 7.62x51毫米 NATO標準 (M118LR 狙擊專用彈)<br />發數: 10 口径: 7.62x51mm NATO标准 (M118LR 狙击专用弹)<br />发数: 10 @@ -1414,7 +1414,7 @@ 7,62mm 20-lövedékes tár (M118LR) 7.62mm 20発入り 弾倉 (M118LR) 20발들이 7.62mm 탄창 (M118LR) - 7.62mm 20發 彈匣 (M118LR 狙擊專用彈) + 7.62毫米 20發 彈匣 (M118LR 狙擊專用彈) 7.62mm 20发 弹匣 (M118LR 狙击专用弹) @@ -1430,7 +1430,7 @@ 7,62mm M118LR 7.62mm M118LR 7.62mm M118LR - 7.62mm M118LR 狙擊專用彈 + 7.62毫米 M118LR 狙擊專用彈 7.62mm M118LR 狙击专用弹 @@ -1446,7 +1446,7 @@ Kaliber: 7,62x51mm NATO (M118LR)<br />Lövedékek: 20 口径: 7.62x51mm NATO (M118LR)<br />装填数: 20 구경: 7.62x51mm NATO (M118LR)<br />장탄수: 20 - 口徑: 7.62x51mm NATO標準 (M118LR 狙擊專用彈)<br />發數: 20 + 口徑: 7.62x51毫米 NATO標準 (M118LR 狙擊專用彈)<br />發數: 20 口径: 7.62x51mm NATO标准 (M118LR 狙击专用弹)<br />发数: 20 @@ -1462,7 +1462,7 @@ 7,62mm 10-lövedékes tár (Mk316 Mod 0) 7.62mm 10発入り 弾倉 (Mk316 Mod 0) 10발들이 7.62mm 탄창 (Mk316 Mod 0) - 7.62mm 10發 彈匣 (Mk316 Mod 0 狙擊專用彈) + 7.62毫米 10發 彈匣 (Mk316 Mod 0 狙擊專用彈) 7.62mm 10发 弹匣 (Mk316 Mod 0 狙击专用弹) @@ -1478,7 +1478,7 @@ 7,62mm Mk316 7.62mm Mk316 7.62mm Mk316 - 7.62mm Mk316 狙擊專用彈 + 7.62毫米 Mk316 狙擊專用彈 7.62mm Mk316 狙击专用弹 @@ -1494,7 +1494,7 @@ Kaliber: 7,62x51mm NATO (Mk316 Mod 0)<br />Lövedékek: 10 口径: 7.62x51mm NATO (Mk316 Mod 0)<br />装填数: 10 구경: 7.62x51mm NATO (Mk316 Mod 0)<br />장탄수: 10 - 口徑: 7.62x51mm NATO標準 (Mk316 Mod 0 狙擊專用彈)<br />發數: 10 + 口徑: 7.62x51毫米 NATO標準 (Mk316 Mod 0 狙擊專用彈)<br />發數: 10 口径: 7.62x51mm NATO标准 (Mk316 Mod 0 狙击专用弹)<br />发数: 10 @@ -1510,7 +1510,7 @@ 7,62mm 20-lövedékes tár (Mk316 Mod 0) 7.62mm 20発入り 弾倉 (Mk316 Mod 0) 20발들이 7.62mm 탄창 (Mk316 Mod 0) - 7.62mm 20發 彈匣 (Mk316 Mod 0 狙擊專用彈) + 7.62毫米 20發 彈匣 (Mk316 Mod 0 狙擊專用彈) 7.62mm 20发 弹匣 (Mk316 Mod 0 狙击专用弹) @@ -1526,7 +1526,7 @@ 7,62mm Mk316 7.62mm Mk316 7.62mm Mk316 - 7.62mm Mk316 狙擊專用彈 + 7.62毫米 Mk316 狙擊專用彈 7.62mm Mk316 狙击专用弹 @@ -1542,7 +1542,7 @@ Kaliber: 7,62x51mm NATO (Mk316 Mod 0)<br />Lövedékek: 20 口径: 7.62x51mm NATO (Mk316 Mod 0)<br />装填数: 20 구경: 7.62x51mm NATO (Mk316 Mod 0)<br />장탄수: 20 - 口徑: 7.62x51mm NATO標準 (Mk316 Mod 0 狙擊專用彈)<br />發數: 20 + 口徑: 7.62x51毫米 NATO標準 (Mk316 Mod 0 狙擊專用彈)<br />發數: 20 口径: 7.62x51mm NATO标准 (Mk316 Mod 0 狙击专用弹)<br />发数: 20 @@ -1558,7 +1558,7 @@ 7,62mm 10-lövedékes tár (Mk319 Mod 0) 7.62mm 10発入り 弾倉 (Mk319 Mod 0) 10발들이 7.62mm 탄창 (Mk319 Mod 0) - 7.62mm 10發 彈匣 (Mk319 Mod 0 特戰專用彈) + 7.62毫米 10發 彈匣 (Mk319 Mod 0 特戰專用彈) 7.62mm 10发 弹匣 (Mk319 Mod 0 特战专用弹) @@ -1574,7 +1574,7 @@ 7,62mm Mk319 7.62mm Mk319 7.62mm Mk319 - 7.62mm Mk319 特戰專用彈 + 7.62毫米 Mk319 特戰專用彈 7.62mm Mk319 特战专用弹 @@ -1590,7 +1590,7 @@ Kaliber: 7,62x51mm NATO (Mk319 Mod 0)<br />Lövedékek: 10 口径: 7.62x51mm NATO (Mk319 Mod 0)<br />装填数: 10 구경: 7.62x51mm NATO (Mk319 Mod 0)<br />장탄수: 10 - 口徑: 7.62x51mm NATO標準 (Mk319 Mod 0 特戰專用彈)<br />發數: 10 + 口徑: 7.62x51毫米 NATO標準 (Mk319 Mod 0 特戰專用彈)<br />發數: 10 口径: 7.62x51mm NATO标准 (Mk319 Mod 0 特战专用弹)<br />发数: 10 @@ -1606,7 +1606,7 @@ 7,62mm 20-lövedékes tár (Mk319 Mod 0) 7.62mm 20発入り 弾倉 (Mk319 Mod 0) 20발들이 7.62mm 탄창 (Mk319 Mod 0) - 7.62mm 20發 彈匣 (Mk319 Mod 0 特戰專用彈) + 7.62毫米 20發 彈匣 (Mk319 Mod 0 特戰專用彈) 7.62mm 20发 弹匣 (Mk319 Mod 0 特战专用弹) @@ -1622,7 +1622,7 @@ 7,62mm Mk319 7.62mm Mk319 7.62mm Mk319 - 7.62mm Mk319 特戰專用彈 + 7.62毫米 Mk319 特戰專用彈 7.62mm Mk319 特战专用弹 @@ -1638,7 +1638,7 @@ Kaliber: 7,62x51mm NATO (Mk319 Mod 0)<br />Lövedékek: 20 口径: 7.62x51mm NATO (Mk319 Mod 0)<br />装填数: 20 구경: 7.62x51mm NATO (Mk319 Mod 0)<br />장탄수: 20 - 口徑: 7.62x51mm NATO標準 (Mk319 Mod 0 特戰專用彈)<br />發數: 20 + 口徑: 7.62x51毫米 NATO標準 (Mk319 Mod 0 特戰專用彈)<br />發數: 20 口径: 7.62x51mm NATO标准 (Mk319 Mod 0 特战专用弹)<br />发数: 20 @@ -1654,7 +1654,7 @@ 7,62mm 10-lövedékes tár (M993 páncéltörő) 7.62mm 10発入り 弾倉 (M993 徹甲弾) 10발들이 7.62mm 탄창 (M993 철갑탄) - 7.62mm 10發 彈匣 (M993 穿甲專用彈) + 7.62毫米 10發 彈匣 (M993 穿甲專用彈) 7.62mm 10发 弹匣 (M993 穿甲专用弹) @@ -1670,7 +1670,7 @@ 7,62mm páncéltörő 7.62mm 徹甲弾 7.62mm 철갑탄 - 7.62mm M993 穿甲專用彈 + 7.62毫米 M993 穿甲專用彈 7.62mm M993 穿甲专用弹 @@ -1686,7 +1686,7 @@ Kaliber: 7,62x51mm NATO (M993 páncéltörő)<br />Lövedékek: 10 口径: 7.62x51mm NATO (Mk319 Mod 0)<br />装填数: 10 구경: 7.62x51mm NATO (M993 철갑탄)<br />장탄수: 10 - 口徑: 7.62x51mm NATO標準 (M993 穿甲專用彈)<br />發數: 10 + 口徑: 7.62x51毫米 NATO標準 (M993 穿甲專用彈)<br />發數: 10 口径: 7.62x51mm NATO标准 (M993 穿甲专用弹)<br />发数: 10 @@ -1702,7 +1702,7 @@ 7,62mm 20-lövedékes tár (M993 páncéltörő) 7.62mm 20発入り 弾倉 (M993 徹甲弾) 20발들이 7.62mm 탄창 (M993 철갑탄) - 7.62mm 20發 彈匣 (M993 穿甲專用彈) + 7.62毫米 20發 彈匣 (M993 穿甲專用彈) 7.62mm 20发 弹匣 (M993 穿甲专用弹) @@ -1718,7 +1718,7 @@ 7,62mm páncéltörő 7.62mm 徹甲弾 7.62mm 철갑탄 - 7.62mm M993 穿甲專用彈 + 7.62毫米 M993 穿甲專用彈 7.62mm M993 穿甲专用弹 @@ -1734,7 +1734,7 @@ Kaliber: 7,62x51mm NATO (M993 páncéltörő)<br />Lövedékek: 20 口径: 7.62x51mm NATO (M993 徹甲弾)<br />装填数: 20 구경: 7.62x51mm NATO (M993 철갑탄)<br />장탄수: 20 - 口徑: 7.62x51mm NATO標準 (M993 穿甲專用彈)<br />發數: 20 + 口徑: 7.62x51毫米 NATO標準 (M993 穿甲專用彈)<br />發數: 20 口径: 7.62x51mm NATO标准 (M993 穿甲专用弹)<br />发数: 20 @@ -1750,7 +1750,7 @@ 7,62mm 20-lövedékes tár (Mk248 Mod 0) 7.62mm 20発入り 弾倉 (Mk248 Mod 0) 20발들이 7.62mm 탄창 (Mk248 Mod 0) - 7.62mm 20發 彈匣 (Mk248 Mod 0 狙擊專用彈) + 7.62毫米 20發 彈匣 (Mk248 Mod 0 狙擊專用彈) 7.62mm 20发 弹匣 (Mk248 Mod 0 狙击专用弹) @@ -1766,7 +1766,7 @@ 7,62mm Mk248 7.62mm Mk248 7.62mm Mk248 - 7.62mm Mk248 狙擊專用彈 + 7.62毫米 Mk248 狙擊專用彈 7.62mm Mk248 狙击专用弹 @@ -1782,7 +1782,7 @@ Kaliber: 7,62x51mm NATO (Mk248 Mod 0)<br />Lövedékek: 20 口径: 7.62x67mm NATO (Mk248 Mod 0)<br />装填数: 20 구경: 7.62x51mm NATO (Mk248 Mod 0)<br />장탄수: 20 - 口徑: 7.62x67mm NATO標準 (Mk248 Mod 0 狙擊專用彈)<br />發數: 20 + 口徑: 7.62x67毫米 NATO標準 (Mk248 Mod 0 狙擊專用彈)<br />發數: 20 口径: 7.62x67mm NATO标准 (Mk248 Mod 0 狙击专用弹)<br />发数: 20 @@ -1798,7 +1798,7 @@ 7,62mm 20-lövedékes tár (Mk248 Mod 1) 7.62mm 20発入り 弾倉 (Mk248 Mod 1) 20발들이 7.62mm 탄창 (Mk248 Mod 1) - 7.62mm 20發 彈匣 (Mk248 Mod 1 狙擊專用彈) + 7.62毫米 20發 彈匣 (Mk248 Mod 1 狙擊專用彈) 7.62mm 20发 弹匣 (Mk248 Mod 1 狙击专用弹) @@ -1814,7 +1814,7 @@ 7,62mm Mk248 7.62mm Mk248 7.62mm Mk248 - 7.62mm Mk248 狙擊專用彈 + 7.62毫米 Mk248 狙擊專用彈 7.62mm Mk248 狙击专用弹 @@ -1830,7 +1830,7 @@ Kaliber: 7,62x51mm NATO (Mk248 Mod 1)<br />Lövedékek: 20 口径: 7.62x67mm NATO (Mk248 Mod 1)<br />装填数: 20 구경: 7.62x51mm NATO (Mk248 Mod 1)<br />장탄수: 20 - 口徑: 7.62x67mm NATO標準 (Mk248 Mod 1 狙擊專用彈)<br />發數: 20 + 口徑: 7.62x67毫米 NATO標準 (Mk248 Mod 1 狙擊專用彈)<br />發數: 20 口径: 7.62x67mm NATO标准 (Mk248 Mod 1 狙击专用弹)<br />发数: 20 @@ -1846,7 +1846,7 @@ 7,62mm 20-lövedékes tár (Berger Hybrid OTM) 7.62mm 20発入り 弾倉 (Berger Hybrid OTM) 20발들이 7.62mm 탄창 (Berger Hybrid OTM) - 7.62mm 20發 彈匣 (Berger Hybrid 空尖比賽專用彈) + 7.62毫米 20發 彈匣 (Berger Hybrid 空尖比賽專用彈) 7.62mm 20发 弹匣 (Berger Hybrid 空尖比赛专用弹) @@ -1862,7 +1862,7 @@ 7,62mm OTM 7.62mm OTM 7.62mm OTM - 7.62mm 空尖比賽專用彈 + 7.62毫米 空尖比賽專用彈 7.62mm 空尖比赛专用弹 @@ -1878,7 +1878,7 @@ Kaliber: 7,62x67mm NATO (Berger Hybrid OTM)<br />Lövedékek: 20 口径: 7.62x67mm NATO (Berger Hybrid OTM)<br />装填数: 20 구경: 7.62x51mm NATO (Berger Hybrid OTM)<br />장탄수: 20 - 口徑: 7.62x67mm NATO標準 (Berger Hybrid 空尖比賽專用彈)<br />發數: 20 + 口徑: 7.62x67毫米 NATO標準 (Berger Hybrid 空尖比賽專用彈)<br />發數: 20 口径: 7.62x67mm NATO标准 (Berger Hybrid 空尖比赛专用弹)<br />发数: 20 @@ -1894,7 +1894,7 @@ 6,5x47mm 30-lövedékes tár (HPBT Scenar) 6.5x47mm 30発入り 弾倉 (HPBT Scenar) 30발들이 6.5x47mm 탄창 (HPBT Scenar) - 6.5x47mm 30發 彈匣 (Lapua 空尖艇尾狙擊專用彈) + 6.5x47毫米 30發 彈匣 (拉普 空尖艇尾狙擊專用彈) 6.5x47mm 30发 弹匣 (Lapua 空尖艇尾狙击专用弹) @@ -1910,12 +1910,12 @@ 6,5mm Lapua 6.5mm Lapua 6.5mm Lapua - 6.5mm Lapua 空尖艇尾狙擊專用彈 + 6.5毫米 拉普 空尖艇尾狙擊專用彈 6.5mm Lapua 空尖艇尾狙击专用弹 Caliber: 6.5x47mm (HPBT Scenar)<br />Rounds: 30<br />Used in: MXM - Calibre: 6,5x47mm (HPBT Scenar)<br />Cartouches: 30 + Calibre: 6,5x47mm (HPBT Scenar)<br />Cartouches: 30<br />Utilisé avec: MXM Calibre: 6.5x47mm (HPBT Scenar)<br />Balas: 30<br />Se usa en: MXM Kaliber: 6,5x47mm (HPBT Scenar)<br />Pociski: 30 Калибр: 6,5x47 мм (экспансивные Scenar)<br />Патронов: 30<br />Используются с: MXM @@ -1926,7 +1926,7 @@ Kaliber: 6,5x47mm (HPBT Scenar)<br />Lövedékek: 30<br />Használható: MXM 口径: 6.5x47mm (HPBT Scenar)<br />装填数: 30<br />次で使用: MXM 구경: 6.5x47mm (HPBT Scenar)<br />장탄수: 30<br />사용처: MXM - 口徑: 6.5x47mm (Lapua 空尖艇尾狙擊專用彈)<br />發數: 30<br />使用於: MXM + 口徑: 6.5x47毫米 (拉普 空尖艇尾狙擊專用彈)<br />發數: 30<br />使用於: MXM 口径: 6.5x47mm (Lapua 空尖艇尾狙击专用弹)<br />发数: 30<br />使用于: MXM @@ -1942,7 +1942,7 @@ 6,5mm Creedmor 30-lövedékes tár 6.5mm Creedmor 30発入り 弾倉 30발들이 6.5mm Creedmor 탄창 - 6.5mm 30發 彈匣 (Creedmor 狙擊專用彈) + 6.5毫米 30發 彈匣 (克里德莫爾(CM) 狙擊專用彈) 6.5mm 30发 弹匣 (Creedmor 狙击专用弹) @@ -1958,7 +1958,7 @@ 6,5mm CM 6.5mm CM 6.5mm CM - 6.5mm CM 狙擊專用彈 + 6.5毫米 CM狙擊專用彈 6.5mm CM 狙击专用弹 @@ -1974,7 +1974,7 @@ Kaliber: 6,5x47mm Creedmor<br />Lövedékek: 30<br />Használható: MXM 口径: 6.5x47mm Creedmor<br />装填数: 30<br />次で使用: MXM 구경: 6.5x47mm Creedmor<br />장탄수: 30<br />사용처: MXM - 口徑: 6.5x47mm Creedmor 狙擊專用彈<br />發數: 30<br />使用於: MXM + 口徑: 6.5x47毫米 克里德莫爾 狙擊專用彈<br />發數: 30<br />使用於: MXM 口径: 6.5x47mm Creedmor 狙击专用弹<br />发数: 30<br />使用于: MXM @@ -2022,7 +2022,7 @@ Kaliber: 8,6x70mm (300gr Lapua Scenar)<br />Lövedékek: 10 口径: 8.6x70mm (300gr Lapua Scenar)<br />装填数: 10 구경: 8.6x70mm (300gr Lapua Scenar)<br />장탄수: 10 - 口徑: 8.6x70mm (300公克 Lapua Scenar)<br />發數: 10 + 口徑: 8.6x70毫米 (300公克 Lapua Scenar)<br />發數: 10 口径: 8.6x70mm (300公克 Lapua Scenar)<br />发数: 10 @@ -2070,7 +2070,7 @@ Kaliber: 8,6x70mm (API526)<br />Lövedékek: 10 口径: 8.6x70mm (API526)<br />装填数: 10 구경: 8.6x70mm (API526)<br />장탄수: 10 - 口徑: 8.6x70mm (API526 穿甲燃燒彈)<br />發數: 10 + 口徑: 8.6x70毫米 (API526 穿甲燃燒彈)<br />發數: 10 口径: 8.6x70mm (API526 穿甲燃烧弹)<br />发数: 10 @@ -2134,7 +2134,7 @@ 12,7x99mm 5-lövedékes tár 12.7x99mm 5発入り 弾倉 5발들이 12.7x99mm 탄창 - 12.7x99mm 5發 彈匣 + 12.7x99毫米 5發 彈匣 12.7x99mm 5发 弹匣 @@ -2150,7 +2150,7 @@ 12,7mm 12.7mm 12.7mm - 12.7mm + 12.7毫米 12.7mm @@ -2166,7 +2166,7 @@ Kaliber: 12,7x99mm<br />Lövedékek: 5 口径: 12.7x99mm<br />装填数: 5 구경: 12.7x99mm<br />장탄수: 5 - 口徑: 12.7x99mm<br />發數: 5 + 口徑: 12.7x99毫米<br />發數: 5 口径: 12.7x99mm<br />发数: 5 @@ -2182,7 +2182,7 @@ 12,7x99mm 5-lövedékes tár (páncéltörő-gyújtó) 12.7x99mm 5発入り焼夷徹甲弾 弾倉 5발들이 12.7x99mm 철갑소이탄 탄창 - 12.7x99mm 穿甲燃燒彈 5發 彈匣 + 12.7x99毫米 穿甲燃燒彈 5發 彈匣 12.7x99mm 穿甲燃烧弹 5发 弹匣 @@ -2198,7 +2198,7 @@ 12,7mm páncéltörő-gyújtó 12.7mm 焼夷徹甲弾 12.7mm 철갑소이탄 - 12.7mm 穿甲燃燒彈 + 12.7毫米 穿甲燃燒彈 12.7mm 穿甲燃烧弹 @@ -2214,7 +2214,7 @@ Kaliber: 12,7x99mm API<br />Lövedékek: 5 口径: 12.7x99mm 焼夷徹甲弾<br />装填数: 5 구경: 12.7x99mm 철갑소이탄<br />장탄수: 5 - 口徑: 12.7x99mm 穿甲燃燒彈<br />發數: 5 + 口徑: 12.7x99毫米 穿甲燃燒彈<br />發數: 5 口径: 12.7x99mm 穿甲燃烧弹<br />发数: 5 @@ -2230,7 +2230,7 @@ 12,7x99mm 5-lövedékes tár (AMAX) 12.7x99mm 5発入り 弾倉 (AMAX) 5발들이 12.7x99mm 탄창 (AMAX) - 12.7x99mm 5發 彈匣 (AMAX 比賽專用彈) + 12.7x99毫米 5發 彈匣 (AMAX 比賽專用彈) 12.7x99mm 5发 弹匣 (AMAX 比赛专用弹) @@ -2246,7 +2246,7 @@ 12,7mm 12.7mm 12.7mm - 12.7mm AMAX 比賽專用彈 + 12.7毫米 AMAX 比賽專用彈 12.7mm AMAX 比赛专用弹 @@ -2262,7 +2262,7 @@ Kaliber: 12,7x99mm (AMAX)<br />Lövedékek: 5 口径: 12.7x99mm (AMAX)<br />装填数: 5 구경: 12.7x99mm (AMAX)<br />장탄수: 5 - 口徑: 12.7x99mm (AMAX 比賽專用彈)<br />發數: 5 + 口徑: 12.7x99毫米 (AMAX 比賽專用彈)<br />發數: 5 口径: 12.7x99mm (AMAX 比赛专用弹)<br />发数: 5 @@ -2291,6 +2291,7 @@ Gwintowanie lufy Нарезы ствола Barrel Twist + Pas du canon Barrel length @@ -2307,7 +2308,7 @@ Ballistic coefficient Ballistischer Koeffizient - Coefficient ballistique + Coefficient balistique 弾道係数 弹道系数 彈道係數 @@ -2331,7 +2332,7 @@ Muzzle velocity Mündungsgeschwindigkeit - Vitesse à la bouche + Vitesse initiale 銃口初速 枪口初速 槍口初速 diff --git a/addons/captives/stringtable.xml b/addons/captives/stringtable.xml index a8c8350db8..b661613892 100644 --- a/addons/captives/stringtable.xml +++ b/addons/captives/stringtable.xml @@ -12,12 +12,13 @@ Jeńcy Пленные Prisioneiros + Prisonniers Take Prisoner Gefangen nehmen Tomar prisionero - Prendre le prisonnier + Capturer le prisonnier Aresztuj Zajmout osobu Arresta il prigioniero @@ -274,7 +275,7 @@ Toto kontroluje nastavení kapitulace a pout Einstellungen zur Kapitulation und Kabelbindern Controla as configurações de rendição e abraçadeiras - Contrôle les paramètres de la reddition et des Serflex + Contrôle les paramètres de la reddition et des Serflex. Szabályozza a kapituláció és bilincselés beállításait Управляет настройками ареста и сдачи в плен Controlla le impostazioni per la resa e le manette @@ -306,7 +307,7 @@ Mohou hráči spoutat jednotky na své straně Spieler können eigene Einheiten fesseln Os jogadores podem algemar unidades do seu lado - Les joueurs peuvent utiliser les Serflex sur leur propre camp + Les joueurs peuvent utiliser les Serflex sur leur propre camp. A játékosok megkötözhetik-e a saját oldalukon lévő egységeket Разрешить игрокам арестовывать юнитов своей стороны I giocatori possono ammanettare unità alleate @@ -338,7 +339,7 @@ Hráč se může vzdát poté, co si skryje zbraň Spieler können kapitulieren, nachdem sie ihre Waffe geholstert haben. Jogadores podem se render depois de guardar sua arma - Les joueurs peuvent se rendre après avoir rangé leur arme + Les joueurs peuvent se rendre après avoir rangé leur arme. A játékosok megadhatják magukat a fegyverük elrakása után Игроки могут сдаваться после того, как уберут оружие I giocatori possono arrendersi dopo aver messo via le proprie armi @@ -371,7 +372,7 @@ Requiere que los Jugadores se rindan antes de arrestarlos Vyžaduje, aby se hráč nejdříve vzdal, poté může být spoután I giocatori devono arrendersi prima che possano essere arrestati - Requiert la capitulation des joueurs avant qu'ils ne puissent être arrêtés + Requiert la capitulation des joueurs avant qu'ils ne puissent être arrêtés. プレイヤーは拘束される前に、投降する必要があります。 체포하기 전에 먼저 플레이어가 투항을 해야만 합니다 玩家須先要求目標投降,才可以進行逮捕 @@ -418,6 +419,7 @@ Ustawia jednostkę pod kursorem jako jeniec. Арестовывает указанный курсором юнит Torna a unidade sob o cursor um prisioneiro + Capture l'unité sous le curseur. Require AI surrendering @@ -430,6 +432,7 @@ Wymaga poddania się przez SI Требовать ИИ сдаться для ареста Requer rendição da IA + Requiert la reddition de l'IA Require AI to surrender before they can be arrested @@ -442,6 +445,7 @@ Wymaga poddania się przez SI zanim aresztowanie będzie możliwe Требовать для ареста, чтобы ИИ вначале сдавались Requer que a IA se renda antes que seja presa + Requiert la capitulation des unités IA avant qu'elles ne puissent être arrêtées. diff --git a/addons/cargo/functions/fnc_setSpace.sqf b/addons/cargo/functions/fnc_setSpace.sqf index 1b3743cf9f..ed34914fdc 100644 --- a/addons/cargo/functions/fnc_setSpace.sqf +++ b/addons/cargo/functions/fnc_setSpace.sqf @@ -31,14 +31,23 @@ TRACE_2("setSpace",_vehicle,_size); // Nothing to do here if ( (isNil "_space") || - {isNull _vehicle} || - {_space == _vehicle getVariable [QGVAR(space), CARGO_SPACE(typeOf _vehicle)]} + {isNull _vehicle} ) exitWith {}; +// Account for cargo already in the vehicle +private _loaded = _vehicle getVariable [QGVAR(loaded), []]; +private _newSpace = _space; +{ + _newSpace = _newSpace - ([_x] call FUNC(getSizeItem)); +} forEach _loaded; + +// If the new value is the same as the old, do nothing +if (_newSpace == (_vehicle getVariable [QGVAR(space), CARGO_SPACE(typeOf _vehicle)])) exitwith {}; + // Apply new space globally +_vehicle setVariable [QGVAR(space), _newSpace, true]; // Necessary to update value, even if no space, as API could be used again _vehicle setVariable [QGVAR(hasCargo), _space > 0, true]; -_vehicle setVariable [QGVAR(space), _space, true]; // If no cargo space no need for cargo menu if (_space <= 0) exitWith {}; diff --git a/addons/cargo/stringtable.xml b/addons/cargo/stringtable.xml index d3fa5dfe7c..63c60e04da 100644 --- a/addons/cargo/stringtable.xml +++ b/addons/cargo/stringtable.xml @@ -70,7 +70,7 @@ Zbývající prostor: %1 Espacio de carga restante: %1 Spazio cargo rimanente: %1 - Espace de cargaison restant : %1 + Espace de chargement restant : %1 カーゴの空き容量: %1 선적 공간 남음: %1 貨物剩餘空間: %1 @@ -85,7 +85,7 @@ Povolit náklad Habilitar carga Abilita Cargo - Activer la mise en cargaison + Activer la cargaison カーゴを有効化 화물 활성화 啟用貨物裝載 @@ -100,7 +100,7 @@ Habilitar la carga en el módulo de carga Umožňuje naložit předměty do nákladového prostoru vozidla Abilita il modulo di caricamento in cargo - Active le chargement de cargaison dans un vehicule + Active la possibilité de charger du matériel dans un module de fret.\n(véhicule / container) カーゴ モジュールで積み込みを有効化 화물 모듈에 싣기를 활성화합니다 啟用貨物裝載功能 @@ -130,7 +130,7 @@ Configure los ajustes del módulo de carga Konfigurace nákladního modulu Configura le impostazioni del modulo cargo - Configure les paramètres du module de cargaison + Configure les paramètres du module de cargaison. カーゴ モジュールの設定を構成 화물 모듈의 환경 설정을 바꿉니다 配置貨物模塊設定 @@ -156,7 +156,7 @@ Unloaded<br/>%1 from<br/>%2 %1<br/>von<br/>%2 abgeladen Descargado/a<br/>%1 de<br/>%2 - Déchargé<br/>%1 de<br/>%2 + %1<br/>déchargé de<br/>%2 %1<br/>rozładowano z<br/>%2 %1<br/>vyloženo z<br/>%2 %1<br/>descarregado de<br/>%2 @@ -207,7 +207,7 @@ %1<br/>не может быть погружен %1<br/>non può essere caricato %1<br/>no pudo ser cargado - %1<br /> n'a pas pu être chargé + %1<br />n'a pas pu être chargé %1<br/>は積み込めませんでした %1<br/>이 실릴 수가 없습니다 %1<br/>無法被裝載 @@ -222,7 +222,7 @@ %1<br/>не может быть выгружен %1<br/>non può essere scaricato %1<br/>no pudo ser descargado - %1<br /> n'a pas pu être déchargé + %1<br />n'a pas pu être déchargé %1<br/>は降ろせませんでした %1<br/>이 내려질 수가 없습니다 %1<br/>無法被卸載 @@ -239,6 +239,7 @@ 화물 공간 Грузовое пространство Espaço de Carga + Espace de stockage The cargo space available in this vehicle/container @@ -251,6 +252,7 @@ 이 차량/컨테이너에서 사용가능한 화물 공간 Грузовое пространство, доступное в этом транспортном средстве / контейнере O espaço de carga disponível nesse veículo/contâiner + L'espace de stockage disponible dans ce véhicule / container. Cargo Size @@ -263,6 +265,7 @@ 화물 크기 Размер груза Tamanho da Carga + Taille de cargaison The cargo space required to hold this object (-1 for unloadable) @@ -275,6 +278,7 @@ 이 화물을 적재하는데 필요한 공간 (-1=무조건 적재가능) Грузовое пространство, необходимое для размещения этого объекта (-1 для незагружаемого) O Espaço de carga necessário para carregar esse objeto (-1 para que não seja carregável) + L'espace de stockage nécessaire pour contenir cet objet.\n(-1 pour les objets déchargeables) Airdrop @@ -282,7 +286,7 @@ 空中投下 Zrzut zaopatrzenia 공중 투하 - Largage aérien + Largage Lancio Aereo 空投 空投 @@ -295,7 +299,7 @@ 機体が水平ではありません Nierówny lot 기체가 수평이 아닙니다 - Rétablir l'assiette + Vol en dénivelé Volo non Livellato 此架飛機並無保持水平飛行 此架飞机并无保持水平飞行 @@ -307,7 +311,7 @@ Türlast Zeitfaktor 空中投下までの時間係数 Coefficente Tempo Lancio Paracadute - Coefficient Temps de largage de cargaison + Coefficient Temps Paralargage 空投時間係數 空投时间系数 Współczynnik czasu zrzutu @@ -320,7 +324,7 @@ Beeinflusst die zusätzliche Zeit für Türlastabwürfe. カーゴ アイテムを空中投下するまでの時間を変更します。 Modificato per quanto tempo ci impiega a paracadutare un oggetto cargo. - Modifier le temps qu'il faut pour larguer la cargaison. + Modifie le temps nécessaire au paralargage d'une cargaison. 設定空投所需消耗的時間 设定空投所需消耗的时间. Modyfikator wskazujący jak dużo czasu potrzeba by zrzucić przedmiot na spadochronie. @@ -336,6 +340,8 @@ Coefficente Tempo Caricamento Коэффициент времени погрузки Fator de tempo para carregar + Coefficient Temps Chargement + 裝載時間係數 Modifies how long it takes to load/unload items.\nTime, in seconds, is the size of the item multiplied by this value. @@ -345,6 +351,8 @@ Modifica quanto tempo ci impiega a caricare o scaricare gli oggetti.\n Tempo, in secondi, è la dimensione dell'oggetto moltiplicata per questo valore Изменяет время для загрузки/выгрузки предметов. \n Время (сек) - это размер предмета, умноженный на это значение. Coeficiente de quanto tempo leva para carregar/descarregar itens.\nTempo, em segundos, é o tamanho do objeto multiplicado por esse valor. + Modifie le temps nécessaire pour charger / décharger des objets.\nLe temps, en secondes, est calculé en multipliant la taille de l'élément par ce coefficient. + 修改要花多長時間來裝載/卸載物品。\n時間,以秒為單位,而物品的大小數值與這個係數成比。 diff --git a/addons/chemlights/CfgVehicles.hpp b/addons/chemlights/CfgVehicles.hpp index f22b03a7fe..02856b99e7 100644 --- a/addons/chemlights/CfgVehicles.hpp +++ b/addons/chemlights/CfgVehicles.hpp @@ -246,6 +246,7 @@ class CfgVehicles { transportMaxItems = 9002; maximumload = 9002; model = "\A3\weapons_F\AmmoBoxes\WpnsBox_large_F"; + editorPreview = "\A3\EditorPreviews_F\Data\CfgVehicles\Box_NATO_WpsSpecial_F.jpg"; class TransportItems { MACRO_ADDITEM(ACE_Chemlight_Shield,20); diff --git a/addons/chemlights/stringtable.xml b/addons/chemlights/stringtable.xml index 10a67f3386..def4cd9db9 100644 --- a/addons/chemlights/stringtable.xml +++ b/addons/chemlights/stringtable.xml @@ -273,6 +273,7 @@ Luce chimica (Hi Blu) Химсвет (Ярко-Синий) Bastão de Luz (Azul Forte) + 螢光棒(超亮藍色) Blue Hi Light @@ -283,6 +284,7 @@ Luce Hi Blu Яркий Синий свет Luz forte azul + 超亮藍色光 Type: Light - Blue Hi (30 minute)<br />Rounds: 1<br />Used in: Hand @@ -293,6 +295,7 @@ Tipo: Luce - Hi blu (30 minuti)<br/>Rimanenti:1 <br/>Usata in: Mano Тип: Свет - Ярко-Синий (30 минут)<br />1 штука<br />В руках Tipo: Luz - Azul Forte (30 minutos)<br/>Usos: 1<br/>Usado em: Mão + 類型: 光 - 超亮藍色 (30分鐘)<br />發數: 1<br />使用於: 手 Chemlight (Hi Green) @@ -303,6 +306,7 @@ Luce chimica (Hi Verde) Химсвет (Ярко-Зеленый) Bastão de Luz (Verde Forte) + 螢光棒(超亮綠色) Green Hi Light @@ -313,6 +317,7 @@ Luce Hi Verde Яркий Зеленый свет Luz forte verde + 超亮綠色光 Type: Light - Green Hi (30 minute)<br />Rounds: 1<br />Used in: Hand @@ -323,6 +328,7 @@ Tipo: Luce - Hi verde (30 minuti)<br/>Rimanenti: 1<br/>Usata in: Mano Тип: Свет - Ярко-Зеленый (30 минут)<br />1 штука<br />В руках Tipo: Luz - Verde Forte (30 minutos)<br/>Usos: 1<br/>Usado em: Mão + 類型: 光 - 超亮綠色 (30分鐘)<br />發數: 1<br />使用於: 手 Chemlight (Ultra-Hi Orange) @@ -333,6 +339,7 @@ Luce chimica (Ultra-Hi Arancione) Химсвет (Ультраяркий Оранжевый) Bastão de Luz (Laranja Ultra Forte) + 螢光棒(極亮橘色) Orange Ultra-Hi Light @@ -343,16 +350,18 @@ Luce Ultra-Hi Arancione Ультраяркий Оранжевый свет Luz ultra forte laranja + 極亮橘色光 Type: Light - Orange Ultra-Hi (5 minute)<br />Rounds: 1<br />Used in: Hand Type: Lumière - Orange Ultra-Hi (5 minutes)<br />Nbre: 1<br /> À main - Typ: Licht - orange, hell (30 Minuten)<br />Anzahl: 1<br />Benutzt in: Hand + Typ: Licht - orange, hell (5 Minuten)<br />Anzahl: 1<br />Benutzt in: Hand 種類: 照明 - ウルトラ高輝度 オレンジ (5分間)<br />装填数: 1<br />次で使用: 携帯 - Typ: Światło - ultra-jaskrawe pomarańczowe (30 minut)<br/>Pociski: 1<br/>Używany w: ręce + Typ: Światło - ultra-jaskrawe pomarańczowe (5 minut)<br/>Pociski: 1<br/>Używany w: ręce Tipo: Luce - Ultra-Hi (5 minuti)<br/>Rimanenti: 1<br/>Usata in: Mano Тип: Свет - Ультраяркий Оранжевый (5 минут)<br />1 штука<br />В руках Tipo: Luz - Laranja Ultra Forte (5 minutos)<br/>Usos: 1<br/>Usado em: Mão + 類型: 光 - 極亮橘色 (5分鐘)<br />發數: 1<br />使用於: 手 Chemlight (IR) diff --git a/addons/common/XEH_PREP.hpp b/addons/common/XEH_PREP.hpp index 3fbe081fae..4b54765539 100644 --- a/addons/common/XEH_PREP.hpp +++ b/addons/common/XEH_PREP.hpp @@ -27,6 +27,7 @@ PREP(changeProjectileDirection); PREP(checkFiles); PREP(checkPBOs); PREP(claim); +PREP(claimSafeServer); PREP(codeToString); PREP(createOrthonormalReference); PREP(currentChannel); diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf index c65b674577..d174208be0 100644 --- a/addons/common/XEH_postInit.sqf +++ b/addons/common/XEH_postInit.sqf @@ -174,6 +174,7 @@ if (isServer) then { [QGVAR(setShotParents), {(_this select 0) setShotParents [_this select 1, _this select 2]}] call CBA_fnc_addEventHandler; ["ace_setOwner", {(_this select 0) setOwner (_this select 1)}] call CBA_fnc_addEventHandler; [QGVAR(serverLog), FUNC(serverLog)] call CBA_fnc_addEventHandler; + [QGVAR(claimSafe), LINKFUNC(claimSafeServer)] call CBA_fnc_addEventHandler; }; @@ -458,14 +459,14 @@ GVAR(deviceKeyHandlingArray) = []; GVAR(deviceKeyCurrentIndex) = -1; // Register localizations for the Keybinding categories -["ACE3 Equipment", localize LSTRING(ACEKeybindCategoryEquipment)] call CBA_fnc_registerKeybindModPrettyName; -["ACE3 Common", localize LSTRING(ACEKeybindCategoryCommon)] call CBA_fnc_registerKeybindModPrettyName; -["ACE3 Weapons", localize LSTRING(ACEKeybindCategoryWeapons)] call CBA_fnc_registerKeybindModPrettyName; -["ACE3 Movement", localize LSTRING(ACEKeybindCategoryMovement)] call CBA_fnc_registerKeybindModPrettyName; -["ACE3 Scope Adjustment", localize LSTRING(ACEKeybindCategoryScopeAdjustment)] call CBA_fnc_registerKeybindModPrettyName; -["ACE3 Vehicles", localize LSTRING(ACEKeybindCategoryVehicles)] call CBA_fnc_registerKeybindModPrettyName; +["ACE3 Equipment", LLSTRING(ACEKeybindCategoryEquipment)] call CBA_fnc_registerKeybindModPrettyName; +["ACE3 Common", LLSTRING(ACEKeybindCategoryCommon)] call CBA_fnc_registerKeybindModPrettyName; +["ACE3 Weapons", LLSTRING(ACEKeybindCategoryWeapons)] call CBA_fnc_registerKeybindModPrettyName; +["ACE3 Movement", LLSTRING(ACEKeybindCategoryMovement)] call CBA_fnc_registerKeybindModPrettyName; +["ACE3 Scope Adjustment", LLSTRING(ACEKeybindCategoryScopeAdjustment)] call CBA_fnc_registerKeybindModPrettyName; +["ACE3 Vehicles", LLSTRING(ACEKeybindCategoryVehicles)] call CBA_fnc_registerKeybindModPrettyName; -["ACE3 Equipment", QGVAR(openDevice), (localize "STR_ACE_Common_toggleHandheldDevice"), { +["ACE3 Equipment", QGVAR(openDevice), LLSTRING(toggleHandheldDevice), { [] call FUNC(deviceKeyFindValidIndex); if (GVAR(deviceKeyCurrentIndex) == -1) exitWith {false}; [] call ((GVAR(deviceKeyHandlingArray) select GVAR(deviceKeyCurrentIndex)) select 3); @@ -474,7 +475,7 @@ GVAR(deviceKeyCurrentIndex) = -1; {false}, [0xC7, [false, false, false]], false] call CBA_fnc_addKeybind; //Home Key -["ACE3 Equipment", QGVAR(closeDevice), (localize "STR_ACE_Common_closeHandheldDevice"), { +["ACE3 Equipment", QGVAR(closeDevice), LLSTRING(closeHandheldDevice), { [] call FUNC(deviceKeyFindValidIndex); if (GVAR(deviceKeyCurrentIndex) == -1) exitWith {false}; [] call ((GVAR(deviceKeyHandlingArray) select GVAR(deviceKeyCurrentIndex)) select 4); @@ -483,7 +484,7 @@ GVAR(deviceKeyCurrentIndex) = -1; {false}, [0xC7, [false, true, false]], false] call CBA_fnc_addKeybind; //CTRL + Home Key -["ACE3 Equipment", QGVAR(cycleDevice), (localize "STR_ACE_Common_cycleHandheldDevices"), { +["ACE3 Equipment", QGVAR(cycleDevice), LLSTRING(cycleHandheldDevices), { [1] call FUNC(deviceKeyFindValidIndex); if (GVAR(deviceKeyCurrentIndex) == -1) exitWith {false}; private _displayName = ((GVAR(deviceKeyHandlingArray) select GVAR(deviceKeyCurrentIndex)) select 0); diff --git a/addons/common/functions/fnc_claimSafeServer.sqf b/addons/common/functions/fnc_claimSafeServer.sqf new file mode 100644 index 0000000000..f3017f5bed --- /dev/null +++ b/addons/common/functions/fnc_claimSafeServer.sqf @@ -0,0 +1,57 @@ +#include "script_component.hpp" +/* + * Author: commy2, PabstMirror + * Unit claims the ownership over an object. This is used to prevent multiple players from draging the same ammo box or using up the same wheel when repairing etc. + * This function only runs on the server and handles the "ace_common_claimSafe" event. It provides a network safe way claiming objects as all claims are run on server. + * Return event is passed [_unit, _target, _success] for new claims, no event on claim release + * + * Arguments: + * 0: Unit that claims another object. ObjNull to remove claim. + * 1: The object that gets claimed. + * 2: Lock the claimed object aswell? (optional: false) + * 3: Target event to trigger for calling machine (called where _unit is local) + * + * Return Value: + * None + * + * Example: + * [bob, flag, true, "claimReturn"] call ace_common_fnc_claimSafeServer + * + * Public: Yes + */ + +params ["_unit", "_target", ["_lockTarget", false], ["_returnEvent", ""]]; + +private _owner = _target getVariable [QGVAR(owner), objNull]; +TRACE_4("claimSafeServer",_unit,_target,_returnEvent,_owner); + +if (!isNull _owner && {!isNull _unit} && {_unit != _owner}) exitWith { + WARNING_1("Claiming already owned object. - %1",_this); + if (_returnEvent == "") exitWith {}; + [_returnEvent, [_unit, _target, false], _unit] call CBA_fnc_targetEvent; +}; + +// transfer this immediately +_target setVariable [QGVAR(owner), _unit, true]; + +// lock target object +if (_lockTarget) then { + private _canBeDisassembled = !([] isEqualTo getArray (_target call CBA_fnc_getObjectConfig >> "assembleInfo" >> "dissasembleTo")) && { !([false, true] select (_target getVariable [QEGVAR(csw,assemblyMode), 0])) }; + if (!isNull _unit) then { + [QGVAR(lockVehicle), _target, _target] call CBA_fnc_targetEvent; + if (_canBeDisassembled) then { + _target enableWeaponDisassembly false; + }; + } else { + [QGVAR(unlockVehicle), _target, _target] call CBA_fnc_targetEvent; + if (_canBeDisassembled) then { + _target enableWeaponDisassembly true; + }; + }; +}; + +if (!isNull _unit) then { + TRACE_2("claim success",_unit,_target); + if (_returnEvent == "") exitWith {}; + [_returnEvent, [_unit, _target, true], _unit] call CBA_fnc_targetEvent; +}; diff --git a/addons/common/functions/fnc_getFirstObjectIntersection.sqf b/addons/common/functions/fnc_getFirstObjectIntersection.sqf index 1120707b2b..0cebf6232f 100644 --- a/addons/common/functions/fnc_getFirstObjectIntersection.sqf +++ b/addons/common/functions/fnc_getFirstObjectIntersection.sqf @@ -1,7 +1,7 @@ #include "script_component.hpp" /* * Author: Ruthberg - * Returns the the first intersection with terrain between two positions. @todo rewrite using lineIntersectsSurfaces? + * Returns the the first intersection with terrain between two positions. * * Arguments: * 0: PositionASL @@ -18,31 +18,14 @@ * Public: Yes */ -params ["_source", "_destination", "_accuracy"]; +params ["_source", "_destination"]; private _result = [false, [0, 0, 0]]; - -private _distance = _source vectorDistance _destination; - -if !(lineIntersectsWith [_source, _destination] isEqualTo []) then { - private _lower = 0; - private _upper = 1; - private _mid = 0.5; - - private _dir = _source vectorFromTo _destination; - - while {(_upper - _lower) * _distance > _accuracy} do { - _mid = _lower + (_upper - _lower) / 2; - - if !(lineIntersectsWith [_source, _source vectorAdd (_dir vectorMultiply (_mid * _distance))] isEqualTo []) then { - _upper = _mid; - } else { - _lower = _mid; - }; +private _hits = lineIntersectsSurfaces [_source, _destination, objNull, objNull, true, -1]; +{ + _x params ["_pos", "", "_obj"]; + if (!isNull _obj) exitWith { + _result = [true, _pos]; }; - - _mid = _lower + (_upper - _lower) / 2; - _result = [true, _source vectorAdd (_dir vectorMultiply (_mid * _distance))]; -}; - +} forEach _hits; _result diff --git a/addons/common/stringtable.xml b/addons/common/stringtable.xml index 474665f32a..fd6b634a68 100644 --- a/addons/common/stringtable.xml +++ b/addons/common/stringtable.xml @@ -37,11 +37,12 @@ Erweitert Pokročilé Avançada - Avancée + Avancé Fejlett Avanzato アドバンスド 고급 + 進階 Save @@ -354,7 +355,7 @@ Acción cancelada. Przerwano czynność Akce přerušena - Action annulée. + Action annulée Действие отменено. Ação cancelada. Művelet megszakítva. @@ -417,7 +418,7 @@ Normal Normale Нормальное - Normale + Normal Normalne Normal Normális @@ -425,6 +426,7 @@ Normal 通常 보통 + 普通 No Voice @@ -439,73 +441,9 @@ Sem voz 音声なし 무음 - 沒聲音 + 無語音 没声音 - - Accept Requests - Anfrage akzeptieren - Aceptar peticiones - Akceptuj prośby - Přijmout žádost - Accepter requête - Принять запросы - Kérések elfogadása - Aceitar Pedido - Accetta la richiesta - 要求を受け入れ - 요청 수락 - 接受請求 - 接受请求 - - - Decline Requests - Anfrage ablehnen - Rechazar peticiones - Ignoruj prośby - Zamítnout žádost - Отклонить запросы - Rejeter requête - Kérések elutasítása - Rejeitar pedido - Rifiuta la richiesta - 要求を拒否 - 요청 거부 - 拒絕請求 - 拒绝请求 - - - Accept Requests send by other players. These can be requests to use / share equipment, perform certain actions. - Anfragen werden von anderen Mitspielen gestellt. Diese können Anfragen u.a. zum Teilen/Verwenden von Ausrüstungsgegenständen, oder auch zum Ausführen von Handlungen sein. - Acepta peticiones de otros jugadores. Pueden ser solicitudes para usar / compartir equipamiento, realizar ciertas acciones. - Akceptuj prośby wysłane przez innych graczy. Akceptacji wymagają między innymi akcje używania / współdzielenia wyposażenia, wykonywania określonych czynności. - Accetta le richieste degli altri giocatori. Queste possono riguardare l'uso o la condivisione dell'equipaggiamento, o di determinate azioni. - Přijimutí žádosti poslané jinými hráči. Mohou to být žádosti k použítí/sdílení vybavení nebo k vykonání určité činnosti. - Принять запросы, отправленные другими игроками. Например, запросы на использование/совместное использование снаряжения, выполнение определенных действий - Accepter les requêtes d'autres joueurs. Comme l'utilisation / l'échange d'équipement, la réalisation d'actions. - Más játékosok általi kérések elfogadása. Ezek a kérések vonatkozhatnak a felszerelés használatára/megosztására, valamint különböző cselekményekre. - Aceitar pedidos enviados por outros jogadores. Podem ser pedidos para usar/ compartilhar equipamento, realizar certas ações. - 他プレイヤからの要求を許可します。他プレイヤは装備を共有し、使うなど特定の動作を行えます。 - 다른 플레이어가 보내온 요청을 수락합니다. 이것은 장비 사용 / 공유 요청, 특정 작업 수행 등이 될 수 있습니다. - 接受由其他玩家送出的請求。包含使用/共享裝備與執行特定動作 - 接受由其他玩家送出的请求。包含使用/共享装备与执行特定动作。 - - - Decline Requests send by other players. These can be requests to use / share equipment, perform certain actions. - Anfragen werden von anderen Mitspielen gestellt. Diese können Anfragen u.a. zum Teilen/Verwenden von Ausrüstungsgegenständen, oder auch zum Ausführen von Handlungen sein. - Rechazar peticiones de otros jugadores. Pueden ser solicitudes para usar / compartir equipamiento, realizar ciertas acciones. - Ignoruj prośby wysłane przez innych graczy. Akceptacji wymagają między innymi akcje używania / współdzielenia wyposażenia, wykonywania określonych czynności. - Rifiuta le richieste degli altri giocatori. Queste possono riguardare l'uso o la condivisione dell'equipaggiamento, o di determinate azioni. - Zamítnutí žádostii poslané jinými hráči. Mohou to být žádosti k použítí/sdílení vybavení nebo k vykonání určité činnosti. - Отклонить запросы, отправленные другими игроками. Например, запросы на использование/совместное использование снаряжения, выполнение определенных действий - Rejeter les requêtes d'autres joueurs. Comme l'utilisation / l'échange d'équipement, la réalisation d'actions. - Más játékosok általi kérések elutasítása. Ezek a kérések vonatkozhatnak a felszerelés használatára/megosztására, valamint különböző cselekményekre. - Rejeita pedidos enviados por outros jogadores. Podem ser pedidos para usar/ compartilhar equipamento, realizar certas ações. - 他プレイヤからの要求を拒否します。他プレイヤは装備を共有し、使うなど特定の動作をできません。 - 다른 플레이어가 보내온 요청을 거부합니다. 이것은 장비 사용 / 공유 요청, 특정 작업 수행 등이 될 수 있습니다. - 拒絕由其他玩家送出的請求。包含使用/共享裝備與執行特定動作 - 拒绝由其他玩家送出的请求。包含使用/共享装备与执行特定动作。 - Check PBO Action PBO Überprüfung @@ -517,6 +455,7 @@ Sprawdź akcję PBO Действие при проверке PBO Ação de Checar PBO + Vérifier les PBOs Check PBO All @@ -529,6 +468,7 @@ Sprawdź wszystkie PBO Проверять все PBO Checar Todos os PBOs + Vérifier tous les PBOs Check PBO Whitelist @@ -541,6 +481,7 @@ Sprawdź białą listę PBO Белый список для проверки PBO Lista Branca de PBO + Vérifier les PBOs en liste blanche Feedback icons @@ -549,7 +490,7 @@ Icone informative Иконки состояний Ikony pomocnicze - Icones d'information + Icônes d'information Pomocné ikony Visszajelző ikonok Ícones de Feedback @@ -565,7 +506,7 @@ Seleziona la posizione o disabilita le icone informative sul tuo schermo. Queste saranno mostrate per fornire informazioni aggiuntive sullo stato o sulle azioni del giocatore. Выберите положение или или отключите отображение иконок состояний на Вашем экране. Эти иконки предоставят дополнительную информацию о состоянии персонажа и выполняемых действиях. Ustaw pozycję lub wyłącz całkowicie ikony pomocnicze na ekranie. Te ikony dostarczają dodatkowych informacji na temat statusu Twojej postaci i wykonywanych przez nią akcji. - Sélection de la position ou la désactivation des icones de feedback. Ces icones vous apportent des informations complémentaires sur votre status et sur les actions en cours. + Permet de sélectionner la position des icônes de feedback sur l'écran, ou de les désactiver.\nCes icônes vous apportent des informations supplémentaires sur votre personnage et sur les actions effectuées. Nastavuje pozici nebo vypíná pomocné ikony. Tyto ikony ukazují extra informace ke stavu postavy a vykonávaných činností. Itt beállítható a visszajelző ikonok képernyőn lévő helyzete és jelenléte. Ezek az ikonok extra visszajelzést biztosítanak a karaktered állapotán és végrehajtott cselekvésein. Selecione a posição ou disabilite a posição dos ícones de feedback na sua tela. Esses ícones irão aparecer para mostrar feedback extra do status do seu personagem e ações realizadas. @@ -597,7 +538,7 @@ Modifica la posizione della barra di avanzamernto sullo schermo Установите желаемое положение строки состояния на экране. Ustaw pożądaną lokalizację paska postępu na ekranie - Appliquer la position de la barre de progression sur l'écran + Définit la position de la barre de progression sur l'écran. Nastavuje pozici ukazetele průběhu činnosti na vaší obrazovce. Itt beállítható az állapotjelző sáv képernyődön lévő helyzete. Define o local desejado da barra de progresso na sua tela. @@ -613,7 +554,7 @@ Colore di sfondo dei suggerimenti Цвет фона всплывающих подсказок Kolor tła powiadomień - Notification: couleur de l'arrière plan + Notifications - couleur de l'arrière-plan Barva pozadí nápovědy Súgó háttérszíne Cor do fundo da hint @@ -629,7 +570,7 @@ Il colore di sfondo dei suggerimenti di ACE. Цвет фона всплывающих подсказок АСЕ. Kolor tła dla powiadomień ACE - Notification ACE: couleur de l'arrière plan + Définit la couleur d'arrière-plan des notifications ACE. Barva pozadí ACE nápovědy. Az ACE-súgók hátterének színe. A cor de fundo das hints do ACE. @@ -645,7 +586,7 @@ Il colore del testo dei suggerimenti Цвет шрифта всплывающих подсказок Kolor tekstu powiadomień - Notification: couleur du texte + Notifications - couleur du texte Barva fontu nápovědy. Súgószöveg betűinek színe Cor do do texto da hint @@ -661,7 +602,7 @@ Il colore del testo dei suggerimenti di ACE. Questo è il colore predefinito per tutto il testo mostrato dal sistema di suggerimenti di ACE quando il colore del testo non ha altro colore specificato. Цвет шрифта текста всплывающих подсказок АСЕ. Этот цвет является стандартным для всего текста, транслирующегося через систему подсказок АСЕ, если не установлено другого цвета для текста подсказок. Kolor tekstu dla powiadomień ACE. Ten kolor jest domyślnym dla wszystkich tekstów wyświetlanych poprzez System Powiadomień ACE, jeżeli dla powiadomienia nie określono innego koloru. - Notification ACE: couleur du texte. C'est la couleur par défaut de tout texte affiché dans les notifications ACE, si aucune couleur n'est spécifiée pour les notifications + Définit la couleur du texte des notifications ACE.\nCette couleur est la couleur par défaut pour tout texte affiché par le système de notifications ACE, si aucune autre couleur n'est spécifiée. Barva fontu ACE nápověd. Toto je standardní barva pro všechen text zobrazovaný ACE nápovědami, pokud nemá nápověda žádnou specifikanou barvu. Az ACE-súgók betűkészletének színek. Ez a szín alapértelmezett az összes szövegre az ACE-súgórendszerben, ha a súgószöveg maga nem ad meg más színt. A cor do texto das hints do ACE. Essa cor é a cor default para todos os texos exibidos pelo sistema de hints do ACE , caso o texto da hint não tem outra cor especificada. @@ -681,6 +622,7 @@ 保持武器雷射/手电筒的状态 Trwały znacznik laserowy/latarka Luz da lanterna/laser da arma persistente + Rémanence pointeur laser / lampe torche Enable gunlight after weapon switch or vehicle enter/exit if it was previously enabled. @@ -693,6 +635,7 @@ 保存武器雷射/手电筒的开关状态,使玩家切换武器或进出载具时能保持之前的的状态。 Aktywuj znacznik laserowy/latarkę po zmianie broni lub wejściu/wyjściu z pojazdu, jeśli był on poprzednio włączony. Ativa a luz da arma ao trocar de arma, entrar/sair de um veículo. Caso tenha sido acesa anteriormente. + Si le pointeur laser / la lampe torche est allumé(e), cette option permet de le / la réallumer automatiquement après un changement d'arme, ou après une entrée / sortie d'un véhicule. Banana @@ -719,7 +662,7 @@ Банан - это съедобный фрукт, ягода с ботанической точки зрения, произрастающий на нескольких видах травянистых растениях рода Банан (Musa). A banán egy ehető gyümölcs, technikai szempontból bogyótermés, melyet több fürtvirágzatú növény termel a Musa rendszertani nemzetségben. Rodzaj roślin z rodziny bananowatych, obejmujący około 80 gatunków.<br />Przedstawiciele są typowymi przedstawicielami flory międzyzwrotnikowej Azji, Afryki i Australii.<br />Część gatunków dostarcza jadalnych owoców. Słowo banan pochodzi prawdopodobnie od arabskiego słowa banan, co oznacza palec, lub afrykańskiego języka wolof, w którym rośliny te określa się mianem banaana. - Une banane est un fruit qui, d'un point de vue botanique, fait partie du groupe des baies. Produite par plusieurs sortes de grandes plantes à fleurs herbacées du type Musa. + Une banane est un fruit comestible qui, d'un point de vue botanique, fait partie du groupe des baies.\nProduite par plusieurs espèces de grandes plantes à fleurs herbacées du genre Musa. A banana é uma fruta comestível, botanicamente uma baga, produzida por vários tipos de plantas herbáceas grandes do genero Musa. 甘蕉は食べられる果物でバショウ科バショウ属のうち、果実を食用とする品種群の総称。また、その果実のこと。いくつかの原種から育種された多年草。種によっては熟すまでは毒を持つものもある。 바나나는 식용 과일로써 식물학적으로 열매류이며 여러 종류의 개화가능한 초본의 파초과로 부터 생산됩니다. @@ -750,7 +693,7 @@ Zjistit addon který je v souladu se serverem Este módulo verifica a integridade dos addons quando iniciamos a simulação Выполняет проверку версий аддонов ACE у подключаемых игроков - Ce module contrôle si les PBOs de chaque joueur sont corrects + Vérifie l'intégrité des addons avec le serveur, et effectue l'action sélectionnée si un addon est manquant. Controlla l'integrità degli addon con il server ed esegui l'azione selezionata se un addon è mancante サーバがアドオンの整合性を検査し、もし不備があれば実行する動作を選択できます。 서버 에드온의 무결성을 검사하고 사라진 에드온이 있을경우 행동을 선택합니다. @@ -780,7 +723,7 @@ Was soll mit Leuten geschehen, die nicht die richtigen PBO-Dateien geladen haben? Co udělat s lidmi, co nemají správné addony? O que fazer com pessoas que não tem os PBOs corretos? - Que faire avec les personnes n'ayant pas les bons PBO ? + Définit l'action à effectuer si un joueur n'a pas les bons PBOs. Mi legyen azokkal a személyekkel, akiknek nincsenek meg a helyes PBO-k? Что делать с игроками с неправильными аддонами? Cosa fare con giocatori che non hanno i PBO corretti? @@ -812,7 +755,7 @@ Verwarnen (permanent) Upozornit (permanentně) Avisar (permanente) - Avertir (permanent) + Avertir (systématiquement) Figyelmeztetés (tartós) Предупреждать (постоянно) Avverti (permanente) @@ -828,7 +771,7 @@ Kicken Vyhodit Chutar - Ejecter + Éjecter Kirúgás Кикнуть Kick @@ -860,7 +803,7 @@ Alle Addons anstatt nur ACE überprüfen? Zkontrolovat všechny addony namísto jen těch od ACE? Verificar todos addons invés de só os do ACE? - Vérifie tous les addons, même ceux qui ne sont pas liés à ACE + Vérifie tous les addons, même ceux qui ne sont pas liés à ACE. Az összes bővítmény ellenőrzése, csak az ACE helyett? Проверять все аддоны, а не только ACE? Controlla tutti gli addon invece dei soli addon ACE? @@ -892,7 +835,7 @@ Welche Addons werden dennoch erlaubt? Jaké addony jsou povoleny? Quais addons são permitidos de qualquer maneira? - Quels addons sont tolérés ? + Permet de définir une liste d'addons autorisés systématiquement. Milyen bővítmények vannak feltétlenül engedélyezve? Какие аддоны дополнительно разрешены? Quali addon sono permessi in ogni caso? @@ -924,7 +867,7 @@ Fügt einen LSD-Effekt zum synchronisierten Fahrzeug hinzu Přidá LSD efekt pro synchronizované vozidla Adiciona efeito LSD ao veículo sincronizado - Ajoute l'effet LSD aux véhicules synchronisés + Ajoute l'effet LSD aux véhicules synchronisés. LSD-effekt hozzáadása a szinkronizált járművekhez Добавляет эффект LSD (мигание всеми цветами радуги) синхронизированным транспортным средствам Aggiunge effetti LSD ai veicoli sincronizzati @@ -984,7 +927,7 @@ Disabled Zakázáno - Désactiver + Désactivé Deaktiviert Disattivato Wyłączone @@ -999,7 +942,7 @@ Enabled Povoleno - Activer + Activé Aktiviert Attivato Włączone @@ -1017,6 +960,8 @@ 常に Всегда Sempre + Toujours + 一直 Anywhere @@ -1031,6 +976,7 @@ Ovunque どこでも 어디서나 + 任何地方 Basic @@ -1045,6 +991,7 @@ Basico ベーシック 기본 + 基礎 Medical Vehicles @@ -1054,11 +1001,12 @@ Sanitätsfahrzeuge Zdravotnická vozidla Veículos médcos - Dans les véhicules médicals + Dans les véhicules médicaux Orvosi járművek Veicoli medici 医療車両のみ 의료차량 + 醫療載具 Yes @@ -1098,6 +1046,8 @@ Bestätigen Подтвердить Confirmar + Confirmer + 確認 Never @@ -1105,6 +1055,8 @@ Nie Никогда Nunca + Jamais + 從不 Vehicles only @@ -1145,7 +1097,7 @@ ACE Vybavení ACE Equipo ACE Equipaggiamento - ACE Equipement + ACE Équipement ACE 装備 ACE 장비 ACE 裝備按鍵 @@ -1205,7 +1157,7 @@ ACE Nastavení optiky ACE Ajuste de miras ACE Regolazione Ottiche - ACE Ajustement de la lunette + ACE Réglage de la lunette ACE スコープ調節 ACE 조준경 조정 ACE 瞄準鏡調節按鍵 @@ -1220,7 +1172,7 @@ ACE Vozidla ACE Vehículos ACE Veicoli - ACE Vehicules + ACE Véhicules ACE 車両 ACE 차량 ACE 載具按鍵 @@ -1261,7 +1213,7 @@ Weight: Gewicht: Peso: - Poids : + Poids: Waga: Váha: Peso: @@ -1284,6 +1236,7 @@ Zezwól na przyciszanie muzyki Разрешить приглушение музыки Permite diminuir volume da música + Permission d'abaisser la musique Allow ACE scripts to turn down the music. @@ -1296,6 +1249,7 @@ Zezwól skrypty ACE na przyciszanie muzyki. Позволить скриптам ACE приглушать музыку Permite que Scripts do ACE diminuam o volume da música. + Autorise les scripts ACE à baisser le volume de la musique. Flag (ACE - Black) @@ -1307,6 +1261,7 @@ Flaga (ACE - Czarna) Флаг (ACE - Черный) Bandeira (ACE - Preto) + Drapeau (ACE - Noir) Flag (ACE - White) @@ -1318,6 +1273,7 @@ Flaga (ACE - Biała) Флаг (ACE - Белый) Bandeira (ACE - Branco) + Drapeau (ACE - Blanc) Players only @@ -1327,7 +1283,7 @@ Nur Spieler Pouze hráči Somente jogadores - Joueur uniquement + Joueurs uniquement Csak játékosok Solo giocatori プレイヤーのみ diff --git a/addons/concertina_wire/CfgVehicles.hpp b/addons/concertina_wire/CfgVehicles.hpp index 0bc5a31e59..77b2c97d18 100644 --- a/addons/concertina_wire/CfgVehicles.hpp +++ b/addons/concertina_wire/CfgVehicles.hpp @@ -74,7 +74,7 @@ class CfgVehicles { }; class ACE_ConcertinaWire: ACE_ConcertinaWireNoGeo { scope = 2; - displayName = $STR_ACE_CONCERTINA_WIRE; + displayName = CSTRING(DisplayName); model = QPATHTOF(data\ACE_ConcertinaWire.p3d); EGVAR(logistics_wirecutter,isFence) = 1; class ACE_Actions { @@ -84,7 +84,7 @@ class CfgVehicles { condition = "true"; class ACE_Dismount { selection = ""; - displayName = "$STR_ACE_UNROLLWIRE"; + displayName = CSTRING(UnrollWire); distance = 5; condition = "alive _target"; statement = QUOTE([ARR_2(_target,_player)] call FUNC(dismount)); @@ -103,7 +103,7 @@ class CfgVehicles { }; scope = 2; - displayName = $STR_ACE_CONCERTINA_WIRECOIL; + displayName = CSTRING(Coil_DisplayName); model = QPATHTOF(data\ACE_ConcertinaWireCoil.p3d); mapsize = 0.5; animated = 0; @@ -129,7 +129,7 @@ class CfgVehicles { condition = "true"; class ACE_Deploy { selection = ""; - displayName = "$STR_ACE_ROLLWIRE"; + displayName = CSTRING(RollWire); distance = 4; condition = "true"; //wait a frame to handle "Do When releasing action menu key" option: diff --git a/addons/concertina_wire/functions/fnc_deploy.sqf b/addons/concertina_wire/functions/fnc_deploy.sqf index 6ff782fb8e..85f78c65f9 100644 --- a/addons/concertina_wire/functions/fnc_deploy.sqf +++ b/addons/concertina_wire/functions/fnc_deploy.sqf @@ -77,7 +77,7 @@ GVAR(deployPFH) = [{ } count WIRE_FAST; }, 0, [_wireNoGeo, _wireNoGeoPos, _unit]] call CBA_fnc_addPerFrameHandler; -[localize "STR_ACE_ROLLWIRE", "", ""] call EFUNC(interaction,showMouseHint); +[LLSTRING(RollWire), "", ""] call EFUNC(interaction,showMouseHint); [_unit, "blockThrow", QUOTE(ADDON), true] call EFUNC(common,statusEffect_set); diff --git a/addons/concertina_wire/functions/fnc_dismount.sqf b/addons/concertina_wire/functions/fnc_dismount.sqf index 487c5685a4..b8beeb6a9e 100644 --- a/addons/concertina_wire/functions/fnc_dismount.sqf +++ b/addons/concertina_wire/functions/fnc_dismount.sqf @@ -34,7 +34,7 @@ private _delay = [45, 30] select ([_unit] call EFUNC(common,isEngineer) || {[_un [_wire], {(_this select 0) call FUNC(dismountSuccess)}, {}, - localize "STR_ACE_UNROLLWIRE", + LLSTRING(UnrollWire), {true}, ["isnotinside"] ] call EFUNC(common,progressBar); diff --git a/addons/concertina_wire/stringtable.xml b/addons/concertina_wire/stringtable.xml index 78170d90b6..7a1d50a814 100644 --- a/addons/concertina_wire/stringtable.xml +++ b/addons/concertina_wire/stringtable.xml @@ -1,7 +1,7 @@ - - + + Concertina Wire NATO-Draht Колючая проволока @@ -17,7 +17,7 @@ 鐵絲網 铁丝网 - + Concertina Wire Coil NATO-Draht Rolle Колючая проволока (моток) @@ -33,7 +33,7 @@ 鐵絲網捲 铁丝网卷 - + Dismount Concertina Wire NATO-Draht abbauen Демонтировать колючую проволоку @@ -49,7 +49,7 @@ 卸下鐵絲網 卸下铁丝网 - + Deploy Concertina Wire NATO-Draht verlegen Монтировать колючую проволоку diff --git a/addons/cookoff/CfgEden.hpp b/addons/cookoff/CfgEden.hpp index caffc6b90b..2b58daa304 100644 --- a/addons/cookoff/CfgEden.hpp +++ b/addons/cookoff/CfgEden.hpp @@ -12,7 +12,7 @@ class Cfg3DEN { expression = QUOTE(if !(_value) then {_this setVariable [ARR_3('%s',_value,true)];};); typeName = "BOOL"; condition = "objectVehicle"; - defaultValue = QUOTE(GETMVAR(QGVAR(enable),true)); + defaultValue = QUOTE((GETMVAR(QGVAR(enable),0)) in [ARR_2(1,2)]); }; class GVAR(enableAmmoCookoff) { property = QGVAR(enableAmmoCookoff); diff --git a/addons/cookoff/XEH_postInit.sqf b/addons/cookoff/XEH_postInit.sqf index fad901982d..1c93ee501c 100644 --- a/addons/cookoff/XEH_postInit.sqf +++ b/addons/cookoff/XEH_postInit.sqf @@ -27,9 +27,7 @@ GVAR(cacheTankDuplicates) = call CBA_fnc_createNamespace; }; _vehicle addEventHandler ["HandleDamage", { - if ((_this select 0) getVariable [QGVAR(enable), GVAR(enable)]) then { - ["tank", _this] call FUNC(handleDamage); - }; + ["tank", _this] call FUNC(handleDamage); }]; }, nil, nil, true] call CBA_fnc_addClassEventHandler; @@ -53,9 +51,7 @@ GVAR(cacheTankDuplicates) = call CBA_fnc_createNamespace; }; _vehicle addEventHandler ["HandleDamage", { - if ((_this select 0) getVariable [QGVAR(enable), GVAR(enable)]) then { - ["tank", _this] call FUNC(handleDamage); - }; + ["tank", _this] call FUNC(handleDamage); }]; }, nil, nil, true] call CBA_fnc_addClassEventHandler; @@ -63,9 +59,7 @@ GVAR(cacheTankDuplicates) = call CBA_fnc_createNamespace; params ["_vehicle"]; _vehicle addEventHandler ["HandleDamage", { - if ((_this select 0) getVariable [QGVAR(enable), GVAR(enable)]) then { - ["car", _this] call FUNC(handleDamage); - }; + ["car", _this] call FUNC(handleDamage); }]; }, nil, ["Wheeled_APC_F"], true] call CBA_fnc_addClassEventHandler; @@ -89,7 +83,7 @@ GVAR(cacheTankDuplicates) = call CBA_fnc_createNamespace; // blow off turret effect ["Tank", "killed", { - if ((_this select 0) getVariable [QGVAR(enable),GVAR(enable)]) then { + if ((_this select 0) getVariable [QGVAR(enable), GVAR(enable)] in [1, 2, true]) then { if (random 1 < 0.15) then { (_this select 0) call FUNC(blowOffTurret); }; diff --git a/addons/cookoff/functions/fnc_handleDamage.sqf b/addons/cookoff/functions/fnc_handleDamage.sqf index e9765805cb..60dffa452b 100644 --- a/addons/cookoff/functions/fnc_handleDamage.sqf +++ b/addons/cookoff/functions/fnc_handleDamage.sqf @@ -21,6 +21,12 @@ _thisHandleDamage params ["_vehicle", "", "_damage", "_source", "_ammo", "_hitIn // it's already dead, who cares? if (damage _vehicle >= 1) exitWith {}; +// If cookoff is disabled exit +if (_vehicle getVariable [QGVAR(enable), GVAR(enable)] in [0, false]) exitWith {}; + +// Check for players and exit if none found and the enable for players only setting is true +if (_vehicle getVariable [QGVAR(enable), GVAR(enable)] isEqualTo 2 && {fullCrew [_vehicle, "", false] findIf {isPlayer (_x select 0)} == -1}) exitWith {}; + // get hitpoint name private _hitpoint = "#structural"; diff --git a/addons/cookoff/initSettings.sqf b/addons/cookoff/initSettings.sqf index b29d213427..ce510a299d 100644 --- a/addons/cookoff/initSettings.sqf +++ b/addons/cookoff/initSettings.sqf @@ -1,10 +1,10 @@ // CBA Settings [ADDON: ace_cookoff]: [ - QGVAR(enable), "CHECKBOX", + QGVAR(enable), "LIST", [LSTRING(enable_hd_name), LSTRING(enable_hd_tooltip)], LSTRING(category_displayName), - false, // default value + [[0, 1, 2], ["STR_A3_OPTIONS_DISABLED", ELSTRING(common,playerOnly), ELSTRING(common,playersAndAI)], 0], true, // isGlobal {[QGVAR(enable), _this] call EFUNC(common,cbaSettings_settingChanged)}, true // Needs mission restart diff --git a/addons/cookoff/stringtable.xml b/addons/cookoff/stringtable.xml index 19ef4ed3d2..ed99f6129e 100644 --- a/addons/cookoff/stringtable.xml +++ b/addons/cookoff/stringtable.xml @@ -9,7 +9,7 @@ ACE 誘爆 ACE 쿡오프 ACE Durchzündung - ACE Cook off + ACE Auto-inflammation ACE Samozapłon ACE Возгорание ACE Cook off @@ -20,6 +20,8 @@ 損傷処理と砲塔の効果 Обработка урона и эффектов срыва башни Manipulação de dano e efeitos de torre + Gestion des effets et des dommages de tourelle + 傷害控制及炮塔效果 Changes damage handling for cook off and turret explosion effects @@ -27,6 +29,8 @@ 誘爆の損傷処理と砲塔の爆発効果を変更します。 Изменяет обработку урона для возгорания и эффекта срыва башни Modifica a manipulação de dano para o cozinhamento de munição e efeitos de explosão da torre + Modifie la gestion des dégâts pour les effets d'auto-inflammation et d'explosion de tourelle + 更改殉爆以及炮塔爆炸之傷害控制 Wreck (Turret) @@ -49,7 +53,7 @@ Durchzündung für Munitionskisten ermöglichen 탄약 상자 쿡오프 현상 활성화 Aktywuj samozapłon skrzyń z amunicją - Cook off de caisses de munitions + Auto-inflammation des caisses de munitions Abilita esplosione cassa munizioni 開啟彈藥箱殉爆效果 开启弹药箱殉爆效果 @@ -62,7 +66,7 @@ Ermöglicht Durchzündung von Munitionskisten. 탄약 상자에 쿡오프 현상을 적용합니다. Aktywuje samozapłon skrzyń z amunicją - Active le cook off sur toutes les caisses de munitions. + Permet l'auto-inflammation des caisses de munitions. Abilita l'esplosione della cassa di munizioni. 開啟彈藥箱殉爆效果 开启弹药箱殉爆效果 @@ -75,7 +79,7 @@ Durchzündung für Munition ermöglichen 탄약 쿡오프 현상 활성화 Aktywuj samozapłon amunicji - Activer le cook off des munitions + Auto-inflammation des munitions Abilita Esplosione munizioni 開啟彈藥殉爆效果 开启弹药殉爆效果 @@ -87,7 +91,7 @@ 弾薬が誘爆します。車両が燃えると、搭載している弾薬が激しく燃え上がります。 Ermöglicht Durchzündung von Munition. Feuert Projektile der Munition ab, solange das Fahrzeug brennt und Munition besitzt. Aktywuje samozapłon amunicji. Wystrzeliwuje pociski podczas gdy pojazd płonie i posiada amunicję. - Mets à feu les munitions lorsqu'un véhicule est en feu et contient des munitions. + Permet l'auto-inflammation des munitions. Tire les projectiles tant qu'un véhicule est en feu et est muni de munitions. Abilita l'esplosione delle munizioni. Spara munizioni di proiettili quando il veicolo va a fuoco e contiene munizioni. 開啟彈藥殉爆效果。當一台載有彈藥的載具起火時, 將會有殉爆的效果 开启弹药殉爆效果。当一台载有弹药的载具起火时, 将会有殉爆的效果。 @@ -100,7 +104,7 @@ Munitionsdurchzündungsdauer Czas trwania samozapłonu amunicji 弾薬の誘爆持続時間 - Durée de cook off des munitions + Durée d'auto-inflammation des munitions Durata esplosione munizioni 彈藥殉爆效果持續時間 弹药殉爆效果持续时间 @@ -111,7 +115,7 @@ Multiplier for how long cook off lasts [Setting to 0 will disable ammo cookoff] Faktor für die Munitionsdurchzündungsdauer [0 zum Deaktivieren] - Multiplicateur de la durée du cook off des munitions [Une valeur de 0 désactive l'effet] + Multiplicateur permettant de régler la durée durant laquelle les munitions continuent d'exploser [Une valeur de 0 désactive l'auto-inflammation] Mnożnik decydujący jak długo ma trwać samozapłon amunicji [Ustawienie na 0 spowoduje wyłącznie samozapłonu] 誘爆の持続時間を乗数で設定します。[0 に設定で誘爆を無効化] Moltiplicatore della durata dell'esplosione [Impostare 0 disabiliterà l'esplosione delle munizioni] @@ -128,7 +132,7 @@ Faktor für Wahrscheinlichkeit der Durchzündung 殉爆發生機率係數 殉爆发生机率系数 - Coefficient de probabilité du cook off + Coefficient de probabilité d'auto-inflammation Współczynnik prawdopodobieństwa samozapłonu Коэффициент вероятности возгорания Probabilidade de Cozinhar @@ -140,7 +144,7 @@ Faktor für Wahrscheinlichkeit der Durchzündung. Ein höherer Wert führt zu höherer Durchzündungswahrscheinlichkeit. 調整殉爆發生機率係數。值越高代表越容易發生殉爆 调整殉爆发生机率系数。值越高代表越容易发生殉爆。 - Multiplicateur pour la probabilité du cook off. Plus la valeur est élevée, plus la probabilité de cook off est haute. + Multiplicateur de probabilité de l'auto-inflammation. Plus la valeur est élevée, plus la probabilité de combustion est grande. Mnożnik prawdopodobieństwa samozapłonu. Większa wartość oznacza większe prawdopodobieństwo samozapłonu Множитель коэффициента вероятности возгорания. Чем выше значение, тем выше вероятность. Multiplicador para a chance de cozinhamento. Valores mais altos aumentam as chances de ocorrer. diff --git a/addons/csw/CfgVehicles.hpp b/addons/csw/CfgVehicles.hpp index c1b8f11d3f..ad20d906df 100644 --- a/addons/csw/CfgVehicles.hpp +++ b/addons/csw/CfgVehicles.hpp @@ -52,6 +52,7 @@ class CfgVehicles { author = ECSTRING(common,ACETeam); scope = 2; model = QPATHTOEF(apl,ACE_CSW_m3_tripod.p3d); + editorPreview = QPATHTOF(data\ace_csw_m3Tripod.jpg); displayName = CSTRING(m3Tripod_displayName); class ADDON { disassembleTo = QGVAR(m3CarryTripod); @@ -66,6 +67,7 @@ class CfgVehicles { author = ECSTRING(common,ACETeam); scope = 2; model = QPATHTOEF(apl,ace_csw_tripod_kord.p3d); + editorPreview = QPATHTOF(data\ace_csw_kordTripod.jpg); displayName = CSTRING(kordTripod_displayName); class ADDON { disassembleTo = QGVAR(kordCarryTripod); @@ -80,6 +82,7 @@ class CfgVehicles { author = ECSTRING(common,ACETeam); scope = 2; model = QPATHTOEF(apl,ace_csw_tripod_ags30.p3d); + editorPreview = QPATHTOF(data\ace_csw_sag30Tripod.jpg); displayName = CSTRING(sag30Tripod_displayName); class ADDON { disassembleTo = QGVAR(sag30CarryTripod); @@ -89,6 +92,7 @@ class CfgVehicles { author = ECSTRING(common,ACETeam); scope = 2; model = QPATHTOEF(apl,ace_csw_tripod_m220.p3d); + editorPreview = QPATHTOF(data\ace_csw_m220Tripod.jpg); displayName = CSTRING(m220Tripod_displayName); class ADDON { disassembleTo = QGVAR(m220CarryTripod); @@ -98,6 +102,7 @@ class CfgVehicles { author = ECSTRING(common,ACETeam); scope = 2; model = QPATHTOEF(apl,ace_csw_tripod_spg9.p3d); + editorPreview = QPATHTOF(data\ace_csw_spg9Tripod.jpg); displayName = CSTRING(spg9_Tripod); class ADDON { disassembleTo = QGVAR(spg9CarryTripod); @@ -107,6 +112,7 @@ class CfgVehicles { author = ECSTRING(common,ACETeam); scope = 2; model = QPATHTOEF(apl,ACE_CSW_mortarBaseplate.p3d); + editorPreview = QPATHTOF(data\ace_csw_mortarBaseplate.jpg); displayName = CSTRING(mortarBaseplate_displayName); class ADDON { disassembleTo = QGVAR(carryMortarBaseplate); diff --git a/addons/csw/data/ace_csw_kordTripod.jpg b/addons/csw/data/ace_csw_kordTripod.jpg new file mode 100644 index 0000000000..3ada21fea9 Binary files /dev/null and b/addons/csw/data/ace_csw_kordTripod.jpg differ diff --git a/addons/csw/data/ace_csw_m220Tripod.jpg b/addons/csw/data/ace_csw_m220Tripod.jpg new file mode 100644 index 0000000000..51bf226c70 Binary files /dev/null and b/addons/csw/data/ace_csw_m220Tripod.jpg differ diff --git a/addons/csw/data/ace_csw_m3Tripod.jpg b/addons/csw/data/ace_csw_m3Tripod.jpg new file mode 100644 index 0000000000..0908470ce6 Binary files /dev/null and b/addons/csw/data/ace_csw_m3Tripod.jpg differ diff --git a/addons/csw/data/ace_csw_mortarBaseplate.jpg b/addons/csw/data/ace_csw_mortarBaseplate.jpg new file mode 100644 index 0000000000..4f5b579756 Binary files /dev/null and b/addons/csw/data/ace_csw_mortarBaseplate.jpg differ diff --git a/addons/csw/data/ace_csw_sag30Tripod.jpg b/addons/csw/data/ace_csw_sag30Tripod.jpg new file mode 100644 index 0000000000..d8000e57ee Binary files /dev/null and b/addons/csw/data/ace_csw_sag30Tripod.jpg differ diff --git a/addons/csw/data/ace_csw_spg9Tripod.jpg b/addons/csw/data/ace_csw_spg9Tripod.jpg new file mode 100644 index 0000000000..1944c26b73 Binary files /dev/null and b/addons/csw/data/ace_csw_spg9Tripod.jpg differ diff --git a/addons/csw/stringtable.xml b/addons/csw/stringtable.xml index 090c302ef5..1cd660a158 100644 --- a/addons/csw/stringtable.xml +++ b/addons/csw/stringtable.xml @@ -4,10 +4,16 @@ Crew Served Weapons Crew Served Weapons (CSW) + Armes lourdes + 共用火器 (CSW) + 班組支援武器 Place Tripod Montar Tripé + Placer le trépied + 三脚を設置 + 設置三腳架 Disassemble @@ -19,121 +25,189 @@ Desmontar Разобрать Desmonta + 解体 + 拆解 Get In Nastup - Embarquer + Entrer Einsteigen A bordo Wsiadać Entrar Войти Entrar + 乗る + 進入 Load %1 Lade %1 Load %1 Nabít %1 - Load %1 + Charger %1 Załaduj %1 Load %1 Загрузить %1 Load %1 Carregar %1 + %1 を装填 + 裝填 %1 Unload %1 Entlade %1 Unload %1 Vytáhnout zásobník z %1 - Unload %1 + Décharger %1 Rozładuj %1 Unload %1 Разгрузить %1 Unload %1 Descarregar %1 + %1 を除去 + 卸載 %1 Link %1 Conectar %1 + Connecter %1 + %1 を接続 + 聯結至 %1 Advanced assembly Montagem Avançada + Assemblage avancé + アドバンスド設置 + 進階組裝 Use ace for Assemble/Disassemble of supported static weapons. Loaded ammo is reduced to a single magazine. Usar o ACE para Montar/Desmontar armas estáticas suportadas. Munição carregada é reduzida para um único carregador. + Utilise ACE pour l'assemblage / le désassemblage des armes statiques supportées.\nLes munitions chargées sont réduites à un seul chargeur. + 対応している設置型火器に ACE3 の設置と解体を使用します。装填済みの弾倉は 1 つの弾倉に減少します。 + 使用ACE來組裝/拆解固定型武器。上膛的限制為單個彈匣。 Save extra ammo Economizar munição extra + Économiser les munitions supplémentaires + 過剰弾薬を保持 + 保存額外彈藥 Store extra magazines next to static weapon Carregar munições extras próximo à arma estática + Range les chargeurs supplémentaires à côté de l'arme statique. + 次の設置型火器用に過剰弾薬を保持します。 + 在固定型武器旁存放額外彈匣 Ammo handling Manipulação de Munições + Manipulation des munitions + 弾薬の処理 + 彈藥處理 Allow loading and unloading magazines Permite carregamento e descarregamento de munições + Permet le chargement et le déchargement des chargeurs. + 弾薬の装填と除去を許可します。 + 允許裝填或卸載彈匣 Interaction Time Coefficent Coeficiente de tempo para a interação + Coefficient du temps d'interaction + インタラクション時間係数 + 互動時間係數 Scales time required to assemble and reload static weapons Escala o tempo requerido para montar e recarregar armas estáticas. + Définit l'échelle de temps nécessaire à l'assemblage et au rechargement des armes statiques. + 設置型火器の設置と再装填時間を管理できます。 + 設置組裝及裝填組裝固定型武器 Drag tripods after deploying Arrastar tripés após montar + Glisser trépied après déploiement + 設置後に三脚を引きずる + 在佈置三腳架後拖拉 After deploying a tripod, start dragging it to a precise location Assim que montar um tripé, automaticamente começa a arrastá-lo para um posicionamento mais preciso + Aussitôt après avoir déployé un trépied, le joueur commence automatiquement à le glisser pour le positionner plus précisément. + 三脚を設置後、動かせるよう三脚を引きずるようにします。 + 在部署三腳架後,開始拖動它使其在你所要的精準位置 Pickup Tripod Carregar Tripé + Ramasser Trépied + 三脚を拾う + 撿起三腳架 Mount Weapon Montar Arma + Monter Arme + 火器を乗せる + 裝載武器 Disassembling Gun... Desmontando Arma... + Désassemblage de l'arme... + 火器を解体中です・・・ + 拆裝武器中... Assembling Gun... Montando Arma... + Assemblage de l'arme... + 火器を設置中です・・・ + 組裝武器中... Picking Up Tripod... Carregando Tripé... + Ramassage du trépied... + 三脚を取得中です・・・ + 撿起三腳架... Placing Tripod... Montando Tripé... + Installation du trépied... + 三脚を設置中です・・・ + 部署三腳架... Enable CSW Ativar CSW + Activer CSW + CSW 有効化 + 啟用CSW(班用支援武器) Enables Crew Served ability on this weapon Ativar funções de CSW nessa arma + Active les fonctions CSW sur cette arme. + この火器で共用火器を有効化します。 + 對此武器啟用班組支援能力 Enabled and Leave Weapon Empty Ativado e deixar arma vazia + Activer et laisser l'arme vide + 火器有効化し空を維持 + 啟用並不裝填武器 Tripod @@ -144,166 +218,288 @@ Dreibein Üçayak Tripé + 三脚 + 三腳架 [CSW] Static Mini-Spike Launcher (AT) [CSW] Lançador Estático - Mini-Spike (AT) + [CSW] Lanceur Statique Mini-Spike (AT) + [CSW] 設置型ミニ スパイク ランチャー (AT) + [CSW] 固定型 "迷你長釘"導彈發射器(對地) [CSW] Static Mini-Spike Launcher (AA) [CSW] Lançador Estático - Mini-Spike (AA) + [CSW] Lanceur Statique Mini-Spike (AA) + [CSW] 設置型ミニ スパイク ランチャー (AA) + [CSW] 固定型 "迷你長釘"導彈發射器(對空) [CSW] Static XM312 Gun [CSW] Arma Estática - XM312 + [CSW] Mitrailleuse Statique XM312 + [CSW] 設置型 XM312 + [CSW] 固定型 XM312重機槍 [CSW] Static XM312 Gun (Autonomous) [CSW] Arma Estática - XM312 (Autônoma) + [CSW] Mitrailleuse Statique XM312 (Autonome) + [CSW] 設置型 XM312 (自律型) + [CSW] 固定型 XM312重機槍(自主型) [CSW] Static XM307 Gun [CSW] Arma Estática - XM307 + [CSW] Mitrailleuse Statique XM307 + [CSW] 設置型 XM307 + [CSW] 固定型XM307榴彈機槍 [CSW] Static XM307 Gun (Autonomous) [CSW] Arma Estática - XM307 (Autônoma) + [CSW] Mitrailleuse Statique XM307 (Autonome) + [CSW] 設置型 XM307 (自律型) + [CSW] 固定型 XM307榴彈機槍(自主型) [CSW] 12.7x108mm HMG Belt [CSW] Cinto de Munição - 12.7x108mm HMG + [CSW] Bande 12.7x108mm HMG + [CSW] 12.7x108 mm HMG ベルト + [CSW]12.7x108毫米 重機槍彈鏈 [CSW] 12.7x99mm HMG Belt [CSW] Cinto de Munição - 12.7x99mm HMG + [CSW] Bande 12.7x99mm HMG + [CSW] 12.7x99 mm HMG ベルト + [CSW]12.7x99毫米 重機槍彈鏈 [CSW] 12.7x99mm Tracer HMG Belt (Red) [CSW] Cinto de Munição - 12.7x99mm HMG (Traçante Vermelho) + [CSW] Bande 12.7x99mm HMG Traçantes (Rouges) + [CSW] 12.7x99 mm HMG 曳光弾ベルト (赤) + [CSW] 12.7x99毫米 重機槍曳光彈鏈(紅色) [CSW] 12.7x99mm Tracer HMG Belt (Green) [CSW] Cinto de Munição - 12.7x99mm HMG (Traçante Verde) + [CSW] Bande 12.7x99mm HMG Traçantes (Vertes) + [CSW] 12.7x99 mm HMG 曳光弾ベルト (緑) + [CSW] 12.7x99毫米 重機槍曳光彈鏈(綠色) [CSW] 12.7x99mm Tracer HMG Belt (Yellow) [CSW] Cinto de Munição - 12.7x99mm HMG (Traçante Amarelo) + [CSW] Bande 12.7x99mm HMG Traçantes (Jaunes) + [CSW] 12.7x99 mm HMG 曳光弾ベルト (黄) + [CSW] 12.7x99毫米 重機槍曳光彈鏈(黃色) [CSW] 20mm Grenade GMG Belt [CSW] Cinto de Munição - Granada 20mm GMG + [CSW] Bande Grenades 20mm GMG + [CSW] 20 mm てき弾 GMG ベルト + [CSW]20毫米 榴彈 榴彈機槍彈鏈 M3 Tripod M3 Tripé + Trépied M3 + M3 三脚 + M3 三腳架 [CSW] 6P57 Deployable Tripod [CSW] 6P57 Tripé Ajustável + [CSW] 6P57 Trépied déployable + [CSW] 6P57 設置型三脚 + [CSW] 6P57 部署型三腳架 [CSW] 6P57 Deployable Tripod (Low) [CSW] 6P57 Tripé Ajustável (Baixo) + [CSW] 6P57 Trépied déployable (Bas) + [CSW] 6P57 設置型三脚 (低座) + [CSW] 6P57 部署型(低位) [CSW] M220 Deployable Tripod [CSW] M220 Tripé Ajustável + [CSW] M220 Trépied déployable + [CSW] M220 設置型三脚 + [CSW] M220 部署型三腳架 [CSW] SAG-30 Deployable Tripod [CSW] SAG-30 Tripé Ajustável + [CSW] SAG-30 Trépied déployable + [CSW] SAG-30 設置型三脚 + [CSW] SAG-30 部署型三腳架 6P57 Tripod Tripé 6P57 + Trépied 6P57 + 6P57 三脚 + 6P57 三腳架 SAG-30 Tripod Tripe SAG-30 + Trépied SAG-30 + SAG-30 三脚 + SAG-30 三腳架 M220 Tripod Tripé M220 + Trépied M220 + M220 三脚 + M220 三腳架 [CSW] M3 Deployable Tripod [CSW] M3 Tripe Ajustável + [CSW] M3 Trépied déployable + [CSW] M3 設置型三脚 + [CSW] M3 部屬型三腳架 [CSW] M3 Deployable Tripod (Low) [CSW] M3 Tripe Ajustável (Baixo) + [CSW] M3 Trépied déployable (Bas) + [CSW] M3 設置型三脚 (低座) + [CSW] M3 部署型三腳架(低位) [CSW] Mortar Baseplate [CSW] Placa base de Morteiro + [CSW] Plaque de base pour Mortier + [CSW] 迫撃砲基盤 + [CSW] 迫擊炮基座 Mortar Baseplate Placa base de Morteiro + Plaque de base pour Mortier + 迫撃砲基盤 + 迫擊炮基座 [CSW] Mk6 Mortar Tube [CSW] Tubo de Morteiro - Mk6 + [CSW] Tube Mortier Mk6 + [CSW] Mk6 迫撃砲発射筒 + [CSW] Mk6 迫擊炮炮管 [CSW] M252 Tube Bag [CSW] Tubo de Morteiro - M252 + [CSW] Sac Tube M252 + [CSW] M252 発射筒バッグ + [CSW] M252 炮管袋 [CSW] M2 Gun Bag [CSW] Bolsa de Arma - M2 + [CSW] Sac M2 + [CSW] M2 バッグ + [CSW] M2槍械袋 [CSW] MK19 Gun Bag [CSW] Bolsa de Arma - MK19 + [CSW] Sac MK19 + [CSW] Mk19 バッグ + [CSW] Mk19槍械袋 [CSW] BGM-71 TOW Launcher Bag [CSW] Bolsa de Lançador - BGM-71 TOW + [CSW] Sac Lanceur BGM-71 TOW + [CSW] BGM-71 TOW ランチャー バッグ + [CSW] BGM-71 拖式飛彈發射器袋 [CSW] DSHK Gun Bag [CSW] Bolsa de Arma - DSHK + [CSW] Sac DSHK + [CSW] DShK バッグ + [CSW]DShK 槍械袋 [CSW] 2B14 Tube Bag [CSW] Bolsa de Arma - 2B14 + [CSW] Sac Tube 2B14 + [CSW] 2B14 発射筒バッグ + [CSW] 2B14 炮管袋 [CSW] NSV Gun Bag [CSW] Bolsa de Arma - NSV + [CSW] Sac NSV + [CSW] NSV バッグ + [CSW] NSV 槍械袋 [CSW] KORD Gun Bag [CSW] Bolsa de Arma - KORD + [CSW] Sac KORD + [CSW] KORD バッグ + [CSW] KORD 槍械袋 [CSW] AGS-30 Gun Bag [CSW] Bolsa de Arma - AGS-30 + [CSW] Sac AGS-30 + [CSW] AGS-30 バッグ + [CSW] AGS-30 槍械袋 [CSW] 9k115 Metis Launcher Bag [CSW] Bolsa de Arma - 9k115 Metis + [CSW] Sac Lanceur 9K115 Metis + [CSW] 9K115 メティス ランチャー バッグ + [CSW] 9k115 麥士蒂索人發射器袋 [CSW] 9m113 Kornet Launcher [CSW] Bolsa de Arma - 9m113 Kornet + [CSW] Sac Lanceur 9M113 Kornet + [CSW] 9M113 コルネット ランチャー バッグ + [CSW] 9M113 短號發射器 SPG-9 Tripod Tripé SPG-9 + Trépied SPG-9 + SPG-9 三脚 + SPG-9 三腳架 [CSW] SPG-9 Deployable Tripod [CSW] SPG-9 Tripe Ajustável (Baixo) + [CSW] SPG-9 Trépied déployable + [CSW] SPG-9 設置型三脚 + [CSW] SPG-9 部署型三腳架 [CSW] SPG-9 Launcher Bag [CSW] Bolsa de Lançador - SPG-9 + [CSW] Sac Lanceur SPG-9 + [CSW] SPG-9 ランチャー バッグ + [CSW] SPG-9 發射器袋 [CSW] SPG-9M Launcher Bag [CSW] Bolsa de Lançador - SPG-9M + [CSW] Sac Lanceur SPG-9M + [CSW] SPG-9M ランチャー バッグ + [CSW] SPG-9M 發射器袋 diff --git a/addons/dagr/stringtable.xml b/addons/dagr/stringtable.xml index c364eedabe..032221aa40 100644 --- a/addons/dagr/stringtable.xml +++ b/addons/dagr/stringtable.xml @@ -40,7 +40,7 @@ Mostrar DAGR Přepnout DAGR Apri DAGR - Activer/Desactiver le DAGR + Activer/Désactiver le DAGR DAGR を常に表示 DAGR 토글 切換軍用GPS接收器 diff --git a/addons/disposable/CfgEventHandlers.hpp b/addons/disposable/CfgEventHandlers.hpp deleted file mode 100644 index a7c50f3247..0000000000 --- a/addons/disposable/CfgEventHandlers.hpp +++ /dev/null @@ -1,33 +0,0 @@ - -class Extended_PreStart_EventHandlers { - class ADDON { - init = QUOTE(call COMPILE_FILE(XEH_preStart)); - }; -}; - -class Extended_PreInit_EventHandlers { - class ADDON { - init = QUOTE(call COMPILE_FILE(XEH_preInit)); - }; -}; - -class Extended_PostInit_EventHandlers { - class ADDON { - init = QUOTE(call COMPILE_FILE(XEH_postInit)); - }; -}; - -class Extended_DisplayLoad_EventHandlers { - class RscDisplayInventory { - ADDON = QUOTE([ARR_2(ACE_player, _this select 0)] call FUNC(updateInventoryDisplay)); - }; -}; - -// handle preloaded missile -class Extended_InitPost_EventHandlers { - class CAManBase { - class ADDON { - init = QUOTE([_this select 0] call FUNC(takeLoadedATWeapon)); - }; - }; -}; diff --git a/addons/disposable/CfgMagazines.hpp b/addons/disposable/CfgMagazines.hpp deleted file mode 100644 index 6204b330e4..0000000000 --- a/addons/disposable/CfgMagazines.hpp +++ /dev/null @@ -1,15 +0,0 @@ -class CfgMagazines { - class NLAW_F; - class ACE_PreloadedMissileDummy: NLAW_F { // The dummy magazine - author = ECSTRING(common,ACETeam); - scope = 1; - scopeArsenal = 1; - displayName = CSTRING(PreloadedMissileDummy); - picture = "\a3\ui_f\data\IGUI\Cfg\Targeting\Empty_ca.paa"; - weaponPoolAvailable = 0; - mass = 0; - }; - class ACE_FiredMissileDummy: ACE_PreloadedMissileDummy { - count = 0; - }; -}; diff --git a/addons/disposable/CfgVehicles.hpp b/addons/disposable/CfgVehicles.hpp index 0ad3ff51c0..0b4d739dc6 100644 --- a/addons/disposable/CfgVehicles.hpp +++ b/addons/disposable/CfgVehicles.hpp @@ -1,146 +1,8 @@ class CfgVehicles { - #define MACRO_NONLAW \ - class TransportMagazines { \ - class _xx_NLAW_F { \ - count = 0; \ - }; \ + class Launcher_Base_F; + class Weapon_launch_NLAW_F: Launcher_Base_F { + class TransportMagazines { + delete NLAW_F; }; - - class ReammoBox_F; - class NATO_Box_Base: ReammoBox_F {}; - class Box_NATO_Ammo_F: NATO_Box_Base { - MACRO_NONLAW }; - class Box_NATO_WpsLaunch_F: NATO_Box_Base { - MACRO_NONLAW - }; - - class IND_Box_Base: ReammoBox_F {}; - class Box_IND_WpsLaunch_F: IND_Box_Base { - MACRO_NONLAW - }; - class Box_IND_Ammo_F: IND_Box_Base { - MACRO_NONLAW - }; - - class B_supplyCrate_F: ReammoBox_F { - MACRO_NONLAW - }; - class I_supplyCrate_F: B_supplyCrate_F { - MACRO_NONLAW - }; - class C_supplyCrate_F: ReammoBox_F { - MACRO_NONLAW - }; - - class B_AssaultPack_rgr; - class B_AssaultPack_rgr_LAT: B_AssaultPack_rgr { - MACRO_NONLAW - }; - class B_AssaultPack_rgr_ReconLAT: B_AssaultPack_rgr { - MACRO_NONLAW - }; - - class B_Carryall_mcamo; - class B_AssaultPack_mcamo_Ammo: B_Carryall_mcamo { - MACRO_NONLAW - }; - class B_Carryall_oli; - class I_Fieldpack_oli_Ammo: B_Carryall_oli { - MACRO_NONLAW - }; - - class B_AssaultPack_dgtl; - class I_Fieldpack_oli_LAT: B_AssaultPack_dgtl { - MACRO_NONLAW - }; - - class CargoNet_01_ammo_base_F; - class B_CargoNet_01_ammo_F: CargoNet_01_ammo_base_F { - MACRO_NONLAW - }; - class I_CargoNet_01_ammo_F: CargoNet_01_ammo_base_F { - MACRO_NONLAW - }; - - class Slingload_01_Base_F; - class B_Slingload_01_Cargo_F: Slingload_01_Base_F { - MACRO_NONLAW - }; - - class Tank_F; - class APC_Tracked_01_base_F: Tank_F { - MACRO_NONLAW - }; - /*class B_APC_Tracked_01_base_F: APC_Tracked_01_base_F { - MACRO_NONLAW - }; - class B_APC_Tracked_01_rcws_F: B_APC_Tracked_01_base_F { - MACRO_NONLAW - }; - class B_APC_Tracked_01_CRV_F: B_APC_Tracked_01_base_F { - MACRO_NONLAW - }; - class B_APC_Tracked_01_AA_F: B_APC_Tracked_01_base_F { - MACRO_NONLAW - };*/ - - class Car_F; - class MRAP_01_base_F: Car_F { - MACRO_NONLAW - }; - /*class MRAP_01_gmg_base_F: MRAP_01_base_F { - MACRO_NONLAW - }; - class MRAP_01_hmg_base_F: MRAP_01_gmg_base_F { - MACRO_NONLAW - }; - class B_MRAP_01_F: MRAP_01_base_F { - MACRO_NONLAW - }; - class B_MRAP_01_gmg_F: MRAP_01_gmg_base_F { - MACRO_NONLAW - }; - class B_MRAP_01_hmg_F: MRAP_01_hmg_base_F { - MACRO_NONLAW - };*/ - - class MRAP_03_base_F: Car_F { - MACRO_NONLAW - }; - /*class MRAP_03_hmg_base_F: MRAP_03_base_F { - MACRO_NONLAW - }; - class MRAP_03_gmg_base_F: MRAP_03_hmg_base_F { - MACRO_NONLAW - }; - class I_MRAP_03_F: MRAP_03_base_F { - MACRO_NONLAW - }; - class I_MRAP_03_hmg_F: MRAP_03_hmg_base_F { - MACRO_NONLAW - }; - class I_MRAP_03_gmg_F: MRAP_03_gmg_base_F { - MACRO_NONLAW - };*/ - - class Wheeled_APC_F: Car_F {}; - class APC_Wheeled_03_base_F: Wheeled_APC_F { - MACRO_NONLAW - }; - class APC_Wheeled_01_base_F: Wheeled_APC_F { - MACRO_NONLAW - }; - /*class B_APC_Wheeled_01_base_F: APC_Wheeled_01_base_F { - MACRO_NONLAW - }; - class B_APC_Wheeled_01_cannon_F: B_APC_Wheeled_01_base_F { - MACRO_NONLAW - }; - class I_APC_Wheeled_03_base_F: APC_Wheeled_03_base_F { - MACRO_NONLAW - }; - class I_APC_Wheeled_03_cannon_F: I_APC_Wheeled_03_base_F { - MACRO_NONLAW - };*/ }; diff --git a/addons/disposable/CfgWeapons.hpp b/addons/disposable/CfgWeapons.hpp index 731910b704..2ec20f1d6f 100644 --- a/addons/disposable/CfgWeapons.hpp +++ b/addons/disposable/CfgWeapons.hpp @@ -1,19 +1,52 @@ class CfgWeapons { - class Launcher_Base_F; - class launch_NLAW_F: Launcher_Base_F { - ACE_UsedTube = "ACE_launch_NLAW_Used_F"; // The class name of the used tube. - magazines[] = {"ACE_PreloadedMissileDummy"}; // The dummy magazine + class Launcher; + class Launcher_Base_F: Launcher { + class WeaponSlotsInfo; }; - class ACE_launch_NLAW_Used_F: launch_NLAW_F { // the used tube should be a sub class of the disposable launcher - EGVAR(nlaw,enabled) = 0; // disable guidance for the disposabled tube - scope = 1; - ACE_isUsedLauncher = 1; + + class launch_NLAW_F: Launcher_Base_F { + scope = 2; + scopeArsenal = 2; + baseWeapon = "launch_NLAW_F"; + + magazines[] = {"CBA_FakeLauncherMagazine"}; + magazineReloadTime = 0.1; + reloadMagazineSound[] = {"",1,1}; + + class WeaponSlotsInfo: WeaponSlotsInfo { + mass = 180; // launcher 100, magazine 80 + }; + }; + + class ACE_launch_NLAW_ready_F: launch_NLAW_F { author = ECSTRING(common,ACETeam); + scope = 1; + scopeArsenal = 1; + baseWeapon = "launch_NLAW_F"; + + magazines[] = {"NLAW_F"}; + + class EventHandlers { + fired = "_this call CBA_fnc_firedDisposable"; // this weapon eventhandler is required! + }; + + class WeaponSlotsInfo: WeaponSlotsInfo { + mass = 100; + }; + }; + + class ACE_launch_NLAW_used_F: launch_NLAW_F { + author = ECSTRING(common,ACETeam); + scope = 1; + scopeArsenal = 1; + baseWeapon = "ACE_launch_NLAW_used_F"; + displayName = CSTRING(UsedTube); descriptionShort = CSTRING(UsedTubeDescription); - magazines[] = {"ACE_FiredMissileDummy"}; // This will disable the used launcher class from being fired again. - //picture = ""; @todo - //model = ""; @todo weaponPoolAvailable = 0; + + class WeaponSlotsInfo: WeaponSlotsInfo { + mass = 100; + }; }; }; diff --git a/addons/disposable/README.md b/addons/disposable/README.md index 82281a3c52..b75ecb112d 100644 --- a/addons/disposable/README.md +++ b/addons/disposable/README.md @@ -1,7 +1,7 @@ ace_disposable ============== -Makes the NLAW a disposable one-shot weapon and provides disposable launchers framework for use by other mods. +Makes the NLAW a disposable one-shot weapon using the [CBA Disposable Framework](https://github.com/CBATeam/CBA_A3/wiki/Disposable-Launchers). ## Maintainers diff --git a/addons/disposable/XEH_PREP.hpp b/addons/disposable/XEH_PREP.hpp deleted file mode 100644 index 8319e582aa..0000000000 --- a/addons/disposable/XEH_PREP.hpp +++ /dev/null @@ -1,4 +0,0 @@ - -PREP(replaceATWeapon); -PREP(takeLoadedATWeapon); -PREP(updateInventoryDisplay); diff --git a/addons/disposable/XEH_postInit.sqf b/addons/disposable/XEH_postInit.sqf deleted file mode 100644 index 4b395c6a64..0000000000 --- a/addons/disposable/XEH_postInit.sqf +++ /dev/null @@ -1,15 +0,0 @@ -// by commy2 -#include "script_component.hpp" - -if (!hasInterface) exitWith {}; - -["loadout", { - params ["_unit"]; - [_unit] call FUNC(takeLoadedATWeapon); - [_unit] call FUNC(updateInventoryDisplay); -}] call CBA_fnc_addPlayerEventHandler; - -// Register fire event handler -// Only for the local player and for AI. Non-local players will handle it themselves -["ace_firedPlayer", DFUNC(replaceATWeapon)] call CBA_fnc_addEventHandler; -["ace_firedNonPlayer", DFUNC(replaceATWeapon)] call CBA_fnc_addEventHandler; diff --git a/addons/disposable/XEH_preInit.sqf b/addons/disposable/XEH_preInit.sqf deleted file mode 100644 index b47cf6628d..0000000000 --- a/addons/disposable/XEH_preInit.sqf +++ /dev/null @@ -1,9 +0,0 @@ -#include "script_component.hpp" - -ADDON = false; - -PREP_RECOMPILE_START; -#include "XEH_PREP.hpp" -PREP_RECOMPILE_END; - -ADDON = true; diff --git a/addons/disposable/XEH_preStart.sqf b/addons/disposable/XEH_preStart.sqf deleted file mode 100644 index 414ffaea97..0000000000 --- a/addons/disposable/XEH_preStart.sqf +++ /dev/null @@ -1,14 +0,0 @@ -#include "script_component.hpp" - -#include "XEH_PREP.hpp" - -// Show warning for launchers still using disposables -{ - private _nonInheritedCfg = configProperties [_x, "configName _x == 'ACE_UsedTube'", false]; - if ((count _nonInheritedCfg) == 1) then { - private _weapon = configName _x; - if (_weapon != "launch_NLAW_F") then { // ignore the one we modifiy ourselves - WARNING_1("[%1] ACE_disposables functionality will be removed in a future version - switch to CBA Disposables",_weapon); - }; - }; -} forEach ("isText (_x >> 'ACE_UsedTube')" configClasses (configFile >> "CfgWeapons")); diff --git a/addons/disposable/config.cpp b/addons/disposable/config.cpp index 19b02871bc..2cc4f4202c 100644 --- a/addons/disposable/config.cpp +++ b/addons/disposable/config.cpp @@ -4,7 +4,7 @@ class CfgPatches { class ADDON { name = COMPONENT_NAME; units[] = {}; - weapons[] = {}; + weapons[] = {"ACE_launch_NLAW_loaded_F","ACE_launch_NLAW_used_F"}; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"ace_common"}; author = ECSTRING(common,ACETeam); @@ -14,7 +14,9 @@ class CfgPatches { }; }; -#include "CfgEventHandlers.hpp" +class CBA_DisposableLaunchers { + ACE_launch_NLAW_ready_F[] = {"launch_NLAW_F","ACE_launch_NLAW_used_F"}; +}; + #include "CfgWeapons.hpp" -#include "CfgMagazines.hpp" #include "CfgVehicles.hpp" diff --git a/addons/disposable/functions/fnc_replaceATWeapon.sqf b/addons/disposable/functions/fnc_replaceATWeapon.sqf deleted file mode 100644 index dcb5d93c1d..0000000000 --- a/addons/disposable/functions/fnc_replaceATWeapon.sqf +++ /dev/null @@ -1,69 +0,0 @@ -#include "script_component.hpp" -/* - * Author: bux, commy2 - * Replace the disposable launcher with the used dummy. Called from the unified fired EH. - * - * Arguments: - * None. Parameters inherited from EFUNC(common,firedEH) - * - * Return Value: - * None - * - * Example: - * [fromBisFiredEH] call ace_disposable_fnc_replaceATWeapon; - * - * Public: No - */ - -//IGNORE_PRIVATE_WARNING ["_unit", "_weapon", "_muzzle", "_mode", "_ammo", "_magazine", "_projectile", "_vehicle", "_gunner", "_turret"]; -TRACE_10("firedEH:",_unit, _weapon, _muzzle, _mode, _ammo, _magazine, _projectile, _vehicle, _gunner, _turret); - -if (!local _unit || {_weapon != secondaryWeapon _unit} || {_weapon != _muzzle}) exitWith {}; - -private _replacementTube = getText (configFile >> "CfgWeapons" >> _weapon >> "ACE_UsedTube"); -if (_replacementTube == "") exitWith {}; //If no replacement defined just exit - -// Save magazine of spotting muzzle (should be re-added to replacement weapon) -(((getUnitLoadout _unit) select 1) select 5) params [["_spottingMag", ""], ["_spottingRnds", 0]]; -if (_spottingMag != "") then { _unit addMagazine [_spottingMag, _spottingRnds]; }; -//Save array of items attached to launcher -private _items = secondaryWeaponItems _unit; -//Replace the orginal weapon with the 'usedTube' weapon -_unit addWeapon _replacementTube; -//Makes sure the used tube is still equiped -_unit selectWeapon _replacementTube; -//Re-add all attachments to the used tube -{ - if (_x != "") then {_unit addSecondaryWeaponItem _x}; -} count _items; - - -// AI - Remove the ai's missle launcher tube after the missle has exploded -if !([_unit] call EFUNC(common,isPlayer)) then { - [{ - params ["_args","_idPFH"]; - _args params ["_unit", "_tube", "_projectile"]; - - //don't do anything until projectile is null (exploded/max range) - if (isNull _projectile) then { - //Remove PFEH: - [_idPFH] call CBA_fnc_removePerFrameHandler; - - //If (tube is dropped) OR (is dead) OR (is player) just exit - if (secondaryWeapon _unit != _tube || {!alive _unit} || {[_unit] call EFUNC(common,isPlayer)}) exitWith {}; - - //private _items = secondaryWeaponItems _unit; - private _container = createVehicle ["GroundWeaponHolder", position _unit, [], 0, "CAN_COLLIDE"]; - _container setPosAsl (getPosAsl _unit); - _container addWeaponCargoGlobal [_tube, 1]; - - //This will duplicate attachements, because we will be adding a weapon that may already have attachments on it - //We either need a way to add a clean weapon, or a way to add a fully configured weapon to a container: - // { - // if (_x != "") then {_container addItemCargoGlobal [_x, 1];}; - // } forEach _items; - - _unit removeWeaponGlobal _tube; - }; - }, 1, [_unit, _replacementTube, _projectile]] call CBA_fnc_addPerFrameHandler; -}; diff --git a/addons/disposable/functions/fnc_takeLoadedATWeapon.sqf b/addons/disposable/functions/fnc_takeLoadedATWeapon.sqf deleted file mode 100644 index 3f12d610d3..0000000000 --- a/addons/disposable/functions/fnc_takeLoadedATWeapon.sqf +++ /dev/null @@ -1,59 +0,0 @@ -#include "script_component.hpp" -/* - * Author: commy2 - * Handle the take event. Add a dummy magazine if a disposable rocket launcher is taken. - * - * Arguments: - * 0: unit - Object the event handler is assigned to - * - * Return Value: - * None - * - * Example: - * [fromTakeEH] call ace_disposable_fnc_takeLoadedATWeapon; - * - * Public: No - */ - -params ["_unit"]; -TRACE_1("params",_unit); - -if (!local _unit) exitWith {}; - -private _launcher = secondaryWeapon _unit; -private _config = configFile >> "CfgWeapons" >> _launcher; - -if (isClass _config && {getText (_config >> "ACE_UsedTube") != ""} && {getNumber (_config >> "ACE_isUsedLauncher") != 1} && {count secondaryWeaponMagazine _unit == 0}) then { - private _magazine = getArray (_config >> "magazines") select 0; - private _isLauncherSelected = currentWeapon _unit == _launcher; - - _unit removeMagazines _magazine; - - if (backpack _unit == "") then { - _unit addBackpack "ACE_FakeBackpack"; - _unit removeWeapon _launcher; - _unit addMagazine _magazine; - private _didAdd = _magazine in magazines _unit; - _unit addWeapon _launcher; - - if (!_didAdd) then { - TRACE_1("Failed To Add Disposable Magazine Normally, doing backup method (no backpack)",_unit); - _unit addSecondaryWeaponItem _magazine; - }; - removeBackpack _unit; - } else { - _unit removeWeapon _launcher; - _unit addMagazine _magazine; - private _didAdd = _magazine in magazines _unit; - _unit addWeapon _launcher; - - if (!_didAdd) then { - TRACE_2("Failed To Add Disposable Magazine Normally, doing backup method",_unit,(backpack _unit)); - _unit addSecondaryWeaponItem _magazine; - }; - }; - - if (_isLauncherSelected) then { - _unit selectWeapon _launcher; - }; -}; diff --git a/addons/disposable/functions/fnc_updateInventoryDisplay.sqf b/addons/disposable/functions/fnc_updateInventoryDisplay.sqf deleted file mode 100644 index 7ab2d18d75..0000000000 --- a/addons/disposable/functions/fnc_updateInventoryDisplay.sqf +++ /dev/null @@ -1,47 +0,0 @@ -#include "script_component.hpp" -/* - * Author: bux, commy2 - * Hide or show the secondary weapon magazine inventory slot to prevent unloading of dummy magazines. - * - * Arguments: - * 0: unit - Object the event handler is assigned to - * - * Return Value: - * None - * - * Example: - * [player] call ace_disposable_fnc_updateInventoryDisplay; - * - * Public: No - */ - -disableSerialization; -params ["_player", ["_display",(findDisplay 602),[displayNull]]]; -TRACE_2("params",_player,_display); - -_player removeMagazines "ACE_PreloadedMissileDummy"; -_player removeMagazines "ACE_FiredMissileDummy"; - -if (isNull _display) exitWith {}; - -private _launcher = secondaryWeapon _player; - -if (_launcher == "" || {getText (configFile >> "CfgWeapons" >> _launcher >> "ACE_UsedTube") == ""}) then { - private _control = _display displayCtrl 627; - private _config = configFile >> "RscDisplayInventory" >> "controls" >> "SlotSecondaryMagazine"; - _control ctrlSetPosition [getNumber (_config >> "x"), getNumber (_config >> "y"), getNumber (_config >> "w"), getNumber (_config >> "h")]; - _control ctrlCommit 0; - - _control = _display displayCtrl 1251; - _config = configFile >> "RscDisplayInventory" >> "controls" >> "BackgroundSlotSecondaryMagazine"; - _control ctrlSetPosition [getNumber (_config >> "x"), getNumber (_config >> "y"), getNumber (_config >> "w"), getNumber (_config >> "h")]; - _control ctrlCommit 0; -} else { - private _control = _display displayCtrl 627; - _control ctrlSetPosition [0, 0, 0, 0]; - _control ctrlCommit 0; - - _control = _display displayCtrl 1251; - _control ctrlSetPosition [0, 0, 0, 0]; - _control ctrlCommit 0; -}; diff --git a/addons/disposable/functions/script_component.hpp b/addons/disposable/functions/script_component.hpp deleted file mode 100644 index 035e8e6bcc..0000000000 --- a/addons/disposable/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\disposable\script_component.hpp" \ No newline at end of file diff --git a/addons/dogtags/stringtable.xml b/addons/dogtags/stringtable.xml index 07654c97c6..97432bb6ee 100644 --- a/addons/dogtags/stringtable.xml +++ b/addons/dogtags/stringtable.xml @@ -23,7 +23,7 @@ ドッグ タグを見る Hundemarke prüfen 군번줄 확인 - Vérifier les plaques d'identification + Vérifier la plaque d'identification Controlla Piastrina 檢查兵籍牌 检查兵籍牌 @@ -65,7 +65,7 @@ %1からドッグ タグを取っています・・・ Hundemarke von %1 genommen ... %1로부터 군번줄을 회수했습니다... - Plaque d'identification pris sur %1... + Plaque d'identification prise sur %1... Piastrina presa da %1... 從%1身上拿取兵籍牌... 从%1身上拿取兵籍牌... @@ -79,7 +79,7 @@ すでにドッグ タグは取られています・・・ Jemand anderes hat bereits die Hundemarke genommen ... 누군가 이미 군번줄을 회수해갔습니다... - Quelqu'un d'autre a déjâ pris les plaques d'identification... + Quelqu'un d'autre a déjà pris la plaque d'identification... Qualcun altro ha già preso la piastrina... 已經有人把他的兵籍牌拿走了... 已经有人把他的兵籍牌拿走了... @@ -94,6 +94,7 @@ Wyświetlacz ekranowy dla sprawdzania nieśmiertelników Экран для проверки жетонов Tela de Exibição para verificar dogtags + Affichage à l'écran pour le contrôle des plaques. diff --git a/addons/dragging/CfgEventHandlers.hpp b/addons/dragging/CfgEventHandlers.hpp index 424c2a3fed..e72425a68e 100644 --- a/addons/dragging/CfgEventHandlers.hpp +++ b/addons/dragging/CfgEventHandlers.hpp @@ -21,6 +21,7 @@ class Extended_Init_EventHandlers { class CAManBase { class ADDON { init = QUOTE(_this call DFUNC(initPerson)); + exclude[] = {"VirtualMan_F"}; }; }; class StaticWeapon { diff --git a/addons/dragging/functions/fnc_getWeight.sqf b/addons/dragging/functions/fnc_getWeight.sqf index cd06b8a884..c9d978cf7d 100644 --- a/addons/dragging/functions/fnc_getWeight.sqf +++ b/addons/dragging/functions/fnc_getWeight.sqf @@ -1,45 +1,95 @@ #include "script_component.hpp" /* - * Author: L-H, edited by commy2, rewritten by joko // Jonas - * Returns the weight of a crate. + * Author: L-H, edited by commy2, rewritten by joko // Jonas, re-rewritten by mharis001 + * Returns the weight of the given object. + * Weight is calculated from the object's mass and its current inventory. * * Arguments: - * 0: Crate to get weight of + * 0: Object * * Return Value: - * Total Weight + * Weight * * Example: - * [Crate1] call ace_dragging_fnc_getweight; + * [_object] call ace_dragging_fnc_getWeight * * Public: No -*/ + */ params ["_object"]; -// Initialize the total weight. -private _totalWeight = 0; +private _weight = 0; +private _cfgWeapons = configFile >> "CfgWeapons"; +private _cfgGlasses = configFile >> "CfgGlasses"; +private _cfgVehicles = configFile >> "CfgVehicles"; +private _cfgMagazines = configFile >> "CfgMagazines"; + +// Add the masses of "regular" items in the object's inventory +// Handle separating CfgGlasses items from this cargo array +getItemCargo _object params ["_itemTypes", "_itemCounts"]; -// Cycle through all item types with their assigned config paths. { - _x params ["_items", "_getConfigCode"]; - _items params ["_item", "_count"]; - // Cycle through all items and read their mass out of the config. + private _itemConfig = if (isClass (_cfgGlasses >> _x)) then { + _cfgGlasses >> _x + } else { + _cfgWeapons >> _x >> "ItemInfo" + }; + + _weight = _weight + getNumber (_itemConfig >> "mass") * (_itemCounts select _forEachIndex); +} forEach _itemTypes; + +// Add the masses of magazine items in the object's inventory +getMagazineCargo _object params ["_magazineTypes", "_magazineCounts"]; + +{ + _weight = _weight + getNumber (_cfgMagazines >> _x >> "mass") * (_magazineCounts select _forEachIndex); +} forEach _magazineTypes; + +// Add the masses of backpack items in the object's inventory +getBackpackCargo _object params ["_backpackTypes", "_backpackCounts"]; + +{ + _weight = _weight + getNumber (_cfgVehicles >> _x >> "mass") * (_backpackCounts select _forEachIndex); +} forEach _backpackTypes; + +{ + _x params ["_weapon", "_muzzle", "_pointer", "_optic", "_primaryMagazine", "_secondaryMagazine", "_bipod"]; + + // Add the weapon's mass + _weight = _weight + getNumber (_cfgWeapons >> _weapon >> "WeaponSlotsInfo" >> "mass"); + + // Add the masses of the weapon's attachments if they exist { - // Multiply mass with amount of items and add the mass to the total weight. - _totalWeight = _totalWeight + (getNumber ((call _getConfigCode) >> "mass") * (_count select _forEachIndex)); - } forEach _item; - true -} count [ - //IGNORE_PRIVATE_WARNING ["_x"]; - [getMagazineCargo _object, {configFile >> "CfgMagazines" >> _x}], - [getBackpackCargo _object, {configFile >> "CfgVehicles" >> _x}], - [getItemCargo _object, {configFile >> "CfgWeapons" >> _x >> "ItemInfo"}], - [getWeaponCargo _object, {configFile >> "CfgWeapons" >> _x >> "WeaponSlotsInfo"}] -]; + if (_x != "") then { + _weight = _weight + getNumber (_cfgWeapons >> _x >> "ItemInfo" >> "mass"); + }; + } forEach [_muzzle, _pointer, _optic, _bipod]; -// add Weight of create to totalWeight -_totalWeight = _totalWeight + (getNumber (configFile >> "CfgVehicles" >> typeOf _object >> "mass")); + // Add the masses of the weapon's magazines if they exist + { + _x params ["_magazine"]; -// Mass in Arma isn't an exact amount but rather a volume/weight value. This attempts to work around that by making it a usable value. (sort of). -_totalWeight * 0.5 + if (!isNil "_magazine") then { + _weight = _weight + getNumber (_cfgMagazines >> _magazine >> "mass"); + }; + } forEach [_primaryMagazine, _secondaryMagazine]; +} forEach weaponsItemsCargo _object; + +// Add the mass of the object itself +// The mass of sub-containers such as vests was added through the items cargo +// The container object is generally of type SupplyX and has mass of zero +_weight = _weight + getNumber (_cfgVehicles >> typeOf _object >> "mass"); + +// Mass in Arma isn't an exact amount but rather a volume/weight value +// This attempts to work around that by making it a usable value (sort of) +// Note: this is done before the recursive calls to avoid reducing the weight multiple times +_weight = _weight * 0.5; + +// Handle sub-containers within the object's inventory +{ + _x params ["", "_container"]; + + _weight = _weight + (_container call FUNC(getWeight)); +} forEach everyContainer _object; + +_weight diff --git a/addons/dragging/script_component.hpp b/addons/dragging/script_component.hpp index 01b466972f..e7ad88c825 100644 --- a/addons/dragging/script_component.hpp +++ b/addons/dragging/script_component.hpp @@ -2,7 +2,6 @@ #define COMPONENT_BEAUTIFIED Dragging #include "\z\ace\addons\main\script_mod.hpp" -// #define DEBUG_ENABLED_DRAGGING // #define DEBUG_MODE_FULL // #define DISABLE_COMPILE_CACHE // #define ENABLE_PERFORMANCE_COUNTERS diff --git a/addons/dragging/stringtable.xml b/addons/dragging/stringtable.xml index 95a17c60b0..c5072a11b1 100644 --- a/addons/dragging/stringtable.xml +++ b/addons/dragging/stringtable.xml @@ -7,7 +7,7 @@ Arrastrar Ciągnij Táhnout - Trainer + Traîner Ziehen Arrastar Trascina @@ -39,7 +39,7 @@ Arrastrar/Soltar Objeto Ciągnij/Puść Obiekt Táhnout/Položit Objekt - Trainer/Lâcher Objets + Traîner/Lâcher Objet Objekt ziehen/loslassen Arrastar/Soltar Objeto Trascina/Lascia Oggetto diff --git a/addons/dragon/CfgVehicles.hpp b/addons/dragon/CfgVehicles.hpp index faac05bbe9..13441c6c26 100644 --- a/addons/dragon/CfgVehicles.hpp +++ b/addons/dragon/CfgVehicles.hpp @@ -18,6 +18,7 @@ class CfgVehicles { faction = "BLU_F"; crew = "B_soldier_f"; model = QPATHTOF(models\ace_m47_static.p3d); + editorPreview = QPATHTOF(data\ace_dragon_staticAssembled.jpg); picture = "\A3\Static_F_Gamma\data\UI\gear_StaticTurret_AT_CA.paa"; UiPicture = "\A3\Static_F_Gamma\data\UI\gear_StaticTurret_AT_CA.paa"; icon = "\A3\Static_F_Gamma\data\UI\map_StaticTurret_AT_CA.paa"; diff --git a/addons/dragon/data/ace_dragon_staticAssembled.jpg b/addons/dragon/data/ace_dragon_staticAssembled.jpg new file mode 100644 index 0000000000..d64bda5930 Binary files /dev/null and b/addons/dragon/data/ace_dragon_staticAssembled.jpg differ diff --git a/addons/dragon/stringtable.xml b/addons/dragon/stringtable.xml index f78c1f9684..cbf82644d6 100644 --- a/addons/dragon/stringtable.xml +++ b/addons/dragon/stringtable.xml @@ -1,33 +1,54 @@ - - + + [CSW] M47 Super-Dragon [CSW] M47 Super-Dragon + [CSW] M47 Super-Dragon + [CSW] M47 スーパー ドラゴン + [CSW] M47龍式 - + M47 Super-Dragon M47 Super-Dragon + M47 Super-Dragon + M47 スーパー ドラゴン + M47 龍式 - + Attach Sight Colocar Mira + Monter le viseur + 照準器を取り付ける + 裝上瞄具 - + Detach Sight Remover Mira + Démonter le viseur + 照準器を外す + 拆下瞄具 - + SU-36/P Daysight SU-36/P Daysight + SU-36/P Daysight + SU-36/P デイサイト + SU-36/P 日間瞄具 - + A light, cheap sight used for daytime operations. Contains the guidance computer for the whole system Uma mira leve e comum utilizada para operações de dia. Contêm o computador de orientação para todo o sistema. + Un viseur léger et bon marché utilisé pour les opérations de jour.\nContient l'ordinateur de guidage pour tout le système. + 昼間時に使用される軽量で、低価格の照準器です。システム全体の誘導コンピュータを備えています。 + 一個輕量,便宜適合日間行動使用的廉價瞄具。內含全套制導電腦系統 - + A Wire-Guided SACLOS missile with a unique flight characteristic Um míssil SACLOS, guiado por fio com uma característica única de vôo + Un missile filoguidé SACLOS, présentant une caractéristique de vol exceptionnelle. + 特徴的な飛行特性を持つ、ワイヤ誘導の SACLOS ミサイルです。 + 一個有線制導半自動指令型飛彈並有著獨特的飛航動作 diff --git a/addons/explosives/functions/fnc_dialingPhone.sqf b/addons/explosives/functions/fnc_dialingPhone.sqf index 9fd1184150..6956505df7 100644 --- a/addons/explosives/functions/fnc_dialingPhone.sqf +++ b/addons/explosives/functions/fnc_dialingPhone.sqf @@ -22,7 +22,7 @@ params ["_args", "_pfID"]; _args params ["_unit", "_i", "_arr", "_code"]; if ((_i mod 4) == 0) then { - playSound3D [QUOTE(PATHTO_R(Data\Audio\DialTone.wss)), objNull, false, (_unit modelToWorldVisual [0,0.2,2]), 15,1,2.5]; + playSound3D [QUOTE(PATHTO_R(Data\Audio\DialTone.wss)), objNull, false, (_unit modelToWorldVisual [0,0.2,2]), 5,1,5]; }; ctrlSetText [1400,format["Calling%1",_arr select (_i - 4)]]; diff --git a/addons/explosives/functions/fnc_setupExplosive.sqf b/addons/explosives/functions/fnc_setupExplosive.sqf index a85580f672..96fc4820e4 100644 --- a/addons/explosives/functions/fnc_setupExplosive.sqf +++ b/addons/explosives/functions/fnc_setupExplosive.sqf @@ -80,7 +80,7 @@ GVAR(TweakedAngle) = 0; #ifdef DEBUG_MODE_FULL drawLine3d [(eyePos _unit) call EFUNC(common,ASLToPosition), (_testPos) call EFUNC(common,ASLToPosition), [1,0,0,1]]; #endif - if (lineIntersects [eyePos _unit, _testPos, _unit]) exitWith {_return = false;}; + if !((lineIntersectsSurfaces [eyePos _unit, _testPos, _unit]) isEqualTo []) exitWith {_return = false;}; } forEach [[0,0], [-1,-1], [1,-1], [-1,1], [1,1]]; _return }; @@ -94,8 +94,8 @@ GVAR(TweakedAngle) = 0; private _testBase = _basePosASL vectorAdd _lookDirVector; { private _testPos = _testBase vectorAdd [0.1 * (_x select 0) * (cos _cameraAngle), 0.1 * (_x select 0) * (sin _cameraAngle), 0.1 * (_x select 1)]; - private _intersectsWith = lineIntersectsWith [eyePos _unit, _testPos, _unit]; - if (count _intersectsWith == 1) exitWith {_attachVehicle = (_intersectsWith select 0);}; + private _intersectObject = ((lineIntersectsSurfaces [eyePos _unit, _testPos, _unit]) param [0, objNull]) param [3, objNull]; + if !(_intersectObject isEqualTo objNull) exitWith {_attachVehicle = _intersectObject}; } forEach [[0,0], [-1,-1], [1,-1], [-1,1], [1,1]]; if ((!isNull _attachVehicle) && {[PLACE_RANGE_MIN] call _testPositionIsValid} && {(_attachVehicle isKindOf "Car") || {_attachVehicle isKindOf "Tank"} || {_attachVehicle isKindOf "Air"} || {_attachVehicle isKindOf "Ship"}}) then { diff --git a/addons/explosives/stringtable.xml b/addons/explosives/stringtable.xml index 2240642084..79b8d4b471 100644 --- a/addons/explosives/stringtable.xml +++ b/addons/explosives/stringtable.xml @@ -78,7 +78,7 @@ 爆破コード: %1 폭파 코드: %1 炸药代码: %1 - 炸藥代碼: %1 + 炸藥代號: %1 Place @@ -308,7 +308,7 @@ Erlaubt die Entschärfung von Sprengstoffen Permite desactivar explosivos Umożliwia rozbrajanie ładunków wybuchowych - Permet de désamorçer des explosifs + Outils nécessaires au désamorçage des explosifs. Dovoluje zneškodňování výbušnin Consente la disattivazione degli ordigni esplosivi Robbanóanyagok hatástalanítását teszi lehetővé @@ -324,7 +324,7 @@ Zur Schnellauswahl hinzufügen Añadir a marcado rápido Dodaj do szybkiego wybierania - Ajouter à la composition rapide + Ajouter à la numérotation rapide Přidat jako rychlou volbu Aggiungi alla selezione rapida Hozzáadás a gyorstárcsázóhoz @@ -452,7 +452,7 @@ Entschärfen Desactivar Rozbrój - Désamorçer + Désamorcer Zneškodnit Disinnesca Hatástalanítás @@ -468,7 +468,7 @@ Entschärfe Sprengstoff... Desactivando explosivo... Rozbrajanie ładunku... - Désamorçage des explosifs... + Désamorçage de l'explosif... Zneškodňuji Výbušninu... Esposivo in fase di disattivazione... Robbanóanyag hatástalanítása... @@ -532,7 +532,7 @@ Wähle einen Zünder Seleccionar un detonador Wybierz zapalnik - Sélectionner une mise à feu + Sélectionner un déclencheur Zvolit detonátor Seleziona un attivatore Gyújtóeszköz kiválasztása @@ -580,7 +580,7 @@ Linka naciągu Cable trampa Stolperdraht - Fil de détente + Fil piège Nástražný drát Filo a inciampo Botlódrót @@ -612,7 +612,7 @@ Brak dostępnych zapalników dla %1 No hay detonadores disponibles para %1 Keine Auslöser für %1 vorhanden - Pas de détonateur disponible pour %1 + Pas de déclencheur disponible pour %1 Žádný detonátor k dispozici pro %1 Nessun attivatore disponibile per %1 Nincs elérhető gyújtóeszköz ide: %1 @@ -742,7 +742,7 @@ Benötigt Sprengstoffexperten? Vyžadovat specialistu? Requer especialista? - Requiert un spécialiste ? + Spécialiste requis Specialisták igénylése? Требуется специалист? Richiedi specialisti? @@ -758,7 +758,7 @@ Benötige Sprengstoffexperte um Sprengladungen zu entschärfen? Standard: Nein Vyžadovat specialistu na zneškodnění výbušniny? Výchozí: Ne Requer especialista em explosivos para desativar explosivos? Padrão: Não - Le désarmoçage d'explosif requiert un spécialiste ? Défaut : non + Seul un spécialiste peut désamorcer des explosifs. Szükséges-e egy specialista a robbanóanyagok hatástalanításához? Alapértelmezett: Nem Требуется ли специалист по минному делу для обезвреживания взрывчатки? По-умолчанию: Нет Richiedi specialisti esplosivi per disabilitare esplosivi? Default: No @@ -774,7 +774,7 @@ Bestrafe Nicht-Sprengstoffexperten? Potrestat, pokud není specialista? Punir não especialistas? - Punir les non-spécialistes ? + Pénaliser les non-spécialistes Nem-specialisták büntetése? Штраф не-специалистам? Punisci non-specialisti? @@ -790,7 +790,7 @@ Entschärfungszeit für Nicht-Sprengstoffexperten erhöhen? Standard: Ja Zvýšit čas potřebný k dokončení akce pokud není specialista? Výchozí: Ano Aumentar o tempo necessário para completar ações por não especialistas? Padrão: Sim - Augmenter le temps nécessaire au désarmoçage pour les non-spécialistes ? Défaut : oui + Augmente le temps nécessaire au désamorçage pour les unités non spécialisées. Nem-specialisták esetén több ideig tartson a cselekvés befejezése? Alapértelmezett: Igen Увеличивать время завершения действий для не-специалистов? По-умолчанию: Нет Aumenta il tempo richiesto per completare azioni per non-specialisti? Default: Si @@ -806,7 +806,7 @@ Eksplozja przy rozbrajaniu? Explodovat při zneškodňování? Explotar al desactivar? - Explosion au désamorçage ? + Explosion au désamorçage Robbanás hatástalanításkor? Взрыв при разминир.? Fai esplodere quando disarmato? @@ -822,7 +822,7 @@ Spraw, aby niektóre ładunki wybuchowe eksplodowały przy próbie ich rozbrojenia? Domyślnie:Tak Umožnit u některých výbušnin explozi při pokusu je zneškodnit? Výchozí: Ano ¿Habilitar ciertos explosivos para estallar al desactivar? Por defecto: Sí - Permet à certains explosifs d'exploser au désamorçage ? Défaut : oui + Permet à certains explosifs d'exploser durant le désamorçage. Meghatározott robbanóanyagok felrobbanjanak-e hatástalanításkor? Alapértelmezett: Igen Разрешить определенным взрывным устройствам взрываться при разминировании? По-умолчанию: Да Abilita alcuni esplosivi per esplosione al disarmo? Default: Si @@ -1002,7 +1002,7 @@ Flara na linkę Stolperdraht-Leuchtrakete 조명지뢰 - Fusée éclairante avec fil de détente + Fusée éclairante avec fil piège Cavo d'innesco 绊线闪光地雷 絆線閃光地雷 @@ -1015,7 +1015,7 @@ Typ: Flara na linkę - Wystrzeliwuje nieszkodliwą flarę przy nadepnięciu linki.<br/>Pociski: 1<br/>Używane na: ziemia Typ: Stolperdraht-Leuchtrakete - Schießt bei Auslösung eine nicht-tödliche Leuchtrakete ab.<br />Ladungen: 1<br />Benutzt auf: Boden 종류: 조명지뢰 - 작동시 무해한 조명을 사출합니다.<br />장탄수: 1<br />사용처: 지면 - Type : Fusée éclairante avec fil de détente - Allume une fusée éclairante lorsque déclenché. <br />Coups : 1<br />Utilisé sur : le sol + Type : Fusée éclairante avec fil piège - Allume une fusée éclairante lorsque déclenchée. <br />Coups : 1<br />Utilisé sur : le sol Tipo: Cavo d'innesco - Sfocio un abbaglio non letale quanto attivato. <br />Rimanenti: 1<br />Usato: A terra 类型: 绊线闪光地雷 - 触发后产生非致命性的强光.<br />发数: 1<br />使用于: 地面 類型: 絆線閃光地雷 - 觸發後產生非致命性的強光.<br />發數: 1<br />使用於: 地面 @@ -1041,14 +1041,22 @@ Czasomierz Wybuchu Таймер взрывчатки Timer de explosão + Minuteur de détonation + 引爆倒數 Is EOD Kampfmittelbeseitigung + EOD に + Est un spécialiste en explosifs + 是EOD Controls whether the unit is an explosive specialist. Steuert, ob die Einheit ein Sprengstoffspezialist ist. + ユニットが何であれ爆発物専門家にします。 + Contrôle si l'unité est un spécialiste en explosifs. + 控制該單位是否是爆裂物處置專家 diff --git a/addons/fastroping/CfgVehicles.hpp b/addons/fastroping/CfgVehicles.hpp index 408db14b99..01bce6d8aa 100644 --- a/addons/fastroping/CfgVehicles.hpp +++ b/addons/fastroping/CfgVehicles.hpp @@ -279,6 +279,7 @@ class CfgVehicles { accuracy = 1000; displayName = CSTRING(Ropesupply); model = "\A3\Weapons_F\AmmoBoxes\Box_NATO_AmmoVeh_F.p3d"; + editorPreview = "\A3\EditorPreviews_F\Data\CfgVehicles\Box_NATO_AmmoVeh_F.jpg"; author = "Pokertour"; class TransportItems { MACRO_ADDITEM(ACE_rope12,15); diff --git a/addons/fastroping/stringtable.xml b/addons/fastroping/stringtable.xml index ac506c335e..3abcb645d1 100644 --- a/addons/fastroping/stringtable.xml +++ b/addons/fastroping/stringtable.xml @@ -5,7 +5,7 @@ Equip FRIES Rüste FRIES aus Wyposaż FRIES - Equiper le FRIES + Équiper le FRIES Equipar FRIES Equipaggia il FRIES Vybavit FRIES @@ -20,7 +20,7 @@ Equips compatible helicopters with a Fast Rope Insertion Extraction System. Rüstet kompatible Helikopter mit einem Fast Rope Insertion Extraction System aus. Wyposaża kompatybilne helikoptery w zestaw Fast Rope Insertion Extraction System. - Equipe les hélicoptères compatibles avec un Module Fast Rope Insertion Extraction System. + Équipe les hélicoptères compatibles avec un FRIES (Fast Rope Insertion Extraction System). Equipar helicoptero compatible con un Sistema de Inserción Extracción Fast Rope. Equipagga l'elicottero compatibile con il Fast Rope Insertion Extraction System Vybavit kompatibilní vrtulníky systémem Fast Rope Insertion Extraction (FRIES). @@ -35,7 +35,7 @@ Prepare fast roping system Bereite "Fast Roping"-System vor Przygotuj system zjazdu na linach - Préparer le système de corde lisse + Préparer le système de descente rapide Preparar el sistema fast roping Prepara le corde Připravit systém slaňování @@ -57,6 +57,7 @@ Schowaj system zjazdu na linach Спрятать систему спуска Recolher o sistema de descida rápida + Arrimer le système de descente rapide Deploy ropes @@ -77,7 +78,7 @@ Fast rope Abseilen Zjedź na linie - Descendre à la corde + Descente rapide Descender por la cuerda Scendi dalla corda SLANIT @@ -92,7 +93,7 @@ Cut ropes Seile abwerfen Odetnij liny - Détacher les cordes + Couper les cordes Cortar cuerdas Taglia le corde Odříznout lano @@ -107,7 +108,7 @@ Equip helicopter with FRIES Rüste Helicopter mit FRIES aus Wyposaż helikopter w FRIES - Equiper l'hélicoptère avec le FRIES + Équiper l'hélicoptère avec le FRIES Equipar helicoptero con FRIES Equipaggia l'elicottero con il FRIES Vybavit vrtulník pomocí FRIES @@ -154,6 +155,7 @@ Wysuń linę o długości 12 m. Выпустить 12 м канат Jogar cordar (12m) + 部屬12公尺長之繩索 Deploy 15m ropes @@ -163,6 +165,7 @@ Wysuń linę o długości 15 m. Выпустить 15 м канат Jogar cordar (15m) + 部屬15公尺長之繩索 Deploy 18m ropes @@ -172,6 +175,7 @@ Wysuń linę o długości 18 m. Выпустить 18 м канат Jogar cordar (18m) + 部屬18公尺長之繩索 Deploy 27m ropes @@ -181,6 +185,7 @@ Wysuń linę o długości 27 m. Выпустить 27 м канат Jogar cordar (27m) + 部屬27公尺長之繩索 Deploy 36m ropes @@ -190,6 +195,7 @@ Wysuń linę o długości 36 m. Выпустить 36 м канат Jogar cordar (36m) + 部屬36公尺長之繩索 [ACE] Ropes Supply crate @@ -199,6 +205,7 @@ Skrzynia z linami ACE [ACE] Ящик с канатами [ACE] Suprimento de cordas + [ACE] 繩索補充箱 Used to do deploy ropes from a compatibile helicopter @@ -208,6 +215,7 @@ Używane do opuszczania lin z kompatybilnych smigłowców Используется для выпуска канатов с совместимого вертолета Usado para fazer descida rápida de corda em helicópteros compatíveis com FRIES + 在可相容的直升機上部屬繩索 Rope 12.2 meters @@ -217,6 +225,7 @@ Lina, długość 12,2 m. Канат 12.2 метров Corda (12.2m) + 繩索(12.2公尺長) Rope 15.2 meters @@ -226,6 +235,7 @@ Lina, długość 15,2 m. Канат 15.2 метров Corda (15.2m) + 繩索(15.2公尺長) Rope 18.3 meters @@ -235,6 +245,7 @@ Lina, długość 18,3 m. Канат 18.3 метров Corda (18.3m) + 繩索(18.3公尺長) Rope 27.4 meters @@ -244,6 +255,7 @@ Lina, długość 27,4 m. Канат 27.4 метров Corda (27.4m) + 繩索(27.4公尺長) Rope 36.6 meters @@ -253,15 +265,17 @@ Lina, długość 36,6 m. Канат 36.6 метров Corda (36.6m) + 繩索(36.6公尺長) Require rope item to deploy Seil-Item zum aufbauen benötigt - Exiger une corde pour déployer + Nécessite une corde pour le déploiement 展開にはロープ アイテムを必須に Wymaga przedmiotu typu lina Требуется канат Requer uma corda para jogar + 需要繩索來部屬 diff --git a/addons/fcs/stringtable.xml b/addons/fcs/stringtable.xml index 93d8121058..df5fc7510c 100644 --- a/addons/fcs/stringtable.xml +++ b/addons/fcs/stringtable.xml @@ -4,7 +4,7 @@ Lase Target / Measure Distance Ziel anlasern / Entfernung messen - Télémétrer la cible + Illuminer la cible / Mesurer la distance Naświetl cel / Zmierz odległość Označit cíl / Změřit vzdálenost Iluminar objetivo / Medir distancia @@ -39,7 +39,7 @@ Zwiększ zasięg SKO Ajustar distancia del FCS (arriba) Nastavit FCS Náměr (Nahoru) - Augmenter la distance du SCT + Augmenter la portée du SCT FCS tartomány állítása (Fel) Ajustar distância do FCS (Acima) Aumentare la distanza dell'FCS @@ -55,7 +55,7 @@ Zmniejsz zasięg SKO Ajustar distancia del FCS (abajo) Nastavit FCS Náměr (Dolů) - Réduire la distance du SCT + Réduire la portée du SCT FCS tartomány állítása (Le) Ajustar distância do FCS (Abaixo) Ridurre la distanza dell'FCS @@ -85,7 +85,7 @@ FCS has been reset. FLS wurde zurückgesetzt. FCS reiniciado - SCT réinitialisé. + SCT réinitialisé SKO został zresetowany. FCS byl resetován. FCS visszaállítva. diff --git a/addons/finger/functions/fnc_keyPress.sqf b/addons/finger/functions/fnc_keyPress.sqf index 5308c44e6c..faef2f00a3 100644 --- a/addons/finger/functions/fnc_keyPress.sqf +++ b/addons/finger/functions/fnc_keyPress.sqf @@ -48,7 +48,7 @@ private _nearbyMen = (ACE_player nearObjects ["CAManBase", (GVAR(maxRange) + 2)] {alive _x} && {(_x == (vehicle _x)) || {(vehicle _x) isKindOf "StaticWeapon"}} && {GVAR(indicatorForSelf) || {_x != ACE_player}} && - {!(lineIntersects [(eyePos _x), _playerEyePosASL, vehicle ACE_player, vehicle _x])} && + {((lineIntersectsSurfaces [(eyePos _x), _playerEyePosASL, vehicle ACE_player, vehicle _x]) isEqualTo [])} && {[_x] call EFUNC(common,isPlayer)}) then { _sendFingerToPlayers pushBack _x; diff --git a/addons/finger/stringtable.xml b/addons/finger/stringtable.xml index 5722ba52b0..407b80e2bc 100644 --- a/addons/finger/stringtable.xml +++ b/addons/finger/stringtable.xml @@ -1,7 +1,7 @@ - - + + Pointing Fingerzeig Puntamento @@ -13,12 +13,13 @@ Wskazywanie Указание пальцем Apontando + Ukazování - + Show pointing indicator to self Zeigersymbol einem selbst anzeigen Индикатор пальца для показывающего - Afficher un indicateur de pointage à soi-même + Afficher son propre indicateur de pointage Pokaż indykator wskazywania palcem dla siebie Saját mutatási indikátor megjelenítése Mostrar indicador para si mesmo @@ -30,11 +31,11 @@ 在自己身边显示指向标记 顯示指向指示器給自己 - + Render the indicator for the pointing player. This option doesn't affect whether the other players would see the indicator Zeigt das eigene Zeigersymbol an. Diese Einstellung beeinflusst jedoch nicht andere Spieler, welche das Zeigersymbol sehen können. Отображать индикатор указания пальцем для показывающего игрока. Эта настройка не влияет на то, будут ли другие игроки видеть индикатор - Affiche l'indicateur pour le joueur qui pointe. Cette option n'affecte pas les autres joueurs + Le joueur qui pointe voit son propre indicateur à l'écran. Cette option n'a aucune incidence sur ce que voient les autres joueurs. Wyświetl indykator kiedy wskazujesz coś palcem. Ta opcja nie wpływa na to, czy inni gracze zobaczą ten indykator czy też nie. Az indikátor megjelenítése a mutató játékosnak. Ez a beállítás nem változtat azon, hogy más játékosok látják-e az indikátort. Renderizar o indicador para o jogador que está apontando. Esta opção não afeta se os outros jogadores verão ou não o indicador @@ -46,7 +47,7 @@ 显示指向标记给玩家自己。此选项设定并不影响其他玩家能否看到指示标记 顯示指向指示器給玩家自己。此選項設定並不影響其他玩家能否看到指示器 - + Pointing indicator Zeigersymbol Индикатор указания пальцем @@ -62,11 +63,11 @@ 指向标记 指向指示器 - + Color of the pointing indicator circle Farbe des Zeigersymbols Цвет индикатора указания пальцем - Couleur du cercle de l'indicateur de pointage + Couleur du cercle indicateur de pointage Kolor okręgu wyświetlanego przy wskazywaniu palcem Mutatási indikátor körének színe Cor do círculo de indicação @@ -78,11 +79,11 @@ 指向标记颜色 指向指示器顏色 - + Action "point a finger at" Aktion: "Zeige Finger auf" Действие "показать пальцем на" - Action 'Pointer du doigt" + Action "Pointer du doigt vers" Akcja "wskaż palcem" Cselekvés "ujj rámutatása" Ação "Apontar um dedo para" @@ -94,10 +95,10 @@ 使"手指指向在" 使"手指指向在" - + Points, and shows a virtual marker of where you are looking to nearby units. Can be held down. Zeigt in der Nähe befindlichen Spielern die eigene Blickrichtung mit Hilfe eines Kreissymbols an. - Montre, et affiche un marqueur virtuel là ou vous regardez aux unités proches. Peut être maintenu. + Effectue un pointage du doigt, et affiche sur l'écran des unités proches un marqueur virtuel, indiquant la direction dans laquelle vous regardez. Peut être maintenu. Wskazuje a także wyświetla wirtualny marker-okrąg w miejscu, w które patrzysz, dla wszystkich pobliskich jednostek. Może być przytrzymywany. Mutat, és elhelyez egy virtuális jelölőt a nézett területhez közeli egységekhez. Lenyomva tartható. Aponta e mostra um marcador virtual para onde você está olhando para unidades próximas. Pode ser utilizado para baixo. @@ -110,7 +111,7 @@ 当按下此按键后,你附近的单位即可看见一个虚拟图示,标明你正在指向的位置。此按键可以被按住来持续显示。 當按下此按鍵後,你附近的單位即可看見一個虛擬圖示,標明你正在指向的位置。此按鍵可以被按住來持續顯示。 - + Pointing Settings Zeigen Einstellungen Options de pointage @@ -126,7 +127,7 @@ 指向设定 指向設定 - + Pointing Enabled Zeigen aktiviert Pointage activé @@ -142,10 +143,10 @@ 指向系统启动 指向系統啟動 - + Pointing Max Range Maximale Zeigerreichweite - Distance maximale de pointage + Portée maximale du pointage Maks. zasięg wskazywania Ujj maximum hatótávja Distância máxima do apontamento @@ -158,10 +159,10 @@ 指向标记最大显示距离 指向指示器最大顯示距離 - + Max range between players to show the pointing indicator [default: 4 meters] Maximale Reichweite zwischen Spielern, welche das Zeigesymbol des jeweils anderen sehen können. (Standard: 4 Meter). - Distance maximale entre joueurs pour afficher l'indicateur (défaut: 4 mètres) + Définit le rayon au-delà duquel les joueurs ne verront plus l'indicateur de leurs alliés (défaut: 4 mètres). Określ dystans na jakim można wskazywać coś palcem innym graczom. [domyślnie: 4m] A maximális távolság, amelyben a közeli játékosoknak megjelenik az indikátor. [alapértelmezett: 4 méter] Distância máxima entre jogadores para mostrar o apontamento [padrão: 4 metros] diff --git a/addons/flashlights/CfgEventHandlers.hpp b/addons/flashlights/CfgEventHandlers.hpp index 58b84ad864..bf70b57b88 100644 --- a/addons/flashlights/CfgEventHandlers.hpp +++ b/addons/flashlights/CfgEventHandlers.hpp @@ -1,4 +1,3 @@ - class Extended_PostInit_EventHandlers { class ADDON { clientInit = QUOTE(call COMPILE_FILE(XEH_postInitClient)); diff --git a/addons/flashlights/CfgVehicles.hpp b/addons/flashlights/CfgVehicles.hpp index fa766ad87b..dbdf5421bc 100644 --- a/addons/flashlights/CfgVehicles.hpp +++ b/addons/flashlights/CfgVehicles.hpp @@ -7,18 +7,17 @@ class CfgVehicles { }; class Item_Base_F; - class ACE_Flashlight_MX991Item: Item_Base_F { scope = 2; scopeCurator = 2; displayName = CSTRING(MX991_DisplayName); author = ECSTRING(common,ACETeam); - vehicleClass = "WeaponAccessories"; + editorCategory = "EdCat_Equipment"; + editorSubcategory = "EdSubcat_InventoryItems"; + vehicleClass = "Items"; + class TransportItems { - class ACE_Flashlight_MX991 { - name = "ACE_Flashlight_MX991"; - count = 1; - }; + MACRO_ADDITEM(ACE_Flashlight_MX991,1); }; }; @@ -27,12 +26,12 @@ class CfgVehicles { scopeCurator = 2; displayName = CSTRING(KSF1_DisplayName); author = ECSTRING(common,ACETeam); - vehicleClass = "WeaponAccessories"; + editorCategory = "EdCat_Equipment"; + editorSubcategory = "EdSubcat_InventoryItems"; + vehicleClass = "Items"; + class TransportItems { - class ACE_Flashlight_KSF1 { - name = "ACE_Flashlight_KSF1"; - count = 1; - }; + MACRO_ADDITEM(ACE_Flashlight_KSF1,1); }; }; @@ -41,38 +40,52 @@ class CfgVehicles { scopeCurator = 2; displayName = CSTRING(XL50_DisplayName); author = ECSTRING(common,ACETeam); - vehicleClass = "WeaponAccessories"; + editorCategory = "EdCat_Equipment"; + editorSubcategory = "EdSubcat_InventoryItems"; + vehicleClass = "Items"; + class TransportItems { - class ACE_Flashlight_XL50 { - name = "ACE_Flashlight_XL50"; - count = 1; - }; + MACRO_ADDITEM(ACE_Flashlight_XL50,1); + }; + }; + + class Pistol_Base_F; + class ACE_Item_Flashlight_Maglite_ML300L: Pistol_Base_F { + scope = 2; + scopeCurator = 2; + displayName = CSTRING(Maglite_ML300L_DisplayName); + author = ECSTRING(common,ACETeam); + editorCategory = "EdCat_Equipment"; + editorSubcategory = "EdSubcat_InventoryItems"; + vehicleClass = "Items"; + + class TransportItems { + MACRO_ADDITEM(ACE_Flashlight_Maglite_ML300L,1); }; }; class NATO_Box_Base; - class EAST_Box_Base; - class IND_Box_Base; - class FIA_Box_Base_F; - class Box_NATO_Support_F: NATO_Box_Base { class TransportItems { MACRO_ADDITEM(ACE_Flashlight_MX991,12); }; }; + class EAST_Box_Base; class Box_East_Support_F: EAST_Box_Base { class TransportItems { MACRO_ADDITEM(ACE_Flashlight_KSF1,12); }; }; + class IND_Box_Base; class Box_IND_Support_F: IND_Box_Base { class TransportItems { MACRO_ADDITEM(ACE_Flashlight_XL50,12); }; }; + class FIA_Box_Base_F; class Box_FIA_Support_F: FIA_Box_Base_F { class TransportItems { MACRO_ADDITEM(ACE_Flashlight_MX991,12); @@ -84,6 +97,7 @@ class CfgVehicles { MACRO_ADDITEM(ACE_Flashlight_MX991,12); MACRO_ADDITEM(ACE_Flashlight_KSF1,12); MACRO_ADDITEM(ACE_Flashlight_XL50,12); + MACRO_ADDITEM(ACE_Flashlight_Maglite_ML300L,2); }; }; -}; \ No newline at end of file +}; diff --git a/addons/flashlights/CfgWeapons.hpp b/addons/flashlights/CfgWeapons.hpp index 41bfd4a8bb..1ebc9a5a58 100644 --- a/addons/flashlights/CfgWeapons.hpp +++ b/addons/flashlights/CfgWeapons.hpp @@ -1,17 +1,81 @@ class CfgWeapons { + class Pistol; + class Pistol_Base_F: Pistol { + class WeaponSlotsInfo; + }; + + class ACE_Flashlight_Maglite_ML300L: Pistol_Base_F { + author = ECSTRING(common,ACETeam); + scope = 2; + displayName = CSTRING(Maglite_ML300L_DisplayName); + descriptionShort = CSTRING(Maglite_ML300L_Description); + model = QPATHTOF(data\maglite_ml300l.p3d); + picture = QPATHTOF(UI\maglite_ml300l_ca.paa); + cursor = ""; + cursorAim = ""; + + // binarized rtm, animation in "extras/assets/maglite" + handAnim[] = {"OFP2_ManSkeleton", QPATHTOF(data\maglite_ml300l.rtm)}; + recoil = "empty"; + muzzlePos = "flash"; + muzzleEnd = "flash dir"; + magazines[] = {"FakeMagazine"}; // Required for the weapon info box to work correctly. + textureType = "default"; // empty texture + weaponInfoType = "RscWeaponEmpty"; + + class WeaponSlotsInfo: WeaponSlotsInfo { + holsterScale = 0; // Item does not fit a pistol holster, so hide it. + mass = 20; + + class MuzzleSlot {}; + class CowsSlot {}; + }; + + inertia = 0.2; + dexterity = 1.8; + + class FlashLight { + color[] = {180,180,190}; + ambient[] = {0.9,0.81,0.7}; + intensity = 85; + size = 1; + innerAngle = 5; + outerAngle = 80; + coneFadeCoef = 8; + position = "flash dir"; + direction = "flash"; + useFlare = 1; + flareSize = 0.8; + flareMaxDistance = 100; + dayLight = 1; + + class Attenuation { + start = 0.25; + constant = 0; + linear = 0; + quadratic = 1; + hardLimitStart = 140; + hardLimitEnd = 150; + }; + + scale[] = {0}; + }; + }; class ACE_ItemCore; class CBA_MiscItem_ItemInfo; class ACE_Flashlight_MX991: ACE_ItemCore { author = ECSTRING(common,ACETeam); + scope = 2; displayName = CSTRING(MX991_DisplayName); descriptionShort = CSTRING(MX991_Description); - model = QPATHTOF(data\MX_991.p3d); - picture = QPATHTOF(UI\mx991_ca.paa); - scope = 2; + model = QPATHTOF(data\mx_991.p3d); + picture = QPATHTOF(UI\mx_991_ca.paa); + class ItemInfo: CBA_MiscItem_ItemInfo { - mass = 1; + mass = 4; + class FlashLight { ACE_Flashlight_Colour = "red"; ACE_Flashlight_Beam = QPATHTOF(UI\Flashlight_beam_red_ca.paa); @@ -22,13 +86,15 @@ class CfgWeapons { class ACE_Flashlight_KSF1: ACE_ItemCore { author = ECSTRING(common,ACETeam); + scope = 2; displayName = CSTRING(KSF1_DisplayName); descriptionShort = CSTRING(KSF1_Description); - model = QPATHTOF(data\KSF_1.p3d); - picture = QPATHTOF(UI\ksf1_ca.paa); - scope = 2; + model = QPATHTOF(data\ksf_1.p3d); + picture = QPATHTOF(UI\ksf_1_ca.paa); + class ItemInfo: CBA_MiscItem_ItemInfo { - mass = 1; + mass = 4; + class FlashLight { ACE_Flashlight_Colour = "red"; ACE_Flashlight_Beam = QPATHTOF(UI\Flashlight_beam_red_ca.paa); @@ -39,13 +105,15 @@ class CfgWeapons { class ACE_Flashlight_XL50: ACE_ItemCore { author = ECSTRING(common,ACETeam); + scope = 2; displayName = CSTRING(XL50_DisplayName); descriptionShort = CSTRING(XL50_Description); - model = QPATHTOF(data\Maglight.p3d); - picture = QPATHTOF(UI\xl50_ca.paa); - scope = 2; + model = QPATHTOF(data\maglite_xl50.p3d); + picture = QPATHTOF(UI\maglite_xl50_ca.paa); + class ItemInfo: CBA_MiscItem_ItemInfo { - mass = 1; + mass = 3; + class FlashLight { ACE_Flashlight_Colour = "white"; ACE_Flashlight_Beam = QPATHTOF(UI\Flashlight_beam_white_ca.paa); diff --git a/addons/flashlights/UI/KSF1_ca.paa b/addons/flashlights/UI/ksf_1_ca.paa similarity index 100% rename from addons/flashlights/UI/KSF1_ca.paa rename to addons/flashlights/UI/ksf_1_ca.paa diff --git a/addons/flashlights/UI/maglite_ml300l_ca.paa b/addons/flashlights/UI/maglite_ml300l_ca.paa new file mode 100644 index 0000000000..4a0440724f Binary files /dev/null and b/addons/flashlights/UI/maglite_ml300l_ca.paa differ diff --git a/addons/flashlights/UI/xl50_ca.paa b/addons/flashlights/UI/maglite_xl50_ca.paa similarity index 100% rename from addons/flashlights/UI/xl50_ca.paa rename to addons/flashlights/UI/maglite_xl50_ca.paa diff --git a/addons/flashlights/UI/mx991_ca.paa b/addons/flashlights/UI/mx_991_ca.paa similarity index 100% rename from addons/flashlights/UI/mx991_ca.paa rename to addons/flashlights/UI/mx_991_ca.paa diff --git a/addons/flashlights/config.cpp b/addons/flashlights/config.cpp index eefeb782f1..f88afc0663 100644 --- a/addons/flashlights/config.cpp +++ b/addons/flashlights/config.cpp @@ -3,12 +3,22 @@ class CfgPatches { class ADDON { name = COMPONENT_NAME; - units[] = {}; - weapons[] = {"ACE_Flashlight_MX991", "ACE_Flashlight_KSF1", "ACE_Flashlight_XL50"}; + units[] = { + "ACE_Flashlight_MX991Item", + "ACE_Flashlight_KSF1Item", + "ACE_Flashlight_XL50Item", + "ACE_Item_Flashlight_Maglite_ML300L" + }; + weapons[] = { + "ACE_Flashlight_MX991", + "ACE_Flashlight_KSF1", + "ACE_Flashlight_XL50", + "ACE_Flashlight_Maglite_ML300L" + }; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"ace_interaction"}; author = ECSTRING(common,ACETeam); - authors[] = {"voiper"}; + authors[] = {"voiper","bux","HorribleGoat"}; url = ECSTRING(main,URL); VERSION_CONFIG; }; diff --git a/addons/flashlights/data/KSF_1.p3d b/addons/flashlights/data/KSF_1.p3d index 0ec2fd23c6..0059335bd6 100644 Binary files a/addons/flashlights/data/KSF_1.p3d and b/addons/flashlights/data/KSF_1.p3d differ diff --git a/addons/flashlights/data/MX_991.p3d b/addons/flashlights/data/MX_991.p3d index c79c330ea3..a373dd3f74 100644 Binary files a/addons/flashlights/data/MX_991.p3d and b/addons/flashlights/data/MX_991.p3d differ diff --git a/addons/flashlights/data/Maglight.p3d b/addons/flashlights/data/Maglight.p3d deleted file mode 100644 index 6ce3b9fcd4..0000000000 Binary files a/addons/flashlights/data/Maglight.p3d and /dev/null differ diff --git a/addons/flashlights/data/ksf_1.rvmat b/addons/flashlights/data/ksf_1.rvmat index 113fe0cc14..ed9e802c54 100644 --- a/addons/flashlights/data/ksf_1.rvmat +++ b/addons/flashlights/data/ksf_1.rvmat @@ -8,7 +8,7 @@ PixelShaderID="Super"; VertexShaderID="Super"; class Stage1 { - texture="z\ace\addons\flashlights\data\KSF_1_nohq.paa"; + texture="z\ace\addons\flashlights\data\textures\ksf_1_nohq.paa"; uvSource="tex"; class uvTransform { aside[]={1,0,0}; @@ -48,7 +48,7 @@ class Stage4 { }; }; class Stage5 { - texture="z\ace\addons\flashlights\data\KSF_1_smdi.paa"; + texture="z\ace\addons\flashlights\data\textures\ksf_1_smdi.paa"; uvSource="tex"; class uvTransform { aside[]={1,0,0}; diff --git a/addons/flashlights/data/maglite_ml300l.p3d b/addons/flashlights/data/maglite_ml300l.p3d new file mode 100644 index 0000000000..e916514d51 Binary files /dev/null and b/addons/flashlights/data/maglite_ml300l.p3d differ diff --git a/addons/flashlights/data/maglite_ml300l.rtm b/addons/flashlights/data/maglite_ml300l.rtm new file mode 100644 index 0000000000..0a82508447 Binary files /dev/null and b/addons/flashlights/data/maglite_ml300l.rtm differ diff --git a/addons/flashlights/data/maglite_ml300l.rvmat b/addons/flashlights/data/maglite_ml300l.rvmat new file mode 100644 index 0000000000..a869bb93b4 --- /dev/null +++ b/addons/flashlights/data/maglite_ml300l.rvmat @@ -0,0 +1,80 @@ +ambient[] = {1,1,1,1}; +diffuse[] = {1,1,1,1}; +forcedDiffuse[] = {0,0,0,0}; +emmisive[] = {0,0,0,1}; +specular[] = {0.6,0.6,0.6,1}; //amount of glossiness - the higher the number, the higher the glossiness +specularPower = 700; //area of glossiness - the higher the number, the smaller the area +PixelShaderID = "Super"; +VertexShaderID = "Super"; + +class Stage1 { + texture = "z\ace\addons\flashlights\data\textures\maglite_ml300l_nohq.paa"; + uvSource = "tex"; + + class uvTransform { + aside[] = {1,0,0}; + up[] = {0,1,0}; + dir[] = {0,0,1}; + pos[] = {0,0,0}; + }; +}; + +class Stage2 { + texture = "#(argb,8,8,3)color(0.5,0.5,0.5,1,dt)"; + uvSource = "tex"; + + class uvTransform { + aside[] = {1,0,0}; + up[] = {0,1,0}; + dir[] = {0,0,1}; + pos[] = {0,0,0}; + }; +}; + +class Stage3 { + texture = "#(argb,8,8,3)color(0,0,0,0,mc)"; + uvSource = "tex"; + + class uvTransform { + aside[] = {1,0,0}; + up[] = {0,1,0}; + dir[] = {0,0,1}; + pos[] = {0,0,0}; + }; +}; + +class Stage4 { + texture = "z\ace\addons\flashlights\data\textures\maglite_ml300l_as.paa"; + uvSource = "tex"; + + class uvTransform { + aside[] = {1,0,0}; + up[] = {0,1,0}; + dir[] = {0,0,1}; + pos[] = {0,0,1}; + }; +}; + +class Stage5 { + texture = "z\ace\addons\flashlights\data\textures\maglite_ml300l_smdi.paa"; + uvSource = "tex"; + + class uvTransform { + aside[] = {1,0,0}; + up[] = {0,1,0}; + dir[] = {0,0,1}; + pos[] = {0,0,0}; + }; +}; + +class Stage6 { + texture = "#(ai,64,64,1)fresnel(4.7,1.2)"; + uvSource = "tex"; + + class uvTransform { + aside[] = {1,0,0}; + up[] = {0,1,0}; + dir[] = {0,0,1}; + pos[] = {0,0,0}; + }; +}; diff --git a/addons/flashlights/data/maglite_xl50.p3d b/addons/flashlights/data/maglite_xl50.p3d new file mode 100644 index 0000000000..b5619337d4 Binary files /dev/null and b/addons/flashlights/data/maglite_xl50.p3d differ diff --git a/addons/flashlights/data/maglite.rvmat b/addons/flashlights/data/maglite_xl50.rvmat similarity index 90% rename from addons/flashlights/data/maglite.rvmat rename to addons/flashlights/data/maglite_xl50.rvmat index 960599813b..c1450280f3 100644 --- a/addons/flashlights/data/maglite.rvmat +++ b/addons/flashlights/data/maglite_xl50.rvmat @@ -8,7 +8,7 @@ PixelShaderID="Super"; VertexShaderID="Super"; class Stage1 { - texture="z\ace\addons\flashlights\data\Maglite_nohq.paa"; + texture="z\ace\addons\flashlights\data\textures\maglite_xl50_nohq.paa"; uvSource="tex"; class uvTransform { aside[]={1,0,0}; @@ -48,7 +48,7 @@ class Stage4 { }; }; class Stage5 { - texture="z\ace\addons\flashlights\data\Maglite_smdi.paa"; + texture="z\ace\addons\flashlights\data\textures\maglite_xl50_smdi.paa"; uvSource="tex"; class uvTransform { aside[]={1,0,0}; diff --git a/addons/flashlights/data/model.cfg b/addons/flashlights/data/model.cfg new file mode 100644 index 0000000000..58bc63eb8d --- /dev/null +++ b/addons/flashlights/data/model.cfg @@ -0,0 +1,175 @@ +class CfgSkeletons { + class Default { + isDiscrete = 1; + skeletonInherit = ""; + skeletonBones[] = {}; + }; + + class OFP2_ManSkeleton { + isDiscrete = 0; + skeletonInherit = ""; + skeletonBones[] = { + "Pelvis","", + "Spine","Pelvis", + "Spine1","Spine", + "Spine2","Spine1", + "Spine3","Spine2", + "Camera","Pelvis", + "weapon","Spine1", + "launcher","Spine1", + + // Head skeleton in hierarchy + "neck","Spine3", + "neck1","neck", + "head","neck1", + + // New facial features + "Face_Hub","head", + "Face_Jawbone","Face_Hub", + "Face_Jowl","Face_Jawbone", + "Face_chopRight","Face_Jawbone", + "Face_chopLeft","Face_Jawbone", + "Face_LipLowerMiddle","Face_Jawbone", + "Face_LipLowerLeft","Face_Jawbone", + "Face_LipLowerRight","Face_Jawbone", + "Face_Chin","Face_Jawbone", + "Face_Tongue","Face_Jawbone", + "Face_CornerRight","Face_Hub", + "Face_CheekSideRight","Face_CornerRight", + "Face_CornerLeft","Face_Hub", + "Face_CheekSideLeft","Face_CornerLeft", + "Face_CheekFrontRight","Face_Hub", + "Face_CheekFrontLeft","Face_Hub", + "Face_CheekUpperRight","Face_Hub", + "Face_CheekUpperLeft","Face_Hub", + "Face_LipUpperMiddle","Face_Hub", + "Face_LipUpperRight","Face_Hub", + "Face_LipUpperLeft","Face_Hub", + "Face_NostrilRight","Face_Hub", + "Face_NostrilLeft","Face_Hub", + "Face_Forehead","Face_Hub", + "Face_BrowFrontRight","Face_Forehead", + "Face_BrowFrontLeft","Face_Forehead", + "Face_BrowMiddle","Face_Forehead", + "Face_BrowSideRight","Face_Forehead", + "Face_BrowSideLeft","Face_Forehead", + "Face_Eyelids","Face_Hub", + "Face_EyelidUpperRight","Face_Hub", + "Face_EyelidUpperLeft","Face_Hub", + "Face_EyelidLowerRight","Face_Hub", + "Face_EyelidLowerLeft","Face_Hub", + "EyeLeft","Face_Hub", + "EyeRight","Face_Hub", + + // Left upper side + "LeftShoulder","Spine3", + "LeftArm","LeftShoulder", + "LeftArmRoll","LeftArm", + "LeftForeArm","LeftArmRoll", + "LeftForeArmRoll","LeftForeArm", + "LeftHand","LeftForeArmRoll", + "LeftHandRing","LeftHand", + "LeftHandRing1","LeftHandRing", + "LeftHandRing2","LeftHandRing1", + "LeftHandRing3","LeftHandRing2", + "LeftHandPinky1","LeftHandRing", + "LeftHandPinky2","LeftHandPinky1", + "LeftHandPinky3","LeftHandPinky2", + "LeftHandMiddle1","LeftHand", + "LeftHandMiddle2","LeftHandMiddle1", + "LeftHandMiddle3","LeftHandMiddle2", + "LeftHandIndex1","LeftHand", + "LeftHandIndex2","LeftHandIndex1", + "LeftHandIndex3","LeftHandIndex2", + "LeftHandThumb1","LeftHand", + "LeftHandThumb2","LeftHandThumb1", + "LeftHandThumb3","LeftHandThumb2", + + // Right upper side + "RightShoulder","Spine3", + "RightArm","RightShoulder", + "RightArmRoll","RightArm", + "RightForeArm","RightArmRoll", + "RightForeArmRoll","RightForeArm", + "RightHand","RightForeArmRoll", + "RightHandRing","RightHand", + "RightHandRing1","RightHandRing", + "RightHandRing2","RightHandRing1", + "RightHandRing3","RightHandRing2", + "RightHandPinky1","RightHandRing", + "RightHandPinky2","RightHandPinky1", + "RightHandPinky3","RightHandPinky2", + "RightHandMiddle1","RightHand", + "RightHandMiddle2","RightHandMiddle1", + "RightHandMiddle3","RightHandMiddle2", + "RightHandIndex1","RightHand", + "RightHandIndex2","RightHandIndex1", + "RightHandIndex3","RightHandIndex2", + "RightHandThumb1","RightHand", + "RightHandThumb2","RightHandThumb1", + "RightHandThumb3","RightHandThumb2", + + // Left lower side + "LeftUpLeg","Pelvis", + "LeftUpLegRoll","LeftUpLeg", + "LeftLeg","LeftUpLegRoll", + "LeftLegRoll","LeftLeg", + "LeftFoot","LeftLegRoll", + "LeftToeBase","LeftFoot", + + // Right lower side + "RightUpLeg","Pelvis", + "RightUpLegRoll","RightUpLeg", + "RightLeg","RightUpLegRoll", + "RightLegRoll","RightLeg", + "RightFoot","RightLegRoll", + "RightToeBase","RightFoot" + }; + + // location of pivot points (local axes) for hierarchical animation + pivotsModel = "A3\anims_f\data\skeleton\SkeletonPivots.p3d"; + }; +}; + +class CfgModels { + class Default { + sectionsInherit = ""; + sections[] = {}; + skeletonName = ""; + }; + + class ArmaMan: Default { + htMin = 60; // Minimum half-cooling time (in seconds) + htMax = 1800; // Maximum half-cooling time (in seconds) + afMax = 30; // Maximum temperature in case the model is alive (in celsius) + mfMax = 0; // Maximum temperature when the model is moving (in celsius) + mFact = 1; // Metabolism factor - number from interval <0, 1> (0 - metabolism has no influence, 1 - metabolism has full influence (no other temperature source will be considered)). + tBody = 37; // Metabolism temperature of the model (in celsius) + + sections[] = { + "osobnost", + "Head_Injury", + "Body_Injury", + "l_leg_injury", + "l_arm_injury", + "r_arm_injury", + "r_leg_injury", + "injury_body", + "injury_legs", + "injury_hands", + "clan", + "clan_sign", + "Camo", + "CamoB", + "Camo1", + "Camo2", + "personality", + "hl", + "injury_head", + "insignia", + "ghillie_hide" + }; + + skeletonName = "OFP2_ManSkeleton"; + }; +}; diff --git a/addons/flashlights/data/mx_991.rvmat b/addons/flashlights/data/mx_991.rvmat index 0268d4903c..040b3ea8c6 100644 --- a/addons/flashlights/data/mx_991.rvmat +++ b/addons/flashlights/data/mx_991.rvmat @@ -8,7 +8,7 @@ PixelShaderID="Super"; VertexShaderID="Super"; class Stage1 { - texture="z\ace\addons\flashlights\data\MX_991_nohq.paa"; + texture="z\ace\addons\flashlights\data\textures\mx_991_nohq.paa"; uvSource="tex"; class uvTransform { aside[]={1,0,0}; diff --git a/addons/flashlights/data/ksf_1_co.paa b/addons/flashlights/data/textures/ksf_1_co.paa similarity index 100% rename from addons/flashlights/data/ksf_1_co.paa rename to addons/flashlights/data/textures/ksf_1_co.paa diff --git a/addons/flashlights/data/KSF_1_nohq.paa b/addons/flashlights/data/textures/ksf_1_nohq.paa similarity index 100% rename from addons/flashlights/data/KSF_1_nohq.paa rename to addons/flashlights/data/textures/ksf_1_nohq.paa diff --git a/addons/flashlights/data/KSF_1_smdi.paa b/addons/flashlights/data/textures/ksf_1_smdi.paa similarity index 100% rename from addons/flashlights/data/KSF_1_smdi.paa rename to addons/flashlights/data/textures/ksf_1_smdi.paa diff --git a/addons/flashlights/data/textures/maglite_ml300l_as.paa b/addons/flashlights/data/textures/maglite_ml300l_as.paa new file mode 100644 index 0000000000..6dc466f969 Binary files /dev/null and b/addons/flashlights/data/textures/maglite_ml300l_as.paa differ diff --git a/addons/flashlights/data/textures/maglite_ml300l_ca.paa b/addons/flashlights/data/textures/maglite_ml300l_ca.paa new file mode 100644 index 0000000000..2a2368b6e3 Binary files /dev/null and b/addons/flashlights/data/textures/maglite_ml300l_ca.paa differ diff --git a/addons/flashlights/data/textures/maglite_ml300l_nohq.paa b/addons/flashlights/data/textures/maglite_ml300l_nohq.paa new file mode 100644 index 0000000000..4a08ff5925 Binary files /dev/null and b/addons/flashlights/data/textures/maglite_ml300l_nohq.paa differ diff --git a/addons/flashlights/data/textures/maglite_ml300l_smdi.paa b/addons/flashlights/data/textures/maglite_ml300l_smdi.paa new file mode 100644 index 0000000000..32cab82188 Binary files /dev/null and b/addons/flashlights/data/textures/maglite_ml300l_smdi.paa differ diff --git a/addons/flashlights/data/maglite_co.paa b/addons/flashlights/data/textures/maglite_xl50_co.paa similarity index 100% rename from addons/flashlights/data/maglite_co.paa rename to addons/flashlights/data/textures/maglite_xl50_co.paa diff --git a/addons/flashlights/data/Maglite_nohq.paa b/addons/flashlights/data/textures/maglite_xl50_nohq.paa similarity index 100% rename from addons/flashlights/data/Maglite_nohq.paa rename to addons/flashlights/data/textures/maglite_xl50_nohq.paa diff --git a/addons/flashlights/data/Maglite_smdi.paa b/addons/flashlights/data/textures/maglite_xl50_smdi.paa similarity index 100% rename from addons/flashlights/data/Maglite_smdi.paa rename to addons/flashlights/data/textures/maglite_xl50_smdi.paa diff --git a/addons/flashlights/data/mx_991_co.paa b/addons/flashlights/data/textures/mx_991_co.paa similarity index 100% rename from addons/flashlights/data/mx_991_co.paa rename to addons/flashlights/data/textures/mx_991_co.paa diff --git a/addons/flashlights/data/MX_991_nohq.paa b/addons/flashlights/data/textures/mx_991_nohq.paa similarity index 100% rename from addons/flashlights/data/MX_991_nohq.paa rename to addons/flashlights/data/textures/mx_991_nohq.paa diff --git a/addons/flashlights/stringtable.xml b/addons/flashlights/stringtable.xml index bd87c4e847..a3ed01a251 100644 --- a/addons/flashlights/stringtable.xml +++ b/addons/flashlights/stringtable.xml @@ -103,5 +103,17 @@ Цвет подсветки карты Cor da lanterna no mapa + + Maglite ML300L + Maglite ML300L + Maglite ML300L + Maglite ML300L + + + Powerful LED flashlight. + Leistungsstarke LED-Taschenlampe. + Mocna latarka LED. + 強大的LED手電筒 + diff --git a/addons/flashsuppressors/CfgWeapons.hpp b/addons/flashsuppressors/CfgWeapons.hpp index bf5aee16f1..957bbd7def 100644 --- a/addons/flashsuppressors/CfgWeapons.hpp +++ b/addons/flashsuppressors/CfgWeapons.hpp @@ -50,23 +50,35 @@ class asdg_MuzzleSlot_762MG: asdg_MuzzleSlot { // for 7.62, 6.5 and 5.56 univers ACE_muzzle_mzls_B = 1; }; }; + +// Vanilla Muzzles from 1.94+ (ref https://github.com/CBATeam/CBA_A3/pull/1184) class MuzzleSlot; +class MuzzleSlot_65: MuzzleSlot { + class compatibleItems { + ACE_muzzle_mzls_H = 1; + }; +}; +class MuzzleSlot_556: MuzzleSlot { + class compatibleItems { + ACE_muzzle_mzls_L = 1; + }; +}; +class MuzzleSlot_762: MuzzleSlot { + class compatibleItems { + ACE_muzzle_mzls_B = 1; + }; +}; class CfgWeapons { class Rifle_Base_F; - class Rifle_Long_Base_F: Rifle_Base_F { class WeaponSlotsInfo; }; - /* Other */ class LMG_Mk200_F: Rifle_Long_Base_F { class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: asdg_MuzzleSlot_762MG { - class compatibleItems: compatibleItems { - ACE_muzzle_mzls_H = 1; - ACE_muzzle_mzls_B = 0; - }; + class MuzzleSlot: MuzzleSlot_65 { + compatibleItems[] += {"ACE_muzzle_mzls_H"}; // uses array instead of inherited class }; }; }; diff --git a/addons/flashsuppressors/stringtable.xml b/addons/flashsuppressors/stringtable.xml index 52563ea1c4..cc5ef3ad4e 100644 --- a/addons/flashsuppressors/stringtable.xml +++ b/addons/flashsuppressors/stringtable.xml @@ -15,7 +15,7 @@ 消炎器 (6.5 mm) 소염기 (6.5 mm) 消光器 (6.5 mm) - 消光器 (6.5 mm) + 消光器 (6.5 毫米) Flash Suppressor (7.62 mm) @@ -31,7 +31,7 @@ 消炎器 (7.62 mm) 소염기 (7.62 mm) 消光器 (7.62 mm) - 消光器 (7.62 mm) + 消光器 (7.62 毫米) Flash Suppressor (5.56 mm) @@ -47,7 +47,7 @@ 消炎器 (5.56 mm) 소염기 (5.56 mm) 消光器 (5.56 mm) - 消光器 (5.56 mm) + 消光器 (5.56 毫米) Flash Suppressor (.45 ACP) @@ -79,7 +79,7 @@ 消炎器 (9 mm) 소염기 (9 mm) 消光器 (9 mm) - 消光器 (9 mm) + 消光器 (9 毫米) Flash Suppressor (.338) @@ -111,7 +111,7 @@ 消炎器 (9.3 mm) 소염기 (9.3 mm) 消光器 (9.3 mm) - 消光器 (9.3 mm) + 消光器 (9.3 毫米) diff --git a/addons/frag/functions/fnc_spallTrack.sqf b/addons/frag/functions/fnc_spallTrack.sqf index 8e1bf2f804..3cd3a27ad5 100644 --- a/addons/frag/functions/fnc_spallTrack.sqf +++ b/addons/frag/functions/fnc_spallTrack.sqf @@ -24,11 +24,7 @@ private _velocity = velocity _round; private _velocityStep = _velocity vectorMultiply _delta; private _forwardPos = _curPos vectorAdd _velocityStep; -private _intersectsWith = lineIntersectsWith [_curPos, _forwardPos]; - -if (_intersectsWith isEqualTo []) exitWith {}; - -// player sideChat format ["inter: %1", _intersectsWith]; +if !((lineIntersectsSurfaces [_curPos, _forwardPos]) isEqualTo []) exitWith {}; { // diag_log text format ["Adding HP: %1", _x]; private _index = count GVAR(spallHPData); diff --git a/addons/frag/stringtable.xml b/addons/frag/stringtable.xml index d5a3091969..71dd0656f6 100644 --- a/addons/frag/stringtable.xml +++ b/addons/frag/stringtable.xml @@ -40,7 +40,7 @@ Aktiviere die ACE-Splittersimulation Povolit ACE simulaci fragmentů Ativa a simulação de fragmentação do ACE - Active la simulation ACE de la fragmentation + Active la simulation de la fragmentation ACE Az ACE repesz-szimuláció engedélyezése Включить симуляцию осколков ACE Abilita la Simulazione Frammentazione di ACE @@ -87,7 +87,7 @@ Simulazione Riflessi Esplosioni Druckwellensimulation Activar simulación de reflexiones - Simulation de la réflection des explosions. + Simulation de la réflexion des explosions. Simulação de reflexo de explosão Cимуляция отражения взрывов ACE 爆発による飛翔シミュレーション @@ -101,7 +101,7 @@ Abilita la Simulazione Riflessi Esplosioni di ACE Aktiviere die ACE-Druckwellensimulation Activa la simulación de reflexiones para las explosiones. - Activer la simulation de la réfléction des explosions ACE. + Active la simulation de la réflexion des explosions ACE. Ativa a simulação de reflexo de explosão do ACE Включить симуляцию отражения взрывов ACE 爆発による飛翔シミュレーションを有効化 @@ -116,7 +116,7 @@ Maximalzahl der verfolgten Projektile Maximální počet sledovaných projektilů Máximo de projéteis rastreados - Nombre maximum de projectile suivis + Nombre maximum de projectiles suivis Maximum követett repeszek Макс. количество отслеживаемых снарядов Numero massimo di Proiettili Tracciati @@ -132,7 +132,7 @@ Diese Einstellung steuert die maximale Anzahl an Projektilen, die das Splitter- und Explosionssystem gleichzeitig verfolgen wird. Wenn mehr Projektile abgefeuert werden, werden sie nicht verfolgt werden. Diese Einstellung zu verringern, kann FPS-Einbrüche bei Szenarien mit vielen Projektilen verhindern (>200 Objekte gleichzeitig in der Luft) Toto nastavení kontroluje maximální množství projektilů z fragmentace a úlomků, která jsou sledována v dané době. Pokud je vystřeleno více projektilů, tak nebudou sledovány. Snižte toto nastavení pokud si nepřejete propady FPS v situacích, kde je velké množství projektilů ( >200 nábojů najednou ve vzduchu) Esta definição controla a quantidade máxima de projéteis que o sistema de fragmentação e estilhaçamento irá acompanhar em qualquer momento. Se mais projéteis são disparados, eles não serão rastreados. Diminua essa configuração se você não quiser que o FPS caia em cenários com alta contagem de projéteis (> 200 projéteis no ar ao mesmo tempo) - Cette option contrôle le nombre maximum de projectiles et d'éclats résultant de la fragmentation que le système suivra à un moment T. Si plus de projectiles sont générés, ils ne seront pas pris en compte. Baisser cette option si vous ne voulez pas de baisse de FPS en cas d'un nombre important de projectiles (>200 éclats en même temps) + Ce paramètre contrôle le nombre maximum de projectiles et d'éclats résultant de la fragmentation, que le système peut suivre à chaque instant. Si plus de projectiles sont générés, ils ne seront pas pris en compte. Baissez ce réglage si vous ne voulez pas de chute de FPS en cas de nombre important de projectiles (>200 éclats en même temps). Ez a beállítás szabályozza a repeszeződés és pattogzás által kilőtt objektumok követett számát. Ha több ez a szám, ezek az objektumok nem lesznek követve. Csökkentsd ezt a beállítást, ha nem akarsz lassulásokat magas-törmelékmennyiségű helyzetekben (200+ repesz a levegőben egyszerre) Эта настройка контролирует максимальное количество снарядов, которок отслеживает система осколков и обломков в каждый момент времени. Снаряды, выстреленные сверх этого числа, отслеживаться не будут. Уменьшите это значение, если вы не хотите падения FPS при большом количестве снарядов в одной перестрелке (> 200 одновременно летящих снарядов) Questo parametro controlla il numero massimo di proiettili che la frammentazione e il sistema di spalling tracciano in ogni momento. Se più proiettili sono sparati, non verranno tracciati. Abbassa questo parametro se non vuoi cali di FPS in scenari con molti proiettili (>200 proiettili in aria contemporaneamente) @@ -164,7 +164,7 @@ El número de cálculos de esquirlas que se hará en cualquier cuadro. Esto ayuda a dispersar el impacto en FPS del seguimiento de esquirlas de balas a través de múltiples cuadros, lo que limita aún más su impacto. Počet úlomků v daném snímku. Toto pomáhá rozšířit FPS dopad sledovaného úlomku napříč více snímky, omezuje jeho vliv ještě více. O número de cálculos por estilhaço rastreado para executar em qualquer quadro. Isso ajuda a distribuir o impacto no FPS do rastreamento de estilhaço em vários quadros, o que limita o seu impacto ainda mais. - Le nombre d'éclats à calculer dans chaque image. Ceci permet de diffuser l'impact sur les FPS dans de multiples images, limitant la perte de FPS. + Le nombre de calculs de suivi à effectuer pour chaque image. Cela aide à répartir l'impact des calculs sur plusieurs images, limitant ainsi encore davantage l'impact sur les FPS. A lepattogzási útvonalak számításának darabjai képkockánként. Ez eloszlatja az FPS-megszakadást több képkockára, ezzel csökkentve a súlyosságát. Число обрабатываемых осколков за кадр. Это позволяет распределить нагрузку по отслеживанию осколков между несколькими кадрами, чтобы предотвратить падение FPS. Il numero di calcoli per tracciamento di spalling ad ogni frame. Questo aiuta a distribuire l'impatto del tracciamento dello spalling su più frame, limitando ancora di più l'impatto. diff --git a/addons/gestures/stringtable.xml b/addons/gestures/stringtable.xml index 6e61d5cac0..92897a72ef 100644 --- a/addons/gestures/stringtable.xml +++ b/addons/gestures/stringtable.xml @@ -288,7 +288,7 @@ Pokaż listę gestów w menu własnej interakcji, użyj tylko skrótów na klawiaturze lub wyłącz całkowicie Mostra Gesti nel Menù Interazione Personale, o usa solamente tasti di scelta rapida, o disabilita completamente Muestror los gestos en el menú de interacción propia, utilizar solo combinación de teclas o desactivarlos completamente - Afficher les gestes dans le menu d'interaction personnel, ou seulement utiliser les touches, ou desactiver complètement. + Afficher les gestes dans le menu d'interaction personnel, ou utiliser uniquement les touches, ou désactiver complètement. Mostra gestos no menu de interação, ou utilize um dos atalhos de teclado ou desative completamente Показать жесты в меню взамиодейтсвия с собой или только использовать горячие клавиши, или полностью отключить キー操作や同時使用を無効化している場合はセルフ インタラクション メニュ上でジェスチャーを表示します @@ -303,7 +303,7 @@ Tylko skróty klaw. Solo tasti di scelta rapida Solo mediante teclas - Seulement les touches + Touches uniquement Somente atalhos de teclado Только горячие клавиши キー操作のみ diff --git a/addons/gforces/stringtable.xml b/addons/gforces/stringtable.xml index 89ffa42375..b668481c4b 100644 --- a/addons/gforces/stringtable.xml +++ b/addons/gforces/stringtable.xml @@ -1,7 +1,7 @@ - - + + Gforces Effects Effekte der G-Kräfte Efectos Gforces @@ -16,7 +16,7 @@ G力影响 G力影響 - + Only Aircraft Nur Luftfahrzeug Sólo Aeronave @@ -31,7 +31,7 @@ 只有战斗机 只有戰鬥機 - + G-force reduction G-Kräfte Reduzierung Reduction des Gs diff --git a/addons/goggles/config.cpp b/addons/goggles/config.cpp index ba2e1a1d29..5ef19a3640 100644 --- a/addons/goggles/config.cpp +++ b/addons/goggles/config.cpp @@ -34,6 +34,13 @@ class CfgGlasses { ACE_DustPath = QPATHTOF(textures\fx\dust\%1.paa); }; + class G_Blindfold_01_base_F: None { + ACE_Overlay = QPATHTOF(textures\HUD\blindfold_ca.paa); + ACE_OverlayCracked = ""; + ACE_Resistance = 2; + ACE_Protection = 1; + }; + class G_Combat:None { COMBAT_GOGGLES }; diff --git a/addons/goggles/stringtable.xml b/addons/goggles/stringtable.xml index d35943c305..dfcfc7a868 100644 --- a/addons/goggles/stringtable.xml +++ b/addons/goggles/stringtable.xml @@ -12,6 +12,7 @@ Gogle Очки Óculos + Lunettes Show Goggle Effects in Third Person diff --git a/addons/goggles/textures/HUD/blindfold_ca.paa b/addons/goggles/textures/HUD/blindfold_ca.paa new file mode 100644 index 0000000000..460cf649b3 Binary files /dev/null and b/addons/goggles/textures/HUD/blindfold_ca.paa differ diff --git a/addons/grenades/stringtable.xml b/addons/grenades/stringtable.xml index c0fc97b833..99d1152956 100644 --- a/addons/grenades/stringtable.xml +++ b/addons/grenades/stringtable.xml @@ -7,7 +7,7 @@ Cambiar modo de granada Przełącz sposób rzutu granatem Změnit styl hodu granátu - Changer type de lancer de grenade + Changer type de lancé de grenade Сменить режим броска гранаты Gránátkezelési mód váltása Cambia tipo di granata @@ -23,7 +23,7 @@ Lanzamiento normal Normalny rzut Normální hod - Lancer normal + Lancé normal Нормальный бросок Normál dobás Lancio normale @@ -39,7 +39,7 @@ Lanzamiento alto Wysoki rzut Vysoký hod - Lancer haut + Lancé haut Высокий бросок Magas dobás Lancio verso l'alto @@ -55,7 +55,7 @@ Lanzamiento preciso Precyzyjny rzut Přesný hod - Lancer précis + Lancé précis Точный бросок Pontos dobás Lancio preciso @@ -71,7 +71,7 @@ Lanzamiento raso Po ziemi Po zemi - Lancer roulé + Lancé roulé Катить гранату Gránát gurítása Fai rotolare la granata @@ -133,7 +133,7 @@ Also known as flashbang. Causes immediate flash blindness, deafness, tinnitus, and inner ear disturbance. Verursacht temporäre Blind- und Taubheit. Tambien conocida como granada cegadora. Produce de manera inmediata ceguera, sordera, tinitus y afecta el oído interior. - Aussi connu en tant que "Flashbang". Explose en causant cécité, surdité, bourdonnements d'oreilles et perturbation de l'oreille interne. + Aussi connue en tant que "Flashbang". Elle provoque immédiatement cécité, surdité, acouphènes et troubles de l'oreille interne. Znany też jako flashbang. Powoduje natychmiastową tymczasową ślepotę, głuchotę, dzwonienie w uszach i inne zaburzenia ucha wewnętrznego. Omračující granát je taktická nesmrtící zbraň používaná při záchraně rukojmí a zvládání davu. XM84 (M84) - граната нелетального действия, предназначена для отвлечения и временного вывода из строя, либо дезориентации противника. Основное использование нашла при освобождении заложников, захвате преступников и террористов, а также проведении диверсионных миссий. @@ -155,7 +155,7 @@ M127A1 Sinalizador (Branco) M127A1 Фальшфейер (Белый) Bengala M127A1 (Blanca) - M127A1 Feux à main (Blanc) + M127A1 Feu à main (Blanc) M127A1 信号弾 (白) M127A1 신호탄 (하얀색) M127A1 手持式信号弹 (白色) @@ -171,7 +171,7 @@ M127A1 Sinalizador (Vermelho) M127A1 Фальшфейер (Красный) Bengala M127A1 (Roja) - M127A1 Feux à main (Rouge) + M127A1 Feu à main (Rouge) M127A1 信号弾 (赤) M127A1 신호탄 (빨간색) M127A1 手持式信号弹 (红色) @@ -187,7 +187,7 @@ M127A1 Sinalizador (Verde) M127A1 Фальшфейер (Зелёный) Bengala M127A1 (Verde) - M127A1 Feux à main (Vert) + M127A1 Feu à main (Vert) M127A1 信号弾 (緑) M127A1 신호탄 (초록색) M127A1 手持式信号弹 (绿色) @@ -203,7 +203,7 @@ M127A1 Sinalizador (Amarelo) M127A1 Фальшфейер (Жёлтый) Bengala M127A1 (Amarilla) - M127A1 Feux à main (Jaune) + M127A1 Feu à main (Jaune) M127A1 信号弾 (黄) M127A1 신호탄 (노란색) M127A1 手持式信号弹 (黄色) @@ -219,7 +219,7 @@ Sinalizador de Mão (Branco) Фальшфейер (Белый) Bengala (Blanca) - Feux à main (Blanc) + Feu à main (Blanc) 白の手持ち式信号弾 하얀색 불꽃신호기 白色手持式信号弹 @@ -235,7 +235,7 @@ Sinalizador de Mão (Vermelho) Фальшфейер (Красный) Bengala (Roja) - Feux à main (Rouge) + Feu à main (Rouge) 赤の手持ち式信号弾 빨간색 불꽃신호기 红色手持式信号弹 @@ -251,7 +251,7 @@ Sinalizador de Mão (Verde) Фальшфейер (Зелёный) Bengala (Verde) - Feux à main (Vert) + Feu à main (Vert) 緑の手持ち式信号弾 초록색 불꽃신호기 绿色手持式信号弹 @@ -267,7 +267,7 @@ Sinalizador de Mão (Amarelo) Фальшфейер (Жёлтый) Bengala (Amarilla) - Feux à main (Jaune) + Feu à main (Jaune) 黄の手持ち式信号弾 노란색 불꽃신호기 黄色手持式信号弹 @@ -344,7 +344,7 @@ AN-M14 焼夷手榴弾 Granat zapalający AN-M14 AN-M14 소이 수류탄 - Grenade incendiaire AN-M14 + AN-M14 Grenade incendiaire AN-M14 Granata Incendiaria AN-M14 燃烧手榴弹 AN-M14 燃燒手榴彈 @@ -370,7 +370,7 @@ 焼夷手榴弾は武器や弾薬箱などの装備を破壊する為に使われます。 Granat zapalający, używany do niszczenia broni, amunicji i innego sprzętu. 소이 수류탄은 무기나 탄약 그리고 장비를 파괴할때 쓰입니다. - Grenade incendiaire utilisé pour détruire des armes, munitions et autres équipements. + Grenade incendiaire utilisée pour détruire des armes, des munitions et d'autres équipements. Granata incendiaria usata per distruggere armi, munizioni e altri equipaggiamenti. 燃烧手榴弹是用来摧毁武器,弹药以及其他装备的好帮手。 燃燒手榴彈是用來摧毀武器,彈藥以及其他裝備的好幫手 @@ -383,6 +383,8 @@ 種類: パラシュート式照明弾 (星弾) Тип: Осветительная ракета - звезда на парашюте Tipo: Sinalizador de pára-quedas estrela + 類型:星式帶傘照明彈 + Type: Fusée éclairante à parachute M583 Illumination Flare (White) @@ -391,6 +393,8 @@ M583 照明弾 (白) M583 Осветит. ракета (Белая) M583 Sinalizador de Iluminação (Branco) + M583 照明彈(白色) + M583 Fusée éclairante (Blanche) M662 Illumination Flare (Red) @@ -399,6 +403,8 @@ M662 照明弾 (赤) M662 Осветит. ракета (Красная) M662 Sinalizador de Iluminação (Vermelho) + M662 照明彈(紅色) + M662 Fusée éclairante (Rouge) M661 Illumination Flare (Green) @@ -407,6 +413,8 @@ M661 照明弾 (緑) M661 Осветит. ракета (Зеленая) M661 Sinalizador de Iluminação (Verde) + M661 照明彈(綠色) + M661 Fusée éclairante (Verte) Type: Parachute IR Flare @@ -415,6 +423,8 @@ 種類: パラシュート式赤外線照明弾 Тип: ИК-осветительная ракета на парашюте Tipo: Sinalizador Infravermelho de Pára-quedas + 類型:帶傘型紅外線照明彈 + Type: Fusée IR à parachute M992 Illumination IR Flare @@ -423,6 +433,8 @@ M992 赤外線照明弾 M992 ИК-осветительная ракета M992 Sinalizador de Iluminação Infravermelho + M992 紅外線照明彈 + M992 Fusée IR diff --git a/addons/gunbag/stringtable.xml b/addons/gunbag/stringtable.xml index c83352474a..ec5c0f9e86 100644 --- a/addons/gunbag/stringtable.xml +++ b/addons/gunbag/stringtable.xml @@ -32,7 +32,7 @@ Put weapon into gunbag Lege Waffe in Waffentasche - Placer l'arme dans la housse d'arme + Ranger l'arme dans la housse Зачехлить оружие Vložit zbraň do pouzdra ガンバッグへ武器を入れる @@ -46,7 +46,7 @@ Get weapon out of gunbag Hole Waffe aus Waffentasche - Sortir l'arme hors de la housse + Extraire l'arme de la housse Расчехлить оружие Vytáhnout zbraň z pouzdra ガンバッグから武器を出す @@ -60,7 +60,7 @@ Status Status - Status + Statut Статус Status 中身 diff --git a/addons/hearing/functions/fnc_updateVolume.sqf b/addons/hearing/functions/fnc_updateVolume.sqf index 4cf1a6b117..11dc919a7e 100644 --- a/addons/hearing/functions/fnc_updateVolume.sqf +++ b/addons/hearing/functions/fnc_updateVolume.sqf @@ -36,6 +36,7 @@ if (!_justUpdateVolume) then { if (CBA_missionTime - GVAR(time3) < 3) exitWith {}; GVAR(time3) = CBA_missionTime; + if (!isGameFocused) exitWith {}; if (GVAR(deafnessDV) > 19.75) then { playSound (["ACE_Combat_Deafness_Heavy", "ACE_Combat_Deafness_Heavy_NoRing"] select GVAR(DisableEarRinging)); } else { diff --git a/addons/hearing/stringtable.xml b/addons/hearing/stringtable.xml index d618854cbb..ef8e87fcd6 100644 --- a/addons/hearing/stringtable.xml +++ b/addons/hearing/stringtable.xml @@ -8,7 +8,7 @@ Stopery do uszu Špunty Беруши - Bouchons Anti-Bruits + Bouchons anti bruit Füldugó Protetor auricular Tappi auricolari @@ -24,7 +24,7 @@ Stopery do uszu umożliwiają użytkownikowi przebywać w pobliżu głośnej broni bez poniesienia konsekwencji jaką jest utrata słuchu. Ochranné špunty umožňují uživateli, aby neutrpěl zranění jeho sluchu v blízkosti hlasitých zbraní. Беруши позволяют носителю находиться возле громкого вооружения без потери слуха. - Bouchons Anti-Bruits permettant au porteur d'être près d'arme bruyante sans risque d'endommager son ouïe. + Les bouchons d'oreilles anti bruit permettent au porteur d'être près d'armes bruyantes, sans risque d'endommager son ouïe. Erősebb hanghatásoktól védő füldugó, megakadályozza a nagy hanggal járó fegyverzettől való halláskárosodást. Protetor para ouvidos permitem que o usuário esteja próximo a ruídos sem danificar sua audição. Proteggono l'apparato uditivo, permettendo a chi li indossa di resistere ai suoni particolarmente forti senza alcun danno. @@ -104,7 +104,7 @@ Nie masz stoperów Nemáš žádné špunty У вас нет беруш - Vous n'avez pas de bouchons anti-bruits + Vous n'avez pas de bouchons anti bruit Nincsen füldugód Você não possui protetores auriculares Non hai i tappi auricolari @@ -131,7 +131,7 @@ Disable ear ringing - Désactiver le bourdonnement + Désactiver les bourdonnements Desactivar zumbido de oídos Отключить звон в ушах Knalltrauma deaktivieren @@ -150,7 +150,7 @@ Deaktiviert Ohrklingeln wenn der Spieler Hörschäden davonträgt. Desactiva el efecto de zumbido cuando el jugador recibe daño auditivo. Usuń szum w uszach przy chwilowej utracie słuchu. - Enlève les acouphènes quand le joueur prend des dommages auditifs. + Enlève l'effet d'acouphène lorsqu'un joueur subit des dommages auditifs. Quando il giocatore riceve danni all'udito, non fa sentire i fischi nelle orecchie Remove o efeito de zunido quando o jogador recebe dano na audição Убирает эффект звона в ушах, когда игрок получает повреждение слуха @@ -200,7 +200,7 @@ Ativar surdez em combate? Уменьшает возможность игрока слышать звуки при повреждении органов слуха Riduci l'abilità uditiva quando il giocatore riceve danno uditivo - Réduire l'audition lorsque le joueur prend des dommages auditifs. + Réduit la capacité auditive du joueur lorsqu'il subit des dommages auditifs. 音による損傷をうけ、聴覚が減る可能性があります 청력에 손상을 입으면 듣는 소리가 감소합니다. 当玩家听力受损时降低听力能力? @@ -214,7 +214,7 @@ Dieses Modul aktiviert/deaktiviert die Taubheit im Gefecht. Wenn aktiviert, können Spieler ohne Gehörschutz taub werden, wenn eine Waffe in ihrer Nähe abgefeuert wird oder eine Explosion stattfindet. Ztráta sluchu je možná ve chvíly, kdy se v bezprostřední blízkosti střílí z velkorážní zbraně nebo při bombardování a osoba je bez ochrany sluchu (např. špunty). Tento modul umožňuje tuto věc povolit nebo zakázat. Este módulo ativa / desativa surdez em combate. Quando ativado, os jogadores podem ficar surdos quando uma arma é disparada ao seu redor ou uma explosão ocorre sem proteção auditiva. - Ce module active / désactivé la surdité au combat. Si active, des joueurs peuvent devenir sourds sans protection d'oreille, si une arme est utilisée ou une explosion a lieu à proximité + Pemet le réglage de la surdité au combat et des bourdonnements. Si actif, les joueurs sans protection auditive peuvent être assourdis quand une arme est utilisée à proximité, ou lorsqu'une explosion se produit. Controles de sordera de combate y zumbido en los oídos. Al activarlo, los jugadores pueden ser ensordecidos cuando un arma se dispara cerca o una explosión tiene lugar sin protección auditiva Controlla la sordità da combattimento e fischio alle orecchie. Quando attivato, i giocatori possono essere assordati quando un'arma spara vicino o avviene un'esplosione senza protezione uditiva 戦闘による難聴や、耳鳴りを設定します。有効では聴覚を保護していないと近傍の銃声や爆発音により、難聴になります。 @@ -246,7 +246,7 @@ Permitir a las unidades por control remoto de zeus que puedan tener daños auditivos. Aktivovat efekt ztráty sluchu pro vzdáleně ovládané jednotky. Consenti alle unità controllate in remoto da Zeus di ricevere danni all'udito. - Permet aux unités controlées à distance de subir des traumatismes sonores. + Permet aux unités contrôlées à distance de subir des dommages auditifs. Zeus により遠隔操作されたユニットにも、聴覚へ損傷を受けるようにします。 Zeus가 원격으로 청력손실을 입힐 수 있게 합니다. 设定宙斯远程遥控的单位也会受到耳鸣的效果。 @@ -261,7 +261,7 @@ Přidat špunty jednotce Aggiungi Tappi per Orecchie alle unità Agregar tapones de oida a la unidad - Ajouter des bouchons anti-bruits aux unités + Ajouter des bouchons anti bruit aux unités ユニットへ耳栓を追加 해당 인원에게 귀마개 추가 增加耳塞给单位 @@ -276,7 +276,7 @@ Přidat `ACE_EarPlugs` všem jednotkám které mají zbraň. Můžete vypnout, pokud používáte vlastní výbavu. Aggiungi l'oggetto 'ACE_EarPlugs' a tutte le unità che hanno armi rumorose. Può essere disabilitato se vengono usati loadout personalizzati. Agregar el item `ACE_EarPlugs` a todas las unidades equipadas con armas muy ruidosas. Desactivar si quieren utilizarse equipamientos personalizados. - Ajoute l'objet "Ace_EarPlugs" à toutes les unités ayant des armes bruyantes. Peut être désactivé par des loadouts personalisés. + Ajoute l'objet `Ace_EarPlugs` à toutes les unités ayant des armes bruyantes. Peut être désactivé si de l'équipement personnalisé est utilisé. 全ユニットへ`ACE_EarPlugs`アイテムを持たせます。これは変更された武装で無効化できます。 무기를 가지고 있는 모든 인원에게 'ACE_EarPlugs'를 지급합니다. 임의의 장비를 사용시 비활성화 할 수 있습니다. 增加`ACE_EarPlugs`物品给拥有巨大噪音武器的单位。当你想自定装备时,此功能可被关闭。 @@ -297,7 +297,7 @@ Volume muffling Lautstärkedämpfung - Étouffement des sons + Atténuation du volume 音量低下 降低音量 進低音量 @@ -316,6 +316,7 @@ Głośność Stoperów Громкость в берушах Volume do Protetor Auricular + Volume bouchons anti bruit Volume when using earplugs. @@ -327,6 +328,7 @@ Głośność podczas używania stoperów. Громкость при одетых берушах Volume quando estiver utilizando um Protetor Auricular + Volume audio perçu par les joueurs portant des bouchons anti bruit. Unconscious Volume @@ -338,6 +340,7 @@ Nieprzytomna Głośność Громкость без сознания Volume Inconsciente + Volume inconscience Volume when unconscious. @@ -349,6 +352,7 @@ Głośność podczas bycia nieprzytomnym. Громкость при потере сознания Volume enquanto inconsciente + Volume perçu par les joueurs inconscients. diff --git a/addons/hellfire/stringtable.xml b/addons/hellfire/stringtable.xml index b2ec93ea2d..ec3cdf02b7 100644 --- a/addons/hellfire/stringtable.xml +++ b/addons/hellfire/stringtable.xml @@ -12,6 +12,7 @@ 헬파이어 모드 세팅 Установить режим Hellfire Definir modo de Hellfire + Définir mode Hellfire diff --git a/addons/hitreactions/stringtable.xml b/addons/hitreactions/stringtable.xml index 103ac87ac8..64df30eb1b 100644 --- a/addons/hitreactions/stringtable.xml +++ b/addons/hitreactions/stringtable.xml @@ -1,7 +1,7 @@ - - + + Min Damage to trigger falling Danno Minimo da caduta 觸發倒下前最低需受到多少傷害 @@ -12,6 +12,7 @@ Minimalne obrażenie, żeby aktywować spadanie Минимальный урон для активации падения Dano Mínimo para ativar queda + Dommages minimaux pour déclencher la chute diff --git a/addons/hot/functions/fnc_attackProfile_WIRE.sqf b/addons/hot/functions/fnc_attackProfile_WIRE.sqf index 139939e4f7..5d4158418f 100644 --- a/addons/hot/functions/fnc_attackProfile_WIRE.sqf +++ b/addons/hot/functions/fnc_attackProfile_WIRE.sqf @@ -30,7 +30,7 @@ if ((((getPosASL _shooter) vectorDistanceSqr _projectilePos) > _seekerMaxRangeSq _attackProfileStateParams set [1, true]; _attackProfileStateParams set [2, _randomVector]; - playSound3D ["a3\sounds_f\air\sfx\SL_rope_break.wss", objNull, false, AGLtoASL (_shooter modelToWorld _wireCutSource), 150, 1, 25]; + playSound3D ["a3\sounds_f\air\sfx\SL_rope_break.wss", objNull, false, AGLtoASL (_shooter modelToWorld _wireCutSource), 5, 1, 150]; }; _projectilePos vectorAdd _randomVector }; diff --git a/addons/hot/stringtable.xml b/addons/hot/stringtable.xml index dee2ec4310..4ced6089ac 100644 --- a/addons/hot/stringtable.xml +++ b/addons/hot/stringtable.xml @@ -9,6 +9,8 @@ ワイヤ有線誘導 Проводное управление Guiado por Fio + 有線制導 + Filoguidé Semi-automatic command to line of sight @@ -18,6 +20,8 @@ 半自動指令照準線一致誘導方式 Полуавтоматическое командное наведение по линии визирования (SACLOS) Comando semi-automático para a linha de visão (SACLOS) + 視線內半自動指令 + Contrôle semi-automatique par contact visuel (SACLOS) Wire-Guided Missile @@ -27,6 +31,8 @@ ワイヤ有線誘導ミサイル Ракета с проводным управлением Míssil Guiado por Fio + 有線制導飛彈 + Missile filoguidé HOT Missile @@ -36,6 +42,8 @@ HOT ミサイル Ракета HOT Míssil HOT + 高次音速(HOT)飛彈 + Missile HOT HOT 1 @@ -45,6 +53,8 @@ HOT 1 HOT 1 HOT 1 + HOT 1 + HOT 1 HOT 2 @@ -54,6 +64,8 @@ HOT 2 HOT 2 HOT 2 + HOT 2 + HOT 2 HOT 2MP @@ -63,6 +75,8 @@ HOT 2MP HOT 2MP HOT 2MP + HOT 2MP + HOT 2MP HOT 3 @@ -72,6 +86,8 @@ HOT 3 HOT 3 HOT 3 + HOT 3 + HOT 3 Wire-Guided Missile (Anti-Personnel) @@ -81,6 +97,8 @@ ワイヤ有線誘導ミサイル (対人) Ракета с проводным управлением (Противопехотная) Míssil Guiado por Fio (Anti-Pessoal) + 有線制導飛彈(反步兵) + Missile filoguidé (antipersonnel) 1x HOT 1 [ACE] @@ -90,6 +108,8 @@ 1x HOT 1 [ACE] 1x HOT 1 [ACE] 1x HOT 1 [ACE] + 1x HOT 1 [ACE] + 1x HOT 1 [ACE] 3x HOT 1 [ACE] @@ -99,6 +119,8 @@ 3x HOT 1 [ACE] 3x HOT 1 [ACE] 3x HOT 1 [ACE] + 3x HOT 1 [ACE] + 3x HOT 1 [ACE] 4x HOT 1 [ACE] @@ -108,6 +130,8 @@ 4x HOT 1 [ACE] 4x HOT 1 [ACE] 4x HOT 1 [ACE] + 4x HOT 1 [ACE] + 4x HOT 1 [ACE] 1x HOT 2 [ACE] @@ -117,6 +141,8 @@ 1x HOT 2 [ACE] 1x HOT 2 [ACE] 1x HOT 2 [ACE] + 1x HOT 2 [ACE] + 1x HOT 2 [ACE] 3x HOT 2 [ACE] @@ -126,6 +152,8 @@ 3x HOT 2 [ACE] 3x HOT 2 [ACE] 3x HOT 2 [ACE] + 3x HOT 2 [ACE] + 3x HOT 2 [ACE] 4x HOT 2 [ACE] @@ -135,6 +163,8 @@ 4x HOT 2 [ACE] 4x HOT 2 [ACE] 4x HOT 2 [ACE] + 4x HOT 2 [ACE] + 4x HOT 2 [ACE] 1x HOT 2MP [ACE] @@ -144,6 +174,8 @@ 1x HOT 2MP [ACE] 1x HOT 2MP [ACE] 1x HOT 2MP [ACE] + 1x HOT 2MP [ACE] + 1x HOT 2MP [ACE] 3x HOT 2MP [ACE] @@ -153,6 +185,8 @@ 3x HOT 2MP [ACE] 3x HOT 2MP [ACE] 3x HOT 2MP [ACE] + 3x HOT 2MP [ACE] + 3x HOT 2MP [ACE] 4x HOT 2MP [ACE] @@ -162,6 +196,8 @@ 4x HOT 2MP [ACE] 4x HOT 2MP [ACE] 4x HOT 2MP [ACE] + 4x HOT 2MP [ACE] + 4x HOT 2MP [ACE] 1x HOT 3 [ACE] @@ -171,6 +207,8 @@ 1x HOT 3 [ACE] 1x HOT 3 [ACE] 1x HOT 3 [ACE] + 1x HOT 3 [ACE] + 1x HOT 3 [ACE] 4x HOT 3 [ACE] @@ -180,6 +218,8 @@ 4x HOT 3 [ACE] 4x HOT 3 [ACE] 4x HOT 3 [ACE] + 4x HOT 3 [ACE] + 4x HOT 3 [ACE] 3x HOT 3 [ACE] @@ -189,6 +229,8 @@ 3x HOT 3 [ACE] 3x HOT 3 [ACE] 3x HOT 3 [ACE] + 3x HOT 3 [ACE] + 3x HOT 3 [ACE] diff --git a/addons/huntir/CfgVehicles.hpp b/addons/huntir/CfgVehicles.hpp index cf6c98904a..03243cfbdd 100644 --- a/addons/huntir/CfgVehicles.hpp +++ b/addons/huntir/CfgVehicles.hpp @@ -73,7 +73,7 @@ class CfgVehicles { class ReammoBox_F; class ACE_HuntIR_Box: ReammoBox_F { model = QPATHTOF(data\ace_huntirbox.p3d); - displayName = $STR_DN_ACE_HUNTIRBOX; + displayName = CSTRING(TransportBox_DisplayName); class TransportItems { MACRO_ADDITEM(ACE_HuntIR_monitor,5); }; diff --git a/addons/huntir/stringtable.xml b/addons/huntir/stringtable.xml index 1948a6c4b8..9adaef1038 100644 --- a/addons/huntir/stringtable.xml +++ b/addons/huntir/stringtable.xml @@ -1,7 +1,7 @@ - + HuntIR Transport Box HuntIR Transportkiste Caja de transporte de HuntIR @@ -17,7 +17,7 @@ 高空战术摄像头运输箱 高空戰術成像器運輸箱 - + HuntIR Round HuntIR Granate Proyectil HuntIR @@ -33,7 +33,7 @@ 高空战术摄像头弹药 高空戰術成像器彈藥 - + HuntIR monitor HuntIR Monitor Monitor HuntIR @@ -49,7 +49,7 @@ 高空战术摄像头显示面板 高空戰術成像器顯示面板 - + Activate HuntIR monitor HuntIR Monitor aktivieren Activar monitor HuntIR @@ -65,7 +65,7 @@ 开启高空战术摄像头显示面板 開啟高空戰術成像器顯示面板 - + Camera: Kamera: Camara: @@ -81,7 +81,7 @@ 摄像头: 攝影機: - + Altitude: Höhe: Altitud: @@ -97,7 +97,7 @@ 高度: 高度: - + Recording Time: Aufnahmezeit: Tiempo de grabación: @@ -113,7 +113,7 @@ 记录时间: 記錄時間: - + Press ESC to quit camera Zum Verlassen ESC drücken Pulsar ESC para salir de la camara @@ -129,7 +129,7 @@ 按下ESC退出摄像头 按下ESC退出攝影機 - + Help Hilfe Ayuda @@ -145,7 +145,7 @@ 帮助 幫助 - + A/D - Cycle zoom A/D - Zoom A/D - Cambiar zoom @@ -161,7 +161,7 @@ A/D - 切换放大倍率 A/D - 切換放大倍率 - + W/S - Select camera W/S - Wähle Kamera W/S - Seleccionar camara @@ -177,7 +177,7 @@ W/S - 切换摄像头 W/S - 切換攝影機 - + Left/Right - Rotate camera Links/Rechts - Rotiere Kamera Left/Right - Rotar camara @@ -193,7 +193,7 @@ 左/右 - 旋转摄像头 左/右 - 旋轉攝影機 - + Up/Down - Elevate/lower camera Hoch/Runter - Neige Kamera Up/Down - Subir/bajar camara @@ -209,7 +209,7 @@ 上/下 - 上升/下降摄像头 上/下 - 上升/下降攝影機 - + N - Cycle IT modes N - Sichtmodi N - Cambiar modos de IT @@ -225,7 +225,7 @@ N - 切换热显模式 N - 切換熱顯模式 - + R - Reset camera R - Kamera zurücksetzen R - Reiniciar camara @@ -241,7 +241,7 @@ R - 重置摄像头 R - 重置攝影機 - + Esc - Exit help ESC - Hilfe verlassen Esc - Salit de ayuda diff --git a/addons/interact_menu/ACE_Settings.hpp b/addons/interact_menu/ACE_Settings.hpp index a36d3dd98d..9f555f3ed1 100644 --- a/addons/interact_menu/ACE_Settings.hpp +++ b/addons/interact_menu/ACE_Settings.hpp @@ -1,32 +1,18 @@ class ACE_Settings { class GVAR(alwaysUseCursorSelfInteraction) { - value = 0; - typeName = "BOOL"; - isClientSettable = 1; - category = CSTRING(Category_InteractionMenu); - displayName = CSTRING(AlwaysUseCursorSelfInteraction); + movedToSQF = 1; }; class GVAR(cursorKeepCentered) { - value = 0; - typeName = "BOOL"; - isClientSettable = 1; - category = CSTRING(Category_InteractionMenu); - displayName = CSTRING(cursorKeepCentered); - description = CSTRING(cursorKeepCenteredDescription); + movedToSQF = 1; }; class GVAR(alwaysUseCursorInteraction) { - value = 0; - typeName = "BOOL"; - isClientSettable = 1; - category = CSTRING(Category_InteractionMenu); - displayName = CSTRING(AlwaysUseCursorInteraction); + movedToSQF = 1; }; class GVAR(useListMenu) { - value = 0; - typeName = "BOOL"; - isClientSettable = 1; - category = CSTRING(Category_InteractionMenu); - displayName = CSTRING(UseListMenu); + movedToSQF = 1; + }; + class GVAR(menuBackground) { + movedToSQF = 1; }; class GVAR(colorTextMax) { value[] = {1, 1, 1, 1}; @@ -80,14 +66,6 @@ class ACE_Settings { category = CSTRING(Category_InteractionMenu); displayName = CSTRING(ActionOnKeyRelease); }; - class GVAR(menuBackground) { - value = 0; - typeName = "SCALAR"; - isClientSettable = 1; - category = CSTRING(Category_InteractionMenu); - displayName = CSTRING(background); - values[] = {"$STR_A3_OPTIONS_DISABLED", CSTRING(backgroundBlur), CSTRING(backgroundBlack)}; - }; class GVAR(addBuildingActions) { value = 0; typeName = "BOOL"; diff --git a/addons/interact_menu/XEH_clientInit.sqf b/addons/interact_menu/XEH_clientInit.sqf index 9a44674e42..30b6a4469a 100644 --- a/addons/interact_menu/XEH_clientInit.sqf +++ b/addons/interact_menu/XEH_clientInit.sqf @@ -100,10 +100,14 @@ format ["%1 (%2)", (localize LSTRING(SelfInteractKey)), localize ELSTRING(common // background options ["ace_interactMenuOpened", { - if (GVAR(menuBackground)==1) then {[QGVAR(menuBackground), true] call EFUNC(common,blurScreen);}; - if (GVAR(menuBackground)==2) then {0 cutRsc[QGVAR(menuBackground), "PLAIN", 1, false];}; + params ["_menuType"]; + private _menuBackgroundSetting = [GVAR(menuBackground), GVAR(menuBackgroundSelf)] select _menuType; + if (_menuBackgroundSetting == 1) exitWith {[QGVAR(menuBackground), true] call EFUNC(common,blurScreen);}; + if (_menuBackgroundSetting == 2) exitWith {0 cutRsc [QGVAR(menuBackground), "PLAIN", 1, false];}; }] call CBA_fnc_addEventHandler; ["ace_interactMenuClosed", { - if (GVAR(menuBackground)==1) then {[QGVAR(menuBackground), false] call EFUNC(common,blurScreen);}; - if (GVAR(menuBackground)==2) then {(uiNamespace getVariable [QGVAR(menuBackground), displayNull]) closeDisplay 0;}; + params ["_menuType"]; + private _menuBackgroundSetting = [GVAR(menuBackground), GVAR(menuBackgroundSelf)] select _menuType; + if (_menuBackgroundSetting == 1) exitWith {[QGVAR(menuBackground), false] call EFUNC(common,blurScreen);}; + if (_menuBackgroundSetting == 2) exitWith {(uiNamespace getVariable [QGVAR(menuBackground), displayNull]) closeDisplay 0;}; }] call CBA_fnc_addEventHandler; diff --git a/addons/interact_menu/XEH_preInit.sqf b/addons/interact_menu/XEH_preInit.sqf index 4266e9f805..0d321112f9 100644 --- a/addons/interact_menu/XEH_preInit.sqf +++ b/addons/interact_menu/XEH_preInit.sqf @@ -21,7 +21,7 @@ GVAR(cacheManActions) = +(GVAR(ActNamespace) getVariable ["CAManBase", []]); // // Event handlers for all interact menu controls DFUNC(handleMouseMovement) = { - if (GVAR(cursorKeepCentered)) then { + if ([GVAR(cursorKeepCentered), GVAR(cursorKeepCenteredSelfInteraction)] select GVAR(keyDownSelfAction)) then { GVAR(cursorPos) = GVAR(cursorPos) vectorAdd [_this select 1, _this select 2, 0] vectorDiff [0.5, 0.5, 0]; setMousePosition [0.5, 0.5]; } else { @@ -106,6 +106,6 @@ GVAR(inheritedClassesMan) = []; [_type, _typeNum, _parentPath, _action] call FUNC(addActionToClass); } forEach GVAR(inheritedActionsMan); END_COUNTER(InitPost); -}] call CBA_fnc_addClassEventHandler; +}, true, ["VirtualMan_F"]] call CBA_fnc_addClassEventHandler; ADDON = true; diff --git a/addons/interact_menu/functions/fnc_compileMenu.sqf b/addons/interact_menu/functions/fnc_compileMenu.sqf index bac9d42fff..7c30196c2b 100644 --- a/addons/interact_menu/functions/fnc_compileMenu.sqf +++ b/addons/interact_menu/functions/fnc_compileMenu.sqf @@ -26,15 +26,15 @@ private _namespace = GVAR(ActNamespace); // Exit if the action menu is already compiled for this class if !(isNil {_namespace getVariable _objectType}) exitWith {}; -if ((_objectType isKindOf "CAManBase") && {!isNil QGVAR(cacheManActions)}) exitWith { - _namespace setVariable [_objectType, +GVAR(cacheManActions)]; // copy -}; - -if ((getNumber (configFile >> "CfgVehicles" >> _objectType >> "isPlayableLogic")) == 1) exitWith { +if (_objectType isKindOf "VirtualMan_F") exitWith { // these have config: isPlayableLogic = 1 TRACE_1("skipping playable logic",_objectType); _namespace setVariable [_objectType, []]; }; +if ((_objectType isKindOf "CAManBase") && {!isNil QGVAR(cacheManActions)}) exitWith { + _namespace setVariable [_objectType, +GVAR(cacheManActions)]; // copy +}; + private _recurseFnc = { params ["_actionsCfg", "_parentDistance"]; private _actions = []; diff --git a/addons/interact_menu/functions/fnc_keyDown.sqf b/addons/interact_menu/functions/fnc_keyDown.sqf index 54a9f070ce..8460e338e8 100644 --- a/addons/interact_menu/functions/fnc_keyDown.sqf +++ b/addons/interact_menu/functions/fnc_keyDown.sqf @@ -44,8 +44,8 @@ GVAR(useCursorMenu) = (vehicle ACE_player != ACE_player) || (!(isNull (ACE_controlledUAV select 0))) || visibleMap || (!isNull curatorCamera) || - {(_menuType == 1) && {(isWeaponDeployed ACE_player) || GVAR(AlwaysUseCursorSelfInteraction) || {cameraView == "GUNNER"}}} || - {(_menuType == 0) && GVAR(AlwaysUseCursorInteraction)}; + {(_menuType == 1) && {(isWeaponDeployed ACE_player) || GVAR(alwaysUseCursorSelfInteraction) || {cameraView == "GUNNER"}}} || + {(_menuType == 0) && GVAR(alwaysUseCursorInteraction)}; // Delete existing controls in case there's any left GVAR(iconCount) = 0; diff --git a/addons/interact_menu/functions/fnc_renderIcon.sqf b/addons/interact_menu/functions/fnc_renderIcon.sqf index 21f1962180..19725fb610 100644 --- a/addons/interact_menu/functions/fnc_renderIcon.sqf +++ b/addons/interact_menu/functions/fnc_renderIcon.sqf @@ -38,7 +38,7 @@ if (_iconFile isEqualTo "") then { _iconFile = DEFAULT_ICON; }; -_text = if (GVAR(UseListMenu)) then { +_text = if ([GVAR(useListMenu), GVAR(useListMenuSelf)] select GVAR(keyDownSelfAction)) then { format ["%4", _iconFile, _iconColor, _textSettings, _text] } else { format ["
%4", _iconFile, _iconColor, _textSettings, "ace_break_line" callExtension _text]; @@ -47,13 +47,14 @@ _text = if (GVAR(UseListMenu)) then { [_ctrl, GVAR(iconCount), _text] call FUNC(ctrlSetParsedTextCached); GVAR(iconCount) = GVAR(iconCount) + 1; -private _pos = if (GVAR(UseListMenu)) then { +private _pos = if ([GVAR(useListMenu), GVAR(useListMenuSelf)] select GVAR(keyDownSelfAction)) then { [(_sPos select 0) - (0.0095 * SafeZoneW), (_sPos select 1) - (0.0095 * SafeZoneW), 0.20 * SafeZoneW, 0.035 * SafeZoneW] } else { [(_sPos select 0) - (0.0750 * SafeZoneW), (_sPos select 1) - (0.0095 * SafeZoneW), 0.15 * SafeZoneW, 0.100 * SafeZoneW] }; -if (GVAR(cursorKeepCentered) && {uiNamespace getVariable [QGVAR(cursorMenuOpened),false]}) then { + +if (([GVAR(cursorKeepCentered), GVAR(cursorKeepCenteredSelfInteraction)] select GVAR(keyDownSelfAction)) && {uiNamespace getVariable [QGVAR(cursorMenuOpened),false]}) then { _pos set [0, ((_pos select 0) - (GVAR(cursorPos) select 0) + 0.5)]; _pos set [1, ((_pos select 1) - (GVAR(cursorPos) select 1) + 0.5)]; }; diff --git a/addons/interact_menu/functions/fnc_renderMenu.sqf b/addons/interact_menu/functions/fnc_renderMenu.sqf index 5801f4602f..d51766548f 100644 --- a/addons/interact_menu/functions/fnc_renderMenu.sqf +++ b/addons/interact_menu/functions/fnc_renderMenu.sqf @@ -89,8 +89,8 @@ if (_numChildren == 1) then { // Scale menu based on the amount of children private _scaleX = 1; private _scaleY = 1; - -if (GVAR(UseListMenu)) then { +private _useListMenu = [GVAR(useListMenu), GVAR(useListMenuSelf)] select GVAR(keyDownSelfAction); +if (_useListMenu) then { private _textSize = [0.75, 0.875, 1, 1.2, 1.4] select GVAR(textSize); _scaleX = _textSize * 0.17 * 1.1; _scaleY = 0.17 * 0.30 * 4/3; @@ -112,7 +112,7 @@ private _player = ACE_player; //END_COUNTER(children); private _angle = _centerAngle - _angleSpan / 2; { - private _newPos = if (GVAR(UseListMenu)) then { + private _newPos = if (_useListMenu) then { [(_sPos select 0) + _scaleX, (_sPos select 1) + _scaleY * (_forEachIndex - _numChildren/2 + 0.5)]; } else { diff --git a/addons/interact_menu/functions/fnc_renderSelector.sqf b/addons/interact_menu/functions/fnc_renderSelector.sqf index 0449f9c922..96f42f8a19 100644 --- a/addons/interact_menu/functions/fnc_renderSelector.sqf +++ b/addons/interact_menu/functions/fnc_renderSelector.sqf @@ -39,7 +39,7 @@ private _pos = if (GVAR(UseListMenu)) then { GVAR(iconCount) = GVAR(iconCount) + 1; -if (GVAR(cursorKeepCentered) && {uiNamespace getVariable [QGVAR(cursorMenuOpened),false]}) then { +if (([GVAR(cursorKeepCentered), GVAR(cursorKeepCenteredSelfInteraction)] select GVAR(keyDownSelfAction)) && {uiNamespace getVariable [QGVAR(cursorMenuOpened), false]}) then { _pos set [0, ((_pos select 0) - (GVAR(cursorPos) select 0) + 0.5)]; _pos set [1, ((_pos select 1) - (GVAR(cursorPos) select 1) + 0.5)]; }; diff --git a/addons/interact_menu/initSettings.sqf b/addons/interact_menu/initSettings.sqf index 45c9fdbd3b..8d353906f6 100644 --- a/addons/interact_menu/initSettings.sqf +++ b/addons/interact_menu/initSettings.sqf @@ -1,9 +1,81 @@ [ QGVAR(selectorColor), "COLOR", - localize LSTRING(SelectorColor), - format ["ACE %1", localize LSTRING(Category_InteractionMenu)], + LSTRING(SelectorColor), + format ["ACE %1", LLSTRING(Category_InteractionMenu)], [1, 0, 0], false, {GVAR(selectorColorHex) = _this call BIS_fnc_colorRGBtoHTML} // Stored in Hex to avoid constant conversion ] call CBA_settings_fnc_init; + +[ + QGVAR(alwaysUseCursorInteraction), + "CHECKBOX", + LSTRING(AlwaysUseCursorInteraction), + [format ["ACE %1", LLSTRING(Category_InteractionMenu)], LLSTRING(Category_InteractionMenu)], + false, + false +] call CBA_settings_fnc_init; + +[ + QGVAR(cursorKeepCentered), + "CHECKBOX", + [LSTRING(cursorKeepCentered), LSTRING(cursorKeepCenteredDescription)], + [format ["ACE %1", LLSTRING(Category_InteractionMenu)], LLSTRING(Category_InteractionMenu)], + false, + false +] call CBA_settings_fnc_init; + +[ + QGVAR(useListMenu), + "CHECKBOX", + LSTRING(UseListMenu), + [format ["ACE %1", LLSTRING(Category_InteractionMenu)], LLSTRING(Category_InteractionMenu)], + false, + false +] call CBA_settings_fnc_init; + +[ + QGVAR(menuBackground), + "LIST", + LSTRING(background), + [format ["ACE %1", LLSTRING(Category_InteractionMenu)], LLSTRING(Category_InteractionMenu)], + [[0, 1, 2], ["STR_A3_OPTIONS_DISABLED", LLSTRING(backgroundBlur), LLSTRING(backgroundBlack)], 0], + false +] call CBA_settings_fnc_init; + +[ + QGVAR(alwaysUseCursorSelfInteraction), + "CHECKBOX", + LSTRING(AlwaysUseCursorInteraction), + [format ["ACE %1", LLSTRING(Category_InteractionMenu)], LELSTRING(Interaction,InteractionMenuSelf)], + true, + false +] call CBA_settings_fnc_init; + +[ + QGVAR(cursorKeepCenteredSelfInteraction), + "CHECKBOX", + [LSTRING(cursorKeepCentered), LSTRING(cursorKeepCenteredDescription)], + [format ["ACE %1", LLSTRING(Category_InteractionMenu)], LELSTRING(Interaction,InteractionMenuSelf)], + false, + false +] call CBA_settings_fnc_init; + +[ + QGVAR(useListMenuSelf), + "CHECKBOX", + LSTRING(UseListMenu), + [format ["ACE %1", LLSTRING(Category_InteractionMenu)], LELSTRING(Interaction,InteractionMenuSelf)], + false, + false +] call CBA_settings_fnc_init; + +[ + QGVAR(menuBackgroundSelf), + "LIST", + LSTRING(background), + [format ["ACE %1", LLSTRING(Category_InteractionMenu)], LELSTRING(Interaction,InteractionMenuSelf)], + [[0, 1, 2], ["STR_A3_OPTIONS_DISABLED", LLSTRING(backgroundBlur), LLSTRING(backgroundBlack)], 0], + false +] call CBA_settings_fnc_init; diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index 8b5fdaa551..741e27d2a0 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -230,7 +230,7 @@ Aktion nach Loslassen der Taste ausführen Wykonuj akcje po puszczeniu klawisza menu Provést akci při pustění klávesy menu - Action au relachement de touche + Action au relâchement de touche Выполнять действие при отпускании кнопки взаимодействия Realizar la acción al soltar la tecla menu Execute a ação quando soltar a tecla de menu @@ -277,7 +277,7 @@ Allows controlling the text's shadow. Outline ignores custom shadow colors. Umožňuje změnit stíny textu v menu interakce. Barva stínu je u tahu písma ignorována. Stellt den Hintergrundschatten ein. Die Einstellung 'Kontur' ignoriert die Farbe des Schattens. - Permet de controler l'ombre du texte. Le contour ne prend pas en compte la couleur des ombres. + Permet de contrôler l'ombre du texte. Le contour ne prend pas en compte la couleur des ombres. Дает возможность изменять тень, отбрасываемую текстом. Контур не зависит от выбранного цвета тени. Permite contolar la sombra del texto. El contorno ignora los colores personalizados de la sombra. Pozwala kontrolować cień tekstu. Kontury ignorują niestandardowe kolory cienia. @@ -312,7 +312,7 @@ Pozadí menu interakce Interaktionsmenü-Hintergrund Fundo do menu de interação - Arrière plan du menu d'interaction + Arrière-plan du menu d'interaction Cselekvő menü háttere Фон меню взаимодействия Sfondo Menù Interazioni @@ -328,7 +328,7 @@ Rozmazat obraz při otevřeném interakčním menu. Den Hintergrund verschwimmen lassen, während das Interaktionsmenü geöffnet ist. Desfocar o fundo enquanto o menu de interação está aberto. - Flouter l'arrière plan durant l'ouverture du menu d'interaction + Flouter l'arrière-plan durant l'ouverture du menu d'interaction A háttér elmosása a cselekvő menü használata alatt. Размыть фон, пока открыто меню взаимодействия. Sfoca lo sfondo mentre il Menù Interazioni è aperto. @@ -375,7 +375,7 @@ Pokazuj akcje dla budynków Zobrazit akci pro budovy Mostrar acciones para edificios - Affiche les actions pour les batiments + Affiche les actions pour les bâtiments Cselekvések mutatása épületeknél Mostrar ações para edifícios Показывать действия для зданий @@ -391,7 +391,7 @@ Dodaje opcje interakcji dla otwierania drzwi oraz wchodzenia po drabinach do budynków. Uwaga: Użycie tej opcji może spowodować spadek wydajności menu interakcji, szczególnie w dużych miastach. Přidá možnost interakce pro otevření dvěří a umistňovat žebříky na budovy. (Poznámka: Použití této možnosti snižuje výkon při otevírání pomocí interakčního menu, zejména ve velkých městech.) Añade las acciones de interacción para la apertura de puertas y montaje de escaleras en los edificios. (Nota: Hay un coste de rendimiento al abrir el menú de interacción, especialmente en las ciudades) - Ajoute des interactions pour ouvrir les portes et les échelles des batiments. (Note: l'ouverture du menu en ville dégrade les performances) + Ajoute des interactions pour ouvrir les portes et les échelles des bâtiments. (Note: l'ouverture du menu en ville dégrade les performances) Cselekvéseket engedélyez ajtók kinyitására és létrák mászására. (Figyelem: ez teljesítményvesztéssel járhat a menü megnyitásakor, főleg városokban) Adiciona ações de interações para abrir portas e montar escadas em edifícios. (Nota: Existe um custo de performance quando aberto o menu de interação, especialmente em cidades) Добавляет действия открывания дверей и залезания на лестницы для зданий. (Примечание: возможно падение производительности при открытии меню взаимодействия, особенно в городах) @@ -425,7 +425,7 @@ Rychlost animace interakce Velocità Animazioni Interazioni Velocidad de animación del menú de interacción - Vitesse de l'aniamtion d'interaction + Vitesse de l'animation d'interaction インタラクションのアニメーション速度 상호작용 움직임 속도 互动选单动画速度 @@ -440,7 +440,7 @@ Zrychlí animaci menu a sníží tak čas potřebný pro plné zobrazení podmenu Rende le animazioni Menù più veloci e diminuisce il tempo richiesto per mostrare sotto-azioni Hace la animación del menú más rápida, reduciendo el tiempo necesario para abrir sub-acciones. - Rend les animations de menu plus rapide et réduit le temps nécessaire à l'affichage des sous menus d'action + Rend les animations du menu plus rapide, et réduit le temps nécessaire à l'affichage des sous menus d'action ホバーで子アクションを表示した時に出るメニューのアニメーション速度を早くしたり遅くしたりできます 使选单的动画速度更快,并减少子选项显现出来的时间 使選單的動畫速度更快,並減少子選項顯現出來的時間 @@ -456,6 +456,7 @@ Kolor wybierającego Цвет селектора Cor do Seletor + Couleur du sélecteur
diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index 200658779b..2dc6d44427 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -12,6 +12,7 @@ Interakcja Взаимодействие Interação + Interaction
Interactions @@ -307,7 +308,7 @@ BAILAR! TAŃCZ! TANCUJ! - Danser ! + DANSER ! ТАНЦЕВАТЬ! TÁNC! DANCE! @@ -385,7 +386,7 @@ You were tapped on the RIGHT shoulder Te tocaron el hombro DERECHO Dir wurde auf die rechte Schulter geklopft - On vous tape sur l'épaule droite + On vous tape sur l'épaule DROITE Zostałeś klepnięty w prawe ramię Megveregették a JOBB válladat. Někdo tě poklepal na PRAVÉ rameno @@ -401,7 +402,7 @@ You were tapped on the LEFT shoulder. Te tocaron el hombro IZQUIERDO. Dir wurde auf die linke Schulter geklopft - On vous tape sur l'épaule gauche + On vous tape sur l'épaule GAUCHE Zostałeś klepnięty w lewe ramię Megveregették a BAL válladat. Někdo tě poklepal na LEVÉ rameno @@ -467,7 +468,7 @@ Al suelo! Padnij! K zemi! - A terre ! + À terre ! A földre! Ложись! Abaixe-se! @@ -853,6 +854,7 @@ Gira Przewróć Virar + Tourner Interact @@ -961,6 +963,7 @@ Wyłącz negatywną ocenę Отключить отрицательный рейтинг Desativar avaliação negativa + Désactiver la notation négative Should players receive negative rating? When enabled players are only receiving positive ratings which prevents friendly AI fire when destroying friendly equipment or killing team members. @@ -973,6 +976,7 @@ Czy powinni gracze otrzymywać negatywną ocenę? Kiedy aktywowani gracze otrzymuję wyłącznie pozytywną ocenę, która zapobiega ognia przyjaznego SI podczas niszczenia przyjaznego wyposażenia lub zabijaniu członków drużyny. Должны ли игроки получать отрицательный рейтинг? Когда включено, игроки получают только положительный рейтинг, что предотвращает дружественный огонь от ИИ при уничтожении дружественного оборудования или убийстве членов команды. Jogadores devem receber uma avaliação negativa? Quando ativado, os jogadores estão recebendo avaliações positivas, prevenindo que IA amigável atire quando destruir algum equipamento aliado ou matar membros de equipe. + Les joueurs devraient-ils pouvoir recevoir une note négative ? Si l'option est activée, les joueurs obtiennent des notes positives exclusivement, ce qui permet d'éviter que les unités IA effectuent du tir ami lorsque des joueurs détruisent de l'équipement allié, ou lorsqu'ils tuent des membres de l'équipe. Team management allows color allocation for team members, taking team command and joining/leaving teams. @@ -980,7 +984,7 @@ Die Gruppenverwaltung erlaubt die Zuweisung von Farben für Einheiten, die Kommandierung und das Beitreten/Verlassen einer Gruppe. Správa týmu se skládá z: přidělení barev pro členy týmu, převzetí velení, připojení/odpojení. La gestión del equipo permite la asignación de colores para los miembros del equipo, tomando el mando del equipo y uniendo/dejando equipos. - La gestion d'équipe permet l'allocation de couleur aux membres d'équipe, de prendre le commandement, de rejoindre ou quitter une équipe. + La gestion d'équipe permet d'allouer des couleurs aux membres des équipes, de prendre le commandement, et de rejoindre ou quitter une équipe. A csapatkezelés engedélyezi a tagok színének meghatározását, a vezetés átvételét, és csapatoknál be-és kilépést. O módulo de gestão de equipe é composto por: a atribuição de cores para os membros da equipe, comando das equipes, juntando-se / deixando equipes. Управление группами позволяет назначать цвета членам групп, брать командование, вступать в группы или покидать их. @@ -1010,7 +1014,7 @@ Deaktivieren Wyłącz Apagar - Eteindre + Éteindre Spegni Vypnout Desligar @@ -1044,7 +1048,7 @@ Zásobník do primární zbraně Caricatore Primario Cargador primario - Chargeur de l'arme principale + Chargeur d'arme principale プライマリ用弾倉 주무기 탄창 给予主武器弹匣 @@ -1106,11 +1110,12 @@ 拿出尸体 Wyciągnij ciało Retirar Corpo + Retirer le corps Smash windshield Frontscheibe einschlagen - Dégager le pare-brise + Briser le pare-brise Vyrazit čelní sklo Выбить лобовое стекло Wyłam szybę @@ -1118,6 +1123,7 @@ フロントガラスを破る Sfonda il parabrezza Quebrar pára-brisa + 踹開擋風玻璃 diff --git a/addons/inventory/stringtable.xml b/addons/inventory/stringtable.xml index ca09417810..be7d0b9c3f 100644 --- a/addons/inventory/stringtable.xml +++ b/addons/inventory/stringtable.xml @@ -24,7 +24,7 @@ Обычно, размер окна инвентаря зависит от размеров пользовательского интерфейса. Эта настройка позволяет увеличить размер окна инвентаря, не увеличивая размеры шрифтов, так что отображется большее количество строк. Normálně se velikost invetáře škáluje s velikostí UI. Toto nastavení dovoluje škálování velikost inventáře ale nežvětšuje velikost fontu. To dovoluje zobrazení více řad v inventáři. Ekwipunek skalowany jest poprzez rozmiar UI. Ta opcja pozwala powiększyć rozmiar UI ekwipunku, lecz nie zwiększa rozmiaru fontu pozwalając na wyświetlanie większej ilości wierszy. - L'inventaire est normalement affiché en fonction de la taille de l'UI. Cette option permet d'agrandir l'affichage de l'inventaire, mais n'a aucun effet sur la taille des polices permettant d'afficher plus de lignes. + L'inventaire est normalement affiché en fonction de la taille de l'UI. Cette option permet d'agrandir l'affichage de l'inventaire, mais n'a aucun effet sur la taille des polices ; ce qui permet d'afficher plus de lignes. Alaphelyzetben a kezelőfelület mérete skálázza a felszerelési menüt. Ez az opció engedélyezi a menü felskálázását, de megtartja a betűméreteket, így növelve a láthatóságot. Normalmente il menù inventario è scalato in base alle dimensioni dell'interfaccia. Questa opzione permette di ingrandirlo ulteriormente ma senza aumentare la dimensione del testo. Normalmente o tamanho da tela do inventário é ditada pelo tamanho da UI. Isso permite aumentar o tamanho da tela de inventário, mas não aumenta o tamanho da fonte, permitindo que mais linhas sejam visualizadas. diff --git a/addons/kestrel4500/functions/fnc_createKestrelDialog.sqf b/addons/kestrel4500/functions/fnc_createKestrelDialog.sqf index 445c6cc789..aafa2928f7 100644 --- a/addons/kestrel4500/functions/fnc_createKestrelDialog.sqf +++ b/addons/kestrel4500/functions/fnc_createKestrelDialog.sqf @@ -20,7 +20,7 @@ if (underwater ACE_player) exitWith { false }; if (!("ACE_Kestrel4500" in (uniformItems ACE_player)) && !("ACE_Kestrel4500" in (vestItems ACE_player))) exitWith { false }; GVAR(Overlay) = false; -3 cutText ["", "PLAIN"]; +QGVAR(Layer) cutText ["", "PLAIN"]; GVAR(Kestrel4500) = true; createDialog 'Kestrel4500_Display'; diff --git a/addons/kestrel4500/functions/fnc_displayKestrel.sqf b/addons/kestrel4500/functions/fnc_displayKestrel.sqf index c93de715ed..143ed1cc27 100644 --- a/addons/kestrel4500/functions/fnc_displayKestrel.sqf +++ b/addons/kestrel4500/functions/fnc_displayKestrel.sqf @@ -38,7 +38,7 @@ if (GVAR(Overlay)) exitWith { GVAR(Overlay) = false; - 3 cutText ["", "PLAIN"]; + QGVAR(Layer) cutText ["", "PLAIN"]; true }; if (underwater ACE_player) exitWith { true }; @@ -55,7 +55,7 @@ GVAR(Overlay) = true; // abort condition if (!GVAR(Overlay) || {!(("ACE_Kestrel4500" in (uniformItems ACE_player)) || ("ACE_Kestrel4500" in (vestItems ACE_player)))}) exitWith { GVAR(Overlay) = false; - 3 cutText ["", "PLAIN"]; + QGVAR(Layer) cutText ["", "PLAIN"]; [_this select 1] call CBA_fnc_removePerFrameHandler; }; @@ -64,7 +64,7 @@ GVAR(Overlay) = true; private _outputData = [] call FUNC(generateOutputData); - 3 cutRsc ["RscKestrel4500", "PLAIN", 1, false]; + QGVAR(Layer) cutRsc ["RscKestrel4500", "PLAIN", 1, false]; _outputData params [ "_ctrlTop", "_ctrlCenterBig", diff --git a/addons/laser/stringtable.xml b/addons/laser/stringtable.xml index e96943ff8b..dd60885061 100644 --- a/addons/laser/stringtable.xml +++ b/addons/laser/stringtable.xml @@ -7,7 +7,7 @@ Laserstreuung-Simulationszähler 레이저 분산 시뮬레이션 수 Wskaźnik poziomu rozproszenia wiązki lasera - Compte de la simulation de la dispersion du laser + Nombre de simulations pour la dispersion du laser Contatore di Simulazione della Dispersione del Laser 雷射散射模拟计算 雷射散射模擬計算 @@ -34,7 +34,7 @@ Laser - Cycle Code Up Lasercode + Laser - Następny kod - Laser - Code + + Laser - Code Sup Лазер - увеличить частоту Laser - Alternar Código para Cima Lézer - kódciklus növelése @@ -50,7 +50,7 @@ Laser - Cycle Code Down Lasercode - Laser - Poprzedni kod - Laser - Code - + Laser - Code Inf Лазер - уменьшить частоту Laser - Alternar Código para Baixo Lézer - kódciklus csökkentése diff --git a/addons/laserpointer/stringtable.xml b/addons/laserpointer/stringtable.xml index 17b7dbe933..b3cb27b1bb 100644 --- a/addons/laserpointer/stringtable.xml +++ b/addons/laserpointer/stringtable.xml @@ -68,7 +68,7 @@ <t color='#9cf953'>Use: </t>Turn Laser ON/OFF <t color='#9cf953'>Použití: </t>Zapnout/vypnout laser - <t color='#9cf953'>Utiliser : </t>laser allumé/éteint + <t color='#9cf953'>Utilisation : </t>Allumer / Éteindre le laser <t color='#9cf953'>Benutzen: </t>Laser EIN/AUS <t color='#9cf953'>Uso: </t>Laser ON/OFF <t color='#9cf953'>Użyj: </t>wł./wył. laser @@ -118,7 +118,7 @@ Umschalten Laser / IR-Laser Przełącz Laser / Laser IR Изменить режим Лазер / ИК-лазер - Changer Laser / Laser IR + Alterner Laser / Laser IR Alterna Laser / IR Laser Cambiar láser / Láser IR Lézer / Infravörös Lézer váltása diff --git a/addons/magazinerepack/stringtable.xml b/addons/magazinerepack/stringtable.xml index 48bb15ff77..44a234b512 100644 --- a/addons/magazinerepack/stringtable.xml +++ b/addons/magazinerepack/stringtable.xml @@ -12,6 +12,7 @@ Przepakowywanie magazynków Перепаковка Магазинов Preenchimento de Carregador + Remplissage chargeurs Time per round @@ -24,6 +25,7 @@ Czas na nabój Время на патрон Tempo por projétil + Temps par cartouche Time per magazine @@ -36,6 +38,7 @@ Czas na magazynek Время на магазин Tempo por carregador + Temps par chargeur Time per belt link @@ -48,12 +51,13 @@ Czas na taśmę Время на звено ленты Tempo por carregador de cinto + Temps par bande Repack Magazines Magazine umpacken Reorganizar cargadores - Réorganiser les chargeurs + Remplir les chargeurs Przepakuj magazynki Přepáskovat zásobníky Riempi Caricatori @@ -69,7 +73,7 @@ Repacking Magazines... Magazine umpacken... Reorganizando cargadores... - Réorganisation des chargeurs... + Remplissage des chargeurs... Przepakowywanie magazynków... Přepáskovávám zásobník... Riempendo i caricatori... @@ -99,7 +103,7 @@ Repacking Finished - Réorganisation terminée + Remplissage terminé Wiederverpacken fertig Reorganización finalizada Перепаковка завершена @@ -115,7 +119,7 @@ Repacking Interrupted - Réorganisation interrompue + Remplissage interrompu Umpacken unterbrochen Reorganización interrumpida Перепаковка прервана diff --git a/addons/main/config.cpp b/addons/main/config.cpp index 4852b9ff16..7dda3f1f4c 100644 --- a/addons/main/config.cpp +++ b/addons/main/config.cpp @@ -6,14 +6,7 @@ class CfgPatches { units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; - requiredAddons[] = { - "A3_Data_F_Enoch_Loadorder", - "A3_Data_F_Mod_Loadorder", - // CBA - "cba_ui", - "cba_xeh", - "cba_jr" - }; + requiredAddons[] = {"cba_main"}; author = ECSTRING(common,ACETeam); url = CSTRING(URL); VERSION_CONFIG; diff --git a/addons/main/script_mod.hpp b/addons/main/script_mod.hpp index 6a38897d47..3cfe2f7d8f 100644 --- a/addons/main/script_mod.hpp +++ b/addons/main/script_mod.hpp @@ -10,8 +10,8 @@ #define VERSION_AR MAJOR,MINOR,PATCHLVL,BUILD // MINIMAL required version for the Mod. Components can specify others.. -#define REQUIRED_VERSION 1.94 -#define REQUIRED_CBA_VERSION {3,11,2} +#define REQUIRED_VERSION 1.96 +#define REQUIRED_CBA_VERSION {3,12,2} #ifdef COMPONENT_BEAUTIFIED #define COMPONENT_NAME QUOTE(ACE3 - COMPONENT_BEAUTIFIED) diff --git a/addons/map/functions/fnc_initMainMap.sqf b/addons/map/functions/fnc_initMainMap.sqf index bebfcbd999..1617be33db 100644 --- a/addons/map/functions/fnc_initMainMap.sqf +++ b/addons/map/functions/fnc_initMainMap.sqf @@ -7,6 +7,12 @@ if (ctrlIDD _display != IDD_MAIN_MAP) exitWith {}; private _control = _display displayCtrl IDC_MAP; GVAR(lastStillPosition) = _control ctrlMapScreenToWorld [0.5, 0.5]; +[{ + if (!GVAR(isShaking)) then { // player map position won't be correct until a frame later + GVAR(lastStillPosition) = _this ctrlMapScreenToWorld [0.5, 0.5]; + }; +}, _control] call CBA_fnc_execNextFrame; + GVAR(lastStillTime) = CBA_missionTime; GVAR(isShaking) = false; diff --git a/addons/map/stringtable.xml b/addons/map/stringtable.xml index 33110569e9..a5d5ee4d8f 100644 --- a/addons/map/stringtable.xml +++ b/addons/map/stringtable.xml @@ -24,7 +24,7 @@ ¿Iluminación de mapa Osvětlení mapy Iluminação do mapa - Illumination de la carte + Éclairage de la carte Térkép megvilágítása Освещение карты Illuminazione Mappa @@ -37,7 +37,7 @@ Simulate map lighting based on ambient lighting and player's items? Simuliere Kartenbeleuchtung auf Basis des Umgebungslichts sowie der mitgeführten Gegenstände? Symuluj oświetlenie mapy bazujące na oświetleniu otoczenia oraz przedmiotach gracza? - Calculer la luminosité de la carte en fonction des conditions de lumière ? + Simuler l'éclairage de la carte en fonction de l'éclairage ambiant et des objets du joueur ? Симулировать освещение карты на основе окружающего света и приборов игрока? Simular a luz do mapa baseado em luz ambiente e itens do jogador? Simular iluminación de mapa basada en la iluminación ambiente y los elementos de los jugadores? @@ -57,7 +57,7 @@ Resplandor de linterna en el mapa Nasvícení mapy pomocí baterky Luce della torcia in mappa - Lumière de la lampe de carte + Lueur lampe carte 地図をライトで照らしますか 지도 조명이 빛이 납니까 增加地图亮度 @@ -67,7 +67,7 @@ Add external glow to players who use flashlight on map? Kartenbeleuchtung mittels Taschenlampe durch Dritte erkennbar? Pokaż poświatę światła latarki na graczu, który używa latarki na widoku mapy? - Ajouter un effet de lumière sur un joueur utilisant une lampe torche sur la carte ? + Ajouter une lueur externe aux joueurs éclairant leur carte avec une lampe ? Добавить свет при использовании фонаря на карте? Adicionar brilho externo para jogadores que usam lanterna no mapa? Añadir resplandor externo a los jugadores que utilizan la linterna en el mapa? @@ -101,7 +101,7 @@ Kamerawackeln beim Gehen? Umožnit třesení mapy za pochodu? Tremer o mapa enquanto caminha? - Faire trembler la carte lors d'un déplacement? + Faire trembler la carte lorsque le joueur marche ? Rázkódjon-e a térkép mozgáskor? Заставлять карту трястись при ходьбе? Far scuotere la mappa mentre cammini? @@ -117,7 +117,7 @@ Kartenvergrößerung einschränken Omezit přiblížení mapy Limitar zoom do mapa - Limiter le zoom de la carte + Limiter le zoom sur carte Térkép-nagyítás korlátozása Ограничить приближение карты Limita lo zoom in mappa @@ -133,7 +133,7 @@ Schränkt die maximale Kartenvergrößerung ein. Omezit stupeň přiblížení pro mapu? Limitar a quantidade de zoom disponível para o mapa? - Limiter le zoom maximum de la carte ? + Limiter le niveau de zoom sur la carte ? Korlátozva legyen-e a nagyítás mennyisége a térképnél? Ограничить максимальное приближение, доступное на карте? Limita l'ammontare di zoom disponibile per la mappa? @@ -149,7 +149,7 @@ Zeige Mauszeiger-Koordinaten Zobrazit souřadnice u kurzoru Mostrar coordenadas no cursor - Afficher les coordonnées sur le curseur + Afficher les coordonnées du curseur Kurzor-koordináták mutatása Показывать координаты курсора Mostra coordinate sul cursore @@ -165,7 +165,7 @@ Gitter-Koordinaten auf dem Mauszeiger anzeigen? Zobrazit souřadnice u kurzoru v mapě? Mostrar as coordenadas de grade no ponteiro do mouse? - Afficher les coordonnées de la grille à coté du curseur ? + Afficher les coordonnées de la grille sur le pointeur de souris ? Mutatva legyen-e a kurzornál található rész rácskoordinátája? Показывать координаты около курсора мыши? Mostra la griglia coordinate sul cursore mouse? @@ -180,7 +180,7 @@ Dieses Modul erweitert die Kartenfunktionen. Tento modul umožňuje přizpůsobit mapu s obrazem. Este módulo permite que você personalize a tela de mapa. - Ce module permet de personnaliser l'écran de la carte. + Ce module permet de personnaliser l'écran de carte. Ez a modul lehetővé teszi a térképnézet testreszabását. Этот модуль позволяет настроить отображение карты. Este módulo permite personalizar la pantalla del mapa. @@ -197,7 +197,7 @@ Blue Force Tracking Blue Force Tracking Rastreio de forças azuis - Blue Force Tracking (SFA) + Suivi des Forces Alliées (SFA) Blue Force követés Система слежения Blue Force Tracking Blue Force Tracking @@ -213,7 +213,7 @@ Aktywuj BFT Povolit BFT Activar BFT - Activer le Suivi des Forces Alliées + Activer le SFA BFT engedélyezése Включить BFT Abilita BFT @@ -261,7 +261,7 @@ Wie oft sollen die Markierungen aktualisiert werden (in Sekunden) Jak často budou značky aktualizovány (v sekundách) Frequência em que os marcadores devem ser atualizados (em segundos) - Fréquence de rafraîchissement des marqueurs ? + Fréquence de rafraîchissement des marqueurs (en secondes) Milyen gyakran frissüljenek a jelölők (másodpercben) Как часто должны обновляться маркеры (в секундах) Quanto spesso vengono aggiornati i marker (in secondi) @@ -277,7 +277,7 @@ KI-Gruppen verstecken Skrýt AI skupiny Esconder grupos de IA - Cacher les groupes d'IA + Cacher les groupes IA AI csoportok elrejtése Скрыть группы ботов Nascondere gruppi IA @@ -293,7 +293,7 @@ Verstecke Marker für "nur KI"-Gruppen? Skrýt značky pouze pro AI skupiny? Esconder marcadores que pertencem ao grupo de IA? - Cacher les marqueurs pour les groupes d'IA seulement ? + Cacher les marqueurs pour les groupes composés exclusivement d'unités IA ? Jelölők elrejtése "csak AI" csoportoknál? Скрыть маркеры групп, которые состоят полностью из ботов? Nascondi markers per gruppi di sole IA? @@ -325,7 +325,7 @@ Zeigt die Namen der einzelnen Spieler an Zobrazit názvy jednotlivých hráčů? Mostrar nomes individuais dos jogadores? - Affiche les noms des joueurs individuels ? + Afficher les noms des joueurs individuels ? Itt található az adott játékos neveket? Показать отдельные имена игроков? Mostra i nomi dei giocatori singoli? @@ -385,7 +385,7 @@ Ein Włącz Ligado - Allumé + Allumée Вкл. Zapnout Encendido @@ -400,7 +400,7 @@ Aus Wyłącz Desligado - Éteins + Éteinte Выкл. Vypnout Apagado @@ -481,7 +481,7 @@ Zvolit kanál po startu Imposta Canale all'Avvio Setear canal al comenzar - Mettre un canal par défaut + Définir un canal par défaut 開始時のチャンネルを決定 시작시 채널 设定游戏开始时的聊天频道 @@ -508,7 +508,7 @@ BFTを無効化 GPS피아식별기 끄기 Wyłącz BFT - Désactive le BFT + Désactiver le SFA Disablita BFT 关闭友军踪迹 關閉友軍蹤跡 @@ -521,7 +521,7 @@ このグループへのブルー フォース トラッキングを常に無効化します。 이 그룹에 한해 GPS피아식별기를 항상 끕니다. Zawsze wyłączaj Blue Force Tracking dla tej grupy. - Désactive en permanence le Blue Force Tracking pour ce groupe. + Désactive en permanence le Suivi des Forces Alliées pour ce groupe. Disabilita sempre il Blue Force Tracking per questo gruppo. 对此小队永远关闭友军踪迹显示 對此小隊永遠關閉友軍蹤跡顯示 diff --git a/addons/map_gestures/stringtable.xml b/addons/map_gestures/stringtable.xml index feb98f2091..0e0be2909e 100644 --- a/addons/map_gestures/stringtable.xml +++ b/addons/map_gestures/stringtable.xml @@ -1,7 +1,7 @@ - - + + Map Gestures Gestos no mapa Gesty na mapie @@ -10,13 +10,13 @@ Gesti Mappa Kartenzeichen Gestos en mapa - Gestes de carte + Pointage sur carte マップ ジェスチャ 지도 신호 地图标识器 地圖指示器 - + Enabled Ativado Aktywne @@ -25,13 +25,13 @@ Abilita Aktiviert Activado - Activer + Activé 有効化 켜기 启用 啟用 - + Map Gesture Max Range Distância para gestos no mapa Maks. zasięg gestów @@ -40,13 +40,13 @@ Distanza Massima Gesti Mappa Maximale Reichweite der Kartenzeichen Máx. dist. para gestos en mapa - Distance max. des gestes de carte + Portée du pointage sur carte マップ ジェスチャの最大範囲 지도 신호 최대 거리 地图标识器最大范围 地圖指示器最大範圍 - + Max range between players to show the map gesture indicator [default: 7 meters] Distância max. entre os jogadores para mostrar o indicador de gesto no mapa [padrão: 7 metros] Maksymalny zasięg, w obrębie którego gesty będą widoczne dla graczy [domyślnie: 7 metrów] @@ -55,13 +55,13 @@ Distanza massima tra giocatori per mostrare i gesti in mappa [default: 7 metri] Maximale Reichweite zwischen Spielern um Kartenzeichen anzuzeigen (Standard: 7 Meter) Máxima distancia a la cual pueden verse el indicador de gestos [defecto: 7 m] - Distance max. entre les joueurs pour montrer le pointage sur carte. (Défaut : 7m) + Définit le rayon au-delà duquel les joueurs ne verront plus l'indicateur de pointage de leurs alliés [Défaut : 7 mètres] プレイヤのマップ ジェスチャによる表示範囲を設定します [標準:7 メートル] 플레이어간에 지도 신호 표시거리를 설정합니다. [기본: 7 미터] 设定地图标识器显示的最大范围距离 [预设: 7公尺] 設定地圖指示器顯示的最大範圍距離 [預設: 7公尺] - + Lead Default Color Cor padrão para o líder Domyślny kolor lidera @@ -70,13 +70,13 @@ Colore Default Caposquadra Gruppenführer-Standardfarbe Color por defecto para el lider - Couleur principale de commandement. + Couleur de commandement par défaut リーダー用標準の色 리더 기본 색상 队长预设颜色 隊長預設顏色 - + Fallback Color value for group leaders when there is no group setting. [Module: leave blank to not force on clients] Valor de cor alternativa para líderes de grupo Domyślny kolor dla liderów grup. @@ -84,13 +84,13 @@ Colore di riserva dei capisquadra quando non c'è nessuna impostazione gruppo. [Modulo: lascia vuoto per non forzare su clients] Ersatz-Farbwert für Gruppenführer wenn keine Gruppeneinstellung vorhanden ist. [Modul: leer lassen um Anwendung bei Clients nicht zu erzwingen] Color por defecto para líderes cuando no está configurado [Módulo: dejar en blanco para no forzar] - Couleur par défaut pour les chefs de groupe quand il n'y a pas de réglage pour le groupe. (Module : laisser vide pour ne pas forcer chez les clients) + Couleur par défaut pour les chefs de groupe quand il n'y a pas de réglage de groupe. [Module : laisser vide pour ne pas forcer chez les clients] グループ設定が存在しない場合に、グループ リーダーへ設定される色の値を設定します。[モジュール:空の場合はクライアントへ強制しません] 그룹 설정이 없는 경우 리더의 예비 색상 값입니다. [모듈: 클라이언트에서 강체치 않기 위해 공백으로 비워둘것] 当没有设定小队颜色时,此功能会定义队长的标识器颜色。[模块: 此栏留空来保持预设颜色] 當沒有設定小隊顏色時,此功能會定義隊長的指示器顏色。[模塊: 此欄留空來保持預設顏色] - + Default Color Cor padrão Kolor domyślny @@ -105,7 +105,7 @@ 预设颜色 預設顏色 - + Fallback Color value when there is no group setting. [Module: leave blank to not force on clients] Valor alternativo de cor Kolor domyślny @@ -119,7 +119,7 @@ 当没有设定小队颜色时,此功能会定义玩家的标识器颜色。[模块: 此栏留空来保持预设颜色] 當沒有設定小隊顏色時,此功能會定義玩家的指示器顏色。[模塊: 此欄留空來保持預設顏色] - + Lead Color Cor do líder Kolor lidera @@ -134,7 +134,7 @@ 队长颜色 隊長顏色 - + Color value for group leaders of groups synced with this module. Valor de cor para líderes de grupo sincronizados com este módulo. Kolor dla liderów grup zsynchronizowanych z tym modułem. @@ -142,13 +142,13 @@ Colore dei Caposquadra per gruppi sincronizzati con questo modulo. Farbwert für Gruppenführer, die mit diesem Modul synchronisiert werden. Color para los líderes de los grupos sincronizados al módulo. - Couleur pour les chefs de groupe des groupes synchronisés avec le module. + Couleur pour les chefs des groupes synchronisés avec ce module. モジュールで同期されたグループのリーダー用に色の値を決定します。 그룹이 이 모듈에 동기화 됐을때의 리더 색상입니다. 改变与此同步小队队长的标识器颜色。 改變與此同步小隊隊長的指示器顏色 - + Color Cor Kolor @@ -163,7 +163,7 @@ 颜色 顏色 - + Color value for group members of groups synced with this module. Valor de cor para membros de grupo sincronizados com este módulo. Kolor dla członków grup zsynchronizowanych z tym modułem. @@ -171,13 +171,13 @@ Colore per membri di gruppi sincronizzati con questo modulo. Farbwert für Gruppenmitglieder, die mit diesem Modul synchronisiert werden. Color para los miembros de los grupos sincronizados al módulo. - Couleur pour les membres du groupe synchronisé avec ce module. + Couleur pour les membres des groupes synchronisés avec ce module. モジュールで同期されたグループのメンバ用に色の値を決定します。 그룹이 이 모듈에 동기화 됐을때의 멤버 색상입니다. 改变与此同步小队队员的标识器颜色 改變與此同步小隊隊員的指示器顏色 - + Map Gestures - Group Settings Gestos no mapa - Definições de Grupo Gesty na mapie - ustawienia grup @@ -186,13 +186,13 @@ Gesti Mappa - Impostazioni Gruppi Kartenzeichen - Gruppeneinstellungen Gestos en mapas - Configuración de grupos - Gestes de carte - réglages de groupe + Pointage sur carte - réglages de groupe マップ ジェスチャ - グループ設定 지도 신호 - 그룹 설정 地图标识器 - 队伍设定 地圖指示器 - 隊伍設定 - + Update Interval Intervalo de atualizações Interwał aktualizacji @@ -207,7 +207,7 @@ 更新间隔 更新間隔 - + Time between data updates. Tempo entre atualização de dados Odstęp pomiędzy aktualizacjami danych @@ -216,13 +216,13 @@ Intervallo tra aggiornamenti dati. Zeit zwischen Datenupdates. Tiempo entre actualizaciones sucesivas. - Temps entre les actualisations de données + Temps entre les actualisations des données データの更新間隔 데이터 갱신 간격 定义每次更新数据的时间. 定義每次更新數據的時間 - + Enables the Map Gestures. Ativa os gestos no mapa Aktywuje gesty na mapie. @@ -231,13 +231,13 @@ Abilita i Gesti Mappa Aktiviert die Kartenzeichen. Activar Gestos en Mapa - Activer les gestes de carte + Active le pointage sur carte マップ ジェスチャを有効化 지도 신호 활성화 启用地图标识器 啟用地圖指示器 - + Name Text Color Cor do texto do nome Kolor nazw @@ -252,7 +252,7 @@ 名称文字颜色 名稱文字顏色 - + Color of the name tag text besides the map gestures mark. Cor do texto da etiqueta de nome que fica embaixo da marcação de gestos no mapa. Kolor nazwy gracza obok markera gestu mapy. @@ -260,13 +260,13 @@ Colore del testo dei nametag oltre a quello dei Gesti Mappa Farbe der Namenstexte neben der Kartenzeichen-Markierung. Color de los nombres dibujados al lado del marcados de gestos. - Couleur des tags de nom à côté de marqueur de pointage sur carte. + Couleur du texte pour le nom à côté du marqueur de pointage sur carte. マップ ジェスチャに表示される、名前の色を決定します。 지도 색상에 표시되는 이름의 색상을 결정합니다. 定义名称文字颜色。使其与地图标识器颜色有所区别。 定義名稱文字顏色。使其與地圖指示器顏色有所區別 - + Map Gestures Gestos no mapa Gesty na mapie @@ -275,7 +275,7 @@ Gesti Mappa Kartenzeichen Gestos en mapa - Gestes de carte + Pointage sur carte マップ ジェスチャ 지도 신호 地图标识器 diff --git a/addons/maptools/stringtable.xml b/addons/maptools/stringtable.xml index 3fee4de5ad..7b8ac7fb9c 100644 --- a/addons/maptools/stringtable.xml +++ b/addons/maptools/stringtable.xml @@ -133,7 +133,7 @@ Show GPS on Map Zeige GPS auf der Karte Mostrar el GPS sobre el mapa - Montrer le GPS + Afficher le GPS sur la carte Visualizza il GPS sulla mappa Mostrar GPS no Mapa GPS megjelenítése a térképen @@ -149,7 +149,7 @@ Hide GPS on Map Verstecke GPS auf der Karte Ocultar el GPS del mapa - Ranger le GPS + Masquer le GPS sur la carte Nascondi il GPS sulla mappa Ocultar GPS no Mapa GPS elrejtése a térképről @@ -222,7 +222,7 @@ Zeichne gerade Linien am Rand des Kartenwerkzeugs. Hinweis: zum Löschen über den Mittelpunkt der Linie fahren 독도용 도구 가장자리에 직선을 그립니다. 주의: 삭제하기 위해선 선의 중앙에 가져다 대십시요 Przeciągnij po krawędzi narzędzi nawigacyjnych by narysować prostą linię. Uwaga: aby usunąć linię - nalezy ustawić kursor nad jej środkiem. - Utiliser le bord des outils de navigation pour tracer des lignes droites. Note: l'on doit survoler le milieu du trait pour pouvoir le supprimer. + Utiliser le bord des outils de navigation pour tracer des lignes droites. Note : il faut pointer au milieu du trait pour pouvoir le supprimer. Disegna sul bordo degli strumenti di mappatura per disegnare linee dritte. Nota: Deve spostarsi al centro per essere cancellato. 使用地图工具的边缘来绘制直线。备注: 要删除直线时,请把滑鼠移动到该线条的中央即可删除该线。 使用地圖工具的邊緣來繪製直線。備註: 要刪除直線時,請把滑鼠移動到該線條的中央即可刪除該線 diff --git a/addons/markers/stringtable.xml b/addons/markers/stringtable.xml index ccd1bbdb94..1ea0d0058b 100644 --- a/addons/markers/stringtable.xml +++ b/addons/markers/stringtable.xml @@ -28,6 +28,7 @@ Znaczniki Маркеры Marcadores + Marqueurs Allow moving markers for @@ -40,6 +41,7 @@ Zezwól na poruszanie znaczników dla Разрешить перемещение маркеров для Permitir que movam marcadores + Permettre le déplacement des marqueurs pour Restricts which players are able to move markers while holding the Alt key. @@ -52,6 +54,7 @@ Ogranicz którzy gracze mogą poruszać znacznikami podczas trzymania przycisku Alt. Устанавливает ограничение на перемещения маркеров игроками при помощи клавиши Alt Restringe quais jogadores podem mover os marcadores do mapa enquanto seguram a tecla ALT. + Définit quels joueurs peuvent déplacer les marqueurs en maintenant la touche Alt enfoncée. Nobody @@ -64,6 +67,7 @@ Nikt Никого Ninguém + Personne All players @@ -76,6 +80,7 @@ Wszyscy gracze Всех игроков Todos jogadores + Tous les joueurs Admins @@ -88,6 +93,7 @@ Administratorzy Админов Admins + Admins Group leaders @@ -100,6 +106,7 @@ Przywódcy grup Лидеров групп Líderes de grupo + Chefs de groupe Group leaders and Admins @@ -112,6 +119,7 @@ Przywódcy grup i Administratorzy Лидеров групп и Админов Líderes de grupo e Admins + Chefs de groupe et Admins Creator @@ -120,6 +128,8 @@ Twórca Создателя Criador + 放置者 + Créateur diff --git a/addons/maverick/stringtable.xml b/addons/maverick/stringtable.xml index a0ca458c08..0aeee342f0 100644 --- a/addons/maverick/stringtable.xml +++ b/addons/maverick/stringtable.xml @@ -1,8 +1,8 @@ - - + + - + AGM-65 Maverick L, Laser Guided Anti-Ground-Missile AGM-65 Maverick L, lasergelenkte Luft-Boden-Rakete AGM-65 Maverick L, Guida Laser Missile Anti-Terra @@ -13,8 +13,9 @@ AGM-65 Maverick L, Kierowany laserowo pocisk powietrze-ziemia AGM-65 Maverick L, ракета Воздух-Земля с лазерным наведением AGM-65 Maverick L, Míssil Anti Chão Guiado a Laser + AGM-65L Maverick, Missile Air-Sol à Guidage Laser - + AGM-65 Maverick L [ACE] AGM-65 Maverick L [ACE] AGM-65 Maverick L [ACE] @@ -25,8 +26,9 @@ AGM-65 Maverick L [ACE] AGM-65 Maverick L [ACE] AGM-65 Maverick L [ACE] + 1x AGM-65L Maverick [ACE] - + 2x AGM-65 Maverick L [ACE] 2x AGM-65 Maverick L [ACE] 2x AGM-65 Maverick L [ACE] @@ -37,8 +39,9 @@ 2x AGM-65 Maverick L [ACE] 2x AGM-65 Maverick L [ACE] 2x AGM-65 Maverick L [ACE] + 2x AGM-65L Maverick [ACE] - + 3x AGM-65 Maverick L [ACE] 3x AGM-65 Maverick L [ACE] 3x AGM-65 Maverick L [ACE] @@ -49,8 +52,9 @@ 3x AGM-65 Maverick L [ACE] 3x AGM-65 Maverick L [ACE] 3x AGM-65 Maverick L [ACE] + 3x AGM-65L Maverick [ACE] - + Laser Guided Lasergelenkt Guida Laser @@ -61,8 +65,9 @@ Kierowany laserowo С лазерным наведением Guiado a laser + Guidage Laser - + Kh-25ML, Laser Guided Air-to-Ground-Missile Ch-25ML, Lasergelenkte Luft-Boden-Rakete Kh-25ML, 레이저 유도 대공 미사일 @@ -73,8 +78,9 @@ Kh-25ML, Kierowany laserowo pocisk powietrze-ziemia Х-25МЛ, ракета Воздух-Земля с лазерным наведением Kh-25ML, Míssil Ar para Chão Guiado a Laser + Kh-25ML, Missile Air-Sol à Guidage Laser - + 1x Kh-25ML [ACE] 1x Ch-25ML [ACE] 1x Х-25МЛ [ACE] @@ -85,10 +91,11 @@ 1x Kh-25ML [ACE] 1x Kh-25ML [ACE] 1x Kh-25ML [ACE] + 1x Kh-25ML [ACE] - + AGM-65 Maverick L AGM-65 Maverick L AGM-65 Maverick L @@ -99,8 +106,9 @@ AGM-65 Maverick L AGM-65 Maverick L AGM-65 Maverick L + AGM-65L Maverick - + Kh-25ML Ch-25ML Х-25МЛ @@ -111,6 +119,7 @@ Kh-25ML Kh-25ML Kh-25ML + Kh-25ML diff --git a/addons/medical/functions/fnc_addDamageToUnit.sqf b/addons/medical/functions/fnc_addDamageToUnit.sqf index 4e2561438e..f571d27726 100644 --- a/addons/medical/functions/fnc_addDamageToUnit.sqf +++ b/addons/medical/functions/fnc_addDamageToUnit.sqf @@ -2,7 +2,6 @@ /* * Author: PabstMirror * Manually Apply Damage to a unit (can cause lethal damage) - * NOTE: because of caching, this will not have instant effects (~3 frame delay) * * Arguments: * 0: The Unit @@ -10,6 +9,7 @@ * 2: Body part ("Head", "Body", "LeftArm", "RightArm", "LeftLeg", "RightLeg") * 3: Projectile Type * 4: Source + * 5: Non-directional damage source array (Optional) * * Return Value: * Successful @@ -22,12 +22,12 @@ */ // #define DEBUG_TESTRESULTS -params [["_unit", objNull, [objNull]], ["_damageToAdd", -1, [0]], ["_bodyPart", "", [""]], ["_typeOfDamage", "", [""]], ["_instigator", objNull, [objNull]]]; -TRACE_5("addDamageToUnit",_unit,_damageToAdd,_bodyPart,_typeOfDamage,_instigator); +params [["_unit", objNull, [objNull]], ["_damageToAdd", -1, [0]], ["_bodyPart", "", [""]], ["_typeOfDamage", "", [""]], ["_instigator", objNull, [objNull]], ["_damageSelectionArray", [], [[]]]]; +TRACE_6("addDamageToUnit",_unit,_damageToAdd,_bodyPart,_typeOfDamage,_instigator,_damageSelectionArray); _bodyPart = toLower _bodyPart; private _bodyPartIndex = ALL_BODY_PARTS find _bodyPart; -if (_bodyPartIndex < 0) then { _bodyPartIndex = ALL_SELECTIONS find _bodyPart; }; // 2nd attempt with selection names ("hand_l", "hand_r", "leg_l", "leg_r") +if (_bodyPartIndex < 0) then { _bodyPartIndex = ALL_SELECTIONS find _bodyPart; }; // 2nd attempt with selection names ("hand_l", "hand_r", "leg_l", "leg_r") if (_bodyPartIndex < 0) exitWith {ERROR_1("addDamageToUnit - bad selection %1", _this); false}; if (isNull _unit || {!local _unit} || {!alive _unit}) exitWith {ERROR_2("addDamageToUnit - badUnit %1 [local %2]", _this, local _unit); false}; if (_damageToAdd < 0) exitWith {ERROR_1("addDamageToUnit - bad damage %1", _this); false}; @@ -35,20 +35,24 @@ if (_damageToAdd < 0) exitWith {ERROR_1("addDamageToUnit - bad damage %1", _this // Extension is case sensitive and expects this format (different from ALL_BODY_PARTS) _bodyPart = ["Head", "Body", "LeftArm", "RightArm", "LeftLeg", "RightLeg"] select _bodyPartIndex; +if (_damageSelectionArray isEqualTo []) then { // this will only be used if damage type is not location specific + _damageSelectionArray = [HITPOINT_INDEX_HEAD, 1, HITPOINT_INDEX_BODY, 1, HITPOINT_INDEX_LARM, 1, HITPOINT_INDEX_RARM, 1, HITPOINT_INDEX_LLEG, 1, HITPOINT_INDEX_RLEG, 1]; +}; + if (!isNull _instigator) then { _unit setVariable [QEGVAR(medical,lastDamageSource), _instigator]; _unit setVariable [QEGVAR(medical,lastInstigator), _instigator]; }; #ifdef DEBUG_TESTRESULTS -private _startDmg = +(_unit getVariable [QEGVAR(medical,bodyPartDamage), [-1]]); +private _startDmg = +(_unit getVariable [QEGVAR(medical,bodyPartDamage), [0,0,0,0,0,0]]); private _startPain = GET_PAIN(_unit); #endif -[QEGVAR(medical,woundReceived), [_unit, _bodyPart, _damageToAdd, _instigator, _typeOfDamage]] call CBA_fnc_localEvent; +[QEGVAR(medical,woundReceived), [_unit, _bodyPart, _damageToAdd, _instigator, _typeOfDamage, _damageSelectionArray]] call CBA_fnc_localEvent; #ifdef DEBUG_TESTRESULTS -private _endDmg = _unit getVariable [QEGVAR(medical,bodyPartDamage), [-1]]; +private _endDmg = _unit getVariable [QEGVAR(medical,bodyPartDamage), [0,0,0,0,0,0]]; private _endPain = GET_PAIN(_unit); private _typeOfDamageAdj = _typeOfDamage call EFUNC(medical_damage,getTypeOfDamage); private _config = configFile >> "ACE_Medical_Injuries" >> "damageTypes" >> _typeOfDamageAdj; diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 762188b924..31df469111 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -20,24 +20,32 @@ Unconscious Wake Up Chance Wahrscheinlichkeit aufzuwachen - 気絶から覚醒する可能性 + 気絶から覚醒の可能性 Шанс очнуться при потере сознания Chance de reprendre connaissance Chance de recuperar consciência + 從無意識中甦醒機率 The probablity that a unit with stable vitals will wake up from unconsciousness (checked every 15 seconds). Wahrscheinlichkeit, dass eine bewusstlose Person mit stabilen Vitalwerten wieder aufwacht ()Überprüfung alle 15 Sekunden) - 安定状態にある人が覚醒する確率です。(15 秒毎に確認) + 容体が安定しているユニットが気絶する確率を決定できます。(15 秒毎に確認) Вероятность, что стабилизированный юнит очнется от потери сознания (Проверяется каждые 15 сек) La probabilité pour qu'une unité en état stable puisse reprendre conscience (état vérifié toutes les 15 secondes). A probabilidade que uma unidade com vitais estabilizados possa recuperar consciências (verificado a cada 15 segundos) + 生命跡象穩定的單位從無意識狀態中甦醒的機率(每十五秒確認一次) Epinephrine Increases Wake Up Chance + アドレナリンで覚醒確率上昇 + 腎上腺素甦醒機率增加 + L'épinéphrine augmente les chances de réveil Increases how often spontaneous wake up checks happen when patient has Epinephrine in their system. + 患者がアドレナリンを投与されると自発的に覚醒する確率を上昇させます。 + 增加因病患的循環系統裡面的腎上腺素自我甦醒的機率。 + Augmente la probabilité qu'un patient inconscient se réveille spontanément lorsqu'il a de l'épinéphrine dans son système sanguin. Limping @@ -45,9 +53,13 @@ 跛行 Boitement Mancando + 跛腳 Controls whether open or bandaged wounds cause a person to limp. + 創傷開放か傷があると跛行するかどうかを決定できます。 + 控制裂開或者已包紮傷口是否會讓人跛腳。 + Permet de définir si les plaies ouvertes ou pansées font boiter une personne. Limp on Open Wounds @@ -55,13 +67,15 @@ 創傷開放時に跛行 Boiter si plaies ouvertes Mancar se possuir feridas abertas + 傷口裂開時跛腳 Limp on Open or Bandaged Wounds Хромота при открытых или забинтованых ранах - 負傷時は引きずって歩くようにします + 手当した傷か創傷開放すると跛行 Boiter si plaies ouvertes ou pansées Mancar se possuir feridas abertas ou atadas + 使裂開或者包紮過的傷口讓人跛腳 Fractures @@ -69,9 +83,13 @@ 骨折 Fractures Fraturas + 骨折 Controls the effect of using splints to treat fractures.\nWhen disabled, injuries will not cause fractures. + 医療機能で骨折に添え木効果を使うかどうかを決定できます。\n無効化すると、骨折効果は表れません。 + 控制是否讓固定版能夠治療骨折。\n當停用時,受傷時不會導致骨折發生。 + Permet de définir le niveau d'efficacité des attelles pour le traitement des fractures.\nSi l'option est désactivée, les blessures ne causent pas de fractures. Splints Fully Heal Fractures @@ -79,13 +97,15 @@ 添え木で骨折完治 Les attelles guérissent complètement les fractures Tala cura fraturas completamente + 固定板完全治癒骨折 Splints Heal, but Cannot Sprint Шины вылечивают, но не дают бегать - 添え木で治療しますが、走れません + 添え木で治癒可能、走れないように Les attelles guérissent les fractures, mais empêchent de courir Talas curam (mas não consegue correr) + 固定版能治癒骨折,但無法奔跑 Remote Controlled AI @@ -114,7 +134,7 @@ Távvezérelt egységek AI-ként, nem játékosként való kezelése? Обрабатывать дистанционно управляемых юнитов как ботов, а не как игроков? Considera le unità controllate in remoto come IA e non come giocatori? - 遠隔操作された AI は、非プレイヤーとして扱いますか? + 遠隔操作された AI を非プレイヤーとして扱いますか? 원격 조작하는 AI는 비 플레이어로 취급합니까? 以医疗AI的方式医疗被遥控的单位 以醫療AI的方式醫療被遙控的單位 @@ -146,10 +166,10 @@ Force une unité à perdre connaissance, au lieu de mourir sur le coup. Egy egység kerüljön eszméletlen állapotba a halott helyett Imposta un'unità come incosciente invece di morta - ユニットの即死を防止するために、気絶へ移行させます + ユニットの即死を防止する為に気絶へ移行させます 인원의 즉사를 방지코자 즉사 대신 기절시킵니다 伤者最严重只会立即进入昏迷,而非立即死亡 - 傷者最嚴重只會立即進入昏迷,而非立即死亡 + 傷者最嚴重只會無意識,而非立即死亡 Provides a medical system for both players and AI. @@ -159,7 +179,7 @@ Aktiviert ein Sanitätssystem für Spieler und KI. Poskytuje zdravotní systém pro hráče a AI. Proporciona o sistema médico para os jogadores e a IA. - Fournit un système médical à la fois pour les joueurs, et pour les IA. + Fournit un système médical aussi bien pour les joueurs que pour les IA. Egy orvosi rendszert ad játékosok és AI-k számára. Fornisce un sistema medico sia per giocatori che IA. プレイヤーと AI の両方へ医療システムを提供します。 @@ -288,8 +308,9 @@ Heal fully bandaged hitpoints Cura Hitpoints completamente bendati Les plaies entièrement bandées seront guéries. - 包帯によりヒットポイントを完全に回復する + 包帯によりヒットポイントを完全に回復します。 붕대를 감아서 체력을 회복 + 繃帶是否會完整恢復生命值 Configure the treatment settings from ACE Basic Medical @@ -300,7 +321,7 @@ Configura le impostazioni trattamenti per ACE Medical di base Configura as opções de tratamento do sistema médico básico do ACE Настройка лечения в базовой медицинской системе ACE - ACE ベーシック医療による設定で、治療を設定する + ACE ベーシック医療による設定で、治療を設定します。 ACE 기본 의료에 대한 치료 설정 수정 设定ACE基本医疗的规则 設定ACE基本醫療的規則 diff --git a/addons/medical_ai/stringtable.xml b/addons/medical_ai/stringtable.xml index 62c09e0bed..226dad2381 100644 --- a/addons/medical_ai/stringtable.xml +++ b/addons/medical_ai/stringtable.xml @@ -1,23 +1,25 @@ - - + + Medic AI Sanitäts KI AI 衛生兵 ИИ Медик Médecine IA IA Médico + AI醫療兵 - + AI will respond to injury and unconsciousness KI reagiert auf Verletzungen und Bewusstlosigkeit AI が負傷者と気絶している人に対して行動するようになります。 ИИ будет реагировать на травмы и потерю сознания Les unités IA seront sensibles aux blessures, ainsi qu'à la perte de connaissance. A IA irá responder a ferimentos e perdas de consciência + AI對於受傷及無意識單位會有所反應 - + Only Server and HC Nur Server und HC Sólo Server y HC diff --git a/addons/medical_blood/stringtable.xml b/addons/medical_blood/stringtable.xml index e5ec3aa174..3c423677cd 100644 --- a/addons/medical_blood/stringtable.xml +++ b/addons/medical_blood/stringtable.xml @@ -13,6 +13,7 @@ Sangue 혈흔 血痕 + 血跡 Enable Blood Drops @@ -33,6 +34,7 @@ Si une unité saigne, elle laissera des traces de sang derrière elle. Разрешает создание капель крови при кровотечении или получении урона Permitir a criação de gotas de sangue quando as unidades recebem ferimentos ou estão sangrando. + 啟用出血效果當單位失血或受傷的時候。 Max Blood Objects @@ -40,6 +42,7 @@ Quantité sang affiché Макс. кол-во капель крови Limite de objetos de sangue + 最大血跡數 Sets the maximum number of blood drop objects which can be spawned, excessive amounts can cause FPS lag. @@ -47,6 +50,7 @@ Définit le nombre maximal de traces de sangs pouvant être affichées.\nUne quantité excessive peut engendrer une baisse de FPS. Задает макс. количество создаваемых объектов капель крови. Чрезмерное количество может вызвать задержку FPS Define o limite máximo de objetos de gota de sangue que podem ser criados, quantidades excessivas podem causar lag de FPS. + 設定最大可存在的血跡數量。太極端的數量會導致幀數低落或卡頓 Blood Lifetime @@ -54,6 +58,7 @@ Durée d'affichage du sang Время жизни капель крови Duração do Sangue + 血跡時長 Controls the lifetime of blood drop objects. @@ -61,6 +66,7 @@ Définit la durée d'affichage des traces de sang Управляет временем жизни объектов капель крови. Controla o tempo de vida que um objeto de gota de sangue tem. + 控制血跡在地上的時長 Only Players diff --git a/addons/medical_damage/functions/fnc_determineIfFatal.sqf b/addons/medical_damage/functions/fnc_determineIfFatal.sqf index fc674cf75b..e20238f054 100644 --- a/addons/medical_damage/functions/fnc_determineIfFatal.sqf +++ b/addons/medical_damage/functions/fnc_determineIfFatal.sqf @@ -18,9 +18,6 @@ * Public: No */ -#define WEIBULL_K 6.5625 -#define WEIBULL_L 0.704523 - params ["_unit", "_part", "_bodyPartDamage", "_woundDamage"]; if (_part > 1) exitWith { false }; @@ -49,7 +46,7 @@ if (EGVAR(medical,fatalDamageSource) in [1, 2]) then { _bodyPartDamage params ["_headDamage", "_bodyDamage"]; private _vitalDamage = ((_headDamage - _headThreshhold) max 0) + ((_bodyDamage - _bodyThreshhold) max 0); - private _chanceFatal = 1 - exp -((_vitalDamage/WEIBULL_L)^WEIBULL_K); + private _chanceFatal = 1 - exp -((_vitalDamage/FATAL_SUM_DAMAGE_WEIBULL_L)^FATAL_SUM_DAMAGE_WEIBULL_K); TRACE_3("",_bodyPartDamage,_vitalDamage,_chanceFatal); if (_chanceFatal > random 1) exitWith { diff --git a/addons/medical_damage/stringtable.xml b/addons/medical_damage/stringtable.xml index 6ac2818879..a1374c710c 100644 --- a/addons/medical_damage/stringtable.xml +++ b/addons/medical_damage/stringtable.xml @@ -7,6 +7,7 @@ Seuil de dégât critique du joueur Порог критического урона игрока Limite de Dano Crítico do Jogador + 玩家重擊承受量 Sets the amount of damage a player can receive before going unconscious. @@ -14,6 +15,7 @@ Définit la quantité de dégâts qu'un joueur peut subir avant de perdre connaissance. Устанавливает количество урона, которое может получить игрок, прежде чем потеряет сознание. Define a quantidade de dano que um jogador pode receber antes de ficar inconsciente. + 設定玩家在無意識前能承受多少傷害。 AI Critical Damage Threshold @@ -21,6 +23,7 @@ Seuil de dégât critique de l'IA Порог критического урона AI Limite de Dano Crítico da IA + AI重擊承受量 Sets the amount of damage an AI unit can receive before going unconscious. @@ -28,6 +31,7 @@ Définit la quantité de dégâts qu'une unité IA peut subir avant de perdre connaissance. Устанавливает количество урона, которое может получить ИИ, прежде чем потеряет сознание. Define a quantidade de dano que uma IA pode receber antes de ficar inconsciente. + 設定AI在無意識之前能承受多少傷害 Scrape @@ -42,6 +46,7 @@ Odřenina 擦り傷 긁힘 + 擦傷 Minor Scrape @@ -56,6 +61,7 @@ Malá odřenina 小さな擦り傷 조금 긁힘 + 小擦傷 Medium Scrape @@ -70,6 +76,7 @@ Středně velká odřenina 中くらいの擦り傷 꽤 긁힘 + 中度擦傷 Large Scrape @@ -84,6 +91,7 @@ Velká odřenina 大きな擦り傷 심하게 긁힘 + 嚴重擦傷 Avulsion @@ -98,6 +106,7 @@ Avulze 剥離傷 떨어져나감 + 撕除傷 Minor Avulsion @@ -112,6 +121,7 @@ Malá avulze 小さな剥離傷 조금 떨어져나감 + 小撕除傷 Medium Avulsion @@ -126,6 +136,7 @@ Střední avulze 中くらいの剥離傷 꽤 떨어져나감 + 中度撕除傷 Large Avulsion @@ -140,6 +151,7 @@ Velká avulze 大きな剥離傷 크게 떨어져나감 + 嚴重撕除傷 Bruise @@ -154,6 +166,7 @@ Modřina 打ち傷 + 挫傷 Minor Bruise @@ -168,6 +181,7 @@ Malá modřina 小さな打ち傷 조금 멍듬 + 小挫傷 Medium Bruise @@ -182,13 +196,14 @@ Středně velká modřina 中くらいの打ち傷 꽤 멍듬 + 中度挫傷 Large Bruise Große Prellung Alta Contusione Большой ушиб - Grand Hématome + Grand hématome Duże stłuczenie Contusión severa Nagy zúzódás @@ -196,6 +211,7 @@ Velká modřina 大きな打撲傷 심하게 멍듬 + 嚴重挫傷 Crushed tissue @@ -210,6 +226,7 @@ Zhmoždění měkkých tkání 圧挫傷 뭉개짐 + 壓迫傷 Minor crushed tissue @@ -224,6 +241,7 @@ Malé zhmoždění měkkých tkání 小さな圧挫傷 조금 뭉개짐 + 小壓迫傷 Medium crushed tissue @@ -238,6 +256,7 @@ Střední zhmoždění měkkých tkání 中くらいの圧挫傷 꽤 뭉개짐 + 中度壓迫傷 Large crushed tissue @@ -252,6 +271,7 @@ Velké zhmoždění měkkých tkání 大きな圧挫傷 심하게 뭉개짐 + 嚴重壓迫傷 Cut @@ -266,6 +286,7 @@ Řezná rána 切り傷 베임 + 割傷 Small Cut @@ -280,6 +301,7 @@ Malá řezná rána 小さな切り傷 조금 베임 + 小割傷 Medium Cut @@ -294,6 +316,7 @@ Střední řezná rána 中くらいの切り傷 꽤 베임 + 中度割傷 Large Cut @@ -308,6 +331,7 @@ Velká řezná rána 大きな切り傷 심하게 베임 + 嚴重割傷 Tear @@ -322,6 +346,7 @@ Tržná rána 裂傷 찢어짐 + 撕裂傷 Small Tear @@ -336,6 +361,7 @@ Malá tržná rána 小さな裂傷 조금 찢어짐 + 小撕裂傷 Medium Tear @@ -350,6 +376,7 @@ Střední tržná rána 中くらいの裂傷 꽤 찢어짐 + 中度撕裂傷 Large Tear @@ -364,6 +391,7 @@ Velká tržná rána 大きな裂傷 심하게 찢어짐 + 嚴重撕裂傷 Velocity Wound @@ -378,6 +406,7 @@ Střelné poranění 銃創 총상 + 槍傷 Small Velocity Wound @@ -392,6 +421,7 @@ Malé střelné poranění 小さな銃創 소형 총상 + 小槍傷 Medium Velocity Wound @@ -406,6 +436,7 @@ Střední střelné poranění 中くらいの銃創 중형 총상 + 中度槍傷 Large Velocity Wound @@ -420,6 +451,7 @@ Velké střelné poranění 大きな銃創 대형 총상 + 嚴重槍傷 Puncture Wound @@ -434,6 +466,7 @@ Bodná rána 刺し傷 관통상 + 刺傷 Minor Puncture Wound @@ -448,6 +481,7 @@ Malá bodná rána 小さな刺し傷 소형 관통상 + 小刺傷 Medium Puncture Wound @@ -462,6 +496,7 @@ Střední bodná rána 中くらいの刺し傷 중형 관통상 + 中度刺傷 Large Puncture Wound @@ -476,21 +511,37 @@ Velká bodná rána 大きな刺し傷 대형 관통상 + 嚴重刺傷 Fatal Damage Source + 致命傷の原因 + 致命傷來源 + Cause de blessure mortelle Determines what damage can be fatal + 致命傷となるダメージの種類を決定します。 + 決定何種傷害為致命 + Détermine le type de blessures pouvant être fatales Only large hits to vital organs + 重要器官に大きなダメージを受けた時のみ + 只有重要器官之重傷 + Grosses blessures sur organes vitaux Sum of trauma + 外傷の数 + 外部創傷累計 + Somme des traumatismes Either + 両方 + 兩者都是 + Les deux diff --git a/addons/medical_engine/XEH_preInit.sqf b/addons/medical_engine/XEH_preInit.sqf index 18bc483c55..de60e5f7f9 100644 --- a/addons/medical_engine/XEH_preInit.sqf +++ b/addons/medical_engine/XEH_preInit.sqf @@ -6,6 +6,28 @@ PREP_RECOMPILE_START; #include "XEH_PREP.hpp" PREP_RECOMPILE_END; +// Define "Constants" variables (both are macros defined in script_macros_medical.hpp, look there for actual variable names) +if (isNil QUOTE(HEAD_DAMAGE_THRESHOLD)) then {HEAD_DAMAGE_THRESHOLD = HEAD_DAMAGE_THRESHOLD_DEFAULT}; +if (isNil QUOTE(ORGAN_DAMAGE_THRESHOLD)) then {ORGAN_DAMAGE_THRESHOLD = ORGAN_DAMAGE_THRESHOLD_DEFAULT}; +if (isNil QUOTE(HEART_HIT_CHANCE)) then {HEART_HIT_CHANCE = HEART_HIT_CHANCE_DEFAULT}; +if (isNil QUOTE(PENETRATION_THRESHOLD)) then {PENETRATION_THRESHOLD = PENETRATION_THRESHOLD_DEFAULT}; +if (isNil QUOTE(BLOOD_LOSS_KNOCK_OUT_THRESHOLD)) then {BLOOD_LOSS_KNOCK_OUT_THRESHOLD = BLOOD_LOSS_KNOCK_OUT_THRESHOLD_DEFAULT}; +if (isNil QUOTE(PAIN_UNCONSCIOUS)) then {PAIN_UNCONSCIOUS = PAIN_UNCONSCIOUS_DEFAULT}; +if (isNil QUOTE(PAIN_FADE_TIME)) then {PAIN_FADE_TIME = PAIN_FADE_TIME_DEFAULT}; +if (isNil QUOTE(LIMPING_DAMAGE_THRESHOLD)) then {LIMPING_DAMAGE_THRESHOLD = LIMPING_DAMAGE_THRESHOLD_DEFAULT}; +if (isNil QUOTE(FRACTURE_DAMAGE_THRESHOLD)) then {FRACTURE_DAMAGE_THRESHOLD = FRACTURE_DAMAGE_THRESHOLD_DEFAULT}; +// Derive the alternate fatal damage coefficents +if (isNil QUOTE(FATAL_SUM_DAMAGE_WEIBULL_K) || isNil QUOTE(FATAL_SUM_DAMAGE_WEIBULL_L)) then { + private _x1 = 0.5; + private _y1 = 0.1; + private _x2 = 0.8; + private _y2 = 0.9; + private _b1 = -ln (1-_y1); + private _b2 = -ln (1-_y2); + FATAL_SUM_DAMAGE_WEIBULL_K = ln(_b1/_b2) / ln(_x1/_x2); + FATAL_SUM_DAMAGE_WEIBULL_L = _x1 / _b1^(1/FATAL_SUM_DAMAGE_WEIBULL_K); +}; + // Hack for #3168 (units in static weapons do not take any damage): // Doing a manual pre-load with a small distance seems to fix the LOD problems // with handle damage not returning full results. diff --git a/addons/medical_engine/functions/fnc_handleDamage.sqf b/addons/medical_engine/functions/fnc_handleDamage.sqf index 000c90b911..19240824aa 100644 --- a/addons/medical_engine/functions/fnc_handleDamage.sqf +++ b/addons/medical_engine/functions/fnc_handleDamage.sqf @@ -118,10 +118,10 @@ if (_hitPoint isEqualTo "ace_hdbracket") exitWith { */ if (_shooter == _unit && {(velocity _unit select 2) < -2}) then { _ammo = "#falling"; // non-selectionSpecific so only _damageSelectionArray matters - _damageSelectionArray = [4, 1, 5, 1]; // selectRandom ["RightLeg", "LeftLeg"]; + _damageSelectionArray = [HITPOINT_INDEX_RLEG, 1, HITPOINT_INDEX_LLEG, 1]; TRACE_5("Fall",_unit,_shooter,_instigator,_damage,_receivedDamage); } else { - _damageSelectionArray = [2, 1, 3, 1, 4, 1, 5, 1]; // selectRandom ["RightArm", "LeftArm", "RightLeg", "LeftLeg"]; + _damageSelectionArray = [HITPOINT_INDEX_RARM, 1, HITPOINT_INDEX_LARM, 1, HITPOINT_INDEX_LLEG, 1, HITPOINT_INDEX_RLEG, 1]; TRACE_5("Collision",_unit,_shooter,_instigator,_damage,_receivedDamage); }; @@ -138,7 +138,7 @@ if (_hitPoint isEqualTo "ace_hdbracket") exitWith { }; } else { // Anything else is almost guaranteed to be fire damage - _damageSelectionArray = [1, 1, 4, 1, 5, 1]; // selectRandom ["Body", "LeftLeg", "RightLeg"]; + _damageSelectionArray = [HITPOINT_INDEX_BODY, 1, HITPOINT_INDEX_LLEG, 1, HITPOINT_INDEX_RLEG, 1];; _ammo = "#unknown"; // non-selectionSpecific so only _damageSelectionArray matters // Fire damage can occur as lots of minor damage events diff --git a/addons/medical_engine/script_macros_medical.hpp b/addons/medical_engine/script_macros_medical.hpp index 7f50866f0e..fcc6e2df36 100644 --- a/addons/medical_engine/script_macros_medical.hpp +++ b/addons/medical_engine/script_macros_medical.hpp @@ -14,12 +14,18 @@ #define HITPOINT_INDEX_RLEG 5 // Damage threshold above which fatal organ damage can occur -#define HEAD_DAMAGE_THRESHOLD 1 -#define ORGAN_DAMAGE_THRESHOLD 0.6 +#define HEAD_DAMAGE_THRESHOLD EGVAR(medical,const_headDamageThreshold) +#define HEAD_DAMAGE_THRESHOLD_DEFAULT 1 +#define ORGAN_DAMAGE_THRESHOLD EGVAR(medical,const_organDamageThreshold) +#define ORGAN_DAMAGE_THRESHOLD_DEFAULT 0.6 +// Consts for determineIfFatal: sum of damage (values are calcualted at runtime in preInit) +#define FATAL_SUM_DAMAGE_WEIBULL_K EGVAR(medical,const_fatalSumDamageWeibull_K) +#define FATAL_SUM_DAMAGE_WEIBULL_L EGVAR(medical,const_fatalSumDamageWeibull_L) // Chance to hit heart based on ratio of 70kg (approx. 70L) body to 70mL stroke volume of heart // Assuming torso is 50% of the body volume (35L) -#define HEART_HIT_CHANCE 0.05 +#define HEART_HIT_CHANCE EGVAR(medical,const_heartHitChance) +#define HEART_HIT_CHANCE_DEFAULT 0.05 #define MEDICAL_ACTION_DISTANCE 1.75 @@ -53,10 +59,12 @@ #define IV_CHANGE_PER_SECOND 4.1667 // in milliliters per second // Minimum amount of damage required for penetrating wounds (also minDamage for velocity wounds) -#define PENETRATION_THRESHOLD 0.35 +#define PENETRATION_THRESHOLD EGVAR(medical,const_penetrationThreshold) +#define PENETRATION_THRESHOLD_DEFAULT 0.35 // To be replaced by a proper blood pressure calculation -#define BLOOD_LOSS_KNOCK_OUT_THRESHOLD 0.5 // 50% of cardiac output +#define BLOOD_LOSS_KNOCK_OUT_THRESHOLD EGVAR(medical,const_bloodLossKnockOutThreshold) +#define BLOOD_LOSS_KNOCK_OUT_THRESHOLD_DEFAULT 0.5 // 50% of cardiac output // Used to color interaction icons and body image selections #define BLOOD_LOSS_RED_THRESHOLD 0.5 @@ -65,10 +73,12 @@ #define DAMAGE_TOTAL_COLORS 10 // --- pain -#define PAIN_UNCONSCIOUS 0.5 +#define PAIN_UNCONSCIOUS EGVAR(medical,const_painUnconscious) +#define PAIN_UNCONSCIOUS_DEFAULT 0.5 // Pain fade out time (time it takes until pain is guaranteed to be completly gone) -#define PAIN_FADE_TIME 900 +#define PAIN_FADE_TIME EGVAR(medical,const_painFadeTime) +#define PAIN_FADE_TIME_DEFAULT 900 // Only relevant when advanced medication is disabled // Morphine pain suppression fade out time (time it takes until pain suppression is guaranteed to be completly gone) @@ -78,10 +88,12 @@ #define SPONTANEOUS_WAKE_UP_INTERVAL 15 // Minimum leg damage required for limping -#define LIMPING_DAMAGE_THRESHOLD 0.30 +#define LIMPING_DAMAGE_THRESHOLD EGVAR(medical,const_limpingDamageThreshold) +#define LIMPING_DAMAGE_THRESHOLD_DEFAULT 0.30 // Minimum limb damage required for fracture -#define FRACTURE_DAMAGE_THRESHOLD 0.50 +#define FRACTURE_DAMAGE_THRESHOLD EGVAR(medical,const_fractureDamageThreshold) +#define FRACTURE_DAMAGE_THRESHOLD_DEFAULT 0.50 // Minimum body part damage required for blood effect on uniform #define VISUAL_BODY_DAMAGE_THRESHOLD 0.35 diff --git a/addons/medical_feedback/functions/fnc_effectHeartBeat.sqf b/addons/medical_feedback/functions/fnc_effectHeartBeat.sqf index 283d3edcb6..6156adb4f6 100644 --- a/addons/medical_feedback/functions/fnc_effectHeartBeat.sqf +++ b/addons/medical_feedback/functions/fnc_effectHeartBeat.sqf @@ -28,11 +28,11 @@ private _waitTime = 60 / _heartRate; switch (true) do { case (_heartRate > 160): { // playSound SND_HEARBEAT_FAST; // Array doesn't blend together well, just play one file consistently - playSound "ACE_heartbeat_fast_1"; + if (isGameFocused) then { playSound "ACE_heartbeat_fast_1"; }; [FUNC(effectHeartBeat), [], _waitTime] call CBA_fnc_waitAndExecute; }; case (_heartRate < 60): { - playSound SND_HEARBEAT_SLOW; + if (isGameFocused) then { playSound SND_HEARBEAT_SLOW; }; [FUNC(effectHeartBeat), [], _waitTime] call CBA_fnc_waitAndExecute; }; default { diff --git a/addons/medical_feedback/stringtable.xml b/addons/medical_feedback/stringtable.xml index d8d6a3420b..7344c8ef24 100644 --- a/addons/medical_feedback/stringtable.xml +++ b/addons/medical_feedback/stringtable.xml @@ -4,10 +4,11 @@ Feedback Feedback - フィードバック + 感触 Реакция на ранения Réaction aux blessures Reação a Lesões + 視覺回饋 Pain Effect Type @@ -22,6 +23,7 @@ Typ bolesti - efekt 痛み効果の種類 고통 효과 종류 + 疼痛效果類型 Selects the used pain effect type. @@ -29,6 +31,7 @@ Permet de choisir quel effet provoque la douleur. Выбирает тип визуализации болевого эффекта. Selecione o tipo de efeito de dor. + 選擇哪一個視覺效果用於回饋疼痛 White Flashing @@ -37,6 +40,7 @@ Белые вспышки Flash blancs Flashes Brancos + 白光閃爍 Pulsing Blur @@ -45,6 +49,7 @@ Пульсирующее размытие Pulsations floues Borrão Pulsante + 脈動模糊 Chromatic Aberration @@ -64,9 +69,12 @@ Only high pain effect + 強い痛みの時のみ + 只有在強烈疼痛時使用 + Juste un fort effet douloureux - + Enable Screams Включить крики Aktywuj wrzaski @@ -82,7 +90,7 @@ 启用尖叫 啟用尖叫 - + Enable screaming by injured units Включить крики раненных бойцов Aktywuj wrzeszczenie z bólu przez ranne jednostki diff --git a/addons/medical_gui/stringtable.xml b/addons/medical_gui/stringtable.xml index 9b75348210..3a9ee57205 100644 --- a/addons/medical_gui/stringtable.xml +++ b/addons/medical_gui/stringtable.xml @@ -1,12 +1,13 @@ - + GUI GUI GUI Медицинский интерфейс GUI + 界面 Enable Medical Actions @@ -15,6 +16,7 @@ Разрешить Медицинские действия Activer actions médicales Ativar Ações Médicas + 啟用醫療行為 Enables medical actions for the Interaction Menu and selects their style. @@ -23,6 +25,7 @@ Включает медицинские действия для меню взаимодействия и выбирает их стиль. Permet d'afficher les actions médicales dans le menu d'interaction, ainsi que de choisir le style visuel. Ativa as ações médicas para o menu de interação e seleciona seus estilos. + 為互動選單啟用醫療行為以及選擇其風格。 Selections (3D) @@ -63,6 +66,7 @@ Разрешить Медицинские действия на себе Activer actions médicales sur soi-même Ativar ações médicas em si mesmo + 啟用自我醫療行為 Enables medical actions for the Self Interaction Menu. @@ -71,6 +75,7 @@ Включает медицинские действия для меню взаимодействия с собой. Active les actions médicales du menu d'interaction personnel. Ativa as ações médicas do menu de interação pessoal. + 為自我互動選單啟用醫療行為。 Enable Medical Menu @@ -79,6 +84,7 @@ Разрешить Медицинское меню Activer menu médical Ativar Menu Médico + 啟用醫療選單 Enables the use of the Medical Menu through the keybind or interaction menu. @@ -87,6 +93,7 @@ Позволяет использовать Медицинское меню через связку клавиш или меню взаимодействия. Permet l'utilisation du menu médical via une touche, ou via le menu d'interaction. Ativa o uso do Menu Médico atráves da Tecla ou Menu de Interação. + 啟用以互動選單或者按鍵綁定所呼出的高效醫療選單 Reopen Medical Menu @@ -95,6 +102,7 @@ Открывать меню после лечения Rouvrir le menu médical Reabrir Menu Médico + 醫療選單二度開啟 Reopen the Medical Menu after successful treatment. @@ -103,6 +111,7 @@ Открывает Медицинское меню после успешного лечения Réouvre le menu médical suite à l'application d'un soin. Reabrir Menu Médico após um tratamento com sucesso + 當治療完成後二度打開醫療選單 Maximum Distance @@ -111,6 +120,7 @@ Макс. дистанция Distance maximale Distância Máxima + 最大醫療距離 Maximum distance from which the Medical Menu can be opened. @@ -119,6 +129,7 @@ Максимальное расстояние, с которого можно открыть Медицинское меню. Définit la distance (en mètres) à partir de laquelle il n'est plus possible d'activer le menu médical pour traiter un patient. A Distância máxima do paciente para que o Menu Médico possa ser aberto. + 設定距離多遠以內可以對目標使用醫療選單 Medical @@ -203,7 +214,7 @@ Untersuchung & Behandlung ОСМОТР И ЛЕЧЕНИЕ EXAMINAR & TRATAMIENTO - EXAMINER & TRAITEMENTS + EXAMENS & TRAITEMENTS BADANIE & LECZENIE EXAMINAR & TRATAMENTO VYŠETŘENÍ & LÉČBA @@ -324,7 +335,7 @@ Bandagen / Brüche Раны / переломы Vendajes/Fracturas - Bandages / Fractures + Bandages / Attelles Bandaże / Złamania Bandagens / Fraturas Bandáž / Zlomeniny @@ -339,7 +350,7 @@ Medikamentation Медикаменты Medicación - Médications + Médication Leki Medicação Léky @@ -644,7 +655,7 @@ Existem %2 ferimentos abertos %1 Jsou zde %2 %1 otevřené rány Ci sono %2 %1 Ferite Aperte - 開いている傷口が %2 %1 ほどあるようだ + 開いている傷口が %2 %1 ほどある 여기 %2 %1 크기의 열린 상처가 있다 有 %2 %1 开放性伤口 有 %2 %1 開放性傷口 @@ -835,6 +846,7 @@ 骨折している Fracturé Fraturado + 骨折 Splint Applied @@ -842,6 +854,7 @@ 添え木が当てている Attelle appliquée Tala Aplicada + 已使用固定板 @@ -470,6 +473,7 @@ 재급유에 사용 할 수 있는 연료량 (-1=비활성, -10=무한) Pojemność paliwa dostępnego do tankowania (-1 wyłącz, -10 jeśli nieskończone) Quantidade de combustível disponível para abastecer (-1 para desativar, -10 para infinito) + Le volume de carburant disponible pour le ravitaillement (-1 pour désactiver, -10 pour quantité illimitée) Refuel Hose attach coordinates @@ -482,6 +486,7 @@ 재급유기 부착 좌표 Koordynaty przyłączenia węża paliwowego Coords. do encaixe para Mangueira + Coordonnées du pistolet Model coordinates used to attach refuel hose @@ -494,6 +499,7 @@ 재급유기 부착에 쓰이는 모델 좌표 Modelowe koordynaty wykorzystane do przyłączenia węża paliwowego As coordenadas do modelo usado para conectar a mangueira ao veículo + Coordonnées de l'objet sur lequel est fixé le pistolet de ravitaillement diff --git a/addons/reload/stringtable.xml b/addons/reload/stringtable.xml index 2a7764dc04..b5419ebbf2 100644 --- a/addons/reload/stringtable.xml +++ b/addons/reload/stringtable.xml @@ -8,7 +8,7 @@ Проверять боезапас при перезарядке Zkontrolovat munici při nabití Sprawdź stan amunicji przy przeładowaniu broni - Vérification des munitions au rechargement + Vérifier les munitions au rechargement Lőszer ellenőrzése a fegyver újratöltésekor Controlla le munizioni durante il ricaricamento Conferir munição ao recarregar a arma @@ -24,7 +24,7 @@ Проверяет количество патронов в новом магазине при перезарядке. Kontroluje munice při nabití nového zásobníku. Pokaż stan amunicji w nowym magazynku przy przeładowaniu broni - Vérification du nombre de munition au rechargement + Vérifie les munitions du nouveau chargeur lors du rechargement de l'arme. A lőszer ellenőrzése az új tárad behelyezésekor újratöltés közben. Controlla le munizioni rimanenti nel caricatore in fase di cambio caricatore. Confere a munição no seu novo carregador ao recarregar a arma @@ -38,7 +38,7 @@ Munition prüfen Comprobar munición Sprawdź amunicję - Vérifier Munitions + Vérifier les munitions Lőszerellenőrzés Zkontrolovat Munici Controlla le munizioni @@ -83,7 +83,7 @@ Linking belt... - Attache d'une bande... + Attachage d'une bande... Enlazando cinta... Сцепка лент... Spojuji pás... diff --git a/addons/repair/ACE_Repair.hpp b/addons/repair/ACE_Repair.hpp index ec0624e2dc..97710940e7 100644 --- a/addons/repair/ACE_Repair.hpp +++ b/addons/repair/ACE_Repair.hpp @@ -37,7 +37,7 @@ class ACE_Repair { requiredEngineer = QGVAR(engineerSetting_Repair); repairingTime = 15; callbackSuccess = QUOTE(call FUNC(doRepair)); - items[] = {"ToolKit"}; + items = QGVAR(miscRepairRequiredItems); itemConsumed = QGVAR(consumeItem_ToolKit); claimObjects[] = {}; }; @@ -74,6 +74,7 @@ class ACE_Repair { repairingTime = 30; condition = "-1 != ((getAllHitPointsDamage _target param [2,[]]) findIf {_x > 0})"; callbackSuccess = QUOTE(call FUNC(doFullRepair)); + items = QGVAR(fullRepairRequiredItems); itemConsumed = QGVAR(consumeItem_ToolKit); }; }; diff --git a/addons/repair/ACE_Settings.hpp b/addons/repair/ACE_Settings.hpp index 82217bc5ad..45e8b15aa9 100644 --- a/addons/repair/ACE_Settings.hpp +++ b/addons/repair/ACE_Settings.hpp @@ -1,4 +1,3 @@ -// Warning: do not remove without handling wheelRepairRequiredItems's _values config on line 32 [used in repair/canRepair] class ACE_Settings { class GVAR(displayTextOnRepair) { movedToSQF = 1; @@ -29,7 +28,6 @@ class ACE_Settings { }; class GVAR(wheelRepairRequiredItems) { movedToSQF = 1; - _values[] = {{}, {"ToolKit"}}; }; class GVAR(autoShutOffEngineWhenStartingRepair) { movedToSQF = 1; diff --git a/addons/repair/CfgVehicles.hpp b/addons/repair/CfgVehicles.hpp index a41c2db501..cb9183ba0e 100644 --- a/addons/repair/CfgVehicles.hpp +++ b/addons/repair/CfgVehicles.hpp @@ -100,7 +100,7 @@ class CfgVehicles { defaultValue = 1; }; class wheelRepairRequiredItems { - displayName = CSTRING(wheelRepairRequiredItems_name); + displayName = CSTRING(WheelRepairRequiredItems_DisplayName); description = CSTRING(wheelRepairRequiredItems_description); typeName = "NUMBER"; class values { diff --git a/addons/repair/functions/fnc_canRepair.sqf b/addons/repair/functions/fnc_canRepair.sqf index 93d5eef7a0..8172e1d188 100644 --- a/addons/repair/functions/fnc_canRepair.sqf +++ b/addons/repair/functions/fnc_canRepair.sqf @@ -37,16 +37,11 @@ private _engineerRequired = if (isNumber (_config >> "requiredEngineer")) then { }; if !([_caller, _engineerRequired] call FUNC(isEngineer)) exitWith {false}; -//Items can be an array of required items or a string to a ACE_Setting array +// Items can be an array of required items or a string to a missionNamespace variable private _items = if (isArray (_config >> "items")) then { getArray (_config >> "items"); } else { - private _settingName = getText (_config >> "items"); - private _settingItemsArray = getArray (configFile >> "ACE_Settings" >> _settingName >> "_values"); - if ((isNil _settingName) || {(missionNamespace getVariable _settingName) >= (count _settingItemsArray)}) exitWith { - ERROR("bad setting"); ["BAD"] - }; - _settingItemsArray select (missionNamespace getVariable _settingName); + missionNamespace getVariable [getText (_config >> "items"), []] }; if (count _items > 0 && {!([_caller, _items] call FUNC(hasItems))}) exitWith {false}; diff --git a/addons/repair/functions/fnc_isInRepairFacility.sqf b/addons/repair/functions/fnc_isInRepairFacility.sqf index 10ef95ed66..dcbd141fb7 100644 --- a/addons/repair/functions/fnc_isInRepairFacility.sqf +++ b/addons/repair/functions/fnc_isInRepairFacility.sqf @@ -15,7 +15,7 @@ * Public: Yes */ -params ["_object"]; +params [["_object", objNull, [objNull]]]; TRACE_1("params",_object); private _position = getPosASL _object; diff --git a/addons/repair/functions/fnc_repair.sqf b/addons/repair/functions/fnc_repair.sqf index 9edd36bc83..10aea66823 100644 --- a/addons/repair/functions/fnc_repair.sqf +++ b/addons/repair/functions/fnc_repair.sqf @@ -43,16 +43,11 @@ if ((isEngineOn _target) && {!GVAR(autoShutOffEngineWhenStartingRepair)}) exitWi false }; -//Items can be an array of required items or a string to a ACE_Setting array +// Items can be an array of required items or a string to a missionNamespace variable private _items = if (isArray (_config >> "items")) then { getArray (_config >> "items"); } else { - private _settingName = getText (_config >> "items"); - private _settingItemsArray = getArray (configFile >> "ACE_Settings" >> _settingName >> "_values"); - if ((isNil _settingName) || {(missionNamespace getVariable _settingName) >= (count _settingItemsArray)}) exitWith { - ERROR("bad setting"); ["BAD"] - }; - _settingItemsArray select (missionNamespace getVariable _settingName); + missionNamespace getVariable [getText (_config >> "items"), []] }; if (count _items > 0 && {!([_caller, _items] call FUNC(hasItems))}) exitWith {false}; diff --git a/addons/repair/initSettings.sqf b/addons/repair/initSettings.sqf index e226085a29..38e9e19e97 100644 --- a/addons/repair/initSettings.sqf +++ b/addons/repair/initSettings.sqf @@ -1,5 +1,3 @@ -// CBA Settings [ADDON: ace_repair]: - [ QGVAR(displayTextOnRepair), "CHECKBOX", [LSTRING(SettingDisplayTextName), LSTRING(SettingDisplayTextDesc)], @@ -11,7 +9,7 @@ [ QGVAR(engineerSetting_repair), "LIST", - [LSTRING(engineerSetting_Repair_name), LSTRING(engineerSetting_Repair_description)], + [LSTRING(engineerSetting_Repair_name), LSTRING(engineerSetting_Repair_description)], [localize ELSTRING(OptionsMenu,CategoryLogistics), localize "str_state_repair"], [[0,1,2],[LSTRING(engineerSetting_anyone), LSTRING(engineerSetting_EngineerOnly), LSTRING(engineerSetting_AdvancedOnly)],1], // [values, titles, defaultIndex] true, // isGlobal @@ -83,12 +81,30 @@ ] call CBA_settings_fnc_init; [ - QGVAR(wheelRepairRequiredItems), "LIST", - [LSTRING(wheelRepairRequiredItems_name), LSTRING(wheelRepairRequiredItems_description)], + QGVAR(wheelRepairRequiredItems), + "LIST", + [LSTRING(WheelRepairRequiredItems_DisplayName), LSTRING(WheelRepairRequiredItems_Description)], [localize ELSTRING(OptionsMenu,CategoryLogistics), localize "str_state_repair"], - [[0,1],["None", "ToolKit"],0], // [values, titles, defaultIndex] - true, // isGlobal - {[QGVAR(wheelRepairRequiredItems), _this] call EFUNC(common,cbaSettings_settingChanged)} + [[[], ["ToolKit"]], ["STR_A3_None", "STR_A3_CfgWeapons_Toolkit0"], 0], + true +] call CBA_settings_fnc_init; + +[ + QGVAR(miscRepairRequiredItems), + "LIST", + [LSTRING(MiscRepairRequiredItems_DisplayName), LSTRING(MiscRepairRequiredItems_Description)], + [localize ELSTRING(OptionsMenu,CategoryLogistics), localize "str_state_repair"], + [[[], ["ToolKit"]], ["STR_A3_None", "STR_A3_CfgWeapons_Toolkit0"], 1], + true +] call CBA_settings_fnc_init; + +[ + QGVAR(fullRepairRequiredItems), + "LIST", + [LSTRING(FullRepairRequiredItems_DisplayName), LSTRING(FullRepairRequiredItems_Description)], + [localize ELSTRING(OptionsMenu,CategoryLogistics), localize "str_state_repair"], + [[[], ["ToolKit"]], ["STR_A3_None", "STR_A3_CfgWeapons_Toolkit0"], 1], + true ] call CBA_settings_fnc_init; [ diff --git a/addons/repair/stringtable.xml b/addons/repair/stringtable.xml index 4dd42d4880..7ecc93c408 100644 --- a/addons/repair/stringtable.xml +++ b/addons/repair/stringtable.xml @@ -1,11 +1,11 @@ - + Spare Track Ersatzkette Oruga de repuesto - Chenille de réserve + Chenille de rechange Zapasowa gąsienica Esteira reserva Náhradní pásy @@ -37,7 +37,7 @@ Change Wheel Reifen wechseln Cambiar rueda - Changer Roue + Changer la roue Wymień koło Trocar roda Sostituisci la ruota @@ -83,7 +83,7 @@ Remove Wheel Reifen entfernen Quitar rueda - Démonter Roue + Démonter la roue Zdejmij koło Odstranit kolo Remover roda @@ -179,7 +179,7 @@ Odstranit pás Quitar oruga Rimuovi cingolo - Enlever la chenille + Démonter la chenille 履帯を外す 궤도 제거 卸下履带 @@ -194,7 +194,7 @@ Odstraňuji pás... Quitando oruga... Rimuovendo il cingolo... - Enlèvement de la chenille... + Démontage de la chenille... 履帯を外しています・・・ 궤도 제거중... 卸下履带中... @@ -209,7 +209,7 @@ Pás odstraněn Oruga quitada Cingolo rimosso - Chenille enlevée + Chenille démontée 履帯を外しました 궤도 제거됨 履带卸下完毕 @@ -224,7 +224,7 @@ Kompletní oprava Reparación completa Riparazione completa - Réparations complètes + Réparation complète 完全に修理 완전수리 完整维修 @@ -254,7 +254,7 @@ Oblast pro kompletní opravu Lugares de reparación completa Luoghi Riparazione Completa - Lieu de réparation complète + Endroits pour réparation complète 完全修理できる場所 완전수리 구역 完整维修地点 @@ -269,7 +269,7 @@ ¿En qué lugares puede un vehículo ser reparado totalmente? V které oblasti může být vozidlo plně opraveno? In quali luoghi è possibile riparare completamente un veicolo? - Où peuvent être réparés complètement les véhicules ? + À quels endroits peut-on réparer intégralement un véhicule ? どのような場所で車両の完全な修理を出来るようにしますか? 어느 구역에서 차량을 완전히 수리할 수 있게 합니까? 什么位置可以完整维修载具? @@ -284,7 +284,7 @@ Povolit kompletní opravu Permitir reparación completa Consenti Riparazione Completa - Autoriser les réparations complètes. + Autoriser les réparations complètes 完全修理を許可 완전 수리 활성화 允许完整维修 @@ -299,7 +299,7 @@ ¿Quién puede realizar una reparación completa de un vehículo? Kdo může provést úplné opravy na vozidle? Chi può eseguire una riparazione completa su un veicolo? - Qui peut faire une réparation complète ? + Qui peut effectuer une réparation complète sur un véhicule ? 誰が車両の完全な修理を出来るようにしますか? 누가 완전 수리를 할 수 있습니까? 谁可以完整维修载具? @@ -329,7 +329,7 @@ Добавлять запасные части в технику (требуется модуль Грузоперевозок)? Přidat náhradní díly do vozidla (vyžaduje úložný prostor)? Aggiungi parti di ricambio ai veicoli (richiede componente Cargo)? - Ajouter des pièces de rechage aux véhicules ? (à besoin du système de cargaison) + Ajouter des pièces de rechange aux véhicules (nécessite le système de cargaison) ? 車両へ予備部品を追加しますか(カーゴ コンポーネントが必要)? 차량에 예비 부품을 더합니까?(짐칸 요소 필요) 添加载具备件 (需相关货物组件)? @@ -360,7 +360,7 @@ Zobrazit text při opravě Mostrar texto en la reparación Mostra testo mentre ripari - Afficher du texte pendant la réparation + Afficher du texte lors des réparations 修理時に文章で通知する 수리시 화면에 글자 표시 显示维修文本 @@ -375,7 +375,7 @@ Mostrar una notificación cada vez que se reparare un vehículo Zobrazit oznámení kdykoliv opravíš vozidlo Mostra una notifica quando stai riparando un veicolo - Afficher une notification lorsque l'on répare un véhicule + Affiche une notification à chaque fois que vous réparez un véhicule 車両の修理を始めると、画面に通知を出します 수리시 화면에 글자로 알림이 뜹니다 每当维修载具时显示通知 @@ -401,7 +401,7 @@ Repairing %1... Repariere %1... Reparando %1... - Réparation %1... + Réparation de %1... Naprawianie %1... Opravuji %1... Reparando %1... @@ -453,7 +453,7 @@ Parcialmente reparada %1 %1 - částečně opraveno %1 parzialmente riparato - %1 pratiquement réparée + %1 partiellement réparé(e) %1 を部分的に修理しました %1 부분적으로 수리됨 %1已完成部分维修 @@ -468,7 +468,7 @@ %1 - kompletně opraveno Totalmente reparada %1 %1 completamente riparato - %1 entièrement réparée + %1 entièrement réparé(e) %1 を完全に修理しました %1 완전히 수리됨 %1已完整维修 @@ -483,7 +483,7 @@ Parcialmente reparada %1 %1 - částečně opraveno %1 parzialmente riparato - %1 pratiquement réparée + %1 partiellement réparé(e) %1 を部分的に修理しました %1 부분적으로 수리됨 %1已完成部分维修 @@ -607,7 +607,7 @@ Transmissão Transmisión Trasmissione - Instruments + Transmission 変速機 변속기 变速箱 @@ -622,7 +622,7 @@ Rueda Podvozek Motore - Trains d'attérissage + Trains d'atterrissage ギア 기어 齿轮 @@ -667,7 +667,7 @@ Tubo de Pitot Tubo del pitot Tubo di Pitot - Sonde pitot + Tube de Pitot ピトー管 동압관 空速管 @@ -682,7 +682,7 @@ Puerto estático Statický port Porta Statica - Port statique + Système pitot-statique スタティック ポート 정압공 静态端口 @@ -818,7 +818,7 @@ Left Front Wheel Linkes Vorderrad Rueda frontal izquierda - Roue avant-gauche + Roue avant gauche Przednie lewe koło Levé přední Kolo Roda Dianteira Esquerda @@ -834,7 +834,7 @@ Right Front Wheel Rechtes Vorderrad Rueda frontal derecha - Roue avant-droite + Roue avant droite Przednie prawe koło Pravé přední Kolo Roda Dianteira Direita @@ -850,7 +850,7 @@ Second Left Front Wheel Zweites linkes Vorderrad Segunda rueda frontal izquierda - Deuxième roue avant-gauche + Deuxième roue avant gauche Drugie przednie lewe koło Druhé Levé přední Kolo Segunda Roda Dianteira Esquerda @@ -866,7 +866,7 @@ Second Right Front Wheel Zweites rechtes Vorderrad Segunda rueda frontal derecha - Deuxième roue avant-droite + Deuxième roue avant droite Drugie przednie prawe koło Druhé Pravé přední Kolo Segunda Roda Dianteira Direita @@ -882,7 +882,7 @@ Left Middle Wheel Linkes mittleres Rad Rueda central izquierda - Roue centre-gauche + Roue centrale gauche Środkowe lewe koło Levé prostřední Kolo Roda Intermediária Esquerda @@ -898,7 +898,7 @@ Right Middle Wheel Rechtes mittleres Rad Rueda central derecha - Roue centre-droite + Roue centrale droite Środkowe prawe koło Pravé prostřední Kolo Roda Intermediária Direita @@ -914,7 +914,7 @@ Left Rear Wheel Linkes Hinterrad Rueda trasera izquierda - Roue arrière-gauche + Roue arrière gauche Tylnie lewe koło Levé zadní Kolo Roda Traseira Esquerda @@ -930,7 +930,7 @@ Right Rear Wheel Rechtes Hinterrad Rueda trasera derecha - Roue arrière-droite + Roue arrière droite Tylnie prawe koło Pravé zadní Kolo Roda Traseira Direita @@ -978,7 +978,7 @@ Tail Rotor Heckrotor Rotor de cola - Rotor anticouple + Rotor de queue Tylni rotor Ocasní Rotor Rotor de Cauda @@ -1060,7 +1060,7 @@ ERA Reaktivpanzerung ERA - ERA + Blindage réactif ERA ДЗ ERA @@ -1077,7 +1077,7 @@ Ajustes de reparación Nastavení oprav Impostazioni Riparazioni - Réglages de réparation + Paramètres des réparations 修理設定 수리 설정 修复设定 @@ -1107,7 +1107,7 @@ Kdokoliv Cualquiera Chiunque - Tout le monde + N'importe qui だれでも 모두 任何人 @@ -1122,7 +1122,7 @@ Pouze inženýr Solo ingeniero Solo Geniere - Ingénieurs seulement + Ingénieur uniquement 工兵のみ 오직 정비공만 只有工兵 @@ -1139,6 +1139,7 @@ 고급 정비공만 Только продвинутые инженеры Somente engenheiro avançado + Ingénieur avancé uniquement Allow Wheel @@ -1164,7 +1165,7 @@ Kdo může odstranit a vyměnit kola? ¿Quién puede quitar y cambiar las ruedas? Chi può rimuovere e sostituire le ruote? - Qui peut enlever et remplacer les roues ? + Qui peut démonter et remplacer des roues ? 誰がタイヤの除去と交換を出来るようにしますか? 누가 바퀴를 제거 및 교체할 수 있습니까? 谁可维修轮胎? @@ -1194,7 +1195,7 @@ Kdo může provádět opravy? ¿Quién puede realizar reparaciones? Chi può eseguire riparazioni? - Qui peut réparer ? + Qui peut effectuer des réparations ? 誰が修理を出来るようににしますか? 누가 수리를 할 수 있습니까? 谁可以进行维修操作? @@ -1209,7 +1210,7 @@ Umbral de reparación Práh oprav Limite Riparazioni - Seuil de réparation + Seuil de réparabilité 修理のしきい値 정비 한계치 维修门槛 @@ -1224,7 +1225,7 @@ ¿Cuál es el daño máximo que puede ser reparado con una caja de herramientas? Jaké maximální poškození může být opraveno pomocí opravárenské sady? Qual'è il danno massimo che può essere riparato con il Toolkit? - Quel est le maximum de dommages réparable par une trousse à outils ? + Quels sont les dégâts maximaux pouvant être réparés avec une trousse à outils ? ツールキットで修理できる、最大の損傷許容範囲を設定しますか? 어느정도의 피해까지 툴킷으로 수리가 가능합니까? 工具包可以修复的最大损坏值? @@ -1239,7 +1240,7 @@ Umbral de Reparación (Ingeniero) Práh oprav (Inženýr) Limite Riparazioni (Geniere) - Seuil de réparatoin (ingénieur) + Seuil de réparabilité (ingénieur) 修理のしきい値 (工兵) 정비 한계치 (정비공) 维修门槛 (工兵) @@ -1254,7 +1255,7 @@ ¿Cuál es el daño máximo que puede ser reparado por un ingeniero? Jaké maximální poškození může být opraveno pomoci inženýra? Qual'è il danno massimo che può essere riparato da un Geniere? - Quel est le maximum de dommages qui peuvent être réparés par un ingénieur ? + Quels sont les dégâts maximaux pouvant être réparés par un ingénieur ? 工兵が修理できる、最大の損傷許容範囲を設定しますか? 정비공은 어느정도의 피해까지 수리할 수 있습니까? 工兵可以修复的最大损坏值? @@ -1269,7 +1270,7 @@ Eliminar conjunto de herramientas al usarlo Odstranit sadu nástrojů po použití Rimuovi Toolkit dopo l'uso - Enlever la trousse à outils après usage + Retirer la trousse à outils après usage ツールキットを使うと削除 툴킷 사용후 제거 使用后删除工具包 @@ -1284,7 +1285,7 @@ ¿Deben retirarse las herramientas al usarlas? Má být odstraněna sada nástroju po použití? Il Toolkit dev'essere rimosso dopo l'uso? - La trousse à outils devrait-elle être enlevée après usage ? + La trousse à outils devrait-elle être retirée après usage ? ツールキットを使うと削除しますか? 툴킷을 사용하면 제거를 합니까? 要在使用后删除工具包吗? @@ -1314,7 +1315,7 @@ Reparar solo en vehículo Pouze opravárenské vozidlo Solo Veicoli Riparazioni - Véhicule de réparation seulement + Véhicules de réparation seulement 修理車両のみ 오직 수리 차량만 维修载具旁 @@ -1329,7 +1330,7 @@ Reparar solo en instalación Pouze opravárenské zařízení Solo Strutture Riparazioni - Installation de réparation seulement + Ateliers de réparation seulement 修理施設のみ 오직 수리 시설만 维修设施旁 @@ -1344,7 +1345,7 @@ Reparar en instalación o vehículo Opravárenské zařízení nebo vozidlo Strutture Riparazioni o Veicoli - Installations ou véhicule de réparation + Ateliers ou véhicules de réparation 修理施設または車両のみ 수리 시설혹은 차량 维修设施或载具旁 @@ -1359,7 +1360,7 @@ Přiřadit Inženýra Asignar ingeniero Assegna Geniere - Assigner le rôle d'ingénieur + Assignation ingénieurs 工兵にする 정비공 등록 指派工兵 @@ -1389,7 +1390,7 @@ Lista de los nombres de las unidades que serán clasificados como ingeniero, separados por comas. Seznam jmen jednotek, které budou klasifikovány jako inženýr, oddělit čárkami. Lista di unità che verranno classificate come genieri, separate da virgole. - Liste des noms d'unités qui seront considérées ingénieurs. Séparé par des virgules + Liste de noms d'unités qui seront classés en tant qu'ingénieurs, séparés par des virgules. 一覧に記載されたユニット名を、工兵として指定します。コンマで複数を指定できます。 목록내 보직이름은 정비공으로 분류됩니다. 쉼표로 구분합니다. 工兵名单,把单位名称输入在这边即可定义其为工兵。每个单位使用逗号以做区隔。 @@ -1404,7 +1405,7 @@ Es un ingeniero Inženýr E' Geniere - Est ingénieur + Qualification technique 工兵とする 은 정비공이다 是工兵 @@ -1419,7 +1420,7 @@ Selecciona el nivel de conocimientos de ingeniería de la unidad Vyberte úroveň dovednosti inženýra pro jednotku Seleziona il livello di abilità geniere dell'unità - Sélectionner le niveau d'habilité en réparation de l'unité + Choix du niveau de compétence technique de l'unité ユニットへの工兵スキルを選択 선택한 인원의 정비 실력을 고르십시요 选择工兵的技术水平 @@ -1434,7 +1435,7 @@ Nikdo Ningún Nessuna - Aucun + Aucune なし 없음 @@ -1467,6 +1468,7 @@ 고급 정비공 Продв. Инженер Engenheiro Avançado + Ing. avancé Assign one or multiple units as an engineer @@ -1477,7 +1479,7 @@ Asignar una o varias unidades como ingeniero Přiřaďte jednu nebo více osob jako inženýra Assegna una o più unità come genieri - Assigner un ou plusieurs unités comme ingénieur + Affecter une ou plusieurs unités en tant qu'ingénieur 修理車両として指定 하나 혹은 여러 인원을 정비공으로 등록합니다 指定一个或多个单位为工兵 @@ -1492,7 +1494,7 @@ Asignar vehículo de reparación Přiřaďte opraváresnké vozidlo Assegna Veicolo Riparazioni - Assigner en tant que véhicule de réparation + Assignation véhicule de réparation 修理車両として指定 정비 차량 등록 指定维修载具 @@ -1522,7 +1524,7 @@ Lista de los vehículos que se clasifican como vehículo de reparación, separados por comas. Seznam vozidel, která budou klasifikována jako opravárenská, oddělit čárkami. Lista di Veicoli che verranno considerati veicoli riparazioni, separati da virgole. - Liste de véhicules qui seront considérés comme véhicules de réparation. Séparé par des virgules. + Liste de véhicules qui seront classés en tant que véhicules de réparation, séparés par des virgules. 一覧に記載されたユニット名を、修理車両として指定します。コンマで複数を指定できます。 목록내 차량은 정비 차량으로 분류됩니다. 쉼표로 구분합니다. 载具名单,把载具名称输入在这边即可定义其为维修载具。每个载具使用逗号以做区隔。 @@ -1552,7 +1554,7 @@ ¿Está el vehículo clasificado como un vehículo de reparación? Je vozidlo klasifikováno jako opravárenské? Il veicolo è classificato dome veicolo riparazioni? - Le véhicule est-il considéré comme un véhicule de réparation ? + Le véhicule est-il classé en tant que véhicule de réparation ? 車両を修理車両と指定しますか? 이 차량을 정비 차량으로 분류합니까? 此载具是维修载具吗? @@ -1567,7 +1569,7 @@ Asignar uno o varios vehículos como vehículo de reparación Přiřaďte jedno nebo více vozidel jako opravárenské vozidlo Assegna uno o più veicoli come veicoli riparazioni - Assigner un ou plusieurs véhicules en tant que véhicule de réparation + Affecter un ou plusieurs véhicules en tant que véhicule de réparation 単体、または複数の車両を修理車両とします 하나 혹은 여러 차량을 정비 차량으로 등록합니다 指定一个或多个载具作为维修载具 @@ -1582,7 +1584,7 @@ Asignar instalación de reparación Přiřaďte opravárenské zařízení Assegna Struttura Riparazioni - Assigner en tant qu'installation de réparation + Assignation ateliers de réparation 修理施設とする 정비 시설 등록 指定维修设施 @@ -1612,7 +1614,7 @@ Lista de los objetos que se clasifican como instalaciones para la reparación, separados por comas. Seznam objektů, které budou klasifikovány jako opravárenské zařízení, oddělit čárkami. Lista di oggetti che verranno classificati come strutture riparazioni, separate da virgole. - Liste des objets considérés comme installations de réparation. Séparé par des virgules + Liste d'objets qui seront classés comme ateliers de réparation, séparés par des virgules. 一覧に記載されたユニット名を、修理施設として指定します。コンマで複数を指定できます。 목록내 시설은 정비 시설으로 분류됩니다. 쉼표로 구분합니다. 设施名单,把设施名称输入在这边即可定义其为维修设施。每个设施使用逗号以做区隔。 @@ -1627,7 +1629,7 @@ Es una instalación de reparación Opravárenské zařízení E' Struttura Riparazioni - Est une installation de réparation + Est un atelier de réparation 修理施設とする 은 정비 시설이다 是维修设施 @@ -1642,7 +1644,7 @@ ¿Está el objeto clasificado como una instalación de reparación? Je objekt klasifikován jako opravárenské zařízení? L'oggetto è classificato come struttura riparazioni? - L'objet est-il considéré comme une installation de réparation ? + L'objet est-il classé en tant qu'atelier de réparation ? オブジェクトを修理施設として指定しますか? 이 시설을 정비 시설로 분류합니까? 此设施是维修设施吗? @@ -1657,7 +1659,7 @@ Asignar uno o varios objetos como una instalación de reparación Přiřaďte jeden nebo více objektů jako opravárenské zařízení Assegna uno o più oggetti come strutture riparazioni - Assigner un ou plusieurs objets en tant que véhicule de réparation + Assigner un ou plusieurs objets en tant qu'atelier de réparation ひとつ、または複数オブジェクトに予備部品を追加 하나 혹은 여러 시설을 정비 시설로 등록합니다 指定一个或多个对象作为维修设施 @@ -1717,7 +1719,7 @@ Список транспортных средств, в которые будут добавляться запчасти, разделенный запятыми. Seznam objektů, které dostanou náhradní díly, oddělit čárkami. Lista di oggetti a cui verranno aggiunte parti di ricambio, separate da virgole. - Liste des objets qui recevront des pièces de réparation en plus. Séparé par des virgules + Liste d'objets dans lesquels des pièces de rechange seront ajoutées, séparés par des virgules. 一覧に追加されたオブジェクトへ予備部品を与えます。コンマで複数を指定できます。 목록내 물체는 예비 부품을 받습니다, 쉼표로 구분합니다. 添加备件到名单的载具上。每个载具使用逗号以做区隔。 @@ -1783,8 +1785,8 @@ 选择的备件数量 選擇的備件數量 - - Wheel repair requirements + + Wheel Repair Requirements Erfordernisse zur Reifenreperatur Wym. naprawy kół Requisitos de reparación de ruedas @@ -1792,14 +1794,14 @@ Requerimentos para reparo de rodas Vyžaduje opravu kol Requisiti riparazione ruote - Exigences de réparation de roue + Exigences pour réparations de roues タイヤの修理を必要 바퀴 교체 요구사항 维修轮胎限制 維修輪胎限制 - - Items required to remove/replace wheels + + Items required to remove/replace wheels. Gegenstänge, die zum Entfernen/Austauschen eines Reifens benötigt werden Przedmioty potrzebne do wymiany kół Elementos necesarios para quitar/cambiar ruedas @@ -1807,19 +1809,43 @@ Itens requeridos para remover/trocar rodas Položka vyžaduje odstraněná/vyměněná kola Oggetti richiesti per riparare/rimuovere ruote - Items exigés pour enlever/remplacer les roues + Objets nécessaires pour l'enlèvement / le remplacement de roues. タイヤの除去と交換にアイテムを必要としますか? 바퀴를 제거/교체하는데 필요한 물건 需要特定物品来移除/更换车轮 需要特定物品來移除/更換車輪 + + Misc Repair Requirements + 部分修理条件 + 額外修理條件 + Exigences pour réparations diverses + + + Items required to repair a specific vehicle component or remove/replace tracks. + 車両の特定コンポーネントか履帯の除去/交換にアイテムを必要とします。 + 是否需要物品來修復一些特別載具部位或者移除/替換履帶 + Objets nécessaires à la réparation d'un élément donné d'un véhicule, ou pour démonter / remplacer des chenilles. + + + Full Repair Requirements + 完全修理条件 + 完整修復條件 + Exigences pour réparations complètes + + + Items required to perform a full vehicle repair. + 車両の完全修理にアイテムを必要とします。 + 是否需要物品來完整修復載具 + Objets nécessaires pour effectuer la réparation complète d'un véhicule. + Engine must be off to repair Motor muss ausgeschaltet zu reparieren sein El motor necesita desactivado para la reparación Pro opravu je zapotřebí vypnout motor O motor deve estar desligado para manutenção - Le moteur doit être éteins pour réparer + Le moteur doit être éteint pour la réparation Двигатель должен быть выключен для ремонта 修理のためにエンジンを停止させる必要があります。 Silnik musi być wyłączony w celu naprawy @@ -1838,6 +1864,7 @@ Zapasowe Gąsienice Запасные траки Esteiras Reservas + Chenilles de rechange Number of spare tracks in cargo. @@ -1849,6 +1876,7 @@ Liczba zapasowych gąsienic w ładunku. Количество запасных траков в грузовом отсеке Número de esteiras reservas na Carga + Nombre de chenilles de rechange dans la cargaison. Spare Wheels @@ -1860,6 +1888,7 @@ Zapasowe Koła Запасные колеса Pneus Reservas + Roues de secours Number of spare wheels in cargo. @@ -1871,6 +1900,7 @@ Liczba zapasowych kół w ładunku. Количество запасных колес в грузовом отсеке Número de pneus reservas na Carga + Nombre de roues de secours dans la cargaison. Auto shut off engine on repair @@ -1882,6 +1912,7 @@ Automatycznie wyłącz silnik podczas napraw Автоотключение двигателя при ремонте Desligar motor automaticamente enquanto reparar + Arrêt auto du moteur lors d'une réparation Automatically shut off the engine when doing repairs. @@ -1893,6 +1924,7 @@ Automatycznie wyłącz silnik podczas napraw. Автоматически отключать двигатель при выполнении ремонта Automaticamente desliga o motor quando iniciar o reparo do veículo. + Coupe automatiquement le moteur lorsque des réparations sont effectuées. diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml index d6a74651b8..7910610005 100644 --- a/addons/respawn/stringtable.xml +++ b/addons/respawn/stringtable.xml @@ -11,6 +11,7 @@ Odrodzenie Возрождение Ressurgimento + Réapparition Deploy in 5 seconds... @@ -211,7 +212,7 @@ Wiedereinstiegs-System Systém znovuzrození Sistema de Renascimento - Système de Respawn + Système de réapparition Respawn-rendszer Возрождение Sistema Respawn @@ -227,7 +228,7 @@ Ausrüstung speichern? Uložit výbavu? Salvar equipamento? - Sauver l'équipement? + Sauver l'équipement Felszerelés elmentése? Сохранять снаряжение? Salva Equipaggiamento? @@ -243,7 +244,7 @@ Mit der Ausrüstung, die ein Soldat vor seinem Tod hatte, wiedereinsteigen? Znovuubjevit s výbavou kterou měl voják před smrtí? Renascer com o equipamento que um soldado tinha antes de sua morte? - Conserve l'équipement au Respawn + Le soldat réapparaît avec l'équipement qu'il avait juste avant sa mort. Az egység halála előtti felszerelésével való respawnolása? Возрождать солдата с тем же снаряжением, которое было на нем при смерти? Respawna con l'equipaggiamento che il soldato aveva appena prima di morire? @@ -259,7 +260,7 @@ Sollen Leichen automatisch verschwinden? Odstranit těla? Remover corpos? - Enlever les coprs? + Enlever les corps Holttestek eltávolítása? Удалять трупы? Rimuovi corpi? @@ -275,7 +276,7 @@ Entferne Spielerkörper nach dem Trennen einer Verbindung? Odstranit hráčova těla po odpojení? Remover corpos dos jogadores depois de desconectar? - Enlève les corps de joueurs après déconnection + Enlève le cadavre des joueurs quand ils se déconnectent. Játékosi testek eltávolítása távozás után? Удалять трупы игроков после дисконнекта? Rimuovi i corpi dei giocatori quando si disconnettono? @@ -294,6 +295,7 @@ Czas usunięcia ciała Время удаления трупов Tempo para remover corpo + Minuterie enlèvement corps This module enables you to configure ACE functionality specific to respawns. @@ -302,7 +304,7 @@ Tento modul umožňuje nastavení znovuzrození (spawn). Este módulo permite que você personalize as configurações do renascimento (Spawn). Этот модуль позволяет настроить систему возрождения. - Ce module permet de régler les options de Respawn + Ce module vous permet de configurer les fonctionnalités ACE spécifiques aux réapparitions des joueurs. Questo modulo ti permette di configurare le funzionalità ACE specifiche dei respawn. Este módulo permite configurar parámetros relacionados con la reaparición 有効化するとリスポンへ ACE 機能を設定できます。 @@ -317,7 +319,7 @@ Nachricht bei Freundbeschuss Upozornění na přátelskou střelbu Mensagens de fogo amigo - Message de tirs fraticides + Messages de tir ami Baráti tűz üzenetek Сообщения об огне по своим Messaggi Fuoco Amico @@ -333,7 +335,7 @@ Zobrazí zprávu v chatu v případě, když budete střílet na vlastní jednotky. Ve zprávě se zobrazí kdo na koho střílel, popř. kdo koho zabil. Usando este módulo em uma missão para exibir mensagens chat, no caso de quando você faz um fogo amigo - então a mensagem será exibida mostrando quem matou quem. Отображает сообщение в чате, в случае, когда убивают союзных игроков. В докладе указывается, кто стрелял, в кого. Кто кого убил. - Ce module permet l'affiche de message dans le chat lors d'un tir fraticide et indique qui a tué qui. + L'utilisation de ce module fait en sorte qu'à chaque joueur mort par un tir ami, un rapport sera affiché dans le chat, indiquant qui a tué qui. Usando questo modulo nella tua missione farà in modo che ogni uccisione per fuoco amico venga mostrata in forma di messaggio in chat. El usar este módulo, todas las muertes por fuego amigo serán indicadas en el chat. もし友軍誤射による死者が出た場合は、チャットにてその旨を表示します。 @@ -348,7 +350,7 @@ Sammelpunktssystem Systém shromáždění Sistema de ponto de encontro - Système de point de ralliement + Système de points de ralliement Gyülekezőpont-rendszer Система точек сбора Sistema Punto di Raccolta @@ -366,7 +368,7 @@ Этот модуль позволяет вам указать место сбора, куда вы можете быстро телепортироваться с "базы". Требуется наличие соответствующих объектов на карте - базы и флага. Они могут быть найдены в категории Пусто -> ACE Возрождения. Questo modulo ti consente di usare Punti di Raccolta in missione, a cui ti puoi teleportare rapidamente dalla bandiera in base. Richiede il piazzamento di oggetti speciali in mappa - base e bandiera. Entrambi disponibili nella categoria Vuoto -> Respawn ACE Este módulo permite usar puntos de reunión en la misión, a los que pueden teletransportarse las unidades desde la bandera de base. Requiere colocar objetos especiales en el mapa: las banderas de base y de reunión, ambas disponibles en la categoría Vacio-> Reaparición ACE - Ce module vous permet d'utiliser les "rally points" auxquels vous pouvez vous téléporter rapidement depuis un drapeau à la base. Il nécessite le placement d'objets spéciaux sur la carte - base et drapeau, disponibles dans la catégorie Vide -> ACE Respawn. + Ce module vous permet d'utiliser des points de ralliement dans les missions, vers lesquels vous pouvez vous téléporter rapidement depuis le drapeau de la base.\nNécessite de placer des objets spéciaux sur la carte - base et drapeau. Tous deux disponibles dans la catégorie "Vide -> ACE Réapparition". ミッションでベースから素早く移動できるラリーポイントを使えるようにします。ゲーム内に専用オブジェクトとなるベースとフラッグを設置している必要があります。両オブジェクトは Empty 下の ACE リスポンから設置できます。 이 모듈은 미션 중에 기지 깃발에서 집결지로 빠르게 텔레포트 시켜주는 역활을 합니다. 지도 상에 기지 및 깃발이 필요합니다. 두 가지 모두 Empty->ACE Respawn 카테고리에서 찾을 수 있습니다. 摆放此模块后,你将能在任务中布署集合点,使你可以快速往返基地与前线。要使用本功能,请记得放上空物件->ACE 重生里面的基地与旗帜。 @@ -379,7 +381,7 @@ Bewege Sammelpunkt Přesun na shromaždiště Mover para ponto de encontro - Bouger le point de ralliement + Déplacer le point de ralliement Gyülekezőpont mozgatása Двигать точку сбора Sposta Punto di Raccolta @@ -395,7 +397,7 @@ ACE-Wiedereinstieg ACE Znovuzrození ACE Respawn - ACE Respawn + ACE Réapparition ACE Respawn ACE Возрождение Rigenerazione ACE diff --git a/addons/safemode/stringtable.xml b/addons/safemode/stringtable.xml index e5eff7255c..98e9483fc3 100644 --- a/addons/safemode/stringtable.xml +++ b/addons/safemode/stringtable.xml @@ -25,7 +25,7 @@ Uvolnit pojistku Biztonsági kapcsoló eltolása Снять с предохранителя - Enlever sécurité + Enlever la sécurité Togli la sicura Tirar segurança 安全装置を外す diff --git a/addons/sandbag/stringtable.xml b/addons/sandbag/stringtable.xml index 9284d23468..50dcd5162d 100644 --- a/addons/sandbag/stringtable.xml +++ b/addons/sandbag/stringtable.xml @@ -1,6 +1,6 @@ - + Sandbag Sandsack @@ -55,7 +55,7 @@ Взять мешок с песком Zabierz worek Coger saco de arena - Prendre sac de sable + Prendre le sac de sable Zvednout pytel Prendi Sacco di Sabbia Homokzsák felvétele @@ -71,7 +71,7 @@ Нести мешок с песком Przenieś worek Portar saco de arena - Porter sac de sable + Porter le sac de sable Nést pytel Trasporta Sacco di Sabbia Homokzsák cipelése @@ -87,7 +87,7 @@ Завершить переноску Zostaw worek Dejar de portar - Arreter de porter + Arrêter de porter Položit Fine Trasporto Cipelés abbahagyása @@ -103,7 +103,7 @@ Положить мешок Upuść worek Soltar saco de arena - Lacher sac de sable + Lâcher le sac de sable Odložit pytel Lascia Sacco di Sabbia Homokzsák eldobása @@ -119,7 +119,7 @@ Подтвердить установку Potwierdź rozłożenie Confirmar despliegue - Confirmer Déploiement + Confirmer le déploiement Potvrdit Položení Conferma Posizionamento Lerak @@ -135,7 +135,7 @@ Отменить установку Anuluj rozłożenie Cancelar despliegue - Annuler Déploiement + Annuler le déploiement Zrušit Položení Cancella Posizionamento Visszavonás @@ -151,7 +151,7 @@ Установить мешок с песком Rozłóż worek z piaskiem Desplegar saco de arena - Deployer sac de sable + Déployer un sac de sable Umístit pytel Posiziona Sacco di Sabbia Homokzsák lerakása diff --git a/addons/scopes/stringtable.xml b/addons/scopes/stringtable.xml index 24ec614fc8..efaf1555b6 100644 --- a/addons/scopes/stringtable.xml +++ b/addons/scopes/stringtable.xml @@ -7,7 +7,7 @@ スコープ 조준경 Celowniki optyczne - Scopes + Lunettes de visée Mirini 瞄准镜 瞄準鏡 @@ -20,7 +20,7 @@ ACE スコープ調節を有効化 ACE 조준경 영점조작 활성화 Włącz ustawienia celowników optycznych ACE - Active ACE Scope adjustment + Activer le réglage ACE des lunettes Abilita Regolazione mirino ACE 开启ACE瞄准镜归零调节 開啟ACE瞄準鏡歸零調節 @@ -33,7 +33,7 @@ 高倍率スコープでACE スコープ調節を有効化 고성능 조준경 조절 나사 활성화 Włącz pokrętła regulacyjne - Permet de régler la hausse et la dérive sur les optiques de visée à fort grossissement + Active les tourelles de réglage des lunettes de visée à fort grossissement. Abilita la regolazione delle torrette nei mirini a lunga gittata 开启高倍率瞄准镜归零调节 開啟高倍率瞄準鏡歸零調節 @@ -46,7 +46,7 @@ ACE スコープ調節を有効化 조절 나사 강제 Wymuś użycie pokręteł regulacyjnych - Impose le réglage de la hausse/dérive + Forcer les tourelles de réglage Forza la regolazione delle torrette 强制使用归零调节 強制使用歸零調節 @@ -59,7 +59,7 @@ 高倍率スコープで調整の使用を強制させます 고성능 조준경의 조절 나사 사용을 강제합니다 Wymuś użycie pokręteł regulacyjnych dla celowników o dużym powiększeniu - Impose le réglage de la hausse/dérive sur les optiques de visée à fort grossissement + Oblige l'utilisation des tourelles de réglage sur les lunettes de visée à fort grossissement. Forza l'uso della regolazione nei mirini a lunga gittata 强制为高倍率瞄准镜开启归零调节 強制為高倍率瞄準鏡開啟歸零調節 @@ -72,7 +72,7 @@ ゼロイン調節 영점 고치기 Poprawka zerowania - Corrige le zérotage + Corriger le zérotage Correggi azzeramento 修正归零 修正歸零 @@ -85,7 +85,7 @@ 全ての小口径用照準器のゼロインを調節します 모든 소화기의 영점을 고칩니다 Poprawia zerowanie wszystkich celowników broni ręcznej - Corrige le zérotage des optiques de visée des petites armes + Corrige le zérotage de tous les viseurs d'armes légères Corregge l'azzeramento di tutti i mirini di bassa portata 为所有小口径武器修正归零 為所有小口徑武器修正歸零 @@ -98,7 +98,7 @@ ゼロイン距離を上書き 영점거리 덮어쓰기 Nadpisuje ustawienie dla zerowego dystansu - Remplace la distance de zérotage + Écraser la distance de zérotage Sovrascrivi la distanza zero 覆写归零距离 覆寫歸零距離 @@ -111,7 +111,7 @@ 'defaultZeroRange'設定を使う高倍率スコープのゼロイン距離を上書きします 기존 고성능 조준경의 영점거리에 '기본설정 영점거리' 를 덮어씌웁니다 Używa 'defaultZeroRange' zamiast ustawionej odległości zerowania dla celowników o duzym przybliżeniu - Utilise le paramètre 'defaultZeroRange' pour remplacer la distance de zérotage sur les optiques de visée à fort grossissement + Utilise le paramètre "Distance de zérotage par défaut" pour remplacer la distance de zérotage des lunettes de visée à fort grossissement. Usa le impostazioni di "defaultZeroRange" (Portata Zero Predefinita) per sovrascrivere la portata zero dei mirini a lunga gittata 使用'defaultZeroRange'来为高倍率瞄准镜覆写预设归零距离 使用'defaultZeroRange'來為高倍率瞄準鏡覆寫預設歸零距離 @@ -137,7 +137,7 @@ 高倍率スコープのゼロイン距離はこの設定になります 고성능 조준경이 정해진 수만큼 영점거리를 맞추게 됩니다. Celowniki o dużym powiększeniu będą zerowane dla tej odległości - Distance de zérotage par défaut des optiques de visée à fort grossissement + Le zérotage des lunettes de visée à fort grossissement sera effectué pour cette distance. I mirini a lunga gittata verranno azzerrati a questa distanza 高倍率瞄准镜将归零在这个距离上 高倍率瞄準鏡將歸零在這個距離上 @@ -163,7 +163,7 @@ スコープがゼロインされる温度 조준경 영점조준시 온도 Temperatura, przy której celownik został wyzerowany - Température de référence pour le zérotage des optiques + Température de référence pour le zérotage des lunettes Temperatura a cui è stato azzerato il mirino 武器参考多少温度来进行归零. 武器參考多少溫度來進行歸零. @@ -189,7 +189,7 @@ スコープがゼロインされる気圧 조준경 영점조준시 기압 Ciśnienie barometryczne, przy którym celownik został wyzerowany - Pression barométrique de référence pour le zérotage des optiques + Pression barométrique de référence pour le zérotage des lunettes Pressione barometrica a cui è stato azzerato il mirino 武器参考多少大气压力来进行归零。 武器參考多少大氣壓力來進行歸零。 @@ -215,7 +215,7 @@ スコープがゼロインされる湿度 조준경 영점조준시 습도 Wilgotność powietrza, przy której celownik został wyzerowany - Taux d'humidité de référence pour le zérotage des optiques + Taux d'humidité de référence pour le zérotage des lunettes Umidità a cui è stato azzerato il mirino 武器参考多少湿度来进行归零。 武器參考多少濕度來進行歸零。 @@ -228,7 +228,7 @@ 高度により圧が減少 고도에 맞춰 기압 설정 Ciśnienie określone na podstawie wysokości - Pression selon l'altitude + Déduire la pression selon l'altitude Ricava la pressione dall'altitudine 高度影响大气压力 高度影響大氣壓力 @@ -241,7 +241,7 @@ 標高により気圧が減少されます 주변 고도에 맞춰 기압을 설정합니다 Określ ciśnienie barometryczne na podstawie wysokości terenu - Détermine la pression barométrique selon l'altitude du terrain + Déduire la pression barométrique en fonction de l'altitude du terrain Ricava la pressione barometrica dall'altitudine del terreno 在不同高度上会有不同的大气压力 在不同高度上會有不同的大氣壓力 @@ -259,6 +259,7 @@ Wykorzystaj legacy UI Использовать устаревший интерфейс Usar Interface Antiga + Utiliser l'ancienne UI Displays elevation and windage with signed numbers @@ -271,6 +272,7 @@ Wyświetla elewację i tarcie powietrza poprzez podpisane liczby Отображает горизонтальные и вертикальные поправки с подписанными числами Exibir elevação e vento com número sinalizados. + Affiche les valeurs de hausse et de dérive avec des nombres signés. Simplified zeroing @@ -283,6 +285,7 @@ Uproszczone zerowanie Упрощенная пристрелка Zeramento Simplificado + Zérotage simplifié Replicates the vanilla zeroing system for riflescopes. @@ -295,6 +298,7 @@ Replikuje system zerowania, dla celowników karabinowych, z domyślnej gry. Использует ванильную систему прицеливания для прицелов Imita o sistema de zeramento vanilla para miras de rifle. + Reproduit le système de zérotage vanilla pour les lunettes. Minor adjustment up @@ -431,7 +435,7 @@ Установить дальность пристрелки Establecer ajuste a cero Imposta i valori dell'azzeramento - RAZ corrections + Réglage du zéro Állítások nullázása Zerar ajuste Vynulovat korekci @@ -451,6 +455,7 @@ Zresetuj wyzerowanie Сбросить дальность пристрелки Resetar Ajuste Zero + Réinitialiser le réglage du zéro This module adds windage and elevation adjustment turrets on high power rifle scopes. @@ -458,7 +463,7 @@ このモジュールは高倍率ライフル スコープにおいて横風と仰角の調節ができます。 이 모듈은 고성능 조준경에 조준 나사를 이용한 편차 및 고도 조절 기능을 더해줍니다. Ten moduł włącza pokrętła kalibracyjne poprawki na wiatr oraz poprawki wysokości dla celowników o dużym powiększeniu. - Ce module ajoute les tambours de correction de la hausse et de dérive sur les optiques de visée à fort grossissement. + Ce module ajoute les tourelles de correction de hausse et de dérive sur les lunettes de visée à fort grossissement. Questo modulo aggiunge lo spostamento dell'aria e la regolazione dell'elevazione delle torrette in mirini a lunga gittata 此模块可为高倍率瞄准镜新增归零风偏,距离用的调整纽。 此模塊可為高倍率瞄準鏡新增歸零風偏,距離用的調整紐。 @@ -513,6 +518,7 @@ Limit poziomy Лимит по горизонтали Limite Horizontal + Limites horizontales Vertical limits @@ -523,6 +529,7 @@ Limit pionowy Лимит по вертикали Limite Vertical + Limites verticales diff --git a/addons/slideshow/stringtable.xml b/addons/slideshow/stringtable.xml index 3cc62d4ee7..39837edcbb 100644 --- a/addons/slideshow/stringtable.xml +++ b/addons/slideshow/stringtable.xml @@ -20,7 +20,7 @@ This module allows you to set up slide-shows on different objects. One module per image list. Only objects with hiddenSelection 0 are supported. Dieses Modul erlaubt eine Diavorführung auf unterschiedlichen Objekten. Ein Modul, eine Bilderliste. Nur Objekte mit "hiddenSelection 0" werden unterstützt. - Ce module permet d'afficher des diaporamas sur différents objets. Un module par liste d'image. Seul les objets avec le paramètre "HiddenSelection 0" sont supportés + Ce module permet d'afficher des diaporamas sur différents objets. Un module par liste d'images. Seuls les objets avec le paramètre `HiddenSelection 0` sont supportés Ten moduł pozwala skonfigurować pokaz slajdów na różnych obiektach. Jeden moduł na jedną liste slajdów. Tylko obiekty z hiddenSelection 0 są wspierane. Ez a modul lehetővé teszi a különböző objektumokon való vetítést. Egy modul/képlista. Csak "hiddenSelection 0"-t tartalmazó objektumok felelnek meg. Este módulo permite que você monte apresentações de slides em diferentes objetos. Um módulo por lista de imagem. Somente objetos com hiddenSelection 0 são suportados. @@ -52,7 +52,7 @@ Object names (can also be synchronized objects) slide-show will be displayed on, separated by commas if multiple. Objektnamen (können auch synchronisierte Objekte sein) auf denen die Diavorführung abgepielt wird. Werden ggf. durch Kommata getrennt. - Nom d'objets (peuvent aussi être des objets synchronisés) sur lesquels les diaporamas vont être affichées, séparation par virgule si plusieurs. + Noms des objets (pouvant aussi être des objets synchronisés) sur lesquels le diaporama sera affiché, séparés par des virgules s'ils sont plusieurs. Nazwy obiektów (mogą to też być zsynchronizowane obiekty) na których pokaz slajdów zostanie pokazany, oddzielony przecinkiem jeżeli jest ich więcej niż 1. Objektum nevek (szinkronizált is lehet) amik a vetítésen megjelennek, több darab esetén vesszővel elválasztva. Nomes dos objetos (também podem ser objetos sincronizados) em que a apresentação de slides será mostrada, separado por vírgulas se for mais de um. @@ -68,7 +68,7 @@ Controllers Steuereinheit - Contrôleurs + Commandes Kontroler Vezérlők Controles @@ -84,7 +84,7 @@ Controller object names, separated by commas if multiple. Objekte die als Steuereinheit fungieren. Werden ggf. durch Kommata getrennt. - Noms de contrôleur d'objets, séparation par virgule si plusieurs + Noms des objets servant d'unité de commande, séparés par des virgules s'ils sont plusieurs. Nazwa obiektu - kontrolera, oddzielona przecinkami jeżeli jest ich więcej niż 1. Vezérlő objektum nevek, vesszővel elválasztva több darab esetén. Nome dos objetos de controle, separado por vírgula se mais de um. @@ -115,7 +115,7 @@ List of images that will be used for the slide-show, separated by commas, with full path correctly formatted (eg. images\image.paa). Eine Liste von Bildern, die bei der Vorführung verwendet werden. (Durch Kommata getrennt, mit vollem Pfad angegeben (z.B Bilder\bild.paa)). - Liste d'images qui seront utilisées dans des diaporamas, séparation par virgule, avec le chemin d'accès complet et formaté correctement (ie. images\image.paa) + Liste des images qui seront utilisées dans le diaporama, séparées par des virgules, avec le chemin complet correctement formaté (p. ex. images\image.paa) Lista obrazów, które zostaną użyte do pokazu slajdów, oddzielone przecinkiem, z poprawnym pełnym formatem ścieżki do obrazka (np. slajdy\obrazek.paa). A képek listája amit a vetítés használni fog, vesszővel elválasztva, megfelelően formázott teljes útvonallal (pl. képek\kép.paa) Lista das imagens que serão utilizadas na apresentação de slides, separadas por vírgula, com o caminho completo corretamente formatado (ex: imagens\imagem.paa). @@ -146,7 +146,7 @@ List of names that will be used for interaction entries, separated by commas, in order of images. - Liste de noms qui seront utilisés pour des interactions, séparation par virgule, dans l'ordre des images + Liste des noms qui seront utilisés pour les entrées d'interaction, séparés par des virgules, dans l'ordre des images. Lista nazw, które zostaną użyte do nazwania wpisów interakcji, oddzielone przecinkiem, w kolejności obrazów. Olyan nevek listája, melyek interakciós célra kellenek, vesszővel elválasztva, kép szerinti sorrendben. Lista dos nomes que serão usados para entradas de interação, separados por vírgulas, na ordem das imagens. @@ -177,7 +177,7 @@ Name der für den Hauptinteraktionseintrag benutzt wird (um mehrere Diavorführungen voneinander zu trennen). Nazwa, która będzie użyta w głównym menu interakcji (w celu rozróżnienia różnych slajdów). Domyślnie: "Slides" メイン インタラクション エントリで使われる名前を設定します。(複数のスライドショーを区別するため)。標準: "Slides" - Un nom qui sera utilisé pour interagir avec plusieurs diaporamas. Par défaut : "Slides" + Nom qui sera utilisé pour l'entrée d'interaction principale (pour distinguer plusieurs diaporamas). Valeur par défaut : "Slides". Nome che sarà utilizzato per le principali interazioni (per distinguere le multiple diapositive). Predefinito: "Slides" 設定該幻燈片的標題名稱 (用來區分多個不同標題的幻燈片) 預設名稱: "幻燈片" 设定该幻灯片的标题名称 (用来区分多个不同标题的幻灯片) 预设名称: "幻灯片" @@ -187,7 +187,7 @@ Slide Duration - Durée d'un diaporama + Durée de la diapositive Czas trwania slajdów Dia időtartam Duração do Slide @@ -203,7 +203,7 @@ Duration of each slide. Default: 0 (Automatic Transitions Disabled) - Durée de chaque diaporama. Défaut: 0 (transition automatique désactivée) + Temps d'affichage de chaque diapositive. Valeur par défaut : 0 (transition automatique désactivée) Czas trwania poszczególnych slajdów. Domyślnie: 0 (Automatyczne przejścia wyłączone) A diák időtartama. Alapértelmezett: 0 (Automatikus váltás letiltva) Duração de cada slide. Padrão: 0 (Transição automática desabilitada) @@ -219,7 +219,7 @@ Slides - Diapo + Diapositives Slajdy Diák Slides diff --git a/addons/spectator/functions/fnc_ui.sqf b/addons/spectator/functions/fnc_ui.sqf index c135c74a69..b254f9cff8 100644 --- a/addons/spectator/functions/fnc_ui.sqf +++ b/addons/spectator/functions/fnc_ui.sqf @@ -187,4 +187,7 @@ if (_init) then { // Ensure chat is shown again showChat true; + + // Restore HUD + [] call EFUNC(common,showHud); }; diff --git a/addons/spectator/stringtable.xml b/addons/spectator/stringtable.xml index f236e78a10..4de97c7940 100644 --- a/addons/spectator/stringtable.xml +++ b/addons/spectator/stringtable.xml @@ -13,19 +13,21 @@ Obserwator Зритель Espectador + Divák ACE Spectator ACE Zuschauer ACE スペクテイター Spettatore ACE - Spectateur ACE + ACE Spectateur ACE 旁观者 ACE 旁觀者 Obserwator ACE ACE 관전자 ACE Зритель ACE Espectador + ACE Divák Configure how the spectator system will operate by default. @@ -36,7 +38,7 @@ Configurar cómo el sistema de espectador funcionará por defecto. Konfigurovat výchozí nastavení pozorovatele Configura come il sistema spettatore si comporterà di default. - Configure comment le système de spectateurs opère par défaut. + Configure le fonctionnement par défaut du système spectateur. スペクテイター システムが標準でどのように動作するか設定できます。 어떻게 관전자 시스템이 기본적으로 작동되는지 설정합니다 设定旁观者系统相关配置 @@ -50,10 +52,11 @@ 可觀察AI 可观察AI AI 활성 - IA Activée + IA visible SI Aktywowane Разрешить для ИИ IA Ativado + AI povoleno Make AI viewable in spectator @@ -63,7 +66,7 @@ 開啟此功能後可在觀察者模式下觀察AI單位 开启此功能后可在观察者模式下观察AI单位。 관전자가 AI를 관전 할 수 있습니다. - Rends les IA visibles en spectateur + Rend les unités IA visibles en spectateur Spraw, aby SI było widoczne jako obserwator Сделать ИИ видимыми в режиме зрителя Permite que IA seja visivel no espectador @@ -77,7 +80,7 @@ Módy kamery Modos de cámara Modalità camera - Mode de caméra + Modes de caméra カメラ モード 카메라 모드 摄影机模式 @@ -92,7 +95,7 @@ Modos de la cámara que se pueden utilizar. Módy kamery které mohou být použity. Modalità che la camera può utilizzare. - Modes de caméra qui peuvent être utilisés + Modes de caméra pouvant être utilisés カメラ モードを設定できます。 사용할 수 있는 카메라 모드들 입니다 设定可使用的摄影机模式 @@ -115,7 +118,7 @@ 1PP and 3PP - 1ère et 3e personne + 1ère et 3ème personne 1.ª y 3.ª persona 1° e 3° pers 1 i 3 os. @@ -137,7 +140,7 @@ Modos de visión Módy zobrazení Modalità visuali - Modes de vision + Modes de visualisation ビジョン モード 시야 모드 视觉模式 @@ -152,7 +155,7 @@ Modos de visión que pueden ser utilizados. Módy zobrazení které mohou být použity. Modalità visuali che possono essere usate. - Modes de visions qui peuvent être utilisés + Modes de visualisation pouvant être utilisés ビジョン モードを設定できます。 사용할 수 있는 시야 모드들 입니다 设定可使用的视觉模式 @@ -193,12 +196,16 @@ Макс. дистанция следования 最大追随距離 Distância Máxima de Acompanhamento + 最大跟隨距離 + Distance maximale de suivi Maximum distance the follow camera can be from the target Максимальная дистанция от камеры слежения до цели カメラが目標へ追随できる最大距離を決定できます。 A distância máxima que a câmera de acompanhamento pode estar do alvo. + 攝影機能追隨目標的最大距離 + Distance maximale à laquelle la caméra de suivi peut se trouver par rapport à la cible @@ -255,7 +262,7 @@ Noční Nocturna Notturno - Nuit + Nocturne 暗視装置 야간 夜视 @@ -289,6 +296,7 @@ Ikony Иконки Ícones + Ikony Projectiles @@ -302,6 +310,7 @@ Pociski Осколки Projéteis + Projektily Next Unit @@ -358,6 +367,7 @@ Wolna Prędkość Замедление Velocidade Lenta + Pomalá rychlost diff --git a/addons/spottingscope/stringtable.xml b/addons/spottingscope/stringtable.xml index b11bff24ac..6803249597 100644 --- a/addons/spottingscope/stringtable.xml +++ b/addons/spottingscope/stringtable.xml @@ -1,13 +1,13 @@ - + Spotting Scope Teleskop Зрительная труба Teleskop Telescopio - Téléscope de visée + Longue-vue Zaměřovací dalekohled Cannocchiale Megfigyelő távcső @@ -23,7 +23,7 @@ Поднять зрительная трубу Zabierz teleskop Coger telescopio - Prendre téléscope de visée + Récupérer la longue-vue Zvednout zaměřovací dalekohled Raccogli Cannocchiale Mefgigy. távcső felvétele @@ -39,7 +39,7 @@ Установить зрительная трубу Ustaw teleskop Colocar telescopio - Placer téléscope de visée + Placer la longue-vue Položit zaměřovací dalekohled Posiziona Cannocchiale Megfigy. távcső elhelyezése diff --git a/addons/switchunits/stringtable.xml b/addons/switchunits/stringtable.xml index fab978d106..5dc9a06f2f 100644 --- a/addons/switchunits/stringtable.xml +++ b/addons/switchunits/stringtable.xml @@ -12,6 +12,8 @@ Przełącz Jednostki Переключение юнитов Trocar Unidades + Přepnout jednotky + Changement de faction Switched unit @@ -20,7 +22,7 @@ Prohozená jednotka Przełączona jednostka Cambiado de unidad - Unité changée + Faction changée Egység átváltva Unità cambiata Trocado de unidade @@ -36,7 +38,7 @@ Próba zmiany Provando a cambiare Intentando cambiar - Essaye de basculer + Essaie de changer Tentando trocar Попытка переключения 切り替えを試す @@ -51,7 +53,7 @@ Tato jednotka je moc blízko k nepříteli. Ta jednostka jest zbyt blisko przeciwnika. Esta unidad está demasiado cerca del enemigo. - Cette unité est trop proche des ennemis + Cette unité est trop proche de l'ennemi. Ez az egység túl közel van az ellenséghez. Questa unità è troppo vicina al nemico. Essa unidade está muito perto do inimigo. @@ -67,7 +69,7 @@ Nach BLUFOR wechseln? Přesunout k BLUFOR? Trocar para Oeste? - Changer en OUEST? + Changer en BLUFOR Átváltás BLUFOR-ra? На синих? Cambia per BLUFOR? @@ -83,7 +85,7 @@ Erlaube das Wechseln zu BLUFOR-Einheiten? Povolit přesun k BLUFOR? Permitir troca de unidades para o Oeste? - Permettre le changement en unité OUEST? + Autorise le passage en unité BLUFOR Nyugat-fakciós egységekre való váltás engedélyezése? Разрешить переключаться на синих юнитов? Consenti passaggio ad unità BLUFOR? @@ -99,7 +101,7 @@ Nach OPFOR wechseln? Přesunout k OPFOR? Trocar para Leste? - Changer en EST? + Changer en OPFOR Átváltás OPFOR-ra? На красных? Cambia per OPFOR? @@ -115,7 +117,7 @@ Erlaube das Wechseln zu OPFOR-Einheiten? Povolit přesun k OPFOR? Permitir troca de unidades para o Leste? - Permettre le changement en unité EST? + Autorise le passage en unité OPFOR Kelet-fakciós egységekre való váltás engedélyezése? Разрешить переключаться на красных юнитов? Consenti passaggio ad unità OPFOR? @@ -131,7 +133,7 @@ Nach INDFOR wechseln? Přesunout k INDFOR? Trocar para Indenpendente - Changer en INDE? + Changer en Indépendant Átváltás INDFOR-ra? На независимых? Cambia per INDFOR? @@ -147,7 +149,7 @@ Erlaube das Wechseln zu INDFOR-Einheiten? Povolit přesun k INDFOR? Permitir troca de unidades para o Indenpendente? - Permettre le changement en unité INDE? + Autorise le passage en unité Indépendante Független egységekre való váltás engedélyezése? Разрешить переключаться на независимых юнитов? Consenti passaggio ad unità INDFOR? @@ -163,7 +165,7 @@ Nach CIVILIAN wechseln? Přesunout k CIVILISTŮM? Trocar para Civis? - Changer en CIV? + Changer en Civil Átváltás civilre? На гражданских? Cambia per Civili? @@ -179,7 +181,7 @@ Erlaube das Wechseln zu CIVILIAN-Einheiten? Povolit přesun k CIVILISTŮM? Permitir troca de unidades para o Civil? - Permettre le changement en unité CIV? + Autorise le passage en unité Civile Civil egységekre való váltás engedélyezése? Разрешить переключаться на гражданских юнитов? Consenti passaggio ad unità civili? @@ -195,7 +197,7 @@ Aktiviere Sicherheitszone? Povolit bezpečné oblasti? Habilitar zona segura? - Activer la zone sécurisée? + Activer la zone sécurisée Biztonságos zóna engedélyezése? Безопасная зона Abilita Zona Sicura? @@ -211,7 +213,7 @@ Aktiviere eine Sicherheitszone um feindliche Einheiten? Spieler können nicht zu Einheiten in der Sicherheitszone wechseln. Povolit bezpečnou zónu kolem nepřátelských jednotek? Hráči se nemohou změnit strany/jednotky uvnitř bezpečné zóny. Habilitar uma zona segur ao redor das unidades inimigas? Jogadores não conseguirão trocar para unidades dentro dessa zona segura. - Activer une zone sécurisée autour des enemis ? Les joueurs ne peuvent changer d'unité dand la zone sécurisée + Active une zone de sécurité autour des unités ennemies. Les joueurs ne peuvent pas changer de camp à l'intérieur de la zone. Engedélyezve legyen-e egy biztonságos zóna az ellenségek körül? A játékosok nem tudnak a biztonságos zónán belüli egységekre váltani. Включить безопасную зону вокруг вражеских юнитов? Игроки не могут переключаться на юнитов, находящихся в безопасной зоне. Abilita una zona sicura attorno ad unità nemiche? I giocatori non possono cambiare ad unità dentro la zona sicura. @@ -243,7 +245,7 @@ Die Sicherheitszone um Spieler von einem anderen Team. Standard: 100 Bezpečná zóna kolem hráče z jiných týmu. Výchozí: 100 A zona segura ao redor dos jogadores de diferentes equipes. Padrão: 100 - Rayon de la zone sécurisée autour de joueurs d'équipe différentes. Défaut: 100 + Rayon de la zone sécurité autour des joueurs d'équipes différentes. Valeur par défaut : 100 A biztonságos zóna más csapatból lévő játékosok körül. Alapértelmezett: 100 Радиус безопасной зоны вокруг ироков из противоположной команды. По-умолчанию: 100 La zona sicura attorno ai giocatori di un team diverso. Default: 100 @@ -259,7 +261,7 @@ Tento modul umožňuje přepínání mazi dostupnými stranami. Este módulo permite mudar o lado à disposição dos jogadores. Этот модуль позволяет игрокам переключаться между доступными юнитами. - Ce module permet le changement de faction des joueurs + Ce module vous permet de changer de faction en cours de partie. Questo modulo ti permette di cambiare lato durante la partita. El módulo permite a las unidades cambiar de bando durante el juego. モジュールはゲームにおいて、陣営の切り替えを有効にします。 diff --git a/addons/tacticalladder/stringtable.xml b/addons/tacticalladder/stringtable.xml index bec5b05e64..d5e40bb994 100644 --- a/addons/tacticalladder/stringtable.xml +++ b/addons/tacticalladder/stringtable.xml @@ -1,13 +1,13 @@ - + Telescopic Ladder Teleskopleiter Телескопическая лестница Drabina teleskopowa Escalera telescópica - Echelle téléscopique + Echelle télescopique Teleskopický žebřík Scala Telescopica Teleszkopikus létra @@ -39,7 +39,7 @@ Положить лестницу Zostaw drabinę Soltar escalera - Lacher l'échelle + Lâcher l'échelle Položit žebřík Lascia scala Létra eldobása @@ -58,7 +58,7 @@ Prodloužit Estendi Extender - Déployer + Ajuster 伸ばす 늘리기 伸长梯子 @@ -101,7 +101,7 @@ Взять лестницу Zabierz drabinę Recoger escalera - Prendre l'échelle + Récupérer l'échelle Vzít žebřík Prendi scala Létra felvétele diff --git a/addons/tagging/functions/fnc_tag.sqf b/addons/tagging/functions/fnc_tag.sqf index 1a0fe20e64..8bf6ec16ab 100644 --- a/addons/tagging/functions/fnc_tag.sqf +++ b/addons/tagging/functions/fnc_tag.sqf @@ -108,7 +108,7 @@ private _vectorDirAndUp = [_surfaceNormal vectorMultiply -1, _v3]; params ["", "", "", "", "_unit"]; TRACE_2("Unit:",_unit,_this); - playSound3D [QUOTE(PATHTO_R(sounds\spray.ogg)), _unit, false, (eyePos _unit), 10, 1, 15]; + playSound3D [QUOTE(PATHTO_R(sounds\spray.ogg)), _unit, false, (eyePos _unit), 5, 1, 15]; // Tell the server to create the tag and handle its destruction [QGVAR(createTag), _this] call CBA_fnc_serverEvent; diff --git a/addons/tagging/stringtable.xml b/addons/tagging/stringtable.xml index 3efad87d05..594d0b2e20 100644 --- a/addons/tagging/stringtable.xml +++ b/addons/tagging/stringtable.xml @@ -13,6 +13,7 @@ 喷漆 噴漆 Marcação + Označování Configure how the tagging system will operate by default. @@ -26,6 +27,7 @@ 定义喷漆系统预设设定 定義噴漆系統預設設定 Configura como o sistema de Marcação funcionará como padrão. (Tagging) + Nakonfigurujte, jak bude systém značkování ve výchozím nastavení fungovat. Spray Paint - Quick Tag @@ -34,11 +36,12 @@ Szybkie tagowanie Schnelle Markierung (Spraydose) 빠른 뿌리기 - Marquage rapide + Peinture en spray - Marquage rapide Marcamento Rapido 快速喷漆 快速噴漆 Lata de Tinta - Marcação Rápida + Stříkací barva - Rychlá značka Action performed on main tag interaction point. @@ -47,11 +50,12 @@ Akcja wykonywana na głównym punkcie interakcji tagu. Aktion, die am Haupt-Interaktionspunkt ausgeführt werden soll. 이 동작은 상호작용에서 뿌리기를 할 수 있게 해준다 - Action réalisé au point de marquage principal. + Type de marquage à appliquer au point d'interaction visé Azione eseguita sul punto di interazione dei tag principali. 直接喷漆在互动选单瞄准的点上。 直接噴漆在互動選單瞄準的點上。 Ação executada no ponto principal de marcação + Akce prováděná v hlavním bodě značky interakce. Last Used @@ -65,6 +69,7 @@ 上次最后使用 上次最後使用 Último usado + Naposledy použitý Random X @@ -73,11 +78,12 @@ Losowy X Zufällig X 무작위 X - Aléatoire X + X aléatoire Random X 随机X标记 隨機X標記 Aleatório X + Náhodné X Random @@ -91,6 +97,7 @@ 随机 隨機 Aleatório + Náhodný Tag @@ -168,11 +175,11 @@ 藍色X標記 - Black spray paint - Schwarze Sprühfarbe + Spray Paint (Black) + Sprühfarbe (Schwarz) Pintura negra - Czarna farba w sprayu - Peinture pulvérisée noire + Farba w Sprayu (Czarna) + Peinture en spray (Noire) Bomboletta spray nera Černý sprej Spray de tinta preta @@ -183,11 +190,11 @@ 黑色噴漆 - Red spray paint - Rote Sprühfarbe + Spray Paint (Red) + Sprühfarbe (Rot) Pintura roja - Czerwona farba w sprayu - Peinture pulvérisée rouge + Farba w Sprayu (Czerwona) + Peinture en spray (Rouge) Bomboletta spray rossa Červený sprej Spray de tinta vermelha @@ -198,11 +205,11 @@ 紅色噴漆 - Green spray paint - Grüne Sprühfarbe + Spray Paint (Green) + Sprühfarbe (Grün) Pintura verde - Zielona farba w sprayu - Peinture pulvérisée verte + Farba w Sprayu (Zielona) + Peinture en spray (Verte) Bomboletta spray verde Zelený sprej Spray de tinta verde @@ -213,11 +220,11 @@ 綠色噴漆 - Blue spray paint - Blaue Sprühfarbe + Spray Paint (Blue) + Sprühfarbe (Blau) Pintura azul - Niebieska farba w sprayu - Peinture pulvérisée bleue + Farba w Sprayu (Niebieska) + Peinture en spray (Bleue) Bomboletta spray blu Modrý sprej Spray de tinta azul @@ -232,7 +239,7 @@ Eine Farbsprühdose um Wände zu markieren. Lata de pintura en aerosol para marcar. Farba w sprayu, służy do oznakowywania terenu. - Un spray de peinture pour marquer les murs. + Une bombe de peinture en spray pour tagger les murs. Una bomboletta di spay per contrassegnare i muri. Plechovka se sprejem k vytváření značek. Uma lata de tinta spray para marcar paredes. diff --git a/addons/trenches/functions/fnc_continueDiggingTrench.sqf b/addons/trenches/functions/fnc_continueDiggingTrench.sqf index efedfa031b..6169616f2b 100644 --- a/addons/trenches/functions/fnc_continueDiggingTrench.sqf +++ b/addons/trenches/functions/fnc_continueDiggingTrench.sqf @@ -63,7 +63,11 @@ private _fnc_onFailure = { // Reset animation [_unit, "", 1] call EFUNC(common,doAnimation); }; -[(_digTimeLeft + 0.5), [_unit, _trench], _fnc_onFinish, _fnc_onFailure, localize LSTRING(DiggingTrench)] call EFUNC(common,progressBar); +private _fnc_condition = { + (_this select 0) params ["_unit"]; + "ACE_EntrenchingTool" in (_unit call EFUNC(common,uniqueItems)) +}; +[(_digTimeLeft + 0.5), [_unit, _trench], _fnc_onFinish, _fnc_onFailure, localize LSTRING(DiggingTrench), _fnc_condition] call EFUNC(common,progressBar); if(_actualProgress == 0) then { [_unit, _trench, _trenchId, _basePos vectorDiff [0, 0, 1.0], _vecDirAndUp, _actualProgress] call FUNC(setTrenchPlacement); diff --git a/addons/trenches/functions/fnc_removeTrench.sqf b/addons/trenches/functions/fnc_removeTrench.sqf index 3a549eb16f..db29587a21 100644 --- a/addons/trenches/functions/fnc_removeTrench.sqf +++ b/addons/trenches/functions/fnc_removeTrench.sqf @@ -61,7 +61,11 @@ private _fnc_onFailure = { // Reset animation [_unit, "", 1] call EFUNC(common,doAnimation); }; -[(_removeTimeLeft + 0.5), [_unit, _trench], _fnc_onFinish, _fnc_onFailure, localize LSTRING(RemovingTrench)] call EFUNC(common,progressBar); +private _fnc_condition = { + (_this select 0) params ["_unit"]; + "ACE_EntrenchingTool" in (_unit call EFUNC(common,uniqueItems)) +}; +[(_removeTimeLeft + 0.5), [_unit, _trench], _fnc_onFinish, _fnc_onFailure, localize LSTRING(RemovingTrench), _fnc_condition] call EFUNC(common,progressBar); private _progressLeft = ((1 - _actualProgress) * 10) + 1; diff --git a/addons/trenches/stringtable.xml b/addons/trenches/stringtable.xml index 9e0c1364da..46f0d7f196 100644 --- a/addons/trenches/stringtable.xml +++ b/addons/trenches/stringtable.xml @@ -1,6 +1,6 @@ - + Entrenching Tool Klappspaten @@ -37,13 +37,14 @@ Wnęka - mała Fascia - Piccola Trinchera pequeña - Envelope - petite + Enveloppe - Petite Trincheira - Pequena Окоп - Малый 塹壕 - 小型 참호 - 소형 掩体 - 小 掩體 - 小 + Obálka - Malá Small Personal Trench @@ -51,7 +52,7 @@ Mała jednoosobowa wnęka Piccola Trincea Personale Trinchera personal pequeña - Petite tranchée personelle + Petite tranchée personnelle Malý zákop pro jednoho Trincheira pessoal pequena Малый персональный окоп @@ -81,13 +82,14 @@ Wnęka - duża Fascia - Grande Trinchera grande - Enveloppe - grande + Enveloppe - Grande Trincheira - Grande Окоп - Большой 塹壕 - 大型 참호 - 대형 掩体 - 大 掩體 - 大 + Obálka - Velká Large Personal Trench @@ -95,7 +97,7 @@ Duża jednoosobowa wnęka Grande Trincea Personale Trinchera personal grande - Grande tranchée personelle + Grande tranchée personnelle Velký zákop pro jednoho Trincheira pessoal grande Большой персональный окоп @@ -125,7 +127,7 @@ Potwierdź kopanie Conferma Scavo Confirmar cavado - Confirmer la creusée + Confirmer l'excavation Potvrdit kopání Confirmar excavação Копать @@ -140,7 +142,7 @@ Anuluj kopanie Annulla Scavo Cancelar cavado - Annuler la creusée + Annuler l'excavation Zrušit kopání Cancelar excavação Отменить копание @@ -153,7 +155,7 @@ Rotate Drehen Girar - Tourner + Rotation Rotazione Otočit Forgatás @@ -171,7 +173,7 @@ Kopanie wnęki Scavando la Trincea Cavando trinchera - Creuse la tranchée + Excavation de la tranchée Vykopat zákop Cavando trincheira Копание окопа @@ -184,7 +186,7 @@ Continue Digging Trench Wzów kopanie wnęki Continuar cavando trincheira - Continuer à creuser la tranchée + Continuer de creuser la tranchée Продолжить копание окопа Pokračovat v kopání 塹壕を掘りつづける @@ -212,7 +214,7 @@ Removing Trench Usuwanie wnęki Removendo tricnheira - Retirement de la tranchée + Retrait de la tranchée Убирание окопа Odstraňuji zákop 塹壕を消しています diff --git a/addons/tripod/functions/fnc_adjust.sqf b/addons/tripod/functions/fnc_adjust.sqf index 42af65be74..d2a837c89e 100644 --- a/addons/tripod/functions/fnc_adjust.sqf +++ b/addons/tripod/functions/fnc_adjust.sqf @@ -40,7 +40,7 @@ GVAR(adjustPFH) = [{ [_unit, "blockThrow", QUOTE(ADDON), true] call EFUNC(common,statusEffect_set); // add mouse button action and hint -[localize "STR_ACE_Tripod_Done", "", localize "STR_ACE_Tripod_ScrollAction"] call EFUNC(interaction,showMouseHint); +[LLSTRING(Done), "", LLSTRING(ScrollAction)] call EFUNC(interaction,showMouseHint); _unit setVariable [QGVAR(Adjust), [ _unit, "DefaultAction", diff --git a/addons/tripod/stringtable.xml b/addons/tripod/stringtable.xml index daea7e95fd..78c13b640b 100644 --- a/addons/tripod/stringtable.xml +++ b/addons/tripod/stringtable.xml @@ -1,6 +1,6 @@ - + SSWT Kit Scharfschützendreibein @@ -88,7 +88,7 @@ regulace anpassen ajuste - régler + Régler szabályzás подстройка regola diff --git a/addons/ui/stringtable.xml b/addons/ui/stringtable.xml index 06b253238b..17b11b6788 100644 --- a/addons/ui/stringtable.xml +++ b/addons/ui/stringtable.xml @@ -5,7 +5,7 @@ User Interface Uživatelské rozhraní Interface do usuário - Interface utilisateur + Interface Utilisateur Интерфейс ユーザ インタフェイス Interfejs użytkownika @@ -19,7 +19,7 @@ User Interface Uživatelské rozhraní Interface do usuário - Interface utilisateur + Interface Utilisateur Пользовательский интерфейс ユーザ インタフェイス Interfejs użytkownika @@ -32,7 +32,7 @@ This module allows toggling visible user interface parts. Este módulo permite ligar ou desligar partes da interface do usuário - Ce module permet le basculement de parties visibles de l'interface utlisateur + Ce module permet d'activer ou de désactiver certains éléments de l'Interface Utilisateur (IU). Этот модуль позволяет переключать видимость элементов пользовательского интерфейса. モジュールではユーザ インタフェイスの一部表示を切り替えできます。 Moduł ten pozwala zmienić stan widoczności poszczególnych elementów UI. @@ -41,12 +41,13 @@ Questo modulo consente di commutare parti di interfaccia utente visibili. 此模块允许你调整使用者介面的任何一个元件 此模塊允許你調整使用者介面的任何一個元件 + Tento modul umožňuje přepínání viditelných částí uživatelského rozhraní. Allow Selective UI Povolit selektivní UI Permitir IU Selecionável - Permettre l'IU selective + Autoriser la personnalisation de l'IU Включить настраиваемый интерфейс UI 選択性を許可 Zezwól na selektywne UI @@ -74,7 +75,7 @@ Soldier/Vehicle/Weapon Information Informace o Vojákovi/Vozidlu/Zbrani Informação de Soldado/Veículo/Armamento - Soldat/Véhicule/Arme/Informations + Information Soldat / Véhicule / Arme Информация о Солдате/Технике/Оружии 兵士/車両/武器の情報 Informacje o żołnierzu/pojeździe/broni @@ -102,7 +103,7 @@ Vehicle Compass Kompas vozidla Bússola de Veículo - Compas de véhicule + Boussole de véhicule Компас в технике 車両のレーダ Kompas w pojeździe @@ -144,7 +145,7 @@ Weapon Name Název zbraně Nome do Armamento - Nom de l''arme + Nom de l'arme Название оружия 武器名 Nazwa broni @@ -158,7 +159,7 @@ Weapon Name Background Název zbraně v pozadí Fundo do Nome do Armamento - Arrière-plan du nom de l'arme + Fond pour le nom de l'arme Фон названия оружия 武器名の背景表示 Tło nazwy broni @@ -228,7 +229,7 @@ Throwable Type Typ granátů apod. Tipo de Arremessável - Type d'objets de lancer + Type d'objets jetables Тип гранаты 投げる種類 Typ granatu @@ -242,7 +243,7 @@ Throwable Count Počet granátů apod. Quantidade de Arremessável - Nombre d'objets de lancer + Nombre d'objets jetables Количество гранат 投げられる数 Ilość granatów @@ -256,7 +257,7 @@ Zeroing Náměr Zerar a mira - Mise à zéro + Zérotage Дальность стрельбы ゼロイン Wyzerowanie broni @@ -269,7 +270,7 @@ Weapon Lower Info Background Informações na parte de baixo do fundo do Armamento - Arrière-plan des informations inférieures de l'arme + Fond pour la barre d'informations inférieures de l'arme Фон ниформации об оружии снизу 武器名の背景表示 (下側) Tło dolnej części informacji o broni @@ -310,7 +311,7 @@ Gunner Weapon Name Nome da arma do fuzileiro - Nom de l'arme du tireur + Nom de l'arme (tireur) Название орудия наводчика 射手用の武器名 Nazwa broni strzelca @@ -323,7 +324,7 @@ Gunner Weapon Name Background Fundo do nome da arma do fuzileiro - Arrière-plan du nom de l'arme (tireur) + Fond pour le nom de l'arme (tireur) Фон названия орудия наводчика 射手用の武器名の背景表示 Tło nazwy broni strzelca @@ -388,7 +389,7 @@ Gunner Launchable Type Tipo de Arremessável do fuzileiro - Type d'objets jetable ( tireur) + Type d'objets jetables (tireur) Тип пусковой установки наводчика 射手用のランチャーの種類 Typ rakiet strzelca @@ -401,7 +402,7 @@ Gunner Launchable Count Quantidade de Arremessável do fuzileiro - Nombre d'objets jetable (tireur) + Nombre d'objets jetables (tireur) Количество снарядов пусковой установки наводчика 射手用のランチャー弾薬数 Ilość rakiet strzelca @@ -414,7 +415,7 @@ Gunner Zeroing Zerar a mira do fuzileiro - Mise à zéro ( tireur) + Zérotage (tireur) Дальность стрельбы наводчика 射手用ゼロイン Wyzerowanie broni strzelca @@ -427,7 +428,7 @@ Gunner Weapon Lower Info Background Informações na parte de baixo do fundo do Armamento do fuzileiro - Arrière-plan des informations inférieures (tireur) + Fond pour la barre d'informations inférieures (tireur) Фон ниформации об орудии наводчика снизу 射手用の武器名の背景表示 (下側) Tło dolnej części informacji o broni strzelca @@ -455,7 +456,7 @@ Vehicle Name Background Název vozidla v pozadí Fundo do Nome do Veículo - Arrière-plan du nom du véhicule + Fond pour le nom du véhicule Фон названия техники 車両名の背景 Tło nazwy pojazdu @@ -469,7 +470,7 @@ Vehicle Fuel Bar Ukazatel paliva Barra de Combustível do Veículo - Barre d'éssence du véhicule + Barre d'essence du véhicule Полоса топлива 車両の燃料計 Pasek paliwa @@ -511,7 +512,7 @@ Vehicle Damage Poškození vozidla Dano do Veículo - Dégats du véhicule + Dégâts du véhicule Повреждение техники 車両の損傷表示 Uszkodzenia pojazdu @@ -525,7 +526,7 @@ Vehicle Info Background Info o vozidle v pozadí Fundo das informações do veículo - Arrière-plan des informations du véhicule + Fond pour les informations du véhicule Фон информации о технике 車両状態の背景 Tło informacji o pojeździe @@ -539,7 +540,7 @@ Requires Soldier/Vehicle/Weapon Information. Vyžaduje informace o Vojákovi/Vozidlu/Zbrani Requer informações de Soldado/Veículo/Armamento - Requiert les informations de soldat/Vehicule/Arme. + Requiert l'option `Information Soldat / Véhicule / Arme` Требуется Информация о Солдате/Технике/Оружии. 兵士/車両/武器の情報を必要とします。 Wymaga informacji o żołnierzu/pojeździe/broni. @@ -553,7 +554,7 @@ Modifying User Interface is disabled. Změna uživatelského rozhraní je zakázána. A modificação da interface do usuário está desabilitada. - Modifications de l'interface utilisateur désactivé. + La personnalisation de l'Interface Utilisateur est désactivée. Изменение пользовательского интерфейса запрещено. ユーザ インタフェイスの変更は無効化されています。 Modyfikacja interfejsu użytkownika jest wyłączona. @@ -566,7 +567,7 @@ Cannot modify a forced User Interface element. Não é possível modificar um elemento forçado da interface do usuário. - Impossible de modifier un élément de l'interface utilisateur forcé. + Impossible de modifier un élément forcé de l'Interface Utilisateur. Невозможно изменить зафиксированный элемент пользовательского интерфейса. ユーザー インタフェイス要素の強制はできません。 Nie można modyfikować wymuszonego elementu interfejsu użytkownika. @@ -575,6 +576,7 @@ Impossibile modificare un elemento forzato d' Interfaccia Utente. 无法编辑已被锁定的使用者介面元件 無法編輯已被鎖定的使用者介面元件 + Nelze upravit prvek vynuceného uživatelského rozhraní. diff --git a/addons/vehiclelock/stringtable.xml b/addons/vehiclelock/stringtable.xml index d84cb63b3a..8266c71cca 100644 --- a/addons/vehiclelock/stringtable.xml +++ b/addons/vehiclelock/stringtable.xml @@ -12,6 +12,7 @@ ACE Zamknięcie Pojazdu ACE Блокировка транспорта ACE Trancar Veículos + ACE Verrouillage véhicule Unlock Vehicle @@ -49,7 +50,7 @@ Lockpick Vehicle Fahrzeug knacken Forzar vehículo - Crocheter le véhicule + Crocheter la serrure Otwórz zamek Vypáčit vozidlo Jármű feltörése @@ -65,7 +66,7 @@ Picking Lock... Schloss knacken... Forzando cerradura... - Crochetage... + Crochetage de la serrure... Otwieranie zamka... Páčim vozidlo... Zár feltörése... @@ -81,7 +82,7 @@ A custom key that will open a specific vehicle. Ein Schlüssel der ein bestimmtes Fahrzeug aufschließt. Una llave concreta abrirá un vehículo concreto. - Une clé propre à un seul véhicule. + Une clé personnalisée qui ouvrira un véhicule bien particulier. Unikatowy klucz, który otworzy konkretny pojazd. Vlastní klíč, který otevře konkrétní vozidlo. Egy egyedi kulcs, ami egy meghatározott járművet nyit ki. @@ -97,7 +98,7 @@ A Master Key will open any lock, no matter what! Ein Generalschlüssel der jedes Schloss öffnet. Una llave maestra abrirá cualquier cierre, no importa cual! - Un passe-partout qui ouvrira n'importe quelle serrure. + Un passe-partout qui ouvrira n'importe quelle serrure, quoi qu'il arrive. Uniwersalny klucz, który otworzy każdy zamek. Hlavní klíč otevře libovolný zámek, bez vyjímek! Egy főkulcs, ami minden zárat kinyit, helyzettől függetlenül! @@ -113,7 +114,7 @@ A lockpick set that can pick the locks of most vehicles. Ein Dietrich der die meisten Fahrzeugschlösser knacken kann. Un set de ganzúas que puede abrir las cerraduras de la mayoría vehículos. - Un crochet qui ouvrira la plupart des véhicules. + Un set de crochetage qui peut forcer les serrures de la plupart des véhicules. Zestaw wytrychów, dzięki któremu można otworzyć zamki w większości pojazdów. Sada paklíčů, která dokáže odemknout zámky u většiny vozidel. Egy tolvajkulcs-készlet, mely a legtöbb jármű zárjait fel tudja törni. @@ -129,7 +130,7 @@ A key that should open most WEST vehicles. Ein Schlüssel der die meisten westlichen Fahrzeuge öffnen sollte. Una llave que abrirá la mayoría de vehículos occidentales. - Une clé qui ouvrira la plupart des véhicules OUEST. + Une clé qui devrait ouvrir la plupart des véhicules OUEST. Klucz, który powinien otworzyć większość pojazdów ZACHODU. Klíč který by měl otevřít většinou Západních vozidel. Egy kulcs, ami a NYUGAT egységeinek legtöbb járművét ki tudja nyitni. @@ -145,7 +146,7 @@ A key that should open most EAST vehicle. Ein Schlüssel der die meisten östlichen Fahrzeuge öffnen sollte. Una llave que abrirá la mayoría de vehículos orientales. - Une clé qui ouvrira la plupart des véhicules EST. + Une clé qui devrait ouvrir la plupart des véhicules EST. Klucz, który powinien otworzyć większość pojazdów WSCHODU. Egy kulcs, ami a KELET egységeinek legtöbb járművét ki tudja nyitni. Klíč který by měl otevřít vetšinu Východních vozidel. @@ -161,7 +162,7 @@ A key that should open most INDEP vehicle. Ein Schlüssel der die meisten Fahrzeuge der Aufständischen öffnen sollte. Una llave que abrirá la mayoría de vehículos independientes. - Une clé qui ouvrira la plupart des véhicules INDEP. + Une clé qui devrait ouvrir la plupart des véhicules INDEP. Klucz, który powinien otworzyć większość pojazdów INDFOR. Egy kulcs, ami a FÜGGETLEN egységek legtöbb járművét ki tudja nyitni. Klíč který by měl otevřít většinu Nezávislých vozidel. @@ -177,7 +178,7 @@ A key that should open most CIV vehicle. Ein Schlüssel der die meisten zivilen Fahrzeuge öffnen sollte. Una llave que abrirá la mayoría de vehículos civiles. - Une clé qui ouvrira la plupart des véhicules CIV. + Une clé qui devrait ouvrir la plupart des véhicules CIV. Klucz, który powinien otworzyć większość pojazdów CYWILNYCH. Klíč který by měl otevřít většinu Civilních vozidel. Egy kulcs, ami a CIVIL járművek többségét ki tudja nyitni. @@ -228,7 +229,7 @@ Sperrt das Inventar von gesperrten Fahrzeugen Zamknout inventář u zamčených vozidel Bloqueia o inventário de veículos fechados - Verrouille l'inventaire de véhicule fermés à clé + Verrouille l'inventaire des véhicules fermés à clé Bezárja a zárt járművek rakterét is Закрывать инвентарь транспорта, если транспорт закрыт Blocca l'inventario di un veicolo bloccato @@ -244,7 +245,7 @@ Fahrzeuge spawnen gesperrt Počáteční stav zámku vozidla Estado inicial da fechadura dos veículos - Etat du verrouillage du véhicule au démarrage + État initial du verrouillage Jármű kezdő zár-állapot Начальное состояние замков Stato Iniziale del Blocco per Veicoli @@ -260,7 +261,7 @@ Setze Sperrstatus für alle Fahrzeuge (entfernt unklare Sperrzustände) Nastavit stav zámku u všech vozidel (odstraňuje nejednoznačné stavy zámků) Definir estados de fechadura para todos os veículos (remove estados de fechadura ambíguos) - Défini l'état de vérrouillage pour tous les véhicules (supprime les vérrouillage ambigue) + Définit l'état de verrouillage pour tous les véhicules (supprime les états de verrouillage ambigus) Beállítja a zár-állapotot az összes járműhöz (eltávolítja az azonosíthatatlan zárállapotokat) Устанавливает начальное состояние замков всех транспортных средств (устраняет неоднозначные состояния) Imposta lo stato di blocco per tutti i veicoli (rimuove stati di blocco ambigui) @@ -276,7 +277,7 @@ Unverändert Jak je Como está - Pas de changement + Tel quel Úgy-ahogy Как есть Com'è @@ -324,7 +325,7 @@ Standard-Pick-Stärke Výchozí síla páčidla Durabilidade padrão da chave micha - Force de crochetage par défaut + Difficulté par défaut du crochetage Alapértelmezett zártörő-erősség Сила отмычки по-умолчанию Durabilità Default del Grimaldello @@ -340,7 +341,7 @@ Standardzeit um ein Schloss zu knacken (in Sekunden). Standard: 10 Čas k vypáčení zámku (v sekundách). Výchozí: 10 Tempo padrão para forçar a fechadura (em segundos). Padrão: 10 - Temps par défaut pour le crochetage + Temps par défaut requis pour crocheter une serrure (en secondes). Valeur par défaut : 10 Alapértelmezett idő a zárfeltöréshez (másodpercben). Alapértelmezett: 10 Время для взлома замка отмычкой (в секундах). По-умолчанию: 10 Tempo Default richiesto per forzare serrature (in secondi). Default: 10 @@ -356,7 +357,7 @@ Einstellungen für Pick-Stärke und anfänglichen Fahrzeugsperrzustand. Entfernt unklare Sperrzustände. Nastavení síly vypáčení a počáteční stav zámku vozidla. Odstraňuje nejednoznačné stavy zámků. Definições para a durabilidade da chave micha e estado inicial da fechadura do veículo. Remove estados de fechadura ambíguas - Paramètres pour le crochetage et état inital des véhicules. Supprime les états de verrouillage ambigue. + Réglages de la difficulté de crochetage et de l'état initial de verrouillage du véhicule. Supprime les états de verrouillage ambigus. Beállítások a zártörő erősségére és alapértelmezett zár-állapotra a járműveken. Eltávolítja az azonosíthatatlan zár-állapotokat. Настройки силы отмычек и начальное состояние замков транспорта. Устраняет неоднозначные состояния замков. Impostazioni per resistenza iniziale delle serrature e stato di blocco dei veicoli. Rimuove stati di blocco ambigui. @@ -388,7 +389,7 @@ Synchronisiere mit Fahrzeugen und Spielern. Wird eigene Schlüssel an Spieler für jedes synchronisierte Fahrzeuge aushändigen. Nur gültig für am Missionsstart existierende Fahrzeuge. Synchronizuj s vozidly a hráči. Hráč dostane klíč ke každému synchonizovanému vozidlu. Platné pouze pro objekty přítomné na začátku mise. Sincronizar com veículos e jogadores. Irá distribuir chaves personalizadas para os jogadores para cada veículo sincronizado. Só é válido para objetos presentes no início da missão. - Synchronise avec les véhicules et les joueurs. Distribue les clés aux joueurs pour chaque véhicule synchronisé. Uniquement valide pour les objects présent au démarrage. + Synchronisation avec les véhicules et les joueurs. Remettra des clés personnalisées aux joueurs pour chaque véhicule synchronisé. Valable uniquement pour les objets présents dès le début de la mission. Szinkronizál a járművekkel és játékosokkal. Egyedi kulcsokat oszt ki a játékosoknak minden szinkronizált járműhöz. Csak a küldetés indításakor jelenlévő járművekhez érvényes. Синхронизируйте с транспортом и игроком. Это выдаст игроку ключи от всех синхронизированных транспортных средств. Работает только для объектов, присутствующих на старте миссии Sincronizza con veicoli e giocatori. Distribuirà chiavi ai giocatori per ogni veicolo sincronizzato. Valido solo per oggetti presenti ad inizio missione. diff --git a/addons/vehicles/stringtable.xml b/addons/vehicles/stringtable.xml index dbfab45635..749bf54087 100644 --- a/addons/vehicles/stringtable.xml +++ b/addons/vehicles/stringtable.xml @@ -7,7 +7,7 @@ Limitador de velocidad activado Ogranicznik prędkości włączony Omezovač rychlosti zapnut - Limiteur de vitesse Activé + Limiteur de vitesse activé Ограничение скорости включено Sebességkorlátozó bekapcsolva Limitador de Velocidade Ativo @@ -23,7 +23,7 @@ Limitador de velocidad desactivado Ogranicznik prędkości wyłączony Omezovač rychlosti vypnut - Limiteur de vitesse Désactivé + Limiteur de vitesse désactivé Ограничение скорости выключено Sebességkorlátozó kikapcsolva Limitador de Velocidade Desativado @@ -41,6 +41,9 @@ Ograniczenie prędkości Ограничение скорости Limite de Velocidade + Rychlostní omezení + 速限 + Vitesse limite Speed Limiter @@ -66,6 +69,9 @@ Zwiększ ograniczenie prędkości Увеличить ограничение скорости Aumentar Limite de Velocidade + Zvyš rychlostní limit + 增加速限 + Augmenter la vitesse limite Decrease Speed Limit @@ -75,6 +81,9 @@ Zmniejsz ograniczenie prędkości Уменьшить ограничение скорости Diminuir Limite de Velocidade + Sniž rychlostní limit + 降低速限 + Diminuer la vitesse limite Disable automatic engine shut-off @@ -82,6 +91,9 @@ エンジン自動停止を無効化 Убрать автовыключение двигателя Desativar desligamento automático do motor + Vypni automatické vypnutí motoru + 關閉引擎自動熄火 + Désactiver l'arrêt automatique du moteur Prevent the automatic shut-off of the engine when exiting vehicles. @@ -89,6 +101,9 @@ 車両から降りた時のエンジンの自動停止を防ぎます。 Запрещает автоматическое выключение двигателя при выходе из транспорта Previne que o motor do veículo seja desligado automaticamente quando o motorista sair. + Zabraň automatickému vypnutí motoru při opuštění vozidla. + 避免離開載具時自動熄火。 + Empêche l'arrêt automatique du moteur à la sortie des véhicules Hide Eject Action @@ -97,6 +112,8 @@ Убрать действие 'Выпрыгнуть' 脱出アクションを非表示 Ocultar opção de Ejetar + 隱藏逃脫動作 + Masquer l'action d'éjection Hides the Eject entry from the action menu. Requires a game restart. @@ -105,6 +122,8 @@ Убирает действие 'Выпрыгнуть' из меню. (Требует перезагрузки) アクション メニューから脱出アクションを消します。ゲームの再起動が必要です。 Oculta a opção de interação para ejetar. Requer que o jogo seja reiniciado. + 隱藏在動作選單中逃脫動作的選項。要求遊戲重新啟動。 + Masque l'entrée "Éjection" du menu Action. Nécessite un redémarrage du jeu. diff --git a/addons/viewdistance/stringtable.xml b/addons/viewdistance/stringtable.xml index 5c2d2ec287..2a67079a62 100644 --- a/addons/viewdistance/stringtable.xml +++ b/addons/viewdistance/stringtable.xml @@ -8,7 +8,7 @@ Omezovač dohlednosti Sichtweitenbegrenzung Limitador de distância de visão - Limiteur de distance de vue + Limiteur de visibilité Látótáv-korlátozó Ограничитель дальности видимости Limitatore Distanza Visiva @@ -24,7 +24,7 @@ Umožňuje určit maximální dohlednost, kterou si může hráč nastavit Erlaubt das Einschränken der maximalen Sichtweite, welche von Spielern eingestellt werden kann. Permite limitar a distância máxima de visão que pode ser definida pelos jogadores. - Permet de limiter la distance de vue que les joueurs peuvent choisir + Permet de restreindre la distance maximale de visibilité pouvant être définie par les joueurs. Lehetővé teszi a játékosok által a látótávolság maximumának korlátozását. Позволяет ограничить максимальную дальность видимости, которая может быть установлена игроками. Consente di limitare la distanza visiva massima che può essere impostata dai giocatori. @@ -40,7 +40,7 @@ Povolit ACE dohlednost Aktiviere ACE-Sichtweite Habilitar distância de visão ACE - Activer la distance de vue ACE + Activer la visibilité ACE ACE látótávolság engedélyezése Ограничить дальность видимости Abilita distanza visiva ACE @@ -56,7 +56,7 @@ Povolit ACE dohlednost Aktiviert ACE-Sichtweite Habilita a distância de visão ACE - Activer la distance de vue ACE + Active la visibilité ACE Engedélyezi az ACE látótávolságot Включает ограничитель дальности видимости ACE Abilita distanza visiva ACE @@ -72,7 +72,7 @@ Limit dohlednosti Sichtweitengrenze Limite da distância de visão - Limite de distance de vue + Limite de visibilité Látótáv-korlát Дальность видимости Limite Distanza Visiva @@ -88,7 +88,7 @@ Stanoví limit jak daleko si může client zvýšit dohlednost (do 10000) Setze die Grenze fest, wie weit Spieler ihre Sichtweite erhöhen können (bis 10000) Estabelecer um limite de quão alto os clientes podem aumentar sua distância de visão (até 10000) - Défini pour les clients la limite de distance de vue maximale (jusqu'à 10000) + Définit la limite maximale à laquelle les clients peuvent augmenter leur distance visuelle (jusqu'à 10000) Korlátozza, mekkora látótávolságot állíthatnak be a kliensek (maximum 10000-ig) Устанавливает предел дальности, насколько клиенты могут увеличить свою дальность видимости (до 10000) Imposta il limite massimo a cui i client possono alzare la propria distanza visiva (massimo 10000) @@ -104,7 +104,7 @@ Limit dohlednoti pro klienty se nastavuje zde a může být potlačeno pomocí modulu. Stellt die Grenze für die Sichtweite des Spielers ein. Das kann von einem Modul überschrieben werden. Permite limitar a distância de visão máxima que pode ser definida por jogadores. Pode ser substituído por módulo. - Limite de la distance de vue pour les clients et peut être forcé par ce module + La limite de portée visuelle du joueur est définie ici, pouvant être écrasée par un autre module A kliens látótávolsága itt állítható be, és felülbírálható modulok által Предел дальности видимости клиентов устанавливается здесь и может быть переопределен модулем Limite per la distanza visiva del client impostato qui e può essere scavalcato dal modulo @@ -120,7 +120,7 @@ Dohlednost (Pěšák) Spielersichtweite (zu Fuß) Distância de visão do cliente (A pé) - Distance de vue (à pied) + Visibilité (à pied) Kliens látótáv (gyalog) Дальность видимости (Пешком) Distanza Visiva Client (a Piedi) @@ -136,7 +136,7 @@ Změna dohlednosti pro hráče pokud jde po svých. Verändert die Sichtweite, wenn ein Spieler zu Fuß unterwegs ist. Muda a distância de visão do jogador dentro do jogo quando ele está a pé. - Change la distance de vue quand le joueur est à pied + Change la distance d'affichage du jeu quand le joueur est à pied Megváltoztatja a játékon belüli látótávolságot, amennyiben a játékos gyalogosan van. Изменяет дальность видимости в игре, когда игрок перемещается пешком. Cambia la distanza visiva in gioco quando il giocatore è a piedi. @@ -152,7 +152,7 @@ Dohlednost (Pozemní technika) Spielersichtweite (Landfahrzeuge) Distância de visão do cliente (Veículo terrestre) - Distance de vue (à pied) + Visibilité (véhicule terrestre) Kliens látótáv (szárazföldi jármű) Дальность видимости (В наземном трансп.) Distanza Visiva Client (Veicolo Terrestre) @@ -168,7 +168,7 @@ Změna dohlednosti pro hráče pokud je v pozemní technice. Verändert die Sichtweite, wenn ein Spieler in einem Landfahrzeug ist. Muda a distância de visão do jogador dentro do jogo quando ele está dentro de um veículo terrestre. - Change la distance de vue quand le joueur est dans un véhicule + Change la distance d'affichage du jeu quand le joueur se trouve dans un véhicule terrestre Megváltoztatja a játékon belüli látótávolságot, amennyiben a játékos szárazföldi járműben van. Изменяет дальность видимости в игре, когда игрок перемещается в наземном транспорте. Cambia la distanza visiva in gioco quando il giocatore è in un veicolo terrestre. @@ -184,7 +184,7 @@ Dohlednost (Vzdušná technika) Spielersichtweite (Luftfahrzeuge) Distância de visão do cliente (Veículo aéreo) - Distance de vue (véhicule aérien) + Visibilité (véhicule aérien) Kliens látótáv (légi jármű) Дальность видимости (В воздушном трансп.) Distanza Visiva Client (Veicoli d'Aria) @@ -200,7 +200,7 @@ Změna dohlednosti pro hráče pokud je ve vzdušné technice. Verändert die Sichtweite wenn ein Spieler in einem Luftfahrzeug ist. Muda a distância de visão do jogador dentro do jogo quando ele está dentro de um veículo aéreo. - Change la distance de vue quand le joueur est dans un véhicule aérien + Change la distance d'affichage du jeu quand le joueur se trouve dans un véhicule aérien Megváltoztatja a játékon belüli látótávolságot, amennyiben a játékos légi járműben van. Изменяет дальность видимости в игре, когда игрок перемещается в воздушном транспорте. Cambia la distanza visiva in gioco quando il giocatore è in un mezzo aereo. @@ -216,7 +216,7 @@ Dynamická dohlednost objektů Dynamische Objektsichtweite Distância de visão dinâmica dos objetos - Distance de vue pour les objet dynamique + Distance d'affichage dynamique des objets Dinamikus objektum-látótáv Динамич. дальность отрисовки объектов Distanza Visiva Oggetti Dinamica @@ -232,7 +232,7 @@ Nastaví objekt dohlednosti jako koeficient dohlednosti. Passt die Objektsichtweite dynamisch der Sichtweite an. Estabelece a distância de visão dos objetos com um coeficiente da distância de visão. - Défini la distance d'affichage des objets comme un coefficient de la distance de vue + Définit la distance d'affichage des objets en fonction de la distance de visibilité, ou selon le champ de vision (FoV).\nLorsque l'affichage basé sur le FoV est choisi, les valeurs minimales et maximales varient en fonction de l'angle de vue. Beállítja az objektum-látótávot a megadott látótáv koefficienseként. Устанавливает дальность отрисовки объектов как коэффициент от общей дальности видимости. Imposta la distanza visiva degli oggetti come un coefficiente basato sulla distanza visiva oppure basato sul campo visivo. @@ -248,7 +248,7 @@ Vypnout Aus Desligado - Eteint + Désactivée Kikapcsolva Выкл. Disabilitato @@ -264,7 +264,7 @@ Velmi málo Sehr niedrig Muito baixo - Très bas + Très basse Minimális Очень низкая Molto Basso @@ -280,7 +280,7 @@ Málo Niedrig Baixo - Bas + Basse Alacsony Низкая Basso @@ -296,7 +296,7 @@ Středně Mittel Médio - Moyen + Moyenne Közepes Средняя Medio @@ -312,7 +312,7 @@ Hodně Hoch Alto - Haut + Haute Magas Высокая Alto @@ -328,7 +328,7 @@ Velmi hodně Sehr hoch Muito alto - Très haut + Très haute Maximális Очень высокая Molto Alto @@ -346,7 +346,7 @@ Oparty na FoV Basato su Campo Visivo (FoV) Basada en campo de visión - Champ de vision basé + Basée sur le champ de vision 視野角を元にする 시계(FoV) 由视野角度决定 @@ -359,7 +359,7 @@ Dohlednost: Sichtweite: Distância de visão: - Distance de vue + Distance de vue : Látótávolság: Дальность видимости: Distanza Visiva: @@ -375,7 +375,7 @@ Dohlednost objektů je Objektsichtweite ist Distância de visão do objeto é - La distance d'affichage des objets est: + La distance d'affichage des objets est de Az objektum-látótávolság: Дальность видимости объектов: Distanza Visiva Oggetti è @@ -391,7 +391,7 @@ Tato volba je neplatná! Limit je Diese Option ist ungültig! Die Grenze ist Essa opção é inválida. O limte é - Cette option est non valide! La limite est + Cette option est non valide ! La limite est de Ez a beállítás érvénytelen! A maximum mennyiség Настройка не верна! Текущий предел Questa opzione è invalida! Il limite è diff --git a/addons/weaponselect/stringtable.xml b/addons/weaponselect/stringtable.xml index 72fcd715bc..938ad04696 100644 --- a/addons/weaponselect/stringtable.xml +++ b/addons/weaponselect/stringtable.xml @@ -380,6 +380,7 @@ Przełącz światła kolizyjne Вкл/Выкл Бортовые огни Alternar Luzes de Colisão + Přepnout kolizní světla diff --git a/addons/weather/stringtable.xml b/addons/weather/stringtable.xml index 5207c9e2fe..99ec47296a 100644 --- a/addons/weather/stringtable.xml +++ b/addons/weather/stringtable.xml @@ -92,6 +92,7 @@ Poszerza istniejącą pogodę o temperaturę, wilgotność i ciśnienie powietrza. Расширяет текущие возможности погоды с учетом температуры, влажности и давления Expande o clima existente com temperatura, humidade e pressão do ar. + Rozšiřuje stávající počasí o teplotu, vlhkost a tlak vzduchu. Update Interval @@ -136,6 +137,7 @@ Symulacja Wiatru (bazowana na mapie) Симуляция ветра (на основе местности) Simulação de Vento (baseado no mapa) + Simulace větru (podle mapy) Enables the map based wind simulation (overwrites vanilla wind) @@ -148,6 +150,7 @@ Aktywuje symulację wiatru bazującą na mapie (nadpisuje wind z domyślnej wersji gry) Включает симуляцию ветра на основе текущей местности (переписывает ванильный ветер) Ativar a simulação de vento dos mapas. (sobrepõe vento vanilla) + Povoluje simulaci větru založenou na mapě (přepíše původní vítr) diff --git a/addons/yardage450/initKeybinds.sqf b/addons/yardage450/initKeybinds.sqf index 9ad3005d28..fa4f52b6c5 100644 --- a/addons/yardage450/initKeybinds.sqf +++ b/addons/yardage450/initKeybinds.sqf @@ -1,5 +1,5 @@ -["ACE3 Equipment", QGVAR(DistanceKey), localize "STR_ACE_Yardage450_PowerButtonKey", +["ACE3 Equipment", QGVAR(DistanceKey), LLSTRING(PowerButtonKey), { // Conditions: canInteract if !([ACE_player, objNull, ["isNotInside"]] call EFUNC(common,canInteractWith)) exitWith {false}; diff --git a/addons/yardage450/stringtable.xml b/addons/yardage450/stringtable.xml index 6ab95aff7f..187de30d82 100644 --- a/addons/yardage450/stringtable.xml +++ b/addons/yardage450/stringtable.xml @@ -1,6 +1,6 @@ - + Yardage 450 Yardage 450 diff --git a/addons/zeus/stringtable.xml b/addons/zeus/stringtable.xml index 695407e436..ce8b22d025 100644 --- a/addons/zeus/stringtable.xml +++ b/addons/zeus/stringtable.xml @@ -12,6 +12,7 @@ Zeus Зевс Zeus + Zeus Zeus Settings @@ -279,6 +280,7 @@ 更新可編輯的物件 Обновить редактируемые объекты Atualizar objetos editáveis + Aktualizujte upravitelné objekty Editing Mode @@ -289,6 +291,7 @@ Tryb Edytowania Режим редактирования Modo de edição + Režim úprav Add or remove editable objects from Zeus @@ -299,6 +302,7 @@ Dodaj lub usuń edytowalne obiekty z Zeus'a Добавить или удалить редактируемые объекты от Зевса Adiciona ou remove objetos editáveis do Zeus + Přidej nebo odeber upravitelné objekty ze Zeusu Add Objects @@ -308,6 +312,7 @@ Dodaj obiekty Добавить объекты Adicionar Objetos + Přidat objekty Remove Objects @@ -321,6 +326,7 @@ 移除物件 Удалить объекты Remover Objetos + Odebrat objekty All Curators @@ -334,6 +340,7 @@ 所有編輯者 Все кураторы Todos os Curadores + Všichni kurátoři Apply changes to all curators @@ -347,6 +354,7 @@ 確認變更給所有編輯者 Применить изменения ко всем кураторам Aplicar mudanças à todos os Curadores + Použít změny na všechny kurátory Additional Objects @@ -356,6 +364,8 @@ Dodatkowe obiekty Доп. объекты Objetos adicionais + Další objekty + 額外物件 Additional objects to include in the action regardless of Task Radius @@ -365,6 +375,8 @@ Dodatkowe obiekty do uwzględnienia w akcji niezależnie od zasięgu zadania Дополнительные объекты для включения в действие, независимо от радиуса выполнения задачи Objetos adicionais para incluir na ação, ignorando a distância da tarefa + Další objekty, které mají být zahrnuty do akce, bez ohledu na poloměr úlohy + 無論任務範圍何處,都在行動中包含著額外的物件 Global AI Skill @@ -1009,6 +1021,7 @@ なし Нет Nenhum + Players @@ -1018,6 +1031,7 @@ プレイヤー Игроки Jogadores + 玩家 Players and AI @@ -1027,6 +1041,7 @@ プレイヤーと AI Игроки и ИИ Jogadores e IA + 玩家與AI Add Objects to Curator @@ -1641,6 +1656,7 @@ Stwórz Zeus'a Crea Zeus Criar Zeus + 新增宙斯 Delete Zeus @@ -1650,6 +1666,7 @@ Usuń Zeus'a Cancella Zeus Apagar Zeus + 刪除宙斯 "%1" menu @@ -1659,6 +1676,7 @@ "%1" menu menu "%1" Menu "%1" + 選單 %1 Paradrop Cargo @@ -1667,6 +1685,7 @@ Zrzut ładunku (cargo) Десантировать груз Soltar carga de paraquedas + 空投貨物 No cargo loaded @@ -1675,6 +1694,7 @@ Niczego nie załadowano do cargo Грузовой отсек пуст Nenhuma carga carregada + 沒有貨物裝載 diff --git a/build.bat b/build.bat new file mode 100644 index 0000000000..3392b5bf8d --- /dev/null +++ b/build.bat @@ -0,0 +1,3 @@ +@echo off +hemtt.exe build +pause diff --git a/docs/README.zh-TW.md b/docs/README.zh-TW.md new file mode 100644 index 0000000000..933c2b50cb --- /dev/null +++ b/docs/README.zh-TW.md @@ -0,0 +1,128 @@ +

+ +

+ +

+ + ACE3 版本 + + + ACE3 問題 + + + ACE3 下載 + + + 波希米亞互動論壇上的文章 + + + ACE3 條款 + + + 加入ACE3 Slack + + + ACE3 建構狀態 + +

+ +

+ 需要最新版本之 CBA A3.
+ 在以下社群網站拜訪我們 推特 | 臉書 | YouTube | Reddit
+

+ +**進階戰鬥環境3(ACE3)** 是由 **進階戰鬥環境2(ACE2)**, **可靠性遊戲模改(AGM)** 以及 **戰鬥空間強化(CSE)**的幕後團隊人員精心打造,用於改善武裝行動三裡面的真實與可靠性。 + +這整個項目是 **開放原始碼**並且樂意接受任何的維護。若要歡迎你建立維護你自訂版本的ACE3,只要你所做的向公眾所做更改是有遵守著「GNU通用公眾授權條款」 ([GPLv2](https://github.com/acemod/ACE3/blob/master/LICENSE)). + +這個模組架構為 **模組化**設計,所以幾乎任何模組內包含的PBO元件可以輕鬆地從設置來移除。因此,一個團隊可以維護著藉由免除自己沒有打算加入的元件來量身訂製的ACE3版本,或者如果有與其他模組衝突。模塊本身,例如醫療系統,那就可以簡單的去除掉。而且,也包含許多可自訂義的設定,允許任務設計者來為整體的任務體驗從頭到尾的調教。 + +## 核心功能 + +- 全新的立體互動/動作系統 +- 可靠又高效的框架 +- 專注於可模組化與可自訂性 +- 客戶端及伺服端全新的靈活的設置及配置 +- 改進醫療系統並劃分為多層次(基礎/進階)以此專注於遊玩向或者真實向體驗 +- 透過網路同步的精確且一致的天氣 +- 以風和天氣為考量的彈道系統 +- 戰俘系統 +- 爆裂物系統,內含不同的觸發爆裂物的類型 +- 地圖畫面的改進 - 標記的擺放以及地圖工具 +- 後勤系統 +- 進階的飛彈引導以及雷射指示器 + +### 添加功能 + +- 揹起與拖動。 +- 還原真實世界的載具及武器名稱 +- 裝甲載具以及直升機有著火控系統(FCS) +- 以C/C++編寫的真實彈道及火控運算插件 +- 尾焰以及高壓範圍的模擬 +- 一次性使用發射器 +- 真實G力 +- 載具上鎖系統 +- 真實的熱傳導以及夜視模式 +- 彈匣重填功能 +- 真實的武器過熱機制 +- 戰鬥耳聾(暫時性失去聽覺)模擬 +- 改進行動後預覽以及火力掩護 +- 可調性狙擊槍瞄具 +- 當放下武器時沒有閒置動作 +- 去除說話中玩家的提示 +- 跳過障礙物,翻牆以及割開柵欄。 +- Vector望遠鏡, 微型軍用GPS接收器以及獵隼4500測風儀裝置
+***不只這些呢...*** + +## 新手起步 + +ACE3需要最新版本的武裝行動3以及最新版本的 CBA A3模組。以下的網頁可用於幫助以及提供安裝ACE3上的資訊。 +- [安裝指南-英文](https://ace3mod.com/wiki/user/installation-guide.html) +- [資訊中心-英文](https://ace3mod.com/wiki/user/information-center.html) + +## 維護 + +你透過幫忙找出我們原始碼的漏洞來幫助我們接下來的開發,或者維護著新功能。我們總是歡迎提交漏洞修補以及程式碼重構或者新功能。我們有列出我們遇到的問題或者目標在Github上如果有想要維護的話請在問題上留言避免多餘重複的付出。 + +### 維護指南 + +如果想要維護ACE3的某個部件的話, 簡單的分支該儲存庫並申請提交來讓合作者檢視。請記得如果你有修改PBO部件請將自己加入到作者們的文件 - [`AUTHORS.txt`](https://github.com/acemod/ACE3/blob/master/AUTHORS.txt);包括可連絡的電子信箱。 + +### 提交問題或者申請功能 + +麻煩,請使用我們的 [問題追蹤](https://github.com/acemod/ACE3/issues)來回報漏洞,想要的功能,或者建議調整目前已有的功能,也請到以下參閱: +- [如何回報問題-英文](https://ace3mod.com/wiki/user/how-to-report-an-issue.html) +- [如何申請功能-英文](https://ace3mod.com/wiki/user/how-to-make-a-feature-request.html) + +### 測試與建構。 + +若要幫助我們測試最新的開發版所造成的更改,下載我們的主分支([直接下載](https://github.com/acemod/ACE3/archive/master.zip),或者 [git](https://help.github.com/articles/fetching-a-remote/)),然後用於編譯組建: + +- [設置開發環境-英文](https://ace3mod.com/wiki/development/setting-up-the-development-environment.html) –一步一步的引導如何為了測試目的來正確的建構ACE3 + +### 聯繫 + + + + + + + + + + + + + + + + + + + + +
Slack我們有著公共的Slack團隊供大家加入,而該模組所有開發者以及維護者也會在此出現並公告
推特你可以追隨我們的推特帳號來獲得更新消息以及一些指南聯結。
臉書你可以追隨我們的臉書帳號來獲得更新消息以及一些指南聯結。
波希米亞論壇我們在波希米亞互動論壇上也有專門的ACE3之文章
+ +## 條款 + +ACE3遵守在GNU通用公眾授權條款之下 ([GPLv2](https://github.com/acemod/ACE3/blob/master/LICENSE)). diff --git a/docs/_includes/dependencies_list.md b/docs/_includes/dependencies_list.md index d601eda8df..5d94c442cb 100644 --- a/docs/_includes/dependencies_list.md +++ b/docs/_includes/dependencies_list.md @@ -363,7 +363,7 @@ {% endif %} {% if include.component == "realisticweights" %} -`ace_common` +`ace_common`, `ace_disposable` {% endif %} {% if include.component == "rearm" %} diff --git a/docs/wiki/development/coding-guidelines.md b/docs/wiki/development/coding-guidelines.md index 370a10275c..c80137dab3 100644 --- a/docs/wiki/development/coding-guidelines.md +++ b/docs/wiki/development/coding-guidelines.md @@ -135,14 +135,16 @@ These macros are allowed but are not enforced. Note that you need the strings in module `stringtable.xml` in the correct format: `STR_ACE__` -Example: `STR_Balls_Banana` +Example: `STR_ACE_Balls_Banana` -Script strings (still require `localize` to localize the string): +Script strings: | Macro | Expands to | | -------|---------| |`LSTRING(banana)` | `"STR_ACE_balls_banana"` | +|`LLSTRING(banana)` | `localize "STR_ACE_balls_banana"` | |`ELSTRING(leg,banana)` | `"STR_ACE_leg_banana"` | +|`LELSTRING(leg,banana)` | `localize "STR_ACE_leg_banana"` | Config Strings (require `$` as first character): @@ -299,7 +301,7 @@ call { call { if (/* condition */) then { /* code */ - }; + }; }; }; ``` diff --git a/docs/wiki/feature/disposable.md b/docs/wiki/feature/disposable.md index acf7f78a40..a6da6e3775 100644 --- a/docs/wiki/feature/disposable.md +++ b/docs/wiki/feature/disposable.md @@ -14,7 +14,7 @@ version: ## 1. Overview -The NLAW is shoulder fired and disposable, firing just once before being needed to be disposed of. This feature makes the NLAW disposable and provides the tools for other addons to do the same. +The NLAW is shoulder fired and disposable, firing just once before being needed to be disposed of. This feature makes the NLAW disposable. ## 2. Dependencies diff --git a/docs/wiki/framework/disposables-framework.md b/docs/wiki/framework/disposables-framework.md index 21ee778824..78f609e358 100644 --- a/docs/wiki/framework/disposables-framework.md +++ b/docs/wiki/framework/disposables-framework.md @@ -1,7 +1,7 @@ --- layout: wiki title: Disposables Framework -description: Explains how to set-up custom disposable launchers with the ACE3 disposables system. +description: Notes on old ACE3 disposable framework and link to CBA's. group: framework order: 5 parent: wiki @@ -12,32 +12,11 @@ version: patch: 0 --- -
-
Note:
-

This is just the necessary to make a launcher disposable, this is not a guide to make your own launcher.

-
- -## 1. Making a launcher disposable - -### 1.1 CfgWeapons +Support for the ACE3 disposable framework will be dropped in 3.13.0! +Switch to the [CBA Disposable Framework](https://github.com/CBATeam/CBA_A3/wiki/Disposable-Launchers) +Old weapon configs that are no longer supported: ```cpp -class CfgWeapons { - class Launcher_Base_F; - class launch_banana: Launcher_Base_F { - ACE_UsedTube = "launch_banana_Used_F"; // The class name of the used tube - magazines[] = {"ACE_PreloadedMissileDummy"}; // The dummy magazine - }; - class launch_banana_Used_F: launch_banana { // The used tube should be a sub class of the disposable launcher - scope = 1; - ACE_isUsedLauncher = 1; - author = "grandBanana"; - displayName = "Used banana launcher"; - descriptionShort = "A used banana launcher"; - magazines[] = {"ACE_FiredMissileDummy"}; // This will disable the used launcher class from being fired again - //picture = ""; // Not supported yet - //model = ""; // Not supported yet - weaponPoolAvailable = 0; - }; -}; +ACE_UsedTube = "launch_banana_Used_F"; +ACE_isUsedLauncher = 1; ``` diff --git a/docs/wiki/framework/nightvision-framework.md b/docs/wiki/framework/nightvision-framework.md index f3a0379bb5..8d9bf7eda7 100644 --- a/docs/wiki/framework/nightvision-framework.md +++ b/docs/wiki/framework/nightvision-framework.md @@ -34,11 +34,3 @@ class CfgWeapons { }; }; ``` - -## 2. Events - -To change night vision settings with code use: - -`ace_nightvision_fogScaling = 0.5;` // More is more fog. - -`ace_nightvision_effectScaling = 0.5;` // More is more apparent effects. diff --git a/extras/assets/maglite/maglite_animation.blend b/extras/assets/maglite/maglite_animation.blend new file mode 100644 index 0000000000..1e1733b44d Binary files /dev/null and b/extras/assets/maglite/maglite_animation.blend differ diff --git a/hemtt.toml b/hemtt.toml new file mode 100644 index 0000000000..7962d508a2 --- /dev/null +++ b/hemtt.toml @@ -0,0 +1,26 @@ +name = "ACE3" +prefix = "ace" +author = "ACE-Team" +files = [ + "*.dll", + "*.so", + "mod.cpp", + "README.md", + "docs/README_DE.md", + "docs/README_PL.md", + "README.zh-TW.md", + "AUTHORS.txt", + "LICENSE", + "logo_ace3_ca.paa", + "meta.cpp" +] + +keyname = "{{prefix}}_{{version}}" +signame = "{{prefix}}_{{version}}-{{git \"id 8\"}}" + +releasebuild = [ + "@zip ace3_{{semver.major}}.{{semver.minor}}.{{semver.patch}}" +] + +[header_exts] +version= "{{git \"id 8\"}}" diff --git a/include/a3/ui_f/hpp/defineCommonColors.inc b/include/a3/ui_f/hpp/defineCommonColors.inc old mode 100755 new mode 100644 diff --git a/include/a3/ui_f/hpp/defineDIKCodes.inc b/include/a3/ui_f/hpp/defineDIKCodes.inc index c641d60132..eb914f9482 100644 --- a/include/a3/ui_f/hpp/defineDIKCodes.inc +++ b/include/a3/ui_f/hpp/defineDIKCodes.inc @@ -187,4 +187,3 @@ #endif /* DIK_ESCAPE */ - diff --git a/optionals/nouniformrestrictions/CfgVehicles.hpp b/optionals/nouniformrestrictions/CfgVehicles.hpp index e39640b995..bb4c5a9bdf 100644 --- a/optionals/nouniformrestrictions/CfgVehicles.hpp +++ b/optionals/nouniformrestrictions/CfgVehicles.hpp @@ -23,6 +23,8 @@ class CfgVehicles { class I_C_Soldier_Para_2_F; class I_G_Soldier_LAT2_F; class I_crew_F; + class O_R_Gorka_F; + class I_L_Soldier_Base_F; class Civilian_F: Civilian { modelSides[] = {6}; @@ -276,6 +278,9 @@ class CfgVehicles { class C_IDAP_Man_Base_F: Civilian_F { modelSides[] = {6}; }; + class C_Story_Mechanic_01_F: Civilian_F { + modelSides[] = {6}; + }; class O_A_soldier_base_F: O_officer_F { modelSides[] = {6}; }; @@ -288,5 +293,35 @@ class CfgVehicles { class I_Story_Crew_F: I_crew_F { modelSides[] = {6}; }; + class C_E_Man_Base_F: Civilian_F { + modelSides[] = {6}; + }; + class C_E_LooterJacket_01_F: C_E_Man_Base_F { + modelSides[] = {6}; + }; + class O_R_Gorka_black_F: O_R_Gorka_F { + modelSides[] = {6}; + }; + class B_CBRN_Man_Base_F: B_Soldier_F { + modelSides[] = {6}; + }; + class I_L_Uniform_01_camo_F: I_G_Soldier_LAT_F { + modelSides[] = {6}; + }; + class I_L_Uniform_01_deserter_F: I_G_Soldier_F { + modelSides[] = {6}; + }; + class I_L_Uniform_01_tshirt_skull_F: I_L_Soldier_Base_F { + modelSides[] = {6}; + }; + class I_L_Uniform_01_tshirt_black_F: I_L_Uniform_01_tshirt_skull_F { + modelSides[] = {6}; + }; + class I_L_Uniform_01_tshirt_sport_F: I_L_Uniform_01_tshirt_skull_F { + modelSides[] = {6}; + }; + class I_L_Uniform_01_tshirt_olive_F: I_L_Uniform_01_tshirt_skull_F { + modelSides[] = {6}; + }; }; diff --git a/optionals/tracers/stringtable.xml b/optionals/tracers/stringtable.xml index 83726c9c16..8156bd74dd 100644 --- a/optionals/tracers/stringtable.xml +++ b/optionals/tracers/stringtable.xml @@ -1,6 +1,6 @@ - - + + 5.56 mm 150Rnd Reload Tracer (Green) Mag diff --git a/tools/make.ps1 b/tools/make.ps1 deleted file mode 100644 index 2aac0f2c9f..0000000000 --- a/tools/make.ps1 +++ /dev/null @@ -1,130 +0,0 @@ -$projectRoot = Split-Path -Parent $PSScriptRoot -$releasePage = "https://github.com/KoffeinFlummi/armake/releases" -$downloadPage = "https://github.com/KoffeinFlummi/armake/releases/download/v{0}/armake_v{0}.zip" -$armake = "$projectRoot\tools\armake.exe" -[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 - - -function Compare-VersionNewerThan { - param( - [Parameter(Mandatory=$True)] - $version1, - - [Parameter(Mandatory=$True)] - $version2 - ) - - $version1 = $version1.Split(".") | % {[int] $_} - $version2 = $version2.Split(".") | % {[int] $_} - - $newer = $False - for ($i = 0; $i -lt $version1.Length; $i++) { - if ($version1[$i] -gt $version2[$i]) { - $newer = $True - break - } - } - - $newer -} - - -function Get-InstalledArmakeVersion { - if (Test-Path $armake) { - $version = & $armake --version - $version = $version.Substring(1) - } else { - $version = "0.0.0" - } - - $version -} - - -function Get-LatestArmakeVersion { - $client = New-Object Net.WebClient - $content = $client.DownloadString($releasePage) - $client.dispose() - - $match = $content -match "" - if (!$match) { - Write-Error "Failed to find valid armake download link." - $version = "0.0.0" - } else { - $version = $matches[1] - } - - $version -} - - -function Update-Armake { - param( - [Parameter(Mandatory=$True)] - $url - ) - - New-Item "$PSScriptRoot\temp" -ItemType "directory" -Force | Out-Null - - Write-Output "Downloading armake..." - $client = New-Object Net.WebClient - $client.DownloadFile($url, "$PSScriptRoot\temp\armake.zip") - $client.dispose() - - Write-Output "Download complete, unpacking..." - Expand-Archive "$PSScriptRoot\temp\armake.zip" "$PSScriptRoot\temp\armake" - Remove-Item "$PSScriptRoot\temp\armake.zip" - - if ([Environment]::Is64BitProcess) { - $binary = Get-ChildItem -Path "$PSScriptRoot\temp\armake" -Include "*.exe" -Recurse | Where-Object {$_.Name -match ".*w64.exe"} - } else { - $binary = Get-ChildItem -Path "$PSScriptRoot\temp\armake" -Include "*.exe" -Recurse | Where-Object {$_.Name -match ".*w64.exe"} - } - Move-Item $binary.FullName $armake -Force - - Remove-Item "$PSScriptRoot\temp" -Recurse -Force -} - - -function Build-Directory { - param( - [Parameter(Mandatory=$True)] - $directory - ) - - $component = $directory.Name - $fullPath = $directory.FullName - $parent = $directory.Parent - $binPath = "$projectRoot\@ace\$parent\ace_$component.pbo" - - Write-Output " PBO $component" - & $armake build -i "$projectRoot\include" -w unquoted-string -w redefinition-wo-undef -f $fullPath $binPath - - if ($LastExitCode -ne 0) { - Write-Error "Failed to build $component." - } -} - - -function Main { - $installed = Get-InstalledArmakeVersion - $latest = Get-LatestArmakeVersion - - if (Compare-VersionNewerThan $latest $installed) { - Write-Output "Found newer version of armake:" " Installed: $installed" " Latest: $latest" - Update-Armake ($downloadPage -f $latest) - Write-Output "Update complete, armake up-to-date." - } - - $orgLocation = Get-Location - Set-Location -Path $projectRoot - foreach ($folder in "addons", "optionals") { - New-Item "$projectRoot\@ace\$folder" -ItemType "directory" -Force | Out-Null - foreach ($component in Get-ChildItem -Directory "$PSScriptRoot\..\$folder") { - Build-Directory $component - } - } - Set-Location $orgLocation -} - -Main diff --git a/tools/make.py b/tools/make.py index ccb9d75d92..1db6b039ed 100644 --- a/tools/make.py +++ b/tools/make.py @@ -72,7 +72,7 @@ dssignfile = "" prefix = "ace" pbo_name_prefix = "ace_" signature_blacklist = [] -importantFiles = ["mod.cpp", "README.md", "docs\\README_DE.md", "docs\\README_PL.md", "AUTHORS.txt", "LICENSE", "logo_ace3_ca.paa", "meta.cpp"] +importantFiles = ["mod.cpp", "README.md", "docs\\README_DE.md", "docs\\README_PL.md", "docs\\README.zh-TW.md", "AUTHORS.txt", "LICENSE", "logo_ace3_ca.paa", "meta.cpp"] versionFiles = ["README.md", "docs\\README_DE.md", "docs\\README_PL.md", "mod.cpp"] ciBuild = False # Used for CI builds diff --git a/tools/stringtable_validator.py b/tools/stringtable_validator.py new file mode 100644 index 0000000000..7df6105394 --- /dev/null +++ b/tools/stringtable_validator.py @@ -0,0 +1,163 @@ +#!/usr/bin/env python3 + +import fnmatch +import os +import sys +import xml.etree.ElementTree as ET + +# STRINGTABLE VALIDATOR +# Author: mharis001 +# --------------------- +# Verifies all stringtable.xml files in the project. Checks for: +# - proper XML tree structure. +# - English as first translation. +# - no Original translation. +# - duplicated entries and languages. + + +######## GLOBALS ######### +PROJECT_NAME = "ACE" +########################## + + +def check_stringtable(filepath): + try: + tree = ET.parse(filepath) + except: + print(" ERROR: Failed to parse file.") + return 1 + + errors = 0 + + # Verify that the root tag is Project and its name attribute is the project name + root = tree.getroot() + + if root.tag != "Project": + print(" ERROR: Invalid root tag '{}' found, must be 'Project'.".format(root.tag)) + errors += 1 + + if root.get("name") != PROJECT_NAME: + print(" ERROR: Invalid name attribute '{}' for Project tag, must be '{}'.".format(root.get("name"), PROJECT_NAME)) + errors += 1 + + # Verify that the root has a Package tag and its name attribute matches the component's folder name + package = root.find("Package") + + if package is None: + print(" ERROR: Failed to find 'Package' tag under 'Project' tag.") + errors += 1 + else: + package_name = package.get("name") + + if package_name.islower(): + print(" ERROR: Package name attribute '{}' is all lowercase, should be in titlecase.".format(package_name)) + errors += 1 + + if package_name.lower() != os.path.basename(os.path.dirname(filepath)): + print(" ERROR: Package name attribute '{}' does not match the component folder name.".format(package_name)) + errors += 1 + + # Get all keys contained in the stringtable + keys = package.findall("Key") + + for container in package.findall("Container"): + keys.extend(container.findall("Key")) + + key_ids = [] + key_prefix = "STR_{}_{}_".format(PROJECT_NAME, package_name) + + for key in keys: + key_id = key.get("ID") + + # Verify that the key has a valid ID attribute + if key_id is None: + print(" ERROR: Key '{}' had no ID attribute.".format(key_id)) + errors += 1 + elif key_id.find(key_prefix) != 0: + print(" ERROR: Key '{}' does not have a valid ID attribute, should be in format {}{{name}}.".format(key_id, key_prefix)) + errors += 1 + + key_ids.append(key_id) + + # Verify language entries for the key, check that the key: + # - contains at least one translation + # - does not contain an Original translation + # - has English as the first listed translation + # - has only one entry for each language + entries = list(key) + + if len(entries) == 0: + print(" ERROR: Key '{}' has no translation entries.".format(key_id)) + errors += 1 + else: + if not key.find("Original") is None: + print(" ERROR: Key '{}' has an Original translation, unnecessary with English as first.".format(key_id)) + errors += 1 + + if entries[0].tag != "English": + print(" ERROR: Key '{}' does not have its English translation listed first.".format(key_id)) + errors += 1 + + languages = list(map(lambda l: l.tag, entries)) + + for language in set(languages): + count = languages.count(language) + + if count > 1: + print(" ERROR: Key '{}' has {} {} translations.".format(key_id, count, language)) + errors += 1 + + # Verify that key IDs are unique + for id in set(key_ids): + count = key_ids.count(id) + + if count > 1: + print(" ERROR: Key '{}' is defined {} times.".format(id, count)) + errors += 1 + + return errors + + +def main(): + print("Validating Stringtables") + print("-----------------------") + + # Allow running from root directory and tools directory + root_dir = ".." + if os.path.exists("addons"): + root_dir = "." + + # Check all stringtable.xml files in the project directory + stringtable_files = [] + + for root, _, files in os.walk(root_dir): + for file in fnmatch.filter(files, "stringtable.xml"): + stringtable_files.append(os.path.join(root, file)) + + stringtable_files.sort() + + bad_count = 0 + + for filepath in stringtable_files: + print("\nChecking {}:".format(os.path.relpath(filepath, root_dir))) + + errors = check_stringtable(filepath) + + if errors == 0: + print("No errors found.") + else: + print("Found {} error(s).".format(errors)) + bad_count += 1 + + print() + + if bad_count == 0: + print("Stringtable Validation PASSED") + else: + print("Stringtable Validation FAILED") + + return bad_count + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/tools/stringtablediag.py b/tools/stringtablediag.py index 8cd585ac2a..ce3dbc0247 100644 --- a/tools/stringtablediag.py +++ b/tools/stringtablediag.py @@ -117,7 +117,7 @@ def main(): language, keysum - localizedsum[i], ", ".join(missing[i]), - round(100 * localizedsum[i] / keysum))) + round(100 * localizedsum[i] / keysum, 2))) if __name__ == "__main__": main()