#include "..\script_component.hpp" /* * Author: IDSolutions * Assigns cargo to a task for delivery * * Arguments: * 0: Object to convert to delivery cargo * 1: Task ID to assign the cargo to * * Return Value: * None * * Example: * [_cargoObject, "delivery_1"] call forge_server_task_fnc_makeCargo; * * Public: Yes */ params [["_cargo", objNull, [objNull]], ["_taskID", "", [""]]]; ["INFO", format ["Make Cargo: %1", _this]] call EFUNC(common,log); if (isNull _cargo) exitWith { ["ERROR", "Attempt to create cargo from null object"] call EFUNC(common,log); }; if (_taskID == "") exitWith { ["ERROR", "No task ID provided for cargo"] call EFUNC(common,log); }; SETPVAR(_cargo,assignedTask,_taskID); GVAR(TaskStore) call ["registerTaskEntity", ["cargo", _taskID, _cargo]]; _cargo addEventHandler ["Dammaged", { params ["_unit", "_hitSelection", "_damage", "_hitPartIndex", "_hitPoint", "_shooter", "_projectile"]; if (damage _unit >= 0.7) then { private _taskID = GETVAR(_unit,assignedTask,""); if (_taskID isEqualTo "") exitWith {}; if (_unit getVariable [QGVAR(cargoDamageWarned), false]) exitWith {}; _unit setVariable [QGVAR(cargoDamageWarned), true]; GVAR(TaskStore) call ["notifyParticipants", [_taskID, "warning", "Tasks", format ["Cargo for task %1 has been severely damaged.", _taskID]]]; }; }];