Merge branch 'v0.97S13' into v0.97S13-530

This commit is contained in:
Christian 2019-06-23 16:24:05 +02:00 committed by GitHub
commit 7dc6fa9b87
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
50 changed files with 1628 additions and 143 deletions

View File

@ -10,9 +10,9 @@
"_thisId",
"_thisType",
"BIS_fnc_reviveInit",
"CBA_Settings_fnc_init",
"CBA_fnc_compatibleMagazines",
"CBA_fnc_notify",
"CBA_Settings_fnc_init",
"KPLIB_eden_boxspawn",
"KPLIB_eden_potatospawn",
"KPLIB_eden_startbase",
@ -30,6 +30,7 @@
"KPLIB_param_crateVolume",
"KPLIB_param_damageInfluence",
"KPLIB_param_debug",
"KPLIB_param_enemyDebug",
"KPLIB_param_fobRange",
"KPLIB_param_fuelInfluence",
"KPLIB_param_limitedZeusCeiling",
@ -45,9 +46,9 @@
"KPLIB_param_presetF",
"KPLIB_param_presetR",
"KPLIB_param_recycleFactor",
"KPLIB_param_refundSupply",
"KPLIB_param_refundAmmo",
"KPLIB_param_refundFuel",
"KPLIB_param_refundSupply",
"KPLIB_param_resupplyAmmoCost",
"KPLIB_param_resupplyFuelCost",
"KPLIB_param_resupplyGallCost",
@ -117,13 +118,13 @@
"KPLIB_preset_lockedVehPlF",
"KPLIB_preset_logiBuildingE",
"KPLIB_preset_logiBuildingF",
"KPLIB_preset_logiTruckE",
"KPLIB_preset_logiTruckF",
"KPLIB_preset_logisticE",
"KPLIB_preset_logisticF",
"KPLIB_preset_logisticPlC",
"KPLIB_preset_logisticPlE",
"KPLIB_preset_logisticPlF",
"KPLIB_preset_logiTruckE",
"KPLIB_preset_logiTruckF",
"KPLIB_preset_mortarE",
"KPLIB_preset_mortarF",
"KPLIB_preset_nameC",

View File

@ -10,6 +10,7 @@
* Added: Mission configuration completely via CBA Settings.
* Added: Logistic station with cratefiller, vehicle resupply and recycle functionality.
* Added: Garrison dialog for the commander to manage his own sector garrisons.
* Added: Enemy Commander decision making and (re)action triggering via a FSM.
* Updated: Traditional Chinese Localization. Thanks to [dustin902001](https://github.com/dustin902001)
* Removed: Mission configuration via mission parameters.
* Tweaked: License changed from MIT to GPLv3.

View File

@ -4,7 +4,7 @@
File: KPGUI_classes.hpp
Author: Wyqer - https://github.com/KillahPotatoes
Date: 2018-09-13
Last Update: 2019-05-04
Last Update: 2019-05-19
License: GNU General Public License v3.0 - https://www.gnu.org/licenses/gpl-3.0.html
Description:
@ -57,7 +57,6 @@ class KPGUI_PRE_ScrollBar {
class KPGUI_PRE_Title {
deletable = 0;
fade = 0;
access = 0;
type = 0;
idc = -1;
colorBackground[] = KP_COLOR_PLAYERDEFINE;
@ -83,7 +82,6 @@ class KPGUI_PRE_Title {
class KPGUI_PRE_CloseCross {
deletable = 0;
fade = 0;
access = 0;
type = 11;
style = 48 + 2048;
color[] = {1, 1, 1, 0.75};
@ -124,7 +122,6 @@ class KPGUI_PRE_VersionIcon: KPGUI_PRE_CloseCross {
class KPGUI_PRE_Background {
deletable = 0;
fade = 0;
access = 0;
type = 0;
idc = -1;
colorBackground[] = KP_COLOR_BACKGROUND;
@ -150,7 +147,6 @@ class KPGUI_PRE_Background {
class KPGUI_PRE_Text {
deletable = 0;
fade = 0;
access = 0;
type = 0;
idc = -1;
colorBackground[] = {0, 0, 0, 0};
@ -182,7 +178,6 @@ class KPGUI_PRE_InlineTitle: KPGUI_PRE_Text {
class KPGUI_PRE_ActiveText {
deletable = 0;
fade = 0;
access = 0;
type = 11;
style = 2;
color[] = {0, 0, 0, 1};
@ -234,7 +229,6 @@ class KPGUI_PRE_PictureRatio: KPGUI_PRE_Picture {
class KPGUI_PRE_Button {
deletable = 0;
fade = 0;
access = 0;
type = 1;
text = "";
colorText[] = {1, 1, 1, 1};
@ -316,7 +310,6 @@ class KPGUI_PRE_ControlsGroupNoScrollbars: KPGUI_PRE_ControlsGroup
class KPGUI_PRE_Combo {
deletable = 0;
fade = 0;
access = 0;
type = 4;
colorSelect[] = {0, 0, 0, 1};
colorText[] = {1, 1, 1, 1};
@ -401,7 +394,6 @@ class KPGUI_PRE_CheckBox {
class KPGUI_PRE_ListBox {
deletable = 0;
fade = 0;
access = 0;
type = 5;
rowHeight = 0;
colorText[] = {1, 1, 1, 1};
@ -451,7 +443,6 @@ class KPGUI_PRE_ListBox {
class KPGUI_PRE_ListNBox {
deletable = 0;
fade = 0;
access = 0;
type = 102;
rowHeight = 0;
colorText[] = {1, 1, 1, 1};
@ -553,7 +544,6 @@ class KPGUI_PRE_Slider {
class KPGUI_PRE_EditBox {
deletable = 0;
fade = 0;
access = 0;
type = 2;
x = 0;
y = 0;
@ -595,7 +585,6 @@ class KPGUI_PRE_ProgressBar
class KPGUI_PRE_MapControl {
deletable = 0;
fade = 0;
access = 0;
type = 101;
idc = 51;
style = 16 + 32;
@ -1195,7 +1184,7 @@ class KPGUI_PRE_DialogTitleSR: KPGUI_PRE_Title {
// Cross symbol
class KPGUI_PRE_DialogCrossSR: KPGUI_PRE_CloseCross {
x = safeZoneX + safeZoneW * (KP_X_VAL_SR + KP_WIDTH_VAL_SR - 0.02)
x = safeZoneX + safeZoneW * (KP_X_VAL_SR + KP_WIDTH_VAL_SR - 0.02);
y = KP_GETY_CROSS(KP_Y_VAL_SR);
};
@ -1219,7 +1208,7 @@ class KPGUI_PRE_DialogButtonSR: KPGUI_PRE_Button {
*/
class KPGUI_PRE_LogoRightCorner: KPGUI_PRE_PictureRatio {
text = "KPGUI\res\kp512_CA.paa";
text = "KPGUI\res\kp512_ca.paa";
x = "safezoneX + safezoneW - 5.3 * (((safezoneW / safezoneH) min 1.2) / 40)";
y = "safezoneY + safezoneH - 4.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
w = "3.5 * (((safezoneW / safezoneH) min 1.2) / 40)";

View File

@ -4,7 +4,7 @@
File: KPGUI_defines.hpp
Author: Wyqer - https://github.com/KillahPotatoes
Date: 2018-07-10
Last Update: 2019-05-05
Last Update: 2019-06-08
License: GNU General Public License v3.0 - https://www.gnu.org/licenses/gpl-3.0.html
Description:
@ -148,7 +148,7 @@
(X from 0.7975 - 0.9975, Y from 0.0025 - 0.9975)
*/
#define KP_X_VAL_RP 0.7975
#define KP_X_VAL_RP 0.7975
#define KP_Y_VAL_RP 0.0025
#define KP_WIDTH_VAL_RP 0.2

View File

@ -4,7 +4,7 @@
File: fn_init_loadData.sqf
Author: KP Liberation Dev Team - https://github.com/KillahPotatoes
Date: 2017-10-16
Last Update: 2019-04-22
Last Update: 2019-06-08
License: GNU General Public License v3.0 - https://www.gnu.org/licenses/gpl-3.0.html
Public: No
@ -35,8 +35,8 @@ if (_moduleData isEqualTo []) then {
private _nextVehicle = "";
private _nextBase = "";
while {((count _assignedVehicles) < (count KPLIB_preset_lockedVehPlF)) && ((count _assignedBases) < (count KPLIB_sectors_military))} do {
_nextVehicle = selectRandom (KPLIB_preset_lockedVehPlF select {!(_x in _assignedVehicles)});
_nextBase = selectRandom (KPLIB_sectors_military select {!(_x in _assignedBases)});
_nextVehicle = selectRandom (KPLIB_preset_lockedVehPlF - _assignedVehicles);
_nextBase = selectRandom (KPLIB_sectors_military - _assignedBases);
_assignedVehicles pushBack _nextVehicle;
_assignedBases pushBack _nextBase;
KPLIB_sectors_lockedVeh pushBack [_nextVehicle, _nextBase];
@ -75,8 +75,8 @@ if (_moduleData isEqualTo []) then {
} forEach KPLIB_sectors_lockedVeh;
while {((count _assignedVehicles) < (count KPLIB_preset_lockedVehPlF)) && ((count _assignedBases) < (count KPLIB_sectors_military))} do {
_nextVehicle = selectRandom (KPLIB_preset_lockedVehPlF select {!(_x in _assignedVehicles)});
_nextBase = selectRandom (KPLIB_sectors_military select {!(_x in _assignedBases)});
_nextVehicle = selectRandom (KPLIB_preset_lockedVehPlF - _assignedVehicles);
_nextBase = selectRandom (KPLIB_sectors_military - _assignedBases);
_assignedVehicles pushBack _nextVehicle;
_assignedBases pushBack _nextBase;
KPLIB_sectors_lockedVeh pushBack [_nextVehicle, _nextBase];

View File

@ -4,7 +4,7 @@
File: fn_init_settings.sqf
Author: KP Liberation Dev Team - https://github.com/KillahPotatoes
Date: 2018-11-09
Last Update: 2019-04-27
Last Update: 2019-06-15
License: GNU General Public License v3.0 - https://www.gnu.org/licenses/gpl-3.0.html
Public: No
@ -18,7 +18,6 @@
Function reached the end [BOOL]
*/
/*
----- GENERAL SETTINGS -----
*/
@ -119,7 +118,6 @@
----- PRESET SETTINGS -----
*/
// KPLIB_param_presetF
// Selection for the units, vehicles, etc. for the player side.
// Default: Custom West Army

View File

@ -0,0 +1,29 @@
/*
KPLIB_fnc_common_fps
File: fn_common_fps.sqf
Author: KP Liberation Dev Team - https://github.com/KillahPotatoes
Date: 2019-06-08
Last Update: 2019-06-08
License: GNU General Public License v3.0 - https://www.gnu.org/licenses/gpl-3.0.html
Public: Yes
Description:
Returns the current FPS or, if a number is given, if the FPS are above or equal given number.
Parameter(s):
_fps - Value to check if FPS are equal or above. -1 to get current FPS. [NUMBER, defaults to -1]
Returns:
Current FPS above given number or current FPS value [BOOL or NUMBER]
*/
params [
["_fps", -1, [0]]
];
if (_fps > -1) then {
diag_fps >= _fps
} else {
parseNumber (diag_fps toFixed 2)
};

View File

@ -4,7 +4,7 @@
File: fn_common_getPresetClass.sqf
Author: KP Liberation Dev Team - https://github.com/KillahPotatoes
Date: 2018-12-08
Last Update: 2019-04-22
Last Update: 2019-06-09
License: GNU General Public License v3.0 - https://www.gnu.org/licenses/gpl-3.0.html
Public: Yes
@ -13,7 +13,7 @@
Parameter(s):
_type - Preset type name [STRING, defaults to ""]
_side - Preset side [SIDE, defaults to KPLIB_preset_sideEnemy]
_side - Preset side [SIDE, defaults to KPLIB_preset_sideE]
_isArray - Array of classnames (true) or single classname (false) [BOOL, defaults to false]
Returns:

View File

@ -4,7 +4,7 @@
File: functions.hpp
Author: KP Liberation Dev Team - https://github.com/KillahPotatoes
Date: 2018-09-15
Last Update: 2019-04-22
Last Update: 2019-06-08
License: GNU General Public License v3.0 - https://www.gnu.org/licenses/gpl-3.0.html
Description:
@ -38,6 +38,9 @@ class common {
// Creates a vehicle at given position with given direction
class common_createVehicle {};
// Check current FPS or if they are higher or equal than given number
class common_fps {};
// Generate positions in circle
class common_getCirclePositions {};

View File

@ -4,7 +4,7 @@
File: fn_core_getNearestMarker.sqf
Author: KP Liberation Dev Team - https://github.com/KillahPotatoes
Date: 2017-11-26
Last Update: 2019-04-22
Last Update: 2019-06-08
License: GNU General Public License v3.0 - https://www.gnu.org/licenses/gpl-3.0.html
Public: Yes
@ -27,8 +27,8 @@ params [
];
private _markersWithinRange = _markers select {((markerPos _x) distance _centerPos) < _range};
private _markersAscByRange = [_markersWithinRange, [_centerPos], {(markerPos _x) distance _input0}, "ASCEND"] call BIS_fnc_sortBy;
private _markersWithinRange = _markers select {((markerPos _x) distance2D _centerPos) < _range};
private _markersAscByRange = [_markersWithinRange, [_centerPos], {(markerPos _x) distance2D _input0}, "ASCEND"] call BIS_fnc_sortBy;
// Return nearest marker
if !(_markersAscByRange isEqualTo []) then {
_markersAscByRange select 0

View File

@ -4,7 +4,7 @@
File: fn_core_settings.sqf
Author: KP Liberation Dev Team - https://github.com/KillahPotatoes
Date: 2018-11-11
Last Update: 2019-04-22
Last Update: 2019-06-15
License: GNU General Public License v3.0 - https://www.gnu.org/licenses/gpl-3.0.html
Public: No
@ -18,7 +18,6 @@
Function reached the end [BOOL]
*/
/*
----- SECTOR SETTINGS -----
*/

View File

@ -4,7 +4,7 @@
File: fn_respawn_settings.sqf
Author: KP Liberation Dev Team - https://github.com/KillahPotatoes
Date: 2018-11-11
Last Update: 2019-04-22
Last Update: 2019-06-15
License: GNU General Public License v3.0 - https://www.gnu.org/licenses/gpl-3.0.html
Public: No
@ -18,6 +18,10 @@
Function reached the end [BOOL]
*/
/*
----- RESPAWN SETTINGS -----
*/
// KPLIB_param_mobileRespawn
// Enables/Disables the mobile respawn functionality of certain vehicles.
// Default: true

View File

@ -28,6 +28,9 @@ params [
["_fuel", 0, [0]]
];
// Can always pay if there is no price
if ([_supplies, _ammo, _fuel] isEqualTo [0,0,0]) exitWith {true};
// Exit if no location is given
if (_location isEqualTo "") exitWith {false};

View File

@ -4,7 +4,7 @@
File: fn_resources_preInit.sqf
Author: KP Liberation Dev Team - https://github.com/KillahPotatoes
Date: 2018-12-13
Last Update: 2019-04-22
Last Update: 2019-06-08
License: GNU General Public License v3.0 - https://www.gnu.org/licenses/gpl-3.0.html
Public: No
@ -147,10 +147,7 @@ if (isServer) then {
]] call KPLIB_fnc_init_filterMods;
// Plain transport vehicle classnames array
KPLIB_resources_transportVehicles = [];
{
KPLIB_resources_transportVehicles pushBack (_x select 0);
} forEach KPLIB_resources_transportConfigs;
KPLIB_resources_transportVehicles = KPLIB_resources_transportConfigs apply {_x select 0};
// Send filtered lists to clients
publicVariable "KPLIB_resources_transportConfigs";

View File

@ -4,7 +4,7 @@
File: fn_resources_settings.sqf
Author: KP Liberation Dev Team - https://github.com/KillahPotatoes
Date: 2018-12-14
Last Update: 2019-05-04
Last Update: 2019-06-15
License: GNU General Public License v3.0 - https://www.gnu.org/licenses/gpl-3.0.html
Public: No
@ -18,7 +18,6 @@
Function reached the end [BOOL]
*/
/*
----- RESOURCES SETTINGS -----
*/

View File

@ -1,11 +1,13 @@
# KP Liberation Module Description
## Permission Module
The permission module provides a permission framework with a dynamic dialog.
There are functions to create and check the permissions.
The permission module provides a dynamic permission framework with a permission overview dialog.
It contains functions to check player permissions and add new permissions to the framework.
Additionally it contains some pre defined permissions.
### Dependencies
* Init
* Common
### Consumed events
**KPLIB_doLoad** (server side)
@ -14,9 +16,18 @@ Calls KPLIB_fnc_permission_loadData to process saved module data
**KPLIB_doSave** (server side)
Calls KPLIB_fnc_permission_saveData to add the module data to the save array
**KPLIB_permission_newPH** (server side)
Calls KPLIB_fnc_permission_initDefault to add the permission to the default permissions
**GetInMan** (client side)
Calls KPLIB_fnc_permission_checkVehiclePermission and checks the player permission for the entered vehicle
**SeatSwitchedMan** (client side)
Calls KPLIB_fnc_permission_checkVehiclePermission and checks the player permission for the entered vehicle
### Emitted events
**KPLIB_permission_newPH** (servere side)
EMitted when a new permission handler is registered
**KPLIB_permission_newPH** (server side)
Emitted when a new permission handler is registered
### Functions
* KPLIB_fnc_permission_addPermissionHandler
@ -39,10 +50,18 @@ EMitted when a new permission handler is registered
*Ejects the player and creates a hint.*
* KPLIB_fnc_permission_export
*Export the permission list to profileNamespace.*
* KPLIB_fnc_permission_getPermission
*Checks the given permission and returns the result.*
* KPLIB_fnc_permission_import
*Import the permission list from profileNamespace.*
* KPLIB_fnc_permission_initDefault
*Initializes the default permissions.*
@ -75,31 +94,31 @@ EMitted when a new permission handler is registered
*Fetches data which is bound to this module and send it to the global save data array.*
* KPLIB_fnc_permission_settings
*CBA Settings initialization for this module.*
* KPLIB_fnc_permission_setupPermissionControls
*Reads the player permissions and applies them to the dialog controls.*
* KPLIB_fnc_permission_setupplayerActions
* KPLIB_fnc_permission_setupPlayerActions
*Initialization of actions availible to players.*
* KPLIB_fnc_permission_syncClients
*Receive client variables and send them to all clients.*
### Scripts
No scripts will be started by this module
### Example Permission Array
KPLIB_permission_data getVariable ["permissionList", []]; = [
["SteamID64", "PlayerName", [
["AVehicle", true],
["BVehicle", false],
["CVehicle", false]
]],
["SteamID64", "PlayerName", [
["AVehicle", true],
["BVehicle", false],
["CVehicle", false]
]],
];
### Implemented permissions
* Commander slot
* Sub-Commander slot
* Light vehicles
* Transport vehicles
* Heavy vehicles
* Anti-Air vehicles
* Artillery vehicles
* Transport helicopter
* Attack helicopter
* Transport plane
* Attack jets
* Logistic vehicles

View File

@ -5,7 +5,7 @@
File: fn_permission_addPermission.sqf
Author: KP Liberation Dev Team - https://github.com/KillahPotatoes
Date: 2018-12-09
Last Update: 2019-05-04
Last Update: 2019-05-16
License: GNU General Public License v3.0 - https://www.gnu.org/licenses/gpl-3.0.html
Public: Yes
@ -73,7 +73,7 @@ if !(_string isEqualTo "") then {
PSVAR(_permission, _data);
// Emit permissions added event
["KPLIB_permission_newPH", [_permission, _default]] call CBA_fnc_globalEvent;
["KPLIB_permission_newPH", [_permission, _default]] call CBA_fnc_serverEvent;
// Set data in namespace
PSVAR("permissionTypes", _types);

View File

@ -4,7 +4,7 @@
File: KPLIB_permission.hpp
Author: KP Liberation Dev Team - https://github.com/KillahPotatoes
Date: 2018-12-07
Last Update: 2019-05-03
Last Update: 2019-05-19
License: GNU General Public License v3.0 - https://www.gnu.org/licenses/gpl-3.0.html
Description:
@ -50,14 +50,14 @@ class KPLIB_permission {
y = KP_GETCY(KP_Y_VAL_C,KP_HEIGHT_VAL_C,22,24);
w = KP_GETW(KP_WIDTH_VAL_C,2);
h = KP_GETH(KP_HEIGHT_VAL_C,24);
tooltip = "$STR_KPLIB_DIALOG_PERMISSION_EXPORT_TT"
tooltip = "$STR_KPLIB_DIALOG_PERMISSION_EXPORT_TT";
onButtonClick = "[] call KPLIB_fnc_permission_export";
};
class KPLIB_ButtonImport: KPLIB_ButtonExport {
text = "$STR_KPLIB_DIALOG_PERMISSION_IMPORT";
y = KP_GETCY(KP_Y_VAL_C,KP_HEIGHT_VAL_C,23,24);
tooltip = "$STR_KPLIB_DIALOG_PERMISSION_IMPORT_TT"
tooltip = "$STR_KPLIB_DIALOG_PERMISSION_IMPORT_TT";
onButtonClick = "[] call KPLIB_fnc_permission_import";
};

View File

@ -5,7 +5,27 @@ The arsenal module provides the arsenal dialog and several functions.
It defines the arsenal items and gives the ability to access the arsenal, define default loadouts and copy loadouts from other players.
### Dependencies
This module uses no data or functions from other modules.
* Common
### Consumed events
**arsenalOpened** (client side)
Saves the players backpack to ensure a correct search for blacklisted items
**arsenalClosed** (client side)
Calls KPLIB_fnc_arsenal_checkGear to search the player inventory for blacklisted items
**ace_arsenal_displayOpened** (client side)
Saves the players backpack to ensure a correct search for blacklisted items
**ace_arsenal_displayClosed** (client side)
Calls KPLIB_fnc_arsenal_checkGear to search the player inventory for blacklisted items
**KPLIB_player_redeploy** (client side)
Calls KPLIB_fnc_arsenal_checkGear to search the player inventory for blacklisted items
### Emitted events
**KPLIB_arsenal_newLists** (server side)
Emitted when the arsenal white- and blacklist are (re)initialized
### Functions
* KPLIB_fnc_arsenal_applyLoadout
@ -14,7 +34,7 @@ This module uses no data or functions from other modules.
* KPLIB_fnc_arsenal_checkGear
*Check player gear against blacklist.*
*Checks the players gear for blacklisted items and report these items.*
* KPLIB_fnc_arsenal_copyLoadout
@ -34,7 +54,7 @@ This module uses no data or functions from other modules.
* KPLIB_fnc_arsenal_openDialog
*Open the dialog.*
*Open the arsenal dialog.*
* KPLIB_fnc_arsenal_postInit

View File

@ -4,7 +4,7 @@
File: fn_virtual_preInit.sqf
Author: KP Liberation Dev Team - https://github.com/KillahPotatoes
Date: 2018-11-18
Last Update: 2019-04-29
Last Update: 2019-05-19
License: GNU General Public License v3.0 - https://www.gnu.org/licenses/gpl-3.0.html
Public: No
@ -60,7 +60,7 @@ if (hasInterface) then {
["KPLIB_curatorOpen", {
[{
private _watermarkCtrl = (findDisplay 312) displayCtrl 15717;
_watermarkCtrl ctrlSetText "KPGUI\res\kp512_CA.paa";
_watermarkCtrl ctrlSetText "KPGUI\res\kp512_ca.paa";
}] call CBA_fnc_execNextFrame;
}] call CBA_fnc_addEventHandler;

View File

@ -4,7 +4,7 @@
File: fn_virtual_settings.sqf
Author: KP Liberation Dev Team - https://github.com/KillahPotatoes
Date: 2018-11-18
Last Update: 2019-04-23
Last Update: 2019-06-15
License: GNU General Public License v3.0 - https://www.gnu.org/licenses/gpl-3.0.html
Public: No
@ -18,7 +18,6 @@
Function reached the end [BOOL]
*/
/*
----- ZEUS SETTINGS -----
*/

View File

@ -4,7 +4,7 @@
File: fn_build_confirmSingle.sqf
Author: KP Liberation Dev Team - https://github.com/KillahPotatoes
Date: 2018-11-29
Last Update: 2019-05-04
Last Update: 2019-05-09
License: GNU General Public License v3.0 - https://www.gnu.org/licenses/gpl-3.0.html
Public: No
@ -31,7 +31,7 @@ _createParams params ["_className", "_pos", "_dir", "_justBuild"];
private _fob = _player getVariable ["KPLIB_fob", ""];
if !(([_fob] + _price) call KPLIB_fnc_resources_pay) exitWith {
[format ["Not enough resources to build: %1 at: %2", _className, _fob], "BUILD"] call KPLIB_fnc_common_log;
[format ["Not enough resources to build: %1 at: '%2', price: %3", _className, _fob, _price], "BUILD"] call KPLIB_fnc_common_log;
["KPLIB_build_not_enough_resources", [_className], _player] call CBA_fnc_targetEvent;
};

View File

@ -65,7 +65,7 @@ class KPLIB_ToolboxContainer: KPGUI_PRE_ControlsGroup {
// !TODO! move toolbox items creation to script
class KPLIB_Toolbox_MoveItems: KPGUI_PRE_ActiveText {
text = "$STR_KPLIB_DIALOG_BUILD_MODE_BUILD";
tooltip = "$STR_KPLIB_DIALOG_BUILD_MODE_TT"
tooltip = "$STR_KPLIB_DIALOG_BUILD_MODE_TT";
idc = KPLIB_IDC_BUILD_TOOLBOX_MOVEITEMS;
colorActive[] = {1, 1, 1, 1};

View File

@ -1,20 +1,82 @@
# KP Liberation Module Description
## Logistic Module
The permission module handles the resupply and recycle functionalities and contains the ability to add new menus to the logistic station.
All provided menus will be added to the logistic main menus.
### Dependencies
* Init
* Common
* Permission
### Consumed events
### Emitted events
**KPLIB_vehicle_spawned** (server side)
Calls KPLIB_fnc_logistic_addActions which will check the vehicle type and add the logistic actions to it
### Functions
* KPLIB_fnc_logistic_addActions
*Adds all actions to the spawned logistic building.*
* KPLIB_fnc_logistic_addMenu
*Adds a new menu to the logistic main menu.*
* KPLIB_fnc_logistic_calcCosts
*Calculates the costs of the resupply action.*
* KPLIB_fnc_logistic_openDialog
*Opens the logistic main dialog.*
* KPLIB_fnc_logistic_openRecycleDialog
*Opens the logistic recycle dialog.*
* KPLIB_fnc_logistic_openResupplyDialog
*Opens the logistic resupply dialog.*
* KPLIB_fnc_logistic_postInit
*Module post initialization.*
* KPLIB_fnc_logistic_preInit
*Module pre initialization.*
* KPLIB_fnc_logistic_recycleTarget
*Recycles the selected vehicle.*
* KPLIB_fnc_logistic_refreshTargets
*Refreshes the vehicle list for the given dialog.*
* KPLIB_fnc_logistic_resupplyTarget
*Resupplies the given vehicle.*
* KPLIB_fnc_logistic_selectRecycleTarget
*Selects the vehicle from the combo cox and fills the dialog.*
* KPLIB_fnc_logistic_selectResupplyTarget
*Selects the vehicle from the combo cox and fills the dialog.*
* KPLIB_fnc_logistic_settings
*CBA Settings initialization for this module.*
### Scripts
No scripts will be started by this module
### Implemented permissions
* Recycle
* Resupply
### Implemented logistic menus
* Recycle
* Resupply

View File

@ -5,7 +5,7 @@
File: fn_logistic_postInit.sqf
Author: KP Liberation Dev Team - https://github.com/KillahPotatoes
Date: 2019-01-16
Last Update: 2019-05-04
Last Update: 2019-05-18
License: GNU General Public License v3.0 - https://www.gnu.org/licenses/gpl-3.0.html
Public: No
@ -72,22 +72,6 @@ if (isServer) then {
"STR_KPLIB_LOGISTIC_RESUPPLY"
] call KPLIB_fnc_logistic_addMenu;
[
"Cratefiller",
{
if (["Cratefiller"] call KPLIB_fnc_permission_checkPermission && KPLIB_param_cratefiller) then {
closeDialog 0;
[] call KPLIB_fnc_cratefiller_openDialog;
} else {
[
["a3\3den\data\controlsgroups\tutorial\close_ca.paa", 1, [1,0,0]],
[[localize "STR_KPLIB_HINT_NOCRATEFILLER", localize "STR_KPLIB_HINT_NOPERMISSION"] select KPLIB_param_cratefiller]
] call CBA_fnc_notify;
};
},
"STR_KPLIB_LOGISTIC_CRATEFILLER"
] call KPLIB_fnc_logistic_addMenu;
private _vehicles = [];
{
_vehicles append (missionNamespace getVariable [format ["KPLIB_preset_%1F", _x], ""]);

View File

@ -5,7 +5,7 @@
File: fn_logistic_refreshTargets.sqf
Author: KP Liberation Dev Team - https://github.com/KillahPotatoes
Date: 2019-01-25
Last Update: 2019-05-14
Last Update: 2019-05-19
License: GNU General Public License v3.0 - https://www.gnu.org/licenses/gpl-3.0.html
Public: No
@ -88,7 +88,7 @@ if (_dialogId isEqualTo KPLIB_IDC_LOGISTIC_RECYCLE_DIALOG) then {
_ctrlVehicleList lbSetData [_index, netId _x];
_picture = getText (_cfgVeh >> _type >> "picture");
if (_picture isEqualTo "pictureThing") then {
_ctrlVehicleList lbSetPicture [_index, "KPGUI\res\kp512_CA.paa"];
_ctrlVehicleList lbSetPicture [_index, "KPGUI\res\kp512_ca.paa"];
} else {
_ctrlVehicleList lbSetPicture [_index, _picture];
};

View File

@ -4,7 +4,7 @@
File: fn_logistic_settings.sqf
Author: KP Liberation Dev Team - https://github.com/KillahPotatoes
Date: 2019-01-28
Last Update: 2019-04-03
Last Update: 2019-06-15
License: GNU General Public License v3.0 - https://www.gnu.org/licenses/gpl-3.0.html
Public: No
@ -113,6 +113,7 @@
{}
] call CBA_Settings_fnc_init;
/*
----- RESUPPLY SETTINGS -----
*/

File diff suppressed because it is too large Load Diff

View File

@ -4,7 +4,7 @@
File: fn_enemy_loadData.sqf
Author: KP Liberation Dev Team - https://github.com/KillahPotatoes
Date: 2019-02-02
Last Update: 2019-04-23
Last Update: 2019-06-15
License: GNU General Public License v3.0 - https://www.gnu.org/licenses/gpl-3.0.html
Public: No
@ -21,17 +21,21 @@
if (KPLIB_param_debug) then {["Enemy module loading...", "SAVE"] call KPLIB_fnc_common_log;};
private _moduleData = ["enemy"] call KPLIB_fnc_init_getSaveData;
private _state = "unaware";
// Check if there is a new campaign
if (_moduleData isEqualTo []) then {
if (KPLIB_param_debug) then {["Enemy module data empty, creating new data...", "SAVE"] call KPLIB_fnc_common_log;};
// Nothing to do here
} else {
// Otherwise start applying the saved data
if (KPLIB_param_debug) then {["Enemy module data found, applying data...", "SAVE"] call KPLIB_fnc_common_log;};
KPLIB_enemy_strength = _moduleData select 0;
KPLIB_enemy_awareness = _moduleData select 1;
_state = _moduleData select 2;
};
// Start commander FSM
[_state] call KPLIB_fnc_enemy_commanderLogic;
true

View File

@ -4,7 +4,7 @@
File: fn_enemy_preInit.sqf
Author: KP Liberation Dev Team - https://github.com/KillahPotatoes
Date: 2019-02-02
Last Update: 2019-04-23
Last Update: 2019-06-09
License: GNU General Public License v3.0 - https://www.gnu.org/licenses/gpl-3.0.html
Public: No
@ -24,11 +24,12 @@ if (isServer) then {["Module initializing...", "PRE] [ENEMY", true] call KPLIB_f
----- Module Globals -----
*/
// Strength of the enemy (0-1000)
KPLIB_enemy_strength = 500;
// Awareness of the enemy (0-100)
KPLIB_enemy_awareness = 0;
// All enemy patrols
KPLIB_enemy_patrols = [];
// Strength of the enemy (0-1000)
KPLIB_enemy_strength = 500;
/*
----- Module Initialization -----

View File

@ -4,7 +4,7 @@
File: fn_enemy_reinforceGarrison.sqf
Author: KP Liberation Dev Team - https://github.com/KillahPotatoes
Date: 2019-02-18
Last Update: 2019-04-23
Last Update: 2019-06-15
License: GNU General Public License v3.0 - https://www.gnu.org/licenses/gpl-3.0.html
Public: Yes
@ -36,7 +36,7 @@ if (_base isEqualTo "" || !(_base in KPLIB_sectors_military) || _destination isE
private _costs = _troops * 2 + (count _vehicleClasses) * 10;
if (_costs > KPLIB_enemy_strength) exitWith {[]};
if (KPLIB_param_debug) then {[format ["Reinfore garrison of %1 (%2) for %3 strength with [%4, %5]", markerText _destination, _destination, _costs, _troops, _vehicleClasses], "ENEMY"] call KPLIB_fnc_common_log;};
if (KPLIB_param_enemyDebug) then {[format ["Reinfore garrison of %1 (%2) for %3 strength with [%4, %5]", markerText _destination, _destination, _costs, _troops, _vehicleClasses], "ENEMY"] call KPLIB_fnc_common_log;};
[-_costs] call KPLIB_fnc_enemy_addStrength;

View File

@ -4,7 +4,7 @@
File: fn_enemy_saveData.sqf
Author: KP Liberation Dev Team - https://github.com/KillahPotatoes
Date: 2019-02-02
Last Update: 2019-04-23
Last Update: 2019-06-08
License: GNU General Public License v3.0 - https://www.gnu.org/licenses/gpl-3.0.html
Public: No
@ -24,7 +24,8 @@ if (KPLIB_param_savedebug) then {["Enemy module saving...", "SAVE"] call KPLIB_f
["enemy",
[
KPLIB_enemy_strength,
KPLIB_enemy_awareness
KPLIB_enemy_awareness,
(diag_activeMissionFSMs select (diag_activeMissionFSMs findIf {(_x select 0) isEqualTo "KPLIB_enemyCommander"})) select 1
]
] call KPLIB_fnc_init_setSaveData;

View File

@ -4,7 +4,7 @@
File: fn_enemy_settings.sqf
Author: KP Liberation Dev Team - https://github.com/KillahPotatoes
Date: 2019-02-02
Last Update: 2019-04-23
Last Update: 2019-06-15
License: GNU General Public License v3.0 - https://www.gnu.org/licenses/gpl-3.0.html
Public: No
@ -18,4 +18,21 @@
Function reached the end [BOOL]
*/
/*
----- ENEMY COMMANDER SETTINGS -----
*/
// KPLIB_param_enemyDebug
// Enables/Disables debug mode for this module.
// Default: true
[
"KPLIB_param_enemyDebug",
"CHECKBOX",
[localize "STR_KPLIB_SETTINGS_ENEMY_DEBUG", localize "STR_KPLIB_SETTINGS_ENEMY_DEBUG_TT"],
localize "STR_KPLIB_SETTINGS_ENEMY",
true,
1,
{}
] call CBA_Settings_fnc_init;
true

View File

@ -0,0 +1,112 @@
/*
KPLIB_fnc_enemy_spawnPatrol
File: fn_enemy_spawnPatrol.sqf
Author: KP Liberation Dev Team - https://github.com/KillahPotatoes
Date: 2019-06-08
Last Update: 2019-06-22
License: GNU General Public License v3.0 - https://www.gnu.org/licenses/gpl-3.0.html
Public: Yes
Description:
Spawns a (motorized) patrol at nearest sector of given position. Random sector if no position is given.
Destination of the patrol will be nearest enemy sector.
Parameter(s):
_spawnPos - Position look for nearest sector to spawn patrol from. If empty, random sector selection [ARRAY, defaults to []]
_motorized - Bool to select if the patrol should be motorized [BOOL, defaults to false]
_unitCount - Amount of infantry units, when not motorized [NUMBER, defaults to 4]
Returns:
Spawned patrol [GROUP]
*/
params [
["_spawnPos", [], [[]]],
["_motorized", false, [false]],
["_unitCount", 4, [0]]
];
// Only inactive opfor sectors
private _sectors = (KPLIB_sectors_all - KPLIB_sectors_blufor - KPLIB_sectors_active);
private _patrolSectors = [];
private _grp = grpNull;
private _veh = objNull;
// Get random sector, when no position given. Otherwise get nearest sector
if (_spawnPos isEqualTo []) then {
_patrolSectors pushBack (_sectors deleteAt (floor random count _sectors));
} else {
_patrolSectors pushBack ([1200, _spawnPos, _sectors] call KPLIB_fnc_core_getNearestMarker);
_sectors = _sectors - _patrolSectors;
};
// Exit if no sector was found
if ((_patrolSectors select 0) isEqualTo "") exitWith {
private _text = format ["Spawn patrol couldn't find a sector within 1200m distance of given position: %1", _spawnPos];
[_text, "ENEMY"] call KPLIB_fnc_common_log
};
// Fetch some nearby patrol sectors
_patrolSectors append ((_sectors select {((getMarkerPos (_patrolSectors select 0)) distance2D (getMarkerPos _x)) < 2000}) call BIS_fnc_arrayShuffle);
// Exit if sector is too far away from other sectors for a patrol route
if ((count _patrolSectors) < 2) exitWith {
private _text = format ["Spawn patrol couldn't find sectors within 2000m distance for patrol from sector: %1 (%2)", markerText (_patrolSectors select 0), _patrolSectors select 0];
[_text, "ENEMY"] call KPLIB_fnc_common_log
};
// Take a maximum of 4 sectors
if ((count _patrolSectors) > 4) then {_patrolSectors resize 4;};
// Spawn infantry or motorized patrol
if (_motorized) then {
// Get spawnpos on road
_spawnPos = [getMarkerPos (_patrolSectors select 0)] call KPLIB_fnc_garrison_getVehSpawnPos;
// Spawn vehicle with crew
_veh = [selectRandom (["vehLightArmed", KPLIB_preset_sideE, true] call KPLIB_fnc_common_getPresetClass), _spawnPos, random 360, false, true] call KPLIB_fnc_common_createVehicle;
_grp = group ((crew _veh) select 0);
} else {
// Get spawn und destination pos in vicinity of sector
_spawnPos = (getMarkerPos (_patrolSectors select 0)) getPos [random 100, random 360];
// Gather infantry classnames
private _soldierArray = [] call KPLIB_fnc_common_getSoldierArray;
private _units = [];
for "_i" from 1 to _unitCount do {
_units pushBack (selectRandom _soldierArray);
};
// Create group
_grp = [_units, _spawnPos] call KPLIB_fnc_common_createGroup;
};
// Set waypoints
private _waypoint = [];
{
if (_forEachIndex > 0) then {
_waypoint = _grp addWaypoint [getMarkerPos _x, 50];
_waypoint setWaypointType "MOVE";
_waypoint setWaypointSpeed "LIMITED";
_waypoint setWaypointBehaviour "SAFE";
_waypoint setWaypointCombatMode "YELLOW";
_waypoint setWaypointCompletionRadius 30;
};
} forEach _patrolSectors;
// Add cycle waypoint at spawnpoint
_waypoint = _grp addWaypoint [_spawnPos, 0];
_waypoint setWaypointType "CYCLE";
_waypoint setWaypointCompletionRadius 30;
// Add group to patrols array
KPLIB_enemy_patrols pushBack _grp;
// !DEBUG! Add patrol to Zeus
if (KPLIB_param_enemyDebug) then {
{
_x addCuratorEditableObjects [(units _grp) + [_veh], true];
} forEach allCurators;
};
_grp

View File

@ -4,7 +4,7 @@
File: fn_enemy_strengthInc.sqf
Author: KP Liberation Dev Team - https://github.com/KillahPotatoes
Date: 2019-02-18
Last Update: 2019-04-23
Last Update: 2019-06-15
License: GNU General Public License v3.0 - https://www.gnu.org/licenses/gpl-3.0.html
Public: No
@ -19,15 +19,15 @@
*/
// Increase strength by remaining enemy military bases
private _increase = (count (KPLIB_sectors_military select {!(_x in KPLIB_sectors_blufor)})) * 10;
private _increase = (count (KPLIB_sectors_military - KPLIB_sectors_blufor)) * 10;
[_increase] call KPLIB_fnc_enemy_addStrength;
// Enforce cap for strength
if (KPLIB_enemy_strength > 1000) then {
KPLIB_enemy_strength = 1000;
if (KPLIB_param_debug) then {["Strength reached cap of 1000", "ENEMY"] call KPLIB_fnc_common_log;};
if (KPLIB_param_enemyDebug) then {["Strength reached cap of 1000", "ENEMY"] call KPLIB_fnc_common_log;};
} else {
if (KPLIB_param_debug) then {[format ["Strength increased from %1 to %2", KPLIB_enemy_strength - _increase, KPLIB_enemy_strength], "ENEMY"] call KPLIB_fnc_common_log;};
if (KPLIB_param_enemyDebug) then {[format ["Strength increased from %1 to %2", KPLIB_enemy_strength - _increase, KPLIB_enemy_strength], "ENEMY"] call KPLIB_fnc_common_log;};
};
// Schedule the next call

View File

@ -4,7 +4,7 @@
File: fn_enemy_transferGarrison.sqf
Author: KP Liberation Dev Team - https://github.com/KillahPotatoes
Date: 2019-02-18
Last Update: 2019-04-23
Last Update: 2019-06-15
License: GNU General Public License v3.0 - https://www.gnu.org/licenses/gpl-3.0.html
Public: Yes
@ -40,7 +40,7 @@ if (_origin isEqualTo "" || _destination isEqualTo "") exitWith {[]};
// Exit, if origin sector is currently active
if (_origin in KPLIB_garrison_active) exitWith {[]};
if (KPLIB_param_debug) then {[format ["Transferring garrison from %1 (%2) to %3 (%4) with [%5, %6]", markerText _origin, _origin, markerText _destination, _destination, _troops, _vehicleClasses], "ENEMY"] call KPLIB_fnc_common_log;};
if (KPLIB_param_enemyDebug) then {[format ["Transferring garrison from %1 (%2) to %3 (%4) with [%5, %6]", markerText _origin, _origin, markerText _destination, _destination, _troops, _vehicleClasses], "ENEMY"] call KPLIB_fnc_common_log;};
["KPLIB_transferConvoy_start", [_origin, _destination]] call CBA_fnc_localEvent;
@ -122,7 +122,7 @@ if !(_troops > (_garrison select 2)) then {
} forEach allCurators;
};
} else {
if (KPLIB_param_debug) then {[format ["%1 exceeds garrison strength of %2 (%3) for transfer", _troops, markerText _origin, _origin], "ENEMY"] call KPLIB_fnc_common_log;};
if (KPLIB_param_enemyDebug) then {[format ["%1 exceeds garrison strength of %2 (%3) for transfer", _troops, markerText _origin, _origin], "ENEMY"] call KPLIB_fnc_common_log;};
};
// Handle requested vehicles
@ -137,7 +137,7 @@ if !(_troops > (_garrison select 2)) then {
private _spawnData = [markerPos _origin] call _getPosDir;
_vehicles pushBack ([_x, _spawnData select 0, _spawnData select 1, false, true] call KPLIB_fnc_common_createVehicle);
} else {
if (KPLIB_param_debug) then {[format ["%1 not available at garrison of %2 (%3)", _x, markerText _origin, _origin], "ENEMY"] call KPLIB_fnc_common_log;};
if (KPLIB_param_enemyDebug) then {[format ["%1 not available at garrison of %2 (%3)", _x, markerText _origin, _origin], "ENEMY"] call KPLIB_fnc_common_log;};
};
} forEach _vehicleClasses;

View File

@ -4,7 +4,7 @@
File: functions.hpp
Author: KP Liberation Dev Team - https://github.com/KillahPotatoes
Date: 2019-02-02
Last Update: 2019-02-24
Last Update: 2019-06-08
License: GNU General Public License v3.0 - https://www.gnu.org/licenses/gpl-3.0.html
Description:
@ -20,6 +20,11 @@ class enemy {
// Add/Remove strength amount
class enemy_addStrength {};
// Enemy commander FSM for decision making
class enemy_commanderLogic {
ext = ".fsm";
};
// Get valid transport vehicle for given amount of soldiers
class enemy_getTransportClasses {};
@ -57,6 +62,9 @@ class enemy {
// CBA Settings for this module
class enemy_settings {};
// Spawns an enemy patrol
class enemy_spawnPatrol {};
// Strength increase event function
class enemy_strengthInc {};

View File

@ -1,14 +1,118 @@
# KP Liberation Module Description
## Example Module
This is an example module description.
Used as template for new modules. Make sure to replace the `example` everywhere accordingly.
## Cratefiller Module
This module provides the cratefiller functionalities from the original [KP Cratefiller](https://github.com/KillahPotatoes/dubjunks-scripts) by Dubjunk.
It provides a dialog with the ability to manage several inventories.
### Dependencies
* None
* Common
* Permission
* Logistic
### Consumed events
**KPLIB_arsenal_newLists** (server side)
Calls KPLIB_fnc_cratefiller_presets to process the new white- and blacklist
### Functions
* KPLIB_fnc_cratefiller_addEquipment
*Adds the given amount of the selected item to the inventory.*
* KPLIB_fnc_cratefiller_createEquipmentList
*Changes the shown equipment category.*
* KPLIB_fnc_cratefiller_createSubList
*Creates a list with valueable magazines or attachments.*
* KPLIB_fnc_cratefiller_deletePreset
*Deletes the selected preset.*
* KPLIB_fnc_cratefiller_export
*Exports the active inventory.*
* KPLIB_fnc_cratefiller_getConfigPath
*Gets the config path / type of the given classname.*
* KPLIB_fnc_cratefiller_getGroups
*Gets all player groups.*
* KPLIB_fnc_cratefiller_getInventory
*Gets all inventory items of the storage.*
* KPLIB_fnc_cratefiller_getNearStorages
*Scans the fob for possible storages.*
* KPLIB_fnc_cratefiller_getPlayerInventory
*Gets all weapons of the selected player.*
* KPLIB_fnc_cratefiller_getPlayers
*Gets all players from the selected group.*
* KPLIB_fnc_cratefiller_getStorage
*Returns the active storage.*
* KPLIB_fnc_cratefiller_import
*Imports the selected inventory.*
* KPLIB_fnc_cratefiller_openDialog
*Opens the cratefiller dialog.*
* KPLIB_fnc_cratefiller_postInit
*Module post initialization.*
* KPLIB_fnc_cratefiller_preInit
*Module pre initialization.*
* KPLIB_fnc_cratefiller_presets
*Creates the different categories of the whitelisted items.*
* KPLIB_fnc_cratefiller_removeEquipment
*Removes the given amount of the selected item from the storage.*
* KPLIB_fnc_cratefiller_search
*Search for a weapon with the name entered in the search bar.*
* KPLIB_fnc_cratefiller_setInventory
*Adds the items to the active storage.*
* KPLIB_fnc_cratefiller_settings
*CBA Settings initialization for this module.*
* KPLIB_fnc_cratefiller_showInventory
*Displays the items of the active storage.*
* KPLIB_fnc_cratefiller_showOverview
*Shows the cratefiller overview display.*
* KPLIB_fnc_cratefiller_showPresets
*Reads all saved presets and lists them.*
* KPLIB_fnc_cratefiller_sortList
*Sorts the displaynames of the given item array.*
### Scripts
No scripts will be started by this module

View File

@ -30,6 +30,23 @@ if (isServer) then {
"GroupLogistics"
] call KPLIB_fnc_permission_addPermissionHandler;
// Cratefiller logistic menu
[
"Cratefiller",
{
if (["Cratefiller"] call KPLIB_fnc_permission_checkPermission && KPLIB_param_cratefiller) then {
closeDialog 0;
[] call KPLIB_fnc_cratefiller_openDialog;
} else {
[
["a3\3den\data\controlsgroups\tutorial\close_ca.paa", 1, [1,0,0]],
[[localize "STR_KPLIB_HINT_NOCRATEFILLER", localize "STR_KPLIB_HINT_NOPERMISSION"] select KPLIB_param_cratefiller]
] call CBA_fnc_notify;
};
},
"STR_KPLIB_LOGISTIC_CRATEFILLER"
] call KPLIB_fnc_logistic_addMenu;
// create cratefiller presets on startup
[] call KPLIB_fnc_cratefiller_presets;
};

View File

@ -1,7 +1,7 @@
/*
KPLIB_fnc_example_preInit
KPLIB_fnc_cratefiller_preInit
File: fn_example_preInit.sqf
File: fn_cratefiller_preInit.sqf
Author: KP Liberation Dev Team - https://github.com/KillahPotatoes
Date: 2019-02-02
Last Update: 2019-06-21
@ -24,6 +24,9 @@ if (isServer) then {
// Register arsenal filled event handler
["KPLIB_arsenal_newLists", {[] call KPLIB_fnc_cratefiller_presets;}] call CBA_fnc_addEventHandler;
// Register arsenal filled event handler
["KPLIB_arsenal_newLists", {[] call KPLIB_fnc_cratefiller_presets;}] call CBA_fnc_addEventHandler;
KPLIB_cratefiller_data = true call CBA_fnc_createNamespace;
publicVariable "KPLIB_cratefiller_data";

View File

@ -4,12 +4,12 @@
File: fn_cratefiller_settings.sqf
Author: KP Liberation Dev Team - https://github.com/KillahPotatoes
Date: 2019-04-05
Last Update: 2019-05-04
Last Update: 2019-05-19
License: GNU General Public License v3.0 - https://www.gnu.org/licenses/gpl-3.0.html
Public: No
Description:
CBA Settings initialization for this module
CBA Settings initialization for this module.
Parameter(s):
NONE

View File

@ -16,12 +16,12 @@ The different categories are listed below.
### Core Modules
Modules which are vital for the mission to run properly. All of these modules need to be loaded to ensure the general functionalities of the mission.
```
00 init
01 common
02 core
03 persistence
04 respawn
05 admin menu
00 Init
01 Common
02 Core
03 Persistence
04 Respawn
05 Admin menu
```
### Basic Modules
These modules provide the basic CTI gameplay experience and should therefore also be loaded completely. The mission should be able to work without the modules (respecting possible dependencies) but would lack most of the essential content.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

View File

@ -28,7 +28,7 @@
Localization contributors:
English | Updated: 2019-04-27
English | Updated: 2019-06-15
KP Liberation Dev Team - https://github.com/KillahPotatoes
Chinese Simplified | Updated: pre 0.97
@ -41,7 +41,7 @@
French | Updated: pre 0.97
zbug - https://github.com/GreuhZbug
German | Updated: 2019-04-27
German | Updated: 2019-06-15
Dubjunk - https://github.com/Dubjunk
Wyqer - https://github.com/Wyqer
@ -1375,6 +1375,21 @@
<German>ACE Arsenal</German>
</Key>
<!-- ENEMY CATEGORY -->
<Key ID="STR_KPLIB_SETTINGS_ENEMY">
<English>KPLIB - Enemy Commander</English>
<German>KPLIB - Feindlicher Kommandant</German>
</Key>
<Key ID="STR_KPLIB_SETTINGS_ENEMY_DEBUG">
<English>Enable Debug Mode</English>
<Chinese>啟動除錯模式</Chinese>
<German>Debug Modus aktivieren</German>
</Key>
<Key ID="STR_KPLIB_SETTINGS_ENEMY_DEBUG_TT">
<English>Enables/Disables debug mode for this module.</English>
<German>Aktiviert/Deaktiviert den Debug Modus dieses Moduls.</German>
</Key>
<!-- GENERAL CATEGORY -->
<Key ID="STR_KPLIB_SETTINGS_GENERAL">
<English>KPLIB - General</English>
@ -1864,7 +1879,7 @@
<English>Enable cratefiller equipment overview</English>
<German>Kistenfüller Ausrüstungsübersicht aktivieren</German>
</Key>
<Key ID="STR_KPLIB_SETTINGS_CRATEFILLER_ACTIVATEROOLS_TT">
<Key ID="STR_KPLIB_SETTINGS_CRATEFILLER_ACTIVATEOVERVIEW_TT">
<English>Enables/Disables the Liberation cratefiller equipment overview.</English>
<German>Aktiviert/Deaktiviert die Liberation Kistenfüller Ausrüstungsübersicht.</German>
</Key>