Initial upload. Not currently functional as a mod. Includes some slightly refactored source code as well as the original mission this was debuted in zipped up as reference + example of usage.

This commit is contained in:
Clarky committed 2026-08-08 17:42:15 +10:00
commit 75b737230e
32 files changed
+2049

No files matched your search

+93
View File
@@ -0,0 +1,93 @@
/*
Author: Clarky
Usage:
[
"CLF_fnc_VehicleUnloaded",
[_target, _caller, _depot]
] call CBA_fnc_serverEvent;
Intended to be run by an event handler call from a vehicle unload action from a player on a valid supply vehicle
*/
params ["_vehicle", "_player", "_depot"];
if (!isServer) exitWith {};
if (isNull _vehicle) exitWith {hint "Vehicle ain't exist";};
if (isNull _player) exitWith {hint "Player ain't exist";};
if (isNull _depot) exitWith {hint "Depot ain't exist";};
if !(_vehicle getVariable ["isSupplyVehicle", false]) exitWith {hint "Vehicle ain't supply vehicle";};
private _vehicleCurrent =
_vehicle getVariable ["currentMateriel", 0];
private _transferRate =
_vehicle getVariable ["transferRate", 50];
private _depotCurrent =
_depot getVariable ["currentMateriel", 0];
private _depotMax =
_depot getVariable ["maxMateriel", 300];
private _freeSpace =
_depotMax - _depotCurrent;
if (_freeSpace <= 0) exitWith {
[
"CLF_ShowMessage",
[
1,
0,
"Depot is already full."
],
_player
] call CBA_fnc_targetEvent;
};
if (_vehicleCurrent <= 0) exitWith {
[
"CLF_ShowMessage",
[
2,
0,
"Vehicle has no materiel available."
],
_player
] call CBA_fnc_targetEvent;
};
private _amount =
(_transferRate min _freeSpace)
min _vehicleCurrent;
_vehicle setVariable [
"currentMateriel",
_vehicleCurrent - _amount,
true
];
_depot setVariable [
"currentMateriel",
_depotCurrent + _amount,
true
];
[
"CLF_ShowMessage",
[
0,
0,
format [
"Unloaded %1 materiel. Depot now contains %2/%3.",
_amount,
_depot getVariable ["currentMateriel",0],
_depotMax
]
],
_player
] call CBA_fnc_targetEvent;