mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Merge branch 'master' into virtualExplosivesPlace
This commit is contained in:
commit
e0f20350a2
@ -3,8 +3,9 @@ ace_advanced_ballistics
|
||||
|
||||
The Advanced Ballistics module introduces advanced external- and internal ballistics to the game.
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
||||
The people responsible for merging changes to this component or answering potential questions.
|
||||
|
||||
- [Ruthberg] (http://github.com/Ulteq)
|
||||
- [Ruthberg](http://github.com/Ulteq)
|
||||
|
@ -1,9 +1,10 @@
|
||||
ace_aircraft
|
||||
============
|
||||
|
||||
Changes to air weaponry, flightmodels and HUDs.
|
||||
Changes to air weaponry, flight models and HUDs.
|
||||
|
||||
- Contributions by Kimi (geraldbolso1899) for HUD updates
|
||||
|
||||
* Contributations by Kimi (geraldbolso1899) for HUD updates
|
||||
|
||||
## Maintainers
|
||||
|
||||
@ -11,4 +12,4 @@ The people responsible for merging changes to this component or answering potent
|
||||
|
||||
- [KoffeinFlummi](https://github.com/KoffeinFlummi)
|
||||
- [commy2](https://github.com/commy2)
|
||||
- [jaynus](https://github.com/walterpearce)
|
||||
- [jaynus](https://github.com/walterpearce)
|
||||
|
11
addons/apl/README.md
Normal file
11
addons/apl/README.md
Normal file
@ -0,0 +1,11 @@
|
||||
ace_apl
|
||||
============
|
||||
|
||||
Assets licensed under Arma Public License (APL).
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
||||
The people responsible for merging changes to this component or answering potential questions.
|
||||
|
||||
- None
|
@ -3,8 +3,9 @@ ace_atragmx
|
||||
|
||||
ATragMX - Handheld ballistics calculator
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
||||
The people responsible for merging changes to this component or answering potential questions.
|
||||
|
||||
- [Ruthberg] (http://github.com/Ulteq)
|
||||
- [Ruthberg](http://github.com/Ulteq)
|
||||
|
@ -2,7 +2,9 @@ ace_attach
|
||||
==========
|
||||
|
||||
Introducing the ability to attach various throwables to yourself or vehicles, to mark your position and assist in IFF.
|
||||
Adds item `ACE_IR_Strobe_Item`.
|
||||
|
||||
#### Items Added:
|
||||
`ACE_IR_Strobe_Item`
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
@ -1,7 +1,8 @@
|
||||
ace_backpacks
|
||||
=================
|
||||
|
||||
Adds indication when someone else opens your backpack (soundeffect / camShake).
|
||||
Adds indication when someone else opens your backpack (sound effect and camera shake).
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
||||
|
@ -3,10 +3,11 @@ ace_ballistics
|
||||
|
||||
Changes to weapon, magazine and ammunition values.
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
||||
The people responsible for merging changes to this component or answering potential questions.
|
||||
|
||||
- [Ruthberg] (http://github.com/Ulteq)
|
||||
- [Ruthberg](http://github.com/Ulteq)
|
||||
- [KoffeinFlummi](https://github.com/KoffeinFlummi)
|
||||
- [commy2](https://github.com/commy2)
|
||||
|
@ -1,10 +1,10 @@
|
||||
ace_captives
|
||||
============
|
||||
|
||||
Allows taking people captive/handcuffed
|
||||
Adds ability to handcuff and surrender.
|
||||
|
||||
####Items:
|
||||
`ACE_CableTie` - adds ability to take someone captive
|
||||
#### Items Added:
|
||||
`ACE_CableTie`
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
@ -223,15 +223,19 @@
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Captives_ModuleSettings_requireSurrender_name">
|
||||
<English>Require surrendering</English>
|
||||
<Polish>Wymagaj kapitulacji</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Captives_ModuleSettings_requireSurrender_description">
|
||||
<English>Require Players to surrender before they can be arrested</English>
|
||||
<Polish>Wymagaj od graczy kapitulacji zanim będzie można ich zaaresztować</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Captives_SurrenderOnly">
|
||||
<English>Surrendering only</English>
|
||||
<Polish>Tylko kapitulacja</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Captives_SurrenderOrNoWeapon">
|
||||
<English>Surrendering or No weapon</English>
|
||||
<Polish>Kapitulacja lub brak broni</Polish>
|
||||
</Key>
|
||||
</Package>
|
||||
</Project>
|
||||
</Project>
|
@ -1,9 +1,9 @@
|
||||
class ACE_Settings {
|
||||
class GVAR(enable) {
|
||||
displayName = CSTRING(ModuleSettings_enable);
|
||||
description = CSTRING(ModuleSettings_enable_desc);
|
||||
description = CSTRING(ModuleSettings_enable_Description);
|
||||
typeName = "BOOL";
|
||||
value = 1;
|
||||
category = CSTRING(settingsCategory);
|
||||
category = ECSTRING(OptionsMenu,CategoryLogistics);
|
||||
};
|
||||
};
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
class Extended_PreInit_EventHandlers {
|
||||
class ADDON {
|
||||
init = QUOTE(call COMPILE_FILE(XEH_preInit));
|
||||
@ -77,4 +76,22 @@ class Extended_Init_EventHandlers {
|
||||
init = QUOTE(_this call DFUNC(initVehicle));
|
||||
};
|
||||
};
|
||||
|
||||
class ACE_RepairItem_Base {
|
||||
class ADDON {
|
||||
init = QUOTE(_this call DFUNC(initObject));
|
||||
};
|
||||
};
|
||||
|
||||
class ACE_bodyBagObject {
|
||||
class ADDON {
|
||||
init = QUOTE(_this call DFUNC(initObject));
|
||||
};
|
||||
};
|
||||
|
||||
class ACE_ConcertinaWireCoil {
|
||||
class ADDON {
|
||||
init = QUOTE(_this call DFUNC(initObject));
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -1,13 +1,11 @@
|
||||
|
||||
class CfgVehicles {
|
||||
|
||||
class ACE_Module;
|
||||
class ACE_moduleCargoSettings: ACE_Module {
|
||||
scope = 2;
|
||||
displayName = CSTRING(SettingsModule_DisplayName);
|
||||
icon = QUOTE(PATHTOF(UI\Icon_Module_Cargo_ca.paa));
|
||||
category = "ACE";
|
||||
function = QUOTE(DFUNC(moduleSettings));
|
||||
category = "ACE_Logistics";
|
||||
function = QFUNC(moduleSettings);
|
||||
functionPriority = 1;
|
||||
isGlobal = 1;
|
||||
isTriggerActivated = 0;
|
||||
@ -15,13 +13,13 @@ class CfgVehicles {
|
||||
class Arguments {
|
||||
class enable {
|
||||
displayName = CSTRING(ModuleSettings_enable);
|
||||
description = CSTRING(ModuleSettings_enable_desc);
|
||||
description = CSTRING(ModuleSettings_enable_Description);
|
||||
typeName = "BOOL";
|
||||
defaultValue = 1;
|
||||
};
|
||||
};
|
||||
class ModuleDescription {
|
||||
description = CSTRING(SettingsModule_Desc);
|
||||
description = CSTRING(SettingsModule_Description);
|
||||
sync[] = {};
|
||||
};
|
||||
};
|
||||
@ -41,11 +39,11 @@ class CfgVehicles {
|
||||
};*/
|
||||
};
|
||||
};
|
||||
|
||||
class Tank: LandVehicle {
|
||||
GVAR(space) = 4;
|
||||
GVAR(hasCargo) = 1;
|
||||
};
|
||||
|
||||
class Car_F;
|
||||
class Truck_F: Car_F {
|
||||
GVAR(space) = 8;
|
||||
@ -53,25 +51,20 @@ class CfgVehicles {
|
||||
};
|
||||
|
||||
class Air;
|
||||
// Repair helicopters
|
||||
class Helicopter: Air {
|
||||
GVAR(space) = 8;
|
||||
GVAR(hasCargo) = 1;
|
||||
};
|
||||
|
||||
class Heli_Transport_02_base_F;
|
||||
class I_Heli_Transport_02_F : Heli_Transport_02_base_F {
|
||||
GVAR(space) = 20;
|
||||
GVAR(hasCargo) = 1;
|
||||
};
|
||||
|
||||
// Repair fixed wing aircraft
|
||||
class Plane: Air {
|
||||
GVAR(space) = 4;
|
||||
GVAR(hasCargo) = 1;
|
||||
};
|
||||
|
||||
// boats
|
||||
class Ship;
|
||||
class Ship_F: Ship {
|
||||
GVAR(space) = 4;
|
||||
|
12
addons/cargo/README.md
Normal file
12
addons/cargo/README.md
Normal file
@ -0,0 +1,12 @@
|
||||
ace_cargo
|
||||
============
|
||||
|
||||
Adds cargo menu to vehicles and allows loading and unloading of cargo items.
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
||||
The people responsible for merging changes to this component or answering potential questions.
|
||||
|
||||
- [commy2](https://github.com/commy2)
|
||||
- [Glowbal](https://github.com/Glowbal)
|
@ -2,22 +2,23 @@
|
||||
|
||||
ADDON = false;
|
||||
|
||||
PREP(canLoad);
|
||||
PREP(canLoadItemIn);
|
||||
PREP(canUnloadItem);
|
||||
PREP(canLoad);
|
||||
PREP(findNearestVehicle);
|
||||
PREP(getCargoSpaceLeft);
|
||||
PREP(GetSizeItem);
|
||||
PREP(getSizeItem);
|
||||
PREP(handleDestroyed);
|
||||
PREP(initObject);
|
||||
PREP(initVehicle);
|
||||
PREP(handleDestroyed);
|
||||
PREP(moduleSettings);
|
||||
PREP(loadItem);
|
||||
PREP(moduleSettings);
|
||||
PREP(onMenuOpen);
|
||||
PREP(unloadItem);
|
||||
PREP(validateCargoSpace);
|
||||
PREP(startLoadIn);
|
||||
PREP(startUnload);
|
||||
PREP(unloadItem);
|
||||
PREP(validateCargoSpace);
|
||||
|
||||
GVAR(initializedItemClasses) = [];
|
||||
|
||||
if (isServer) then {
|
||||
|
@ -12,7 +12,7 @@ class CfgPatches {
|
||||
};
|
||||
};
|
||||
|
||||
#include "ACE_Settings.hpp"
|
||||
#include "CfgEventHandlers.hpp"
|
||||
#include "CfgVehicles.hpp"
|
||||
#include "menu.hpp"
|
||||
#include "ACE_Settings.hpp"
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Author: Glowbal
|
||||
* Check if player can load item into the nearest vehicle
|
||||
* Check if player can load an item into the nearest vehicle.
|
||||
*
|
||||
* Arguments:
|
||||
* 0: Player <OBJECT>
|
||||
@ -9,9 +9,11 @@
|
||||
* Return value:
|
||||
* Can load <BOOL>
|
||||
*
|
||||
* Example:
|
||||
* [player, object] call ace_cargo_fnc_canLoad
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
|
||||
#include "script_component.hpp"
|
||||
|
||||
params ["_player", "_object"];
|
||||
@ -20,12 +22,11 @@ private ["_nearestVehicle"];
|
||||
_nearestVehicle = [_player] call FUNC(findNearestVehicle);
|
||||
|
||||
if (_nearestVehicle isKindOf "Cargo_Base_F" || isNull _nearestVehicle) then {
|
||||
|
||||
{
|
||||
if ([_object, _x] call FUNC(canLoadItemIn)) exitwith {_nearestVehicle = _x};
|
||||
}foreach (nearestObjects [_player, ["Cargo_base_F", "Land_PaperBox_closed_F"], MAX_LOAD_DISTANCE]);
|
||||
if ([_object, _x] call FUNC(canLoadItemIn)) exitWith {_nearestVehicle = _x};
|
||||
} forEach (nearestObjects [_player, ["Cargo_base_F", "Land_PaperBox_closed_F"], MAX_LOAD_DISTANCE]);
|
||||
};
|
||||
|
||||
if (isNull _nearestVehicle) exitwith {false};
|
||||
if (isNull _nearestVehicle) exitWith {false};
|
||||
|
||||
[_object, _nearestVehicle] call FUNC(canLoadItemIn);
|
||||
[_object, _nearestVehicle] call FUNC(canLoadItemIn)
|
||||
|
@ -1,23 +1,29 @@
|
||||
/*
|
||||
* Author: Glowbal
|
||||
* Check if item can be loaded into other Object
|
||||
* Check if item can be loaded into other Object.
|
||||
*
|
||||
* Arguments:
|
||||
* 0: Item Object <OBJECT>
|
||||
* 1: Holder Object (vehicle) <OBJECT>
|
||||
* 1: Holder Object (Vehicle) <OBJECT>
|
||||
*
|
||||
* Return value:
|
||||
* Can load in <BOOL>
|
||||
*
|
||||
* Example:
|
||||
* [item, holder] call ace_cargo_fnc_canLoadItemIn
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
|
||||
#include "script_component.hpp"
|
||||
|
||||
params ["_item", "_vehicle"];
|
||||
|
||||
if (speed _vehicle > 1 || (((getPos _vehicle) select 2) > 3)) exitwith {false};
|
||||
if (speed _vehicle > 1 || (((getPos _vehicle) select 2) > 3)) exitWith {false};
|
||||
|
||||
private "_itemSize";
|
||||
_itemSize = ([_item] call FUNC(getSizeItem));
|
||||
_itemSize > 0 && {alive _item && alive _vehicle} && {(_item distance _vehicle <= MAX_LOAD_DISTANCE)} && {_itemSize <= ([_vehicle] call FUNC(getCargoSpaceLeft))};
|
||||
|
||||
(_itemSize > 0) &&
|
||||
{alive _item && alive _vehicle} &&
|
||||
{(_item distance _vehicle <= MAX_LOAD_DISTANCE)} &&
|
||||
{_itemSize <= ([_vehicle] call FUNC(getCargoSpaceLeft))}
|
||||
|
@ -1,23 +1,27 @@
|
||||
/*
|
||||
* Author: Glowbal, ViperMaul
|
||||
* Check if item can be unloaded
|
||||
* Check if item can be unloaded.
|
||||
*
|
||||
* Arguments:
|
||||
* 0: loaded object <OBJECT>
|
||||
* 0: loaded Object <OBJECT>
|
||||
* 1: Object <OBJECT>
|
||||
*
|
||||
* Return value:
|
||||
* Can be unloaded <BOOL>
|
||||
*
|
||||
* Example:
|
||||
* [item, holder] call ace_cargo_fnc_canUnloadItem
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
|
||||
#include "script_component.hpp"
|
||||
|
||||
private ["_loaded", "_validVehiclestate", "_emptyPos"];
|
||||
|
||||
params ["_item", "_vehicle"];
|
||||
_loaded = _vehicle getvariable [QGVAR(loaded), []];
|
||||
if !(_item in _loaded) exitwith {false};
|
||||
|
||||
_loaded = _vehicle getVariable [QGVAR(loaded), []];
|
||||
if !(_item in _loaded) exitWith {false};
|
||||
|
||||
_validVehiclestate = true;
|
||||
_emptyPos = [];
|
||||
@ -35,5 +39,6 @@ if (_vehicle isKindOf "Ship" ) then {
|
||||
};
|
||||
};
|
||||
|
||||
if (!_validVehiclestate) exitwith { false };
|
||||
(count _emptyPos != 0);
|
||||
if (!_validVehiclestate) exitWith {false};
|
||||
|
||||
(count _emptyPos != 0)
|
||||
|
@ -1,34 +1,37 @@
|
||||
/*
|
||||
* Author: Glowbal
|
||||
* Get nearest vehicle, priority car, air, tank, ship
|
||||
* Get nearest vehicle from unit, priority: Car-Air-Tank-Ship.
|
||||
*
|
||||
* Arguments:
|
||||
* 0: Object <OBJECT>
|
||||
* 0: Unit <OBJECT>
|
||||
*
|
||||
* Return value:
|
||||
* Vehicle that is in Distance <OBJECT>
|
||||
* Vehicle in Distance <OBJECT>
|
||||
*
|
||||
* Example:
|
||||
* [unit] call ace_cargo_fnc_findNearestVehicle
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
|
||||
#include "script_component.hpp"
|
||||
|
||||
private ["_loadCar", "_loadHelicopter", "_loadTank", "_loadShip", "_loadContainer"];
|
||||
|
||||
params ["_unit"];
|
||||
|
||||
_loadCar = nearestObject [_unit, "car"];
|
||||
if (_unit distance _loadCar <= MAX_LOAD_DISTANCE) exitwith {_loadCar};
|
||||
if (_unit distance _loadCar <= MAX_LOAD_DISTANCE) exitWith {_loadCar};
|
||||
|
||||
_loadHelicopter = nearestObject [_unit, "air"];
|
||||
if (_unit distance _loadHelicopter <= MAX_LOAD_DISTANCE) exitwith {_loadHelicopter};
|
||||
if (_unit distance _loadHelicopter <= MAX_LOAD_DISTANCE) exitWith {_loadHelicopter};
|
||||
|
||||
_loadTank = nearestObject [_unit, "tank"];
|
||||
if (_unit distance _loadTank <= MAX_LOAD_DISTANCE) exitwith {_loadTank};
|
||||
if (_unit distance _loadTank <= MAX_LOAD_DISTANCE) exitWith {_loadTank};
|
||||
|
||||
_loadShip = nearestObject [_unit, "ship"];
|
||||
if (_unit distance _loadShip <= MAX_LOAD_DISTANCE) exitwith {_loadShip};
|
||||
if (_unit distance _loadShip <= MAX_LOAD_DISTANCE) exitWith {_loadShip};
|
||||
|
||||
_loadContainer = nearestObject [_unit,"Cargo_base_F"];
|
||||
if (_unit distance _loadContainer <= MAX_LOAD_DISTANCE) exitwith {_loadContainer};
|
||||
if (_unit distance _loadContainer <= MAX_LOAD_DISTANCE) exitWith {_loadContainer};
|
||||
|
||||
objNull;
|
||||
objNull
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Author: Glowbal
|
||||
* Get the cargo space left on object
|
||||
* Get the cargo space left on object.
|
||||
*
|
||||
* Arguments:
|
||||
* 0: Object <OBJECT>
|
||||
@ -8,10 +8,13 @@
|
||||
* Return value:
|
||||
* Cargo space left <NUMBER>
|
||||
*
|
||||
* Example:
|
||||
* [object] call ace_cargo_fnc_getCargoSpaceLeft
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
|
||||
#include "script_component.hpp"
|
||||
|
||||
params ["_vehicle"];
|
||||
_vehicle getvariable [QGVAR(space), getNumber (configFile >> "CfgVehicles" >> typeof _vehicle >> QGVAR(space))];
|
||||
params ["_object"];
|
||||
|
||||
_object getVariable [QGVAR(space), getNumber (configFile >> "CfgVehicles" >> typeof _object >> QGVAR(space))]
|
||||
|
@ -1,22 +1,28 @@
|
||||
/*
|
||||
* Author: Glowbal
|
||||
* Get the cargo size of an object
|
||||
* Get the cargo size of an object.
|
||||
*
|
||||
* Arguments:
|
||||
* 0: Object <OBJECT>
|
||||
*
|
||||
* Return value:
|
||||
* Cargo size. <NUMBER> (default: -1)
|
||||
* Cargo size <NUMBER> (default: -1)
|
||||
*
|
||||
* Example:
|
||||
* [object] call ace_cargo_fnc_getSizeItem
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
|
||||
#include "script_component.hpp"
|
||||
|
||||
private "_config";
|
||||
|
||||
params ["_item"];
|
||||
|
||||
_config = (configFile >> "CfgVehicles" >> typeof _item >> QGVAR(size));
|
||||
if (isNumber (_config)) exitwith {
|
||||
_item getvariable [QGVAR(size), getNumber (_config)];
|
||||
|
||||
if (isNumber (_config)) exitWith {
|
||||
_item getVariable [QGVAR(size), getNumber (_config)]
|
||||
};
|
||||
|
||||
-1
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Author: Glowbal
|
||||
* Handle object being destroyed
|
||||
* Handle object being destroyed.
|
||||
*
|
||||
* Arguments:
|
||||
* 0: Object <OBJECT>
|
||||
@ -8,17 +8,19 @@
|
||||
* Return value:
|
||||
* None
|
||||
*
|
||||
* Example:
|
||||
* [object] call ace_cargo_fnc_handleDestroyed
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
|
||||
#include "script_component.hpp"
|
||||
|
||||
params ["_vehicle"];
|
||||
|
||||
private["_loaded"];
|
||||
|
||||
_loaded = _vehicle getvariable [QGVAR(loaded), []];
|
||||
if (count _loaded == 0) exitwith {};
|
||||
_loaded = _vehicle getVariable [QGVAR(loaded), []];
|
||||
if (count _loaded == 0) exitWith {};
|
||||
|
||||
{
|
||||
// TODO deleteVehicle or just delete vehicle? Do we want to be able to recover destroyed equipment?
|
||||
|
@ -1,21 +1,23 @@
|
||||
/*
|
||||
* Author: Glowbal
|
||||
* Initialize variables for loadable objects. Called from init EH.
|
||||
* Initializes variables for loadable objects. Called from init EH.
|
||||
*
|
||||
* Arguments:
|
||||
* 0: Any object <OBJECT>
|
||||
* 0: Object <OBJECT>
|
||||
*
|
||||
* Return value:
|
||||
* None
|
||||
*
|
||||
* Example:
|
||||
* [object] call ace_cargo_fnc_initObject
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
|
||||
#include "script_component.hpp"
|
||||
|
||||
params ["_object"];
|
||||
|
||||
if (getNumber (configFile >> "CfgVehicles" >> typeOf _object >> QGVAR(canLoad)) != 1) exitwith {};
|
||||
if (getNumber (configFile >> "CfgVehicles" >> typeOf _object >> QGVAR(canLoad)) != 1) exitWith {};
|
||||
|
||||
private ["_type", "_action"];
|
||||
_type = typeOf _object;
|
||||
|
@ -1,16 +1,18 @@
|
||||
/*
|
||||
* Author: Glowbal
|
||||
* initalize vehicle. Adds open caro menu action if available
|
||||
* Initializes vehicle, adds open caro menu action if available.
|
||||
*
|
||||
* Arguments:
|
||||
* 0: vehicle <OBJECT>
|
||||
* 0: Vehicle <OBJECT>
|
||||
*
|
||||
* Return Value:
|
||||
* None
|
||||
*
|
||||
* Example:
|
||||
* [vehicle] call ace_cargo_fnc_initVehicle
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
|
||||
#include "script_component.hpp"
|
||||
|
||||
params ["_vehicle"];
|
||||
@ -31,7 +33,7 @@ if (isServer) then {
|
||||
_position set [2, (_position select 2) + 7.5];
|
||||
for "_i" from 1 to _amount do {
|
||||
_object = createVehicle [_className, _position, [], 0, "CAN_COLLIDE"];
|
||||
if !([_object, _vehicle] call FUNC(loadItem)) exitwith {
|
||||
if !([_object, _vehicle] call FUNC(loadItem)) exitWith {
|
||||
deleteVehicle _object;
|
||||
};
|
||||
};
|
||||
@ -46,7 +48,7 @@ if (_type in _initializedClasses) exitWith {};
|
||||
_initializedClasses pushBack _type;
|
||||
SETMVAR(GVAR(initializedClasses),_initializedClasses);
|
||||
|
||||
if (getNumber (configFile >> "CfgVehicles" >> _type >> QGVAR(hasCargo)) != 1) exitwith {};
|
||||
if (getNumber (configFile >> "CfgVehicles" >> _type >> QGVAR(hasCargo)) != 1) exitWith {};
|
||||
|
||||
private ["_text", "_condition", "_statement", "_icon", "_action"];
|
||||
_condition = {GVAR(enable)};
|
||||
|
@ -1,34 +1,37 @@
|
||||
/*
|
||||
* Author: Glowbal
|
||||
* Load object into vehicle
|
||||
* Load object into vehicle.
|
||||
*
|
||||
* Arguments:
|
||||
* 0: Object <OBJECT>
|
||||
* 1: Vehicle <OBJECT>
|
||||
*
|
||||
* Return value:
|
||||
* None
|
||||
* Object loaded <BOOL>
|
||||
*
|
||||
* Example:
|
||||
* [object, vehicle] call ace_cargo_fnc_loadItem
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
|
||||
#include "script_component.hpp"
|
||||
|
||||
private ["_loaded", "_space", "_itemSize"];
|
||||
|
||||
params ["_item", "_vehicle"];
|
||||
|
||||
if !([_item, _vehicle] call FUNC(canLoadItemIn)) exitwith {false};
|
||||
if !([_item, _vehicle] call FUNC(canLoadItemIn)) exitWith {false};
|
||||
|
||||
_loaded = _vehicle getvariable [QGVAR(loaded), []];
|
||||
_loaded = _vehicle getVariable [QGVAR(loaded), []];
|
||||
_loaded pushback _item;
|
||||
_vehicle setvariable [QGVAR(loaded), _loaded, true];
|
||||
_vehicle setVariable [QGVAR(loaded), _loaded, true];
|
||||
|
||||
_space = [_vehicle] call FUNC(getCargoSpaceLeft);
|
||||
_itemSize = [_item] call FUNC(getSizeItem);
|
||||
_vehicle setvariable [QGVAR(space), _space - _itemSize, true];
|
||||
_vehicle setVariable [QGVAR(space), _space - _itemSize, true];
|
||||
|
||||
detach _item;
|
||||
_item attachTo [_vehicle,[0,0,100]];
|
||||
["cargo_hideItem", [_item, true]] call EFUNC(common,serverEvent);
|
||||
|
||||
true;
|
||||
true
|
||||
|
@ -3,19 +3,26 @@
|
||||
* Module for adjusting the cargo settings
|
||||
*
|
||||
* Arguments:
|
||||
* 0: The module logic <LOGIC>
|
||||
* 1: units <ARRAY>
|
||||
* 2: activated <BOOL>
|
||||
* 0: The module logic <OBJECT>
|
||||
* 1: Synchronized units <ARRAY>
|
||||
* 2: Activated <BOOL>
|
||||
*
|
||||
* Return Value:
|
||||
* None
|
||||
*
|
||||
* Example:
|
||||
* function = "ace_cargo_fnc_loadItem"
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
|
||||
#include "script_component.hpp"
|
||||
|
||||
if (!isServer) exitWith {};
|
||||
|
||||
params ["_logic", "_units", "_activated"];
|
||||
if !(_activated) exitWith {};
|
||||
|
||||
if (!_activated) exitWith {};
|
||||
|
||||
[_logic, QGVAR(enable), "enable"] call EFUNC(common,readSettingFromModule);
|
||||
|
||||
diag_log text "[ACE]: Cargo Module Initialized.";
|
||||
|
@ -1,37 +1,40 @@
|
||||
/*
|
||||
* Author: Glowbal
|
||||
* Handle the UI data display
|
||||
* Handle the UI data display.
|
||||
*
|
||||
* Arguments:
|
||||
* 0: display <DISPLAY>
|
||||
* 0: Display <DISPLAY>
|
||||
*
|
||||
* Return value:
|
||||
* None
|
||||
*
|
||||
* Example:
|
||||
* [display] call ace_cargo_fnc_onMenuOpen
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
|
||||
#include "script_component.hpp"
|
||||
|
||||
disableSerialization;
|
||||
params["_display"];
|
||||
|
||||
uiNamespace setvariable [QGVAR(menuDisplay), _display];
|
||||
params ["_display"];
|
||||
|
||||
uiNamespace setVariable [QGVAR(menuDisplay), _display];
|
||||
|
||||
[{
|
||||
private ["_display","_loaded", "_ctrl", "_label"];
|
||||
disableSerialization;
|
||||
_display = uiNamespace getvariable QGVAR(menuDisplay);
|
||||
if (isnil "_display") exitwith {
|
||||
_display = uiNamespace getVariable QGVAR(menuDisplay);
|
||||
if (isnil "_display") exitWith {
|
||||
[_this select 1] call CBA_fnc_removePerFrameHandler;
|
||||
};
|
||||
|
||||
if (isNull GVAR(interactionVehicle) || ACE_player distance GVAR(interactionVehicle) >= 10) exitwith {
|
||||
if (isNull GVAR(interactionVehicle) || ACE_player distance GVAR(interactionVehicle) >= 10) exitWith {
|
||||
closeDialog 0;
|
||||
[_this select 1] call CBA_fnc_removePerFrameHandler;
|
||||
};
|
||||
|
||||
_loaded = GVAR(interactionVehicle) getvariable [QGVAR(loaded), []];
|
||||
_loaded = GVAR(interactionVehicle) getVariable [QGVAR(loaded), []];
|
||||
_ctrl = _display displayCtrl 100;
|
||||
_label = _display displayCtrl 2;
|
||||
|
||||
|
@ -1,16 +1,18 @@
|
||||
/*
|
||||
* Author: Glowbal
|
||||
* Start load item
|
||||
* Start load item.
|
||||
*
|
||||
* Arguments:
|
||||
* 0: Any object <OBJECT>
|
||||
* 0: Object <OBJECT>
|
||||
*
|
||||
* Return value:
|
||||
* None
|
||||
* Object loaded <BOOL>
|
||||
*
|
||||
* Example:
|
||||
* [object] call ace_cargo_fnc_starLoadIn
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
|
||||
#include "script_component.hpp"
|
||||
|
||||
params ["_player", "_object"];
|
||||
@ -19,11 +21,11 @@ private ["_nearestVehicle"];
|
||||
_nearestVehicle = [_player] call FUNC(findNearestVehicle);
|
||||
|
||||
if (isNull _nearestVehicle || _nearestVehicle isKindOf "Cargo_Base_F") then {
|
||||
|
||||
{
|
||||
if ([_object, _x] call FUNC(canLoadItemIn)) exitwith {_nearestVehicle = _x};
|
||||
}foreach (nearestObjects [_player, ["Cargo_base_F", "Land_PaperBox_closed_F"], MAX_LOAD_DISTANCE]);
|
||||
if ([_object, _x] call FUNC(canLoadItemIn)) exitWith {_nearestVehicle = _x};
|
||||
} foreach (nearestObjects [_player, ["Cargo_base_F", "Land_PaperBox_closed_F"], MAX_LOAD_DISTANCE]);
|
||||
};
|
||||
|
||||
if (isNull _nearestVehicle) exitwith {false};
|
||||
[_object, _nearestVehicle] call FUNC(loadItem);
|
||||
if (isNull _nearestVehicle) exitWith {false};
|
||||
|
||||
[_object, _nearestVehicle] call FUNC(loadItem)
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Author: Glowbal
|
||||
* Start unload action
|
||||
* Start unload action.
|
||||
*
|
||||
* Arguments:
|
||||
* None
|
||||
@ -8,24 +8,28 @@
|
||||
* Return value:
|
||||
* None
|
||||
*
|
||||
* Example:
|
||||
* [] call ace_cargo_fnc_startUnload
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
|
||||
#include "script_component.hpp"
|
||||
|
||||
private ["_display", "_loaded", "_ctrl", "_selected", "_item"];
|
||||
disableSerialization;
|
||||
_display = uiNamespace getvariable QGVAR(menuDisplay);
|
||||
if (isnil "_display") exitwith {};
|
||||
|
||||
_loaded = GVAR(interactionVehicle) getvariable [QGVAR(loaded), []];
|
||||
if (count _loaded == 0) exitwith {};
|
||||
disableSerialization;
|
||||
|
||||
_display = uiNamespace getVariable QGVAR(menuDisplay);
|
||||
if (isnil "_display") exitWith {};
|
||||
|
||||
_loaded = GVAR(interactionVehicle) getVariable [QGVAR(loaded), []];
|
||||
if (count _loaded == 0) exitWith {};
|
||||
|
||||
_ctrl = _display displayCtrl 100;
|
||||
|
||||
_selected = (lbCurSel _ctrl) max 0;
|
||||
|
||||
if (count _loaded <= _selected) exitwith {};
|
||||
if (count _loaded <= _selected) exitWith {};
|
||||
_item = _loaded select _selected;
|
||||
|
||||
[_item, GVAR(interactionVehicle)] call FUNC(unloadItem);
|
||||
|
@ -1,23 +1,26 @@
|
||||
/*
|
||||
* Author: Glowbal, ViperMaul
|
||||
* Unload object from vehicle
|
||||
* Unload object from vehicle.
|
||||
*
|
||||
* Arguments:
|
||||
* 0: Object <OBJECT>
|
||||
* 1: Vehicle <OBJECT>
|
||||
*
|
||||
* Return value:
|
||||
* None
|
||||
* Object unloaded <BOOL>
|
||||
*
|
||||
* Example:
|
||||
* [object, vehicle] call ace_cargo_fnc_unloadItem
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
|
||||
#include "script_component.hpp"
|
||||
|
||||
private ["_loaded", "_space", "_itemSize", "_emptyPos", "_validVehiclestate"];
|
||||
|
||||
params ["_item", "_vehicle"];
|
||||
|
||||
if !([_item, _vehicle] call FUNC(canUnloadItem)) exitwith {
|
||||
if !([_item, _vehicle] call FUNC(canUnloadItem)) exitWith {
|
||||
false
|
||||
};
|
||||
|
||||
@ -41,17 +44,17 @@ if (_vehicle isKindOf "Ship" ) then {
|
||||
};
|
||||
|
||||
TRACE_1("getPosASL Vehicle Check", getPosASL _vehicle);
|
||||
if (!_validVehiclestate) exitwith { false };
|
||||
if (!_validVehiclestate) exitWith {false};
|
||||
|
||||
if (count _emptyPos == 0) exitwith { false }; //consider displaying text saying there are no safe places to exit the vehicle
|
||||
if (count _emptyPos == 0) exitWith {false}; //consider displaying text saying there are no safe places to exit the vehicle
|
||||
|
||||
_loaded = _vehicle getvariable [QGVAR(loaded), []];
|
||||
_loaded = _vehicle getVariable [QGVAR(loaded), []];
|
||||
_loaded = _loaded - [_item];
|
||||
_vehicle setvariable [QGVAR(loaded), _loaded, true];
|
||||
_vehicle setVariable [QGVAR(loaded), _loaded, true];
|
||||
|
||||
_space = [_vehicle] call FUNC(getCargoSpaceLeft);
|
||||
_itemSize = [_item] call FUNC(getSizeItem);
|
||||
_vehicle setvariable [QGVAR(space), (_space + _itemSize), true];
|
||||
_vehicle setVariable [QGVAR(space), (_space + _itemSize), true];
|
||||
|
||||
detach _item;
|
||||
_item setPosASL (_emptyPos call EFUNC(common,PositiontoASL));
|
||||
@ -59,4 +62,4 @@ _item setPosASL (_emptyPos call EFUNC(common,PositiontoASL));
|
||||
|
||||
// TOOO maybe drag/carry the unloaded item?
|
||||
|
||||
true;
|
||||
true
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Author: Glowbal
|
||||
* Validate the vehicle cargo space
|
||||
* Validate the vehicle cargo space.
|
||||
*
|
||||
* Arguments:
|
||||
* 0: Object <OBJECT>
|
||||
@ -8,14 +8,19 @@
|
||||
* Return value:
|
||||
* None
|
||||
*
|
||||
* Example:
|
||||
* [object] call ace_cargo_fnc_validateCargoSpace
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
|
||||
#include "script_component.hpp"
|
||||
|
||||
private ["_loaded", "_newLoaded", "_totalSpaceOccupied"];
|
||||
|
||||
params ["_vehicle"];
|
||||
_loaded = _vehicle getvariable [QGVAR(loaded), []];
|
||||
|
||||
_loaded = _vehicle getVariable [QGVAR(loaded), []];
|
||||
|
||||
_newLoaded = [];
|
||||
_totalSpaceOccupied = 0;
|
||||
{
|
||||
@ -27,6 +32,7 @@ _totalSpaceOccupied = 0;
|
||||
} count _loaded;
|
||||
|
||||
if (count _loaded != count _newLoaded) then {
|
||||
_vehicle setvariable [QGVAR(loaded), _newLoaded, true];
|
||||
_vehicle setVariable [QGVAR(loaded), _newLoaded, true];
|
||||
};
|
||||
_vehicle setvariable [QGVAR(space), getNumber (configFile >> "CfgVehicles" >> typeof _vehicle >> QGVAR(space)) - _totalSpaceOccupied, true];
|
||||
|
||||
_vehicle setVariable [QGVAR(space), getNumber (configFile >> "CfgVehicles" >> typeof _vehicle >> QGVAR(space)) - _totalSpaceOccupied, true];
|
||||
|
@ -1 +1 @@
|
||||
#include "\z\ace\addons\cargo\script_component.hpp"
|
||||
#include "\z\ace\addons\cargo\script_component.hpp"
|
||||
|
@ -1,11 +1,10 @@
|
||||
|
||||
#include "\z\ace\addons\common\define.hpp"
|
||||
|
||||
class GVAR(menu) {
|
||||
idd = 314614;
|
||||
movingEnable = true;
|
||||
onLoad = QUOTE([_this select 0] call FUNC(onMenuOpen));
|
||||
onUnload = QUOTE(uiNamespace setvariable [ARR_2(QUOTE(QGVAR(menuDisplay)),nil)];);
|
||||
onUnload = QUOTE(uiNamespace setVariable [ARR_2(QUOTE(QGVAR(menuDisplay)),nil)];);
|
||||
class controlsBackground {
|
||||
class HeaderBackground: ACE_gui_backgroundBase{
|
||||
idc = -1;
|
||||
@ -20,8 +19,8 @@ class GVAR(menu) {
|
||||
y = "2.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
h = "14 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
text = "#(argb,8,8,3)color(0,0,0,0.8)";
|
||||
colorText[] = {0, 0, 0, "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.9])"};
|
||||
colorBackground[] = {0,0,0,"(profilenamespace getvariable ['GUI_BCG_RGB_A',0.9])"};
|
||||
colorText[] = {0, 0, 0, "(profilenamespace getVariable ['GUI_BCG_RGB_A',0.9])"};
|
||||
colorBackground[] = {0,0,0,"(profilenamespace getVariable ['GUI_BCG_RGB_A',0.9])"};
|
||||
};
|
||||
};
|
||||
|
||||
@ -37,7 +36,7 @@ class GVAR(menu) {
|
||||
font = "PuristaMedium";
|
||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
|
||||
colorText[] = {0.95, 0.95, 0.95, 0.75};
|
||||
colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.9])"};
|
||||
colorBackground[] = {"(profilenamespace getVariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getVariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getVariable ['GUI_BCG_RGB_B',0.5])", "(profilenamespace getVariable ['GUI_BCG_RGB_A',0.9])"};
|
||||
text = CSTRING(cargoMenu);
|
||||
};
|
||||
class SubHeader: HeaderName {
|
||||
@ -101,4 +100,4 @@ class GVAR(menu) {
|
||||
action = QUOTE([] call FUNC(startUnload););
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project name="ACE">
|
||||
<Package name="Cargo">
|
||||
<Key ID="STR_ACE_Cargo_loadObject">
|
||||
@ -16,19 +16,16 @@
|
||||
<Key ID="STR_ACE_Cargo_labelSpace">
|
||||
<English>Cargo space left: %1</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Cargo_settingsCategory">
|
||||
<English>Cargo</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Cargo_ModuleSettings_enable">
|
||||
<English>Enable Cargo</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Cargo_setting_ModuleSettings_descr">
|
||||
<Key ID="STR_ACE_Cargo_ModuleSettings_enable_Description">
|
||||
<English>Enable the load in cargo module</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Cargo_SettingsModule_DisplayName">
|
||||
<English>Cargo Settings</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Cargo_SettingsModule_DisplayName_descr">
|
||||
<Key ID="STR_ACE_Cargo_SettingsModule_Description">
|
||||
<English>Configure the cargo module settings</English>
|
||||
</Key>
|
||||
</Package>
|
||||
|
@ -84,7 +84,7 @@ if (_state) then {
|
||||
openMap true;
|
||||
};
|
||||
|
||||
if (serverCommandAvailable "#missions" || {player getVariable ["ACE_isUnconscious", false] && {(call FUNC(player)) getVariable [QEGVAR(medical,AllowChatWhileUnconscious), missionNamespace getVariable [QEGVAR(medical,AllowChatWhileUnconscious), false]]}}) then {
|
||||
if (isServer || {serverCommandAvailable "#kick"} || {player getVariable ["ACE_isUnconscious", false] && {(call FUNC(player)) getVariable [QEGVAR(medical,AllowChatWhileUnconscious), missionNamespace getVariable [QEGVAR(medical,AllowChatWhileUnconscious), false]]}}) then {
|
||||
if (!(_key in (actionKeys "DefaultAction" + actionKeys "Throw")) && {_key in (actionKeys "Chat" + actionKeys "PrevChannel" + actionKeys "NextChannel")}) then {
|
||||
_key = 0;
|
||||
};
|
||||
|
@ -18,6 +18,7 @@
|
||||
* 14-16: pistol (String, Array, Array)
|
||||
* 17: map, compass, watch, etc. (Array)
|
||||
* 18: binocluar (String)
|
||||
* 19: active weapon, active muzzle, active weaponMode (Array)
|
||||
*
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
@ -34,7 +35,8 @@ if (isNull _unit) exitWith {[
|
||||
"", ["","","",""], [],
|
||||
"", ["","","",""], [],
|
||||
[],
|
||||
""
|
||||
"",
|
||||
["","",""]
|
||||
]};
|
||||
|
||||
[
|
||||
@ -47,5 +49,6 @@ if (isNull _unit) exitWith {[
|
||||
secondaryWeapon _unit, secondaryWeaponItems _unit, secondaryWeaponMagazine _unit,
|
||||
handgunWeapon _unit, handgunItems _unit, handgunMagazine _unit,
|
||||
assignedItems _unit,
|
||||
binocular _unit
|
||||
binocular _unit,
|
||||
[currentWeapon _unit, currentMuzzle _unit, currentWeaponMode _unit]
|
||||
]
|
||||
|
@ -41,14 +41,15 @@ _hitpointClasses = [_config >> "HitPoints"];
|
||||
while {isClass _class} do {
|
||||
|
||||
for "_i" from 0 to (count _class - 1) do {
|
||||
private ["_entry", "_selection"];
|
||||
if (isClass (_class select _i)) then {
|
||||
private ["_entry", "_selection"];
|
||||
_entry = configName (_class select _i);
|
||||
_selection = getText (_class select _i >> "name");
|
||||
|
||||
_entry = configName (_class select _i);
|
||||
_selection = getText (_class select _i >> "name");
|
||||
|
||||
if (!(_selection in _selections) && {!isNil {_vehicle getHit _selection}}) then {
|
||||
_hitpoints pushBack _entry;
|
||||
_selections pushBack _selection;
|
||||
if (!(_selection in _selections) && {!isNil {_vehicle getHit _selection}}) then {
|
||||
_hitpoints pushBack _entry;
|
||||
_selections pushBack _selection;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -1,31 +1,35 @@
|
||||
/*
|
||||
* Author: Sniperwolf572
|
||||
* Checks if one of the following common feature cameras is active:
|
||||
*
|
||||
* Checks if one of the following BI feature cameras are active:
|
||||
*
|
||||
* - Classic camera (BIS_fnc_cameraOld)
|
||||
* - Splendid camera (BIS_fnc_camera)
|
||||
* - Curator
|
||||
* - ACE Spectator
|
||||
* - Arsenal camera (BIS_fnc_arsenal)
|
||||
* - Animation viewer (BIS_fnc_animViewer)
|
||||
* - Establishing shot (BIS_fnc_establishingShot)
|
||||
* - Splendid camera (BIS_fnc_camera)
|
||||
* - Animation viewer (BIS_fnc_animViewer)
|
||||
* - Classic camera (BIS_fnc_cameraOld)
|
||||
*
|
||||
* Arguments:
|
||||
* None
|
||||
* 0: None <NIL>
|
||||
*
|
||||
* Return value:
|
||||
* Is BI feature camera active (bool)
|
||||
* Return Value:
|
||||
* A feature camera is active <BOOL>
|
||||
*
|
||||
* Example:
|
||||
* call ace_common_fnc_isFeatureCameraActive;
|
||||
* [] call ace_common_fnc_isFeatureCameraActive
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
|
||||
#include "script_component.hpp"
|
||||
|
||||
(
|
||||
!isNull (missionNamespace getVariable ["BIS_DEBUG_CAM", objNull]) || // Classic camera
|
||||
{!isNull (missionNamespace getVariable ["BIS_fnc_camera_cam", objNull])} || // Splendid camera
|
||||
{!isNull (uiNamespace getVariable ["BIS_fnc_arsenal_cam", objNull])} || // Arsenal camera
|
||||
{!isNull (uiNamespace getVariable ["BIS_fnc_animViewer_cam", objNull])} || // Animation viewer camera
|
||||
{!isNull (missionNamespace getVariable ["BIS_fnc_establishingShot_fakeUAV", objNull])} // Establishing shot camera
|
||||
)
|
||||
!(
|
||||
isNull curatorCamera && // Curator
|
||||
{isNull (GETMVAR(EGVAR(spectator,camera),objNull))} && // ACE Spectator
|
||||
{isNull (GETUVAR(BIS_fnc_arsenal_cam, objNull))} && // Arsenal camera
|
||||
{isNull (GETMVAR(BIS_fnc_establishingShot_fakeUAV, objNull))} && // Establishing shot camera
|
||||
{isNull (GETMVAR(BIS_fnc_camera_cam, objNull))} && // Splendid camera
|
||||
{isNull (GETUVAR(BIS_fnc_animViewer_cam, objNull))} && // Animation viewer camera
|
||||
{isNull (GETMVAR(BIS_DEBUG_CAM, objNull))} // Classic camera
|
||||
)
|
||||
|
@ -479,7 +479,6 @@
|
||||
<Portuguese>Verificar PBOs</Portuguese>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Common_CheckPBO_Description">
|
||||
<English></English>
|
||||
<Polish>Sprawdzaj spójność addonów z serwerem</Polish>
|
||||
<Spanish>Este módulo verifica la integridad de los addons con los que iniciamos el simulador</Spanish>
|
||||
<German>Dieses Modul überprüft ob jeder Spieler die richtigen PBO-Dateien hat.</German>
|
||||
@ -646,6 +645,7 @@
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Common_VehiclesOnly">
|
||||
<English>Vehicles only</English>
|
||||
<Polish>Tylko pojazdy</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Common_DoNotForce">
|
||||
<English>Do Not Force</English>
|
||||
@ -680,4 +680,4 @@
|
||||
<Polish>ACE3 Pojazdy</Polish>
|
||||
</Key>
|
||||
</Package>
|
||||
</Project>
|
||||
</Project>
|
@ -3,7 +3,7 @@ class CfgVehicles {
|
||||
class Fence;
|
||||
class thingX;
|
||||
class NonStrategic;
|
||||
|
||||
|
||||
class ACE_ConcertinaWireNoGeo: Fence {
|
||||
XEH_ENABLED;
|
||||
scope = 1;
|
||||
@ -48,7 +48,7 @@ class CfgVehicles {
|
||||
class wire_16: wire_2{};
|
||||
class wire_17: wire_2{};
|
||||
class wire_18: wire_2{};
|
||||
|
||||
|
||||
class wire_2_1: wire_2 {
|
||||
animPeriod = 8;
|
||||
};
|
||||
@ -67,7 +67,7 @@ class CfgVehicles {
|
||||
class wire_15_1: wire_2_1 {};
|
||||
class wire_16_1: wire_2_1 {};
|
||||
class wire_17_1: wire_2_1 {};
|
||||
class wire_18_1: wire_2_1 {};
|
||||
class wire_18_1: wire_2_1 {};
|
||||
};
|
||||
};
|
||||
class ACE_ConcertinaWire: ACE_ConcertinaWireNoGeo {
|
||||
@ -113,6 +113,8 @@ class CfgVehicles {
|
||||
EGVAR(dragging,canDrag) = 1;
|
||||
EGVAR(dragging,dragPosition[]) = {0,0.5,0.5};
|
||||
EGVAR(dragging,dragDirection) = 0;
|
||||
EGVAR(cargo,size) = 1;
|
||||
EGVAR(cargo,canLoad) = 1;
|
||||
class ACE_Actions {
|
||||
class ACE_MainActions {
|
||||
selection = "";
|
||||
@ -133,7 +135,7 @@ class CfgVehicles {
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
class Land_Razorwire_F: NonStrategic {
|
||||
XEH_ENABLED;
|
||||
};
|
||||
|
@ -3,8 +3,9 @@ ace_concertina_wire
|
||||
|
||||
Adds concertina wire.
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
||||
The people responsible for merging changes to this component or answering potential questions.
|
||||
|
||||
- [Ruthberg] (http://github.com/Ulteq)
|
||||
- [Ruthberg](http://github.com/Ulteq)
|
||||
|
@ -1,10 +1,11 @@
|
||||
ace_dagr
|
||||
===============
|
||||
|
||||
Defense Advanced GPS Receiver
|
||||
Adds Defense Advanced GPS Receiver.
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
||||
The people responsible for merging changes to this component or answering potential questions.
|
||||
|
||||
- [Ruthberg] (http://github.com/Ulteq)
|
||||
- [Ruthberg](http://github.com/Ulteq)
|
||||
|
@ -1,7 +1,7 @@
|
||||
ace_disposable
|
||||
==============
|
||||
|
||||
Makes the NLAW a disposable one-shot weapon.
|
||||
Makes the NLAW a disposable one-shot weapon and provides disposable launchers framework for use by other mods.
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
12
addons/dragging/README.md
Normal file
12
addons/dragging/README.md
Normal file
@ -0,0 +1,12 @@
|
||||
ace_dragging
|
||||
==============
|
||||
|
||||
Adds ability to drag and carry objects.
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
||||
The people responsible for merging changes to this component or answering potential questions.
|
||||
|
||||
- [Garth "L-H" de Wet](https://github.com/CorruptedHeart)
|
||||
- [commy2](https://github.com/commy2)
|
@ -6,7 +6,7 @@ class CfgPatches {
|
||||
weapons[] = {};
|
||||
requiredVersion = REQUIRED_VERSION;
|
||||
requiredAddons[] = {"ace_interaction"};
|
||||
author[] = {"Garth 'L-H' de Wet","commy2"};
|
||||
author[] = {"Garth 'L-H' de Wet", "commy2"};
|
||||
authorUrl = "https://github.com/commy2/";
|
||||
VERSION_CONFIG;
|
||||
};
|
||||
|
@ -1,7 +1,7 @@
|
||||
ace_fcs
|
||||
=======
|
||||
|
||||
Adds a fire control system to armoured vehicles and helicoters, allowing the precise engagement of stationary and moving targets.
|
||||
Adds a fire control system to armoured vehicles and helicopters, allowing precise engagement of stationary and moving targets.
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
11
addons/fonts/README.md
Normal file
11
addons/fonts/README.md
Normal file
@ -0,0 +1,11 @@
|
||||
ace_fonts
|
||||
========
|
||||
|
||||
Custom fonts including fixed-width font.
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
||||
The people responsible for merging changes to this component or answering potential questions.
|
||||
|
||||
- [jaynus](https://github.com/jaynus/)
|
11
addons/hitreactions/README.md
Normal file
11
addons/hitreactions/README.md
Normal file
@ -0,0 +1,11 @@
|
||||
ace_hitreactions
|
||||
===========
|
||||
|
||||
Adds reactions when getting shot.
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
||||
The people responsible for merging changes to this component or answering potential questions.
|
||||
|
||||
- [commy2](https://github.com/commy2)
|
11
addons/huntir/README.md
Normal file
11
addons/huntir/README.md
Normal file
@ -0,0 +1,11 @@
|
||||
ace_huntir
|
||||
===========
|
||||
|
||||
Adds High-altitude Unit Navigated Tactical Imaging Round and its Monitor.
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
||||
The people responsible for merging changes to this component or answering potential questions.
|
||||
|
||||
- [Ruthberg](http://github.com/Ulteq)
|
12
addons/interact_menu/README.md
Normal file
12
addons/interact_menu/README.md
Normal file
@ -0,0 +1,12 @@
|
||||
ace_interact_menu
|
||||
===========
|
||||
|
||||
Base framework for interaction menu.
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
||||
The people responsible for merging changes to this component or answering potential questions.
|
||||
|
||||
- [NouberNou](https://github.com/NouberNou)
|
||||
- [esteldunedain](https://github.com/esteldunedain)
|
@ -3,6 +3,7 @@ ace_interaction
|
||||
|
||||
Provides interaction options between units.
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
||||
The people responsible for merging changes to this component or answering potential questions.
|
||||
|
@ -1,7 +1,7 @@
|
||||
ace_inventory
|
||||
=============
|
||||
|
||||
Increases the size of the inventory dialog.
|
||||
Adds options to increase the size of the inventory dialog.
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
@ -1,10 +1,11 @@
|
||||
ace_kestrel4500
|
||||
===============
|
||||
|
||||
Kestrel 4500 Pocket Weather Tracker
|
||||
Adds Kestrel 4500 Pocket Weather Tracker.
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
||||
The people responsible for merging changes to this component or answering potential questions.
|
||||
|
||||
- [Ruthberg] (http://github.com/Ulteq)
|
||||
- [Ruthberg](http://github.com/Ulteq)
|
||||
|
@ -1,7 +1,10 @@
|
||||
ace_logistics_uavbattery
|
||||
===========
|
||||
|
||||
Adds an item `ACE_UAVBattery` that allows refueling/recharging of the "Dartar" quadcopter UAVs.
|
||||
Adds an item that allows refueling/recharging of the Darter quadcopter UAVs.
|
||||
|
||||
#### Items Added:
|
||||
`ACE_UAVBattery`
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
@ -16,6 +16,6 @@
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
PARAMS_2(_caller,_target);
|
||||
params ["_caller", "_target"];
|
||||
|
||||
("ACE_UAVBattery" in (items _caller)) && {(fuel _target) < 1} && {(speed _target) < 1} && {!(isEngineOn _target)} && {(_target distance _caller) <= 4}
|
||||
|
@ -15,23 +15,21 @@
|
||||
* Public: No
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
PARAMS_2(_caller,_target);
|
||||
|
||||
private ["_onFinish", "_onFailure"];
|
||||
params ["_caller", "_target"];
|
||||
|
||||
if (!(_this call FUNC(canRefuelUAV))) exitWith {};
|
||||
|
||||
_onFinish = {
|
||||
EXPLODE_2_PVT((_this select 0),_caller,_target);
|
||||
_caller removeItem "ACE_UAVBattery";
|
||||
playSound3D [QUOTE(PATHTO_R(sounds\exchange_battery.ogg)), objNull, false, getPosASL _caller, 1, 1, 10];
|
||||
["setFuel", [_target], [_target, 1]] call EFUNC(common,targetEvent); //setFuel is local
|
||||
(_this select 0) params ["_caller", "_target"];
|
||||
_caller removeItem "ACE_UAVBattery";
|
||||
playSound3D [QUOTE(PATHTO_R(sounds\exchange_battery.ogg)), objNull, false, getPosASL _caller, 1, 1, 10];
|
||||
["setFuel", [_target], [_target, 1]] call EFUNC(common,targetEvent); //setFuel is local
|
||||
};
|
||||
|
||||
_onFailure = {
|
||||
EXPLODE_2_PVT((_this select 0),_caller,_target);
|
||||
[_caller, "AmovPknlMstpSrasWrflDnon", 1] call EFUNC(common,doAnimation);
|
||||
(_this select 0) params ["_caller", "_target"];
|
||||
[_caller, "AmovPknlMstpSrasWrflDnon", 1] call EFUNC(common,doAnimation);
|
||||
};
|
||||
|
||||
[_caller, "AinvPknlMstpSnonWnonDr_medic5", 0] call EFUNC(common,doAnimation);
|
||||
|
@ -1,7 +1,10 @@
|
||||
ace_logistics_wirecutter
|
||||
===========
|
||||
|
||||
Adds an item `ACE_wirecutter` that allows cutting of fences in A3 and AiA maps.
|
||||
Adds an item that allows cutting of fences in Aarma 3 and AiA/CUP maps.
|
||||
|
||||
#### Items Added:
|
||||
`ACE_wirecutter`
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
@ -1,7 +1,8 @@
|
||||
ace_magazinerepack
|
||||
==================
|
||||
|
||||
Adds the ability to consolidate multiple half-empty magazines.
|
||||
Adds the ability to consolidate multiple unfull magazines.
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
* 1: Player <OBJECT>
|
||||
*
|
||||
* Return value:
|
||||
* ChildActiosn<ARRAY>
|
||||
* ChildActions <ARRAY>
|
||||
*
|
||||
* Example:
|
||||
* [player, player] call ace_magazinerepack_fnc_getMagazineChildren
|
||||
@ -16,15 +16,17 @@
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
private ["_unitMagazines", "_unitMagCounts", "_xFullMagazineCount", "_index", "_actions", "_displayName", "_picture", "_action"];
|
||||
private ["_unitMagazines", "_unitMagCounts", "_index", "_actions", "_displayName", "_picture", "_action"];
|
||||
|
||||
PARAMS_2(_target,_player);
|
||||
params ["_target", "_player"];
|
||||
|
||||
// get all mags and ammo count
|
||||
_unitMagazines = [];
|
||||
_unitMagCounts = [];
|
||||
{
|
||||
EXPLODE_4_PVT(_x,_xClassname,_xCount,_xLoaded,_xType);
|
||||
private "_xFullMagazineCount";
|
||||
_x params ["_xClassname", "_xCount", "_xLoaded", "_xType"];
|
||||
|
||||
_xFullMagazineCount = getNumber (configfile >> "CfgMagazines" >> _xClassname >> "count");
|
||||
|
||||
//for every partial magazine, that is either in inventory or can be moved there
|
||||
|
@ -10,7 +10,7 @@
|
||||
* 3: Error Code <NUMBER>
|
||||
*
|
||||
* Return Value:
|
||||
* Nothing
|
||||
* None
|
||||
*
|
||||
* Example:
|
||||
* (args from progressBar) call ace_magazinerepack_fnc_magazineRepackFinish
|
||||
@ -21,8 +21,9 @@
|
||||
|
||||
private ["_structuredOutputText", "_picture", "_fullMags", "_partialMags", "_fullMagazineCount"];
|
||||
|
||||
PARAMS_4(_args,_elapsedTime,_totalTime,_errorCode);
|
||||
EXPLODE_2_PVT(_args,_magazineClassname,_lastAmmoCount);
|
||||
params ["_args", "_elapsedTime", "_totalTime", "_errorCode"];
|
||||
_args params ["_magazineClassname", "_lastAmmoCount"];
|
||||
|
||||
_fullMagazineCount = getNumber (configfile >> "CfgMagazines" >> _magazineClassname >> "count");
|
||||
|
||||
//Don't show anything if player can't interact:
|
||||
|
@ -20,17 +20,19 @@
|
||||
|
||||
private ["_currentAmmoCount", "_addedMagazines", "_missingAmmo", "_index", "_updateMagazinesOnPlayerFnc"];
|
||||
|
||||
PARAMS_3(_args,_elapsedTime,_totalTime);
|
||||
EXPLODE_3_PVT(_args,_magazineClassname,_lastAmmoCount,_simEvents);
|
||||
if ((count _simEvents) == 0) exitWith {ERROR("No Event"); false};
|
||||
EXPLODE_3_PVT((_simEvents select 0),_nextEventTime,_nextEventIsBullet,_nextEventMags);
|
||||
params ["_ars", "_elapsedTime", "_totalTime"];
|
||||
_args params ["_magazineClassname", "_lastAmmoCount", "_simEvents"];
|
||||
|
||||
if (_nextEventTime > _elapsedTime) exitWith {true};//waiting on next event
|
||||
if !((_simEvents select 0) params ["_nextEventTime", "_nextEventIsBullet", "_nextEventMags"]) exitWith { ERROR("No Event"); false };
|
||||
|
||||
|
||||
|
||||
if (_nextEventTime > _elapsedTime) exitWith { true };//waiting on next event
|
||||
|
||||
//Verify we aren't missing any ammo
|
||||
_currentAmmoCount = [];
|
||||
{
|
||||
EXPLODE_2_PVT(_x,_xClassname,_xCount);
|
||||
_x params ["_xClassname", "_xCount"];
|
||||
if (_xClassname == _magazineClassname) then {
|
||||
_currentAmmoCount pushBack _xCount;
|
||||
};
|
||||
@ -50,7 +52,7 @@ _missingAmmo = false;
|
||||
};
|
||||
} forEach _lastAmmoCount;
|
||||
|
||||
if (_missingAmmo) exitWith {false}; //something removed ammo that was being repacked (could be other players or scripts)
|
||||
if (_missingAmmo) exitWith { false }; //something removed ammo that was being repacked (could be other players or scripts)
|
||||
|
||||
_updateMagazinesOnPlayerFnc = {
|
||||
ACE_player removeMagazines _magazineClassname; //remove inventory magazines
|
||||
@ -75,4 +77,4 @@ if (_nextEventIsBullet) then {
|
||||
|
||||
_simEvents deleteAt 0; //pop off the event
|
||||
|
||||
true;
|
||||
true
|
||||
|
@ -19,20 +19,20 @@
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
private ["_newMagFnc", "_time", "_events", "_swapAmmoFnc", "_ammoSwaped", "_lowIndex", "_highIndex", "_ammoToTransfer", "_ammoAvailable", "_ammoNeeded", "_swapProgress"];
|
||||
private ["_fnc_newMag", "_time", "_events", "_fnc_swapAmmo", "_ammoSwaped", "_lowIndex", "_highIndex", "_ammoToTransfer", "_ammoAvailable", "_ammoNeeded", "_swapProgress"];
|
||||
|
||||
PARAMS_3(_fullMagazineCount,_arrayOfAmmoCounts,_isBelt);
|
||||
params ["_fullMagazineCount", "_arrayOfAmmoCounts", "_isBelt"];
|
||||
|
||||
// Sort Ascending - Don't modify original
|
||||
_arrayOfAmmoCounts = +_arrayOfAmmoCounts;
|
||||
_arrayOfAmmoCounts sort true;
|
||||
|
||||
_newMagFnc = {
|
||||
_fnc_newMag = {
|
||||
_time = _time + GVAR(TimePerMagazine);
|
||||
_events pushBack [_time, false, +_arrayOfAmmoCounts];
|
||||
};
|
||||
|
||||
_swapAmmoFnc = if (_isBelt) then {
|
||||
_fnc_swapAmmo = if (_isBelt) then {
|
||||
{
|
||||
_time = _time + GVAR(TimePerBeltLink);
|
||||
_arrayOfAmmoCounts set [_lowIndex, ((_arrayOfAmmoCounts select _lowIndex) - _ammoSwaped)];
|
||||
@ -64,14 +64,14 @@ while {_lowIndex < _highIndex} do {
|
||||
|
||||
if (_ammoAvailable == 0) then {
|
||||
_lowIndex = _lowIndex + 1;
|
||||
call _newMagFnc;
|
||||
call _fnc_newMag;
|
||||
} else {
|
||||
if (_ammoNeeded == 0) then {
|
||||
_highIndex = _highIndex - 1;
|
||||
call _newMagFnc;
|
||||
call _fnc_newMag;
|
||||
} else {
|
||||
_ammoSwaped = _ammoAvailable min _ammoNeeded;
|
||||
call _swapAmmoFnc;
|
||||
call _fnc_swapAmmo;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
private ["_magazineCfg", "_fullMagazineCount", "_isBelt", "_startingAmmoCounts", "_simEvents", "_totalTime"];
|
||||
|
||||
PARAMS_3(_target,_player,_magazineClassname);
|
||||
params ["_target", "_player", "_magazineClassname"];
|
||||
|
||||
if (isNil "_magazineClassname" || {_magazineClassname == ""}) exitWith {ERROR("Bad Mag Classname");};
|
||||
_magazineCfg = configfile >> "CfgMagazines" >> _magazineClassname;
|
||||
@ -63,11 +63,11 @@ _simEvents = [_fullMagazineCount, _startingAmmoCounts, _isBelt] call FUNC(simula
|
||||
_totalTime = (_simEvents select ((count _simEvents) - 1) select 0);
|
||||
|
||||
[
|
||||
_totalTime,
|
||||
[_magazineClassname, _startingAmmoCounts, _simEvents],
|
||||
{_this call FUNC(magazineRepackFinish)},
|
||||
{_this call FUNC(magazineRepackFinish)},
|
||||
(localize LSTRING(RepackingMagazine)),
|
||||
{_this call FUNC(magazineRepackProgress)},
|
||||
["isNotInside", "isNotSitting"]
|
||||
_totalTime,
|
||||
[_magazineClassname, _startingAmmoCounts, _simEvents],
|
||||
{_this call FUNC(magazineRepackFinish)},
|
||||
{_this call FUNC(magazineRepackFinish)},
|
||||
(localize LSTRING(RepackingMagazine)),
|
||||
{_this call FUNC(magazineRepackProgress)},
|
||||
["isNotInside", "isNotSitting"]
|
||||
] call EFUNC(common,progressBar);
|
||||
|
@ -5,4 +5,7 @@ class CfgFactionClasses {
|
||||
priority = 2;
|
||||
side = 7;
|
||||
};
|
||||
class ACE_Logistics: ACE {
|
||||
displayName = CSTRING(Category_Logistics);
|
||||
};
|
||||
};
|
||||
|
5
addons/main/CfgVehicleClasses.hpp
Normal file
5
addons/main/CfgVehicleClasses.hpp
Normal file
@ -0,0 +1,5 @@
|
||||
class CfgVehicleClasses {
|
||||
class ACE_Logistics_Items {
|
||||
displayName = CSTRING(Category_Logistics);
|
||||
};
|
||||
};
|
@ -1,4 +1,4 @@
|
||||
#include "script_component.hpp"
|
||||
#include "script_component.hpp"
|
||||
|
||||
class CfgPatches {
|
||||
class ADDON {
|
||||
@ -587,3 +587,4 @@ class CfgSettings {
|
||||
};
|
||||
|
||||
#include "CfgModuleCategories.hpp"
|
||||
#include "CfgVehicleClasses.hpp"
|
||||
|
8
addons/main/stringtable.xml
Normal file
8
addons/main/stringtable.xml
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project name="ACE">
|
||||
<Package name="Main">
|
||||
<Key ID="STR_ACE_Main_Category_Logistics">
|
||||
<English>ACE Logistics</English>
|
||||
</Key>
|
||||
</Package>
|
||||
</Project>
|
@ -1,12 +1,12 @@
|
||||
ace_map
|
||||
=======
|
||||
|
||||
Various tweaks to the in-game map. Including:
|
||||
Various tweaks to the in-game map, including:
|
||||
- Better map styling (countours, legend, hiding bushes and trees, etc).
|
||||
- Max zoom level (optional)
|
||||
- Map shaking while walking (optional)
|
||||
- Map illumination (optional)
|
||||
- Blufor tracker (optional)
|
||||
- Blue Force Tracker (optional)
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
@ -1,11 +1,12 @@
|
||||
ace_maptools
|
||||
============
|
||||
|
||||
Map tools:
|
||||
Adds the following map tools:
|
||||
- Roamer
|
||||
- Map drawing
|
||||
- Showing GPS on map
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
||||
The people responsible for merging changes to this component or answering potential questions.
|
||||
|
@ -697,6 +697,8 @@ class CfgVehicles {
|
||||
EGVAR(dragging,canDrag) = 1;
|
||||
EGVAR(dragging,dragPosition[]) = {0,1.2,0};
|
||||
EGVAR(dragging,dragDirection) = 0;
|
||||
EGVAR(cargo,size) = 1;
|
||||
EGVAR(cargo,canLoad) = 1;
|
||||
class ACE_Actions {
|
||||
class ACE_MainActions {
|
||||
displayName = ECSTRING(interaction,MainAction);
|
||||
|
@ -3,6 +3,7 @@ ace_medical
|
||||
|
||||
Provides a basic and advanced medical system.
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
||||
The people responsible for merging changes to this component or answering potential questions.
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -13,6 +13,7 @@
|
||||
*/
|
||||
|
||||
#include "script_component.hpp"
|
||||
#define MAX_DISTANCE 10
|
||||
|
||||
// Exit for basic medical
|
||||
if (GVAR(level) < 2) exitWith {};
|
||||
@ -39,6 +40,11 @@ if (_show) then {
|
||||
if (GVAR(displayPatientInformationTarget) != _target || GVAR(currentSelectedSelectionN) != _selectionN) exitwith {
|
||||
[_this select 1] call CBA_fnc_removePerFrameHandler;
|
||||
};
|
||||
if (ACE_player distance _target > MAX_DISTANCE) exitwith {
|
||||
("ACE_MedicalRscDisplayInformation" call BIS_fnc_rscLayer) cutText ["","PLAIN"];
|
||||
[_this select 1] call CBA_fnc_removePerFrameHandler;
|
||||
["displayTextStructured", [ACE_player], [[LSTRING(DistanceToFar), [_target] call EFUNC(common,getName)], 1.75, ACE_player]] call EFUNC(common,targetEvent);
|
||||
};
|
||||
|
||||
disableSerialization;
|
||||
_display = uiNamespace getvariable QGVAR(DisplayInformation);
|
||||
|
@ -176,8 +176,17 @@ if (vehicle _caller == _caller && {_callerAnim != ""}) then {
|
||||
_caller selectWeapon (primaryWeapon _caller); // unit always has a primary weapon here
|
||||
};
|
||||
|
||||
if (stance _caller == "STAND") then {
|
||||
_caller setvariable [QGVAR(treatmentPrevAnimCaller), "amovpknlmstpsraswrfldnon"];
|
||||
if (isWeaponDeployed _caller) then {
|
||||
TRACE_1("Weapon Deployed, breaking out first",(stance _caller));
|
||||
[_caller, "", 0] call EFUNC(common,doAnimation);
|
||||
};
|
||||
|
||||
if ((stance _caller) == "STAND") then {
|
||||
switch (_wpn) do {//If standing, end in a crouched animation based on their current weapon
|
||||
case ("rfl"): {_caller setvariable [QGVAR(treatmentPrevAnimCaller), "AmovPknlMstpSrasWrflDnon"];};
|
||||
case ("pst"): {_caller setvariable [QGVAR(treatmentPrevAnimCaller), "AmovPknlMstpSrasWpstDnon"];};
|
||||
case ("non"): {_caller setvariable [QGVAR(treatmentPrevAnimCaller), "AmovPknlMstpSnonWnonDnon"];};
|
||||
};
|
||||
} else {
|
||||
_caller setvariable [QGVAR(treatmentPrevAnimCaller), animationState _caller];
|
||||
};
|
||||
|
@ -18,20 +18,20 @@ private ["_caller","_target", "_reviveStartTime"];
|
||||
_caller = _this select 0;
|
||||
_target = _this select 1;
|
||||
|
||||
if (_target getvariable [QGVAR(inReviveState), false]) exitwith {
|
||||
if (_target getvariable [QGVAR(inReviveState), false]) then {
|
||||
_reviveStartTime = _target getvariable [QGVAR(reviveStartTime),0];
|
||||
if (_reviveStartTime > 0) then {
|
||||
_target setvariable [QGVAR(reviveStartTime), (_reviveStartTime + random(20)) min ACE_time];
|
||||
};
|
||||
};
|
||||
|
||||
if (random(1)>= 0.6) exitwith {
|
||||
if ((random 1) >= 0.6) then {
|
||||
_target setvariable [QGVAR(inCardiacArrest), nil,true];
|
||||
_target setvariable [QGVAR(heartRate), 40];
|
||||
_target setvariable [QGVAR(bloodPressure), [50,70]];
|
||||
};
|
||||
|
||||
[_target, "activity", LSTRING(Activity_fullHeal), [[_caller] call EFUNC(common,getName)]] call FUNC(addToLog);
|
||||
[_target, "activity_view", LSTRING(Activity_fullHeal), [[_caller] call EFUNC(common,getName)]] call FUNC(addToLog); // TODO expand message
|
||||
[_target, "activity", LSTRING(Activity_CPR), [[_caller] call EFUNC(common,getName)]] call FUNC(addToLog);
|
||||
[_target, "activity_view", LSTRING(Activity_CPR), [[_caller] call EFUNC(common,getName)]] call FUNC(addToLog); // TODO expand message
|
||||
|
||||
true;
|
||||
|
@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project name="ACE">
|
||||
<Package name="Medical">
|
||||
<Key ID="STR_ACE_Medical_Injuries">
|
||||
@ -950,7 +950,7 @@
|
||||
<Czech>Analgetikum slouží k tlumení středně těžkých a těžkých bolestí</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Atropine_Display">
|
||||
<English>Atropin autoinjector</English>
|
||||
<English>Atropine autoinjector</English>
|
||||
<Russian>Атропин в пневмошприце</Russian>
|
||||
<Spanish>Atropina auto-inyectable</Spanish>
|
||||
<French>Auto-injecteur d'Atropine</French>
|
||||
@ -2098,6 +2098,9 @@
|
||||
<Portuguese>%1 aplicou um torniquete</Portuguese>
|
||||
<Czech>%1 použil škrtidlo</Czech>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Activity_CPR">
|
||||
<English>%1 performed CPR</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_HeavilyWounded">
|
||||
<English>Heavily wounded</English>
|
||||
<German>Schwer verwundet:</German>
|
||||
@ -3609,5 +3612,8 @@
|
||||
<Spanish>Médico</Spanish>
|
||||
<Hungarian>Orvosi</Hungarian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_DistanceToFar">
|
||||
<English>Distance to %1 has become to far for treatment</English>
|
||||
</Key>
|
||||
</Package>
|
||||
</Project>
|
||||
|
@ -3,6 +3,7 @@ ace_medical_menu
|
||||
|
||||
Provides the CSE medical menu for the advanced medical system.
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
||||
The people responsible for merging changes to this component or answering potential questions.
|
||||
|
@ -26,9 +26,10 @@ if (!hasInterface) exitwith {};
|
||||
false
|
||||
},
|
||||
{
|
||||
if (ACE_time - GVAR(lastOpenedOn) > 0.5) then {
|
||||
if (ACE_time - GVAR(lastOpenedOn) > 0.5) exitWith {
|
||||
[ObjNull] call FUNC(openMenu);
|
||||
};
|
||||
false
|
||||
},
|
||||
[35, [false, false, false]], false, 0] call CBA_fnc_addKeybind;
|
||||
|
||||
|
@ -14,6 +14,7 @@
|
||||
* Public: No
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
#define MAX_DISTANCE 10
|
||||
|
||||
private "_target";
|
||||
|
||||
@ -72,6 +73,12 @@ setMousePosition [0.4, 0.4];
|
||||
_status = [GVAR(INTERACTION_TARGET)] call FUNC(getTriageStatus);
|
||||
(_display displayCtrl 2000) ctrlSetText (_status select 0);
|
||||
(_display displayCtrl 2000) ctrlSetBackgroundColor (_status select 2);
|
||||
|
||||
if (ACE_player distance _target > MAX_DISTANCE) exitwith {
|
||||
closeDialog 314412;
|
||||
["displayTextStructured", [ACE_player], [[ELSTRING(medical,DistanceToFar), [_target] call EFUNC(common,getName)], 1.75, ACE_player]] call EFUNC(common,targetEvent);
|
||||
};
|
||||
|
||||
}, [_display]] call BIS_fnc_addStackedEventHandler;
|
||||
|
||||
["Medical_onMenuOpen", [ACE_player, _interactionTarget]] call EFUNC(common,localEvent);
|
||||
|
@ -6,7 +6,7 @@
|
||||
* 0: Target <OBJECT>
|
||||
*
|
||||
* Return Value:
|
||||
* None
|
||||
* If action was taken <BOOL>
|
||||
*
|
||||
* Example:
|
||||
* [some_player] call ace_medical_menu_openMenu
|
||||
@ -18,16 +18,22 @@
|
||||
params ["_interactionTarget"];
|
||||
|
||||
if (dialog || isNull _interactionTarget) exitwith {
|
||||
disableSerialization;
|
||||
disableSerialization;
|
||||
|
||||
private "_display";
|
||||
_display = uiNamespace getVariable QGVAR(medicalMenu);
|
||||
if (!isNil "_display") then {
|
||||
closeDialog 314412;
|
||||
};
|
||||
private ["_display", "_handled"];
|
||||
_handled = false;
|
||||
_display = uiNamespace getVariable QGVAR(medicalMenu);
|
||||
if (!isNil "_display") then {
|
||||
closeDialog 314412;
|
||||
_handled = true;
|
||||
};
|
||||
|
||||
_handled
|
||||
};
|
||||
|
||||
GVAR(INTERACTION_TARGET) = _interactionTarget;
|
||||
|
||||
createDialog QGVAR(medicalMenu);
|
||||
GVAR(lastOpenedOn) = ACE_time;
|
||||
|
||||
true
|
@ -1,386 +1,396 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project name="Combat Space Enhancement">
|
||||
<Package name="Combat Medical System">
|
||||
<Container name="UI">
|
||||
<Key ID="STR_ACE_Medical_Menu_OpenMenu">
|
||||
<English>Medical Menu</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_allow">
|
||||
<English>Allow Medical Menu</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_allow_Descr">
|
||||
<English>Allow clients to use the medical menu</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_useMenu">
|
||||
<English>Use Medical menu</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_useMenu_Descr">
|
||||
<English>If allowed by server, enable the option to use the Medical Menu through keybinding and interaction menu</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_openAfterTreatment">
|
||||
<English>Re-open Medical menu</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_openAfterTreatment_Descr">
|
||||
<English>Re-open the medical menu after succesful treatment</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_DisplayMenuKey">
|
||||
<English>Open Medical Menu</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_module_DisplayName">
|
||||
<English>Medical Menu Settings</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_module_Desc">
|
||||
<English>Configure the usage of the Medical Menu</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_EXAMINE_TREATMENT">
|
||||
<English>EXAMINE & TREATMENT</English>
|
||||
<Russian>ОСМОТР И ЛЕЧЕНИЕ</Russian>
|
||||
<Spanish>EXAMINAR & TRATAMIENTO</Spanish>
|
||||
<French>EXAMINER & TRAITEMENTS</French>
|
||||
<Polish>BADANIE & LECZENIE</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_STATUS">
|
||||
<English>STATUS</English>
|
||||
<Russian>СОСТОЯНИЕ</Russian>
|
||||
<Spanish>ESTADO</Spanish>
|
||||
<French>ÉTATS</French>
|
||||
<Polish>STATUS</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_OVERVIEW">
|
||||
<English>OVERVIEW</English>
|
||||
<Russian>ОБЩАЯ ИНФОРМАЦИЯ</Russian>
|
||||
<Spanish>DESCRIPCIÓN</Spanish>
|
||||
<French>DESCRIPTION</French>
|
||||
<Polish>OPIS</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_ACTIVITY_LOG">
|
||||
<English>ACTIVITY LOG</English>
|
||||
<Russian>ПРОВЕДЕННЫЕ МАНИПУЛЯЦИИ</Russian>
|
||||
<Spanish>REGISTRO DE ACTIVIDAD</Spanish>
|
||||
<French>REGISTRE DES SOINS</French>
|
||||
<Polish>LOGI AKTYWNOŚCI</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_QUICK_VIEW">
|
||||
<English>QUICK VIEW</English>
|
||||
<Russian>БЫСТРЫЙ ОСМОТР</Russian>
|
||||
<Spanish>VISTA RÁPIDA</Spanish>
|
||||
<French>VUE RAPIDE</French>
|
||||
<Polish>SZYBKI PODGLĄD</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_TRIAGE_NONE">
|
||||
<English>None</English>
|
||||
<Russian>Не ранен</Russian>
|
||||
<Spanish>Ninguno</Spanish>
|
||||
<French>Aucun</French>
|
||||
<Polish>Brak</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_TRIAGE_MINOR">
|
||||
<English>Minor</English>
|
||||
<Russian>Несрочная помощь</Russian>
|
||||
<Spanish>Menor</Spanish>
|
||||
<French>Mineur</French>
|
||||
<Polish>Normalny</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_TRIAGE_DELAYED">
|
||||
<English>Delayed</English>
|
||||
<Russian>Срочная помощь</Russian>
|
||||
<Spanish>Diferido</Spanish>
|
||||
<French>Urgent</French>
|
||||
<Polish>Opóźniony</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_TRIAGE_IMMEDIATE">
|
||||
<English>Immediate</English>
|
||||
<Russian>Неотложная помощь</Russian>
|
||||
<Spanish>Inmediato</Spanish>
|
||||
<French>Immédiat</French>
|
||||
<Polish>Natychmiastowy</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_TRIAGE_DECEASED">
|
||||
<English>Deceased</English>
|
||||
<Russian>Морг</Russian>
|
||||
<Spanish>Fallecido</Spanish>
|
||||
<French>Décédé</French>
|
||||
<Polish>Nie żyje</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_VIEW_TRIAGE_CARD">
|
||||
<English>View triage Card</English>
|
||||
<Russian>Смотреть первичную карточку</Russian>
|
||||
<Spanish>Ver Triage</Spanish>
|
||||
<French>Voir Carte de Triage</French>
|
||||
<Polish>Pokaż kartę segregacyjną</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_EXAMINE_PATIENT">
|
||||
<English>Examine Patient</English>
|
||||
<Russian>Осмотреть пациента</Russian>
|
||||
<Spanish>Examinar Paciente</Spanish>
|
||||
<French>Examiner Patient</French>
|
||||
<Polish>Zbadaj pacjenta</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_BANDAGE_FRACTURES">
|
||||
<English>Bandage / Fractures</English>
|
||||
<Russian>Раны / переломы</Russian>
|
||||
<Spanish>Vendajes/Fracturas </Spanish>
|
||||
<French>Bandages / Fractures</French>
|
||||
<Polish>Bandaże / Złamania</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_MEDICATION">
|
||||
<English>Medication</English>
|
||||
<Russian>Медикаменты</Russian>
|
||||
<Spanish>Medicación</Spanish>
|
||||
<French>Médications</French>
|
||||
<Polish>Leki</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_AIRWAY_MANAGEMENT">
|
||||
<English>Airway Management</English>
|
||||
<Russian>Дыхательные пути</Russian>
|
||||
<Spanish>Vías Aéreas</Spanish>
|
||||
<French>Gestion Des Voie REspiratoire</French>
|
||||
<Polish>Drogi oddechowe</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_ADVANCED_TREATMENT">
|
||||
<English>Advanced Treatments</English>
|
||||
<Russian>Специальная медпомощь</Russian>
|
||||
<Spanish>Tratamientos Avanzados</Spanish>
|
||||
<French>Traitement Avancé</French>
|
||||
<Polish>Zaawansowane zabiegi</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_DRAG_CARRY">
|
||||
<English>Drag/Carry</English>
|
||||
<Russian>Тащить/нести</Russian>
|
||||
<Spanish>Arrastrar/Cargar</Spanish>
|
||||
<French>Glisser/Porter</French>
|
||||
<Polish>Ciągnij/Nieś</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_TOGGLE_SELF">
|
||||
<English>Toggle (Self)</English>
|
||||
<Russian>Лечить себя/другого раненого</Russian>
|
||||
<French>Activer (sois)</French>
|
||||
<Polish>Przełącz (na siebie)</Polish>
|
||||
<Spanish>Alternar</Spanish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_SELECT_TRIAGE_STATUS">
|
||||
<English>Select triage status</English>
|
||||
<Russian>Сортировка</Russian>
|
||||
<Spanish>Seleccionar estado de Triage</Spanish>
|
||||
<French>Selectioner l'état de Triage</French>
|
||||
<Polish>Wybierz priorytet</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_SELECT_HEAD">
|
||||
<English>Select Head</English>
|
||||
<Russian>Выбрать голову</Russian>
|
||||
<Spanish>Seleccionar Cabeza</Spanish>
|
||||
<French>Selectioner Tête</French>
|
||||
<Polish>Wybierz głowę</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_SELECT_TORSO">
|
||||
<English>Select Torso</English>
|
||||
<Russian>Выбрать торс</Russian>
|
||||
<Spanish>Seleccionar Torso</Spanish>
|
||||
<French>Selectioner Torse</French>
|
||||
<Polish>Wybierz tors</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_SELECT_ARM_L">
|
||||
<English>Select Left Arm</English>
|
||||
<Russian>Выбрать левую руку</Russian>
|
||||
<Spanish>Seleccionar Brazo Izquierdo</Spanish>
|
||||
<French>Selectioner Bras Gauche</French>
|
||||
<Polish>Wybierz lewą rękę</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_SELECT_ARM_R">
|
||||
<English>Select Right Arm</English>
|
||||
<Russian>Выбрать правую руку</Russian>
|
||||
<Spanish>Seleccionar Brazo Derecho</Spanish>
|
||||
<French>Selectioner Bras Droit</French>
|
||||
<Polish>Wybierz prawą rękę</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_SELECT_LEG_L">
|
||||
<English>Select Left Leg</English>
|
||||
<Russian>Выбрать левую ногу</Russian>
|
||||
<Spanish>Seleccionar Pierna Izquierda</Spanish>
|
||||
<French>Selectioner Jambe Gauche</French>
|
||||
<Polish>Wybierz lewą nogę</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_SELECT_LEG_R">
|
||||
<English>Select Right Leg</English>
|
||||
<Russian>Выбрать правую ногу</Russian>
|
||||
<Spanish>Seleccionar Pierna Derecha</Spanish>
|
||||
<French>Selectioner Jambe Droite</French>
|
||||
<Polish>Wybierz prawą nogę</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_HEAD">
|
||||
<English>Head</English>
|
||||
<Russian>Голова</Russian>
|
||||
<Spanish>Cabeza</Spanish>
|
||||
<French>Tête</French>
|
||||
<Polish>Głowa</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_TORSO">
|
||||
<English>Torso</English>
|
||||
<Russian>Торс</Russian>
|
||||
<French>Torse</French>
|
||||
<Polish>Tors</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_ARM_L">
|
||||
<English>Left Arm</English>
|
||||
<Russian>Левая рука</Russian>
|
||||
<Spanish>Brazo Izquierdo</Spanish>
|
||||
<French>Bras Gauche</French>
|
||||
<Polish>Lewa ręka</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_ARM_R">
|
||||
<English>Right Arm</English>
|
||||
<Russian>Правая рука</Russian>
|
||||
<Spanish>Brazo Derecho</Spanish>
|
||||
<French>Bras Droit</French>
|
||||
<Polish>Prawa ręka</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_LEG_L">
|
||||
<English>Left Leg</English>
|
||||
<Russian>Левая нога</Russian>
|
||||
<Spanish>Pierna Izquierda</Spanish>
|
||||
<French>Jambe Gauche</French>
|
||||
<Polish>Lewa noga</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_LEG_R">
|
||||
<English>Right Leg</English>
|
||||
<Russian>Правая нога</Russian>
|
||||
<Spanish>Pierna Derecha</Spanish>
|
||||
<French>Jambe Droite</French>
|
||||
<Polish>Prawa noga</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_SELECTED_BODY_PART">
|
||||
<English>Body Part: %1</English>
|
||||
<Russian>Часть тела: %1</Russian>
|
||||
<Spanish>Parte del cuerpo: %1</Spanish>
|
||||
<French>Partie du corps: %1</French>
|
||||
<Polish>Część ciała: %1</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_SMALL">
|
||||
<English>Small</English>
|
||||
<Russian>малого размера</Russian>
|
||||
<Spanish>Pequeña</Spanish>
|
||||
<French>Petite</French>
|
||||
<Polish>małym</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_MEDIUM">
|
||||
<English>Medium</English>
|
||||
<Russian>среднего размера</Russian>
|
||||
<Spanish>Mediana</Spanish>
|
||||
<French>moyenne</French>
|
||||
<Polish>średnim</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_LARGE">
|
||||
<English>Large</English>
|
||||
<Russian>большого размера</Russian>
|
||||
<Spanish>Grande</Spanish>
|
||||
<French>Grande</French>
|
||||
<Polish>dużym</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_MULTIPLE_OPEN_WOUNDS">
|
||||
<English>There are %2 %1 Open Wounds</English>
|
||||
<Russian>%2 открытые раны %1</Russian>
|
||||
<Spanish>Hay %2 Heridas Abiertas %1</Spanish>
|
||||
<French>Il y a %2 %1 Blessure Ouverte</French>
|
||||
<Polish>Widzisz otwarte rany w ilości %2 o %1 rozmiarze</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_SINGLE_OPEN_WOUND">
|
||||
<English>There is 1 %1 Open Wound</English>
|
||||
<Russian>Открытая рана %1</Russian>
|
||||
<Spanish>Hay 1 Herida Abierta %1</Spanish>
|
||||
<French>Il y a 1 blessure ouverte %1</French>
|
||||
<Polish>Widzisz 1 otwartą ranę o %1 rozmiarze</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_PARTIAL_OPEN_WOUND">
|
||||
<English>There is a partial %1 Open wound</English>
|
||||
<Russian>Частично открытая рана %1</Russian>
|
||||
<Spanish>Hay una herida parcial abierta %1</Spanish>
|
||||
<French>Il y a une Blessure Patiellement Ouverte %1</French>
|
||||
<Polish>Widzisz częściowo otwartą ranę o %1 rozmiarze</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_MULTIPLE_BANDAGED_WOUNDS">
|
||||
<English>There are %2 %1 Bandaged Wounds</English>
|
||||
<Russian>%2 перевязанные раны %1</Russian>
|
||||
<Spanish>Hay %2 Heridas %1 Vendadas</Spanish>
|
||||
<French>Il y a %2 %1 Blessure Bandée</French>
|
||||
<Polish>Widzisz %2 zabandażowanych ran o %1 rozmiarze</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_SINGLE_BANDAGED_WOUND">
|
||||
<English>There is 1 %1 Bandaged Wound</English>
|
||||
<Russian>1 перевязанная рана %1</Russian>
|
||||
<Spanish>Hay 1 Herida Vendada %1</Spanish>
|
||||
<French>Il y a 1 %1 Blessure Bandée</French>
|
||||
<Polish>Widzisz 1 zabandażowaną ranę o %1 rozmiarze</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_PARTIAL_BANDAGED_WOUND">
|
||||
<English>There is a partial %1 Bandaged wound</English>
|
||||
<Russian>Частично перевязанная рана %1</Russian>
|
||||
<Spanish>Hay una Herida parcial %1 Vendada</Spanish>
|
||||
<French>Il y a %1 Blessure Partielment Bandée</French>
|
||||
<Polish>Widzisz 1 częściowo zabandażowaną ranę o %1 rozmiarze</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_NORMAL_BREATHING">
|
||||
<English>Normal breathing</English>
|
||||
<Russian>Дыхание в норме</Russian>
|
||||
<Spanish>Respiración normal</Spanish>
|
||||
<French>Respiration Normale</French>
|
||||
<Polish>Normalny oddech</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_NO_BREATHING">
|
||||
<English>No breathing</English>
|
||||
<Russian>Дыхания нет</Russian>
|
||||
<Spanish>No respira</Spanish>
|
||||
<French>Apnée</French>
|
||||
<Polish>Brak oddechu</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_DIFFICULT_BREATHING">
|
||||
<English>Difficult breathing</English>
|
||||
<Russian>Дыхание затруднено</Russian>
|
||||
<Spanish>Dificultad para respirar</Spanish>
|
||||
<French>Difficultée Respiratoire</French>
|
||||
<Polish>Trudności z oddychaniem</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_ALMOST_NO_BREATHING">
|
||||
<English>Almost no breathing</English>
|
||||
<Russian>Дыхания почти нет</Russian>
|
||||
<Spanish>Casi sin respirar</Spanish>
|
||||
<French>Respiration Faible</French>
|
||||
<Polish>Prawie brak oddechu</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_STATUS_BLEEDING">
|
||||
<English>Bleeding</English>
|
||||
<Russian>Кровотечение</Russian>
|
||||
<Spanish>Sangrando</Spanish>
|
||||
<French>Seignement</French>
|
||||
<Polish>Krwawienie zewnętrzne</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_STATUS_PAIN">
|
||||
<English>in Pain</English>
|
||||
<Russian>Испытывает боль</Russian>
|
||||
<Spanish>Con Dolor</Spanish>
|
||||
<French>A De La Douleur</French>
|
||||
<Polish>W bólu</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_STATUS_LOST_BLOOD">
|
||||
<English>Lost a lot of Blood</English>
|
||||
<Russian>Большая кровопотеря</Russian>
|
||||
<Spanish>Mucha Sangre perdida</Spanish>
|
||||
<French>A Perdu Bcp de Sang</French>
|
||||
<Polish>Stracił dużo krwi</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_STATUS_TOURNIQUET_APPLIED">
|
||||
<English>Tourniquet [CAT]</English>
|
||||
<Russian>Жгут</Russian>
|
||||
<Spanish>Torniquete [CAT]</Spanish>
|
||||
<French>Garot [CAT]</French>
|
||||
<Polish>Opaska uciskowa [CAT]</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_STATUS_NPA_APPLIED">
|
||||
<English>Nasopharyngeal Tube [NPA]</English>
|
||||
<Russian>Назотрахеальная трубка</Russian>
|
||||
<Spanish>Torniquete [CAT]</Spanish>
|
||||
<French>Canule Naseaupharyngée [NPA]</French>
|
||||
<Polish>Rurka nosowo-gardłowa [NPA]</Polish>
|
||||
</Key>
|
||||
</Container>
|
||||
<Key ID="STR_ACE_Medical_Menu_OpenMenu">
|
||||
<English>Medical Menu</English>
|
||||
<Polish>Menu medyczne</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_allow">
|
||||
<English>Allow Medical Menu</English>
|
||||
<Polish>Akt. menu medyczne</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_allow_Descr">
|
||||
<English>Allow clients to use the medical menu</English>
|
||||
<Polish>Zezwalaj graczom korzystać z menu medycznego</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_useMenu">
|
||||
<English>Use Medical menu</English>
|
||||
<Polish>Użyj menu medycznego</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_useMenu_Descr">
|
||||
<English>If allowed by server, enable the option to use the Medical Menu through keybinding and interaction menu</English>
|
||||
<Polish>Jeżeli zezwolone przez serwer, aktywuj menu medyczne poprzez skrót klawiszowy i menu interakcji.</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_openAfterTreatment">
|
||||
<English>Re-open Medical menu</English>
|
||||
<Polish>Otwieraj ponownie menu medyczne</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_openAfterTreatment_Descr">
|
||||
<English>Re-open the medical menu after succesful treatment</English>
|
||||
<Polish>Otwórz ponownie menu medyczne po udanym zakończeniu leczenia</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_DisplayMenuKey">
|
||||
<English>Open Medical Menu</English>
|
||||
<Polish>Otwórz menu medyczne</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_module_DisplayName">
|
||||
<English>Medical Menu Settings</English>
|
||||
<Polish>Ustawienia menu medycznego</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_module_Desc">
|
||||
<English>Configure the usage of the Medical Menu</English>
|
||||
<Polish>Skonfiguruj opcje menu medycznego</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_EXAMINE_TREATMENT">
|
||||
<English>EXAMINE & TREATMENT</English>
|
||||
<Russian>ОСМОТР И ЛЕЧЕНИЕ</Russian>
|
||||
<Spanish>EXAMINAR & TRATAMIENTO</Spanish>
|
||||
<French>EXAMINER & TRAITEMENTS</French>
|
||||
<Polish>BADANIE & LECZENIE</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_STATUS">
|
||||
<English>STATUS</English>
|
||||
<Russian>СОСТОЯНИЕ</Russian>
|
||||
<Spanish>ESTADO</Spanish>
|
||||
<French>ÉTATS</French>
|
||||
<Polish>STATUS</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_OVERVIEW">
|
||||
<English>OVERVIEW</English>
|
||||
<Russian>ОБЩАЯ ИНФОРМАЦИЯ</Russian>
|
||||
<Spanish>DESCRIPCIÓN</Spanish>
|
||||
<French>DESCRIPTION</French>
|
||||
<Polish>OPIS</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_ACTIVITY_LOG">
|
||||
<English>ACTIVITY LOG</English>
|
||||
<Russian>ПРОВЕДЕННЫЕ МАНИПУЛЯЦИИ</Russian>
|
||||
<Spanish>REGISTRO DE ACTIVIDAD</Spanish>
|
||||
<French>REGISTRE DES SOINS</French>
|
||||
<Polish>LOGI AKTYWNOŚCI</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_QUICK_VIEW">
|
||||
<English>QUICK VIEW</English>
|
||||
<Russian>БЫСТРЫЙ ОСМОТР</Russian>
|
||||
<Spanish>VISTA RÁPIDA</Spanish>
|
||||
<French>VUE RAPIDE</French>
|
||||
<Polish>SZYBKI PODGLĄD</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_TRIAGE_NONE">
|
||||
<English>None</English>
|
||||
<Russian>Не ранен</Russian>
|
||||
<Spanish>Ninguno</Spanish>
|
||||
<French>Aucun</French>
|
||||
<Polish>Brak</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_TRIAGE_MINOR">
|
||||
<English>Minor</English>
|
||||
<Russian>Несрочная помощь</Russian>
|
||||
<Spanish>Menor</Spanish>
|
||||
<French>Mineur</French>
|
||||
<Polish>Normalny</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_TRIAGE_DELAYED">
|
||||
<English>Delayed</English>
|
||||
<Russian>Срочная помощь</Russian>
|
||||
<Spanish>Diferido</Spanish>
|
||||
<French>Urgent</French>
|
||||
<Polish>Opóźniony</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_TRIAGE_IMMEDIATE">
|
||||
<English>Immediate</English>
|
||||
<Russian>Неотложная помощь</Russian>
|
||||
<Spanish>Inmediato</Spanish>
|
||||
<French>Immédiat</French>
|
||||
<Polish>Natychmiastowy</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_TRIAGE_DECEASED">
|
||||
<English>Deceased</English>
|
||||
<Russian>Морг</Russian>
|
||||
<Spanish>Fallecido</Spanish>
|
||||
<French>Décédé</French>
|
||||
<Polish>Nie żyje</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_VIEW_TRIAGE_CARD">
|
||||
<English>View triage Card</English>
|
||||
<Russian>Смотреть первичную карточку</Russian>
|
||||
<Spanish>Ver Triage</Spanish>
|
||||
<French>Voir Carte de Triage</French>
|
||||
<Polish>Pokaż kartę segregacyjną</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_EXAMINE_PATIENT">
|
||||
<English>Examine Patient</English>
|
||||
<Russian>Осмотреть пациента</Russian>
|
||||
<Spanish>Examinar Paciente</Spanish>
|
||||
<French>Examiner Patient</French>
|
||||
<Polish>Zbadaj pacjenta</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_BANDAGE_FRACTURES">
|
||||
<English>Bandage / Fractures</English>
|
||||
<Russian>Раны / переломы</Russian>
|
||||
<Spanish>Vendajes/Fracturas </Spanish>
|
||||
<French>Bandages / Fractures</French>
|
||||
<Polish>Bandaże / Złamania</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_MEDICATION">
|
||||
<English>Medication</English>
|
||||
<Russian>Медикаменты</Russian>
|
||||
<Spanish>Medicación</Spanish>
|
||||
<French>Médications</French>
|
||||
<Polish>Leki</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_AIRWAY_MANAGEMENT">
|
||||
<English>Airway Management</English>
|
||||
<Russian>Дыхательные пути</Russian>
|
||||
<Spanish>Vías Aéreas</Spanish>
|
||||
<French>Gestion Des Voie REspiratoire</French>
|
||||
<Polish>Drogi oddechowe</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_ADVANCED_TREATMENT">
|
||||
<English>Advanced Treatments</English>
|
||||
<Russian>Специальная медпомощь</Russian>
|
||||
<Spanish>Tratamientos Avanzados</Spanish>
|
||||
<French>Traitement Avancé</French>
|
||||
<Polish>Zaawansowane zabiegi</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_DRAG_CARRY">
|
||||
<English>Drag/Carry</English>
|
||||
<Russian>Тащить/нести</Russian>
|
||||
<Spanish>Arrastrar/Cargar</Spanish>
|
||||
<French>Glisser/Porter</French>
|
||||
<Polish>Ciągnij/Nieś</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_TOGGLE_SELF">
|
||||
<English>Toggle (Self)</English>
|
||||
<Russian>Лечить себя/другого раненого</Russian>
|
||||
<French>Activer (sois)</French>
|
||||
<Polish>Przełącz (na siebie)</Polish>
|
||||
<Spanish>Alternar</Spanish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_SELECT_TRIAGE_STATUS">
|
||||
<English>Select triage status</English>
|
||||
<Russian>Сортировка</Russian>
|
||||
<Spanish>Seleccionar estado de Triage</Spanish>
|
||||
<French>Selectioner l'état de Triage</French>
|
||||
<Polish>Wybierz priorytet</Polish>
|
||||
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_SELECT_HEAD">
|
||||
<English>Select Head</English>
|
||||
<Russian>Выбрать голову</Russian>
|
||||
<Spanish>Seleccionar Cabeza</Spanish>
|
||||
<French>Selectioner Tête</French>
|
||||
<Polish>Wybierz głowę</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_SELECT_TORSO">
|
||||
<English>Select Torso</English>
|
||||
<Russian>Выбрать торс</Russian>
|
||||
<Spanish>Seleccionar Torso</Spanish>
|
||||
<French>Selectioner Torse</French>
|
||||
<Polish>Wybierz tors</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_SELECT_ARM_L">
|
||||
<English>Select Left Arm</English>
|
||||
<Russian>Выбрать левую руку</Russian>
|
||||
<Spanish>Seleccionar Brazo Izquierdo</Spanish>
|
||||
<French>Selectioner Bras Gauche</French>
|
||||
<Polish>Wybierz lewą rękę</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_SELECT_ARM_R">
|
||||
<English>Select Right Arm</English>
|
||||
<Russian>Выбрать правую руку</Russian>
|
||||
<Spanish>Seleccionar Brazo Derecho</Spanish>
|
||||
<French>Selectioner Bras Droit</French>
|
||||
<Polish>Wybierz prawą rękę</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_SELECT_LEG_L">
|
||||
<English>Select Left Leg</English>
|
||||
<Russian>Выбрать левую ногу</Russian>
|
||||
<Spanish>Seleccionar Pierna Izquierda</Spanish>
|
||||
<French>Selectioner Jambe Gauche</French>
|
||||
<Polish>Wybierz lewą nogę</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_SELECT_LEG_R">
|
||||
<English>Select Right Leg</English>
|
||||
<Russian>Выбрать правую ногу</Russian>
|
||||
<Spanish>Seleccionar Pierna Derecha</Spanish>
|
||||
<French>Selectioner Jambe Droite</French>
|
||||
<Polish>Wybierz prawą nogę</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_HEAD">
|
||||
<English>Head</English>
|
||||
<Russian>Голова</Russian>
|
||||
<Spanish>Cabeza</Spanish>
|
||||
<French>Tête</French>
|
||||
<Polish>Głowa</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_TORSO">
|
||||
<English>Torso</English>
|
||||
<Russian>Торс</Russian>
|
||||
<French>Torse</French>
|
||||
<Polish>Tors</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_ARM_L">
|
||||
<English>Left Arm</English>
|
||||
<Russian>Левая рука</Russian>
|
||||
<Spanish>Brazo Izquierdo</Spanish>
|
||||
<French>Bras Gauche</French>
|
||||
<Polish>Lewa ręka</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_ARM_R">
|
||||
<English>Right Arm</English>
|
||||
<Russian>Правая рука</Russian>
|
||||
<Spanish>Brazo Derecho</Spanish>
|
||||
<French>Bras Droit</French>
|
||||
<Polish>Prawa ręka</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_LEG_L">
|
||||
<English>Left Leg</English>
|
||||
<Russian>Левая нога</Russian>
|
||||
<Spanish>Pierna Izquierda</Spanish>
|
||||
<French>Jambe Gauche</French>
|
||||
<Polish>Lewa noga</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_LEG_R">
|
||||
<English>Right Leg</English>
|
||||
<Russian>Правая нога</Russian>
|
||||
<Spanish>Pierna Derecha</Spanish>
|
||||
<French>Jambe Droite</French>
|
||||
<Polish>Prawa noga</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_SELECTED_BODY_PART">
|
||||
<English>Body Part: %1</English>
|
||||
<Russian>Часть тела: %1</Russian>
|
||||
<Spanish>Parte del cuerpo: %1</Spanish>
|
||||
<French>Partie du corps: %1</French>
|
||||
<Polish>Część ciała: %1</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_SMALL">
|
||||
<English>Small</English>
|
||||
<Russian>малого размера</Russian>
|
||||
<Spanish>Pequeña</Spanish>
|
||||
<French>Petite</French>
|
||||
<Polish>małym</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_MEDIUM">
|
||||
<English>Medium</English>
|
||||
<Russian>среднего размера</Russian>
|
||||
<Spanish>Mediana</Spanish>
|
||||
<French>moyenne</French>
|
||||
<Polish>średnim</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_LARGE">
|
||||
<English>Large</English>
|
||||
<Russian>большого размера</Russian>
|
||||
<Spanish>Grande</Spanish>
|
||||
<French>Grande</French>
|
||||
<Polish>dużym</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_MULTIPLE_OPEN_WOUNDS">
|
||||
<English>There are %2 %1 Open Wounds</English>
|
||||
<Russian>%2 открытые раны %1</Russian>
|
||||
<Spanish>Hay %2 Heridas Abiertas %1</Spanish>
|
||||
<French>Il y a %2 %1 Blessure Ouverte</French>
|
||||
<Polish>Widzisz otwarte rany w ilości %2 o %1 rozmiarze</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_SINGLE_OPEN_WOUND">
|
||||
<English>There is 1 %1 Open Wound</English>
|
||||
<Russian>Открытая рана %1</Russian>
|
||||
<Spanish>Hay 1 Herida Abierta %1</Spanish>
|
||||
<French>Il y a 1 blessure ouverte %1</French>
|
||||
<Polish>Widzisz 1 otwartą ranę o %1 rozmiarze</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_PARTIAL_OPEN_WOUND">
|
||||
<English>There is a partial %1 Open wound</English>
|
||||
<Russian>Частично открытая рана %1</Russian>
|
||||
<Spanish>Hay una herida parcial abierta %1</Spanish>
|
||||
<French>Il y a une Blessure Patiellement Ouverte %1</French>
|
||||
<Polish>Widzisz częściowo otwartą ranę o %1 rozmiarze</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_MULTIPLE_BANDAGED_WOUNDS">
|
||||
<English>There are %2 %1 Bandaged Wounds</English>
|
||||
<Russian>%2 перевязанные раны %1</Russian>
|
||||
<Spanish>Hay %2 Heridas %1 Vendadas</Spanish>
|
||||
<French>Il y a %2 %1 Blessure Bandée</French>
|
||||
<Polish>Widzisz %2 zabandażowanych ran o %1 rozmiarze</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_SINGLE_BANDAGED_WOUND">
|
||||
<English>There is 1 %1 Bandaged Wound</English>
|
||||
<Russian>1 перевязанная рана %1</Russian>
|
||||
<Spanish>Hay 1 Herida Vendada %1</Spanish>
|
||||
<French>Il y a 1 %1 Blessure Bandée</French>
|
||||
<Polish>Widzisz 1 zabandażowaną ranę o %1 rozmiarze</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_PARTIAL_BANDAGED_WOUND">
|
||||
<English>There is a partial %1 Bandaged wound</English>
|
||||
<Russian>Частично перевязанная рана %1</Russian>
|
||||
<Spanish>Hay una Herida parcial %1 Vendada</Spanish>
|
||||
<French>Il y a %1 Blessure Partielment Bandée</French>
|
||||
<Polish>Widzisz 1 częściowo zabandażowaną ranę o %1 rozmiarze</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_NORMAL_BREATHING">
|
||||
<English>Normal breathing</English>
|
||||
<Russian>Дыхание в норме</Russian>
|
||||
<Spanish>Respiración normal</Spanish>
|
||||
<French>Respiration Normale</French>
|
||||
<Polish>Normalny oddech</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_NO_BREATHING">
|
||||
<English>No breathing</English>
|
||||
<Russian>Дыхания нет</Russian>
|
||||
<Spanish>No respira</Spanish>
|
||||
<French>Apnée</French>
|
||||
<Polish>Brak oddechu</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_DIFFICULT_BREATHING">
|
||||
<English>Difficult breathing</English>
|
||||
<Russian>Дыхание затруднено</Russian>
|
||||
<Spanish>Dificultad para respirar</Spanish>
|
||||
<French>Difficultée Respiratoire</French>
|
||||
<Polish>Trudności z oddychaniem</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_ALMOST_NO_BREATHING">
|
||||
<English>Almost no breathing</English>
|
||||
<Russian>Дыхания почти нет</Russian>
|
||||
<Spanish>Casi sin respirar</Spanish>
|
||||
<French>Respiration Faible</French>
|
||||
<Polish>Prawie brak oddechu</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_STATUS_BLEEDING">
|
||||
<English>Bleeding</English>
|
||||
<Russian>Кровотечение</Russian>
|
||||
<Spanish>Sangrando</Spanish>
|
||||
<French>Seignement</French>
|
||||
<Polish>Krwawienie zewnętrzne</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_STATUS_PAIN">
|
||||
<English>in Pain</English>
|
||||
<Russian>Испытывает боль</Russian>
|
||||
<Spanish>Con Dolor</Spanish>
|
||||
<French>A De La Douleur</French>
|
||||
<Polish>W bólu</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_STATUS_LOST_BLOOD">
|
||||
<English>Lost a lot of Blood</English>
|
||||
<Russian>Большая кровопотеря</Russian>
|
||||
<Spanish>Mucha Sangre perdida</Spanish>
|
||||
<French>A Perdu Bcp de Sang</French>
|
||||
<Polish>Stracił dużo krwi</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_STATUS_TOURNIQUET_APPLIED">
|
||||
<English>Tourniquet [CAT]</English>
|
||||
<Russian>Жгут</Russian>
|
||||
<Spanish>Torniquete [CAT]</Spanish>
|
||||
<French>Garot [CAT]</French>
|
||||
<Polish>Opaska uciskowa [CAT]</Polish>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Menu_STATUS_NPA_APPLIED">
|
||||
<English>Nasopharyngeal Tube [NPA]</English>
|
||||
<Russian>Назотрахеальная трубка</Russian>
|
||||
<Spanish>Torniquete [CAT]</Spanish>
|
||||
<French>Canule Naseaupharyngée [NPA]</French>
|
||||
<Polish>Rurka nosowo-gardłowa [NPA]</Polish>
|
||||
<English>Nasopharyngeal Tube [NPA]</English>
|
||||
</Key>
|
||||
</Package>
|
||||
</Project>
|
||||
|
@ -1,7 +1,7 @@
|
||||
ace_microdagr
|
||||
===============
|
||||
|
||||
Adds a microDAGR infentry GPS device.
|
||||
Adds a MicroDAGR infantry GPS device.
|
||||
Press home to open. Then home again to toggle an interactive version. Press CTRL+Home to close.
|
||||
Info/Compass/Minimap modes are selectable by the bottom buttons. Tap the top bar to open the menu and access Mark/Waypoints/Connect To/Settings modes.
|
||||
Tap the minimap button again to toggle map modes (if available).
|
||||
@ -9,13 +9,14 @@ Enter waypoints from the menu or double tapping on the minimap.
|
||||
Can interface with the `ace_vector`. Hold Azimuth+Range and release (see page 14 of vector's manual)
|
||||
|
||||
#### Items Added:
|
||||
|
||||
`ACE_microDAGR`
|
||||
|
||||
|
||||
## For Mission Makers:
|
||||
|
||||
#### Modules:
|
||||
* MicroDAGR Map Fill - Controls the amount of map data avaialbe for the minimap. Can limit to just roads/topographical or disable entirely.
|
||||
- MicroDAGR Map Fill - Controls the amount of map data available for the minimap. Can limit to just roads/topographical or disable entirely.
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
11
addons/missionmodules/README.md
Normal file
11
addons/missionmodules/README.md
Normal file
@ -0,0 +1,11 @@
|
||||
ace_missionmodules
|
||||
===========
|
||||
|
||||
Adds mission modules.
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
||||
The people responsible for merging changes to this component or answering potential questions.
|
||||
|
||||
- [Glowbal](https://github.com/Glowbal)
|
@ -1,7 +1,8 @@
|
||||
ace_mk6mortar
|
||||
==========
|
||||
|
||||
Tweaks the mk6 mortar from Arma3
|
||||
Tweaks the Nk6 Mortar system.
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
||||
|
11
addons/modules/README.md
Normal file
11
addons/modules/README.md
Normal file
@ -0,0 +1,11 @@
|
||||
ace_modules
|
||||
===========
|
||||
|
||||
Provides framework for module handling.
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
||||
The people responsible for merging changes to this component or answering potential questions.
|
||||
|
||||
- [Glowbal](https://github.com/Glowbal)
|
@ -3,8 +3,9 @@ ace_mx2a
|
||||
|
||||
Adds the MX-2A thermal imaging device.
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
||||
The people responsible for merging changes to this component or answering potential questions.
|
||||
|
||||
- [Ruthberg] (http://github.com/Ulteq)
|
||||
- [Ruthberg](http://github.com/Ulteq)
|
||||
|
11
addons/noidle/README.md
Normal file
11
addons/noidle/README.md
Normal file
@ -0,0 +1,11 @@
|
||||
ace_noidle
|
||||
===========
|
||||
|
||||
Removes idle animations.
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
||||
The people responsible for merging changes to this component or answering potential questions.
|
||||
|
||||
- [commy2](https://github.com/commy2)
|
11
addons/norearm/README.md
Normal file
11
addons/norearm/README.md
Normal file
@ -0,0 +1,11 @@
|
||||
ace_norearm
|
||||
===========
|
||||
|
||||
Removes rearm action.
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
||||
The people responsible for merging changes to this component or answering potential questions.
|
||||
|
||||
- [commy2](https://github.com/commy2)
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user