mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Merge remote-tracking branch 'upstream/master' into medical-rewrite
This commit is contained in:
commit
a8d28ebedc
@ -13,7 +13,7 @@ class Display3DEN {
|
|||||||
};
|
};
|
||||||
class aceArsenal: virtualArsenal {
|
class aceArsenal: virtualArsenal {
|
||||||
text = "ACE Arsenal";
|
text = "ACE Arsenal";
|
||||||
action = QUOTE(call FUNC(open3DEN));
|
action = QUOTE(call DFUNC(open3DEN));
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -21,12 +21,12 @@ class Display3DEN {
|
|||||||
class MenuStrip: ctrlMenuStrip {
|
class MenuStrip: ctrlMenuStrip {
|
||||||
class Items {
|
class Items {
|
||||||
class Tools {
|
class Tools {
|
||||||
items[] += {"ACE_arsenal_portVALoadouts"};
|
items[] += {QGVAR(portVALoadouts)};
|
||||||
};
|
};
|
||||||
class ACE_arsenal_portVALoadouts {
|
class GVAR(portVALoadouts) {
|
||||||
text = CSTRING(portLoadoutsText);
|
text = CSTRING(portLoadoutsText);
|
||||||
picture = QPATHTOEF(common,data\logo_ace3_ca.paa);
|
picture = QPATHTOEF(common,data\logo_ace3_ca.paa);
|
||||||
action = "call ace_arsenal_fnc_portVALoadouts;";
|
action = QUOTE(call DFUNC(portVALoadouts););
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
#include "..\defines.hpp"
|
#include "..\defines.hpp"
|
||||||
#include "\A3\ui_f\hpp\defineDIKCodes.inc"
|
#include "\a3\ui_f\hpp\defineDIKCodes.inc"
|
||||||
/*
|
/*
|
||||||
* Author: Alganthe
|
* Author: Alganthe
|
||||||
* Handles keyboard inputs in arsenal.
|
* Handles keyboard inputs in arsenal.
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
PREP(addLoadCaptiveActions);
|
PREP(addLoadCaptiveActions);
|
||||||
PREP(canApplyHandcuffs);
|
PREP(canApplyHandcuffs);
|
||||||
PREP(canEscortCaptive);
|
PREP(canEscortCaptive);
|
||||||
PREP(canFriskPerson);
|
|
||||||
PREP(canLoadCaptive);
|
PREP(canLoadCaptive);
|
||||||
PREP(canRemoveHandcuffs);
|
PREP(canRemoveHandcuffs);
|
||||||
PREP(canStopEscorting);
|
PREP(canStopEscorting);
|
||||||
@ -9,7 +8,6 @@ PREP(canSurrender);
|
|||||||
PREP(canUnloadCaptive);
|
PREP(canUnloadCaptive);
|
||||||
PREP(doApplyHandcuffs);
|
PREP(doApplyHandcuffs);
|
||||||
PREP(doEscortCaptive);
|
PREP(doEscortCaptive);
|
||||||
PREP(doFriskPerson);
|
|
||||||
PREP(doLoadCaptive);
|
PREP(doLoadCaptive);
|
||||||
PREP(doRemoveHandcuffs);
|
PREP(doRemoveHandcuffs);
|
||||||
PREP(doUnloadCaptive);
|
PREP(doUnloadCaptive);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
#include "\a3\editor_f\Data\Scripts\dikCodes.h"
|
#include "\a3\ui_f\hpp\defineDIKCodes.inc"
|
||||||
|
|
||||||
["ace_settingsInitialized", {
|
["ace_settingsInitialized", {
|
||||||
// Hold on a little bit longer to ensure anims will work
|
// Hold on a little bit longer to ensure anims will work
|
||||||
|
@ -6,7 +6,7 @@ class CfgPatches {
|
|||||||
units[] = {QGVAR(ModuleSettings), QGVAR(ModuleSurrender), QGVAR(ModuleHandcuffed)};
|
units[] = {QGVAR(ModuleSettings), QGVAR(ModuleSurrender), QGVAR(ModuleHandcuffed)};
|
||||||
weapons[] = {"ACE_CableTie"};
|
weapons[] = {"ACE_CableTie"};
|
||||||
requiredVersion = REQUIRED_VERSION;
|
requiredVersion = REQUIRED_VERSION;
|
||||||
requiredAddons[] = {"ACE_Interaction"};
|
requiredAddons[] = {"ace_interaction"};
|
||||||
author = ECSTRING(common,ACETeam);
|
author = ECSTRING(common,ACETeam);
|
||||||
authors[] = {"commy2", "KoffeinFlummi"};
|
authors[] = {"commy2", "KoffeinFlummi"};
|
||||||
url = ECSTRING(main,URL);
|
url = ECSTRING(main,URL);
|
||||||
|
@ -1,24 +0,0 @@
|
|||||||
#include "script_component.hpp"
|
|
||||||
/*
|
|
||||||
* Author: bux578
|
|
||||||
* Checks the conditions for being able to frisk a unit
|
|
||||||
*
|
|
||||||
* Arguments:
|
|
||||||
* 0: caller (player) <OBJECT>
|
|
||||||
* 1: target <OBJECT>
|
|
||||||
*
|
|
||||||
* Return Value:
|
|
||||||
* The return value <BOOL>
|
|
||||||
*
|
|
||||||
* Example:
|
|
||||||
* [player, bob] call ACE_captives_fnc_canFriskPerson
|
|
||||||
*
|
|
||||||
* Public: No
|
|
||||||
*/
|
|
||||||
|
|
||||||
params ["_unit", "_target"];
|
|
||||||
|
|
||||||
_target getVariable [QGVAR(isHandcuffed), false]
|
|
||||||
|| {_target getVariable [QGVAR(isSurrendering), false]}
|
|
||||||
|| {_target getVariable ["ACE_isSearchable", false]}
|
|
||||||
|| {_target getVariable ["ACE_isUnconscious", false]}
|
|
@ -1,67 +0,0 @@
|
|||||||
#include "script_component.hpp"
|
|
||||||
/*
|
|
||||||
* Author: bux578
|
|
||||||
* Open the select menu with the "personal" items of a frisked unit. It only shows "handgunWeapon", "uniformItems", "vestItems", "backpackItems" and "assignedItems" because every other item is visible on the character
|
|
||||||
*
|
|
||||||
* Arguments:
|
|
||||||
* 0: player unit <OBJECT>
|
|
||||||
* 1: unit <OBJECT>
|
|
||||||
*
|
|
||||||
* Return Value:
|
|
||||||
* None
|
|
||||||
*
|
|
||||||
* Example:
|
|
||||||
* [player, bob] call ACE_captives_fnc_doFristPerson;
|
|
||||||
*
|
|
||||||
* Public: No
|
|
||||||
*/
|
|
||||||
|
|
||||||
params ["_player", "_unit"];
|
|
||||||
|
|
||||||
private _weapon = currentWeapon _player;
|
|
||||||
if (_weapon == primaryWeapon _player && {_weapon != ""}) then {
|
|
||||||
[_player, "AmovPercMstpSlowWrflDnon", 0] call EFUNC(common,doAnimation);
|
|
||||||
};
|
|
||||||
|
|
||||||
private _listedItemClasses = [];
|
|
||||||
|
|
||||||
private _actions = [localize LSTRING(FriskMenuHeader), ""] call ACE_Interaction_fnc_prepareSelectMenu;
|
|
||||||
|
|
||||||
private _allGear = [];
|
|
||||||
|
|
||||||
if ((handgunWeapon _unit) != "") then {
|
|
||||||
_allGear pushBack (handgunWeapon _unit);
|
|
||||||
};
|
|
||||||
if (count (uniformItems _unit) > 0) then {
|
|
||||||
_allGear = _allGear + (uniformItems _unit);
|
|
||||||
};
|
|
||||||
if (count (vestItems _unit) > 0) then {
|
|
||||||
_allGear = _allGear + (vestItems _unit);
|
|
||||||
};
|
|
||||||
if (count (backpackItems _unit) > 0) then {
|
|
||||||
_allGear = _allGear + (backpackItems _unit);
|
|
||||||
};
|
|
||||||
if (count (assignedItems _unit) > 0) then {
|
|
||||||
_allGear = _allGear + (assignedItems _unit);
|
|
||||||
};
|
|
||||||
|
|
||||||
// Handgun
|
|
||||||
// Uniform Items
|
|
||||||
// Vest Items
|
|
||||||
// Backpack Items
|
|
||||||
// Assigned Items
|
|
||||||
{
|
|
||||||
if (!(_x in _listedItemClasses)) then {
|
|
||||||
private _item = configFile >> "CfgMagazines" >> _x;
|
|
||||||
if (isNil "_item" || str _item == "") then { //str _item ?
|
|
||||||
_item = configFile >> "CfgWeapons" >> _x;
|
|
||||||
};
|
|
||||||
_actions = [_actions, getText(_item >> "displayName"), getText(_item >> "picture"), _x] call ACE_Interaction_fnc_addSelectableItem;
|
|
||||||
_listedItemClasses pushBack _x;
|
|
||||||
};
|
|
||||||
} forEach (_allGear);
|
|
||||||
|
|
||||||
[_actions, {call ACE_Interaction_fnc_hideMenu;}, {call ACE_Interaction_fnc_hideMenu;}] call ACE_Interaction_fnc_openSelectMenu;
|
|
||||||
|
|
||||||
// don't need an "Ok" Button
|
|
||||||
ctrlShow [8860, false];
|
|
@ -155,38 +155,6 @@
|
|||||||
<Chinese>束線帶可以綁住俘虜</Chinese>
|
<Chinese>束線帶可以綁住俘虜</Chinese>
|
||||||
<Chinesesimp>束线带可以绑住俘虏</Chinesesimp>
|
<Chinesesimp>束线带可以绑住俘虏</Chinesesimp>
|
||||||
</Key>
|
</Key>
|
||||||
<Key ID="STR_ACE_Captives_FriskMenuHeader">
|
|
||||||
<English>Inventory of frisked person</English>
|
|
||||||
<German>Inventar der durchsuchten Person</German>
|
|
||||||
<French>Inventaire de la personne fouillé</French>
|
|
||||||
<Spanish>Inventario de la persona cacheada</Spanish>
|
|
||||||
<Hungarian>Motozott személy felszerelése</Hungarian>
|
|
||||||
<Czech>Inventář prohledávané osoby</Czech>
|
|
||||||
<Polish>Ekwipunek rewidowanej osoby</Polish>
|
|
||||||
<Russian>Инвентарь обысканного человека</Russian>
|
|
||||||
<Portuguese>Inventário da pessoa revistada</Portuguese>
|
|
||||||
<Italian>Inventario della persona perquisita</Italian>
|
|
||||||
<Japanese>捕虜の持ち物を確認する</Japanese>
|
|
||||||
<Korean>검문당한 사람의 소지품</Korean>
|
|
||||||
<Chinese>搜身選單</Chinese>
|
|
||||||
<Chinesesimp>搜身选单</Chinesesimp>
|
|
||||||
</Key>
|
|
||||||
<Key ID="STR_ACE_Captives_FriskPerson">
|
|
||||||
<English>Frisk person</English>
|
|
||||||
<German>Person durchsuchen</German>
|
|
||||||
<French>Fouiller la personne</French>
|
|
||||||
<Spanish>Cachear</Spanish>
|
|
||||||
<Czech>Prohledávaná osoba</Czech>
|
|
||||||
<Polish>Rewiduj osobę</Polish>
|
|
||||||
<Hungarian>Motozás</Hungarian>
|
|
||||||
<Russian>Обыскать человека</Russian>
|
|
||||||
<Portuguese>Revistar</Portuguese>
|
|
||||||
<Italian>Perquisisci la persona</Italian>
|
|
||||||
<Japanese>捕虜の持ち物</Japanese>
|
|
||||||
<Korean>검문당한사람</Korean>
|
|
||||||
<Chinese>搜身</Chinese>
|
|
||||||
<Chinesesimp>搜身</Chinesesimp>
|
|
||||||
</Key>
|
|
||||||
<Key ID="STR_ACE_Captives_StartSurrendering">
|
<Key ID="STR_ACE_Captives_StartSurrendering">
|
||||||
<English>Surrender</English>
|
<English>Surrender</English>
|
||||||
<French>Se rendre</French>
|
<French>Se rendre</French>
|
||||||
|
@ -70,7 +70,7 @@ if (!(_oldCompats isEqualTo [])) then {
|
|||||||
// check dlls
|
// check dlls
|
||||||
///////////////
|
///////////////
|
||||||
if (toLower (productVersion select 6) in ["linux", "osx"]) then {
|
if (toLower (productVersion select 6) in ["linux", "osx"]) then {
|
||||||
INFO_2("Operating system does not support DLL file format");
|
INFO("Operating system does not support DLL file format");
|
||||||
} else {
|
} else {
|
||||||
{
|
{
|
||||||
private _versionEx = _x callExtension "version";
|
private _versionEx = _x callExtension "version";
|
||||||
|
@ -6,7 +6,7 @@ class CfgPatches {
|
|||||||
units[] = {};
|
units[] = {};
|
||||||
weapons[] = {"ACE_DebugPotato"};
|
weapons[] = {"ACE_DebugPotato"};
|
||||||
requiredVersion = REQUIRED_VERSION;
|
requiredVersion = REQUIRED_VERSION;
|
||||||
requiredAddons[] = {"ACE_Interaction"};
|
requiredAddons[] = {"ace_interaction"};
|
||||||
author = ECSTRING(common,ACETeam);
|
author = ECSTRING(common,ACETeam);
|
||||||
authors[] = {"PabstMirror"};
|
authors[] = {"PabstMirror"};
|
||||||
url = ECSTRING(main,URL);
|
url = ECSTRING(main,URL);
|
||||||
|
@ -15,6 +15,9 @@
|
|||||||
* Public: No
|
* Public: No
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#define TIMER_VALUE_MIN_CUSTOM (missionNamespace getVariable [QGVAR(customTimerMin), TIMER_VALUE_MIN])
|
||||||
|
#define TIMER_VALUE_MAX_CUSTOM (missionNamespace getVariable [QGVAR(customTimerMax), TIMER_VALUE_MAX])
|
||||||
|
|
||||||
params ["_explosive"];
|
params ["_explosive"];
|
||||||
TRACE_1("Opening timer UI",_explosive);
|
TRACE_1("Opening timer UI",_explosive);
|
||||||
|
|
||||||
@ -23,6 +26,9 @@ private _display = uiNamespace getVariable [QGVAR(timerDisplay), displayNull];
|
|||||||
|
|
||||||
// Update slider speed to 1s
|
// Update slider speed to 1s
|
||||||
(_display displayCtrl IDC_TIMER_SLIDER) sliderSetSpeed [1, 1];
|
(_display displayCtrl IDC_TIMER_SLIDER) sliderSetSpeed [1, 1];
|
||||||
|
(_display displayCtrl IDC_TIMER_SLIDER) sliderSetRange [TIMER_VALUE_MIN_CUSTOM, TIMER_VALUE_MAX_CUSTOM];
|
||||||
|
(_display displayCtrl IDC_TIMER_SLIDER) sliderSetPosition (TIMER_VALUE_DEFAULT max TIMER_VALUE_MIN_CUSTOM min TIMER_VALUE_MAX_CUSTOM);
|
||||||
|
|
||||||
|
|
||||||
// Add confirm button action
|
// Add confirm button action
|
||||||
GVAR(explosive) = _explosive;
|
GVAR(explosive) = _explosive;
|
||||||
@ -52,7 +58,7 @@ _display displayAddEventHandler ["MouseZChanged", {
|
|||||||
if (cba_events_control) then {_change = _change * 10};
|
if (cba_events_control) then {_change = _change * 10};
|
||||||
|
|
||||||
private _slider = _display displayCtrl IDC_TIMER_SLIDER;
|
private _slider = _display displayCtrl IDC_TIMER_SLIDER;
|
||||||
private _value = (sliderPosition _slider + _change) max TIMER_VALUE_MIN min TIMER_VALUE_MAX;
|
private _value = (sliderPosition _slider + _change) max TIMER_VALUE_MIN_CUSTOM min TIMER_VALUE_MAX_CUSTOM;
|
||||||
_slider sliderSetPosition _value;
|
_slider sliderSetPosition _value;
|
||||||
}];
|
}];
|
||||||
|
|
||||||
|
@ -67,7 +67,7 @@ class RscACE_SelectAnItem {
|
|||||||
text = "";
|
text = "";
|
||||||
};
|
};
|
||||||
class itemList: RscListBox {
|
class itemList: RscListBox {
|
||||||
onMouseButtonDblClick = "_this call ACE_Interaction_fnc_onSelectMenuDblClick";
|
onMouseButtonDblClick = QUOTE(_this call DFUNC(onSelectMenuDblClick));
|
||||||
idc = 8866;
|
idc = 8866;
|
||||||
x = X_OFFSET + 0.005;
|
x = X_OFFSET + 0.005;
|
||||||
w = 0.59;
|
w = 0.59;
|
||||||
@ -106,7 +106,7 @@ class RscACE_SelectAnItem {
|
|||||||
y = 0.605;
|
y = 0.605;
|
||||||
style = 2;
|
style = 2;
|
||||||
text = CSTRING(Back);
|
text = CSTRING(Back);
|
||||||
action = "call ACE_Interaction_fnc_hideMenu;"; //'Default' call ACE_Interaction_fnc_openMenu; 'Default' call ACE_Interaction_fnc_openMenuSelf;
|
action = QUOTE(call DFUNC(hideMenu);); //'Default' call DFUNC(openMenu); 'Default' call DFUNC(openMenuSelf);
|
||||||
colorBackground[] = {0,0,0,0};
|
colorBackground[] = {0,0,0,0};
|
||||||
colorBackgroundDisabled[] = {0,0,0,0};
|
colorBackgroundDisabled[] = {0,0,0,0};
|
||||||
colorBackgroundActive[] = {1,1,1,0.2};
|
colorBackgroundActive[] = {1,1,1,0.2};
|
||||||
@ -120,7 +120,7 @@ class RscACE_SelectAnItem {
|
|||||||
w = 0.15;
|
w = 0.15;
|
||||||
style = 2;
|
style = 2;
|
||||||
text = CSTRING(MakeSelection);
|
text = CSTRING(MakeSelection);
|
||||||
action = "call ACE_Interaction_fnc_hideMenu;";
|
action = QUOTE(call DFUNC(hideMenu););
|
||||||
colorBackground[] = {0,0,0,0};
|
colorBackground[] = {0,0,0,0};
|
||||||
colorBackgroundDisabled[] = {0,0,0,0};
|
colorBackgroundDisabled[] = {0,0,0,0};
|
||||||
colorBackgroundActive[] = {1,1,1,0.2};
|
colorBackgroundActive[] = {1,1,1,0.2};
|
||||||
|
@ -56,7 +56,7 @@ if (_cameraPosASL select 2 >= 0) then {
|
|||||||
_pos set [2, (_pos select 2) min _dz];
|
_pos set [2, (_pos select 2) min _dz];
|
||||||
};
|
};
|
||||||
|
|
||||||
TRACE_4("",_bb,_bbX,_relPos,_pos,_cameraPosASL);
|
TRACE_5("",_bb,_bbX,_relPos,_pos,_cameraPosASL);
|
||||||
_pos
|
_pos
|
||||||
|
|
||||||
///////////////////
|
///////////////////
|
||||||
|
@ -59,5 +59,5 @@ if (_cameraPosASL select 2 >= 0) then {
|
|||||||
_pos set [2, (_pos select 2) min _dz];
|
_pos set [2, (_pos select 2) min _dz];
|
||||||
};
|
};
|
||||||
|
|
||||||
TRACE_4("",_bb,_bbX,_relPos,_pos,_cameraPosASL);
|
TRACE_5("",_bb,_bbX,_relPos,_pos,_cameraPosASL);
|
||||||
_pos
|
_pos
|
||||||
|
@ -25,7 +25,7 @@ if ((_button == 0) && {GVAR(freedrawing) || _ctrlKey}) exitWith {
|
|||||||
if (GVAR(freedrawing) && {_dir == 0}) then {
|
if (GVAR(freedrawing) && {_dir == 0}) then {
|
||||||
GVAR(freedrawing) = false;
|
GVAR(freedrawing) = false;
|
||||||
GVAR(drawPosEnd) = _control ctrlMapScreenToWorld [_screenPosX, _screenPosY];
|
GVAR(drawPosEnd) = _control ctrlMapScreenToWorld [_screenPosX, _screenPosY];
|
||||||
TRACE_1("Ending Line",GVAR(freedrawing),GVAR(drawPosEnd));
|
TRACE_2("Ending Line",GVAR(freedrawing),GVAR(drawPosEnd));
|
||||||
[{
|
[{
|
||||||
if (allMapMarkers isEqualTo []) exitWith {};
|
if (allMapMarkers isEqualTo []) exitWith {};
|
||||||
private _markerName = allMapMarkers select (count allMapMarkers - 1);
|
private _markerName = allMapMarkers select (count allMapMarkers - 1);
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
params ["_allMapMarkers", "_allMapMarkersProperties"];
|
params ["_allMapMarkers", "_allMapMarkersProperties"];
|
||||||
TRACE_3("params",_allMapMarkers,_allMapMarkersProperties);
|
TRACE_2("params",_allMapMarkers,_allMapMarkersProperties);
|
||||||
|
|
||||||
{
|
{
|
||||||
private _index = _allMapMarkers find _x;
|
private _index = _allMapMarkers find _x;
|
||||||
|
@ -6,6 +6,6 @@ PREP_RECOMPILE_START;
|
|||||||
#include "XEH_PREP.hpp"
|
#include "XEH_PREP.hpp"
|
||||||
PREP_RECOMPILE_END;
|
PREP_RECOMPILE_END;
|
||||||
|
|
||||||
#include "initSettings.sqf";
|
#include "initSettings.sqf"
|
||||||
|
|
||||||
ADDON = true;
|
ADDON = true;
|
||||||
|
@ -1,20 +1,20 @@
|
|||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: 654wak654
|
* Author: 654wak654
|
||||||
* Shows the aircraft loadout dialog for given aircraft.
|
* Shows the aircraft loadout dialog for given aircraft.
|
||||||
*
|
*
|
||||||
* Arguments:
|
* Arguments:
|
||||||
* 0: Aircraft <OBJECT>
|
* 0: Aircraft <OBJECT>
|
||||||
* 1: Is curator. Disables time and resource requirements. <BOOL> (default: false)
|
* 1: Is curator. Disables time and resource requirements. <BOOL> (default: false)
|
||||||
*
|
*
|
||||||
* Return Value:
|
* Return Value:
|
||||||
* None
|
* None
|
||||||
*
|
*
|
||||||
* Example:
|
* Example:
|
||||||
* [vehicle ace_player] call ace_pylons_fnc_showDialog
|
* [vehicle ace_player] call ace_pylons_fnc_showDialog
|
||||||
*
|
*
|
||||||
* Public: Yes
|
* Public: Yes
|
||||||
*/
|
*/
|
||||||
|
|
||||||
params ["_aircraft", ["_isCurator", false]];
|
params ["_aircraft", ["_isCurator", false]];
|
||||||
|
|
||||||
|
@ -1,20 +1,20 @@
|
|||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
/*
|
/*
|
||||||
* Author: GitHawk
|
* Author: GitHawk
|
||||||
* Check whether enough supply is left to take the magazine.
|
* Check whether enough supply is left to take the magazine.
|
||||||
*
|
*
|
||||||
* Arguments:
|
* Arguments:
|
||||||
* 0: Ammo Truck <OBJECT>
|
* 0: Ammo Truck <OBJECT>
|
||||||
* 1: Magazine Classname <STRING>
|
* 1: Magazine Classname <STRING>
|
||||||
*
|
*
|
||||||
* Return Value:
|
* Return Value:
|
||||||
* Enough supply <BOOL>
|
* Enough supply <BOOL>
|
||||||
*
|
*
|
||||||
* Example:
|
* Example:
|
||||||
* [ammo_truck, "500Rnd_127x99_mag_Tracer_Red"] call ace_rearm_fnc_hasEnoughSupply
|
* [ammo_truck, "500Rnd_127x99_mag_Tracer_Red"] call ace_rearm_fnc_hasEnoughSupply
|
||||||
*
|
*
|
||||||
* Public: No
|
* Public: No
|
||||||
*/
|
*/
|
||||||
|
|
||||||
params ["_truck", "_magazineClass"];
|
params ["_truck", "_magazineClass"];
|
||||||
|
|
||||||
|
@ -30,7 +30,7 @@ if (_pylon > 0) exitWith {
|
|||||||
if (GVAR(level) == 1) then {
|
if (GVAR(level) == 1) then {
|
||||||
// Fill magazine completely
|
// Fill magazine completely
|
||||||
if (_turretPath isEqualTo [-1]) then {_turretPath = [];}; // Convert back to pylon turret format
|
if (_turretPath isEqualTo [-1]) then {_turretPath = [];}; // Convert back to pylon turret format
|
||||||
TRACE_2("",_pylon,_magazineClass,_rounds);
|
TRACE_3("",_pylon,_magazineClass,_rounds);
|
||||||
_vehicle setPylonLoadOut [_pylon, _magazineClass, true, _turretPath];
|
_vehicle setPylonLoadOut [_pylon, _magazineClass, true, _turretPath];
|
||||||
[QEGVAR(common,displayTextStructured), [[LSTRING(Hint_RearmedTriple), _rounds,
|
[QEGVAR(common,displayTextStructured), [[LSTRING(Hint_RearmedTriple), _rounds,
|
||||||
getText(configFile >> "CfgMagazines" >> _magazineClass >> "displayName"),
|
getText(configFile >> "CfgMagazines" >> _magazineClass >> "displayName"),
|
||||||
@ -40,7 +40,7 @@ if (_pylon > 0) exitWith {
|
|||||||
if (_turretPath isEqualTo [-1]) then {_turretPath = [];}; // Convert back to pylon turret format
|
if (_turretPath isEqualTo [-1]) then {_turretPath = [];}; // Convert back to pylon turret format
|
||||||
private _currentCount = _vehicle ammoOnPylon _pylon;
|
private _currentCount = _vehicle ammoOnPylon _pylon;
|
||||||
private _newCount = ((_currentCount max 0) + _numRounds) min _rounds;
|
private _newCount = ((_currentCount max 0) + _numRounds) min _rounds;
|
||||||
TRACE_2("",_pylon,_magazineClass,_newCount);
|
TRACE_3("",_pylon,_magazineClass,_newCount);
|
||||||
_vehicle setPylonLoadOut [_pylon, _magazineClass, true, _turretPath];
|
_vehicle setPylonLoadOut [_pylon, _magazineClass, true, _turretPath];
|
||||||
_vehicle setAmmoOnPylon [_pylon, _newCount];
|
_vehicle setAmmoOnPylon [_pylon, _newCount];
|
||||||
[QEGVAR(common,displayTextStructured), [[LSTRING(Hint_RearmedTriple), _numRounds,
|
[QEGVAR(common,displayTextStructured), [[LSTRING(Hint_RearmedTriple), _numRounds,
|
||||||
|
@ -69,6 +69,6 @@ private _camshake = [
|
|||||||
BASE_FREQ
|
BASE_FREQ
|
||||||
];
|
];
|
||||||
|
|
||||||
TRACE_4("addCamShake",_recoil,_powerCoef,_powerMod,_camshake);\
|
TRACE_4("addCamShake",_recoil,_powerCoef,_powerMod,_camshake);
|
||||||
|
|
||||||
addCamShake _camshake;
|
addCamShake _camshake;
|
||||||
|
@ -72,7 +72,7 @@ TRACE_2("start",_unit,_nozzle);
|
|||||||
};
|
};
|
||||||
|
|
||||||
if !(_unit == vehicle _unit && {_unit isEqualTo ACE_player}) exitWith {
|
if !(_unit == vehicle _unit && {_unit isEqualTo ACE_player}) exitWith {
|
||||||
TRACE_1("stop vehicle/player",_unit,vehicle _unit);
|
TRACE_2("stop vehicle/player",_unit,vehicle _unit);
|
||||||
DROP_NOZZLE
|
DROP_NOZZLE
|
||||||
UNHOLSTER_WEAPON
|
UNHOLSTER_WEAPON
|
||||||
END_PFH
|
END_PFH
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
#include "\A3\ui_f\hpp\defineDIKCodes.inc"
|
#include "\a3\ui_f\hpp\defineDIKCodes.inc"
|
||||||
/*
|
/*
|
||||||
* Author: Nelson Duarte, AACO, SilentSpike
|
* Author: Nelson Duarte, AACO, SilentSpike
|
||||||
* Function used to handle key down event
|
* Function used to handle key down event
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
#include "\A3\ui_f\hpp\defineDIKCodes.inc"
|
#include "\a3\ui_f\hpp\defineDIKCodes.inc"
|
||||||
/*
|
/*
|
||||||
* Author: Nelson Duarte, SilentSpike
|
* Author: Nelson Duarte, SilentSpike
|
||||||
* Function used to handle key up event
|
* Function used to handle key up event
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
#include "\A3\ui_f\hpp\defineDIKCodes.inc"
|
#include "\a3\ui_f\hpp\defineDIKCodes.inc"
|
||||||
/*
|
/*
|
||||||
* Author: Nelson Duarte, SilentSpike
|
* Author: Nelson Duarte, SilentSpike
|
||||||
* Updates spectator UI help element
|
* Updates spectator UI help element
|
||||||
|
@ -37,7 +37,7 @@ private _intersections = lineIntersectsSurfaces [_startPosASL, _endPosASL, _unit
|
|||||||
|
|
||||||
// If there's no intersections
|
// If there's no intersections
|
||||||
if (_intersections isEqualTo []) exitWith {
|
if (_intersections isEqualTo []) exitWith {
|
||||||
TRACE_3("No intersections",_intersections);
|
TRACE_1("No intersections",_intersections);
|
||||||
false
|
false
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -95,7 +95,7 @@ if ( !([ 0.5 * TAG_SIZE, 0.5 * TAG_SIZE] call _fnc_isOk) ||
|
|||||||
{!([ 0.5 * TAG_SIZE,-0.5 * TAG_SIZE] call _fnc_isOk) ||
|
{!([ 0.5 * TAG_SIZE,-0.5 * TAG_SIZE] call _fnc_isOk) ||
|
||||||
{!([-0.5 * TAG_SIZE, 0.5 * TAG_SIZE] call _fnc_isOk) ||
|
{!([-0.5 * TAG_SIZE, 0.5 * TAG_SIZE] call _fnc_isOk) ||
|
||||||
{!([-0.5 * TAG_SIZE,-0.5 * TAG_SIZE] call _fnc_isOk)}}}) exitWith {
|
{!([-0.5 * TAG_SIZE,-0.5 * TAG_SIZE] call _fnc_isOk)}}}) exitWith {
|
||||||
TRACE_3("Unsuitable location:",_touchingPoint);
|
TRACE_1("Unsuitable location:",_touchingPoint);
|
||||||
false
|
false
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@ params ["_varName", "_varValue"];
|
|||||||
_varValue params ["_general", "_accuracy", "_handling", "_spotting", "_cover", "_combat"];
|
_varValue params ["_general", "_accuracy", "_handling", "_spotting", "_cover", "_combat"];
|
||||||
TRACE_1("Params",_this);
|
TRACE_1("Params",_this);
|
||||||
|
|
||||||
TRACE_6("AI settings updated",GVAR(GlobalSkillAI));
|
TRACE_1("AI settings updated",GVAR(GlobalSkillAI));
|
||||||
{
|
{
|
||||||
if (local _x) then {
|
if (local _x) then {
|
||||||
_x setSkill ["general", _general];
|
_x setSkill ["general", _general];
|
||||||
|
@ -43,7 +43,7 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if include.component == "captives" %}
|
{% if include.component == "captives" %}
|
||||||
`ACE_Interaction`
|
`ace_interaction`
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if include.component == "cargo" %}
|
{% if include.component == "cargo" %}
|
||||||
@ -71,7 +71,7 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if include.component == "disarming" %}
|
{% if include.component == "disarming" %}
|
||||||
`ACE_Interaction`
|
`ace_interaction`
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if include.component == "disposable" %}
|
{% if include.component == "disposable" %}
|
||||||
|
@ -204,3 +204,9 @@ Jammer that blocks RF triggers:
|
|||||||
true
|
true
|
||||||
}] call ace_explosives_fnc_addDetonateHandler;
|
}] call ace_explosives_fnc_addDetonateHandler;
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### 5.4 Custom timer limits
|
||||||
|
`Added in 3.12.7`
|
||||||
|
|
||||||
|
Can set custom min and max time for the timer trigger, can set one or both, time in seconds
|
||||||
|
`ace_explosives_customTimerMin` / `ace_explosives_customTimerMax`
|
||||||
|
1
include/a3/data_f/$PBOPREFIX$
Normal file
1
include/a3/data_f/$PBOPREFIX$
Normal file
@ -0,0 +1 @@
|
|||||||
|
a3\data_f
|
1
include/a3/ui_f/$PBOPREFIX$
Normal file
1
include/a3/ui_f/$PBOPREFIX$
Normal file
@ -0,0 +1 @@
|
|||||||
|
a3\ui_f
|
190
include/a3/ui_f/hpp/defineDIKCodes.inc
Normal file
190
include/a3/ui_f/hpp/defineDIKCodes.inc
Normal file
@ -0,0 +1,190 @@
|
|||||||
|
#ifndef DIK_ESCAPE
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
*
|
||||||
|
* DirectInput keyboard scan codes
|
||||||
|
*
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
#define DIK_ESCAPE 0x01
|
||||||
|
#define DIK_1 0x02
|
||||||
|
#define DIK_2 0x03
|
||||||
|
#define DIK_3 0x04
|
||||||
|
#define DIK_4 0x05
|
||||||
|
#define DIK_5 0x06
|
||||||
|
#define DIK_6 0x07
|
||||||
|
#define DIK_7 0x08
|
||||||
|
#define DIK_8 0x09
|
||||||
|
#define DIK_9 0x0A
|
||||||
|
#define DIK_0 0x0B
|
||||||
|
#define DIK_MINUS 0x0C /* - on main keyboard */
|
||||||
|
#define DIK_EQUALS 0x0D
|
||||||
|
#define DIK_BACK 0x0E /* backspace */
|
||||||
|
#define DIK_TAB 0x0F
|
||||||
|
#define DIK_Q 0x10
|
||||||
|
#define DIK_W 0x11
|
||||||
|
#define DIK_E 0x12
|
||||||
|
#define DIK_R 0x13
|
||||||
|
#define DIK_T 0x14
|
||||||
|
#define DIK_Y 0x15
|
||||||
|
#define DIK_U 0x16
|
||||||
|
#define DIK_I 0x17
|
||||||
|
#define DIK_O 0x18
|
||||||
|
#define DIK_P 0x19
|
||||||
|
#define DIK_LBRACKET 0x1A
|
||||||
|
#define DIK_RBRACKET 0x1B
|
||||||
|
#define DIK_RETURN 0x1C /* Enter on main keyboard */
|
||||||
|
#define DIK_LCONTROL 0x1D
|
||||||
|
#define DIK_A 0x1E
|
||||||
|
#define DIK_S 0x1F
|
||||||
|
#define DIK_D 0x20
|
||||||
|
#define DIK_F 0x21
|
||||||
|
#define DIK_G 0x22
|
||||||
|
#define DIK_H 0x23
|
||||||
|
#define DIK_J 0x24
|
||||||
|
#define DIK_K 0x25
|
||||||
|
#define DIK_L 0x26
|
||||||
|
#define DIK_SEMICOLON 0x27
|
||||||
|
#define DIK_APOSTROPHE 0x28
|
||||||
|
#define DIK_GRAVE 0x29 /* accent grave */
|
||||||
|
#define DIK_LSHIFT 0x2A
|
||||||
|
#define DIK_BACKSLASH 0x2B
|
||||||
|
#define DIK_Z 0x2C
|
||||||
|
#define DIK_X 0x2D
|
||||||
|
#define DIK_C 0x2E
|
||||||
|
#define DIK_V 0x2F
|
||||||
|
#define DIK_B 0x30
|
||||||
|
#define DIK_N 0x31
|
||||||
|
#define DIK_M 0x32
|
||||||
|
#define DIK_COMMA 0x33
|
||||||
|
#define DIK_PERIOD 0x34 /* . on main keyboard */
|
||||||
|
#define DIK_SLASH 0x35 /* / on main keyboard */
|
||||||
|
#define DIK_RSHIFT 0x36
|
||||||
|
#define DIK_MULTIPLY 0x37 /* * on numeric keypad */
|
||||||
|
#define DIK_LMENU 0x38 /* left Alt */
|
||||||
|
#define DIK_SPACE 0x39
|
||||||
|
#define DIK_CAPITAL 0x3A
|
||||||
|
#define DIK_F1 0x3B
|
||||||
|
#define DIK_F2 0x3C
|
||||||
|
#define DIK_F3 0x3D
|
||||||
|
#define DIK_F4 0x3E
|
||||||
|
#define DIK_F5 0x3F
|
||||||
|
#define DIK_F6 0x40
|
||||||
|
#define DIK_F7 0x41
|
||||||
|
#define DIK_F8 0x42
|
||||||
|
#define DIK_F9 0x43
|
||||||
|
#define DIK_F10 0x44
|
||||||
|
#define DIK_NUMLOCK 0x45
|
||||||
|
#define DIK_SCROLL 0x46 /* Scroll Lock */
|
||||||
|
#define DIK_NUMPAD7 0x47
|
||||||
|
#define DIK_NUMPAD8 0x48
|
||||||
|
#define DIK_NUMPAD9 0x49
|
||||||
|
#define DIK_SUBTRACT 0x4A /* - on numeric keypad */
|
||||||
|
#define DIK_NUMPAD4 0x4B
|
||||||
|
#define DIK_NUMPAD5 0x4C
|
||||||
|
#define DIK_NUMPAD6 0x4D
|
||||||
|
#define DIK_ADD 0x4E /* + on numeric keypad */
|
||||||
|
#define DIK_NUMPAD1 0x4F
|
||||||
|
#define DIK_NUMPAD2 0x50
|
||||||
|
#define DIK_NUMPAD3 0x51
|
||||||
|
#define DIK_NUMPAD0 0x52
|
||||||
|
#define DIK_DECIMAL 0x53 /* . on numeric keypad */
|
||||||
|
#define DIK_OEM_102 0x56 /* < > | on UK/Germany keyboards */
|
||||||
|
#define DIK_F11 0x57
|
||||||
|
#define DIK_F12 0x58
|
||||||
|
|
||||||
|
#define DIK_F13 0x64 /* (NEC PC98) */
|
||||||
|
#define DIK_F14 0x65 /* (NEC PC98) */
|
||||||
|
#define DIK_F15 0x66 /* (NEC PC98) */
|
||||||
|
|
||||||
|
#define DIK_KANA 0x70 /* (Japanese keyboard) */
|
||||||
|
#define DIK_ABNT_C1 0x73 /* / ? on Portugese (Brazilian) keyboards */
|
||||||
|
#define DIK_CONVERT 0x79 /* (Japanese keyboard) */
|
||||||
|
#define DIK_NOCONVERT 0x7B /* (Japanese keyboard) */
|
||||||
|
#define DIK_YEN 0x7D /* (Japanese keyboard) */
|
||||||
|
#define DIK_ABNT_C2 0x7E /* Numpad . on Portugese (Brazilian) keyboards */
|
||||||
|
#define DIK_NUMPADEQUALS 0x8D /* = on numeric keypad (NEC PC98) */
|
||||||
|
#define DIK_PREVTRACK 0x90 /* Previous Track (DIK_CIRCUMFLEX on Japanese keyboard) */
|
||||||
|
#define DIK_AT 0x91 /* (NEC PC98) */
|
||||||
|
#define DIK_COLON 0x92 /* (NEC PC98) */
|
||||||
|
#define DIK_UNDERLINE 0x93 /* (NEC PC98) */
|
||||||
|
#define DIK_KANJI 0x94 /* (Japanese keyboard) */
|
||||||
|
#define DIK_STOP 0x95 /* (NEC PC98) */
|
||||||
|
#define DIK_AX 0x96 /* (Japan AX) */
|
||||||
|
#define DIK_UNLABELED 0x97 /* (J3100) */
|
||||||
|
#define DIK_NEXTTRACK 0x99 /* Next Track */
|
||||||
|
#define DIK_NUMPADENTER 0x9C /* Enter on numeric keypad */
|
||||||
|
#define DIK_RCONTROL 0x9D
|
||||||
|
#define DIK_MUTE 0xA0 /* Mute */
|
||||||
|
#define DIK_CALCULATOR 0xA1 /* Calculator */
|
||||||
|
#define DIK_PLAYPAUSE 0xA2 /* Play / Pause */
|
||||||
|
#define DIK_MEDIASTOP 0xA4 /* Media Stop */
|
||||||
|
#define DIK_VOLUMEDOWN 0xAE /* Volume - */
|
||||||
|
#define DIK_VOLUMEUP 0xB0 /* Volume + */
|
||||||
|
#define DIK_WEBHOME 0xB2 /* Web home */
|
||||||
|
#define DIK_NUMPADCOMMA 0xB3 /* , on numeric keypad (NEC PC98) */
|
||||||
|
#define DIK_DIVIDE 0xB5 /* / on numeric keypad */
|
||||||
|
#define DIK_SYSRQ 0xB7
|
||||||
|
#define DIK_RMENU 0xB8 /* right Alt */
|
||||||
|
#define DIK_PAUSE 0xC5 /* Pause */
|
||||||
|
#define DIK_HOME 0xC7 /* Home on arrow keypad */
|
||||||
|
#define DIK_UP 0xC8 /* UpArrow on arrow keypad */
|
||||||
|
#define DIK_PRIOR 0xC9 /* PgUp on arrow keypad */
|
||||||
|
#define DIK_LEFT 0xCB /* LeftArrow on arrow keypad */
|
||||||
|
#define DIK_RIGHT 0xCD /* RightArrow on arrow keypad */
|
||||||
|
#define DIK_END 0xCF /* End on arrow keypad */
|
||||||
|
#define DIK_DOWN 0xD0 /* DownArrow on arrow keypad */
|
||||||
|
#define DIK_NEXT 0xD1 /* PgDn on arrow keypad */
|
||||||
|
#define DIK_INSERT 0xD2 /* Insert on arrow keypad */
|
||||||
|
#define DIK_DELETE 0xD3 /* Delete on arrow keypad */
|
||||||
|
#define DIK_LWIN 0xDB /* Left Windows key */
|
||||||
|
#define DIK_RWIN 0xDC /* Right Windows key */
|
||||||
|
#define DIK_APPS 0xDD /* AppMenu key */
|
||||||
|
#define DIK_POWER 0xDE /* System Power */
|
||||||
|
#define DIK_SLEEP 0xDF /* System Sleep */
|
||||||
|
#define DIK_WAKE 0xE3 /* System Wake */
|
||||||
|
#define DIK_WEBSEARCH 0xE5 /* Web Search */
|
||||||
|
#define DIK_WEBFAVORITES 0xE6 /* Web Favorites */
|
||||||
|
#define DIK_WEBREFRESH 0xE7 /* Web Refresh */
|
||||||
|
#define DIK_WEBSTOP 0xE8 /* Web Stop */
|
||||||
|
#define DIK_WEBFORWARD 0xE9 /* Web Forward */
|
||||||
|
#define DIK_WEBBACK 0xEA /* Web Back */
|
||||||
|
#define DIK_MYCOMPUTER 0xEB /* My Computer */
|
||||||
|
#define DIK_MAIL 0xEC /* Mail */
|
||||||
|
#define DIK_MEDIASELECT 0xED /* Media Select */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Alternate names for keys, to facilitate transition from DOS.
|
||||||
|
*/
|
||||||
|
#define DIK_BACKSPACE DIK_BACK /* backspace */
|
||||||
|
#define DIK_NUMPADSTAR DIK_MULTIPLY /* * on numeric keypad */
|
||||||
|
#define DIK_LALT DIK_LMENU /* left Alt */
|
||||||
|
#define DIK_CAPSLOCK DIK_CAPITAL /* CapsLock */
|
||||||
|
#define DIK_NUMPADMINUS DIK_SUBTRACT /* - on numeric keypad */
|
||||||
|
#define DIK_NUMPADPLUS DIK_ADD /* + on numeric keypad */
|
||||||
|
#define DIK_NUMPADPERIOD DIK_DECIMAL /* . on numeric keypad */
|
||||||
|
#define DIK_NUMPADSLASH DIK_DIVIDE /* / on numeric keypad */
|
||||||
|
#define DIK_RALT DIK_RMENU /* right Alt */
|
||||||
|
#define DIK_UPARROW DIK_UP /* UpArrow on arrow keypad */
|
||||||
|
#define DIK_PGUP DIK_PRIOR /* PgUp on arrow keypad */
|
||||||
|
#define DIK_LEFTARROW DIK_LEFT /* LeftArrow on arrow keypad */
|
||||||
|
#define DIK_RIGHTARROW DIK_RIGHT /* RightArrow on arrow keypad */
|
||||||
|
#define DIK_DOWNARROW DIK_DOWN /* DownArrow on arrow keypad */
|
||||||
|
#define DIK_PGDN DIK_NEXT /* PgDn on arrow keypad */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Alternate names for keys originally not used on US keyboards.
|
||||||
|
*/
|
||||||
|
#define DIK_CIRCUMFLEX DIK_PREVTRACK /* Japanese keyboard */
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Combination keys
|
||||||
|
*/
|
||||||
|
#define INPUT_CTRL_OFFSET 512
|
||||||
|
#define INPUT_SHIFT_OFFSET 1024
|
||||||
|
#define INPUT_ALT_OFFSET 2048
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* DIK_ESCAPE */
|
||||||
|
|
3170
include/a3/ui_f/hpp/defineResincl.inc
Normal file
3170
include/a3/ui_f/hpp/defineResincl.inc
Normal file
File diff suppressed because it is too large
Load Diff
1063
include/a3/ui_f/hpp/defineResinclDesign.inc
Normal file
1063
include/a3/ui_f/hpp/defineResinclDesign.inc
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user