mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
extract Gestures to own Module and Port THS to ACE
This commit is contained in:
parent
cb65a67a3e
commit
bfcf057dab
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));
|
||||
};
|
||||
};
|
158
addons/gestures/CfgVehicles.hpp
Normal file
158
addons/gestures/CfgVehicles.hpp
Normal file
@ -0,0 +1,158 @@
|
||||
class CfgVehicles {
|
||||
|
||||
class Man;
|
||||
class CAManBase: Man {
|
||||
class ACE_SelfActions {
|
||||
class ACE_Gestures {
|
||||
displayName = CSTRING(Gestures);
|
||||
condition = QUOTE(canStand _target && GVAR(ReloadMutex));
|
||||
statement = "";
|
||||
showDisabled = 1;
|
||||
priority = 3.5;
|
||||
icon = PATHTOF(UI\gestures_ca.paa);
|
||||
class ACE_Gesture_Advance {
|
||||
displayName = CSTRING(BIgestureAdvance);
|
||||
condition = QUOTE(canStand _target);
|
||||
statement = QUOTE(_target playActionNow 'gestureAdvance';);
|
||||
showDisabled = 1;
|
||||
priority = 1.9;
|
||||
};
|
||||
|
||||
class ACE_Gesture_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 ACE_Gesture_Follow {
|
||||
displayName = CSTRING(BIgestureFollow);
|
||||
condition = QUOTE(canStand _target);
|
||||
statement = QUOTE(_target playActionNow 'gestureFollow';);
|
||||
showDisabled = 1;
|
||||
priority = 1.7;
|
||||
};
|
||||
|
||||
class ACE_Gesture_Up {
|
||||
displayName = CSTRING(BIgestureUp);
|
||||
condition = QUOTE(canStand _target);
|
||||
statement = QUOTE(_target playActionNow 'gestureUp';);
|
||||
showDisabled = 1;
|
||||
priority = 1.5;
|
||||
};
|
||||
|
||||
class ACE_Gesture_CeaseFire {
|
||||
displayName = CSTRING(BIgestureCeaseFire);
|
||||
condition = QUOTE(canStand _target);
|
||||
statement = QUOTE(_target playActionNow 'gestureCeaseFire';);
|
||||
showDisabled = 1;
|
||||
priority = 1.3;
|
||||
};
|
||||
|
||||
class ACE_Gesture_Freeze {
|
||||
displayName = CSTRING(BIgestureFreeze);
|
||||
condition = QUOTE(canStand _target);
|
||||
statement = QUOTE(_target playActionNow 'gestureFreeze';);
|
||||
showDisabled = 1;
|
||||
priority = 1.2;
|
||||
};
|
||||
|
||||
class ACE_Gesture_Forward {
|
||||
displayName = CSTRING(forward);
|
||||
condition = QUOTE(canStand _target && GVAR(ReloadMutex));
|
||||
statement = QUOTE(QUOTE(QGVAR(forward)) call FUNC(playSignal));
|
||||
showDisabled = 1;
|
||||
priority = 1.9;
|
||||
};
|
||||
|
||||
class ACE_Gesture_Regroup {
|
||||
displayName = CSTRING(regroup);
|
||||
condition = QUOTE(canStand _target && GVAR(ReloadMutex));
|
||||
statement = QUOTE(QUOTE(QGVAR(regroup)) call FUNC(playSignal));
|
||||
showDisabled = 1;
|
||||
priority = 1.8;
|
||||
};
|
||||
|
||||
class ACE_Gesture_Stop {
|
||||
displayName = CSTRING(stop);
|
||||
condition = QUOTE(canStand _target && GVAR(ReloadMutex));
|
||||
statement = QUOTE(QUOTE(QGVAR(stop)) call FUNC(playSignal));
|
||||
showDisabled = 1;
|
||||
priority = 1.7;
|
||||
};
|
||||
|
||||
class ACE_Gesture_Cover {
|
||||
displayName = CSTRING(cover);
|
||||
condition = QUOTE(canStand _target && GVAR(ReloadMutex));
|
||||
statement = QUOTE(QUOTE(QGVAR(cover)) call FUNC(playSignal));
|
||||
showDisabled = 1;
|
||||
priority = 1.6;
|
||||
};
|
||||
|
||||
class ACE_Gesture_Point {
|
||||
displayName = CSTRING(point);
|
||||
condition = QUOTE(canStand _target && GVAR(ReloadMutex));
|
||||
statement = QUOTE(QUOTE(QGVAR(point)) call FUNC(playSignal));
|
||||
showDisabled = 1;
|
||||
priority = 1.5;
|
||||
};
|
||||
|
||||
class ACE_Gesture_Engage {
|
||||
displayName = CSTRING(engage);
|
||||
condition = QUOTE(canStand _target && GVAR(ReloadMutex));
|
||||
statement = QUOTE(QUOTE(QGVAR(engage)) call FUNC(playSignal));
|
||||
showDisabled = 1;
|
||||
priority = 1.4;
|
||||
};
|
||||
|
||||
class ACE_Gesture_Hold {
|
||||
displayName = CSTRING(hold);
|
||||
condition = QUOTE(canStand _target && GVAR(ReloadMutex));
|
||||
statement = QUOTE(QUOTE(QGVAR(hold)) call FUNC(playSignal));
|
||||
showDisabled = 1;
|
||||
priority = 1.3;
|
||||
};
|
||||
|
||||
class ACE_Gesture_Warning {
|
||||
displayName = CSTRING(warning);
|
||||
condition = QUOTE(canStand _target && GVAR(ReloadMutex));
|
||||
statement = QUOTE(QUOTE(QGVAR(warning)) call FUNC(playSignal));
|
||||
showDisabled = 1;
|
||||
priority = 1.2;
|
||||
};
|
||||
|
||||
/*
|
||||
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";
|
||||
};
|
||||
*/
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
};
|
BIN
addons/gestures/UI/gestures_ca.paa
Normal file
BIN
addons/gestures/UI/gestures_ca.paa
Normal file
Binary file not shown.
36
addons/gestures/XEH_postInit.sqf
Normal file
36
addons/gestures/XEH_postInit.sqf
Normal file
@ -0,0 +1,36 @@
|
||||
#include "script_component.hpp"
|
||||
|
||||
#include "key.sqf"
|
||||
|
||||
// reload mutex, you can't play signal while reloading
|
||||
GVAR(ReloadMutex) = true;
|
||||
|
||||
// PFH for Reloading
|
||||
[{
|
||||
if (isNull (findDisplay 46)) exitWith {};
|
||||
// handle reloading
|
||||
(findDisplay 46) displayAddEventHandler ["KeyDown", {
|
||||
if ((_this select 1) in actionKeys "ReloadMagazine") then {
|
||||
_weapon = currentWeapon ACE_player;
|
||||
|
||||
if (_weapon != "") then {
|
||||
GVAR(ReloadMutex) = false;
|
||||
|
||||
_gesture = getText (configfile >> "CfgWeapons" >> _this >> "reloadAction");
|
||||
_isLauncher = "Launcher" in ([configFile >> "CfgWeapons" >> _this, true] call BIS_fnc_returnParents);
|
||||
_config = ["CfgGesturesMale", "CfgMovesMaleSdr"] select _isLauncher;
|
||||
_duration = getNumber (configfile >> _config >> "States" >> _gesture >> "speed");
|
||||
|
||||
if (_duration != 0) then {
|
||||
_duration = if (_duration < 0) then { abs _duration } else { 1 / _duration };
|
||||
} else {
|
||||
_duration = 3;
|
||||
};
|
||||
|
||||
[{GVAR(ReloadMutex) = true;}, [], _duration] call EFUNC(common,waitAndExecute);
|
||||
};
|
||||
};
|
||||
false
|
||||
}];
|
||||
[_this select 1] call CBA_fnc_removePerFrameHandler;
|
||||
}, 0,[]] call CBA_fnc_addPerFrameHandler;
|
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(covertandLowered) = QGVAR(covertandLowered);
|
||||
GVAR(regroupStandLowered) = QGVAR(regroupStandLowered);
|
||||
GVAR(engageStandLowered) = QGVAR(engageStandLowered);
|
||||
GVAR(pointStandLowered) = QGVAR(pointStandLowered);
|
||||
GVAR(holdStandLowered) = QGVAR(holdStandLowered);
|
||||
GVAR(warningtandLowered) = QGVAR(warningtandLowered);
|
||||
};
|
||||
|
||||
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(covertandLowered)[] = {QGVAR(covertandLowered), "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\Dataanim\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(covertandLowered): 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(warningtandLowered): 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"
|
30
addons/gestures/functions/fnc_playSignal.sqf
Normal file
30
addons/gestures/functions/fnc_playSignal.sqf
Normal file
@ -0,0 +1,30 @@
|
||||
#include "script_component.hpp"
|
||||
/*
|
||||
* Author: joko // Jonas, Emperias, Zigomarvin
|
||||
* Detect if the player and play the Gesture Animation
|
||||
*
|
||||
* Arguments:
|
||||
* Animation <STRING>
|
||||
*
|
||||
* Return Value:
|
||||
* <BOOL>
|
||||
*
|
||||
* Example:
|
||||
* "GeniusAnimation" call ace_handSignals_fnc_playSignal
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
|
||||
if (!GVAR(ReloadMutex)) exitWith {false};
|
||||
private "_gesture";
|
||||
_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"
|
52
addons/gestures/key.sqf
Normal file
52
addons/gestures/key.sqf
Normal file
@ -0,0 +1,52 @@
|
||||
#include "\a3\editor_f\Data\Scripts\dikCodes.h"
|
||||
|
||||
{
|
||||
_x params ["_currentName","_key"];
|
||||
|
||||
if (_currentName select [0,1] == "BI") then {
|
||||
_currentName = _currentName select [2];
|
||||
};
|
||||
|
||||
_code = (compile format [QUOTE(QUOTE(QGVAR(_%1)) call FUNC(playSignal); hint 'KeyDown'), _currentName]);
|
||||
|
||||
[
|
||||
"ACE3 Gestures",
|
||||
_currentName,
|
||||
localize format[LSTRING(%1), _currentName],
|
||||
_code,
|
||||
{hint "key Up"},
|
||||
[_key, [false, (_key != -1), false]],
|
||||
false
|
||||
] call CBA_fnc_addKeybind;
|
||||
|
||||
/*
|
||||
if (56 in (actionKeys "LookAround")) then {
|
||||
[
|
||||
"ACE3 Gestures",
|
||||
_currentName + "ALT",
|
||||
localize format[LSTRING(%1), _currentName],
|
||||
_code,
|
||||
{},
|
||||
[_key, if (_key == 0) then {[false, false, false]} else { [false, true, true] }],
|
||||
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"
|
191
addons/gestures/stringtable.xml
Normal file
191
addons/gestures/stringtable.xml
Normal file
@ -0,0 +1,191 @@
|
||||
<?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>
|
||||
</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>
|
||||
|
||||
<!-- FREE LOOK -->
|
||||
<Key ID="STR_ACE_Gestures_FREELOOK">
|
||||
<English> + freelook</English>
|
||||
<French> + vue libre</French>
|
||||
<German> + Frei Blick</German>
|
||||
<Polish> + rozglądanie się</Polish>
|
||||
</Key>
|
||||
</Package>
|
||||
</Project>
|
Loading…
Reference in New Issue
Block a user