mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
214 lines
8.3 KiB
Plaintext
214 lines
8.3 KiB
Plaintext
// by esteldunedain
|
|
#include "script_component.hpp"
|
|
|
|
if (!hasInterface) exitWith {};
|
|
|
|
// add keybinds
|
|
["ACE3 Weapons", QGVAR(SelectPistolNew), localize LSTRING(SelectPistol), {
|
|
// Conditions: canInteract
|
|
if !([ACE_player, ACE_player, ["isNotInside", "isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false};
|
|
// Conditions: specific
|
|
if !([ACE_player] call CBA_fnc_canUseWeapon) exitWith {false};
|
|
|
|
// Statement
|
|
[ACE_player, handgunWeapon ACE_player] call FUNC(selectWeaponMode);
|
|
false
|
|
},
|
|
{false},
|
|
[0, [false, false, false]], false] call CBA_fnc_addKeybind; //Unbound (was 1 Key)
|
|
|
|
["ACE3 Weapons", QGVAR(SelectRifleNew), localize LSTRING(SelectRifle), {
|
|
// Conditions: canInteract
|
|
if !([ACE_player, ACE_player, ["isNotInside", "isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false};
|
|
// Conditions: specific
|
|
if !([ACE_player] call CBA_fnc_canUseWeapon) exitWith {false};
|
|
|
|
// Statement
|
|
[ACE_player, primaryWeapon ACE_player] call FUNC(selectWeaponMode);
|
|
false
|
|
},
|
|
{false},
|
|
[0, [false, false, false]], false] call CBA_fnc_addKeybind; //Unbound (was 2 Key)
|
|
|
|
["ACE3 Weapons", QGVAR(SelectRifleMuzzleNew), localize LSTRING(SelectRifleMuzzle), {
|
|
// Conditions: canInteract
|
|
if !([ACE_player, ACE_player, ["isNotInside", "isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false};
|
|
// Conditions: specific
|
|
if !([ACE_player] call CBA_fnc_canUseWeapon) exitWith {false};
|
|
|
|
// Statement
|
|
[ACE_player, primaryWeapon ACE_player] call FUNC(selectWeaponMuzzle);
|
|
false
|
|
},
|
|
{false},
|
|
[0, [false, false, false]], false] call CBA_fnc_addKeybind; //Unbound (was 3 Key)
|
|
|
|
["ACE3 Weapons", QGVAR(SelectLauncherNew), localize LSTRING(SelectLauncher), {
|
|
// Conditions: canInteract
|
|
if !([ACE_player, ACE_player, ["isNotInside", "isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false};
|
|
// Conditions: specific
|
|
if !([ACE_player] call CBA_fnc_canUseWeapon) exitWith {false};
|
|
|
|
// Statement
|
|
[ACE_player, secondaryWeapon ACE_player] call FUNC(selectWeaponMode);
|
|
false
|
|
},
|
|
{false},
|
|
[0, [false, false, false]], false] call CBA_fnc_addKeybind; //Unbound (was 4 Key)
|
|
|
|
["ACE3 Weapons", QGVAR(SelectBinocularNew), localize LSTRING(SelectBinocular), {
|
|
// Conditions: canInteract
|
|
if !([ACE_player, ACE_player, ["isNotInside", "isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false};
|
|
// Conditions: specific
|
|
if !([ACE_player] call CBA_fnc_canUseWeapon) exitWith {false};
|
|
|
|
// Statement
|
|
[ACE_player, binocular ACE_player] call FUNC(selectWeaponMode);
|
|
false
|
|
},
|
|
{false},
|
|
[0, [false, false, false]], false] call CBA_fnc_addKeybind; //Unbound (was 5 Key)
|
|
|
|
["ACE3 Weapons", QGVAR(SelectGrenadeFrag), localize LSTRING(SelectGrenadeFrag), {
|
|
// Conditions: canInteract
|
|
if !([ACE_player, ACE_player, ["isNotInside", "isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false};
|
|
// Don't change mode or show hint if advanced throwing is active
|
|
if (ACE_player getVariable [QEGVAR(advanced_throwing,inHand), false]) exitWith {false};
|
|
|
|
// Statement
|
|
[ACE_player, 1] call FUNC(selectNextGrenade);
|
|
true
|
|
},
|
|
{false},
|
|
[7, [false, false, false]], false] call CBA_fnc_addKeybind; //6 Key
|
|
|
|
["ACE3 Weapons", QGVAR(SelectGrenadeOther), localize LSTRING(SelectGrenadeOther), {
|
|
// Conditions: canInteract
|
|
if !([ACE_player, ACE_player, ["isNotInside", "isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false};
|
|
// Don't change mode or show hint if advanced throwing is active
|
|
if (ACE_player getVariable [QEGVAR(advanced_throwing,inHand), false]) exitWith {false};
|
|
|
|
// Statement
|
|
[ACE_player, 2] call FUNC(selectNextGrenade);
|
|
true
|
|
},
|
|
{false},
|
|
[8, [false, false, false]], false] call CBA_fnc_addKeybind; //7 Key
|
|
|
|
["ACE3 Weapons", QGVAR(HolsterWeapon), localize LSTRING(HolsterWeapon), {
|
|
// Conditions: canInteract
|
|
if !([ACE_player, ACE_player, ["isNotInside", "isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false};
|
|
// Conditions: specific
|
|
if !([ACE_player] call CBA_fnc_canUseWeapon) exitWith {false};
|
|
|
|
// Statement
|
|
if ((currentWeapon ACE_player) != "") then {
|
|
[ACE_player] call FUNC(putWeaponAway);
|
|
} else {
|
|
private _weapon = switch (true) do {
|
|
case ((primaryWeapon ACE_player) != ""): {primaryWeapon ACE_player};
|
|
case ((handgunWeapon ACE_player) != ""): {handgunWeapon ACE_player};
|
|
case ((secondaryWeapon ACE_player) != ""): {secondaryWeapon ACE_player};
|
|
default {""};
|
|
};
|
|
if (_weapon != "") then {ACE_player selectWeapon _weapon};
|
|
};
|
|
true
|
|
},
|
|
{false},
|
|
[11, [false, false, false]], false] call CBA_fnc_addKeybind; //0 Key
|
|
|
|
["ACE3 Vehicles", QGVAR(EngineOn), localize LSTRING(EngineOn), {
|
|
// Conditions: canInteract
|
|
if !([ACE_player, vehicle ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false};
|
|
// Conditions: specific
|
|
if !((ACE_player != vehicle ACE_player) && {ACE_player == driver vehicle ACE_player} && {!isEngineOn vehicle ACE_player}) exitWith {false};
|
|
|
|
// Statement
|
|
vehicle ACE_player engineOn true;
|
|
true
|
|
},
|
|
{false},
|
|
[3, [false, false, false]], false] call CBA_fnc_addKeybind; //2 Key
|
|
|
|
["ACE3 Vehicles", QGVAR(EngineOff), localize LSTRING(EngineOff), {
|
|
// Conditions: canInteract
|
|
if !([ACE_player, vehicle ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false};
|
|
// Conditions: specific
|
|
if !(ACE_player != vehicle ACE_player && {ACE_player == driver vehicle ACE_player} && {isEngineOn vehicle ACE_player}) exitWith {false};
|
|
|
|
// Statement
|
|
vehicle ACE_player engineOn false;
|
|
true
|
|
},
|
|
{false},
|
|
[2, [false, false, false]], false] call CBA_fnc_addKeybind; //1 Key
|
|
|
|
["ACE3 Vehicles", QGVAR(SelectMainGunNew), localize LSTRING(SelectMainGun), {
|
|
// Conditions: canInteract
|
|
if !([ACE_player, vehicle ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false};
|
|
// Conditions: specific
|
|
if !(ACE_player != vehicle ACE_player) exitWith {false};
|
|
|
|
// Statement
|
|
[ACE_player, vehicle ACE_player, 0] call FUNC(selectWeaponVehicle);
|
|
true
|
|
},
|
|
{false},
|
|
[0, [false, false, false]], false] call CBA_fnc_addKeybind; //Unbound (was 3 Key)
|
|
|
|
["ACE3 Vehicles", QGVAR(SelectMachineGunNew), localize LSTRING(SelectMachineGun), {
|
|
// Conditions: canInteract
|
|
if !([ACE_player, vehicle ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false};
|
|
// Conditions: specific
|
|
if !(ACE_player != vehicle ACE_player) exitWith {false};
|
|
|
|
// Statement
|
|
[ACE_player, vehicle ACE_player, 1] call FUNC(selectWeaponVehicle);
|
|
true
|
|
},
|
|
{false},
|
|
[0, [false, false, false]], false] call CBA_fnc_addKeybind; //Unbound (was 4 Key)
|
|
|
|
["ACE3 Vehicles", QGVAR(SelectMissilesNew), localize LSTRING(SelectMissiles), {
|
|
// Conditions: canInteract
|
|
if !([ACE_player, vehicle ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false};
|
|
// Conditions: specific
|
|
if !(ACE_player != vehicle ACE_player) exitWith {false};
|
|
|
|
// Statement
|
|
[ACE_player, vehicle ACE_player, 2] call FUNC(selectWeaponVehicle);
|
|
true
|
|
},
|
|
{false},
|
|
[0, [false, false, false]], false] call CBA_fnc_addKeybind; //Unbound (was 5 Key)
|
|
|
|
// ["ACE3 Vehicles", QGVAR(FireSmokeLauncher), localize LSTRING(FireSmokeLauncher), {
|
|
// // Conditions: canInteract
|
|
// if !([ACE_player, vehicle ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false};
|
|
// // Conditions: specific
|
|
// if !(ACE_player != vehicle ACE_player && {ACE_player == commander vehicle ACE_player}) exitWith {false};
|
|
|
|
// // Statement
|
|
// [vehicle ACE_player] call FUNC(fireSmokeLauncher);
|
|
// true
|
|
// },
|
|
// {false},
|
|
// [10, [false, false, false]], false] call CBA_fnc_addKeybind; //9 Key
|
|
|
|
["ACE3 Vehicles", QGVAR(CollisionLights), localize LSTRING(CollisionLights), {
|
|
// Conditions: canInteract
|
|
if !([ACE_player, vehicle ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false};
|
|
// Conditions: specific
|
|
if ((ACE_player isEqualTo (vehicle ACE_player)) || {ACE_player != (driver (vehicle ACE_player))}) exitWith {false};
|
|
|
|
// Statement
|
|
(vehicle ACE_player) setCollisionLight !(isCollisionLightOn (vehicle ACE_player));
|
|
true
|
|
},
|
|
{false},
|
|
[0, [false, false, false]]] call CBA_fnc_addKeybind;
|
|
|
|
// Register fire event handler
|
|
["ace_firedPlayer", LINKFUNC(throwGrenade)] call CBA_fnc_addEventHandler;
|