mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Merge branch 'master' of https://github.com/KoffeinFlummi/ACE3 into tacticalladder
This commit is contained in:
commit
5394131fd1
@ -65,7 +65,7 @@ Hamburger SV
|
||||
Harakhti <shadowdragonphd@gmail.com>
|
||||
havena <silveredenis@gmail.com>
|
||||
Hawkins
|
||||
jokoho48
|
||||
jokoho482 <jokoho482@gmail.com>`
|
||||
Jonpas <jonpas33@gmail.com>
|
||||
Kavinsky <nmunozfernandez@gmail.com>
|
||||
Kllrt <kllrtik@gmail.com>
|
||||
@ -92,6 +92,7 @@ ruPaladin <happyworm24@rambler.ru>
|
||||
SilentSpike <SilentSpike100@gmail.com>
|
||||
simon84 <badguy360th@gmail.com>
|
||||
Sniperwolf572 <tenga6@gmail.com>
|
||||
SzwedzikPL <szwedzikpl@gmail.com>
|
||||
Tachi <zaveruha007@gmail.com>
|
||||
Toaster <jonathan.pereira@gmail.com>
|
||||
Tonic
|
||||
|
18
README.md
18
README.md
@ -3,26 +3,24 @@
|
||||
height="112">
|
||||
</p>
|
||||
<p align="center">
|
||||
<!--<a href="https://github.com/acemod/ACE3/releases">
|
||||
v3.0.1
|
||||
<img src="http://img.shields.io/badge/Version-3.0.1-blue.svg?style=flat"
|
||||
<a href="https://github.com/acemod/ACE3/releases">
|
||||
<img src="https://img.shields.io/badge/Version-3.0.1-blue.svg"
|
||||
alt="ACE version">
|
||||
</a>
|
||||
<a href="https://github.com/acemod/ACE3/archive/master.zip">
|
||||
40.9 Mb
|
||||
<img src="http://img.shields.io/badge/Download-40.9_MB-green.svg?style=flat"
|
||||
<a href="https://github.com/acemod/ACE3/releases/download/v3.0.1/ace3_3.0.1.zip">
|
||||
<img src="http://img.shields.io/badge/Download-40.9_MB-green.svg"
|
||||
alt="ACE download">
|
||||
</a>
|
||||
<a href="https://github.com/acemod/ACE3/issues">
|
||||
<img src="http://img.shields.io/github/issues-raw/acemod/ACE3.svg?style=flat&label=Issues"
|
||||
<img src="http://img.shields.io/github/issues-raw/acemod/ACE3.svg?label=Issues"
|
||||
alt="ACE issues">
|
||||
</a>-->
|
||||
</a>
|
||||
<a href="http://forums.bistudio.com/showthread.php?191716-ACE3-A-collaborative-merger-between-AGM-CSE-and-ACE&p=2935435&viewfull=1#post2935435">
|
||||
<img src="https://img.shields.io/badge/BIF-Thread-lightgrey.svg?style=flat"
|
||||
<img src="https://img.shields.io/badge/BIF-Thread-lightgrey.svg"
|
||||
alt="BIF thread">
|
||||
</a>
|
||||
<a href="https://github.com/acemod/ACE3/blob/master/LICENSE">
|
||||
<img src="http://img.shields.io/badge/License-GPLv2-red.svg?style=flat"
|
||||
<img src="http://img.shields.io/badge/License-GPLv2-red.svg"
|
||||
alt="ACE license">
|
||||
</a>
|
||||
</p>
|
||||
|
@ -2,7 +2,7 @@ class CfgVehicles {
|
||||
class ACE_Module;
|
||||
class GVAR(ModuleSettings): ACE_Module {
|
||||
scope = 2;
|
||||
displayName = "$STR_ACE_AdvancedBallistics_DisplayName";
|
||||
displayName = CSTRING(DisplayName);
|
||||
icon = QUOTE(PATHTOF(UI\Icon_Module_Wind_ca.paa));
|
||||
category = "ACE";
|
||||
function = QUOTE(DFUNC(initModuleSettings));
|
||||
@ -12,32 +12,32 @@ class CfgVehicles {
|
||||
author = "Ruthberg";
|
||||
class Arguments {
|
||||
class enabled {
|
||||
displayName = "$STR_ACE_AdvancedBallistics_enabled_DisplayName";
|
||||
description = "$STR_ACE_AdvancedBallistics_enabled_Description";
|
||||
displayName = CSTRING(enabled_DisplayName);
|
||||
description = CSTRING(enabled_Description);
|
||||
typeName = "BOOL";
|
||||
defaultValue = 0;
|
||||
};
|
||||
class simulateForSnipers {
|
||||
displayName = "$STR_ACE_AdvancedBallistics_simulateForSnipers_DisplayName";
|
||||
description = "$STR_ACE_AdvancedBallistics_simulateForSnipers_Description";
|
||||
displayName = CSTRING(simulateForSnipers_DisplayName);
|
||||
description = CSTRING(simulateForSnipers_Description);
|
||||
typeName = "BOOL";
|
||||
defaultValue = 1;
|
||||
};
|
||||
class simulateForGroupMembers {
|
||||
displayName = "$STR_ACE_AdvancedBallistics_simulateForGroupMembers_DisplayName";
|
||||
description = "$STR_ACE_AdvancedBallistics_simulateForGroupMembers_Description";
|
||||
displayName = CSTRING(simulateForGroupMembers_DisplayName);
|
||||
description = CSTRING(simulateForGroupMembers_Description);
|
||||
typeName = "BOOL";
|
||||
defaultValue = 0;
|
||||
};
|
||||
class simulateForEveryone {
|
||||
displayName = "$STR_ACE_AdvancedBallistics_simulateForEveryone_DisplayName";
|
||||
description = "$STR_ACE_AdvancedBallistics_simulateForEveryone_Description";
|
||||
displayName = CSTRING(simulateForEveryone_DisplayName);
|
||||
description = CSTRING(simulateForEveryone_Description);
|
||||
typeName = "BOOL";
|
||||
defaultValue = 0;
|
||||
};
|
||||
class disabledInFullAutoMode {
|
||||
displayName = "$STR_ACE_AdvancedBallistics_disabledInFullAutoMod_DisplayName";
|
||||
description = "$STR_ACE_AdvancedBallistics_disabledInFullAutoMod_Description";
|
||||
displayName = CSTRING(disabledInFullAutoMod_DisplayName);
|
||||
description = CSTRING(disabledInFullAutoMod_Description);
|
||||
typeName = "BOOL";
|
||||
defaultValue = 0;
|
||||
};
|
||||
@ -50,38 +50,38 @@ class CfgVehicles {
|
||||
};
|
||||
*/
|
||||
class ammoTemperatureEnabled {
|
||||
displayName = "$STR_ACE_AdvancedBallistics_ammoTemperatureEnabled_DisplayName";
|
||||
description = "$STR_ACE_AdvancedBallistics_ammoTemperatureEnabled_Description";
|
||||
displayName = CSTRING(ammoTemperatureEnabled_DisplayName);
|
||||
description = CSTRING(ammoTemperatureEnabled_Description);
|
||||
typeName = "BOOL";
|
||||
defaultValue = 1;
|
||||
};
|
||||
class barrelLengthInfluenceEnabled {
|
||||
displayName = "$STR_ACE_AdvancedBallistics_barrelLengthInfluenceEnabled_DisplayName";
|
||||
description = "$STR_ACE_AdvancedBallistics_barrelLengthInfluenceEnabled_Description";
|
||||
displayName = CSTRING(barrelLengthInfluenceEnabled_DisplayName);
|
||||
description = CSTRING(barrelLengthInfluenceEnabled_Description);
|
||||
typeName = "BOOL";
|
||||
defaultValue = 1;
|
||||
};
|
||||
class bulletTraceEnabled {
|
||||
displayName = "$STR_ACE_AdvancedBallistics_bulletTraceEnabled_DisplayName";
|
||||
description = "$STR_ACE_AdvancedBallistics_bulletTraceEnabled_Description";
|
||||
displayName = CSTRING(bulletTraceEnabled_DisplayName);
|
||||
description = CSTRING(bulletTraceEnabled_Description);
|
||||
typeName = "BOOL";
|
||||
defaultValue = 1;
|
||||
};
|
||||
class simulationInterval {
|
||||
displayName = "$STR_ACE_AdvancedBallistics_simulationInterval_DisplayName";
|
||||
description = "$STR_ACE_AdvancedBallistics_simulationInterval_Description";
|
||||
displayName = CSTRING(simulationInterval_DisplayName);
|
||||
description = CSTRING(simulationInterval_Description);
|
||||
typeName = "NUMBER";
|
||||
defaultValue = 0.0;
|
||||
};
|
||||
class simulationRadius {
|
||||
displayName = "$STR_ACE_AdvancedBallistics_simulationRadius_DisplayName";
|
||||
description = "$STR_ACE_AdvancedBallistics_simulationRadius_Description";
|
||||
displayName = CSTRING(simulationRadius_DisplayName);
|
||||
description = CSTRING(simulationRadius_Description);
|
||||
typeName = "NUMBER";
|
||||
defaultValue = 3000;
|
||||
};
|
||||
};
|
||||
class ModuleDescription {
|
||||
description = "$STR_ACE_AdvancedBallistics_Description";
|
||||
description = CSTRING(Description);
|
||||
};
|
||||
};
|
||||
};
|
@ -1,4 +1,4 @@
|
||||
["ACE3 Equipment", QGVAR(ProtractorKey), localize "STR_ACE_AdvancedBallistics_ProtractorKey",
|
||||
["ACE3 Equipment", QGVAR(ProtractorKey), localize LSTRING(ProtractorKey),
|
||||
{
|
||||
// Conditions: canInteract
|
||||
if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false};
|
||||
|
@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project name="ACE">
|
||||
<Package name="AdvancedBallistics">
|
||||
<Key ID="STR_ACE_AdvancedBallistics_WindInfoKey">
|
||||
<Package name="Advanced_Ballistics">
|
||||
<Key ID="STR_ACE_Advanced_Ballistics_WindInfoKey">
|
||||
<English>Show Wind Info</English>
|
||||
<Polish>Pokaż inf. o wietrze</Polish>
|
||||
<Italian>Mostra indicazioni del vento</Italian>
|
||||
@ -13,7 +13,7 @@
|
||||
<Czech>Zobrazit informace o větru</Czech>
|
||||
<Portuguese>Mostrar Informação do Vento</Portuguese>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_AdvancedBallistics_ProtractorKey">
|
||||
<Key ID="STR_ACE_Advanced_Ballistics_ProtractorKey">
|
||||
<English>Show Protractor</English>
|
||||
<Polish>Pokaż kątomierz</Polish>
|
||||
<Italian>Mostra il rapportatore</Italian>
|
||||
@ -25,139 +25,145 @@
|
||||
<Czech>Zobrazit úhloměr</Czech>
|
||||
<Portuguese>Mostrar Transferidor</Portuguese>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_AdvancedBallistics_DisplayName">
|
||||
<Key ID="STR_ACE_Advanced_Ballistics_DisplayName">
|
||||
<English>Advanced Ballistics</English>
|
||||
<Polish>Zaawansowana balistyka</Polish>
|
||||
<Spanish>Balística avanzada</Spanish>
|
||||
<German>Erweiterte Ballistik</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_AdvancedBallistics_enabled_DisplayName">
|
||||
<Key ID="STR_ACE_Advanced_Ballistics_enabled_DisplayName">
|
||||
<English>Advanced Ballistics</English>
|
||||
<Polish>Zaawansowana balistyka</Polish>
|
||||
<Spanish>Balística avanzada</Spanish>
|
||||
<German>Erweiterte Ballistik</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_AdvancedBallistics_enabled_Description">
|
||||
<Key ID="STR_ACE_Advanced_Ballistics_enabled_Description">
|
||||
<English>Enables advanced ballistics</English>
|
||||
<Polish>Aktywuje zaawansowaną balistykę</Polish>
|
||||
<Spanish>Activa la balística avanzada</Spanish>
|
||||
<German>Aktiviert die erweiterte Ballistik</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_AdvancedBallistics_simulateForSnipers_DisplayName">
|
||||
<Key ID="STR_ACE_Advanced_Ballistics_simulateForSnipers_DisplayName">
|
||||
<English>Enabled For Snipers</English>
|
||||
<Spanish>Activada para francotiradores</Spanish>
|
||||
<Polish>Akt. dla snajperów</Polish>
|
||||
<German>Für Scharfschützen aktiviert</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_AdvancedBallistics_simulateForSnipers_Description">
|
||||
<Key ID="STR_ACE_Advanced_Ballistics_simulateForSnipers_Description">
|
||||
<English>Enables advanced ballistics for non local snipers (when using high power optics)</English>
|
||||
<Spanish>Activa la balística avanzada para francotiradores no locales (cuando se usa una mira telescópica)</Spanish>
|
||||
<Polish>Aktywuje zaawansowaną balistykę dla nielokalnych snajperów (kiedy używają optyki)</Polish>
|
||||
<German>Aktiviert die erweiterte Ballistik für nicht lokale Scharfschützen (bei Benutzung von Optiken mit starker Vergrößerung)</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_AdvancedBallistics_simulateForGroupMembers_DisplayName">
|
||||
<Key ID="STR_ACE_Advanced_Ballistics_simulateForGroupMembers_DisplayName">
|
||||
<English>Enabled For Group Members</English>
|
||||
<Spanish>Activada para miembros de grupo</Spanish>
|
||||
<Polish>Akt. dla czł. grupy</Polish>
|
||||
<German>Für Gruppenmitglieder aktiviert</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_AdvancedBallistics_simulateForGroupMembers_Description">
|
||||
<Key ID="STR_ACE_Advanced_Ballistics_simulateForGroupMembers_Description">
|
||||
<English>Enables advanced ballistics for non local group members</English>
|
||||
<Spanish>Activada la balística avanzada para miembros de grupo no locales</Spanish>
|
||||
<Polish>Aktywuje zaawansowaną balistykę dla nielokalnych członków grupy</Polish>
|
||||
<German>Aktiviert die erweiterte Ballistik für nicht lokale Gruppenmitglieder</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_AdvancedBallistics_simulateForEveryone_DisplayName">
|
||||
<Key ID="STR_ACE_Advanced_Ballistics_simulateForEveryone_DisplayName">
|
||||
<English>Enabled For Everyone</English>
|
||||
<Spanish>Activada para todos</Spanish>
|
||||
<Polish>Akt. dla wszystkich</Polish>
|
||||
<German>Für jeden aktiviert</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_AdvancedBallistics_simulateForEveryone_Description">
|
||||
<Key ID="STR_ACE_Advanced_Ballistics_simulateForEveryone_Description">
|
||||
<English>Enables advanced ballistics for all non local players (enabling this may degrade performance during heavy firefights in multiplayer)</English>
|
||||
<Spanish>Activada la balística avanzada para todos los jugadores no locales (activarlo puede degradar el rendimiento durante grandes tiroteos en multijugador).</Spanish>
|
||||
<Polish>Aktywuje zaawansowaną balistykę dla wszystkich nielokalnych graczy (aktywacja tej opcji może spodowować spory spadek wydajności podczas ciężkiej wymiany ognia)</Polish>
|
||||
<German>Aktiviert die erweiterte Ballistik für alle nicht lokalen Spieler (das Aktivieren dieser Funktion kann zur Beeinträchtigung des Spielerlebnisses im Multiplayer führen)</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_AdvancedBallistics_alwaysSimulateForGroupMembers_DisplayName">
|
||||
<Key ID="STR_ACE_Advanced_Ballistics_alwaysSimulateForGroupMembers_DisplayName">
|
||||
<English>Always Enabled For Group Members</English>
|
||||
<Polish>Zawsze akt. dla czł. grupy</Polish>
|
||||
<Spanish>Siempre activada para miembros de grupo</Spanish>
|
||||
<German>Für Gruppenmitglieder immer aktiviert</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_AdvancedBallistics_alwaysSimulateForGroupMembers_Description">
|
||||
<Key ID="STR_ACE_Advanced_Ballistics_alwaysSimulateForGroupMembers_Description">
|
||||
<English>Always enables advanced ballistics when a group member fires</English>
|
||||
<Polish>Aktywuje zaawansowaną balistykę dla wszystkich członków grupy</Polish>
|
||||
<Spanish>Activada la balística avanzada siempre cuando miembros de grupo disparan</Spanish>
|
||||
<German>Aktiviert die erweiterte Ballistik immer, wenn ein Gruppenmitglied schießt</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_AdvancedBallistics_disabledInFullAutoMod_DisplayName">
|
||||
<Key ID="STR_ACE_Advanced_Ballistics_disabledInFullAutoMod_DisplayName">
|
||||
<English>Disabled In FullAuto Mode</English>
|
||||
<Polish>Wył. podczas ognia auto.</Polish>
|
||||
<Spanish>Desactivada en modo automático</Spanish>
|
||||
<German>Beim vollautomatischen Feuern deaktiviert</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_AdvancedBallistics_disabledInFullAutoMod_Description">
|
||||
<Key ID="STR_ACE_Advanced_Ballistics_disabledInFullAutoMod_Description">
|
||||
<English>Disables the advanced ballistics during full auto fire</English>
|
||||
<Polish>Dezaktywuje zaawansowaną balistykę podczas ognia automatycznego</Polish>
|
||||
<Spanish>Desactivada la balística avanzada durante el fuego automático</Spanish>
|
||||
<German>Deaktiviert die erweiterte Ballistik beim vollautomatischen Feuern</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_AdvancedBallistics_ammoTemperatureEnabled_DisplayName">
|
||||
<Key ID="STR_ACE_Advanced_Ballistics_ammoTemperatureEnabled_DisplayName">
|
||||
<English>Enable Ammo Temperature Simulation</English>
|
||||
<Polish>Symulacja temp. amunicji</Polish>
|
||||
<Spanish>Activar simulación de temperatura de munición</Spanish>
|
||||
<German>Simulation der Munitionstemperatur aktivieren</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_AdvancedBallistics_ammoTemperatureEnabled_Description">
|
||||
<Key ID="STR_ACE_Advanced_Ballistics_ammoTemperatureEnabled_Description">
|
||||
<English>Muzzle velocity varies with ammo temperature</English>
|
||||
<Polish>Prędkość wylotowa pocisku jest zależna od temperatury amunicji</Polish>
|
||||
<Spanish>La velocidad de salida varía con la temperatura de la munición</Spanish>
|
||||
<German>Munitionstemperatur hat Einfluss auf die Mündungsgeschwindigkeit</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_AdvancedBallistics_barrelLengthInfluenceEnabled_DisplayName">
|
||||
<Key ID="STR_ACE_Advanced_Ballistics_barrelLengthInfluenceEnabled_DisplayName">
|
||||
<English>Enable Barrel Length Simulation</English>
|
||||
<Polish>Symulacja długości lufy</Polish>
|
||||
<Spanish>Habilitar la simulación de longitud del cañón</Spanish>
|
||||
<German>Simulation der Lauflänge aktivieren</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_AdvancedBallistics_barrelLengthInfluenceEnabled_Description">
|
||||
<Key ID="STR_ACE_Advanced_Ballistics_barrelLengthInfluenceEnabled_Description">
|
||||
<English>Muzzle velocity varies with barrel length</English>
|
||||
<Polish>Prędkość wylotowa pocisku jest zależna od długości lufy</Polish>
|
||||
<Spanish>La velocidad de salidal varía con la longitud del cañón</Spanish>
|
||||
<German>Lauflänge beeinflusst Mündungsgeschwindigkeit</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_AdvancedBallistics_bulletTraceEnabled_DisplayName">
|
||||
<Key ID="STR_ACE_Advanced_Ballistics_bulletTraceEnabled_DisplayName">
|
||||
<English>Enable Bullet Trace Effect</English>
|
||||
<Polish>Efekt smugi pocisku</Polish>
|
||||
<Spanish>Activar el efecto trazador de la bala</Spanish>
|
||||
<German>Geschossspureffekt aktivieren</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_AdvancedBallistics_bulletTraceEnabled_Description">
|
||||
<Key ID="STR_ACE_Advanced_Ballistics_bulletTraceEnabled_Description">
|
||||
<English>Enables a bullet trace effect to high caliber bullets (only visible when looking through high power optics)</English>
|
||||
<Polish>Aktywuje efekt smugi pocisku dla pocisków wysokokalibrowych (widoczne tylko podczas patrzenia przez optykę)</Polish>
|
||||
<Spanish>Activa el efecto trazador de la balas de gran calibre (solo visible cuando se mira a través de una mira telescópica)</Spanish>
|
||||
<German>Aktiviere Geschossspureffekt für hohe Kaliber (bei Benutzung von Optiken mit starker Vergrößerung)</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_AdvancedBallistics_simulationInterval_DisplayName">
|
||||
<Key ID="STR_ACE_Advanced_Ballistics_simulationInterval_DisplayName">
|
||||
<English>Simulation Interval</English>
|
||||
<Polish>Interwał symulacji</Polish>
|
||||
<Spanish>Intervalo de simulación</Spanish>
|
||||
<German>Simulationsintervall</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_AdvancedBallistics_simulationInterval_Description">
|
||||
<Key ID="STR_ACE_Advanced_Ballistics_simulationInterval_Description">
|
||||
<English>Defines the interval between every calculation step</English>
|
||||
<Polish>Określa interwał pomiędzy każdym krokiem kalkulacji</Polish>
|
||||
<Spanish>Define el intervalo entre cada cálculo</Spanish>
|
||||
<German>Legt das Intervall zwischen den Berechnungsschritten fest</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_AdvancedBallistics_simulationRadius_DisplayName">
|
||||
<Key ID="STR_ACE_Advanced_Ballistics_simulationRadius_DisplayName">
|
||||
<English>Simulation Radius</English>
|
||||
<Polish>Zasięg symulacji</Polish>
|
||||
<Spanish>Radio de simulación</Spanish>
|
||||
<German>Simulationsradius</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_AdvancedBallistics_simulationRadius_Description">
|
||||
<Key ID="STR_ACE_Advanced_Ballistics_simulationRadius_Description">
|
||||
<English>Defines the radius around the player (in meters) at which advanced ballistics are applied to projectiles</English>
|
||||
<Polish>Określa obszar naokoło gracza (w metrach), na którym zaawansowana balistyka jest aplikowana dla pocisków</Polish>
|
||||
<Spanish>Define el radio alrededor del jugador (en metros) en el cual se aplica la balística avanzada a los proyectiles</Spanish>
|
||||
<German>Gibt den Radius (in Metern) um den Spieler an, bei dem die erweiterte Ballistik auf Geschosse angewendet wird</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_AdvancedBallistics_Description">
|
||||
<Key ID="STR_ACE_Advanced_Ballistics_Description">
|
||||
<English></English>
|
||||
<Polish>Moduł ten pozwala aktywować zaawansowaną balistykę biorącą przy obliczeniach trajektorii lotu pocisku pod uwagę takie rzeczy jak temperatura powietrza, ciśnienie atmosferyczne, wilgotność powietrza, siły Coriolisa i Eotvosa, grawitację a także broń z jakiej wykonywany jest strzał oraz rodzaj amunicji. Wszystko to sprowadza się na bardzo dokładne odwzorowanie balistyki.</Polish>
|
||||
</Key>
|
||||
|
@ -176,8 +176,8 @@ class CfgVehicles {
|
||||
};
|
||||
class CargoRamp_Open: DoorL1_Open {
|
||||
userActionID = 52;
|
||||
displayName = "$STR_ACE_Aircraft_OpenCargoRamp";
|
||||
textToolTip = "$STR_ACE_Aircraft_OpenCargoRamp";
|
||||
displayName = CSTRING(OpenCargoRamp);
|
||||
textToolTip = CSTRING(OpenCargoRamp);
|
||||
position = "action_cargoramp";
|
||||
radius = 3.0;
|
||||
condition = "this animationPhase ""cargoramp_open"" < 0.5 AND Alive(this)";
|
||||
@ -185,8 +185,8 @@ class CfgVehicles {
|
||||
};
|
||||
class CargoRamp_Close: DoorL1_Close {
|
||||
userActionID = 55;
|
||||
displayName = "$STR_ACE_Aircraft_CloseCargoRamp";
|
||||
textToolTip = "$STR_ACE_Aircraft_CloseCargoRamp";
|
||||
displayName = CSTRING(CloseCargoRamp);
|
||||
textToolTip = CSTRING(CloseCargoRamp);
|
||||
position = "action_cargoramp";
|
||||
radius = 3.0;
|
||||
condition = "this animationPhase ""cargoramp_open"" > 0.5 AND Alive(this)";
|
||||
|
@ -29,7 +29,7 @@ class CfgWeapons {
|
||||
reloadTime = 0.1;
|
||||
};
|
||||
class Burst: Mode_Burst {
|
||||
displayName = "$STR_ACE_Aircraft_CMFlareLauncher_Burst_Name";
|
||||
displayName = CSTRING(CMFlareLauncher_Burst_Name);
|
||||
};
|
||||
};
|
||||
|
||||
@ -50,12 +50,12 @@ class CfgWeapons {
|
||||
};
|
||||
|
||||
class ACE_gatling_20mm_Comanche: gatling_20mm {
|
||||
displayName = "$STR_ACE_Aircraft_gatling_20mm_Name";
|
||||
displayName = CSTRING(gatling_20mm_Name);
|
||||
|
||||
class manual: manual {
|
||||
reloadTime = 0.04;
|
||||
dispersion = 0.006;
|
||||
displayName = "$STR_ACE_Aircraft_gatling_20mm_Name";
|
||||
displayName = CSTRING(gatling_20mm_Name);
|
||||
};
|
||||
class close: close {
|
||||
reloadTime = 0.04;
|
||||
|
BIN
addons/apl/data/default_vehicle_ti_ca.paa
Normal file
BIN
addons/apl/data/default_vehicle_ti_ca.paa
Normal file
Binary file not shown.
BIN
addons/apl/data/glass_house.rvmat
Normal file
BIN
addons/apl/data/glass_house.rvmat
Normal file
Binary file not shown.
BIN
addons/apl/data/metal4_weapons_vehicles_int_512_dt.paa
Normal file
BIN
addons/apl/data/metal4_weapons_vehicles_int_512_dt.paa
Normal file
Binary file not shown.
BIN
addons/apl/data/plastic.rvmat
Normal file
BIN
addons/apl/data/plastic.rvmat
Normal file
Binary file not shown.
BIN
addons/apl/data/plastic_512_dt.paa
Normal file
BIN
addons/apl/data/plastic_512_dt.paa
Normal file
Binary file not shown.
BIN
addons/apl/data/vehicle_destr1024_1024_mc.paa
Normal file
BIN
addons/apl/data/vehicle_destr1024_1024_mc.paa
Normal file
Binary file not shown.
BIN
addons/apl/data/vehicle_destr1024_1024_smdi.paa
Normal file
BIN
addons/apl/data/vehicle_destr1024_1024_smdi.paa
Normal file
Binary file not shown.
BIN
addons/apl/sounds/padak_let.wss
Normal file
BIN
addons/apl/sounds/padak_let.wss
Normal file
Binary file not shown.
@ -4,7 +4,7 @@ class CfgVehicles {
|
||||
class ACE_SelfActions {
|
||||
class ACE_Equipment {
|
||||
class GVAR(open) {
|
||||
displayName = "$STR_ACE_ATragMX_OpenATragMXDialog";
|
||||
displayName = CSTRING(OpenATragMXDialog);
|
||||
condition = QUOTE(call FUNC(can_show));
|
||||
statement = QUOTE(call FUNC(create_dialog));
|
||||
showDisabled = 0;
|
||||
|
@ -6,8 +6,8 @@ class CfgWeapons {
|
||||
class ACE_ATragMX: ACE_ItemCore {
|
||||
author = "Ruthberg";
|
||||
scope = 2;
|
||||
displayName = "$STR_ACE_ATragMX_Name";
|
||||
descriptionShort = "$STR_ACE_ATragMX_Description";
|
||||
displayName = CSTRING(Name);
|
||||
descriptionShort = CSTRING(Description);
|
||||
model = PATHTOF(data\tdsrecon.p3d);
|
||||
picture = PATHTOF(UI\ATRAG_Icon.paa);
|
||||
icon = "iconObject_circle";
|
||||
|
@ -1,7 +1,7 @@
|
||||
["ACE3 Equipment", QGVAR(ATragMXDialogKey), localize "STR_ACE_ATragMX_ATragMXDialogKey",
|
||||
["ACE3 Equipment", QGVAR(ATragMXDialogKey), localize LSTRING(ATragMXDialogKey),
|
||||
{
|
||||
// Conditions: canInteract
|
||||
if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false};
|
||||
if !([ACE_player, objNull, ["notOnMap", "isNotInside"]] call EFUNC(common,canInteractWith)) exitWith {false};
|
||||
if (GVAR(active)) exitWith {
|
||||
closeDialog 0;
|
||||
false
|
||||
|
@ -3,7 +3,7 @@
|
||||
class ACE_Actions { \
|
||||
class ACE_MainActions { \
|
||||
class GVAR(AttachVehicle) { \
|
||||
displayName = "$STR_ACE_Attach_AttachDetach"; \
|
||||
displayName = CSTRING(AttachDetach); \
|
||||
condition = QUOTE(_this call FUNC(canAttach)); \
|
||||
insertChildren = QUOTE(_this call FUNC(getChildrenAttachActions)); \
|
||||
exceptions[] = {}; \
|
||||
@ -13,7 +13,7 @@
|
||||
distance = 4.5; \
|
||||
}; \
|
||||
class GVAR(DetachVehicle) { \
|
||||
displayName = "$STR_ACE_Attach_Detach"; \
|
||||
displayName = CSTRING(Detach); \
|
||||
condition = QUOTE(_this call FUNC(canDetach)); \
|
||||
statement = QUOTE(_this call FUNC(detach) ); \
|
||||
exceptions[] = {}; \
|
||||
@ -54,7 +54,7 @@ class CfgVehicles {
|
||||
class ACE_SelfActions {
|
||||
class ACE_Equipment {
|
||||
class GVAR(Attach) {
|
||||
displayName = "$STR_ACE_Attach_AttachDetach";
|
||||
displayName = CSTRING(AttachDetach);
|
||||
condition = QUOTE(_this call FUNC(canAttach));
|
||||
insertChildren = QUOTE(_this call FUNC(getChildrenAttachActions));
|
||||
exceptions[] = {"isNotDragging"};
|
||||
@ -64,7 +64,7 @@ class CfgVehicles {
|
||||
// hotkey = "T";
|
||||
};
|
||||
class GVAR(Detach) {
|
||||
displayName = "$STR_ACE_Attach_Detach";
|
||||
displayName = CSTRING(Detach);
|
||||
condition = QUOTE(_this call FUNC(canDetach));
|
||||
statement = QUOTE(_this call FUNC(detach));
|
||||
exceptions[] = {"isNotDragging"};
|
||||
@ -87,9 +87,9 @@ class CfgVehicles {
|
||||
class NVGMarker {
|
||||
diffuse[] = {0.006, 0.006, 0.006, 1};
|
||||
ambient[] = {0.005, 0.005, 0.005, 1};
|
||||
brightness = 0.2;
|
||||
brightness = 0.1;
|
||||
name = "pozicni blik";
|
||||
drawLightSize = 0.2;
|
||||
drawLightSize = 0.1;
|
||||
drawLightCenterSize = 0.003;
|
||||
activeLight = 0;
|
||||
blinking=1;
|
||||
@ -112,7 +112,7 @@ class CfgVehicles {
|
||||
magazines[] = {};
|
||||
nvTarget = 1;
|
||||
destrType = "DestructNo";
|
||||
brightness = 20;
|
||||
brightness = 10;
|
||||
};
|
||||
|
||||
class NATO_Box_Base;
|
||||
|
@ -5,10 +5,10 @@ class CfgWeapons {
|
||||
|
||||
class ACE_IR_Strobe_Item: ACE_ItemCore {
|
||||
ACE_attachable = "ACE_IR_Strobe_Effect";
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
scope = 2;
|
||||
displayName = "$STR_ACE_IrStrobe_Name";
|
||||
descriptionShort = "$STR_ACE_IrStrobe_Description";
|
||||
displayName = CSTRING(IrStrobe_Name);
|
||||
descriptionShort = CSTRING(IrStrobe_Description);
|
||||
model = "\A3\weapons_F\ammo\mag_univ.p3d";
|
||||
picture = PATHTOF(UI\irstrobe_item.paa);
|
||||
|
||||
|
@ -37,7 +37,7 @@ if (_itemVehClass == "") then {
|
||||
|
||||
if (_itemVehClass == "") exitWith {ERROR("no ACE_Attachable for Item");};
|
||||
|
||||
_onAtachText = format [localize "STR_ACE_Attach_Item_Attached", _onAtachText];
|
||||
_onAtachText = format [localize LSTRING(Item_Attached), _onAtachText];
|
||||
|
||||
if (_unit == _attachToVehicle) then { //Self Attachment
|
||||
_unit removeItem _itemClassname; // Remove item
|
||||
@ -55,11 +55,11 @@ if (_unit == _attachToVehicle) then { //Self Attachment
|
||||
[_unit, QGVAR(vehAttach), true] call EFUNC(common,setForceWalkStatus);
|
||||
|
||||
//MenuBack isn't working for now (localize "STR_ACE_Attach_CancelAction")
|
||||
[{[localize "STR_ACE_Attach_PlaceAction", ""] call EFUNC(interaction,showMouseHint)}, []] call EFUNC(common,execNextFrame);
|
||||
[{[localize LSTRING(PlaceAction), ""] call EFUNC(interaction,showMouseHint)}, []] call EFUNC(common,execNextFrame);
|
||||
_unit setVariable [QGVAR(placeActionEH), [_unit, "DefaultAction", {true}, {GVAR(placeAction) = 1;}] call EFUNC(common,AddActionEventHandler)];
|
||||
// _unit setVariable [QGVAR(cancelActionEH), [_unit, "MenuBack", {true}, {GVAR(placeAction) = 0;}] call EFUNC(common,AddActionEventHandler)];
|
||||
|
||||
_actionID = _unit addAction [format ["<t color='#FF0000'>%1</t>", localize "STR_ACE_Attach_CancelAction"], {GVAR(placeAction) = 0}];
|
||||
_actionID = _unit addAction [format ["<t color='#FF0000'>%1</t>", localize LSTRING(CancelAction)], {GVAR(placeAction) = 0}];
|
||||
|
||||
[{
|
||||
private "_startingPosition";
|
||||
|
@ -49,7 +49,7 @@ if (isNull _attachedObject || {_itemName == ""}) exitWith {ERROR("Could not find
|
||||
|
||||
// Exit if can't add the item
|
||||
if !(_unit canAdd _itemName) exitWith {
|
||||
[localize "STR_ACE_Attach_Inventory_Full"] call EFUNC(common,displayTextStructured);
|
||||
[localize LSTRING(Inventory_Full)] call EFUNC(common,displayTextStructured);
|
||||
};
|
||||
|
||||
// Add item to inventory
|
||||
@ -78,4 +78,4 @@ if (_itemDisplayName == "") then {
|
||||
_itemDisplayName = getText (configFile >> "CfgMagazines" >> _itemName >> "displayName");
|
||||
};
|
||||
|
||||
[format [localize "STR_ACE_Attach_Item_Detached", _itemDisplayName]] call EFUNC(common,displayTextStructured);
|
||||
[format [localize LSTRING(Item_Detached), _itemDisplayName]] call EFUNC(common,displayTextStructured);
|
||||
|
@ -74,7 +74,7 @@ _closeInDistance = (_closeInMax + _closeInMin) / 2;
|
||||
//Checks (too close to center or can't attach)
|
||||
if (((_startDistanceFromCenter - _closeInDistance) < 0.1) || {!([_attachToVehicle, _unit, _itemClassname] call FUNC(canAttach))}) exitWith {
|
||||
TRACE_2("no valid spot found",_closeInDistance,_startDistanceFromCenter);
|
||||
[localize "STR_ACE_Attach_Failed"] call EFUNC(common,displayTextStructured);
|
||||
[localize LSTRING(Failed)] call EFUNC(common,displayTextStructured);
|
||||
};
|
||||
|
||||
//Move it out slightly, for visability sake (better to look a little funny than be embedded//sunk in the hull and be useless)
|
||||
|
@ -121,7 +121,7 @@
|
||||
<Hungarian>Nincs több hely</Hungarian>
|
||||
<Russian>В инвентаре нет места</Russian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_IrStrobe_Name">
|
||||
<Key ID="STR_ACE_Attach_IrStrobe_Name">
|
||||
<English>IR Strobe</English>
|
||||
<German>IR-Stroboskop</German>
|
||||
<Spanish>Marcador IR</Spanish>
|
||||
@ -133,7 +133,7 @@
|
||||
<Hungarian>Infravörös jeladó</Hungarian>
|
||||
<Russian>ИК-маяк</Russian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_IrStrobe_Description">
|
||||
<Key ID="STR_ACE_Attach_IrStrobe_Description">
|
||||
<English>IR Strobe allows you to signal your position through a pulsating beacon only visible with NVGs.</English>
|
||||
<German>Das IR-Stroboskop erlaubt es dir deine Position mit einem blinkenden Leuchtfeuer zu signalisieren, welches nur mit Nachtsichtgerät zu erkennen ist.</German>
|
||||
<Polish>Stroboskop światła podczerwieni umożliwia oznaczenie swojej pozycji pulsacyjnym światłem widocznym tylko przez optykę noktowizyjną i gogle noktowizyjne.</Polish>
|
||||
|
@ -12,75 +12,75 @@ class CfgMagazines {
|
||||
initSpeed = 760;
|
||||
};
|
||||
class ACE_100Rnd_65x39_caseless_mag_Tracer_Dim: 100Rnd_65x39_caseless_mag_Tracer {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
ammo = "ACE_65x39_Caseless_Tracer_Dim";
|
||||
displayName = "$STR_ACE_100Rnd_65x39_caseless_mag_Tracer_DimName";
|
||||
displayNameShort = "$STR_ACE_100Rnd_65x39_caseless_mag_Tracer_DimNameShort";
|
||||
descriptionShort = "$STR_ACE_100Rnd_65x39_caseless_mag_Tracer_DimDescription";
|
||||
displayName = CSTRING(100Rnd_65x39_caseless_mag_Tracer_DimName);
|
||||
displayNameShort = CSTRING(100Rnd_65x39_caseless_mag_Tracer_DimNameShort);
|
||||
descriptionShort = CSTRING(100Rnd_65x39_caseless_mag_Tracer_DimDescription);
|
||||
picture = "\A3\weapons_f\data\ui\m_100rnd_65x39_yellow_ca.paa";
|
||||
};
|
||||
class 200Rnd_65x39_cased_Box: 100Rnd_65x39_caseless_mag {
|
||||
initSpeed = 760;
|
||||
};
|
||||
class ACE_200Rnd_65x39_cased_Box_Tracer_Dim: 200Rnd_65x39_cased_Box {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
ammo = "ACE_65x39_Caseless_Tracer_Dim";
|
||||
displayName = "$STR_ACE_200Rnd_65x39_cased_Box_Tracer_DimName";
|
||||
displayNameShort = "$STR_ACE_200Rnd_65x39_cased_Box_Tracer_DimNameShort";
|
||||
descriptionShort = "$STR_ACE_200Rnd_65x39_cased_Box_Tracer_DimDescription";
|
||||
displayName = CSTRING(200Rnd_65x39_cased_Box_Tracer_DimName);
|
||||
displayNameShort = CSTRING(200Rnd_65x39_cased_Box_Tracer_DimNameShort);
|
||||
descriptionShort = CSTRING(200Rnd_65x39_cased_Box_Tracer_DimDescription);
|
||||
picture = "\A3\weapons_f\data\ui\m_200rnd_65x39_yellow_ca.paa";
|
||||
};
|
||||
class 30Rnd_65x39_caseless_mag_Tracer;
|
||||
class ACE_30Rnd_65x39_caseless_mag_Tracer_Dim: 30Rnd_65x39_caseless_mag_Tracer {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
ammo = "ACE_65x39_Caseless_Tracer_Dim";
|
||||
displayName = "$STR_ACE_30Rnd_65x39_caseless_mag_Tracer_DimName";
|
||||
displayNameShort = "$STR_ACE_30Rnd_65x39_caseless_mag_Tracer_DimNameShort";
|
||||
descriptionShort = "$STR_ACE_30Rnd_65x39_caseless_mag_Tracer_DimDescription";
|
||||
displayName = CSTRING(30Rnd_65x39_caseless_mag_Tracer_DimName);
|
||||
displayNameShort = CSTRING(30Rnd_65x39_caseless_mag_Tracer_DimNameShort);
|
||||
descriptionShort = CSTRING(30Rnd_65x39_caseless_mag_Tracer_DimDescription);
|
||||
};
|
||||
class 30Rnd_65x39_caseless_green_mag_Tracer;
|
||||
class ACE_30Rnd_65x39_caseless_green_mag_Tracer_Dim: 30Rnd_65x39_caseless_green_mag_Tracer {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
ammo = "ACE_65x39_Caseless_green_Tracer_Dim";
|
||||
displayName = "$STR_ACE_30Rnd_65x39_caseless_green_mag_Tracer_DimName";
|
||||
displayNameShort = "$STR_ACE_30Rnd_65x39_caseless_green_mag_Tracer_DimNameShort";
|
||||
descriptionShort = "$STR_ACE_30Rnd_65x39_caseless_green_mag_Tracer_DimDescription";
|
||||
displayName = CSTRING(30Rnd_65x39_caseless_green_mag_Tracer_DimName);
|
||||
displayNameShort = CSTRING(30Rnd_65x39_caseless_green_mag_Tracer_DimNameShort);
|
||||
descriptionShort = CSTRING(30Rnd_65x39_caseless_green_mag_Tracer_DimDescription);
|
||||
};
|
||||
|
||||
class 30Rnd_556x45_Stanag: CA_Magazine {
|
||||
};
|
||||
class ACE_30Rnd_556x45_Stanag_M995_AP_mag: 30Rnd_556x45_Stanag {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
ammo = "ACE_556x45_Ball_M995_AP";
|
||||
displayName = "$STR_ACE_30Rnd_556x45_Stanag_M995_AP_mag_Name";
|
||||
displayNameShort = "$STR_ACE_30Rnd_556x45_Stanag_M995_AP_mag_NameShort";
|
||||
descriptionShort = "$STR_ACE_30Rnd_556x45_Stanag_M995_AP_mag_Description";
|
||||
displayName = CSTRING(30Rnd_556x45_Stanag_M995_AP_mag_Name);
|
||||
displayNameShort = CSTRING(30Rnd_556x45_Stanag_M995_AP_mag_NameShort);
|
||||
descriptionShort = CSTRING(30Rnd_556x45_Stanag_M995_AP_mag_Description);
|
||||
initSpeed = 865;
|
||||
};
|
||||
class ACE_30Rnd_556x45_Stanag_Mk262_mag: 30Rnd_556x45_Stanag {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
ammo = "ACE_556x45_Ball_Mk262";
|
||||
displayName = "$STR_ACE_30Rnd_556x45_Stanag_Mk262_mag_Name";
|
||||
displayNameShort = "$STR_ACE_30Rnd_556x45_Stanag_Mk262_mag_NameShort";
|
||||
descriptionShort = "$STR_ACE_30Rnd_556x45_Stanag_Mk262_mag_Description";
|
||||
displayName = CSTRING(30Rnd_556x45_Stanag_Mk262_mag_Name);
|
||||
displayNameShort = CSTRING(30Rnd_556x45_Stanag_Mk262_mag_NameShort);
|
||||
descriptionShort = CSTRING(30Rnd_556x45_Stanag_Mk262_mag_Description);
|
||||
initSpeed = 832;
|
||||
};
|
||||
class ACE_30Rnd_556x45_Stanag_Mk318_mag: 30Rnd_556x45_Stanag {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
ammo = "ACE_556x45_Ball_Mk318";
|
||||
displayName = "$STR_ACE_30Rnd_556x45_Stanag_Mk318_mag_Name";
|
||||
displayNameShort = "$STR_ACE_30Rnd_556x45_Stanag_Mk318_mag_NameShort";
|
||||
descriptionShort = "$STR_ACE_30Rnd_556x45_Stanag_Mk318_mag_Description";
|
||||
displayName = CSTRING(30Rnd_556x45_Stanag_Mk318_mag_Name);
|
||||
displayNameShort = CSTRING(30Rnd_556x45_Stanag_Mk318_mag_NameShort);
|
||||
descriptionShort = CSTRING(30Rnd_556x45_Stanag_Mk318_mag_Description);
|
||||
initSpeed = 922;
|
||||
};
|
||||
class 30Rnd_556x45_Stanag_Tracer_Red: 30Rnd_556x45_Stanag {
|
||||
};
|
||||
class ACE_30Rnd_556x45_Stanag_Tracer_Dim: 30Rnd_556x45_Stanag_Tracer_Red {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
ammo = "ACE_B_556x45_Ball_Tracer_Dim";
|
||||
displayName = "$STR_ACE_30Rnd_556x45_mag_Tracer_DimName";
|
||||
displayNameShort = "$STR_ACE_30Rnd_556x45_mag_Tracer_DimNameShort";
|
||||
descriptionShort = "$STR_ACE_30Rnd_556x45_mag_Tracer_DimDescription";
|
||||
displayName = CSTRING(30Rnd_556x45_mag_Tracer_DimName);
|
||||
displayNameShort = CSTRING(30Rnd_556x45_mag_Tracer_DimNameShort);
|
||||
descriptionShort = CSTRING(30Rnd_556x45_mag_Tracer_DimDescription);
|
||||
picture = "\A3\weapons_f\data\ui\m_20stanag_red_ca.paa";
|
||||
};
|
||||
|
||||
@ -97,180 +97,180 @@ class CfgMagazines {
|
||||
initSpeed = 833;
|
||||
};
|
||||
class ACE_20Rnd_762x51_Mag_Tracer: 20Rnd_762x51_Mag {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
ammo = "B_762x51_Tracer_Red";
|
||||
displayName = "$STR_ACE_20Rnd_762x51_mag_TracerName";
|
||||
displayNameShort = "$STR_ACE_20Rnd_762x51_mag_TracerNameShort";
|
||||
descriptionShort = "$STR_ACE_20Rnd_762x51_mag_TracerDescription";
|
||||
displayName = CSTRING(20Rnd_762x51_mag_TracerName);
|
||||
displayNameShort = CSTRING(20Rnd_762x51_mag_TracerNameShort);
|
||||
descriptionShort = CSTRING(20Rnd_762x51_mag_TracerDescription);
|
||||
tracersEvery = 1;
|
||||
};
|
||||
|
||||
class ACE_20Rnd_762x51_Mag_Tracer_Dim: ACE_20Rnd_762x51_Mag_Tracer {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
ammo = "ACE_B_762x51_Tracer_Dim";
|
||||
displayName = "$STR_ACE_20Rnd_762x51_mag_Tracer_DimName";
|
||||
displayNameShort = "$STR_ACE_20Rnd_762x51_mag_Tracer_DimNameShort";
|
||||
descriptionShort = "$STR_ACE_20Rnd_762x51_mag_Tracer_DimDescription";
|
||||
displayName = CSTRING(20Rnd_762x51_mag_Tracer_DimName);
|
||||
displayNameShort = CSTRING(20Rnd_762x51_mag_Tracer_DimNameShort);
|
||||
descriptionShort = CSTRING(20Rnd_762x51_mag_Tracer_DimDescription);
|
||||
};
|
||||
|
||||
class ACE_20Rnd_762x51_Mag_SD: 20Rnd_762x51_Mag {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
ammo = "ACE_762x51_Ball_Subsonic";
|
||||
displayName = "$STR_ACE_20Rnd_762x51_mag_SDName";
|
||||
displayNameShort = "$STR_ACE_20Rnd_762x51_mag_SDNameShort";
|
||||
descriptionShort = "$STR_ACE_20Rnd_762x51_mag_SDDescription";
|
||||
displayName = CSTRING(20Rnd_762x51_mag_SDName);
|
||||
displayNameShort = CSTRING(20Rnd_762x51_mag_SDNameShort);
|
||||
descriptionShort = CSTRING(20Rnd_762x51_mag_SDDescription);
|
||||
initSpeed = 325;
|
||||
};
|
||||
|
||||
class ACE_10Rnd_762x51_M118LR_Mag: 10Rnd_762x51_Mag {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
ammo = "ACE_762x51_Ball_M118LR";
|
||||
count = 10;
|
||||
displayName = "$STR_ACE_10Rnd_762x51_M118LR_Mag_Name";
|
||||
displayNameShort = "$STR_ACE_10Rnd_762x51_M118LR_Mag_NameShort";
|
||||
descriptionShort = "$STR_ACE_10Rnd_762x51_M118LR_Mag_Description";
|
||||
displayName = CSTRING(10Rnd_762x51_M118LR_Mag_Name);
|
||||
displayNameShort = CSTRING(10Rnd_762x51_M118LR_Mag_NameShort);
|
||||
descriptionShort = CSTRING(10Rnd_762x51_M118LR_Mag_Description);
|
||||
initSpeed = 780;
|
||||
};
|
||||
class ACE_10Rnd_762x51_Mk316_Mod_0_Mag: 10Rnd_762x51_Mag {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
ammo = "ACE_762x51_Ball_Mk316_Mod_0";
|
||||
count = 10;
|
||||
displayName = "$STR_ACE_10Rnd_762x51_Mk316_Mod_0_Mag_Name";
|
||||
displayNameShort = "$STR_ACE_10Rnd_762x51_Mk316_Mod_0_Mag_NameShort";
|
||||
descriptionShort = "$STR_ACE_10Rnd_762x51_Mk316_Mod_0_Mag_Description";
|
||||
displayName = CSTRING(10Rnd_762x51_Mk316_Mod_0_Mag_Name);
|
||||
displayNameShort = CSTRING(10Rnd_762x51_Mk316_Mod_0_Mag_NameShort);
|
||||
descriptionShort = CSTRING(10Rnd_762x51_Mk316_Mod_0_Mag_Description);
|
||||
initSpeed = 790;
|
||||
};
|
||||
class ACE_10Rnd_762x51_Mk319_Mod_0_Mag: 10Rnd_762x51_Mag {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
ammo = "ACE_762x51_Ball_Mk319_Mod_0";
|
||||
count = 10;
|
||||
displayName = "$STR_ACE_10Rnd_762x51_Mk319_Mod_0_Mag_Name";
|
||||
displayNameShort = "$STR_ACE_10Rnd_762x51_Mk319_Mod_0_Mag_NameShort";
|
||||
descriptionShort = "$STR_ACE_10Rnd_762x51_Mk319_Mod_0_Mag_Description";
|
||||
displayName = CSTRING(10Rnd_762x51_Mk319_Mod_0_Mag_Name);
|
||||
displayNameShort = CSTRING(10Rnd_762x51_Mk319_Mod_0_Mag_NameShort);
|
||||
descriptionShort = CSTRING(10Rnd_762x51_Mk319_Mod_0_Mag_Description);
|
||||
initSpeed = 900;
|
||||
};
|
||||
class ACE_10Rnd_762x51_M993_AP_Mag: 10Rnd_762x51_Mag {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
ammo = "ACE_762x51_Ball_M993_AP";
|
||||
count = 10;
|
||||
displayName = "$STR_ACE_10Rnd_762x51_M993_AP_Mag_Name";
|
||||
displayNameShort = "$STR_ACE_10Rnd_762x51_M993_AP_Mag_NameShort";
|
||||
descriptionShort = "$STR_ACE_10Rnd_762x51_M993_AP_Mag_Description";
|
||||
displayName = CSTRING(10Rnd_762x51_M993_AP_Mag_Name);
|
||||
displayNameShort = CSTRING(10Rnd_762x51_M993_AP_Mag_NameShort);
|
||||
descriptionShort = CSTRING(10Rnd_762x51_M993_AP_Mag_Description);
|
||||
initSpeed = 920;
|
||||
};
|
||||
class ACE_20Rnd_762x51_M118LR_Mag: 20Rnd_762x51_Mag {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
ammo = "ACE_762x51_Ball_M118LR";
|
||||
displayName = "$STR_ACE_20Rnd_762x51_M118LR_Mag_Name";
|
||||
displayNameShort = "$STR_ACE_20Rnd_762x51_M118LR_Mag_NameShort";
|
||||
descriptionShort = "$STR_ACE_20Rnd_762x51_M118LR_Mag_Description";
|
||||
displayName = CSTRING(20Rnd_762x51_M118LR_Mag_Name);
|
||||
displayNameShort = CSTRING(20Rnd_762x51_M118LR_Mag_NameShort);
|
||||
descriptionShort = CSTRING(20Rnd_762x51_M118LR_Mag_Description);
|
||||
initSpeed = 780;
|
||||
};
|
||||
class ACE_20Rnd_762x51_Mk316_Mod_0_Mag: 20Rnd_762x51_Mag {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
ammo = "ACE_762x51_Ball_Mk316_Mod_0";
|
||||
count = 20;
|
||||
displayName = "$STR_ACE_20Rnd_762x51_Mk316_Mod_0_Mag_Name";
|
||||
displayNameShort = "$STR_ACE_20Rnd_762x51_Mk316_Mod_0_Mag_NameShort";
|
||||
descriptionShort = "$STR_ACE_20Rnd_762x51_Mk316_Mod_0_Mag_Description";
|
||||
displayName = CSTRING(20Rnd_762x51_Mk316_Mod_0_Mag_Name);
|
||||
displayNameShort = CSTRING(20Rnd_762x51_Mk316_Mod_0_Mag_NameShort);
|
||||
descriptionShort = CSTRING(20Rnd_762x51_Mk316_Mod_0_Mag_Description);
|
||||
initSpeed = 790;
|
||||
};
|
||||
class ACE_20Rnd_762x51_Mk319_Mod_0_Mag: 20Rnd_762x51_Mag {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
ammo = "ACE_762x51_Ball_Mk319_Mod_0";
|
||||
displayName = "$STR_ACE_20Rnd_762x51_Mk319_Mod_0_Mag_Name";
|
||||
displayNameShort = "$STR_ACE_20Rnd_762x51_Mk319_Mod_0_Mag_NameShort";
|
||||
descriptionShort = "$STR_ACE_20Rnd_762x51_Mk319_Mod_0_Mag_Description";
|
||||
displayName = CSTRING(20Rnd_762x51_Mk319_Mod_0_Mag_Name);
|
||||
displayNameShort = CSTRING(20Rnd_762x51_Mk319_Mod_0_Mag_NameShort);
|
||||
descriptionShort = CSTRING(20Rnd_762x51_Mk319_Mod_0_Mag_Description);
|
||||
initSpeed = 900;
|
||||
};
|
||||
class ACE_20Rnd_762x51_M993_AP_Mag: 20Rnd_762x51_Mag {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
ammo = "ACE_762x51_Ball_M993_AP";
|
||||
count = 20;
|
||||
displayName = "$STR_ACE_20Rnd_762x51_M993_AP_Mag_Name";
|
||||
displayNameShort = "$STR_ACE_20Rnd_762x51_M993_AP_Mag_NameShort";
|
||||
descriptionShort = "$STR_ACE_20Rnd_762x51_M993_AP_Mag_Description";
|
||||
displayName = CSTRING(20Rnd_762x51_M993_AP_Mag_Name);
|
||||
displayNameShort = CSTRING(20Rnd_762x51_M993_AP_Mag_NameShort);
|
||||
descriptionShort = CSTRING(20Rnd_762x51_M993_AP_Mag_Description);
|
||||
initSpeed = 920;
|
||||
};
|
||||
class ACE_20Rnd_762x67_Mk248_Mod_0_Mag: 20Rnd_762x51_Mag {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
ammo = "ACE_762x67_Ball_Mk248_Mod_0";
|
||||
displayName = "$STR_ACE_20Rnd_762x67_Mk248_Mod_0_Mag_Name";
|
||||
displayNameShort = "$STR_ACE_20Rnd_762x67_Mk248_Mod_0_Mag_NameShort";
|
||||
descriptionShort = "$STR_ACE_20Rnd_762x67_Mk248_Mod_0_Mag_Description";
|
||||
displayName = CSTRING(20Rnd_762x67_Mk248_Mod_0_Mag_Name);
|
||||
displayNameShort = CSTRING(20Rnd_762x67_Mk248_Mod_0_Mag_NameShort);
|
||||
descriptionShort = CSTRING(20Rnd_762x67_Mk248_Mod_0_Mag_Description);
|
||||
initSpeed = 900;
|
||||
};
|
||||
class ACE_20Rnd_762x67_Mk248_Mod_1_Mag: 20Rnd_762x51_Mag {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
ammo = "ACE_762x67_Ball_Mk248_Mod_1";
|
||||
displayName = "$STR_ACE_20Rnd_762x67_Mk248_Mod_1_Mag_Name";
|
||||
displayNameShort = "$STR_ACE_20Rnd_762x67_Mk248_Mod_1_Mag_NameShort";
|
||||
descriptionShort = "$STR_ACE_20Rnd_762x67_Mk248_Mod_1_Mag_Description";
|
||||
displayName = CSTRING(20Rnd_762x67_Mk248_Mod_1_Mag_Name);
|
||||
displayNameShort = CSTRING(20Rnd_762x67_Mk248_Mod_1_Mag_NameShort);
|
||||
descriptionShort = CSTRING(20Rnd_762x67_Mk248_Mod_1_Mag_Description);
|
||||
initSpeed = 880;
|
||||
};
|
||||
class ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag: 20Rnd_762x51_Mag {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
ammo = "ACE_762x67_Ball_Berger_Hybrid_OTM";
|
||||
displayName = "$STR_ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag_Name";
|
||||
displayNameShort = "$STR_ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag_NameShort";
|
||||
descriptionShort = "$STR_ACE_20Rnd_762x67_Berger_Hybrid_OTM_Mag_Description";
|
||||
displayName = CSTRING(20Rnd_762x67_Berger_Hybrid_OTM_Mag_Name);
|
||||
displayNameShort = CSTRING(20Rnd_762x67_Berger_Hybrid_OTM_Mag_NameShort);
|
||||
descriptionShort = CSTRING(20Rnd_762x67_Berger_Hybrid_OTM_Mag_Description);
|
||||
initSpeed = 832;
|
||||
};
|
||||
class ACE_30Rnd_65x47_Scenar_mag: 30Rnd_65x39_caseless_mag {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
ammo = "ACE_65x47_Ball_Scenar";
|
||||
displayName = "$STR_ACE_30Rnd_65x47_Scenar_mag_Name";
|
||||
displayNameShort = "$STR_ACE_30Rnd_65x47_Scenar_mag_NameShort";
|
||||
descriptionShort = "$STR_ACE_30Rnd_65x47_Scenar_mag_Description";
|
||||
displayName = CSTRING(30Rnd_65x47_Scenar_mag_Name);
|
||||
displayNameShort = CSTRING(30Rnd_65x47_Scenar_mag_NameShort);
|
||||
descriptionShort = CSTRING(30Rnd_65x47_Scenar_mag_Description);
|
||||
};
|
||||
class ACE_30Rnd_65_Creedmor_mag: 30Rnd_65x39_caseless_mag {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
ammo = "ACE_65_Creedmor_Ball";
|
||||
displayName = "$STR_ACE_30Rnd_65_Creedmor_mag_Name";
|
||||
displayNameShort = "$STR_ACE_30Rnd_65_Creedmor_mag_NameShort";
|
||||
descriptionShort = "$STR_ACE_30Rnd_65_Creedmor_mag_Description";
|
||||
displayName = CSTRING(30Rnd_65_Creedmor_mag_Name);
|
||||
displayNameShort = CSTRING(30Rnd_65_Creedmor_mag_NameShort);
|
||||
descriptionShort = CSTRING(30Rnd_65_Creedmor_mag_Description);
|
||||
};
|
||||
class 10Rnd_338_Mag;
|
||||
class ACE_10Rnd_338_300gr_HPBT_Mag: 10Rnd_338_Mag {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
ammo = "ACE_338_Ball";
|
||||
displayName = "$STR_ACE_10Rnd_338_300gr_HPBT_Mag_Name";
|
||||
displayNameShort = "$STR_ACE_10Rnd_338_300gr_HPBT_Mag_NameShort";
|
||||
descriptionShort = "$STR_ACE_10Rnd_338_300gr_HPBT_Mag_Description";
|
||||
displayName = CSTRING(10Rnd_338_300gr_HPBT_Mag_Name);
|
||||
displayNameShort = CSTRING(10Rnd_338_300gr_HPBT_Mag_NameShort);
|
||||
descriptionShort = CSTRING(10Rnd_338_300gr_HPBT_Mag_Description);
|
||||
initSpeed = 800;
|
||||
};
|
||||
class ACE_10Rnd_338_API526_Mag: 10Rnd_338_Mag {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
ammo = "ACE_338_Ball_API526";
|
||||
displayName = "$STR_ACE_10Rnd_338_API526_Mag_Name";
|
||||
displayNameShort = "$STR_ACE_10Rnd_338_API526_Mag_NameShort";
|
||||
descriptionShort = "$STR_ACE_10Rnd_338_API526_Mag_Description";
|
||||
displayName = CSTRING(10Rnd_338_API526_Mag_Name);
|
||||
displayNameShort = CSTRING(10Rnd_338_API526_Mag_NameShort);
|
||||
descriptionShort = CSTRING(10Rnd_338_API526_Mag_Description);
|
||||
initSpeed = 880;
|
||||
};
|
||||
|
||||
class 5Rnd_127x108_Mag;
|
||||
class ACE_5Rnd_127x99_Mag: 5Rnd_127x108_Mag {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
ammo = "B_127x99_Ball";
|
||||
displayName = "$STR_ACE_5Rnd_127x99_Mag_Name";
|
||||
displayNameShort = "$STR_ACE_5Rnd_127x99_Mag_NameShort";
|
||||
descriptionShort = "$STR_ACE_5Rnd_127x99_Mag_Description";
|
||||
displayName = CSTRING(5Rnd_127x99_Mag_Name);
|
||||
displayNameShort = CSTRING(5Rnd_127x99_Mag_NameShort);
|
||||
descriptionShort = CSTRING(5Rnd_127x99_Mag_Description);
|
||||
initSpeed = 900;
|
||||
};
|
||||
class ACE_5Rnd_127x99_API_Mag: 5Rnd_127x108_Mag {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
ammo = "ACE_127x99_API";
|
||||
displayName = "$STR_ACE_5Rnd_127x99_API_Mag_Name";
|
||||
displayNameShort = "$STR_ACE_5Rnd_127x99_API_Mag_NameShort";
|
||||
descriptionShort = "$STR_ACE_5Rnd_127x99_API_Mag_Description";
|
||||
displayName = CSTRING(5Rnd_127x99_API_Mag_Name);
|
||||
displayNameShort = CSTRING(5Rnd_127x99_API_Mag_NameShort);
|
||||
descriptionShort = CSTRING(5Rnd_127x99_API_Mag_Description);
|
||||
initSpeed = 900;
|
||||
};
|
||||
class ACE_5Rnd_127x99_AMAX_Mag: 5Rnd_127x108_Mag {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
ammo = "ACE_127x99_Ball_AMAX";
|
||||
displayName = "$STR_ACE_5Rnd_127x99_AMAX_Mag_Name";
|
||||
displayNameShort = "$STR_ACE_5Rnd_127x99_AMAX_Mag_NameShort";
|
||||
descriptionShort = "$STR_ACE_5Rnd_127x99_AMAX_Mag_Description";
|
||||
displayName = CSTRING(5Rnd_127x99_AMAX_Mag_Name);
|
||||
displayNameShort = CSTRING(5Rnd_127x99_AMAX_Mag_NameShort);
|
||||
descriptionShort = CSTRING(5Rnd_127x99_AMAX_Mag_Description);
|
||||
initSpeed = 860;
|
||||
};
|
||||
|
||||
@ -279,11 +279,11 @@ class CfgMagazines {
|
||||
initSpeed = 450;
|
||||
};
|
||||
class ACE_30Rnd_9x19_mag: 30Rnd_9x21_Mag {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
ammo = "ACE_9x19_Ball";
|
||||
displayName = "$STR_ACE_30Rnd_9x19_mag_Name";
|
||||
displayNameShort = "$STR_ACE_30Rnd_9x19_mag_NameShort";
|
||||
descriptionShort = "$STR_ACE_30Rnd_9x19_mag_Description";
|
||||
displayName = CSTRING(30Rnd_9x19_mag_Name);
|
||||
displayNameShort = CSTRING(30Rnd_9x19_mag_NameShort);
|
||||
descriptionShort = CSTRING(30Rnd_9x19_mag_Description);
|
||||
initSpeed = 370;
|
||||
};
|
||||
|
||||
@ -311,11 +311,11 @@ class CfgMagazines {
|
||||
initSpeed = 450;
|
||||
};
|
||||
class ACE_16Rnd_9x19_mag: 16Rnd_9x21_Mag {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
ammo = "ACE_9x19_Ball";
|
||||
displayName = "$STR_ACE_16Rnd_9x19_mag_Name";
|
||||
displayNameShort = "$STR_ACE_16Rnd_9x19_mag_NameShort";
|
||||
descriptionShort = "$STR_ACE_16Rnd_9x19_mag_Description";
|
||||
displayName = CSTRING(16Rnd_9x19_mag_Name);
|
||||
displayNameShort = CSTRING(16Rnd_9x19_mag_NameShort);
|
||||
descriptionShort = CSTRING(16Rnd_9x19_mag_Description);
|
||||
initSpeed = 370;
|
||||
};
|
||||
|
||||
@ -323,11 +323,11 @@ class CfgMagazines {
|
||||
initSpeed = 800;
|
||||
};
|
||||
class ACE_10Rnd_762x54_Tracer_mag: 10Rnd_762x54_Mag {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
ammo = "ACE_762x54_Ball_7T2";
|
||||
displayName = "$STR_ACE_10Rnd_762x54_Tracer_mag_Name";
|
||||
displayNameShort = "$STR_ACE_10Rnd_762x54_Tracer_mag_NameShort";
|
||||
descriptionShort = "$STR_ACE_10Rnd_762x54_Tracer_mag_Description";
|
||||
displayName = CSTRING(10Rnd_762x54_Tracer_mag_Name);
|
||||
displayNameShort = CSTRING(10Rnd_762x54_Tracer_mag_NameShort);
|
||||
descriptionShort = CSTRING(10Rnd_762x54_Tracer_mag_Description);
|
||||
initSpeed = 800;
|
||||
tracersEvery = 1;
|
||||
};
|
||||
|
@ -2,7 +2,7 @@
|
||||
class CfgVehicles {
|
||||
class Sign_F;
|
||||
class ACE_TargetWall: Sign_F {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
scope = 0;
|
||||
class Eventhandlers {
|
||||
init = QUOTE(_this call COMPILE_FILE(scripts\initTargetWall));
|
||||
@ -190,9 +190,9 @@ class CfgVehicles {
|
||||
class ACE_Box_Ammo: NATO_Box_Base {
|
||||
scope = 2;
|
||||
accuracy = 1000;
|
||||
displayName = "$STR_ACE_AmmoSupplyCrate_DisplayName";
|
||||
displayName = CSTRING(AmmoSupplyCrate_DisplayName);
|
||||
model = "\A3\weapons_F\AmmoBoxes\AmmoBox_F";
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
class TransportMagazines {
|
||||
MACRO_ADDMAGAZINE(ACE_20Rnd_762x51_Mag_SD,4);
|
||||
MACRO_ADDMAGAZINE(ACE_10Rnd_762x51_M993_AP_Mag,4);
|
||||
|
File diff suppressed because it is too large
Load Diff
14
addons/captives/ACE_Settings.hpp
Normal file
14
addons/captives/ACE_Settings.hpp
Normal file
@ -0,0 +1,14 @@
|
||||
class ACE_Settings {
|
||||
class GVAR(allowHandcuffOwnSide) {
|
||||
displayName = CSTRING(ModuleSettings_handcuffSide_name);
|
||||
description = CSTRING(ModuleSettings_handcuffSide_description);
|
||||
typeName = "BOOL";
|
||||
value = 1;
|
||||
};
|
||||
class GVAR(allowSurrender) {
|
||||
displayName = CSTRING(ModuleSettings_allowSurrender_name);
|
||||
description = CSTRING(ModuleSettings_allowSurrender_description);
|
||||
typeName = "BOOL";
|
||||
value = 1;
|
||||
};
|
||||
};
|
@ -4,7 +4,7 @@ class CfgVehicles {
|
||||
class ACE_Actions {
|
||||
|
||||
class ACE_ApplyHandcuffs {
|
||||
displayName = "$STR_ACE_Captives_SetCaptive";
|
||||
displayName = CSTRING(SetCaptive);
|
||||
selection = "righthand";
|
||||
distance = 2;
|
||||
condition = QUOTE([ARR_2(_player, _target)] call FUNC(canApplyHandcuffs));
|
||||
@ -13,7 +13,7 @@ class CfgVehicles {
|
||||
icon = QUOTE(PATHTOF(UI\handcuff_ca.paa));
|
||||
};
|
||||
class ACE_RemoveHandcuffs {
|
||||
displayName = "$STR_ACE_Captives_ReleaseCaptive";
|
||||
displayName = CSTRING(ReleaseCaptive);
|
||||
selection = "righthand";
|
||||
distance = 2;
|
||||
condition = QUOTE([ARR_2(_player, _target)] call FUNC(canRemoveHandcuffs));
|
||||
@ -24,7 +24,7 @@ class CfgVehicles {
|
||||
|
||||
class ACE_MainActions {
|
||||
class ACE_EscortCaptive {
|
||||
displayName = "$STR_ACE_Captives_EscortCaptive";
|
||||
displayName = CSTRING(EscortCaptive);
|
||||
distance = 4;
|
||||
condition = QUOTE([ARR_2(_player, _target)] call FUNC(canEscortCaptive));
|
||||
statement = QUOTE([ARR_3(_player, _target, true)] call FUNC(doEscortCaptive));
|
||||
@ -35,7 +35,7 @@ class CfgVehicles {
|
||||
hotkey = "E";
|
||||
};
|
||||
class ACE_StopEscorting {
|
||||
displayName = "$STR_ACE_Captives_StopEscorting";
|
||||
displayName = CSTRING(StopEscorting);
|
||||
distance = 4;
|
||||
condition = QUOTE([ARR_2(_player, _target)] call FUNC(canStopEscorting));
|
||||
statement = QUOTE([ARR_3(_player,_target, false)] call FUNC(doEscortCaptive));
|
||||
@ -46,7 +46,7 @@ class CfgVehicles {
|
||||
hotkey = "E";
|
||||
};
|
||||
class ACE_LoadCaptive {
|
||||
displayName = "$STR_ACE_Captives_LoadCaptive";
|
||||
displayName = CSTRING(LoadCaptive);
|
||||
distance = 4;
|
||||
condition = QUOTE([ARR_3(_player, _target, objNull)] call FUNC(canLoadCaptive));
|
||||
statement = QUOTE([ARR_3(_player, _target, objNull)] call FUNC(doLoadCaptive));
|
||||
@ -57,7 +57,7 @@ class CfgVehicles {
|
||||
hotkey = "L";
|
||||
};
|
||||
class ACE_FriskPerson {
|
||||
displayName = "$STR_ACE_Captives_FriskPerson";
|
||||
displayName = CSTRING(FriskPerson);
|
||||
distance = 2;
|
||||
condition = QUOTE([ARR_2(_player, _target)] call FUNC(canFriskPerson));
|
||||
statement = QUOTE([ARR_2(_player, _target)] call FUNC(doFriskPerson));
|
||||
@ -71,7 +71,7 @@ class CfgVehicles {
|
||||
|
||||
class ACE_SelfActions {
|
||||
class ACE_StopEscortingSelf {
|
||||
displayName = "$STR_ACE_Captives_StopEscorting";
|
||||
displayName = CSTRING(StopEscorting);
|
||||
condition = QUOTE([ARR_2(_player, objNull)] call FUNC(canStopEscorting));
|
||||
statement = QUOTE([ARR_3(_player,objNull, false)] call FUNC(doEscortCaptive));
|
||||
exceptions[] = {"isNotEscorting"};
|
||||
@ -80,20 +80,22 @@ class CfgVehicles {
|
||||
hotkey = "C";
|
||||
};
|
||||
class ACE_StartSurrenderingSelf {
|
||||
displayName = "$STR_ACE_Captives_StartSurrendering";
|
||||
displayName = CSTRING(StartSurrendering);
|
||||
condition = QUOTE([ARR_2(_player, true)] call FUNC(canSurrender));
|
||||
statement = QUOTE([ARR_2(_player, true)] call FUNC(setSurrendered));
|
||||
exceptions[] = {};
|
||||
showDisabled = 0;
|
||||
priority = 0;
|
||||
icon = QUOTE(PATHTOF(UI\Surrender_ca.paa));
|
||||
};
|
||||
class ACE_StopSurrenderingSelf {
|
||||
displayName = "$STR_ACE_Captives_StopSurrendering";
|
||||
displayName = CSTRING(StopSurrendering);
|
||||
condition = QUOTE([ARR_2(_player, false)] call FUNC(canSurrender));
|
||||
statement = QUOTE([ARR_2(_player, false)] call FUNC(setSurrendered));
|
||||
exceptions[] = {"isNotSurrendering"};
|
||||
showDisabled = 0;
|
||||
priority = 0;
|
||||
icon = QUOTE(PATHTOF(UI\Surrender_ca.paa));
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -102,7 +104,7 @@ class CfgVehicles {
|
||||
class ACE_Actions { \
|
||||
class ACE_MainActions { \
|
||||
class GVAR(LoadCaptive) { \
|
||||
displayName = "$STR_ACE_Captives_LoadCaptive"; \
|
||||
displayName = CSTRING(LoadCaptive); \
|
||||
distance = 4; \
|
||||
condition = QUOTE([ARR_3(_player, objNull, _target)] call FUNC(canLoadCaptive)); \
|
||||
statement = QUOTE([ARR_3(_player, objNull, _target)] call FUNC(doLoadCaptive)); \
|
||||
@ -110,7 +112,7 @@ class CfgVehicles {
|
||||
priority = 1.2; \
|
||||
}; \
|
||||
class GVAR(UnloadCaptive) { \
|
||||
displayName = "$STR_ACE_Captives_UnloadCaptive"; \
|
||||
displayName = CSTRING(UnloadCaptive); \
|
||||
distance = 4; \
|
||||
condition = QUOTE([ARR_2(_player, _target)] call FUNC(canUnloadCaptive)); \
|
||||
statement = QUOTE([ARR_2(_player, _target)] call FUNC(doUnloadCaptive)); \
|
||||
@ -159,10 +161,10 @@ class CfgVehicles {
|
||||
};
|
||||
|
||||
class GVAR(ModuleSurrender): Module_F {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
category = "ACE";
|
||||
displayName = "$STR_ACE_Captives_ModuleSurrender_DisplayName"; //Make Unit Surrender
|
||||
function = QUOTE(DFUNC(moduleSurrender));
|
||||
displayName = CSTRING(ModuleSurrender_DisplayName); //Make Unit Surrender
|
||||
function = QFUNC(moduleSurrender);
|
||||
scope = 2; //show in editor
|
||||
isGlobal = 1; //run global
|
||||
isTriggerActivated = 1; //Wait for triggers
|
||||
@ -170,8 +172,37 @@ class CfgVehicles {
|
||||
functionPriority = 0;
|
||||
class Arguments {};
|
||||
class ModuleDescription: ModuleDescription {
|
||||
description = "$STR_ACE_Captives_ModuleSurrender_Description"; //Sync a unit to make them surrender.<br/>Source: ace_captives
|
||||
description = CSTRING(ModuleSurrender_Description); //Sync a unit to make them surrender.<br/>Source: ace_captives
|
||||
sync[] = {"AnyAI"};
|
||||
};
|
||||
};
|
||||
|
||||
class ACE_Module: Module_F {};
|
||||
class GVAR(moduleSettings): ACE_Module {
|
||||
author = ECSTRING(common,ACETeam);
|
||||
category = "ACE";
|
||||
displayName = CSTRING(ModuleSettings_DisplayName);
|
||||
function = QFUNC(moduleSettings);
|
||||
scope = 2;
|
||||
icon = QUOTE(PATHTOF(UI\Icon_Module_settings_ca.paa));
|
||||
isGlobal = 1;
|
||||
class Arguments {
|
||||
class allowHandcuffOwnSide {
|
||||
displayName = CSTRING(ModuleSettings_handcuffSide_name);
|
||||
description = CSTRING(ModuleSettings_handcuffSide_description);
|
||||
typeName = "BOOL";
|
||||
defaultValue = 1;
|
||||
};
|
||||
class allowSurrender {
|
||||
displayName = CSTRING(ModuleSettings_allowSurrender_name);
|
||||
description = CSTRING(ModuleSettings_allowSurrender_description);
|
||||
typeName = "BOOL";
|
||||
defaultValue = 1;
|
||||
};
|
||||
};
|
||||
class ModuleDescription: ModuleDescription {
|
||||
description = CSTRING(ModuleSettings_Description);
|
||||
sync[] = {};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -3,8 +3,8 @@ class CfgWeapons {
|
||||
class InventoryItem_Base_F;
|
||||
|
||||
class ACE_CableTie: ACE_ItemCore {
|
||||
displayName = "$STR_ACE_Captives_CableTie";
|
||||
descriptionShort = "$STR_ACE_Captives_CableTieDescription";
|
||||
displayName = CSTRING(CableTie);
|
||||
descriptionShort = CSTRING(CableTieDescription);
|
||||
model = QUOTE(PATHTOF(models\ace_cabletie.p3d));
|
||||
picture = QUOTE(PATHTOF(UI\ace_cabletie_ca.paa));
|
||||
scope = 2;
|
||||
|
BIN
addons/captives/UI/Icon_Module_settings_ca.paa
Normal file
BIN
addons/captives/UI/Icon_Module_settings_ca.paa
Normal file
Binary file not shown.
BIN
addons/captives/UI/Surrender_ca.paa
Normal file
BIN
addons/captives/UI/Surrender_ca.paa
Normal file
Binary file not shown.
@ -24,6 +24,7 @@ PREP(handlePlayerChanged);
|
||||
PREP(handleRespawn);
|
||||
PREP(handleUnitInitPost);
|
||||
PREP(handleZeusDisplayChanged);
|
||||
PREP(moduleSettings);
|
||||
PREP(moduleSurrender);
|
||||
PREP(setHandcuffed);
|
||||
PREP(setSurrendered);
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
class CfgPatches {
|
||||
class ADDON {
|
||||
units[] = {QGVAR(ModuleSurrender)};
|
||||
units[] = {QGVAR(ModuleSettings), QGVAR(ModuleSurrender)};
|
||||
weapons[] = {"ACE_CableTie"};
|
||||
requiredVersion = REQUIRED_VERSION;
|
||||
requiredAddons[] = {"ACE_Interaction"};
|
||||
@ -12,6 +12,7 @@ class CfgPatches {
|
||||
};
|
||||
};
|
||||
|
||||
#include "ACE_Settings.hpp"
|
||||
#include "CfgEventHandlers.hpp"
|
||||
#include "CfgMoves.hpp"
|
||||
#include "CfgVehicles.hpp"
|
||||
|
@ -18,8 +18,9 @@
|
||||
|
||||
PARAMS_2(_unit,_target);
|
||||
|
||||
//Player has cableTie, target is alive and not already handcuffed
|
||||
//Check sides, Player has cableTie, target is alive and not already handcuffed
|
||||
|
||||
(GVAR(allowHandcuffOwnSide) || {(side _unit) != (side _target)}) &&
|
||||
("ACE_CableTie" in (items _unit)) &&
|
||||
{alive _target} &&
|
||||
{!(_target getVariable [QGVAR(isHandcuffed), false])}
|
||||
|
@ -22,7 +22,7 @@ private "_returnValue";
|
||||
|
||||
_returnValue = if (_newSurrenderState) then {
|
||||
//no weapon equiped AND not currently surrendering and
|
||||
(currentWeapon _unit == "") && {!(_unit getVariable [QGVAR(isSurrendering), false])}
|
||||
GVAR(allowSurrender) && {(currentWeapon _unit) == ""} && {!(_unit getVariable [QGVAR(isSurrendering), false])}
|
||||
} else {
|
||||
//is Surrendering
|
||||
(_unit getVariable [QGVAR(isSurrendering), false])
|
||||
|
@ -30,7 +30,7 @@ if (_state) then {
|
||||
_unit setVariable [QGVAR(escortedUnit), _target, true];
|
||||
|
||||
//Add Actionmenu to release captive
|
||||
_actionID = _unit addAction [format ["<t color='#FF0000'>%1</t>", localize "STR_ACE_Captives_StopEscorting"],
|
||||
_actionID = _unit addAction [format ["<t color='#FF0000'>%1</t>", localize LSTRING(StopEscorting)],
|
||||
{[(_this select 0), ((_this select 0) getVariable [QGVAR(escortedUnit), objNull]), false] call FUNC(doEscortCaptive);},
|
||||
nil, 20, false, true, "", QUOTE(!isNull (GETVAR(_target,QGVAR(escortedUnit),objNull)))];
|
||||
|
||||
|
@ -27,7 +27,7 @@ if (_weapon == primaryWeapon _player && {_weapon != ""}) then {
|
||||
|
||||
_listedItemClasses = [];
|
||||
|
||||
_actions = [localize "STR_ACE_Captives_FriskMenuHeader", ""] call ACE_Interaction_fnc_prepareSelectMenu;
|
||||
_actions = [localize LSTRING(FriskMenuHeader), ""] call ACE_Interaction_fnc_prepareSelectMenu;
|
||||
|
||||
_allGear = [];
|
||||
|
||||
|
19
addons/captives/functions/fnc_moduleSettings.sqf
Normal file
19
addons/captives/functions/fnc_moduleSettings.sqf
Normal file
@ -0,0 +1,19 @@
|
||||
/*
|
||||
* Author: PabstMirror
|
||||
* Module for captivity settings
|
||||
*
|
||||
* Arguments:
|
||||
* 0: The module logic <OBJECT>
|
||||
*
|
||||
* Return Value:
|
||||
* None <NIL>
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
|
||||
#include "script_component.hpp"
|
||||
|
||||
PARAMS_1(_logic);
|
||||
|
||||
[_logic, QGVAR(allowHandcuffOwnSide), "allowHandcuffOwnSide"] call EFUNC(common,readSettingFromModule);
|
||||
[_logic, QGVAR(allowSurrender), "allowSurrender"] call EFUNC(common,readSettingFromModule);
|
@ -140,7 +140,7 @@
|
||||
<Spanish>Rendirse</Spanish>
|
||||
<Portuguese>Render-se</Portuguese>
|
||||
<Czech>Vzdát se</Czech>
|
||||
<Polish>Poddaj się</Polish>
|
||||
<Polish>Kapituluj</Polish>
|
||||
<Russian>Сдаться</Russian>
|
||||
<Hungarian>Megadás</Hungarian>
|
||||
<Italian>Arrenditi</Italian>
|
||||
@ -159,15 +159,45 @@
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Captives_ModuleSurrender_DisplayName">
|
||||
<English>Make Unit Surrender</English>
|
||||
<Polish>Poddaj się!</Polish>
|
||||
<Polish>Skapituluj jednostkę</Polish>
|
||||
<Spanish>Hacer que la unidad se rinda</Spanish>
|
||||
<German>Einheit kapitulieren lassen</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Captives_ModuleSurrender_Description">
|
||||
<English>Sync a unit to make them surrender.<br />Source: ace_captives</English>
|
||||
<Polish>Zsynchronizuj z jednostką aby sprawić by się poddała<br />Źródło: ace_captives</Polish>
|
||||
<Polish>Zsynchronizuj z jednostką, aby skapitulowała.<br />Źródło: ace_captives</Polish>
|
||||
<Spanish>Sincroniza una unidad para hacer que se rinda.<br />Fuente: ace_captives</Spanish>
|
||||
<German>Einheit synchronisieren, um sie kapitulieren zu lassen.<br />Quelle: ace_captives</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Captives_ModuleSettings_DisplayName">
|
||||
<English>Captives Settings</English>
|
||||
<Polish>Ustawienia więźniów</Polish>
|
||||
<Spanish>Ajustes de prisioneros</Spanish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Captives_ModuleSettings_Description">
|
||||
<English>Controls settings for surrender and cable ties</English>
|
||||
<Polish>Moduł ten kontroluje ustawienia kapitulacji oraz opasek zaciskowych</Polish>
|
||||
<Spanish>Ajustes de control para rendición y precintos</Spanish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Captives_ModuleSettings_handcuffSide_name">
|
||||
<English>Can handcuff own side</English>
|
||||
<Polish>Skuwanie sojuszników</Polish>
|
||||
<Spanish>Se puede esposar el bando propio</Spanish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Captives_ModuleSettings_handcuffSide_description">
|
||||
<English>Can players cabletie units on their own side</English>
|
||||
<Polish>Czy gracze mogą skuwać sojuszników?</Polish>
|
||||
<Spanish>Pueden los jugadores esposar unidades en su propio bando</Spanish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Captives_ModuleSettings_allowSurrender_name">
|
||||
<English>Allow surrendering</English>
|
||||
<Polish>Pozwól kapitulować</Polish>
|
||||
<Spanish>Permitir rendición</Spanish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Captives_ModuleSettings_allowSurrender_description">
|
||||
<English>Players can surrender after holstering their weapon</English>
|
||||
<Polish>Gracze mogą skapitulować po schowaniu swojej broni do kabury</Polish>
|
||||
<Spanish>Los jugadores pueden rendirse después de enfundar su arma</Spanish>
|
||||
</Key>
|
||||
</Package>
|
||||
</Project>
|
||||
</Project>
|
75
addons/common/ACE_Settings.hpp
Normal file
75
addons/common/ACE_Settings.hpp
Normal file
@ -0,0 +1,75 @@
|
||||
class ACE_Settings {
|
||||
/*
|
||||
* class GVAR(sampleSetting) {
|
||||
* value = 1; // Value
|
||||
* typeName = "SCALAR"; // Type (SCALAR, BOOL, STRING, ARRAY, COLOR)
|
||||
* force = 0; // Force the setting?
|
||||
* isClientSettable = 1; // Does it appear on the options menu?
|
||||
*
|
||||
* // The following settings only apply when isClientSettable == 1
|
||||
* displayName = "$STR_ACE_Common_SettingName"; // Stringtable entry with the setting name
|
||||
* description = "$STR_ACE_Common_SettingDescription"; // Stringtable entry with the setting description
|
||||
*
|
||||
* // Only applies if typeName == "SCALAR";
|
||||
* values[] = {"Disabled", "Enabled", "Only Cursor", "Only On Keypress", "Only Cursor and KeyPress"}; // Stringtable entries that describe the options
|
||||
* };
|
||||
*/
|
||||
class GVAR(forceAllSettings) {
|
||||
value = 0;
|
||||
typeName = "BOOL";
|
||||
};
|
||||
class GVAR(checkPBOsAction) {
|
||||
value = 0;
|
||||
typeName = "SCALAR";
|
||||
isClientSettable = 0;
|
||||
values[] = {CSTRING(CheckPBO_Action_WarnOnce), CSTRING(CheckPBO_Action_WarnPerm), CSTRING(CheckPBO_Action_Kick)};
|
||||
};
|
||||
class GVAR(checkPBOsCheckAll) {
|
||||
value = 0;
|
||||
typeName = "BOOL";
|
||||
isClientSettable = 0;
|
||||
};
|
||||
class GVAR(checkPBOsWhitelist) {
|
||||
value = "[]";
|
||||
typeName = "STRING";
|
||||
isClientSettable = 0;
|
||||
};
|
||||
/*class GVAR(enableNumberHotkeys) {
|
||||
value = 1;
|
||||
typeName = "BOOL";
|
||||
isClientSettable = 1;
|
||||
displayName = CSTRING(EnableNumberHotkeys);
|
||||
};*/
|
||||
class GVAR(settingFeedbackIcons) {
|
||||
value = 1;
|
||||
typeName = "SCALAR";
|
||||
force = 0;
|
||||
isClientSettable = 1;
|
||||
displayName = CSTRING(SettingFeedbackIconsName);
|
||||
description = CSTRING(SettingFeedbackIconsDesc);
|
||||
values[] = {ECSTRING(optionsmenu,Hide), ECSTRING(optionsmenu,TopRightDown), ECSTRING(optionsmenu,TopRightLeft), ECSTRING(optionsmenu,TopLeftDown), ECSTRING(optionsmenu,TopLeftRight)};
|
||||
};
|
||||
class GVAR(SettingProgressBarLocation) {
|
||||
value = 0;
|
||||
typeName = "SCALAR";
|
||||
force = 0;
|
||||
isClientSettable = 1;
|
||||
displayName = CSTRING(SettingProgressbarLocationName);
|
||||
description = CSTRING(SettingProgressbarLocationDesc);
|
||||
values[] = {ECSTRING(optionsmenu,Top), ECSTRING(optionsmenu,Bottom)};
|
||||
};
|
||||
class GVAR(displayTextColor) {
|
||||
value[] = {0,0,0,0.1};
|
||||
typeName = "COLOR";
|
||||
isClientSettable = 1;
|
||||
displayName = CSTRING(SettingDisplayTextColorName);
|
||||
description = CSTRING(SettingDisplayTextColorDesc);
|
||||
};
|
||||
class GVAR(displayTextFontColor) {
|
||||
value[] = {1,1,1,1};
|
||||
typeName = "COLOR";
|
||||
isClientSettable = 1;
|
||||
displayName = CSTRING(SettingDisplayTextFontColorName);
|
||||
description = CSTRING(SettingDisplayTextFontColorDesc);
|
||||
};
|
||||
};
|
@ -2,13 +2,13 @@
|
||||
class CfgUnitInsignia {
|
||||
class ACE_insignia_logo {
|
||||
displayName = "ACE3";
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = CSTRING(ACETeam);
|
||||
texture = PATHTOF(data\Insignia_ace3logo_ca.paa);
|
||||
textureVehicle = "";
|
||||
};
|
||||
class ACE_insignia_banana {
|
||||
displayName = "ABE3";
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = CSTRING(ACETeam);
|
||||
texture = PATHTOF(data\insignia_banana_ca.paa);
|
||||
textureVehicle = "";
|
||||
};
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
class CfgVehicles {
|
||||
/*class Man;
|
||||
class CAManBase: Man {
|
||||
@ -29,43 +28,44 @@ class CfgVehicles {
|
||||
class ModuleDescription;
|
||||
};
|
||||
class ACE_Module: Module_F {};
|
||||
class ACE_ModuleCheckPBOs: ACE_Module {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
class ACE_ModuleCheckPBOs: ACE_Module {
|
||||
author = CSTRING(ACETeam);
|
||||
category = "ACE";
|
||||
displayName = "$STR_ACE_Common_CheckPBO_DisplayName";
|
||||
displayName = CSTRING(CheckPBO_DisplayName);
|
||||
function = QFUNC(moduleCheckPBOs);
|
||||
scope = 2;
|
||||
isGlobal = 1;
|
||||
icon = QUOTE(PATHTOF(UI\Icon_Module_CheckPBO_ca.paa));
|
||||
class Arguments {
|
||||
class Action {
|
||||
displayName = "$STR_ACE_Common_CheckPBO_Action_DisplayName";
|
||||
description = "$STR_ACE_Common_CheckPBO_Action_Description";
|
||||
displayName = CSTRING(CheckPBO_Action_DisplayName);
|
||||
description = CSTRING(CheckPBO_Action_Description);
|
||||
typeName = "NUMBER";
|
||||
class values {
|
||||
class WarnOnce {
|
||||
default = 1;
|
||||
name = "$STR_ACE_Common_CheckPBO_Action_WarnOnce";
|
||||
name = CSTRING(CheckPBO_Action_WarnOnce);
|
||||
value = 0;
|
||||
};
|
||||
class Warn {
|
||||
name = "$STR_ACE_Common_CheckPBO_Action_WarnPerm";
|
||||
name = CSTRING(CheckPBO_Action_WarnPerm);
|
||||
value = 1;
|
||||
};
|
||||
class Kick {
|
||||
name = "$STR_ACE_Common_CheckPBO_Action_Kick";
|
||||
name = CSTRING(CheckPBO_Action_Kick);
|
||||
value = 2;
|
||||
};
|
||||
};
|
||||
};
|
||||
class CheckAll {
|
||||
displayName = "$STR_ACE_Common_CheckPBO_CheckAll_DisplayName";
|
||||
description = "$STR_ACE_Common_CheckPBO_CheckAll_Description";
|
||||
displayName = CSTRING(CheckPBO_CheckAll_DisplayName);
|
||||
description = CSTRING(CheckPBO_CheckAll_Description);
|
||||
typeName = "BOOL";
|
||||
defaultValue = 0;
|
||||
};
|
||||
class Whitelist {
|
||||
displayName = "$STR_ACE_Common_CheckPBO_Whitelist_DisplayName";
|
||||
description = "$STR_ACE_Common_CheckPBO_Whitelist_Description";
|
||||
displayName = CSTRING(CheckPBO_Whitelist_DisplayName);
|
||||
description = CSTRING(CheckPBO_Whitelist_Description);
|
||||
typeName = "STRING";
|
||||
class values {
|
||||
default = "[]";
|
||||
@ -73,14 +73,14 @@ class CfgVehicles {
|
||||
};
|
||||
};
|
||||
class ModuleDescription: ModuleDescription {
|
||||
description = "$STR_ACE_Common_CheckPBO_Description";
|
||||
description = CSTRING(CheckPBO_Description);
|
||||
};
|
||||
};
|
||||
|
||||
class ACE_ModuleLSDVehicles: ACE_Module {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = CSTRING(ACETeam);
|
||||
category = "ACE";
|
||||
displayName = "$STR_ACE_Common_LSDVehicles_DisplayName";
|
||||
displayName = CSTRING(LSDVehicles_DisplayName);
|
||||
function = "ACE_Common_fnc_moduleLSDVehicles";
|
||||
scope = 2;
|
||||
icon = QUOTE(PATHTOF(UI\Icon_Module_LSD_ca.paa));
|
||||
@ -88,15 +88,15 @@ class CfgVehicles {
|
||||
class Arguments {
|
||||
};
|
||||
class ModuleDescription: ModuleDescription {
|
||||
description = "$STR_ACE_Common_LSDVehicles_Description";
|
||||
description = CSTRING(LSDVehicles_Description);
|
||||
sync[] = {"AnyVehicle"};
|
||||
};
|
||||
};
|
||||
|
||||
class Box_NATO_Support_F;
|
||||
class ACE_Box_Misc: Box_NATO_Support_F {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
displayName = "$STR_ACE_Common_MiscItems";
|
||||
author = CSTRING(ACETeam);
|
||||
displayName = CSTRING(MiscItems);
|
||||
transportMaxWeapons = 9001;
|
||||
transportMaxMagazines = 9001;
|
||||
transportMaxItems = 9001;
|
||||
@ -112,8 +112,8 @@ class CfgVehicles {
|
||||
class ACE_bananaItem: Item_Base_F {
|
||||
scope = 2;
|
||||
scopeCurator = 2;
|
||||
displayName = "$STR_ACE_Common_bananaDisplayName";
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
displayName = CSTRING(bananaDisplayName);
|
||||
author = CSTRING(ACETeam);
|
||||
vehicleClass = "Items";
|
||||
class TransportItems
|
||||
{
|
||||
|
@ -209,7 +209,7 @@ class ACE_RadioProtocolNoRadio: RadioProtocolBase {
|
||||
|
||||
class CfgVoice {
|
||||
class ACE_NoVoice {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = CSTRING(ACETeam);
|
||||
protocol = "ACE_RadioProtocolNoRadio";
|
||||
variants[] = {1};
|
||||
directories[] = {"",""};
|
||||
@ -217,13 +217,13 @@ class CfgVoice {
|
||||
scope = 2;
|
||||
voiceType = "";
|
||||
icon = "\a3\Ui_f\data\Map\Markers\Flags\nato_ca.paa";
|
||||
displayName = "$STR_ACE_Common_NoVoice";
|
||||
displayName = CSTRING(NoVoice);
|
||||
};
|
||||
};
|
||||
|
||||
class CfgVoiceTypes {
|
||||
class ACE_NoVoice {
|
||||
name = "$STR_ACE_Common_NoVoice";
|
||||
name = CSTRING(NoVoice);
|
||||
voices[] = {"ACE_NoVoice","ACE_NoVoice","ACE_NoVoice"};
|
||||
preview = "ACE_NoVoice";
|
||||
alternative = "";
|
||||
|
@ -30,10 +30,10 @@ class CfgWeapons {
|
||||
|
||||
class InventoryItem_Base_F;
|
||||
class ACE_Banana: ACE_ItemCore {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = CSTRING(ACETeam);
|
||||
scope = 2;
|
||||
displayName = "$STR_ACE_Common_bananaDisplayName";
|
||||
descriptionShort = "$STR_ACE_Common_bananaDescr";
|
||||
displayName = CSTRING(bananaDisplayName);
|
||||
descriptionShort = CSTRING(bananaDescr);
|
||||
model = PATHTOF(data\banana.p3d);
|
||||
picture = PATHTOF(data\icon_banana_ca.paa);
|
||||
icon = "iconObject_circle";
|
||||
|
@ -15,8 +15,12 @@ class RscInGameUI {
|
||||
class RscUnitInfoTank: RscUnitInfo {
|
||||
onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""; uiNamespace setVariable [ARR_2('ACE_dlgVehicle', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Vehicle')])] call FUNC(localEvent););
|
||||
};
|
||||
|
||||
class RscUnitInfoAirNoWeapon: RscUnitInfo {
|
||||
onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""; uiNamespace setVariable [ARR_2('ACE_dlgAircraft', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Aircraft')])] call FUNC(localEvent););
|
||||
};
|
||||
|
||||
class RscUnitInfoAir: RscUnitInfo {
|
||||
class RscUnitInfoAir: RscUnitInfoAirNoWeapon {
|
||||
onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""; uiNamespace setVariable [ARR_2('ACE_dlgAircraft', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Aircraft')])] call FUNC(localEvent););
|
||||
};
|
||||
|
||||
|
@ -248,6 +248,14 @@ if(isMultiplayer && { ACE_time > 0 || isNull player } ) then {
|
||||
}, 0, []] call cba_fnc_addPerFrameHandler;
|
||||
};
|
||||
|
||||
["SettingsInitialized", {
|
||||
[
|
||||
GVAR(checkPBOsAction),
|
||||
GVAR(checkPBOsCheckAll),
|
||||
call compile GVAR(checkPBOsWhitelist)
|
||||
] call FUNC(checkPBOs)
|
||||
}] call FUNC(addEventHandler);
|
||||
|
||||
GVAR(commonPostInited) = true;
|
||||
|
||||
// Create a pfh to wait until all postinits are ready and settings are initialized
|
||||
|
@ -57,77 +57,7 @@ class ACE_Rsc_Control_Base {
|
||||
h = 0;
|
||||
};
|
||||
|
||||
class ACE_Settings {
|
||||
/*
|
||||
*class GVAR(sampleSetting) {
|
||||
* Value
|
||||
* value = 1;
|
||||
*
|
||||
* Type (SCALAR, BOOL, STRING, ARRAY, COLOR)
|
||||
* typeName = "SCALAR";
|
||||
*
|
||||
* Force the setting?
|
||||
* force = 0;
|
||||
*
|
||||
* Does it appear on the options menu?
|
||||
* isClientSettable = 1;
|
||||
*
|
||||
* The following settings only apply when isClientSettable == 1
|
||||
* Stringtable entry with the setting name
|
||||
* displayName = "$STR_ACE_Common_SettingName";
|
||||
*
|
||||
* Stringtable entry with the setting description
|
||||
* description = "$STR_ACE_Common_SettingDescription";
|
||||
*
|
||||
* Stringtable entries that describe the options
|
||||
* Only applies if typeName == "SCALAR";
|
||||
* values[] = {"Disabled", "Enabled", "Only Cursor", "Only On Keypress", "Only Cursor and KeyPress"};
|
||||
*};
|
||||
*/
|
||||
class GVAR(forceAllSettings) {
|
||||
value = 0;
|
||||
typeName = "BOOL";
|
||||
};
|
||||
/*class GVAR(enableNumberHotkeys) {
|
||||
value = 1;
|
||||
typeName = "BOOL";
|
||||
isClientSettable = 1;
|
||||
displayName = "$STR_ACE_Common_EnableNumberHotkeys";
|
||||
};*/
|
||||
class GVAR(settingFeedbackIcons) {
|
||||
value = 1;
|
||||
typeName = "SCALAR";
|
||||
force = 0;
|
||||
isClientSettable = 1;
|
||||
displayName = "$STR_ACE_Common_SettingFeedbackIconsName";
|
||||
description = "$STR_ACE_Common_SettingFeedbackIconsDesc";
|
||||
values[] = {"$STR_ACE_Common_Hide", "$STR_ACE_Common_TopRightDown", "$STR_ACE_Common_TopRightLeft", "$STR_ACE_Common_TopLeftDown", "$STR_ACE_Common_TopLeftRight"};
|
||||
};
|
||||
class GVAR(SettingProgressBarLocation) {
|
||||
value = 0;
|
||||
typeName = "SCALAR";
|
||||
force = 0;
|
||||
isClientSettable = 1;
|
||||
displayName = "$STR_ACE_Common_SettingProgressbarLocationName";
|
||||
description = "$STR_ACE_Common_SettingProgressbarLocationDesc";
|
||||
values[] = {"$STR_ACE_Common_Top", "$STR_ACE_Common_Bottom"};
|
||||
};
|
||||
class GVAR(displayTextColor) {
|
||||
value[] = {0,0,0,0.1};
|
||||
typeName = "COLOR";
|
||||
isClientSettable = 1;
|
||||
displayName = "$STR_ACE_Common_SettingDisplayTextColorName";
|
||||
description = "$STR_ACE_Common_SettingDisplayTextColorDesc";
|
||||
};
|
||||
class GVAR(displayTextFontColor) {
|
||||
value[] = {1,1,1,1};
|
||||
typeName = "COLOR";
|
||||
isClientSettable = 1;
|
||||
displayName = "$STR_ACE_Common_SettingDisplayTextFontColorName";
|
||||
description = "$STR_ACE_Common_SettingDisplayTextFontColorDesc";
|
||||
};
|
||||
};
|
||||
|
||||
#include "ACE_Settings.hpp"
|
||||
#include "define.hpp"
|
||||
#include <ProgressScreen.hpp>
|
||||
#include <HintConfig.hpp>
|
||||
|
@ -1,38 +1,95 @@
|
||||
/*
|
||||
* Author: commy2
|
||||
*
|
||||
* Used to execute the checkPBOs module without placing the module. Don't use this together with the module.
|
||||
* Checks PBO versions and compares to the one running on server.
|
||||
*
|
||||
* Argument:
|
||||
* 0: Mode (Number)
|
||||
* Arguments:
|
||||
* 0: Mode <NUMBER>
|
||||
* 0: Warn once
|
||||
* 1: Warn permanently
|
||||
* 2: Kick
|
||||
* 1: Check all PBOs? (Boolean, optional default: "[]")
|
||||
* 2: Whitelist (String, optinal default: false)
|
||||
* 1: Check all PBOs? <BOOL> (Optional - default: "[]")
|
||||
* 2: Whitelist <STRING> (Optinal - default: false)
|
||||
*
|
||||
* Return value:
|
||||
* None.
|
||||
* None
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
private ["_logic"];
|
||||
private ["_mode", "_checkAll", "_whitelist"];
|
||||
|
||||
_this resize 3;
|
||||
_mode = _this select 0;
|
||||
_checkAll = if (count _this > 1) then {_this select 1} else {false};
|
||||
_whitelist = if (count _this > 2) then {_this select 2} else {"[]"};
|
||||
|
||||
PARAMS_3(_mode,_checkAll,_whitelist);
|
||||
_whitelist = [_whitelist, {toLower _this}] call FUNC(map);
|
||||
|
||||
if (isNil "_checkAll") then {
|
||||
_checkAll = false;
|
||||
ACE_Version_CheckAll = _checkAll;
|
||||
ACE_Version_Whitelist = _whitelist;
|
||||
|
||||
if (!isServer) then {
|
||||
[_mode, _checkAll, _whitelist] spawn {
|
||||
private ["_missingAddon", "_missingAddonServer", "_oldVersionClient", "_oldVersionServer", "_text", "_error", "_rscLayer", "_ctrlHint"];
|
||||
PARAMS_3(_mode,_checkAll,_whitelist);
|
||||
|
||||
waitUntil {
|
||||
sleep 1;
|
||||
!isNil "ACE_Version_ClientErrors"
|
||||
};
|
||||
|
||||
_missingAddon = ACE_Version_ClientErrors select 0;
|
||||
_missingAddonServer = ACE_Version_ClientErrors select 1;
|
||||
_oldVersionClient = ACE_Version_ClientErrors select 2;
|
||||
_oldVersionServer = ACE_Version_ClientErrors select 3;
|
||||
|
||||
// Display error message.
|
||||
if (_missingAddon || {_missingAddonServer} || {_oldVersionClient} || {_oldVersionServer}) then {
|
||||
_text = "[ACE] Version mismatch:<br/><br/>";
|
||||
_error = format ["ACE version mismatch: %1: ", profileName];
|
||||
|
||||
if (_missingAddon) then {
|
||||
_text = _text + "Detected missing addon on client<br/>";
|
||||
_error = _error + "Missing file(s); ";
|
||||
};
|
||||
if (_missingAddonServer) then {
|
||||
_text = _text + "Detected missing addon on server<br/>";
|
||||
_error = _error + "Additional file(s); ";
|
||||
};
|
||||
if (_oldVersionClient) then {
|
||||
_text = _text + "Detected old client version<br/>";
|
||||
_error = _error + "Older version; ";
|
||||
};
|
||||
if (_oldVersionServer) then {
|
||||
_text = _text + "Detected old server version<br/>";
|
||||
_error = _error + "Newer version; ";
|
||||
};
|
||||
|
||||
//[_error, "{systemChat _this}"] call FUNC(execRemoteFnc);
|
||||
diag_log text _error;
|
||||
|
||||
_text = composeText [lineBreak, parseText format ["<t align='center'>%1</t>", _text]];
|
||||
|
||||
_rscLayer = "ACE_RscErrorHint" call BIS_fnc_rscLayer;
|
||||
_rscLayer cutRsc ["ACE_RscErrorHint", "PLAIN", 0, true];
|
||||
|
||||
disableSerialization;
|
||||
_ctrlHint = uiNamespace getVariable "ACE_ctrlErrorHint";
|
||||
_ctrlHint ctrlSetStructuredText _text;
|
||||
|
||||
if (_mode == 0) then {
|
||||
sleep 10;
|
||||
_rscLayer cutFadeOut 0.2;
|
||||
};
|
||||
|
||||
if (_mode == 2) then {
|
||||
sleep 10;
|
||||
waitUntil {alive player};
|
||||
[player] call FUNC(adminKick);
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
if (isNil "_whitelist") then {
|
||||
_whitelist = "[]";
|
||||
if (_checkAll) then {
|
||||
0 spawn COMPILE_FILE(scripts\Version\checkVersionNumber);
|
||||
};
|
||||
|
||||
_logic = "Logic" createVehicleLocal [0,0,0];
|
||||
_logic setVariable ["Action", _mode];
|
||||
_logic setVariable ["CheckAll", _checkAll];
|
||||
_logic setVariable ["Whitelist", _whitelist];
|
||||
[_logic, [], true] call FUNC(moduleCheckPBOs);
|
||||
deleteVehicle _logic;
|
||||
|
@ -1,6 +1,5 @@
|
||||
/*
|
||||
* Author: KoffeinFlummi
|
||||
*
|
||||
* Initializes the check-PBOs module.
|
||||
*
|
||||
* Arguments:
|
||||
@ -11,92 +10,14 @@
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
PARAMS_3(_logic,_units,_activated);
|
||||
if !(isServer) exitWith {};
|
||||
|
||||
private ["_mode", "_checkAll", "_whitelist"];
|
||||
PARAMS_3(_logic,_units,_activated);
|
||||
|
||||
if !(_activated) exitWith {};
|
||||
|
||||
_mode = parseNumber (_logic getVariable "Action");
|
||||
_checkAll = _logic getVariable ["CheckAll", false];
|
||||
_whitelist = call compile (_logic getVariable ["Whitelist", "[]"]);
|
||||
[_logic, QGVAR(checkPBOsAction), "Action" ] call EFUNC(common,readSettingFromModule);
|
||||
[_logic, QGVAR(checkPBOsCheckAll), "CheckAll" ] call EFUNC(common,readSettingFromModule);
|
||||
[_logic, QGVAR(checkPBOsWhitelist), "Whitelist" ] call EFUNC(common,readSettingFromModule);
|
||||
|
||||
if (isNil "_whitelist") then {
|
||||
_whitelist = [];
|
||||
};
|
||||
|
||||
_whitelist = [_whitelist, {toLower _this}] call FUNC(map);
|
||||
|
||||
ACE_Version_CheckAll = _checkAll;
|
||||
ACE_Version_Whitelist = _whitelist;
|
||||
|
||||
if (!isServer) then {
|
||||
[_mode, _checkAll, _whitelist] spawn {
|
||||
private ["_mode", "_checkAll", "_whitelist", "_missingAddon", "_missingAddonServer", "_oldVersionClient", "_oldVersionServer", "_text", "_error", "_rscLayer", "_ctrlHint"];
|
||||
_mode = _this select 0;
|
||||
_checkAll = _this select 1;
|
||||
_whitelist = _this select 2;
|
||||
|
||||
waitUntil {
|
||||
sleep 1;
|
||||
!isNil "ACE_Version_ClientErrors"
|
||||
};
|
||||
|
||||
_missingAddon = ACE_Version_ClientErrors select 0;
|
||||
_missingAddonServer = ACE_Version_ClientErrors select 1;
|
||||
_oldVersionClient = ACE_Version_ClientErrors select 2;
|
||||
_oldVersionServer = ACE_Version_ClientErrors select 3;
|
||||
|
||||
// Display error message.
|
||||
if (_missingAddon || {_missingAddonServer} || {_oldVersionClient} || {_oldVersionServer}) then {
|
||||
_text = "[ACE] Version mismatch:<br/><br/>";
|
||||
_error = format ["ACE version mismatch: %1: ", profileName];
|
||||
|
||||
if (_missingAddon) then {
|
||||
_text = _text + "Detected missing addon on client<br/>";
|
||||
_error = _error + "Missing file(s); ";
|
||||
};
|
||||
if (_missingAddonServer) then {
|
||||
_text = _text + "Detected missing addon on server<br/>";
|
||||
_error = _error + "Additional file(s); ";
|
||||
};
|
||||
if (_oldVersionClient) then {
|
||||
_text = _text + "Detected old client version<br/>";
|
||||
_error = _error + "Older version; ";
|
||||
};
|
||||
if (_oldVersionServer) then {
|
||||
_text = _text + "Detected old server version<br/>";
|
||||
_error = _error + "Newer version; ";
|
||||
};
|
||||
|
||||
//[_error, "{systemChat _this}"] call FUNC(execRemoteFnc);
|
||||
diag_log text _error;
|
||||
|
||||
_text = composeText [lineBreak, parseText format ["<t align='center'>%1</t>", _text]];
|
||||
|
||||
_rscLayer = "ACE_RscErrorHint" call BIS_fnc_rscLayer;
|
||||
_rscLayer cutRsc ["ACE_RscErrorHint", "PLAIN", 0, true];
|
||||
|
||||
disableSerialization;
|
||||
_ctrlHint = uiNamespace getVariable "ACE_ctrlErrorHint";
|
||||
_ctrlHint ctrlSetStructuredText _text;
|
||||
|
||||
if (_mode == 0) then {
|
||||
sleep 10;
|
||||
_rscLayer cutFadeOut 0.2;
|
||||
};
|
||||
|
||||
if (_mode == 2) then {
|
||||
sleep 10;
|
||||
waitUntil {alive player};
|
||||
[player] call FUNC(adminKick);
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
diag_log text format ["[ACE]: Check-PBOs Module Initialized. Mode: %1.", _mode];
|
||||
|
||||
if (_checkAll) then {
|
||||
0 spawn COMPILE_FILE(scripts\Version\checkVersionNumber);
|
||||
};
|
||||
diag_log text format ["[ACE]: Check-PBOs Module Initialized. Mode: %1.", GVAR(checkPBOsAction)];
|
||||
|
@ -4,7 +4,7 @@ class CfgVehicles {
|
||||
class ACE_Actions {
|
||||
class ACE_MainActions {
|
||||
class ACE_DisarmInventory {
|
||||
displayName = "$STR_ACE_Disarming_OpenInventory";
|
||||
displayName = CSTRING(OpenInventory);
|
||||
distance = 3.5;
|
||||
condition = QUOTE([ARR_2(_player,_target)] call FUNC(canPlayerDisarmUnit));
|
||||
statement = QUOTE([ARR_2(_player,_target)] call FUNC(openDisarmDialog));
|
||||
|
@ -1,10 +1,10 @@
|
||||
class CfgMagazines {
|
||||
class NLAW_F;
|
||||
class ACE_PreloadedMissileDummy: NLAW_F { // The dummy magazine
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
scope = 1;
|
||||
scopeArsenal = 1;
|
||||
displayName = "$STR_ACE_Disposable_PreloadedMissileDummy";
|
||||
displayName = CSTRING(PreloadedMissileDummy);
|
||||
picture = PATHTOEF(common,UI\blank_CO.paa);
|
||||
weaponPoolAvailable = 0;
|
||||
mass = 0;
|
||||
@ -13,9 +13,9 @@ class CfgMagazines {
|
||||
count = 0;
|
||||
};
|
||||
class ACE_UsedTube_F: NLAW_F {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
displayName = "$STR_ACE_Disposable_UsedTube";
|
||||
descriptionShort = "$STR_ACE_Disposable_UsedTubeDescription";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
displayName = CSTRING(UsedTube);
|
||||
descriptionShort = CSTRING(UsedTubeDescription);
|
||||
displayNameShort = "-";
|
||||
count = 0;
|
||||
weaponPoolAvailable = 0;
|
||||
|
@ -7,9 +7,9 @@ class CfgWeapons {
|
||||
class ACE_launch_NLAW_Used_F: launch_NLAW_F { // the used tube should be a sub class of the disposable launcher
|
||||
scope = 1;
|
||||
ACE_isUsedLauncher = 1;
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
displayName = "$STR_ACE_Disposable_UsedTube";
|
||||
descriptionShort = "$STR_ACE_Disposable_UsedTubeDescription";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
displayName = CSTRING(UsedTube);
|
||||
descriptionShort = CSTRING(UsedTubeDescription);
|
||||
magazines[] = {"ACE_FiredMissileDummy"}; // This will disable the used launcher class from being fired again.
|
||||
//picture = ""; @todo
|
||||
//model = ""; @todo
|
||||
|
@ -58,7 +58,7 @@ if (_actionID != -1) then {
|
||||
};
|
||||
|
||||
_actionID = _unit addAction [
|
||||
format ["<t color='#FF0000'>%1</t>", localize "STR_ACE_Dragging_Drop"],
|
||||
format ["<t color='#FF0000'>%1</t>", localize LSTRING(Drop)],
|
||||
QUOTE([ARR_2(_this select 0, (_this select 0) getVariable [ARR_2(QUOTE(QGVAR(carriedObject)),objNull)])] call FUNC(dropObject_carry)),
|
||||
nil,
|
||||
20,
|
||||
|
@ -49,7 +49,7 @@ if (_actionID != -1) then {
|
||||
};
|
||||
|
||||
_actionID = _unit addAction [
|
||||
format ["<t color='#FF0000'>%1</t>", localize "STR_ACE_Dragging_Drop"],
|
||||
format ["<t color='#FF0000'>%1</t>", localize LSTRING(Drop)],
|
||||
QUOTE([ARR_2(_this select 0, (_this select 0) getVariable [ARR_2(QUOTE(QGVAR(draggedObject)),objNull)])] call FUNC(dropObject)),
|
||||
nil,
|
||||
20,
|
||||
|
@ -49,8 +49,8 @@ if (_type in _initializedClasses) exitWith {};
|
||||
_initializedClasses pushBack _type;
|
||||
GVAR(initializedClasses_carry) = _initializedClasses;
|
||||
|
||||
_carryAction = [QGVAR(carry), localize "STR_ACE_Dragging_Carry", "", {[_player, _target] call FUNC(startCarry)}, {[_player, _target] call FUNC(canCarry)}] call EFUNC(interact_menu,createAction);
|
||||
_dropAction = [QGVAR(drop_carry), localize "STR_ACE_Dragging_Drop", "", {[_player, _target] call FUNC(dropObject_carry)}, {[_player, _target] call FUNC(canDrop_carry)}] call EFUNC(interact_menu,createAction);
|
||||
_carryAction = [QGVAR(carry), localize LSTRING(Carry), "", {[_player, _target] call FUNC(startCarry)}, {[_player, _target] call FUNC(canCarry)}] call EFUNC(interact_menu,createAction);
|
||||
_dropAction = [QGVAR(drop_carry), localize LSTRING(Drop), "", {[_player, _target] call FUNC(dropObject_carry)}, {[_player, _target] call FUNC(canDrop_carry)}] call EFUNC(interact_menu,createAction);
|
||||
|
||||
[_type, 0, ["ACE_MainActions"], _carryAction] call EFUNC(interact_menu,addActionToClass);
|
||||
[_type, 0, [], _dropAction] call EFUNC(interact_menu,addActionToClass);
|
||||
|
@ -49,8 +49,8 @@ if (_type in _initializedClasses) exitWith {};
|
||||
_initializedClasses pushBack _type;
|
||||
GVAR(initializedClasses) = _initializedClasses;
|
||||
|
||||
_dragAction = [QGVAR(drag), localize "STR_ACE_Dragging_Drag", "", {[_player, _target] call FUNC(startDrag)}, {[_player, _target] call FUNC(canDrag)}] call EFUNC(interact_menu,createAction);
|
||||
_dropAction = [QGVAR(drop), localize "STR_ACE_Dragging_Drop", "", {[_player, _target] call FUNC(dropObject)}, {[_player, _target] call FUNC(canDrop)}] call EFUNC(interact_menu,createAction);
|
||||
_dragAction = [QGVAR(drag), localize LSTRING(Drag), "", {[_player, _target] call FUNC(startDrag)}, {[_player, _target] call FUNC(canDrag)}] call EFUNC(interact_menu,createAction);
|
||||
_dropAction = [QGVAR(drop), localize LSTRING(Drop), "", {[_player, _target] call FUNC(dropObject)}, {[_player, _target] call FUNC(canDrop)}] call EFUNC(interact_menu,createAction);
|
||||
|
||||
[_type, 0, ["ACE_MainActions"], _dragAction] call EFUNC(interact_menu,addActionToClass);
|
||||
[_type, 0, [], _dropAction] call EFUNC(interact_menu,addActionToClass);
|
||||
|
@ -22,7 +22,7 @@ private "_weight";
|
||||
_weight = [_target] call FUNC(getWeight);
|
||||
|
||||
if (_weight > GETMVAR(ACE_maxWeightCarry,1E11)) exitWith {
|
||||
[localize "STR_ACE_Dragging_UnableToDrag"] call EFUNC(common,displayTextStructured);
|
||||
[localize LSTRING(UnableToDrag)] call EFUNC(common,displayTextStructured);
|
||||
};
|
||||
|
||||
private "_timer";
|
||||
|
@ -22,7 +22,7 @@ private "_weight";
|
||||
_weight = [_target] call FUNC(getWeight);
|
||||
|
||||
if (_weight > GETMVAR(ACE_maxWeightDrag,1E11)) exitWith {
|
||||
[localize "STR_ACE_Dragging_UnableToDrag"] call EFUNC(common,displayTextStructured);
|
||||
[localize LSTRING(UnableToDrag)] call EFUNC(common,displayTextStructured);
|
||||
};
|
||||
|
||||
// add a primary weapon if the unit has none.
|
||||
|
@ -9,45 +9,45 @@ onSetup parameters:
|
||||
0: STRING - Magazine Classname
|
||||
*/
|
||||
class Command {
|
||||
displayName = $STR_ACE_Explosives_clacker_displayName;
|
||||
displayName = CSTRING(clacker_displayName);
|
||||
picture = PATHTOF(Data\UI\Clacker.paa);
|
||||
onPlace = QUOTE(_this call FUNC(AddClacker);false);
|
||||
requires[] = {"ACE_Clacker"};
|
||||
};
|
||||
class MK16_Transmitter:Command {
|
||||
displayName = $STR_ACE_Explosives_MK16_displayName;
|
||||
displayName = CSTRING(MK16_displayName);
|
||||
picture = PATHTOF(Data\UI\MK16_Reciever_ca.paa);
|
||||
requires[] = {"ACE_M26_Clacker"};
|
||||
};
|
||||
class DeadManSwitch:Command {
|
||||
displayName = $STR_ACE_Explosives_DeadManSwitch_displayName;
|
||||
displayName = CSTRING(DeadManSwitch_displayName);
|
||||
picture = PATHTOF(Data\UI\DeadmanSwitch.paa);
|
||||
requires[] = {"ACE_DeadManSwitch"};
|
||||
};
|
||||
class Cellphone:Command {
|
||||
displayName = $STR_ACE_Explosives_cellphone_displayName;
|
||||
displayName = CSTRING(cellphone_displayName);
|
||||
picture = PATHTOF(Data\UI\Cellphone_UI.paa);
|
||||
onPlace = QUOTE(_this call FUNC(addCellphoneIED);false);
|
||||
requires[] = {"ACE_Cellphone"};
|
||||
};
|
||||
class PressurePlate {
|
||||
displayName = $STR_ACE_Explosives_PressurePlate;
|
||||
displayName = CSTRING(PressurePlate);
|
||||
picture = PATHTOF(Data\UI\PressurePlate.paa);
|
||||
onPlace = "_dist=GetNumber(ConfigFile >> 'CfgMagazines' >> (_this select 2) >> 'ACE_Triggers' >> 'PressurePlate' >> 'digDistance');_ex=_this select 1;_ex setPosATL ((getPosATL _ex) vectorDiff ((VectorUp _ex) vectorCrossProduct [0,0,_dist]));false";
|
||||
};
|
||||
class IRSensor {
|
||||
displayName = $STR_ACE_Explosives_IRSensor;
|
||||
displayName = CSTRING(IRSensor);
|
||||
picture = PATHTOF(Data\UI\PressurePlate.paa);
|
||||
onPlace = "false";
|
||||
};
|
||||
class Timer {
|
||||
displayName = $STR_ACE_Explosives_timerName;
|
||||
displayName = CSTRING(timerName);
|
||||
picture = PATHTOF(data\UI\Timer.paa);
|
||||
onPlace = QUOTE([ARR_2(_this select 1,(_this select 3) select 0)] call FUNC(startTimer);false);
|
||||
onSetup = QUOTE(_this call FUNC(openTimerSetUI);true);
|
||||
};
|
||||
class Tripwire {
|
||||
displayName = $STR_ACE_Explosives_TripWire;
|
||||
displayName = CSTRING(TripWire);
|
||||
picture = PATHTOF(Data\UI\Tripwire.paa);
|
||||
onPlace = "false";
|
||||
};
|
||||
|
@ -78,13 +78,13 @@ class CfgMagazines {
|
||||
class ACE_Triggers {
|
||||
SupportedTriggers[] = {"IRSensor","PressurePlate","Timer","Command"};
|
||||
class PressurePlate{
|
||||
displayName = $STR_ACE_Explosives_SLAME_Magnetic;
|
||||
displayName = CSTRING(SLAME_Magnetic);
|
||||
digDistance = 0;
|
||||
ammo = "SLAMDirectionalMine_Magnetic_Ammo";
|
||||
pitch = 90;
|
||||
};
|
||||
class IRSensor{
|
||||
displayName = $STR_ACE_Explosives_SLAME_IRSensor;
|
||||
displayName = CSTRING(SLAME_IRSensor);
|
||||
};
|
||||
class Timer {
|
||||
ammo = "SLAMDirectionalMine_Timer_Ammo";
|
||||
@ -106,7 +106,7 @@ class CfgMagazines {
|
||||
class DeadmanSwitch:Command {};
|
||||
class Cellphone:Command {};
|
||||
class PressurePlate {
|
||||
displayName = $STR_ACE_Explosives_SLAME_Magnetic;
|
||||
displayName = CSTRING(SLAME_Magnetic);
|
||||
digDistance = 0;
|
||||
ammo = "IEDUrbanBig_Remote_Ammo";
|
||||
pitch = 0;
|
||||
@ -131,7 +131,7 @@ class CfgMagazines {
|
||||
class DeadmanSwitch: Command {};
|
||||
class Cellphone: Command {};
|
||||
class PressurePlate {
|
||||
displayName = $STR_ACE_Explosives_SLAME_Magnetic;
|
||||
displayName = CSTRING(SLAME_Magnetic);
|
||||
digDistance = 0;
|
||||
ammo = "IEDUrbanSmall_Remote_Ammo";
|
||||
pitch = 0;
|
||||
|
@ -1,27 +1,27 @@
|
||||
class ACE_Module;
|
||||
class ACE_ModuleExplosive: ACE_Module {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
category = "ACE";
|
||||
displayName = "$STR_ACE_Explosive_Module_DisplayName";
|
||||
displayName = CSTRING(Module_DisplayName);
|
||||
function = QUOTE(FUNC(module));
|
||||
scope = 2;
|
||||
isGlobal = 1;
|
||||
icon = PATHTOF(UI\Icon_Module_Explosives_ca.paa);
|
||||
class Arguments {
|
||||
class RequireSpecialist {
|
||||
displayName = "$STR_ACE_Explosive_RequireSpecialist_DisplayName";
|
||||
description = "$STR_ACE_Explosive_RequireSpecialist_Description";
|
||||
displayName = CSTRING(RequireSpecialist_DisplayName);
|
||||
description = CSTRING(RequireSpecialist_Description);
|
||||
typeName = "BOOL";
|
||||
defaultValue = 0;
|
||||
};
|
||||
class PunishNonSpecialists {
|
||||
displayName = "$STR_ACE_Explosive_PunishNonSpecialists_DisplayName";
|
||||
description = "$STR_ACE_Explosive_PunishNonSpecialists_Description";
|
||||
displayName = CSTRING(PunishNonSpecialists_DisplayName);
|
||||
description = CSTRING(PunishNonSpecialists_Description);
|
||||
typeName = "BOOL";
|
||||
defaultValue = 1;
|
||||
};
|
||||
};
|
||||
class ModuleDescription {
|
||||
description = "$STR_ACE_Explosive_Module_Description";
|
||||
description = CSTRING(Module_Description);
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -3,7 +3,7 @@ class CfgVehicles {
|
||||
class CAManBase: Man {
|
||||
class ACE_SelfActions {
|
||||
class ACE_Explosives {
|
||||
displayName = $STR_ACE_Explosives_Menu;
|
||||
displayName = CSTRING(Menu);
|
||||
condition = QUOTE(!(_player getVariable [ARR_2('ace_explosives_PlantingExplosive',false)]));
|
||||
statement = "";
|
||||
exceptions[] = {"isNotSwimming", "isNotInside"};
|
||||
@ -13,7 +13,7 @@ class CfgVehicles {
|
||||
hotkey = "X";
|
||||
//Sub-menu items
|
||||
class ACE_Detonate {
|
||||
displayName = $STR_ACE_Explosives_Detonate;
|
||||
displayName = CSTRING(Detonate);
|
||||
condition = QUOTE([_player] call FUNC(canDetonate));
|
||||
statement = "";
|
||||
insertChildren = QUOTE([_player] call FUNC(addTransmitterActions););
|
||||
@ -24,7 +24,7 @@ class CfgVehicles {
|
||||
hotkey = "T";
|
||||
};
|
||||
class ACE_Place {
|
||||
displayName = $STR_ACE_Explosives_Place;
|
||||
displayName = CSTRING(Place);
|
||||
condition = QUOTE((vehicle _player == _player) and {[_player] call FUNC(hasExplosives)});
|
||||
statement = "";
|
||||
insertChildren = QUOTE([_player] call FUNC(addExplosiveActions););
|
||||
@ -35,7 +35,7 @@ class CfgVehicles {
|
||||
hotkey = "P";
|
||||
};
|
||||
class ACE_Cellphone {
|
||||
displayName = $STR_ACE_Explosives_cellphone_displayName;
|
||||
displayName = CSTRING(cellphone_displayName);
|
||||
condition = "('ACE_Cellphone' in (items ace_player))";
|
||||
statement = "closeDialog 0;createDialog 'Rsc_ACE_PhoneInterface';";
|
||||
exceptions[] = {"isNotSwimming", "isNotInside"};
|
||||
@ -65,7 +65,7 @@ class CfgVehicles {
|
||||
distance = 5;
|
||||
condition = "true";
|
||||
class ACE_Defuse {
|
||||
displayName = $STR_ACE_Explosives_Defuse;
|
||||
displayName = CSTRING(Defuse);
|
||||
condition = QUOTE([ARR_2(_player,_target)] call FUNC(canDefuse));
|
||||
statement = QUOTE([ARR_2(_player,_target)] call FUNC(startDefuse););
|
||||
exceptions[] = {"isNotSwimming"};
|
||||
@ -97,7 +97,7 @@ class CfgVehicles {
|
||||
condition = "true";
|
||||
class ACE_SetTrigger {
|
||||
selection = "";
|
||||
displayName = "$STR_ACE_Explosives_TriggerMenu";
|
||||
displayName = CSTRING(TriggerMenu);
|
||||
distance = 4;
|
||||
condition = "true";
|
||||
statement = "";
|
||||
@ -109,7 +109,7 @@ class CfgVehicles {
|
||||
};
|
||||
class ACE_PickUp {
|
||||
selection = "";
|
||||
displayName = "$STR_ACE_Explosives_Pickup";
|
||||
displayName = CSTRING(Pickup);
|
||||
distance = 4;
|
||||
condition = "true";
|
||||
statement = QUOTE([ARR_2(_player,_target getVariable QUOTE(QGVAR(class)))] call EFUNC(common,addToInventory);deleteVehicle _target;);
|
||||
|
@ -9,8 +9,8 @@ class CfgWeapons {
|
||||
|
||||
class ACE_Clacker: ACE_ItemCore {
|
||||
scope = 2;
|
||||
displayName = $STR_ACE_Explosives_clacker_displayName;
|
||||
descriptionShort = $STR_ACE_Explosives_clacker_description;
|
||||
displayName = CSTRING(clacker_displayName);
|
||||
descriptionShort = CSTRING(clacker_description);
|
||||
picture = PATHTOF(Data\UI\Clacker.paa);
|
||||
model = "\A3\weapons_F\ammo\mag_univ.p3d";
|
||||
ACE_Range = 250;
|
||||
@ -22,14 +22,14 @@ class CfgWeapons {
|
||||
};
|
||||
};
|
||||
class ACE_M26_Clacker: ACE_Clacker {
|
||||
displayName = $STR_ACE_Explosives_M26_displayName;
|
||||
displayName = CSTRING(M26_displayName);
|
||||
picture = PATHTOF(Data\UI\MK26_Transmitter_ca.paa);
|
||||
ACE_Range = 5000;
|
||||
};
|
||||
class ACE_DefusalKit: ACE_ItemCore {
|
||||
scope = 2;
|
||||
displayName = $STR_ACE_Explosives_DefusalKit_displayName;
|
||||
descriptionShort = $STR_ACE_Explosives_DefusalKit_description;
|
||||
displayName = CSTRING(DefusalKit_displayName);
|
||||
descriptionShort = CSTRING(DefusalKit_description);
|
||||
picture = PATHTOF(Data\UI\Pliers.paa);
|
||||
model = "\A3\Structures_F\Items\Tools\Pliers_F.p3d";
|
||||
|
||||
@ -40,8 +40,8 @@ class CfgWeapons {
|
||||
};
|
||||
class ACE_DeadManSwitch: ACE_ItemCore {
|
||||
scope = 2;
|
||||
displayName = $STR_ACE_Explosives_DeadManSwitch_displayName;
|
||||
descriptionShort = $STR_ACE_Explosives_DeadManSwitch_description;
|
||||
displayName = CSTRING(DeadManSwitch_displayName);
|
||||
descriptionShort = CSTRING(DeadManSwitch_description);
|
||||
picture = PATHTOF(Data\UI\DeadmanSwitch.paa);
|
||||
model = "\A3\weapons_F\ammo\mag_univ.p3d";
|
||||
ACE_Range = 100;
|
||||
@ -54,8 +54,8 @@ class CfgWeapons {
|
||||
};
|
||||
class ACE_Cellphone: ACE_ItemCore {
|
||||
scope = 2;
|
||||
displayName = $STR_ACE_Explosives_cellphone_displayName;
|
||||
descriptionShort = $STR_ACE_Explosives_cellphone_description;
|
||||
displayName = CSTRING(cellphone_displayName);
|
||||
descriptionShort = CSTRING(cellphone_description);
|
||||
picture = PATHTOF(Data\UI\Cellphone_UI.paa);
|
||||
model = "\A3\weapons_F\ammo\mag_univ.p3d";
|
||||
ACE_Range = 15000;
|
||||
|
@ -89,7 +89,7 @@ class RscACE_SelectTimeUI {
|
||||
h = 0.1;
|
||||
y = 0.09;
|
||||
style = ST_CENTER;
|
||||
text = $STR_ACE_Explosives_Cancel;
|
||||
text = CSTRING(Cancel);
|
||||
action = "closeDialog 0;";
|
||||
};
|
||||
class approveBtn: RscButton {
|
||||
@ -99,7 +99,7 @@ class RscACE_SelectTimeUI {
|
||||
h = 0.1;
|
||||
w = 0.15;
|
||||
style = ST_CENTER;
|
||||
text = $STR_ACE_Explosives_SetTime;
|
||||
text = CSTRING(SetTime);
|
||||
action = "closeDialog 0;";
|
||||
};
|
||||
};
|
||||
@ -215,7 +215,7 @@ class Rsc_ACE_PhoneInterface {
|
||||
y = 0.676 * safezoneH + safezoneY;
|
||||
w = 0.0309375 * safezoneW;
|
||||
h = 0.033 * safezoneH;
|
||||
tooltip = "$STR_ACE_Explosives_Phone_AddToSpeedDial";
|
||||
tooltip = CSTRING(Phone_AddToSpeedDial);
|
||||
action = QUOTE([ARR_2(ctrlText 1401,ctrlText 1400)] call FUNC(addToSpeedDial););
|
||||
};
|
||||
class clear: Rsc_ACE_HiddenButton {
|
||||
@ -224,7 +224,7 @@ class Rsc_ACE_PhoneInterface {
|
||||
y = 0.445 * safezoneH + safezoneY;
|
||||
w = 0.020625 * safezoneW;
|
||||
h = 0.033 * safezoneH;
|
||||
tooltip = "$STR_ACE_Explosives_Clear";
|
||||
tooltip = CSTRING(Clear);
|
||||
action = QUOTE(ctrlSetText [ARR_2(1400,'')];[ctrlText 1401] call FUNC(removeFromSpeedDial);ctrlSetText [ARR_2(1401,'')];);
|
||||
};
|
||||
class dial: Rsc_ACE_HiddenButton {
|
||||
@ -233,7 +233,7 @@ class Rsc_ACE_PhoneInterface {
|
||||
y = 0.445 * safezoneH + safezoneY;
|
||||
w = 0.04125 * safezoneW;
|
||||
h = 0.033 * safezoneH;
|
||||
tooltip = "$STR_ACE_Explosives_Phone_Dial";
|
||||
tooltip = CSTRING(Phone_Dial);
|
||||
action = QUOTE([ARR_2(ace_player,ctrlText 1400)] call FUNC(dialPhone););
|
||||
};
|
||||
class up: Rsc_ACE_HiddenButton {
|
||||
@ -242,7 +242,7 @@ class Rsc_ACE_PhoneInterface {
|
||||
y = 0.445 * safezoneH + safezoneY;
|
||||
w = 0.020625 * safezoneW;
|
||||
h = 0.033 * safezoneH;
|
||||
tooltip = "$STR_ACE_Explosives_Phone_Up";
|
||||
tooltip = CSTRING(Phone_Up);
|
||||
action = QUOTE([true] call FUNC(setSpeedDial));
|
||||
};
|
||||
class down: Rsc_ACE_HiddenButton {
|
||||
@ -251,7 +251,7 @@ class Rsc_ACE_PhoneInterface {
|
||||
y = 0.485 * safezoneH + safezoneY;
|
||||
w = 0.020625 * safezoneW;
|
||||
h = 0.033 * safezoneH;
|
||||
tooltip = "$STR_ACE_Explosives_Phone_Down";
|
||||
tooltip = CSTRING(Phone_Down);
|
||||
action = QUOTE([false] call FUNC(setSpeedDial));
|
||||
};
|
||||
class speedDial_Text: RscText {
|
||||
|
@ -37,8 +37,8 @@ _config = ConfigFile >> "CfgMagazines" >> _magazineClass >> "ACE_Triggers" >> co
|
||||
_clacker = _unit getVariable [QGVAR(Clackers), []];
|
||||
GVAR(PlacedCount) = GVAR(PlacedCount) + 1;
|
||||
|
||||
_clacker pushBack [_explosive, getNumber(_config >> "FuseTime"), format [localize "STR_ACE_Explosives_DetonateCode",
|
||||
_clacker pushBack [_explosive, getNumber(_config >> "FuseTime"), format [localize LSTRING(DetonateCode),
|
||||
GVAR(PlacedCount)], _magazineClass, configName ((_this select 3) select (count (_this select 3) - 1))];
|
||||
|
||||
_unit setVariable [QGVAR(Clackers), _clacker, true];
|
||||
_unit sideChat format [localize "STR_ACE_Explosives_DetonateCode", GVAR(PlacedCount)];
|
||||
_unit sideChat format [localize LSTRING(DetonateCode), GVAR(PlacedCount)];
|
||||
|
@ -38,4 +38,4 @@ DFUNC(SetTimer) = {
|
||||
buttonSetAction [8860, QUOTE(call DFUNC(SetTimer);)];
|
||||
buttonSetAction [8855, QUOTE(closeDialog 0;)];
|
||||
|
||||
ctrlSetText [8870, format[localize "STR_ACE_Explosives_TimerMenu",0, 30]];
|
||||
ctrlSetText [8870, format[localize LSTRING(TimerMenu),0, 30]];
|
||||
|
@ -41,8 +41,8 @@ GVAR(TweakedAngle) = 180;
|
||||
};
|
||||
}] call CALLSTACK(BIS_fnc_addStackedEventHandler);
|
||||
|
||||
[localize "STR_ACE_Explosives_PlaceAction", localize "STR_ACE_Explosives_CancelAction",
|
||||
localize "STR_ACE_Explosives_ScrollAction"] call EFUNC(interaction,showMouseHint);
|
||||
[localize LSTRING(PlaceAction), localize LSTRING(CancelAction),
|
||||
localize LSTRING(ScrollAction)] call EFUNC(interaction,showMouseHint);
|
||||
_unit setVariable [QGVAR(Place), [_unit, "DefaultAction",
|
||||
{GVAR(pfeh_running) AND !isNull (GVAR(Setup))}, {call FUNC(place_Approve);}] call EFUNC(common,AddActionEventHandler)];
|
||||
_unit setVariable [QGVAR(Cancel), [_unit, "zoomtemp",
|
||||
|
@ -59,6 +59,6 @@ if (ACE_player != _unit) then {
|
||||
_isEOD = [_unit] call EFUNC(Common,isEOD);
|
||||
_defuseTime = [_isEOD, _target] call _fnc_DefuseTime;
|
||||
if (_isEOD || {!GVAR(RequireSpecialist)}) then {
|
||||
[_defuseTime, [_unit,_target], {(_this select 0) call FUNC(defuseExplosive)}, {}, (localize "STR_ACE_Explosives_DefusingExplosive")] call EFUNC(common,progressBar);
|
||||
[_defuseTime, [_unit,_target], {(_this select 0) call FUNC(defuseExplosive)}, {}, (localize LSTRING(DefusingExplosive))] call EFUNC(common,progressBar);
|
||||
};
|
||||
};
|
||||
|
@ -505,37 +505,37 @@
|
||||
<Italian>Raccogli</Italian>
|
||||
<Portuguese>Pegar</Portuguese>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Explosive_Module_DisplayName">
|
||||
<Key ID="STR_ACE_Explosives_Module_DisplayName">
|
||||
<English>Explosive System</English>
|
||||
<Polish>System ładunków wybuchowych</Polish>
|
||||
<Spanish>Sistema de explosivos</Spanish>
|
||||
<German>Sprengstoffsystem</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Explosive_RequireSpecialist_DisplayName">
|
||||
<Key ID="STR_ACE_Explosives_RequireSpecialist_DisplayName">
|
||||
<English>Require specialists?</English>
|
||||
<Polish>Wymagaj specjalistów?</Polish>
|
||||
<Spanish>¿Requiere especialista?</Spanish>
|
||||
<German>Benötigt Sprengstoffexperten?</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Explosive_RequireSpecialist_Description">
|
||||
<Key ID="STR_ACE_Explosives_RequireSpecialist_Description">
|
||||
<English>Require explosive specialists to disable explosives? Default: No</English>
|
||||
<Polish>Wymagać saperów do rozbrajania ładunków wybuchowych? Domyślnie: Nie</Polish>
|
||||
<Spanish>Requiere especialista en explosivos para desactivar explosivos?. Por defecto: No</Spanish>
|
||||
<German>Benötige Sprengstoffexperte um Sprengladungen zu entschärfen? Standard: Nein</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Explosive_PunishNonSpecialists_DisplayName">
|
||||
<Key ID="STR_ACE_Explosives_PunishNonSpecialists_DisplayName">
|
||||
<English>Punish non-specialists?</English>
|
||||
<Polish>Karaj nie-specjalistów?</Polish>
|
||||
<Spanish>¿Penalizar a los no especialistas?</Spanish>
|
||||
<German>Bestrafe Nicht-Sprengstoffexperten?</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Explosive_PunishNonSpecialists_Description">
|
||||
<Key ID="STR_ACE_Explosives_PunishNonSpecialists_Description">
|
||||
<English>Increase the time it takes to complete actions for non-specialists? Default: Yes</English>
|
||||
<Polish>Zwiększyć ilość wymaganego czasu do ukończenia akcji dla nie-specjalistów? Domyślnie: Tak</Polish>
|
||||
<Spanish>Aumenta el tiempo que lleva completar acciones para los no especialstas?. Por defecto: Si</Spanish>
|
||||
<German>Entschärfungszeit für Nicht-Sprengstoffexperten erhöhen? Standard: Ja</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Explosive_Module_Description">
|
||||
<Key ID="STR_ACE_Explosives_Module_Description">
|
||||
<English></English>
|
||||
<Polish>Moduł ten pozwala dostosować opcje związane z ładunkami wybuchowymi, ich podkładaniem oraz rozbrajaniem.</Polish>
|
||||
<German>Dieses Modul erlaubt die Einstellungen für Sprengstoffe zu verändern.</German>
|
||||
|
@ -25,7 +25,7 @@ class CfgVehicles {
|
||||
class Car: LandVehicle {
|
||||
class ACE_SelfActions {
|
||||
class ResetFCS {
|
||||
displayName = $STR_ACE_FCS_ResetFCS;
|
||||
displayName = CSTRING(ResetFCS);
|
||||
condition = QUOTE(call FUNC(canResetFCS));
|
||||
statement = QUOTE([ARR_2(vehicle _player,[_player] call DEFUNC(common,getTurretIndex))] call DFUNC(reset););
|
||||
showDisabled = 0;
|
||||
@ -38,7 +38,7 @@ class CfgVehicles {
|
||||
class Tank: LandVehicle {
|
||||
class ACE_SelfActions {
|
||||
class ResetFCS {
|
||||
displayName = $STR_ACE_FCS_ResetFCS;
|
||||
displayName = CSTRING(ResetFCS);
|
||||
condition = QUOTE(call FUNC(canResetFCS));
|
||||
statement = QUOTE([ARR_2(vehicle _player,[_player] call DEFUNC(common,getTurretIndex))] call DFUNC(reset););
|
||||
showDisabled = 0;
|
||||
|
@ -208,5 +208,5 @@ if(_playSound) then {
|
||||
};
|
||||
|
||||
if(_showHint) then {
|
||||
[format ["%1: %2", localize "STR_ACE_FCS_ZeroedTo", _distance]] call EFUNC(common,displayTextStructured);
|
||||
[format ["%1: %2", localize LSTRING(ZeroedTo), _distance]] call EFUNC(common,displayTextStructured);
|
||||
};
|
@ -22,4 +22,4 @@ _turret = _this select 1;
|
||||
[_vehicle, format ["%1_%2", QGVAR(Elevation), _turret], 0] call EFUNC(common,setVariablePublic);
|
||||
[_vehicle, format ["%1_%2", QGVAR(Azimuth), _turret], 0] call EFUNC(common,setVariablePublic);
|
||||
|
||||
[localize "STR_ACE_FCS_HasBeenReset"] call EFUNC(common,displayTextStructured);
|
||||
[localize LSTRING(HasBeenReset)] call EFUNC(common,displayTextStructured);
|
||||
|
@ -1,6 +1,6 @@
|
||||
// by commy2
|
||||
|
||||
["ACE3 Vehicles", QGVAR(lazeTarget), localize "STR_ACE_FCS_LaseTarget",
|
||||
["ACE3 Vehicles", QGVAR(lazeTarget), localize LSTRING(LaseTarget),
|
||||
{
|
||||
// Conditions: canInteract
|
||||
if !([ACE_player, vehicle ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false};
|
||||
@ -30,7 +30,7 @@
|
||||
},
|
||||
[15, [false, false, false]], false] call cba_fnc_addKeybind; //Tab Key
|
||||
|
||||
["ACE3 Vehicles", QGVAR(adjustRangeUp), localize "STR_ACE_FCS_AdjustRangeUp",
|
||||
["ACE3 Vehicles", QGVAR(adjustRangeUp), localize LSTRING(AdjustRangeUp),
|
||||
{
|
||||
// Conditions: canInteract
|
||||
if !([ACE_player, vehicle ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false};
|
||||
@ -44,7 +44,7 @@
|
||||
{false},
|
||||
[201, [false, false, false]], false] call cba_fnc_addKeybind; //PageUp Key
|
||||
|
||||
["ACE3 Vehicles", QGVAR(adjustRangDown), localize "STR_ACE_FCS_AdjustRangeDown",
|
||||
["ACE3 Vehicles", QGVAR(adjustRangDown), localize LSTRING(AdjustRangeDown),
|
||||
{
|
||||
// Conditions: canInteract
|
||||
if !([ACE_player, vehicle ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false};
|
||||
|
@ -230,7 +230,7 @@ class CfgWeapons {
|
||||
class InventoryMuzzleItem_Base_F;
|
||||
|
||||
class ACE_muzzle_mzls_H: ItemCore {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
_generalMacro = "ACE_muzzle_mzls_H";
|
||||
htMin = 1;
|
||||
htMax = 600;
|
||||
@ -239,7 +239,7 @@ class CfgWeapons {
|
||||
mFact = 1;
|
||||
tBody = 100;
|
||||
scope = 2;
|
||||
displayName = "$STR_ACE_muzzle_mzls_H";
|
||||
displayName = CSTRING(muzzle_mzls_H);
|
||||
picture = "\A3\weapons_F\Data\UI\gear_acca_mzls_h_ca.paa";
|
||||
model = "\A3\weapons_f\acc\acca_mzls_H_F";
|
||||
|
||||
@ -283,9 +283,9 @@ class CfgWeapons {
|
||||
};
|
||||
|
||||
class ACE_muzzle_mzls_B: ACE_muzzle_mzls_H {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
_generalMacro = "ACE_muzzle_mzls_B";
|
||||
displayName = "$STR_ACE_muzzle_mzls_B";
|
||||
displayName = CSTRING(muzzle_mzls_B);
|
||||
picture = "\A3\weapons_F\Data\UI\gear_acca_mzls_h_ca.paa";
|
||||
model = "\A3\weapons_f\acc\acca_mzls_H_F";
|
||||
|
||||
@ -329,9 +329,9 @@ class CfgWeapons {
|
||||
};
|
||||
|
||||
class ACE_muzzle_mzls_L: ACE_muzzle_mzls_H {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
_generalMacro = "ACE_muzzle_mzls_L";
|
||||
displayName = "$STR_ACE_muzzle_mzls_L";
|
||||
displayName = CSTRING(muzzle_mzls_L);
|
||||
picture = "\A3\weapons_F\Data\UI\gear_acca_mzls_l_ca.paa";
|
||||
model = "\A3\weapons_f\acc\acca_mzls_l_F";
|
||||
|
||||
@ -375,9 +375,9 @@ class CfgWeapons {
|
||||
};
|
||||
|
||||
class ACE_muzzle_mzls_smg_01: ACE_muzzle_mzls_H {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
_generalMacro = "ACE_muzzle_mzls_smg_01";
|
||||
displayName = "$STR_ACE_muzzle_mzls_smg_01";
|
||||
displayName = CSTRING(muzzle_mzls_smg_01);
|
||||
picture = "\A3\weapons_F\Data\UI\gear_acca_mzls_l_ca.paa";
|
||||
model = "\A3\weapons_f\acc\acca_mzls_H_F"; //"\A3\weapons_f\acc\acca_mzls_smg_01_F";
|
||||
|
||||
@ -421,9 +421,9 @@ class CfgWeapons {
|
||||
};
|
||||
|
||||
class ACE_muzzle_mzls_smg_02: ACE_muzzle_mzls_H {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
_generalMacro = "ACE_muzzle_mzls_smg_02";
|
||||
displayName = "$STR_ACE_muzzle_mzls_smg_02";
|
||||
displayName = CSTRING(muzzle_mzls_smg_02);
|
||||
picture = "\A3\weapons_F\Data\UI\gear_acca_mzls_l_ca.paa";
|
||||
model = "\A3\weapons_f\acc\acca_mzls_H_F"; //"\A3\weapons_f\acc\acca_mzls_smg_01_F";
|
||||
|
||||
@ -467,9 +467,9 @@ class CfgWeapons {
|
||||
};
|
||||
|
||||
class ACE_muzzle_mzls_338: ACE_muzzle_mzls_H {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
_generalMacro = "ACE_muzzle_mzls_338";
|
||||
displayName = "$STR_ACE_muzzle_mzls_338";
|
||||
displayName = CSTRING(muzzle_mzls_338);
|
||||
picture = "\A3\weapons_F\Data\UI\gear_acca_mzls_h_ca.paa";
|
||||
model = "\A3\weapons_f\acc\acca_mzls_H_F";
|
||||
|
||||
@ -513,9 +513,9 @@ class CfgWeapons {
|
||||
};
|
||||
|
||||
class ACE_muzzle_mzls_93mmg: ACE_muzzle_mzls_H {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
_generalMacro = "ACE_muzzle_mzls_93mmg";
|
||||
displayName = "$STR_ACE_muzzle_mzls_93mmg";
|
||||
displayName = CSTRING(muzzle_mzls_93mmg);
|
||||
picture = "\A3\weapons_F\Data\UI\gear_acca_mzls_h_ca.paa";
|
||||
model = "\A3\weapons_f\acc\acca_mzls_H_F";
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project name="ACE">
|
||||
<Package name="FlashSuppressors">
|
||||
<Key ID="STR_ACE_muzzle_mzls_H">
|
||||
<Key ID="STR_ACE_FlashSuppressors_muzzle_mzls_H">
|
||||
<English>Flash Suppressor (6.5 mm)</English>
|
||||
<Hungarian>Lángrejtő (6,5 mm)</Hungarian>
|
||||
<German>Mündungsfeuerdämpfer (6,5 mm)</German>
|
||||
@ -13,7 +13,7 @@
|
||||
<Russian>Пламегаситель (6,5 мм)</Russian>
|
||||
<Spanish>Bocacha (6,5 mm)</Spanish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_muzzle_mzls_B">
|
||||
<Key ID="STR_ACE_FlashSuppressors_muzzle_mzls_B">
|
||||
<English>Flash Suppressor (7.62 mm)</English>
|
||||
<Hungarian>Lángrejtő (7,62 mm)</Hungarian>
|
||||
<German>Mündungsfeuerdämpfer (7,62 mm)</German>
|
||||
@ -25,7 +25,7 @@
|
||||
<Russian>Пламегаситель (7,62 мм)</Russian>
|
||||
<Spanish>Bocacha (7,62 mm)</Spanish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_muzzle_mzls_L">
|
||||
<Key ID="STR_ACE_FlashSuppressors_muzzle_mzls_L">
|
||||
<English>Flash Suppressor (5.56 mm)</English>
|
||||
<Hungarian>Lángrejtő (5,56 mm)</Hungarian>
|
||||
<German>Mündungsfeuerdämpfer (5,56 mm)</German>
|
||||
@ -37,7 +37,7 @@
|
||||
<Russian>Пламегаситель (5,56 мм)</Russian>
|
||||
<Spanish>Bocacha (5,56 mm)</Spanish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_muzzle_mzls_smg_01">
|
||||
<Key ID="STR_ACE_FlashSuppressors_muzzle_mzls_smg_01">
|
||||
<English>Flash Suppressor (.45 ACP)</English>
|
||||
<Hungarian>Lángrejtő (.45 ACP)</Hungarian>
|
||||
<German>Mündungsfeuerdämpfer (.45 ACP)</German>
|
||||
@ -49,7 +49,7 @@
|
||||
<Russian>Пламегаситель (.45 ACP)</Russian>
|
||||
<Spanish>Bocacha (.45 ACP)</Spanish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_muzzle_mzls_smg_02">
|
||||
<Key ID="STR_ACE_FlashSuppressors_muzzle_mzls_smg_02">
|
||||
<English>Flash Suppressor (9 mm)</English>
|
||||
<Hungarian>Lángrejtő (9 mm)</Hungarian>
|
||||
<German>Mündungsfeuerdämpfer (9 mm)</German>
|
||||
@ -61,7 +61,7 @@
|
||||
<Russian>Пламегаситель (9 мм)</Russian>
|
||||
<Spanish>Bocacha (9 mm)</Spanish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_muzzle_mzls_338">
|
||||
<Key ID="STR_ACE_FlashSuppressors_muzzle_mzls_338">
|
||||
<English>Flash Suppressor (.338)</English>
|
||||
<Hungarian>Lángrejtő (.338)</Hungarian>
|
||||
<German>Mündungsfeuerdämpfer (.338)</German>
|
||||
@ -73,7 +73,7 @@
|
||||
<Russian>Пламегаситель (.338)</Russian>
|
||||
<Spanish>Bocacha (.338)</Spanish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_muzzle_mzls_93mmg">
|
||||
<Key ID="STR_ACE_FlashSuppressors_muzzle_mzls_93mmg">
|
||||
<English>Flash Suppressor (9.3 mm)</English>
|
||||
<Hungarian>Lángrejtő (9,3 mm)</Hungarian>
|
||||
<German>Mündungsfeuerdämpfer (9,3 mm)</German>
|
||||
|
@ -1,32 +1,32 @@
|
||||
class ACE_Settings {
|
||||
class GVAR(Enabled) {
|
||||
displayName = "$STR_ACE_frag_EnableFrag";
|
||||
description = "$STR_ACE_frag_EnableFrag_Desc";
|
||||
displayName = CSTRING(EnableFrag);
|
||||
description = CSTRING(EnableFrag_Desc);
|
||||
typeName = "BOOL";
|
||||
value = 1;
|
||||
};
|
||||
class GVAR(SpallEnabled) {
|
||||
displayName = "$STR_ACE_frag_EnableSpall";
|
||||
description = "$STR_ACE_frag_EnableSpall_Desc";
|
||||
displayName = CSTRING(EnableSpall);
|
||||
description = CSTRING(EnableSpall_Desc);
|
||||
typeName = "BOOL";
|
||||
value = 0;
|
||||
};
|
||||
class GVAR(maxTrack) {
|
||||
displayName = "$STR_ACE_frag_MaxTrack";
|
||||
description = "$STR_ACE_frag_MaxTrack_Desc";
|
||||
displayName = CSTRING(MaxTrack);
|
||||
description = CSTRING(MaxTrack_Desc);
|
||||
typeName = "SCALAR";
|
||||
value = 500;
|
||||
};
|
||||
class GVAR(MaxTrackPerFrame) {
|
||||
displayName = "$STR_ACE_frag_MaxTrackPerFrame";
|
||||
description = "$STR_ACE_frag_MaxTrackPerFrame_Desc";
|
||||
displayName = CSTRING(MaxTrackPerFrame);
|
||||
description = CSTRING(MaxTrackPerFrame_Desc);
|
||||
typeName = "SCALAR";
|
||||
value = 50;
|
||||
};
|
||||
|
||||
class GVAR(EnableDebugTrace) {
|
||||
displayName = "$STR_ACE_frag_EnableDebugTrace";
|
||||
description = "$STR_ACE_frag_EnableDebugTrace_Desc";
|
||||
displayName = CSTRING(EnableDebugTrace);
|
||||
description = CSTRING(EnableDebugTrace_Desc);
|
||||
typeName = "BOOL";
|
||||
value = 0;
|
||||
};
|
||||
|
@ -1,53 +1,64 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project name="ACE">
|
||||
<Package name="Frag">
|
||||
<Key ID="STR_ACE_frag_EnableFrag">
|
||||
<Key ID="STR_ACE_Frag_EnableFrag">
|
||||
<English>Fragmentation Simulation</English>
|
||||
<Polish>Symulacja fragmentacji</Polish>
|
||||
<Spanish>Simulación de fragmentación</Spanish>
|
||||
<German>Splittersimulation</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_frag_EnableFrag_Desc">
|
||||
<Key ID="STR_ACE_Frag_EnableFrag_Desc">
|
||||
<English>Enable the ACE Fragmentation Simulation</English>
|
||||
<Spanish>Activa la simulación de fragmentación ACE</Spanish>
|
||||
<Polish>Aktywuje symulację fragmentacji ACE</Polish>
|
||||
<German>Aktiviere die ACE-Splittersimulation</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_frag_EnableSpall">
|
||||
<Key ID="STR_ACE_Frag_EnableSpall">
|
||||
<English>Spalling Simulation</English>
|
||||
<Spanish>Simulación de astillamiento</Spanish>
|
||||
<Polish>Symulacja odprysków</Polish>
|
||||
<German>Explosionssimulation</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_frag_EnableSpall_Desc">
|
||||
<Key ID="STR_ACE_Frag_EnableSpall_Desc">
|
||||
<English>Enable the ACE Spalling Simulation</English>
|
||||
<Spanish>Activa la simulación de astillamiento ACE</Spanish>
|
||||
<Polish>Aktywuje symulację odprysków ACE</Polish>
|
||||
<German>Aktiviere ACE-Explosionssimulation</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_frag_MaxTrack">
|
||||
<Key ID="STR_ACE_Frag_MaxTrack">
|
||||
<English>Maximum Projectiles Tracked</English>
|
||||
<Spanish>Máximos proyectiles rastreados</Spanish>
|
||||
<Polish>Maks. liczba śledzonych pocisków</Polish>
|
||||
<German>Maximalzahl der verfolgten Projektile</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_frag_MaxTrack_Desc">
|
||||
<Key ID="STR_ACE_Frag_MaxTrack_Desc">
|
||||
<English>This setting controls the maximum amount of projectiles the fragmentation and spalling system will track at any given time. If more projectiles are fired, they will not be tracked. Lower this setting if you do not want FPS drops at high-count projectile scenarios ( >200 rounds in the air at once)</English>
|
||||
<Spanish>Este ajuste controla la cantidad máxima de proyectiles del sistema de fragmentación y astillamiento de los que se hará un seguimiento en cualquier momento dado. Si se disparan más proyectiles, no serán rastreados. Baja esta opción si no deseas una bajada de FPS en escenarios con muchos proyectiles (>200 proyectiles en el aire a la vez)</Spanish>
|
||||
<Polish>To ustawienie kontroluje maksymalną ilość pocisków, jakie fragmentacja i odpryski symulują w danym momencie. Jeżeli więcej pocisków będzie wystrzelonych, wtedy nie będą one śledzone. Zmniejsz tą opcję jeżeli nie chcesz odczuwać spadków FPS podczas ciężkiej wymiany ognia (więcej niż 200 pocisków w powietrzu na raz).</Polish>
|
||||
<German>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)</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_frag_MaxTrackPerFrame">
|
||||
<Key ID="STR_ACE_Frag_MaxTrackPerFrame">
|
||||
<English>Maximum Projectiles Per Frame</English>
|
||||
<Spanish>Máximos proyectiles por cuadro</Spanish>
|
||||
<German>Maximale Anzahl an Projektilen pro Frame</German>
|
||||
<Polish>Maks. liczba pocisków na klatkę</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_frag_MaxTrackPerFrame_Desc">
|
||||
<Key ID="STR_ACE_Frag_MaxTrackPerFrame_Desc">
|
||||
<English>The number of spall track calculations to perform in any given frame. This helps spread the FPS impact of tracking spall rounds across multiple frames, limiting its impact even further.</English>
|
||||
<Polish>Ilość obliczeń wykonywanych przez symulację odprysków w danej klatce. Ta opcja pomaga rozprzestrzenić obliczenia odprysków na więcej klatek, zmniejszając spadek FPS jeszcze bardziej.</Polish>
|
||||
<German>Gibt die Anzahl der Explosionverfolgungsberechnungen an, die gleichzeitig ausgeführt werden. Das kann dabei helfen den FPS-Einfluss abzuschwächen, wenn Teile über mehrere Frames hinweg verfolgt werden.</German>
|
||||
<Spanish>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.</Spanish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_frag_EnableDebugTrace">
|
||||
<Key ID="STR_ACE_Frag_EnableDebugTrace">
|
||||
<English>(SP Only) Frag/Spall Debug Tracing</English>
|
||||
<Spanish>(Solo SP) Seguimiento de depuración de Fragmentación/Astillamiento </Spanish>
|
||||
<Polish>(Tylko SP) Wizualny debug odł./odpr.</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_frag_EnableDebugTrace_Desc">
|
||||
<Key ID="STR_ACE_Frag_EnableDebugTrace_Desc">
|
||||
<English>(SP Only) Requires a mission/editor restart. Enables visual tracing of fragmentation and spalling rounds in SP game mode only.</English>
|
||||
<Spanish>(Solo SP) Requiere un reinicio misión/editor. Permite el seguimiento visual de la fragmentación y astillamientos de los proyectiles en modo SP.</Spanish>
|
||||
<Polish>(Tylko SP) Wymaga restartu misji/edytora. Aktywuje wizualne śledzenie odłamków oraz odprysków w trybie gry Single Player.</Polish>
|
||||
<German>(nur SP) Splitter-/Explosions-Debugging</German>
|
||||
</Key>
|
||||
</Package>
|
||||
</Project>
|
||||
</Project>
|
@ -3,6 +3,6 @@ class ACE_Settings {
|
||||
value = 0;
|
||||
typeName = "BOOL";
|
||||
isClientSettable = 1;
|
||||
displayName = "$STR_ACE_Goggles_ShowInThirdPerson";
|
||||
displayName = CSTRING(ShowInThirdPerson);
|
||||
};
|
||||
};
|
||||
|
@ -17,7 +17,7 @@
|
||||
#include "script_component.hpp"
|
||||
if (!hasInterface) exitWith {};
|
||||
|
||||
["ACE3 Common", QGVAR(wipeGlasses), localize "STR_ACE_Goggles_WipeGlasses",
|
||||
["ACE3 Common", QGVAR(wipeGlasses), localize LSTRING(WipeGlasses),
|
||||
{
|
||||
if (!(GETVAR(ace_player,ACE_isUnconscious,false))) exitWith {
|
||||
call FUNC(clearGlasses);
|
||||
|
@ -9,50 +9,50 @@ class CfgMagazines {
|
||||
initSpeed = 22;
|
||||
};
|
||||
class ACE_HandFlare_White: ACE_HandFlare_Base {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
scope = 2;
|
||||
ammo = "ACE_F_Hand_White";
|
||||
displayname = "$STR_ACE_Grenades_M127A1_White_Name";
|
||||
descriptionshort = "$STR_ACE_Grenades_M127A1_White_Description";
|
||||
displayNameShort = "$STR_ACE_Grenades_M127A1_White_NameShort";
|
||||
displayname = CSTRING(M127A1_White_Name);
|
||||
descriptionshort = CSTRING(M127A1_White_Description);
|
||||
displayNameShort = CSTRING(M127A1_White_NameShort);
|
||||
model = "\A3\weapons_f\ammo\flare_white";
|
||||
picture = "\A3\Weapons_F\Data\UI\gear_flare_white_ca.paa";
|
||||
};
|
||||
class ACE_HandFlare_Red: ACE_HandFlare_Base {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
scope = 2;
|
||||
ammo = "ACE_F_Hand_Red";
|
||||
displayname = "$STR_ACE_Grenades_M127A1_Red_Name";
|
||||
descriptionshort = "$STR_ACE_Grenades_M127A1_Red_Description";
|
||||
displayNameShort = "$STR_ACE_Grenades_M127A1_Red_NameShort";
|
||||
displayname = CSTRING(M127A1_Red_Name);
|
||||
descriptionshort = CSTRING(M127A1_Red_Description);
|
||||
displayNameShort = CSTRING(M127A1_Red_NameShort);
|
||||
model = "\A3\weapons_f\ammo\flare_red";
|
||||
picture = "\A3\Weapons_F\Data\UI\gear_flare_red_ca.paa";
|
||||
};
|
||||
class ACE_HandFlare_Green: ACE_HandFlare_Base {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
scope = 2;
|
||||
ammo = "ACE_F_Hand_Green";
|
||||
displayname = "$STR_ACE_Grenades_M127A1_Green_Name";
|
||||
descriptionshort = "$STR_ACE_Grenades_M127A1_Green_Description";
|
||||
displayNameShort = "$STR_ACE_Grenades_M127A1_Green_NameShort";
|
||||
displayname = CSTRING(M127A1_Green_Name);
|
||||
descriptionshort = CSTRING(M127A1_Green_Description);
|
||||
displayNameShort = CSTRING(M127A1_Green_NameShort);
|
||||
model = "\A3\weapons_f\ammo\flare_green";
|
||||
picture = "\A3\Weapons_F\Data\UI\gear_flare_green_ca.paa";
|
||||
};
|
||||
class ACE_HandFlare_Yellow: ACE_HandFlare_Base {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
scope = 2;
|
||||
ammo = "ACE_F_Hand_Yellow";
|
||||
displayname = "$STR_ACE_Grenades_M127A1_Yellow_Name";
|
||||
descriptionshort = "$STR_ACE_Grenades_M127A1_Yellow_Description";
|
||||
displayNameShort = "$STR_ACE_Grenades_M127A1_Yellow_NameShort";
|
||||
displayname = CSTRING(M127A1_Yellow_Name);
|
||||
descriptionshort = CSTRING(M127A1_Yellow_Description);
|
||||
displayNameShort = CSTRING(M127A1_Yellow_NameShort);
|
||||
model = "\A3\weapons_f\ammo\flare_yellow";
|
||||
picture = "\A3\Weapons_F\Data\UI\gear_flare_yellow_ca.paa";
|
||||
};
|
||||
class ACE_M84: HandGrenade {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
ammo = "ACE_G_M84";
|
||||
displayname = "$STR_ACE_Grenades_M84_Name";
|
||||
descriptionshort = "$STR_ACE_Grenades_M84_Description";
|
||||
displayname = CSTRING(M84_Name);
|
||||
descriptionshort = CSTRING(M84_Description);
|
||||
displayNameShort = "M84";
|
||||
mass = 4;
|
||||
model = PATHTOF(models\ACE_m84.p3d);
|
||||
@ -61,12 +61,12 @@ class CfgMagazines {
|
||||
|
||||
class 3Rnd_UGL_FlareGreen_F;
|
||||
class 6Rnd_GreenSignal_F: 3Rnd_UGL_FlareGreen_F {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
ammo = "F_40mm_Green";
|
||||
initSpeed = 120;
|
||||
};
|
||||
class 6Rnd_RedSignal_F: 6Rnd_GreenSignal_F {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
ammo = "F_40mm_Red";
|
||||
initSpeed = 120;
|
||||
};
|
||||
|
@ -10,7 +10,7 @@ GVAR(flashbangPPEffectCC) = ppEffectCreate ["ColorCorrections", 4265];
|
||||
GVAR(flashbangPPEffectCC) ppEffectForceInNVG true;
|
||||
|
||||
// Add keybinds
|
||||
["ACE3 Weapons", QGVAR(switchGrenadeMode), localize "STR_ACE_Grenades_SwitchGrenadeMode",
|
||||
["ACE3 Weapons", QGVAR(switchGrenadeMode), localize LSTRING(SwitchGrenadeMode),
|
||||
{
|
||||
// Conditions: canInteract
|
||||
if !([ACE_player, objNull, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false};
|
||||
|
@ -31,11 +31,11 @@ if (_mode == 3) then {
|
||||
};
|
||||
|
||||
_hint = [
|
||||
localize "STR_ACE_Grenades_NormalThrow",
|
||||
localize "STR_ACE_Grenades_HighThrow",
|
||||
localize "STR_ACE_Grenades_PreciseThrow",
|
||||
localize "STR_ACE_Grenades_RollGrenade",
|
||||
localize "STR_ACE_Grenades_DropGrenade"
|
||||
localize LSTRING(NormalThrow),
|
||||
localize LSTRING(HighThrow),
|
||||
localize LSTRING(PreciseThrow),
|
||||
localize LSTRING(RollGrenade),
|
||||
localize LSTRING(DropGrenade)
|
||||
] select _mode;
|
||||
|
||||
[_hint] call EFUNC(common,displayTextStructured);
|
||||
|
@ -15,6 +15,6 @@ class ACE_Settings {
|
||||
value = 0;
|
||||
typeName = "BOOL";
|
||||
isClientSettable = 1;
|
||||
displayName = "$STR_ACE_Hearing_DisableEarRinging";
|
||||
displayName = CSTRING(DisableEarRinging);
|
||||
};
|
||||
};
|
||||
|
@ -4,7 +4,7 @@ class CfgVehicles {
|
||||
class ACE_SelfActions {
|
||||
class ACE_Equipment {
|
||||
class ACE_PutInEarplugs {
|
||||
displayName = "$STR_ACE_Hearing_EarPlugs_On";
|
||||
displayName = CSTRING(EarPlugs_On);
|
||||
condition = QUOTE( !([_player] call FUNC(hasEarPlugsIn)) && {'ACE_EarPlugs' in items _player} );
|
||||
exceptions[] = {"isNotInside"};
|
||||
statement = QUOTE( [_player] call FUNC(putInEarPlugs) );
|
||||
@ -14,7 +14,7 @@ class CfgVehicles {
|
||||
hotkey = "E";
|
||||
};
|
||||
class ACE_RemoveEarplugs {
|
||||
displayName = "$STR_ACE_Hearing_EarPlugs_Off";
|
||||
displayName = CSTRING(EarPlugs_Off);
|
||||
condition = QUOTE( [_player] call FUNC(hasEarPlugsIn) );
|
||||
exceptions[] = {"isNotInside"};
|
||||
statement = QUOTE( [_player] call FUNC(removeEarPlugs) );
|
||||
@ -93,26 +93,25 @@ class CfgVehicles {
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
class ACE_Module;
|
||||
class ACE_ModuleHearing: ACE_Module {
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
author = ECSTRING(common,ACETeam);
|
||||
category = "ACE";
|
||||
displayName = "$STR_ACE_Hearing_Module_DisplayName";
|
||||
displayName = CSTRING(Module_DisplayName);
|
||||
function = QFUNC(moduleHearing);
|
||||
scope = 2;
|
||||
isGlobal = 1;
|
||||
icon = PATHTOF(UI\Icon_Module_Hearing_ca.paa);
|
||||
class Arguments {
|
||||
class EnableCombatDeafness {
|
||||
displayName = "$STR_ACE_Hearing_CombatDeafness_DisplayName";
|
||||
description = "$STR_ACE_Hearing_CombatDeafness_Description";
|
||||
displayName = CSTRING(CombatDeafness_DisplayName);
|
||||
description = CSTRING(CombatDeafness_Description);
|
||||
typeName = "BOOL";
|
||||
defaultValue = 1;
|
||||
};
|
||||
};
|
||||
class ModuleDescription {
|
||||
description = "$STR_ACE_Hearing_Module_Description";
|
||||
description = CSTRING(Module_Description);
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -3,8 +3,8 @@ class CfgWeapons {
|
||||
class InventoryItem_Base_F;
|
||||
|
||||
class ACE_EarPlugs: ACE_ItemCore {
|
||||
displayName = "$STR_ACE_Hearing_EarPlugs_Name";
|
||||
descriptionShort = "$STR_ACE_Hearing_EarPlugs_Description";
|
||||
displayName = CSTRING(EarPlugs_Name);
|
||||
descriptionShort = CSTRING(EarPlugs_Description);
|
||||
model = PATHTOF(ACE_earplugs.p3d);
|
||||
picture = PATHTOF(UI\ACE_earplugs_x_ca.paa);
|
||||
scope = 2;
|
||||
|
@ -12,3 +12,9 @@ GVAR(playerVehAttenuation) = 1;
|
||||
//Update veh attunation when player veh changes
|
||||
["playerVehicleChanged", {_this call FUNC(updatePlayerVehAttenuation);}] call EFUNC(common,addEventHandler);
|
||||
["playerTurretChanged", {_this call FUNC(updatePlayerVehAttenuation);}] call EFUNC(common,addEventHandler);
|
||||
|
||||
//Reset deafness on respawn (or remote control player switch)
|
||||
["playerChanged", {
|
||||
GVAR(currentDeafness) = 0;
|
||||
GVAR(newStrength) = 0;
|
||||
}] call EFUNC(common,addEventhandler);
|
||||
|
@ -22,7 +22,7 @@ _player removeItem "ACE_EarPlugs";
|
||||
|
||||
_player setVariable ["ACE_hasEarPlugsIn", true, true];
|
||||
|
||||
[localize "STR_ACE_Hearing_EarPlugs_Are_On"] call EFUNC(common,displayTextStructured);
|
||||
[localize LSTRING(EarPlugs_Are_On)] call EFUNC(common,displayTextStructured);
|
||||
|
||||
/*// No Ear Plugs in inventory, telling user
|
||||
[localize "STR_ACE_Hearing_NoPlugs"] call EFUNC(common,displayTextStructured);*/
|
||||
/*// No Earplugs in inventory, telling user
|
||||
[localize LSTRING(NoPlugs)] call EFUNC(common,displayTextStructured);*/
|
||||
|
@ -18,7 +18,7 @@
|
||||
PARAMS_1(_player);
|
||||
|
||||
if !(_player canAdd "ACE_EarPlugs") exitWith { // inventory full
|
||||
[localize "STR_ACE_Hearing_Inventory_Full"] call EFUNC(common,displayTextStructured);
|
||||
[localize LSTRING(Inventory_Full)] call EFUNC(common,displayTextStructured);
|
||||
};
|
||||
|
||||
// Plugs already in and removing them.
|
||||
@ -26,4 +26,4 @@ _player addItem "ACE_EarPlugs";
|
||||
|
||||
_player setVariable ["ACE_hasEarPlugsIn", false, true];
|
||||
|
||||
[localize "STR_ACE_Hearing_EarPlugs_Are_Off"] call EFUNC(common,displayTextStructured);
|
||||
[localize LSTRING(EarPlugs_Are_Off)] call EFUNC(common,displayTextStructured);
|
||||
|
@ -2,7 +2,7 @@
|
||||
<Project name="ACE">
|
||||
<Package name="Hearing">
|
||||
<Key ID="STR_ACE_Hearing_EarPlugs_Name">
|
||||
<English>Ear Plugs</English>
|
||||
<English>Earplugs</English>
|
||||
<German>Ohrenstöpsel</German>
|
||||
<Spanish>Tapones para los oídos</Spanish>
|
||||
<Polish>Stopery do uszu</Polish>
|
||||
@ -14,7 +14,7 @@
|
||||
<Italian>Tappi auricolari</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Hearing_EarPlugs_Description">
|
||||
<English>Protective Ear Plugs allow the wearer to be near loud weaponry without damage to his hearing.</English>
|
||||
<English>Protective Earplugs allow the wearer to be near loud weaponry without damage to his hearing.</English>
|
||||
<German>Schützende Ohrenstöpsel, die es dem Träger ermöglichen, sich in der Nähe lauter Waffen aufzuhalten ohne Gehörschäden davonzutragen..</German>
|
||||
<Spanish>Los tapones para los oídos permiten al usuario operar armamento ruidoso sin sufrir pérdida de audición.</Spanish>
|
||||
<Polish>Stopery do uszu umożliwiają użytkownikowi przebywać w pobliżu głośnej broni bez poniesienia konsekwencji jaką jest utrata słuchu.</Polish>
|
||||
@ -74,7 +74,7 @@
|
||||
<Italian>Levati i tappi auricolari</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Hearing_NoPlugs">
|
||||
<English>You have no ear plugs</English>
|
||||
<English>You have no earplugs</English>
|
||||
<German>Keine Ohrenstöpsel im Inventar</German>
|
||||
<Spanish>No tienes tapones para los oídos</Spanish>
|
||||
<Polish>Nie masz stoperów</Polish>
|
||||
|
1
addons/huntir/$PBOPREFIX$
Normal file
1
addons/huntir/$PBOPREFIX$
Normal file
@ -0,0 +1 @@
|
||||
z\ace\addons\huntir
|
45
addons/huntir/CfgAmmo.hpp
Normal file
45
addons/huntir/CfgAmmo.hpp
Normal file
@ -0,0 +1,45 @@
|
||||
class CfgAmmo {
|
||||
class FlareBase;
|
||||
class F_HuntIR: FlareBase {
|
||||
model = PATHTOF(data\ace_m1070_armed.p3d);
|
||||
lightColor[] = {0, 0, 0, 0};
|
||||
smokeColor[] = {0, 0, 0, 0};
|
||||
timeToLive = 6;
|
||||
};
|
||||
|
||||
class ShellBase;
|
||||
class ACE_HuntIR_Propell: ShellBase {
|
||||
supersonicCrackNear[] = {"",0.316228,1,50};
|
||||
supersonicCrackFar[] = {"",0.223872,1,150};
|
||||
CraterEffects = "";
|
||||
CraterWaterEffects = "";
|
||||
ExplosionEffects = "ACE_HuntIR_Propell_Fx";
|
||||
visibleFire = 1;
|
||||
audibleFire = 1;
|
||||
dangerRadiusHit = -1;
|
||||
suppressionRadiusHit = 0;
|
||||
soundHit1[] = {"",3.16228,1,2000};
|
||||
soundHit2[] = {"",3.16228,1,2000};
|
||||
soundHit3[] = {"",3.16228,1,2000};
|
||||
soundHit4[] = {"",3.16228,1,2000};
|
||||
soundHit5[] = {"",3.16228,1,2000};
|
||||
soundHit6[] = {"",3.16228,1,2000};
|
||||
soundHit7[] = {"",3.16228,1,2000};
|
||||
soundHit8[] = {"",3.16228,1,2000};
|
||||
multiSoundHit[] = {};
|
||||
class HitEffects {};
|
||||
soundFakeFall0[] = {"",3.16228,1,1000};
|
||||
soundFakeFall1[] = {"",3.16228,1,1000};
|
||||
soundFakeFall2[] = {"",3.16228,1,1000};
|
||||
soundFakeFall3[] = {"",3.16228,1,1000};
|
||||
soundFakeFall[] = {};
|
||||
hit = 0;
|
||||
indirectHit = 0;
|
||||
indirectHitRange = 0;
|
||||
explosive = 1;
|
||||
model = "\A3\weapons_f\empty";
|
||||
airFriction = 0;
|
||||
timeToLive = 1;
|
||||
explosionTime = 0.001;
|
||||
};
|
||||
};
|
92
addons/huntir/CfgCloudlets.hpp
Normal file
92
addons/huntir/CfgCloudlets.hpp
Normal file
@ -0,0 +1,92 @@
|
||||
class ACE_HuntIR_Propell_Fx {
|
||||
class ACE_HuntIR_ExploAmmoFlash {
|
||||
simulation = "particles";
|
||||
type = "ACE_HuntIR_ExploAmmoFlash";
|
||||
position[] = { 0, 0, 0 };
|
||||
intensity = 1;
|
||||
interval = 1;
|
||||
lifeTime = 1;
|
||||
};
|
||||
class ACE_HuntIR_ExploAmmoSmoke {
|
||||
simulation = "particles";
|
||||
type = "ACE_HuntIR_ExploAmmoSmoke";
|
||||
position[] = { 0, 0, 0 };
|
||||
intensity = 1;
|
||||
interval = 1;
|
||||
lifeTime = 0.8;
|
||||
};
|
||||
};
|
||||
|
||||
class CfgCloudlets {
|
||||
class Default;
|
||||
class ACE_HuntIR_ExploAmmoFlash: Default {
|
||||
interval = 0.1;
|
||||
circleRadius = 0;
|
||||
circleVelocity[] = { 0, 0, 0 };
|
||||
particleShape = "\A3\data_f\ParticleEffects\Universal\Universal";
|
||||
particleFSNtieth = 16;
|
||||
particleFSIndex = 0;
|
||||
particleFSFrameCount = 32;
|
||||
particleFSLoop = 0;
|
||||
angleVar = 1;
|
||||
animationName = "";
|
||||
particleType = "Billboard";
|
||||
timerPeriod = 1;
|
||||
lifeTime = 0.5;
|
||||
moveVelocity[] = { 0, 1, 0 };
|
||||
rotationVelocity = 1;
|
||||
weight = 10;
|
||||
volume = 7.9;
|
||||
rubbing = 0.1;
|
||||
size[] = { "0.0125 * intensity + 0.25", "0.0125 * intensity + 0.125" };
|
||||
color[] = { { 1, 1, 1, -1 }, { 1, 1, 1, 0 } };
|
||||
animationSpeed[] = { 2 };
|
||||
randomDirectionPeriod = 0.2;
|
||||
randomDirectionIntensity = 0.2;
|
||||
onTimerScript = "";
|
||||
beforeDestroyScript = "";
|
||||
lifeTimeVar = 0;
|
||||
positionVar[] = { 0, 0.1, 0 };
|
||||
MoveVelocityVar[] = { 0.2, 0.5, 0.2 };
|
||||
rotationVelocityVar = 1;
|
||||
sizeVar = 0.5;
|
||||
colorVar[] = { 0, 0, 0, 0 };
|
||||
randomDirectionPeriodVar = 0;
|
||||
randomDirectionIntensityVar = 0;
|
||||
};
|
||||
class ACE_HuntIR_ExploAmmoSmoke: Default {
|
||||
interval = "0.02 * interval + 0.02";
|
||||
circleRadius = 0;
|
||||
circleVelocity[] = { 0, 0, 0 };
|
||||
particleShape = "\A3\data_f\ParticleEffects\Universal\Universal";
|
||||
particleFSNtieth = 16;
|
||||
particleFSIndex = 7;
|
||||
particleFSFrameCount = 48;
|
||||
particleFSLoop = 1;
|
||||
angleVar = 1;
|
||||
animationName = "";
|
||||
particleType = "Billboard";
|
||||
timerPeriod = 1;
|
||||
lifeTime = 0.25;
|
||||
moveVelocity[] = { 0, 1, 0 };
|
||||
rotationVelocity = 1;
|
||||
weight = 0.053;
|
||||
volume = 0.04;
|
||||
rubbing = 0.2;
|
||||
size[] = { "0.0125 * intensity + 0.25", "0.0125 * intensity + 1.25", "0.0125 * intensity + 2.75", "0.0125 * intensity + 3.75" };
|
||||
color[] = { { 0.6, 0.6, 0.6, 1 }, { 0.7, 0.7, 0.7, 0.5 }, { 0.78, 0.78, 0.78, 0.25 } };
|
||||
animationSpeed[] = { 1.7, 0.6, 0.4, 0.3, 0.3 };
|
||||
randomDirectionPeriod = 0.2;
|
||||
randomDirectionIntensity = 0.2;
|
||||
onTimerScript = "";
|
||||
beforeDestroyScript = "";
|
||||
lifeTimeVar = 2;
|
||||
positionVar[] = { 0.5, 0.3, 0.5 };
|
||||
MoveVelocityVar[] = { 1.5, 2, 1.5 };
|
||||
rotationVelocityVar = 1;
|
||||
sizeVar = 0.5;
|
||||
colorVar[] = { 0, 0, 0, 0 };
|
||||
randomDirectionPeriodVar = 0;
|
||||
randomDirectionIntensityVar = 0;
|
||||
};
|
||||
};
|
19
addons/huntir/CfgEventhandlers.hpp
Normal file
19
addons/huntir/CfgEventhandlers.hpp
Normal file
@ -0,0 +1,19 @@
|
||||
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_FiredBIS_EventHandlers {
|
||||
class CAManBase {
|
||||
class ADDON {
|
||||
clientFiredBIS = QUOTE(_this call FUNC(handleFired));
|
||||
};
|
||||
};
|
||||
};
|
11
addons/huntir/CfgMagazines.hpp
Normal file
11
addons/huntir/CfgMagazines.hpp
Normal file
@ -0,0 +1,11 @@
|
||||
|
||||
class CfgMagazines {
|
||||
class 1Rnd_HE_Grenade_shell;
|
||||
class ACE_HuntIR_M203: 1Rnd_HE_Grenade_shell {
|
||||
displayName = CSTRING(magazine_displayName);
|
||||
displayNameShort = "HuntIR";
|
||||
descriptionShort = "";
|
||||
picture = PATHTOF(UI\m_m1070_ca.paa);
|
||||
ammo = "F_HuntIR";
|
||||
};
|
||||
};
|
58
addons/huntir/CfgVehicles.hpp
Normal file
58
addons/huntir/CfgVehicles.hpp
Normal file
@ -0,0 +1,58 @@
|
||||
|
||||
class CfgVehicles {
|
||||
class Man;
|
||||
class CAManBase: Man {
|
||||
class ACE_SelfActions {
|
||||
class ACE_Equipment {
|
||||
class GVAR(open) {
|
||||
displayName = CSTRING(activateMonitor);
|
||||
condition = QUOTE([ARR_2(ACE_player,'ACE_HuntIR_monitor')] call EFUNC(common,hasItem));
|
||||
statement = QUOTE(call FUNC(huntir));
|
||||
showDisabled = 0;
|
||||
priority = 2;
|
||||
icon = PATHTOF(UI\w_huntir_monitor_ca.paa);
|
||||
exceptions[] = {};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
class Parachute_02_base_F;
|
||||
class ACE_HuntIR: Parachute_02_base_F {
|
||||
scope = 1;
|
||||
displayName = "HuntIR";
|
||||
model = PATHTOF(data\huntir.p3d);
|
||||
castDriverShadow = 0;
|
||||
soundEnviron[] = {"z\ace\addons\apl\sounds\padak_let", 0.316228, 1, 80};
|
||||
soundCrash[] = {"", db-30, 1 };
|
||||
soundLandCrash[] = {"", db-30, 1 };
|
||||
soundWaterCrash[] = {"", db10, 1 };
|
||||
mapSize = 0;
|
||||
};
|
||||
|
||||
class Item_Base_F;
|
||||
class ACE_Item_HuntIR_monitor: Item_Base_F {
|
||||
scope = 2;
|
||||
scopeCurator = 2;
|
||||
displayName = CSTRING(monitor_displayName);
|
||||
vehicleClass = "Items";
|
||||
class TransportItems {
|
||||
class ACE_HuntIR_monitor {
|
||||
name = "ACE_HuntIR_monitor";
|
||||
count = 1;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
class ReammoBox_F;
|
||||
class ACE_HuntIR_Box: ReammoBox_F {
|
||||
model = PATHTOF(data\ace_huntirbox.p3d);
|
||||
displayName = $STR_DN_ACE_HUNTIRBOX;
|
||||
class TransportItems {
|
||||
MACRO_ADDITEM(ACE_HuntIR_monitor,5);
|
||||
};
|
||||
class TransportMagazines {
|
||||
MACRO_ADDMAGAZINE(ACE_HuntIR_M203,20);
|
||||
};
|
||||
};
|
||||
};
|
34
addons/huntir/CfgWeapons.hpp
Normal file
34
addons/huntir/CfgWeapons.hpp
Normal file
@ -0,0 +1,34 @@
|
||||
|
||||
class CfgWeapons {
|
||||
class ACE_ItemCore;
|
||||
class InventoryItem_Base_F;
|
||||
|
||||
class ACE_HuntIR_monitor: ACE_ItemCore {
|
||||
scope = 2;
|
||||
displayName = CSTRING(monitor_displayName);
|
||||
picture = PATHTOF(UI\w_huntir_monitor_ca.paa);
|
||||
descriptionShort = CSTRING(monitor_displayName);
|
||||
model = PATHTOF(data\ace_huntir_monitor.p3d);
|
||||
|
||||
class ItemInfo: InventoryItem_Base_F {
|
||||
mass = 20;
|
||||
};
|
||||
};
|
||||
|
||||
class GrenadeLauncher;
|
||||
class UGL_F: GrenadeLauncher {
|
||||
magazines[] += {"ACE_HuntIR_M203"};
|
||||
};
|
||||
class GL_3GL_F: UGL_F {
|
||||
//magazines[] += {"ACE_HuntIR_M203"};
|
||||
magazines[] = {"1Rnd_HE_Grenade_shell","UGL_FlareWhite_F","UGL_FlareGreen_F","UGL_FlareRed_F","UGL_FlareYellow_F","UGL_FlareCIR_F","1Rnd_Smoke_Grenade_shell","1Rnd_SmokeRed_Grenade_shell","1Rnd_SmokeGreen_Grenade_shell","1Rnd_SmokeYellow_Grenade_shell","1Rnd_SmokePurple_Grenade_shell","1Rnd_SmokeBlue_Grenade_shell","1Rnd_SmokeOrange_Grenade_shell","3Rnd_HE_Grenade_shell","3Rnd_UGL_FlareWhite_F","3Rnd_UGL_FlareGreen_F","3Rnd_UGL_FlareRed_F","3Rnd_UGL_FlareYellow_F","3Rnd_UGL_FlareCIR_F","3Rnd_Smoke_Grenade_shell","3Rnd_SmokeRed_Grenade_shell","3Rnd_SmokeGreen_Grenade_shell","3Rnd_SmokeYellow_Grenade_shell","3Rnd_SmokePurple_Grenade_shell","3Rnd_SmokeBlue_Grenade_shell","3Rnd_SmokeOrange_Grenade_shell","ACE_HuntIR_M203"};
|
||||
};
|
||||
|
||||
class Rifle_Base_F;
|
||||
class arifle_MX_Base_F: Rifle_Base_F {
|
||||
class GL_3GL_F: UGL_F {
|
||||
//magazines[] += {"ACE_HuntIR_M203"};
|
||||
magazines[] = {"1Rnd_HE_Grenade_shell","UGL_FlareWhite_F","UGL_FlareGreen_F","UGL_FlareRed_F","UGL_FlareYellow_F","UGL_FlareCIR_F","1Rnd_Smoke_Grenade_shell","1Rnd_SmokeRed_Grenade_shell","1Rnd_SmokeGreen_Grenade_shell","1Rnd_SmokeYellow_Grenade_shell","1Rnd_SmokePurple_Grenade_shell","1Rnd_SmokeBlue_Grenade_shell","1Rnd_SmokeOrange_Grenade_shell","3Rnd_HE_Grenade_shell","3Rnd_UGL_FlareWhite_F","3Rnd_UGL_FlareGreen_F","3Rnd_UGL_FlareRed_F","3Rnd_UGL_FlareYellow_F","3Rnd_UGL_FlareCIR_F","3Rnd_Smoke_Grenade_shell","3Rnd_SmokeRed_Grenade_shell","3Rnd_SmokeGreen_Grenade_shell","3Rnd_SmokeYellow_Grenade_shell","3Rnd_SmokePurple_Grenade_shell","3Rnd_SmokeBlue_Grenade_shell","3Rnd_SmokeOrange_Grenade_shell","ACE_HuntIR_M203"};
|
||||
};
|
||||
};
|
||||
};
|
401
addons/huntir/Dialog.hpp
Normal file
401
addons/huntir/Dialog.hpp
Normal file
@ -0,0 +1,401 @@
|
||||
#define CT_STATIC 0
|
||||
#define CT_BUTTON 1
|
||||
#define CT_EDIT 2
|
||||
#define CT_SLIDER 3
|
||||
#define CT_COMBO 4
|
||||
#define CT_LISTBOX 5
|
||||
#define CT_TOOLBOX 6
|
||||
#define CT_CHECKBOXES 7
|
||||
#define CT_PROGRESS 8
|
||||
#define CT_HTML 9
|
||||
#define CT_STATIC_SKEW 10
|
||||
#define CT_ACTIVETEXT 11
|
||||
#define CT_TREE 12
|
||||
#define CT_STRUCTURED_TEXT 13
|
||||
#define CT_CONTEXT_MENU 14
|
||||
#define CT_CONTROLS_GROUP 15
|
||||
#define CT_XKEYDESC 40
|
||||
#define CT_XBUTTON 41
|
||||
#define CT_XLISTBOX 42
|
||||
#define CT_XSLIDER 43
|
||||
#define CT_XCOMBO 44
|
||||
#define CT_ANIMATED_TEXTURE 45
|
||||
#define CT_OBJECT 80
|
||||
#define CT_OBJECT_ZOOM 81
|
||||
#define CT_OBJECT_CONTAINER 82
|
||||
#define CT_OBJECT_CONT_ANIM 83
|
||||
#define CT_LINEBREAK 98
|
||||
#define CT_USER 99
|
||||
#define CT_MAP 100
|
||||
#define CT_MAP_MAIN 101
|
||||
#define ST_POS 0x0F
|
||||
#define ST_HPOS 0x03
|
||||
#define ST_VPOS 0x0C
|
||||
#define ST_LEFT 0x00
|
||||
#define ST_RIGHT 0x01
|
||||
#define ST_CENTER 0x02
|
||||
#define ST_DOWN 0x04
|
||||
#define ST_UP 0x08
|
||||
#define ST_VCENTER 0x0c
|
||||
#define ST_TYPE 0xF0
|
||||
#define ST_SINGLE 0
|
||||
#define ST_MULTI 16
|
||||
#define ST_TITLE_BAR 32
|
||||
#define ST_PICTURE 48
|
||||
#define ST_FRAME 64
|
||||
#define ST_BACKGROUND 80
|
||||
#define ST_GROUP_BOX 96
|
||||
#define ST_GROUP_BOX2 112
|
||||
#define ST_HUD_BACKGROUND 128
|
||||
#define ST_TILE_PICTURE 144
|
||||
#define ST_WITH_RECT 160
|
||||
#define ST_LINE 176
|
||||
#define FontM "PuristaMedium"
|
||||
#define __XA SafeZoneXAbs
|
||||
#define __X SafeZoneX
|
||||
#define __Y SafeZoneY
|
||||
#define __WA SafeZoneWAbs
|
||||
#define __W SafeZoneW
|
||||
#define __H SafeZoneH
|
||||
|
||||
class ace_huntir_cam_dialog {
|
||||
idd = 18880;
|
||||
movingEnable = true;
|
||||
controlsBackground[] = { };
|
||||
objects[] = { };
|
||||
controls[] = {
|
||||
TOP_BORDER,
|
||||
BOTTOM_BORDER,
|
||||
LEFT_BORDER,
|
||||
RIGHT_BORDER,
|
||||
//HELP_DIALOG,
|
||||
CAM_BG,
|
||||
CAM_HEIGHT,
|
||||
CAM_ALT,
|
||||
CAM_No,
|
||||
CAM_NO_x,
|
||||
CAM_TIME_REMAIN,
|
||||
CAM_TIME,
|
||||
CAM_ZOOM,
|
||||
ZOOM_X,
|
||||
CAM_POS,
|
||||
CAM_POS_X,
|
||||
CAM_DIR,
|
||||
CAM_DIR_x
|
||||
};
|
||||
|
||||
class TOP_BORDER {
|
||||
idc = -1;
|
||||
type = CT_STATIC;
|
||||
style = ST_CENTER;
|
||||
x = __XA;
|
||||
y = __Y;
|
||||
w = __WA;
|
||||
h = 0.08;
|
||||
font = FontM;
|
||||
sizeEx = 0.04;
|
||||
colorText[] = { 1, 1, 1, 1 };
|
||||
colorBackground[] = {0,0,0,1};
|
||||
text = "";
|
||||
blinkingPeriod = 0;
|
||||
};
|
||||
class BOTTOM_BORDER: TOP_BORDER {
|
||||
y = __Y + __H - 0.05;
|
||||
h = 0.05;
|
||||
};
|
||||
class LEFT_BORDER: TOP_BORDER {
|
||||
w = (abs(__XA) - abs(__X)) + 0.05;
|
||||
h = __H;
|
||||
};
|
||||
class RIGHT_BORDER: TOP_BORDER {
|
||||
x = __X + __W - 0.05;
|
||||
w = (__WA - __W) + 0.05;
|
||||
h = __H;
|
||||
};
|
||||
class HELP_DIALOG {
|
||||
idc = -1;
|
||||
type = CT_BUTTON;
|
||||
style = ST_CENTER;
|
||||
font = FontM;
|
||||
sizeEx = 0.025;
|
||||
colorText[] = { 1, 1, 1, 1 };
|
||||
colorFocused[] = { 0.31, 0.31, 0.31, 0.31 };
|
||||
colorDisabled[] = { 0, 0, 1, 0.7 };
|
||||
colorBackground[] = { 0, 0, 0, 0 };
|
||||
colorBackgroundDisabled[] = { 1, 1, 1, 0.5 };
|
||||
colorBackgroundActive[] = { 0.5, 0.5, 0.5, 0.5 };
|
||||
offsetX = 0.003;
|
||||
offsetY = 0.003;
|
||||
offsetPressedX = 0.002;
|
||||
offsetPressedY = 0.002;
|
||||
colorShadow[] = { 0, 0, 0, 0.5 };
|
||||
colorBorder[] = { 0, 0, 0, 0 };
|
||||
borderSize = 0;
|
||||
soundEnter[] = { "", 0, 1 };
|
||||
soundPush[] = { "buttonpushed.ogg", 0.1, 1 };
|
||||
soundClick[] = { "", 0, 1 };
|
||||
soundEscape[] = { "", 0, 1 };
|
||||
x = __X + (2*0.8); y = __Y + 0.045;
|
||||
w = 0.05; h = 0.02;
|
||||
text = CSTRING(HELP);
|
||||
action = "createDialog 'ace_huntir_help_dialog'";
|
||||
};
|
||||
class CAM_BG {
|
||||
idc = -1;
|
||||
type = 0;
|
||||
style = 48;
|
||||
colorText[ ]={ 1,1,1,1 };
|
||||
colorBackground[ ]={ 0.4,0.4,0.4,1 };
|
||||
font = "PuristaMedium";
|
||||
sizeEx = 0.021;
|
||||
lineSpacing = 1;
|
||||
x = __X;
|
||||
y = __Y + 0.08;
|
||||
w = __W;
|
||||
h = __H + 0.2;
|
||||
border = 0;
|
||||
text = PATHTOF(UI\ace_huntir_monitor_on.paa);
|
||||
};
|
||||
class CAM_HEIGHT {
|
||||
type = CT_STATIC;
|
||||
idc = 1;
|
||||
style = ST_LEFT;
|
||||
colorBackground[] = {0, 0, 0, 0};
|
||||
colorText[] = {1, 1, 1, 1};
|
||||
font = FontM;
|
||||
sizeEx = 0.02;
|
||||
x = __X + 0.42;
|
||||
y = __Y + 0.32;
|
||||
w = 0.08;
|
||||
h = 0.04;
|
||||
text = "";
|
||||
blinkingPeriod = 0;
|
||||
};
|
||||
class CAM_ALT: CAM_HEIGHT {
|
||||
x = __X + 0.35;
|
||||
text = CSTRING(ALT);
|
||||
};
|
||||
class CAM_No: CAM_HEIGHT {
|
||||
x = __X + __W - 0.64;
|
||||
text = CSTRING(CAM);
|
||||
};
|
||||
class CAM_NO_x: CAM_HEIGHT {
|
||||
idc = 2;
|
||||
x = __X + __W - 0.56;
|
||||
y = __Y + 0.32;
|
||||
text = "";
|
||||
};
|
||||
class CAM_TIME: CAM_HEIGHT {
|
||||
x = __X + 0.35;
|
||||
y = __Y + __H - 0.65;
|
||||
w = 0.12;
|
||||
text = CSTRING(TIME);
|
||||
};
|
||||
class CAM_TIME_REMAIN: CAM_TIME {
|
||||
idc = 3;
|
||||
x = __X + 0.46;
|
||||
text = "";
|
||||
};
|
||||
class CAM_ZOOM: CAM_No {
|
||||
y = __Y + 0.36;
|
||||
text = "Zoom:";
|
||||
};
|
||||
class ZOOM_X: CAM_ZOOM {
|
||||
idc = 4;
|
||||
x = __X + __W - 0.56;
|
||||
text = "";
|
||||
};
|
||||
class CAM_POS: CAM_HEIGHT {
|
||||
x = __X + 0.35;
|
||||
y = __Y + 0.36;
|
||||
text = "GPS Pos:";
|
||||
};
|
||||
class CAM_POS_X: CAM_POS {
|
||||
idc = 5;
|
||||
x = __X + 0.42;
|
||||
w = 0.16;
|
||||
text = "";
|
||||
};
|
||||
class CAM_DIR: CAM_POS {
|
||||
y = __Y + 0.4;
|
||||
text = ""; //"Az:";
|
||||
};
|
||||
class CAM_DIR_x: CAM_DIR {
|
||||
idc = 6;
|
||||
x = __X + 0.42;
|
||||
w = 0.16;
|
||||
text = "";
|
||||
};
|
||||
};
|
||||
|
||||
class ace_huntir_cam_dialog_inactive: ace_huntir_cam_dialog {
|
||||
idd = 18881;
|
||||
controls[] = {
|
||||
TOP_BORDER,
|
||||
BOTTOM_BORDER,
|
||||
LEFT_BORDER,
|
||||
RIGHT_BORDER,
|
||||
//HELP_DIALOG,
|
||||
//PRESS_HELP,
|
||||
CAM_BG,
|
||||
SEARCHING_CAM
|
||||
};
|
||||
|
||||
class TOP_BORDER: TOP_BORDER {};
|
||||
class BOTTOM_BORDER: BOTTOM_BORDER {};
|
||||
class LEFT_BORDER: LEFT_BORDER {};
|
||||
class RIGHT_BORDER: RIGHT_BORDER {};
|
||||
class PRESS_HELP {
|
||||
idc = -1;
|
||||
type = CT_STATIC;
|
||||
style = ST_LEFT;
|
||||
x = __X + (__W - 0.2);
|
||||
y = __Y + 0.06;
|
||||
w = 0.4;
|
||||
h = 0.02;
|
||||
font = FontM;
|
||||
sizeEx = 0.02;
|
||||
colorText[] = {1, 1, 1, 1};
|
||||
colorBackground[] = {0,0,0,0};
|
||||
text = "";
|
||||
blinkingPeriod = 0;
|
||||
};
|
||||
class HELP_DIALOG {
|
||||
idc = -1;
|
||||
type = CT_STATIC;
|
||||
style = ST_LEFT;
|
||||
x = __X + (__W - 0.2);
|
||||
y = __Y + 0.03;
|
||||
w = 0.4;
|
||||
h = 0.02;
|
||||
font = FontM;
|
||||
sizeEx = 0.02;
|
||||
colorText[] = {1, 1, 1, 1};
|
||||
colorBackground[] = {0,0,0,0};
|
||||
text = CSTRING(ESC);
|
||||
blinkingPeriod = 0;
|
||||
};
|
||||
class CAM_BG: CAM_BG {};
|
||||
class SEARCHING_CAM {
|
||||
idc = 1;
|
||||
type = CT_STATIC;
|
||||
style = ST_LEFT;
|
||||
colorText[] = {1, 1, 1, 1};
|
||||
colorBackground[] = {0,0,0,0};
|
||||
x = __X + (__W/2) - 0.07;
|
||||
y = __Y + (__H/2);
|
||||
w = 0.6;
|
||||
h = 0.08;
|
||||
font = FontM;
|
||||
sizeEx = 0.04;
|
||||
text = "";
|
||||
blinkingPeriod = 0;
|
||||
};
|
||||
};
|
||||
|
||||
class ace_huntir_cam_dialog_off: ace_huntir_cam_dialog_inactive {
|
||||
idd = 18882;
|
||||
controls[] = {
|
||||
TOP_BORDER,
|
||||
BOTTOM_BORDER,
|
||||
LEFT_BORDER,
|
||||
RIGHT_BORDER,
|
||||
//HELP_DIALOG,
|
||||
//PRESS_HELP,
|
||||
CAM_BG
|
||||
};
|
||||
|
||||
class TOP_BORDER: TOP_BORDER {};
|
||||
class BOTTOM_BORDER: BOTTOM_BORDER {};
|
||||
class LEFT_BORDER: LEFT_BORDER {};
|
||||
class RIGHT_BORDER: RIGHT_BORDER {};
|
||||
class PRESS_HELP: PRESS_HELP {};
|
||||
class HELP_DIALOG: HELP_DIALOG {};
|
||||
class CAM_BG: CAM_BG { text = PATHTOF(UI\ace_huntir_monitor_off.paa); };
|
||||
};
|
||||
//ACTIVE PARA CAMERA DIALOG
|
||||
class ace_huntir_help_dialog: ace_huntir_cam_dialog {
|
||||
idd = -1;
|
||||
controls[] = {
|
||||
TOP_BORDER,
|
||||
BOTTOM_BORDER,
|
||||
LEFT_BORDER,
|
||||
RIGHT_BORDER,
|
||||
CAM_BG,
|
||||
CAM_HEIGHT,
|
||||
CAM_ALT,
|
||||
CAM_TIME_REMAIN,
|
||||
CAM_TIME,
|
||||
CAM_ZOOM,
|
||||
ZOOM_X,
|
||||
CAM_POS,
|
||||
CAM_POS_x,
|
||||
CAM_No,
|
||||
CAM_No_X,
|
||||
CAM_DIR,
|
||||
CAM_DIR_x,
|
||||
HELP0,
|
||||
HELP1,
|
||||
HELP2,
|
||||
HELP3,
|
||||
HELP4,
|
||||
HELP5,
|
||||
HELP6
|
||||
};
|
||||
class TOP_BORDER: TOP_BORDER {};
|
||||
class BOTTOM_BORDER: BOTTOM_BORDER {};
|
||||
class LEFT_BORDER: LEFT_BORDER {};
|
||||
class RIGHT_BORDER: RIGHT_BORDER {};
|
||||
class CAM_BG: CAM_BG {};
|
||||
class CAM_HEIGHT: CAM_HEIGHT {};
|
||||
class CAM_ALT: CAM_ALT {};
|
||||
class CAM_No: CAM_No {};
|
||||
class CAM_NO_x: CAM_NO_x {};
|
||||
class CAM_TIME_REMAIN: CAM_TIME_REMAIN {};
|
||||
class CAM_TIME: CAM_TIME {};
|
||||
class CAM_ZOOM: CAM_ZOOM {};
|
||||
class ZOOM_X: ZOOM_X {};
|
||||
class CAM_POS: CAM_POS {};
|
||||
class CAM_POS_X: CAM_POS_X {};
|
||||
class CAM_DIR: CAM_DIR {};
|
||||
class CAM_DIR_x: CAM_DIR_x {};
|
||||
class HELP0 {
|
||||
idc = -1;
|
||||
type = CT_STATIC;
|
||||
style = ST_LEFT;
|
||||
x = __X + (__W - 0.3);
|
||||
y = __Y + 0.03;
|
||||
w = 0.4;
|
||||
h = 0.03;
|
||||
font = FontM;
|
||||
sizeEx = 0.022;
|
||||
colorText[] = { 1, 1, 1, 1 };
|
||||
colorBackground[] = {0,0,0,1};
|
||||
text = CSTRING(HELP_EXIT);
|
||||
blinkingPeriod = 0;
|
||||
};
|
||||
class HELP1: HELP0 {
|
||||
y = __Y + 0.06;
|
||||
text = CSTRING(HELP_ZOOM);
|
||||
};
|
||||
class HELP2: HELP0 {
|
||||
y = __Y + 0.09;
|
||||
text = CSTRING(HELP_CAM);
|
||||
};
|
||||
class HELP3: HELP0 {
|
||||
y = __Y + 0.12;
|
||||
text = CSTRING(HELP_ROT);
|
||||
};
|
||||
class HELP4: HELP0 {
|
||||
y = __Y + 0.15;
|
||||
text = CSTRING(HELP_ELV);
|
||||
};
|
||||
class HELP5: HELP0 {
|
||||
y = __Y + 0.18;
|
||||
text = CSTRING(HELP_MOD);
|
||||
};
|
||||
class HELP6: HELP0 {
|
||||
y = __Y + 0.21;
|
||||
text = CSTRING(HELP_RES);
|
||||
};
|
||||
};
|
41
addons/huntir/RscTitles.hpp
Normal file
41
addons/huntir/RscTitles.hpp
Normal file
@ -0,0 +1,41 @@
|
||||
#define __FONTHEIGHT 0.02
|
||||
|
||||
class RscTitles {
|
||||
class ace_huntir_cam_rose {
|
||||
idd=-1;
|
||||
movingEnable = true;
|
||||
fadein = 0;
|
||||
fadeout = 1;
|
||||
duration = 1e+011;
|
||||
name="ace_huntir_cam_rose";
|
||||
onLoad = "uiNamespace setVariable ['ace_huntir_cam_rose', _this select 0]";
|
||||
class controls {
|
||||
class CHAR_N {
|
||||
type = 0;
|
||||
idc = 64432;
|
||||
style = 0;
|
||||
x = 0.497;y = 0.297;w = 0.2;h = 0.2;
|
||||
font = "PuristaMedium";
|
||||
sizeEx = __FONTHEIGHT;
|
||||
colorText[] = {1, 1, 1, 1};
|
||||
colorBackground[]={0,0,0,0};
|
||||
text = "N";
|
||||
};
|
||||
class CHAR_E: CHAR_N {
|
||||
idc = 64433;
|
||||
x = 0.697;y = 0.497;
|
||||
text = "E";
|
||||
};
|
||||
class CHAR_S: CHAR_N {
|
||||
idc = 64434;
|
||||
x = 0.497;y = 0.697;
|
||||
text = "S";
|
||||
};
|
||||
class CHAR_W: CHAR_N {
|
||||
idc = 64435;
|
||||
x = 0.297;y = 0.497;
|
||||
text = "W";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
BIN
addons/huntir/UI/ace_huntir_monitor_off.paa
Normal file
BIN
addons/huntir/UI/ace_huntir_monitor_off.paa
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user