mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Added missing assign modules
This commit is contained in:
parent
2be74dfdca
commit
d3aa6a7f6b
@ -11,6 +11,7 @@ PREP(addCanInteractWithCondition);
|
|||||||
PREP(addLineToDebugDraw);
|
PREP(addLineToDebugDraw);
|
||||||
PREP(addSetting);
|
PREP(addSetting);
|
||||||
PREP(addToInventory);
|
PREP(addToInventory);
|
||||||
|
PREP(assignObjectsInList);
|
||||||
PREP(ambientBrightness);
|
PREP(ambientBrightness);
|
||||||
PREP(applyForceWalkStatus);
|
PREP(applyForceWalkStatus);
|
||||||
PREP(ASLToPosition);
|
PREP(ASLToPosition);
|
||||||
|
50
addons/common/functions/fnc_assignObjectsInList.sqf
Normal file
50
addons/common/functions/fnc_assignObjectsInList.sqf
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
/*
|
||||||
|
* Author: Glowbal
|
||||||
|
* Loops through a string and filters out object names/variables to assign a value for given variable.
|
||||||
|
* Used by moduleAssign* within various parts of the ACE3 project.
|
||||||
|
*
|
||||||
|
* Arguments:
|
||||||
|
* 0: list <STRING>
|
||||||
|
* 1: variableName <STRING>
|
||||||
|
* 2: value <ANY>
|
||||||
|
* 3: Global <BOOL>
|
||||||
|
*
|
||||||
|
* Return Value:
|
||||||
|
* None <NIL>
|
||||||
|
*
|
||||||
|
* Public: No
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "script_component.hpp"
|
||||||
|
|
||||||
|
private ["_splittedList", "_nilCheckPassedList"];
|
||||||
|
params ["_list", "_variable", "_setting", "_global"];
|
||||||
|
|
||||||
|
if (typeName _list == "STRING") then {
|
||||||
|
_splittedList = [_list, ","] call BIS_fnc_splitString;
|
||||||
|
_nilCheckPassedList = "";
|
||||||
|
{
|
||||||
|
_x = [_x] call FUNC(stringRemoveWhiteSpace);
|
||||||
|
if !(isnil _x) then {
|
||||||
|
if (_nilCheckPassedList == "") then {
|
||||||
|
_nilCheckPassedList = _x;
|
||||||
|
} else {
|
||||||
|
_nilCheckPassedList = _nilCheckPassedList + ","+ _x;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}foreach _splittedList;
|
||||||
|
|
||||||
|
_list = [] call compile format["[%1]",_nilCheckPassedList];
|
||||||
|
};
|
||||||
|
|
||||||
|
{
|
||||||
|
if (!isnil "_x") then {
|
||||||
|
if (typeName _x == typeName objNull) then {
|
||||||
|
if (local _x) then {
|
||||||
|
_x setvariable [_variable, _setting, _global];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}foreach _list;
|
||||||
|
|
||||||
|
true
|
@ -144,6 +144,78 @@ class CfgVehicles {
|
|||||||
sync[] = {};
|
sync[] = {};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
class ACE_moduleAssignRepairVehicle: Module_F {
|
||||||
|
scope = 2;
|
||||||
|
displayName = CSTRING(AssignRepairVehicle_Module_DisplayName);
|
||||||
|
icon = QUOTE(PATHTOF(ui\Icon_Module_Repair_ca.paa));
|
||||||
|
category = "ACE";
|
||||||
|
function = QUOTE(DFUNC(moduleAssignRepairVehicle));
|
||||||
|
functionPriority = 10;
|
||||||
|
isGlobal = 2;
|
||||||
|
isTriggerActivated = 0;
|
||||||
|
isDisposable = 0;
|
||||||
|
author = ECSTRING(common,ACETeam);
|
||||||
|
class Arguments {
|
||||||
|
class EnableList {
|
||||||
|
displayName = CSTRING(AssignRepairVehicle_EnableList_DisplayName);
|
||||||
|
description = CSTRING(AssignRepairVehicle_EnableList_Description);
|
||||||
|
defaultValue = "";
|
||||||
|
typeName = "STRING";
|
||||||
|
};
|
||||||
|
class role {
|
||||||
|
displayName = CSTRING(AssignRepairVehicle_role_DisplayName);
|
||||||
|
description = CSTRING(AssignRepairVehicle_role_Description);
|
||||||
|
typeName = "NUMBER";
|
||||||
|
class values {
|
||||||
|
class none {
|
||||||
|
name = ECSTRING(common,No);
|
||||||
|
value = 0;
|
||||||
|
};
|
||||||
|
class isVehicle {
|
||||||
|
name = ECSTRING(common,Yes);
|
||||||
|
value = 1;
|
||||||
|
default = 1;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class ModuleDescription {
|
||||||
|
description = CSTRING(AssignRepairVehicle_Module_Description);
|
||||||
|
sync[] = {};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class ACE_moduleAssignRepairFacility: ACE_moduleAssignRepairVehicle {
|
||||||
|
displayName = CSTRING(AssignRepairFacility_Module_DisplayName);
|
||||||
|
function = QUOTE(DFUNC(moduleAssignRepairFacility));
|
||||||
|
class Arguments {
|
||||||
|
class EnableList {
|
||||||
|
displayName = CSTRING(AssignRepairFacility_EnableList_DisplayName);
|
||||||
|
description = CSTRING(AssignRepairFacility_EnableList_Description);
|
||||||
|
defaultValue = "";
|
||||||
|
typeName = "STRING";
|
||||||
|
};
|
||||||
|
class role {
|
||||||
|
displayName = CSTRING(AssignRepairFacility_role_DisplayName);
|
||||||
|
description = CSTRING(AssignRepairFacility_role_Description);
|
||||||
|
typeName = "NUMBER";
|
||||||
|
class values {
|
||||||
|
class none {
|
||||||
|
name = ECSTRING(common,No);
|
||||||
|
value = 0;
|
||||||
|
};
|
||||||
|
class isFacility {
|
||||||
|
name = ECSTRING(common,Yes);
|
||||||
|
value = 1;
|
||||||
|
default = 1;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class ModuleDescription {
|
||||||
|
description = CSTRING(AssignRepairFacility_Module_Description);
|
||||||
|
sync[] = {};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
class LandVehicle;
|
class LandVehicle;
|
||||||
|
@ -25,6 +25,8 @@ PREP(isNearRepairVehicle);
|
|||||||
PREP(isRepairVehicle);
|
PREP(isRepairVehicle);
|
||||||
PREP(moduleRepairSettings);
|
PREP(moduleRepairSettings);
|
||||||
PREP(moduleAssignEngineer);
|
PREP(moduleAssignEngineer);
|
||||||
|
PREP(moduleAssignRepairVehicle);
|
||||||
|
PREP(moduleAssignRepairFacility);
|
||||||
PREP(normalizeHitPoints);
|
PREP(normalizeHitPoints);
|
||||||
PREP(repair);
|
PREP(repair);
|
||||||
PREP(repair_failure);
|
PREP(repair_failure);
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
/*
|
/*
|
||||||
* Author: Glowbal
|
* Author: Glowbal
|
||||||
* Checks if a unit is in a designated engineeral facility
|
* Checks if a unit is in a repair facility
|
||||||
*
|
*
|
||||||
* Arguments:
|
* Arguments:
|
||||||
* 0: The Unit <OBJECT>
|
* 0: The Unit <OBJECT>
|
||||||
*
|
*
|
||||||
* ReturnValue:
|
* ReturnValue:
|
||||||
* Is in engineeral facility <BOOL>
|
* Is inside a repair facility <BOOL>
|
||||||
*
|
*
|
||||||
* Public: Yes
|
* Public: Yes
|
||||||
*/
|
*/
|
||||||
@ -24,7 +24,7 @@ _repairFacility = [];
|
|||||||
|
|
||||||
_objects = (lineIntersectsWith [_object modelToWorldVisual [0, 0, (_position select 2)], _object modelToWorldVisual [0, 0, (_position select 2) +10], _object]);
|
_objects = (lineIntersectsWith [_object modelToWorldVisual [0, 0, (_position select 2)], _object modelToWorldVisual [0, 0, (_position select 2) +10], _object]);
|
||||||
{
|
{
|
||||||
if (((typeOf _x) in _repairFacility) || (_x getVariable [QGVAR(isRepairFacility),false])) exitwith {
|
if (((typeOf _x) in _repairFacility) || (_x getVariable ["ACE_isRepairFacility",0]) > 0) exitwith {
|
||||||
_isInBuilding = true;
|
_isInBuilding = true;
|
||||||
};
|
};
|
||||||
} forEach _objects;
|
} forEach _objects;
|
||||||
@ -32,7 +32,7 @@ _objects = (lineIntersectsWith [_object modelToWorldVisual [0, 0, (_position sel
|
|||||||
if (!_isInBuilding) then {
|
if (!_isInBuilding) then {
|
||||||
_objects = position _object nearObjects 7.5;
|
_objects = position _object nearObjects 7.5;
|
||||||
{
|
{
|
||||||
if (((typeOf _x) in _repairFacility) || (_x getVariable [QGVAR(isRepairFacility),false])) exitwith {
|
if (((typeOf _x) in _repairFacility) || (_x getVariable ["ACE_isRepairFacility",0]) > 0) exitwith {
|
||||||
_isInBuilding = true;
|
_isInBuilding = true;
|
||||||
};
|
};
|
||||||
} forEach _objects;
|
} forEach _objects;
|
||||||
|
@ -17,4 +17,4 @@ TRACE_1("params",_vehicle);
|
|||||||
|
|
||||||
if (_vehicle isKindOf "CAManBase") exitwith {false};
|
if (_vehicle isKindOf "CAManBase") exitwith {false};
|
||||||
|
|
||||||
((_vehicle getVariable [QGVAR(engineerClass), getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> QGVAR(canRepair))]) > 0);
|
((_vehicle getVariable ["ACE_isRepairVehicle", getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> QGVAR(canRepair))]) > 0);
|
||||||
|
@ -15,49 +15,15 @@
|
|||||||
|
|
||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
|
|
||||||
private ["_logic","_setting","_objects", "_list", "_splittedList", "_nilCheckPassedList", "_parsedList"];
|
params ["_logic"];
|
||||||
_logic = [_this,0,objNull,[objNull]] call BIS_fnc_param;
|
|
||||||
|
|
||||||
if (!isNull _logic) then {
|
if (!isNull _logic) then {
|
||||||
|
private ["_list", "_setting"];
|
||||||
_list = _logic getvariable ["EnableList",""];
|
_list = _logic getvariable ["EnableList",""];
|
||||||
|
|
||||||
_splittedList = [_list, ","] call BIS_fnc_splitString;
|
|
||||||
_nilCheckPassedList = "";
|
|
||||||
{
|
|
||||||
_x = [_x] call EFUNC(common,stringRemoveWhiteSpace);
|
|
||||||
if !(isnil _x) then {
|
|
||||||
if (_nilCheckPassedList == "") then {
|
|
||||||
_nilCheckPassedList = _x;
|
|
||||||
} else {
|
|
||||||
_nilCheckPassedList = _nilCheckPassedList + ","+ _x;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}foreach _splittedList;
|
|
||||||
|
|
||||||
_list = "[" + _nilCheckPassedList + "]";
|
|
||||||
_parsedList = [] call compile _list;
|
|
||||||
_setting = _logic getvariable ["role",0];
|
_setting = _logic getvariable ["role",0];
|
||||||
_objects = synchronizedObjects _logic;
|
|
||||||
if (!(_objects isEqualTo []) && _parsedList isEqualTo []) then {
|
[_list, "ACE_IsEngineer", _setting, true] call EFUNC(common,assignObjectsInList);
|
||||||
{
|
[synchronizedObjects _logic, "ACE_IsEngineer", _setting, true] call EFUNC(common,assignObjectsInList);
|
||||||
if (!isnil "_x") then {
|
|
||||||
if (typeName _x == typeName objNull) then {
|
|
||||||
if (local _x) then {
|
|
||||||
_x setvariable ["ACE_IsEngineer", _setting, true];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}foreach _objects;
|
|
||||||
};
|
|
||||||
{
|
|
||||||
if (!isnil "_x") then {
|
|
||||||
if (typeName _x == typeName objNull) then {
|
|
||||||
if (local _x) then {
|
|
||||||
_x setvariable ["ACE_IsEngineer", _setting, true];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}foreach _parsedList;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
true
|
true
|
29
addons/repair/functions/fnc_moduleAssignRepairFacility.sqf
Normal file
29
addons/repair/functions/fnc_moduleAssignRepairFacility.sqf
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
/*
|
||||||
|
* Author: Glowbal
|
||||||
|
* Assign an repair facility
|
||||||
|
*
|
||||||
|
* Arguments:
|
||||||
|
* 0: The module logic <LOGIC>
|
||||||
|
* 1: units <ARRAY>
|
||||||
|
* 2: activated <BOOL>
|
||||||
|
*
|
||||||
|
* Return Value:
|
||||||
|
* None <NIL>
|
||||||
|
*
|
||||||
|
* Public: No
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "script_component.hpp"
|
||||||
|
|
||||||
|
params ["_logic"];
|
||||||
|
|
||||||
|
if (!isNull _logic) then {
|
||||||
|
private ["_list", "_setting"];
|
||||||
|
_list = _logic getvariable ["EnableList",""];
|
||||||
|
_setting = _logic getvariable ["role",0];
|
||||||
|
|
||||||
|
[_list, "ACE_isRepairFacility", _setting, true] call EFUNC(common,assignObjectsInList);
|
||||||
|
[synchronizedObjects _logic, "ACE_isRepairFacility", _setting, true] call EFUNC(common,assignObjectsInList);
|
||||||
|
};
|
||||||
|
|
||||||
|
true
|
29
addons/repair/functions/fnc_moduleAssignRepairVehicle.sqf
Normal file
29
addons/repair/functions/fnc_moduleAssignRepairVehicle.sqf
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
/*
|
||||||
|
* Author: Glowbal
|
||||||
|
* Assign an repair vehicle
|
||||||
|
*
|
||||||
|
* Arguments:
|
||||||
|
* 0: The module logic <LOGIC>
|
||||||
|
* 1: units <ARRAY>
|
||||||
|
* 2: activated <BOOL>
|
||||||
|
*
|
||||||
|
* Return Value:
|
||||||
|
* None <NIL>
|
||||||
|
*
|
||||||
|
* Public: No
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "script_component.hpp"
|
||||||
|
|
||||||
|
params ["_logic"];
|
||||||
|
|
||||||
|
if (!isNull _logic) then {
|
||||||
|
private ["_list", "_setting"];
|
||||||
|
_list = _logic getvariable ["EnableList",""];
|
||||||
|
_setting = _logic getvariable ["role",0];
|
||||||
|
|
||||||
|
[_list, "ACE_isRepairVehicle", _setting, true] call EFUNC(common,assignObjectsInList);
|
||||||
|
[synchronizedObjects _logic, "ACE_isRepairVehicle", _setting, true] call EFUNC(common,assignObjectsInList);
|
||||||
|
};
|
||||||
|
|
||||||
|
true
|
@ -1,4 +1,4 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!-- Edited with tabler - 2014-12-21 -->
|
<!-- Edited with tabler - 2014-12-21 -->
|
||||||
<Project name="ACE">
|
<Project name="ACE">
|
||||||
<Package name="repair">
|
<Package name="repair">
|
||||||
@ -598,5 +598,42 @@
|
|||||||
<Key ID="STR_ACE_Repair_AssignEngineerRole_Module_Description">
|
<Key ID="STR_ACE_Repair_AssignEngineerRole_Module_Description">
|
||||||
<English>Assign one or multiple units as an engineer</English>
|
<English>Assign one or multiple units as an engineer</English>
|
||||||
</Key>
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Repair_AssignRepairVehicle_Module_DisplayName">
|
||||||
|
<English>Assign Repair Vehicle</English>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Repair_AssignRepairVehicle_EnableList_DisplayName">
|
||||||
|
<English>List</English>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Repair_AssignRepairVehicle_EnableList_Description">
|
||||||
|
<English>List of vehicles that will be classified as repair vehicle, separated by commas.</English>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Repair_AssignRepairVehicle_role_DisplayName">
|
||||||
|
<English>Is Repair Vehicle</English>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Repair_AssignRepairVehicle_role_Description">
|
||||||
|
<English>Is the vehicle classified as a repair vehicle?</English>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Repair_AssignRepairVehicle_Module_Description">
|
||||||
|
<English>Assign one or multiple vehicles as a repair vehicle</English>
|
||||||
|
</Key>
|
||||||
|
|
||||||
|
<Key ID="STR_ACE_Repair_AssignRepairFacility_Module_DisplayName">
|
||||||
|
<English>Assign Repair Facility</English>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Repair_AssignRepairFacility_EnableList_DisplayName">
|
||||||
|
<English>List</English>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Repair_AssignRepairFacility_EnableList_Description">
|
||||||
|
<English>List of objects that will be classified as repair Facility, separated by commas.</English>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Repair_AssignRepairFacility_role_DisplayName">
|
||||||
|
<English>Is Repair Facility</English>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Repair_AssignRepairFacility_role_Description">
|
||||||
|
<English>Is the object classified as a repair Facility?</English>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Repair_AssignRepairFacility_Module_Description">
|
||||||
|
<English>Assign one or multiple objects as a repair Facility</English>
|
||||||
|
</Key>
|
||||||
</Package>
|
</Package>
|
||||||
</Project>
|
</Project>
|
Loading…
Reference in New Issue
Block a user