mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Merge pull request #2219 from acemod/handSignals
Hand signals enhancement
This commit is contained in:
commit
15267c0433
11
addons/gestures/CfgEventHandlers.hpp
Normal file
11
addons/gestures/CfgEventHandlers.hpp
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
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));
|
||||||
|
};
|
||||||
|
};
|
145
addons/gestures/CfgVehicles.hpp
Normal file
145
addons/gestures/CfgVehicles.hpp
Normal file
@ -0,0 +1,145 @@
|
|||||||
|
class CfgVehicles {
|
||||||
|
|
||||||
|
class Man;
|
||||||
|
class CAManBase: Man {
|
||||||
|
class ACE_SelfActions {
|
||||||
|
class ADDON {
|
||||||
|
displayName = CSTRING(Gestures);
|
||||||
|
condition = QUOTE(canStand _target && GVAR(ReloadMutex));
|
||||||
|
statement = "";
|
||||||
|
showDisabled = 1;
|
||||||
|
priority = 3.5;
|
||||||
|
icon = PATHTOF(UI\gestures_ca.paa);
|
||||||
|
|
||||||
|
class GVAR(Advance) {
|
||||||
|
displayName = CSTRING(BIgestureAdvance);
|
||||||
|
condition = QUOTE(canStand _target);
|
||||||
|
statement = QUOTE(_target playActionNow 'gestureAdvance';);
|
||||||
|
showDisabled = 1;
|
||||||
|
priority = 1.9;
|
||||||
|
};
|
||||||
|
class GVAR(Go) {
|
||||||
|
displayName = CSTRING(BIgestureGo);
|
||||||
|
condition = QUOTE(canStand _target);
|
||||||
|
statement = QUOTE(_target playActionNow ([ARR_2('gestureGo','gestureGoB')] select floor random 2););
|
||||||
|
showDisabled = 1;
|
||||||
|
priority = 1.8;
|
||||||
|
};
|
||||||
|
class GVAR(Follow) {
|
||||||
|
displayName = CSTRING(BIgestureFollow);
|
||||||
|
condition = QUOTE(canStand _target);
|
||||||
|
statement = QUOTE(_target playActionNow 'gestureFollow';);
|
||||||
|
showDisabled = 1;
|
||||||
|
priority = 1.7;
|
||||||
|
};
|
||||||
|
class GVAR(Up) {
|
||||||
|
displayName = CSTRING(BIgestureUp);
|
||||||
|
condition = QUOTE(canStand _target);
|
||||||
|
statement = QUOTE(_target playActionNow 'gestureUp';);
|
||||||
|
showDisabled = 1;
|
||||||
|
priority = 1.5;
|
||||||
|
};
|
||||||
|
class GVAR(CeaseFire) {
|
||||||
|
displayName = CSTRING(BIgestureCeaseFire);
|
||||||
|
condition = QUOTE(canStand _target);
|
||||||
|
statement = QUOTE(_target playActionNow 'gestureCeaseFire';);
|
||||||
|
showDisabled = 1;
|
||||||
|
priority = 1.3;
|
||||||
|
};
|
||||||
|
class GVAR(Freeze) {
|
||||||
|
displayName = CSTRING(BIgestureFreeze);
|
||||||
|
condition = QUOTE(canStand _target);
|
||||||
|
statement = QUOTE(_target playActionNow 'gestureFreeze';);
|
||||||
|
showDisabled = 1;
|
||||||
|
priority = 1.2;
|
||||||
|
};
|
||||||
|
class GVAR(Forward) {
|
||||||
|
displayName = CSTRING(forward);
|
||||||
|
condition = QUOTE(canStand _target && GVAR(ReloadMutex));
|
||||||
|
statement = QUOTE(QUOTE(QGVAR(forward)) call FUNC(playSignal));
|
||||||
|
showDisabled = 1;
|
||||||
|
priority = 1.9;
|
||||||
|
};
|
||||||
|
class GVAR(Regroup) {
|
||||||
|
displayName = CSTRING(regroup);
|
||||||
|
condition = QUOTE(canStand _target && GVAR(ReloadMutex));
|
||||||
|
statement = QUOTE(QUOTE(QGVAR(regroup)) call FUNC(playSignal));
|
||||||
|
showDisabled = 1;
|
||||||
|
priority = 1.8;
|
||||||
|
};
|
||||||
|
class GVAR(Stop) {
|
||||||
|
displayName = CSTRING(stop);
|
||||||
|
condition = QUOTE(canStand _target && GVAR(ReloadMutex));
|
||||||
|
statement = QUOTE(QUOTE(QGVAR(stop)) call FUNC(playSignal));
|
||||||
|
showDisabled = 1;
|
||||||
|
priority = 1.7;
|
||||||
|
};
|
||||||
|
class GVAR(Cover) {
|
||||||
|
displayName = CSTRING(cover);
|
||||||
|
condition = QUOTE(canStand _target && GVAR(ReloadMutex));
|
||||||
|
statement = QUOTE(QUOTE(QGVAR(cover)) call FUNC(playSignal));
|
||||||
|
showDisabled = 1;
|
||||||
|
priority = 1.6;
|
||||||
|
};
|
||||||
|
class GVAR(Point) {
|
||||||
|
displayName = CSTRING(point);
|
||||||
|
condition = QUOTE(canStand _target && GVAR(ReloadMutex));
|
||||||
|
statement = QUOTE(QUOTE(QGVAR(point)) call FUNC(playSignal));
|
||||||
|
showDisabled = 1;
|
||||||
|
priority = 1.5;
|
||||||
|
};
|
||||||
|
class GVAR(Engage) {
|
||||||
|
displayName = CSTRING(engage);
|
||||||
|
condition = QUOTE(canStand _target && GVAR(ReloadMutex));
|
||||||
|
statement = QUOTE(QUOTE(QGVAR(engage)) call FUNC(playSignal));
|
||||||
|
showDisabled = 1;
|
||||||
|
priority = 1.4;
|
||||||
|
};
|
||||||
|
class GVAR(Hold) {
|
||||||
|
displayName = CSTRING(hold);
|
||||||
|
condition = QUOTE(canStand _target && GVAR(ReloadMutex));
|
||||||
|
statement = QUOTE(QUOTE(QGVAR(hold)) call FUNC(playSignal));
|
||||||
|
showDisabled = 1;
|
||||||
|
priority = 1.3;
|
||||||
|
};
|
||||||
|
class GVAR(Warning) {
|
||||||
|
displayName = CSTRING(warning);
|
||||||
|
condition = QUOTE(canStand _target && GVAR(ReloadMutex));
|
||||||
|
statement = QUOTE(QUOTE(QGVAR(warning)) call FUNC(playSignal));
|
||||||
|
showDisabled = 1;
|
||||||
|
priority = 1.2;
|
||||||
|
};
|
||||||
|
/*
|
||||||
|
class class GVAR(Yes) {
|
||||||
|
displayName = ECSTRING(common,Yes);
|
||||||
|
condition = QUOTE(canStand _target);
|
||||||
|
statement = QUOTE(_target playActionNow ([ARR_2('gestureYes','gestureNod')] select floor random 2););
|
||||||
|
showDisabled = 1;
|
||||||
|
priority = 1.1;
|
||||||
|
hotkey = "8";
|
||||||
|
};
|
||||||
|
|
||||||
|
class class GVAR(No) {
|
||||||
|
displayName = ECSTRING(common,No);
|
||||||
|
condition = QUOTE(canStand _target);
|
||||||
|
statement = QUOTE(_target playActionNow 'gestureNo';);
|
||||||
|
showDisabled = 1;
|
||||||
|
priority = 1.0;
|
||||||
|
hotkey = "9";
|
||||||
|
};
|
||||||
|
|
||||||
|
class class GVAR(Hi) {
|
||||||
|
displayName = CSTRING(Gestures_Hi);
|
||||||
|
condition = QUOTE(canStand _target);
|
||||||
|
statement = QUOTE(_target playActionNow ([ARR_3('gestureHi','gestureHiB','gestureHiC')] select floor random 3););
|
||||||
|
showDisabled = 1;
|
||||||
|
priority = 0.9;
|
||||||
|
hotkey = "0";
|
||||||
|
};
|
||||||
|
*/
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
38
addons/gestures/XEH_postInit.sqf
Normal file
38
addons/gestures/XEH_postInit.sqf
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
#include "script_component.hpp"
|
||||||
|
|
||||||
|
if (!hasInterface) exitWith {};
|
||||||
|
|
||||||
|
#include "key.sqf"
|
||||||
|
|
||||||
|
// reload mutex, you can't play signal while reloading
|
||||||
|
GVAR(ReloadMutex) = true;
|
||||||
|
|
||||||
|
// Event for main display to be loaded:
|
||||||
|
["mainDisplayLoaded", {
|
||||||
|
// handle reloading
|
||||||
|
(findDisplay 46) displayAddEventHandler ["KeyDown", {
|
||||||
|
if ((_this select 1) in actionKeys "ReloadMagazine") then {
|
||||||
|
if ((isNull ACE_player) || {!alive ACE_player}) exitWith {false};
|
||||||
|
private _weapon = currentWeapon ACE_player;
|
||||||
|
|
||||||
|
if (_weapon != "") then {
|
||||||
|
GVAR(ReloadMutex) = false;
|
||||||
|
|
||||||
|
private _gesture = getText (configfile >> "CfgWeapons" >> _weapon >> "reloadAction");
|
||||||
|
private _isLauncher = _weapon isKindOf ["Launcher", (configFile >> "CfgWeapons")];
|
||||||
|
private _config = ["CfgGesturesMale", "CfgMovesMaleSdr"] select _isLauncher;
|
||||||
|
private _duration = getNumber (configfile >> _config >> "States" >> _gesture >> "speed");
|
||||||
|
|
||||||
|
if (_duration != 0) then {
|
||||||
|
_duration = if (_duration < 0) then { abs _duration } else { 1 / _duration };
|
||||||
|
} else {
|
||||||
|
_duration = 3;
|
||||||
|
};
|
||||||
|
|
||||||
|
TRACE_2("Reloading, blocking gestures",_weapon,_duration);
|
||||||
|
[{GVAR(ReloadMutex) = true;}, [], _duration] call EFUNC(common,waitAndExecute);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
false
|
||||||
|
}];
|
||||||
|
}] call EFUNC(common,addEventHandler);
|
7
addons/gestures/XEH_preInit.sqf
Normal file
7
addons/gestures/XEH_preInit.sqf
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
#include "script_component.hpp"
|
||||||
|
|
||||||
|
ADDON = false;
|
||||||
|
|
||||||
|
PREP(playSignal);
|
||||||
|
|
||||||
|
ADDON = true;
|
BIN
addons/gestures/anim/ace_cover.rtm
Normal file
BIN
addons/gestures/anim/ace_cover.rtm
Normal file
Binary file not shown.
BIN
addons/gestures/anim/ace_cover_stand_lowered.rtm
Normal file
BIN
addons/gestures/anim/ace_cover_stand_lowered.rtm
Normal file
Binary file not shown.
BIN
addons/gestures/anim/ace_engage.rtm
Normal file
BIN
addons/gestures/anim/ace_engage.rtm
Normal file
Binary file not shown.
BIN
addons/gestures/anim/ace_engage_stand_lowered.rtm
Normal file
BIN
addons/gestures/anim/ace_engage_stand_lowered.rtm
Normal file
Binary file not shown.
BIN
addons/gestures/anim/ace_forward.rtm
Normal file
BIN
addons/gestures/anim/ace_forward.rtm
Normal file
Binary file not shown.
BIN
addons/gestures/anim/ace_forward_stand_lowered.rtm
Normal file
BIN
addons/gestures/anim/ace_forward_stand_lowered.rtm
Normal file
Binary file not shown.
BIN
addons/gestures/anim/ace_hold.rtm
Normal file
BIN
addons/gestures/anim/ace_hold.rtm
Normal file
Binary file not shown.
BIN
addons/gestures/anim/ace_hold_stand_lowered.rtm
Normal file
BIN
addons/gestures/anim/ace_hold_stand_lowered.rtm
Normal file
Binary file not shown.
BIN
addons/gestures/anim/ace_point.rtm
Normal file
BIN
addons/gestures/anim/ace_point.rtm
Normal file
Binary file not shown.
BIN
addons/gestures/anim/ace_point_stand_lowered.rtm
Normal file
BIN
addons/gestures/anim/ace_point_stand_lowered.rtm
Normal file
Binary file not shown.
BIN
addons/gestures/anim/ace_regroup.rtm
Normal file
BIN
addons/gestures/anim/ace_regroup.rtm
Normal file
Binary file not shown.
BIN
addons/gestures/anim/ace_regroup_stand_lowered.rtm
Normal file
BIN
addons/gestures/anim/ace_regroup_stand_lowered.rtm
Normal file
Binary file not shown.
BIN
addons/gestures/anim/ace_stop.rtm
Normal file
BIN
addons/gestures/anim/ace_stop.rtm
Normal file
Binary file not shown.
BIN
addons/gestures/anim/ace_stop_stand_lowered.rtm
Normal file
BIN
addons/gestures/anim/ace_stop_stand_lowered.rtm
Normal file
Binary file not shown.
BIN
addons/gestures/anim/ace_warning.rtm
Normal file
BIN
addons/gestures/anim/ace_warning.rtm
Normal file
Binary file not shown.
BIN
addons/gestures/anim/ace_warning_stand_lowered.rtm
Normal file
BIN
addons/gestures/anim/ace_warning_stand_lowered.rtm
Normal file
Binary file not shown.
200
addons/gestures/cfgMovesBasic.hpp
Normal file
200
addons/gestures/cfgMovesBasic.hpp
Normal file
@ -0,0 +1,200 @@
|
|||||||
|
class CfgMovesBasic {
|
||||||
|
class ManActions {
|
||||||
|
GVAR(forward) = QGVAR(forward);
|
||||||
|
GVAR(stop) = QGVAR(stop);
|
||||||
|
GVAR(cover) = QGVAR(cover);
|
||||||
|
GVAR(regroup) = QGVAR(regroup);
|
||||||
|
GVAR(engage) = QGVAR(engage);
|
||||||
|
GVAR(point) = QGVAR(point);
|
||||||
|
GVAR(hold) = QGVAR(hold);
|
||||||
|
GVAR(warning) = QGVAR(warningS);
|
||||||
|
|
||||||
|
GVAR(forwardStandLowered) = QGVAR(forwardStandLowered);
|
||||||
|
GVAR(stopStandLowered) = QGVAR(stopStandLowered);
|
||||||
|
GVAR(coverStandLowered) = QGVAR(coverStandLowered);
|
||||||
|
GVAR(regroupStandLowered) = QGVAR(regroupStandLowered);
|
||||||
|
GVAR(engageStandLowered) = QGVAR(engageStandLowered);
|
||||||
|
GVAR(pointStandLowered) = QGVAR(pointStandLowered);
|
||||||
|
GVAR(holdStandLowered) = QGVAR(holdStandLowered);
|
||||||
|
GVAR(warningStandLowered) = QGVAR(warningStandLowered);
|
||||||
|
};
|
||||||
|
|
||||||
|
class Actions {
|
||||||
|
class NoActions: ManActions {
|
||||||
|
GVAR(forward)[] = {QGVAR(forward), "Gesture"};
|
||||||
|
GVAR(stop)[] = {QGVAR(stop), "Gesture"};
|
||||||
|
GVAR(cover)[] = {QGVAR(cover), "Gesture"};
|
||||||
|
GVAR(regroup)[] = {QGVAR(regroup), "Gesture"};
|
||||||
|
GVAR(engage)[] = {QGVAR(engage), "Gesture"};
|
||||||
|
GVAR(point)[] = {QGVAR(point), "Gesture"};
|
||||||
|
GVAR(hold)[] = {QGVAR(hold), "Gesture"};
|
||||||
|
GVAR(warning)[] = {QGVAR(warning), "Gesture"};
|
||||||
|
|
||||||
|
GVAR(forwardStandLowered)[] = {QGVAR(forwardStandLowered), "Gesture"};
|
||||||
|
GVAR(stopStandLowered)[] = {QGVAR(stopStandLowered), "Gesture"};
|
||||||
|
GVAR(coverStandLowered)[] = {QGVAR(coverStandLowered), "Gesture"};
|
||||||
|
GVAR(regroupStandLowered)[] = {QGVAR(regroupStandLowered), "Gesture"};
|
||||||
|
GVAR(engageStandLowered)[] = {QGVAR(engageStandLowered), "Gesture"};
|
||||||
|
GVAR(pointStandLowered)[] = {QGVAR(pointStandLowered), "Gesture"};
|
||||||
|
GVAR(holdStandLowered)[] = {QGVAR(holdStandLowered), "Gesture"};
|
||||||
|
GVAR(warningStandLowered)[] = {QGVAR(warningStandLowered), "Gesture"};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
class CfgGesturesMale {
|
||||||
|
class Default;
|
||||||
|
|
||||||
|
class BlendAnims {
|
||||||
|
GVAR(LeftArm)[] = {
|
||||||
|
"LeftShoulder", 1,
|
||||||
|
"LeftArm", 1,
|
||||||
|
"LeftArmRoll", 1,
|
||||||
|
"LeftForeArm", 1,
|
||||||
|
"LeftForeArmRoll", 1,
|
||||||
|
"LeftHand", 1,
|
||||||
|
"LeftHandIndex1", 1,
|
||||||
|
"LeftHandIndex2", 1,
|
||||||
|
"LeftHandIndex3", 1,
|
||||||
|
"LeftHandMiddle1", 1,
|
||||||
|
"LeftHandMiddle2", 1,
|
||||||
|
"LeftHandMiddle3", 1,
|
||||||
|
"LeftHandPinky1", 1,
|
||||||
|
"LeftHandMiddle2", 1,
|
||||||
|
"LeftHandMiddle3", 1,
|
||||||
|
"LeftHandPinky1", 1,
|
||||||
|
"LeftHandPinky2", 1,
|
||||||
|
"LeftHandPinky3", 1,
|
||||||
|
"LeftHandRing", 1,
|
||||||
|
"LeftHandRing1", 1,
|
||||||
|
"LeftHandRing2", 1,
|
||||||
|
"LeftHandRing3", 1,
|
||||||
|
"LeftHandThumb1", 1,
|
||||||
|
"LeftHandThumb2", 1,
|
||||||
|
"LeftHandThumb3", 1
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
class States {
|
||||||
|
class GVAR(Base): Default {
|
||||||
|
actions = "NoActions";
|
||||||
|
canPullTrigger = 0;
|
||||||
|
connectAs = "";
|
||||||
|
connectFrom[] = {};
|
||||||
|
connectTo[] = {};
|
||||||
|
disableWeapons = 0;
|
||||||
|
enableBinocular = 1;
|
||||||
|
enableMissile = 1;
|
||||||
|
enableOptics = 0;
|
||||||
|
equivalentTo = "";
|
||||||
|
file = "\A3\anims_f\Data\anim\Sdr\gst\GestureHi.rtm";
|
||||||
|
forceAim = 0;
|
||||||
|
headBobMode = 0;
|
||||||
|
headBobStrength = 0;
|
||||||
|
interpolateFrom[] = {};
|
||||||
|
interpolateTo[] = {};
|
||||||
|
interpolateWith[] = {};
|
||||||
|
interpolationRestart = 0;
|
||||||
|
interpolationSpeed = 6;
|
||||||
|
looped = 0;
|
||||||
|
mask = QGVAR(LeftArm);
|
||||||
|
minPlayTime = 0.5;
|
||||||
|
preload = 0;
|
||||||
|
ragdoll = 0;
|
||||||
|
relSpeedMax = 1;
|
||||||
|
relSpeedMin = 1;
|
||||||
|
showHandGun = 0;
|
||||||
|
showItemInHand = 0;
|
||||||
|
showItemInRightHand = 0;
|
||||||
|
showWeaponAim = 1;
|
||||||
|
soundEdge[] = {0.5,1};
|
||||||
|
soundEnabled = 1;
|
||||||
|
soundOverride = "";
|
||||||
|
speed = -2;
|
||||||
|
static = 0;
|
||||||
|
terminal = 0;
|
||||||
|
Walkcycles = 1;
|
||||||
|
weaponIK = 1;
|
||||||
|
|
||||||
|
leftHandIKBeg = 1;
|
||||||
|
leftHandIKCurve[] = {0, 1, 0.1, 0, 0.8, 0, 1, 1};
|
||||||
|
leftHandIKEnd = 1;
|
||||||
|
|
||||||
|
rightHandIKBeg = 1;
|
||||||
|
rightHandIKCurve[] = {1};
|
||||||
|
rightHandIKEnd = 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
class GVAR(forward): GVAR(Base) {
|
||||||
|
file = QUOTE(PATHTOF(anim\ace_forward.rtm));
|
||||||
|
speed = 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
class GVAR(forwardStandLowered): GVAR(forward) {
|
||||||
|
file = QUOTE(PATHTOF(anim\ace_forward_stand_lowered.rtm));
|
||||||
|
};
|
||||||
|
|
||||||
|
class GVAR(stop): GVAR(forward) {
|
||||||
|
file = QUOTE(PATHTOF(anim\ace_stop.rtm));
|
||||||
|
speed = 0.6;
|
||||||
|
};
|
||||||
|
|
||||||
|
class GVAR(stopStandLowered): GVAR(stop) {
|
||||||
|
file = QUOTE(PATHTOF(anim\ace_stop_stand_lowered.rtm));
|
||||||
|
};
|
||||||
|
|
||||||
|
class GVAR(cover): GVAR(forward) {
|
||||||
|
file = QUOTE(PATHTOF(anim\ace_cover.rtm));
|
||||||
|
speed = 0.8;
|
||||||
|
};
|
||||||
|
|
||||||
|
class GVAR(coverStandLowered): GVAR(cover) {
|
||||||
|
file = QUOTE(PATHTOF(anim\ace_cover_stand_lowered.rtm));
|
||||||
|
};
|
||||||
|
|
||||||
|
class GVAR(regroup): GVAR(forward) {
|
||||||
|
file = QUOTE(PATHTOF(anim\ace_regroup.rtm));
|
||||||
|
speed = 0.8;
|
||||||
|
};
|
||||||
|
|
||||||
|
class GVAR(regroupStandLowered): GVAR(regroup) {
|
||||||
|
file = QUOTE(PATHTOF(anim\ace_regroup_stand_lowered.rtm));
|
||||||
|
};
|
||||||
|
|
||||||
|
class GVAR(engage): GVAR(forward) {
|
||||||
|
file = QUOTE(PATHTOF(anim\ace_engage.rtm));
|
||||||
|
speed = 0.9;
|
||||||
|
};
|
||||||
|
|
||||||
|
class GVAR(engageStandLowered): GVAR(engage) {
|
||||||
|
file = QUOTE(PATHTOF(anim\ace_engage_stand_lowered.rtm));
|
||||||
|
};
|
||||||
|
|
||||||
|
class GVAR(point): GVAR(forward) {
|
||||||
|
file = QUOTE(PATHTOF(anim\ace_point.rtm));
|
||||||
|
speed = 0.8;
|
||||||
|
};
|
||||||
|
|
||||||
|
class GVAR(pointStandLowered): GVAR(point) {
|
||||||
|
file = QUOTE(PATHTOF(anim\ace_point_stand_lowered.rtm));
|
||||||
|
};
|
||||||
|
|
||||||
|
class GVAR(hold): GVAR(forward) {
|
||||||
|
file = QUOTE(PATHTOF(anim\ace_hold.rtm));
|
||||||
|
speed = 0.8;
|
||||||
|
};
|
||||||
|
|
||||||
|
class GVAR(holdStandLowered): GVAR(hold) {
|
||||||
|
file = QUOTE(PATHTOF(anim\ace_hold_stand_lowered.rtm));
|
||||||
|
};
|
||||||
|
|
||||||
|
class GVAR(warning): GVAR(forward) {
|
||||||
|
file = QUOTE(PATHTOF(anim\ace_warning.rtm));
|
||||||
|
speed = 0.8;
|
||||||
|
};
|
||||||
|
|
||||||
|
class GVAR(warningStandLowered): GVAR(warning) {
|
||||||
|
file = QUOTE(PATHTOF(anim\ace_warning_stand_lowered.rtm));
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
17
addons/gestures/config.cpp
Normal file
17
addons/gestures/config.cpp
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
#include "script_component.hpp"
|
||||||
|
|
||||||
|
class CfgPatches {
|
||||||
|
class ADDON {
|
||||||
|
units[] = {};
|
||||||
|
weapons[] = {};
|
||||||
|
requiredVersion = REQUIRED_VERSION;
|
||||||
|
requiredAddons[] = {"ace_interact_menu"};
|
||||||
|
author[] = {"joko // Jonas", "Emperias", "Zigomarvin"};
|
||||||
|
authorUrl = "https://github.com/commy2/";
|
||||||
|
VERSION_CONFIG;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
#include "CfgMovesBasic.hpp"
|
||||||
|
#include "CfgEventHandlers.hpp"
|
||||||
|
#include "CfgVehicles.hpp"
|
33
addons/gestures/functions/fnc_playSignal.sqf
Normal file
33
addons/gestures/functions/fnc_playSignal.sqf
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
/*
|
||||||
|
* Author: joko // Jonas, Emperias, Zigomarvin
|
||||||
|
* Detect if the player and play the Gesture Animation
|
||||||
|
*
|
||||||
|
* Arguments:
|
||||||
|
* Animation <STRING>
|
||||||
|
*
|
||||||
|
* Return Value:
|
||||||
|
* <BOOL>
|
||||||
|
*
|
||||||
|
* Example:
|
||||||
|
* "GeniusAnimation" call ace_gestures_fnc_playSignal
|
||||||
|
*
|
||||||
|
* Public: No
|
||||||
|
*/
|
||||||
|
#include "script_component.hpp"
|
||||||
|
|
||||||
|
TRACE_1("params",_this);
|
||||||
|
|
||||||
|
if (!GVAR(ReloadMutex)) exitWith {false};
|
||||||
|
|
||||||
|
private _gesture = if (_this select [0,2] == "BI") then {
|
||||||
|
_this select [2]
|
||||||
|
} else {
|
||||||
|
if (((animationState ACE_player) select [0, 12]) in ["amovpercmstp", "amovpercmwlk", "amovpercmtac"] && weaponLowered ACE_player) then {
|
||||||
|
format ["%1StandLowered", _this]
|
||||||
|
} else {
|
||||||
|
_this
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
ACE_player playAction _gesture;
|
||||||
|
true
|
1
addons/gestures/functions/script_component.hpp
Normal file
1
addons/gestures/functions/script_component.hpp
Normal file
@ -0,0 +1 @@
|
|||||||
|
#include "\z\ace\addons\gestures\script_component.hpp"
|
38
addons/gestures/key.sqf
Normal file
38
addons/gestures/key.sqf
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
#include "\a3\editor_f\Data\Scripts\dikCodes.h"
|
||||||
|
|
||||||
|
{
|
||||||
|
_x params ["_currentName","_key"];
|
||||||
|
|
||||||
|
if (_currentName select [0,1] == "BI") then {
|
||||||
|
_currentName = _currentName select [2];
|
||||||
|
};
|
||||||
|
|
||||||
|
private _code = (compile format [QUOTE(QUOTE(QGVAR(%1)) call FUNC(playSignal);), _currentName]);
|
||||||
|
|
||||||
|
[
|
||||||
|
"ACE3 Gestures",
|
||||||
|
_currentName,
|
||||||
|
localize format[LSTRING(%1), _currentName],
|
||||||
|
_code,
|
||||||
|
{false},
|
||||||
|
[_key, [false, (_key != -1), false]],
|
||||||
|
false
|
||||||
|
] call CBA_fnc_addKeybind;
|
||||||
|
|
||||||
|
false
|
||||||
|
} count [
|
||||||
|
["stop", DIK_NUMPAD2],
|
||||||
|
["cover", DIK_NUMPAD3],
|
||||||
|
["forward", DIK_NUMPAD4],
|
||||||
|
["regroup", DIK_NUMPAD5],
|
||||||
|
["engage", DIK_NUMPAD6],
|
||||||
|
["point", DIK_NUMPAD7],
|
||||||
|
["hold", DIK_NUMPAD8],
|
||||||
|
["warning", DIK_NUMPAD9],
|
||||||
|
["BIgestureGo", -1],
|
||||||
|
["BIgestureAdvance", -1],
|
||||||
|
["BIgestureFollow", -1],
|
||||||
|
["BIgestureUp", -1],
|
||||||
|
["BIgestureFreeze", -1],
|
||||||
|
["BIgestureCeaseFire", -1]
|
||||||
|
];
|
12
addons/gestures/script_component.hpp
Normal file
12
addons/gestures/script_component.hpp
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
#define COMPONENT Gestures
|
||||||
|
#include "\z\ace\addons\main\script_mod.hpp"
|
||||||
|
|
||||||
|
#ifdef DEBUG_ENABLED_GESTURES
|
||||||
|
#define DEBUG_MODE_FULL
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef DEBUG_SETTINGS_GESTURES
|
||||||
|
#define DEBUG_SETTINGS DEBUG_SETTINGS_GESTURES
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "\z\ace\addons\main\script_macros.hpp"
|
198
addons/gestures/stringtable.xml
Normal file
198
addons/gestures/stringtable.xml
Normal file
@ -0,0 +1,198 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project name="ACE">
|
||||||
|
<Package name="Gestures">
|
||||||
|
<Key ID="STR_ACE_Gestures_Name">
|
||||||
|
<English>ACE Gestures</English>
|
||||||
|
<German>ACE Gesten</German>
|
||||||
|
<Polish>ACE Gesty</Polish>
|
||||||
|
<Czech>ACE Posunky</Czech>
|
||||||
|
<French>ACE Signaux</French>
|
||||||
|
<Hungarian>ACE Kézjelek</Hungarian>
|
||||||
|
<Italian>ACE Gesti</Italian>
|
||||||
|
<Portuguese>ACE Gestos</Portuguese>
|
||||||
|
<Russian>ACE Жесты</Russian>
|
||||||
|
<Spanish>ACE Gestos</Spanish>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Gestures_Gestures">
|
||||||
|
<English>Gestures</English>
|
||||||
|
<German>Gesten</German>
|
||||||
|
<Spanish>Gestos</Spanish>
|
||||||
|
<Polish>Gesty</Polish>
|
||||||
|
<Czech>Posunky</Czech>
|
||||||
|
<French>Signaux</French>
|
||||||
|
<Russian>Жесты</Russian>
|
||||||
|
<Hungarian>Kézjelek</Hungarian>
|
||||||
|
<Portuguese>Gestos</Portuguese>
|
||||||
|
<Italian>Gesti</Italian>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Gestures_BIgestureAdvance">
|
||||||
|
<English>Advance</English>
|
||||||
|
<German>Vordringen</German>
|
||||||
|
<Spanish>Avanzar</Spanish>
|
||||||
|
<Polish>Naprzód</Polish>
|
||||||
|
<Czech>Postoupit</Czech>
|
||||||
|
<French>Avancer</French>
|
||||||
|
<Russian>Продвигаться</Russian>
|
||||||
|
<Hungarian>Előre</Hungarian>
|
||||||
|
<Portuguese>Avançar</Portuguese>
|
||||||
|
<Italian>Avanzare</Italian>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Gestures_BIgestureGo">
|
||||||
|
<English>Go</English>
|
||||||
|
<German>Los</German>
|
||||||
|
<Spanish>Adelante</Spanish>
|
||||||
|
<Polish>Szybko</Polish>
|
||||||
|
<Czech>Jít</Czech>
|
||||||
|
<French>Aller</French>
|
||||||
|
<Russian>Идти</Russian>
|
||||||
|
<Hungarian>Mozgás</Hungarian>
|
||||||
|
<Portuguese>Mover-se</Portuguese>
|
||||||
|
<Italian>Muoversi</Italian>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Gestures_BIgestureFollow">
|
||||||
|
<English>Follow</English>
|
||||||
|
<German>Folgen</German>
|
||||||
|
<Spanish>Seguirme</Spanish>
|
||||||
|
<Polish>Za mną</Polish>
|
||||||
|
<Czech>Následovat</Czech>
|
||||||
|
<French>Suivre</French>
|
||||||
|
<Russian>Следовать</Russian>
|
||||||
|
<Hungarian>Utánam</Hungarian>
|
||||||
|
<Portuguese>Seguir</Portuguese>
|
||||||
|
<Italian>Seguire</Italian>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Gestures_BIgestureUp">
|
||||||
|
<English>Up</English>
|
||||||
|
<German>Aufstehen</German>
|
||||||
|
<Spanish>Arriba</Spanish>
|
||||||
|
<Polish>Do góry</Polish>
|
||||||
|
<Czech>Vztyk</Czech>
|
||||||
|
<French>Debout</French>
|
||||||
|
<Russian>Вверх</Russian>
|
||||||
|
<Hungarian>Fel</Hungarian>
|
||||||
|
<Portuguese>Acima</Portuguese>
|
||||||
|
<Italian>Alzarsi</Italian>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Gestures_BIgestureCeaseFire">
|
||||||
|
<English>Cease Fire</English>
|
||||||
|
<German>Feuer einstellen</German>
|
||||||
|
<Spanish>Alto el fuego</Spanish>
|
||||||
|
<Polish>Wstrzymać ogień</Polish>
|
||||||
|
<Czech>Zastavit palbu</Czech>
|
||||||
|
<French>Halte au feu</French>
|
||||||
|
<Russian>Прекратить огонь</Russian>
|
||||||
|
<Hungarian>Tüzet szüntess</Hungarian>
|
||||||
|
<Portuguese>Cessar Fogo</Portuguese>
|
||||||
|
<Italian>Cessare il Fuoco</Italian>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Gestures_BIGesturesPoint">
|
||||||
|
<English>Point</English>
|
||||||
|
<German>Zeigen</German>
|
||||||
|
<Spanish>Señalar</Spanish>
|
||||||
|
<Polish>Wskazać</Polish>
|
||||||
|
<Czech>Ukázat</Czech>
|
||||||
|
<French>Pointer</French>
|
||||||
|
<Russian>Точка</Russian>
|
||||||
|
<Hungarian>Mutat</Hungarian>
|
||||||
|
<Portuguese>Apontar</Portuguese>
|
||||||
|
<Italian>Puntare a</Italian>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Gestures_BIgestureFreeze">
|
||||||
|
<English>Freeze</English>
|
||||||
|
<German>Keine Bewegung</German>
|
||||||
|
<Spanish>Alto</Spanish>
|
||||||
|
<Polish>Stać</Polish>
|
||||||
|
<Czech>Stát</Czech>
|
||||||
|
<French>Halte</French>
|
||||||
|
<Russian>Замереть</Russian>
|
||||||
|
<Hungarian>Állj</Hungarian>
|
||||||
|
<Portuguese>Alto</Portuguese>
|
||||||
|
<Italian>Fermi</Italian>
|
||||||
|
</Key>
|
||||||
|
<!-- STOP -->
|
||||||
|
<Key ID="STR_ACE_Gestures_stop">
|
||||||
|
<English>Stop</English>
|
||||||
|
<French>Stop</French>
|
||||||
|
<German>Stop</German>
|
||||||
|
<Polish>Stop</Polish>
|
||||||
|
</Key>
|
||||||
|
<!-- COVER -->
|
||||||
|
<Key ID="STR_ACE_Gestures_cover">
|
||||||
|
<English>Cover</English>
|
||||||
|
<German>Deckung</German>
|
||||||
|
<Spanish>Cubrirse</Spanish>
|
||||||
|
<Polish>Do osłony</Polish>
|
||||||
|
<Czech>Krýt se</Czech>
|
||||||
|
<French>A couvert</French>
|
||||||
|
<Russian>Укрыться</Russian>
|
||||||
|
<Hungarian>Fedezékbe</Hungarian>
|
||||||
|
<Portuguese>Proteger-se</Portuguese>
|
||||||
|
<Italian>Copertura</Italian>
|
||||||
|
</Key>
|
||||||
|
<!-- REGROUP -->
|
||||||
|
<Key ID="STR_ACE_Gestures_regroup">
|
||||||
|
<English>Rally up</English>
|
||||||
|
<French>Regroupement</French>
|
||||||
|
<German>Sammeln</German>
|
||||||
|
<Polish>Zbiórka</Polish>
|
||||||
|
</Key>
|
||||||
|
<!-- FORWARD -->
|
||||||
|
<Key ID="STR_ACE_Gestures_forward">
|
||||||
|
<English>Move forward</English>
|
||||||
|
<French>En avant</French>
|
||||||
|
<German>Vorwärts Bewegen</German>
|
||||||
|
<Polish>Naprzód</Polish>
|
||||||
|
</Key>
|
||||||
|
<!-- ENGAGE -->
|
||||||
|
<Key ID="STR_ACE_Gestures_engage">
|
||||||
|
<English>Engage</English>
|
||||||
|
<French>Engager</French>
|
||||||
|
<Polish>Atak</Polish>
|
||||||
|
</Key>
|
||||||
|
<!-- POINT -->
|
||||||
|
<Key ID="STR_ACE_Gestures_point">
|
||||||
|
<English>Point</English>
|
||||||
|
<French>Pointer</French>
|
||||||
|
<German>Zeigen</German>
|
||||||
|
<Polish>Wskaż</Polish>
|
||||||
|
</Key>
|
||||||
|
<!-- HOLD -->
|
||||||
|
<Key ID="STR_ACE_Gestures_hold">
|
||||||
|
<English>Hold</English>
|
||||||
|
<French>Tenir</French>
|
||||||
|
<German>Anhalten</German>
|
||||||
|
<Polish>Wstrzymać</Polish>
|
||||||
|
</Key>
|
||||||
|
<!-- WARNING -->
|
||||||
|
<Key ID="STR_ACE_Gestures_warning">
|
||||||
|
<English>Warning</English>
|
||||||
|
<French>Attention</French>
|
||||||
|
<German>Achtung</German>
|
||||||
|
<Polish>Uwaga</Polish>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Gestures_Hi">
|
||||||
|
<English>Hi</English>
|
||||||
|
<German>Hallo</German>
|
||||||
|
<Spanish>Hola</Spanish>
|
||||||
|
<Polish>Witaj</Polish>
|
||||||
|
<Czech>Ahoj</Czech>
|
||||||
|
<French>Salut</French>
|
||||||
|
<Russian>Привет</Russian>
|
||||||
|
<Hungarian>Helló</Hungarian>
|
||||||
|
<Portuguese>Olá</Portuguese>
|
||||||
|
<Italian>Ciao</Italian>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Gestures_Attack">
|
||||||
|
<English>Attack</English>
|
||||||
|
<German>Angreifen</German>
|
||||||
|
<Spanish>Atacar</Spanish>
|
||||||
|
<Polish>Do ataku</Polish>
|
||||||
|
<Czech>Zaútočit</Czech>
|
||||||
|
<French>Attaquer</French>
|
||||||
|
<Russian>Атаковать</Russian>
|
||||||
|
<Hungarian>Támadás</Hungarian>
|
||||||
|
<Portuguese>Atacar</Portuguese>
|
||||||
|
<Italian>Attaccare</Italian>
|
||||||
|
</Key>
|
||||||
|
</Package>
|
||||||
|
</Project>
|
@ -297,112 +297,6 @@ class CfgVehicles {
|
|||||||
hotkey = "M";
|
hotkey = "M";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
class ACE_Gestures {
|
|
||||||
displayName = CSTRING(Gestures);
|
|
||||||
condition = "canStand _target";
|
|
||||||
statement = "";
|
|
||||||
showDisabled = 1;
|
|
||||||
priority = 3.5;
|
|
||||||
icon = PATHTOF(UI\gestures_ca.paa);
|
|
||||||
hotkey = "G";
|
|
||||||
|
|
||||||
/*class ACE_Gesture_Advance {
|
|
||||||
displayName = CSTRING(Gestures_Attack);
|
|
||||||
condition = "canStand _target";
|
|
||||||
statement = "_target playActionNow 'gestureAttack';";
|
|
||||||
showDisabled = 1;
|
|
||||||
priority = 2.0;
|
|
||||||
};*/
|
|
||||||
class ACE_Gesture_Advance {
|
|
||||||
displayName = CSTRING(Gestures_Advance);
|
|
||||||
condition = QUOTE(canStand _target);
|
|
||||||
statement = QUOTE(_target playActionNow 'gestureAdvance';);
|
|
||||||
showDisabled = 1;
|
|
||||||
priority = 1.9;
|
|
||||||
hotkey = "1";
|
|
||||||
};
|
|
||||||
class ACE_Gesture_Go {
|
|
||||||
displayName = CSTRING(Gestures_Go);
|
|
||||||
condition = QUOTE(canStand _target);
|
|
||||||
statement = QUOTE(_target playActionNow ([ARR_2('gestureGo','gestureGoB')] select floor random 2););
|
|
||||||
showDisabled = 1;
|
|
||||||
priority = 1.8;
|
|
||||||
hotkey = "2";
|
|
||||||
};
|
|
||||||
class ACE_Gesture_Follow {
|
|
||||||
displayName = CSTRING(Gestures_Follow);
|
|
||||||
condition = QUOTE(canStand _target);
|
|
||||||
statement = QUOTE(_target playActionNow 'gestureFollow';);
|
|
||||||
showDisabled = 1;
|
|
||||||
priority = 1.7;
|
|
||||||
hotkey = "3";
|
|
||||||
};
|
|
||||||
/*class ACE_Gesture_Point {
|
|
||||||
displayName = CSTRING(Gestures_Point);
|
|
||||||
condition = QUOTE(canStand _target);
|
|
||||||
statement = QUOTE(_target playActionNow 'gesturePoint';);
|
|
||||||
showDisabled = 1;
|
|
||||||
priority = 1.6;
|
|
||||||
};*/
|
|
||||||
class ACE_Gesture_Up {
|
|
||||||
displayName = CSTRING(Gestures_Up);
|
|
||||||
condition = QUOTE(canStand _target);
|
|
||||||
statement = QUOTE(_target playActionNow 'gestureUp';);
|
|
||||||
showDisabled = 1;
|
|
||||||
priority = 1.5;
|
|
||||||
hotkey = "4";
|
|
||||||
};
|
|
||||||
class ACE_Gesture_Cover {
|
|
||||||
displayName = CSTRING(Gestures_Cover);
|
|
||||||
condition = QUOTE(canStand _target);
|
|
||||||
statement = QUOTE(_target playActionNow 'gestureCover';);
|
|
||||||
showDisabled = 1;
|
|
||||||
priority = 1.4;
|
|
||||||
hotkey = "5";
|
|
||||||
};
|
|
||||||
class ACE_Gesture_CeaseFire {
|
|
||||||
displayName = CSTRING(Gestures_Cease_Fire);
|
|
||||||
condition = QUOTE(canStand _target);
|
|
||||||
statement = QUOTE(_target playActionNow 'gestureCeaseFire';);
|
|
||||||
showDisabled = 1;
|
|
||||||
priority = 1.3;
|
|
||||||
hotkey = "6";
|
|
||||||
};
|
|
||||||
class ACE_Gesture_Freeze {
|
|
||||||
displayName = CSTRING(Gestures_Freeze);
|
|
||||||
condition = QUOTE(canStand _target);
|
|
||||||
statement = QUOTE(_target playActionNow 'gestureFreeze';);
|
|
||||||
showDisabled = 1;
|
|
||||||
priority = 1.2;
|
|
||||||
hotkey = "7";
|
|
||||||
};
|
|
||||||
class ACE_Gesture_Yes {
|
|
||||||
displayName = ECSTRING(common,Yes);
|
|
||||||
condition = QUOTE(canStand _target);
|
|
||||||
statement = QUOTE(_target playActionNow ([ARR_2('gestureYes','gestureNod')] select floor random 2););
|
|
||||||
showDisabled = 1;
|
|
||||||
priority = 1.1;
|
|
||||||
hotkey = "8";
|
|
||||||
};
|
|
||||||
class ACE_Gesture_No {
|
|
||||||
displayName = ECSTRING(common,No);
|
|
||||||
condition = QUOTE(canStand _target);
|
|
||||||
statement = QUOTE(_target playActionNow 'gestureNo';);
|
|
||||||
showDisabled = 1;
|
|
||||||
priority = 1.0;
|
|
||||||
hotkey = "9";
|
|
||||||
};
|
|
||||||
class ACE_Gesture_Hi {
|
|
||||||
displayName = CSTRING(Gestures_Hi);
|
|
||||||
condition = QUOTE(canStand _target);
|
|
||||||
statement = QUOTE(_target playActionNow ([ARR_3('gestureHi','gestureHiB','gestureHiC')] select floor random 3););
|
|
||||||
showDisabled = 1;
|
|
||||||
priority = 0.9;
|
|
||||||
hotkey = "0";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
class ACE_Equipment {
|
class ACE_Equipment {
|
||||||
displayName = CSTRING(Equipment);
|
displayName = CSTRING(Equipment);
|
||||||
condition = QUOTE(true);
|
condition = QUOTE(true);
|
||||||
|
@ -253,138 +253,6 @@
|
|||||||
<Portuguese><< Voltar</Portuguese>
|
<Portuguese><< Voltar</Portuguese>
|
||||||
<Italian><< Indietro</Italian>
|
<Italian><< Indietro</Italian>
|
||||||
</Key>
|
</Key>
|
||||||
<Key ID="STR_ACE_Interaction_Gestures">
|
|
||||||
<English>Gestures</English>
|
|
||||||
<German>Gesten</German>
|
|
||||||
<Spanish>Gestos</Spanish>
|
|
||||||
<Polish>Gesty</Polish>
|
|
||||||
<Czech>Posunky</Czech>
|
|
||||||
<French>Signaux</French>
|
|
||||||
<Russian>Жесты</Russian>
|
|
||||||
<Hungarian>Kézjelek</Hungarian>
|
|
||||||
<Portuguese>Gestos</Portuguese>
|
|
||||||
<Italian>Gesti</Italian>
|
|
||||||
</Key>
|
|
||||||
<Key ID="STR_ACE_Interaction_Gestures_Attack">
|
|
||||||
<English>Attack</English>
|
|
||||||
<German>Angreifen</German>
|
|
||||||
<Spanish>Atacar</Spanish>
|
|
||||||
<Polish>Do ataku</Polish>
|
|
||||||
<Czech>Zaútočit</Czech>
|
|
||||||
<French>Attaquer</French>
|
|
||||||
<Russian>Атаковать</Russian>
|
|
||||||
<Hungarian>Támadás</Hungarian>
|
|
||||||
<Portuguese>Atacar</Portuguese>
|
|
||||||
<Italian>Attaccare</Italian>
|
|
||||||
</Key>
|
|
||||||
<Key ID="STR_ACE_Interaction_Gestures_Advance">
|
|
||||||
<English>Advance</English>
|
|
||||||
<German>Vordringen</German>
|
|
||||||
<Spanish>Avanzar</Spanish>
|
|
||||||
<Polish>Naprzód</Polish>
|
|
||||||
<Czech>Postoupit</Czech>
|
|
||||||
<French>Avancer</French>
|
|
||||||
<Russian>Продвигаться</Russian>
|
|
||||||
<Hungarian>Előre</Hungarian>
|
|
||||||
<Portuguese>Avançar</Portuguese>
|
|
||||||
<Italian>Avanzare</Italian>
|
|
||||||
</Key>
|
|
||||||
<Key ID="STR_ACE_Interaction_Gestures_Go">
|
|
||||||
<English>Go</English>
|
|
||||||
<German>Los</German>
|
|
||||||
<Spanish>Adelante</Spanish>
|
|
||||||
<Polish>Szybko</Polish>
|
|
||||||
<Czech>Jít</Czech>
|
|
||||||
<French>Aller</French>
|
|
||||||
<Russian>Идти</Russian>
|
|
||||||
<Hungarian>Mozgás</Hungarian>
|
|
||||||
<Portuguese>Mover-se</Portuguese>
|
|
||||||
<Italian>Muoversi</Italian>
|
|
||||||
</Key>
|
|
||||||
<Key ID="STR_ACE_Interaction_Gestures_Follow">
|
|
||||||
<English>Follow</English>
|
|
||||||
<German>Folgen</German>
|
|
||||||
<Spanish>Seguirme</Spanish>
|
|
||||||
<Polish>Za mną</Polish>
|
|
||||||
<Czech>Následovat</Czech>
|
|
||||||
<French>Suivre</French>
|
|
||||||
<Russian>Следовать</Russian>
|
|
||||||
<Hungarian>Utánam</Hungarian>
|
|
||||||
<Portuguese>Seguir</Portuguese>
|
|
||||||
<Italian>Seguire</Italian>
|
|
||||||
</Key>
|
|
||||||
<Key ID="STR_ACE_Interaction_Gestures_Point">
|
|
||||||
<English>Point</English>
|
|
||||||
<German>Zeigen</German>
|
|
||||||
<Spanish>Señalar</Spanish>
|
|
||||||
<Polish>Wskazać</Polish>
|
|
||||||
<Czech>Ukázat</Czech>
|
|
||||||
<French>Pointer</French>
|
|
||||||
<Russian>Точка</Russian>
|
|
||||||
<Hungarian>Mutat</Hungarian>
|
|
||||||
<Portuguese>Apontar</Portuguese>
|
|
||||||
<Italian>Puntare a</Italian>
|
|
||||||
</Key>
|
|
||||||
<Key ID="STR_ACE_Interaction_Gestures_Up">
|
|
||||||
<English>Up</English>
|
|
||||||
<German>Aufstehen</German>
|
|
||||||
<Spanish>Arriba</Spanish>
|
|
||||||
<Polish>Do góry</Polish>
|
|
||||||
<Czech>Vztyk</Czech>
|
|
||||||
<French>Debout</French>
|
|
||||||
<Russian>Вверх</Russian>
|
|
||||||
<Hungarian>Fel</Hungarian>
|
|
||||||
<Portuguese>Acima</Portuguese>
|
|
||||||
<Italian>Alzarsi</Italian>
|
|
||||||
</Key>
|
|
||||||
<Key ID="STR_ACE_Interaction_Gestures_Cover">
|
|
||||||
<English>Cover</English>
|
|
||||||
<German>Deckung</German>
|
|
||||||
<Spanish>Cubrirse</Spanish>
|
|
||||||
<Polish>Do osłony</Polish>
|
|
||||||
<Czech>Krýt se</Czech>
|
|
||||||
<French>A couvert</French>
|
|
||||||
<Russian>Укрыться</Russian>
|
|
||||||
<Hungarian>Fedezékbe</Hungarian>
|
|
||||||
<Portuguese>Proteger-se</Portuguese>
|
|
||||||
<Italian>Copertura</Italian>
|
|
||||||
</Key>
|
|
||||||
<Key ID="STR_ACE_Interaction_Gestures_Cease_Fire">
|
|
||||||
<English>Cease Fire</English>
|
|
||||||
<German>Feuer einstellen</German>
|
|
||||||
<Spanish>Alto el fuego</Spanish>
|
|
||||||
<Polish>Wstrzymać ogień</Polish>
|
|
||||||
<Czech>Zastavit palbu</Czech>
|
|
||||||
<French>Halte au feu</French>
|
|
||||||
<Russian>Прекратить огонь</Russian>
|
|
||||||
<Hungarian>Tüzet szüntess</Hungarian>
|
|
||||||
<Portuguese>Cessar Fogo</Portuguese>
|
|
||||||
<Italian>Cessare il Fuoco</Italian>
|
|
||||||
</Key>
|
|
||||||
<Key ID="STR_ACE_Interaction_Gestures_Freeze">
|
|
||||||
<English>Freeze</English>
|
|
||||||
<German>Keine Bewegung</German>
|
|
||||||
<Spanish>Alto</Spanish>
|
|
||||||
<Polish>Stać</Polish>
|
|
||||||
<Czech>Stát</Czech>
|
|
||||||
<French>Halte</French>
|
|
||||||
<Russian>Замереть</Russian>
|
|
||||||
<Hungarian>Állj</Hungarian>
|
|
||||||
<Portuguese>Alto</Portuguese>
|
|
||||||
<Italian>Fermi</Italian>
|
|
||||||
</Key>
|
|
||||||
<Key ID="STR_ACE_Interaction_Gestures_Hi">
|
|
||||||
<English>Hi</English>
|
|
||||||
<German>Hallo</German>
|
|
||||||
<Spanish>Hola</Spanish>
|
|
||||||
<Polish>Witaj</Polish>
|
|
||||||
<Czech>Ahoj</Czech>
|
|
||||||
<French>Salut</French>
|
|
||||||
<Russian>Привет</Russian>
|
|
||||||
<Hungarian>Helló</Hungarian>
|
|
||||||
<Portuguese>Olá</Portuguese>
|
|
||||||
<Italian>Ciao</Italian>
|
|
||||||
</Key>
|
|
||||||
<Key ID="STR_ACE_Interaction_WeaponOnBack">
|
<Key ID="STR_ACE_Interaction_WeaponOnBack">
|
||||||
<English>Put weapon on back</English>
|
<English>Put weapon on back</English>
|
||||||
<German>Waffe wegstecken</German>
|
<German>Waffe wegstecken</German>
|
||||||
|
Loading…
Reference in New Issue
Block a user