Author: hercx
Author Website:

Requirements: No addons required

Version: 0.1

Short description: Task creation and management multi-player

Date: 2014-07-04 08:31

Comments: (0)


Hercx Task System


This is the first public release of my task system, it was designed by me for use in SPV's multiplayer missions.The system was built
specifically for ArmA 3 taking advantage of all the new scripting commands available in ArmA 3. the system is currently active in two of
our multiplayer missions a completely rewritten version of Operation Broadsword and a Addons mission Operation Chernarus. In both of these
missions the system works perfectly.

The systems creation came about out of the lack of an easy way to create tasks in a multiplayer game, and keep them in sync to all players
this system takes care of all of this for you. the system also has many features that were as far as I knew unavailable to mission creators

As with any new system there may be some as yet undiscovered bugs, however the system has been as thoroughly tested as possible. It is my hope
that by releasing it for public use this will help prove how robust it is.

I hope you enjoy this release and make good use of it.

Task Creation for:
A single side
Multiple Sides with ability to set win loose for each one
A single or multiple group, with win loose handling for each
A single player or players
customisable messages for task
customisable messages for win/loose states
choose to show task marker or not
Full JIP compatability with legacy tasks

Installation / Usage:
To install this task system simply take the Hercx_taskSystem folder and add it to your missions main directory.
then add the code from the included description.ext and init.sqf files to yours editing where appropriate. If your
mission does not contain these files simply create them and add the code.

Example of proper use of this function:
_taskNumber = [_taskName,_taskPosition,_taskDestinationMarker,_taskMarkerText,_taskSide,_taskTitle,_taskDescription,_taskNotificationText] call Hercx_fnc_taskCreate;
waitUntil {_taskNumber != 0;};

Return Type for this Function is a INT/SCALAR this is the number of the task and it must be used when calling the function Hercx_fnc_taskOutcome so that the outcome of the task can be assigned to the correct task.

Required Arguments from user are:
_taskName - (STRING this is the namespace variable assigned to the task)
_taskPosition -(Marker name as a STRING or position as a 3D or 2D position ARRAY)
_taskDestinationMarker - (BOOL this sets whether the task is marked on the Map or not true for shown false for not shown)
_taskMarkerText - (STRING defines what the marker text will be on the map and if task is set to current task)
_taskSide - (this can be a single SIDE e.g. west or an ARRAY of SIDE's e.g. [west,east] or it can be a GROUP e.g. [alpha1-1,alpha2-1] or it can be a player e.g. [player] as this function must be used on server passing a player object will work for assinging to a player aswell)
_taskTitle - (STRING variable keep it as short as possible as these don't get much room on the task tab in the map)
_taskDescription - (STRING this can be pretty much as long as you like just use it to describe your task)
_taskNotificationText - (STRING keep this short as the size of the popup notification window is small and as such large text just doesn't work)

Arguments that MUST NOT BE MODIFIED are :

Example of proper use of this function:
[_taskNumber,_winningSide] spawn Hercx_fnc_taskOutcome;

With optional arguments:
[_taskNumber,_winningSide,_taskNotificationTextSucceed,_taskNotificationTextFailed] spawn Hercx_fnc_taskOutcome;

This fuction takes multiple arguments and some may be undefined by the user as there are default values set for these and they are intergral to the functionality of the system, modification of them may cause unpredictable behaviour.

Required Arguments from user are:
_taskNumber - ("SCALAR" this is the task number returned by the function Hercx_fnc_taskCreate)
_winningSide - ("SIDE","ARRAY","OBJECT" this must be a side or an array of sides or an array of "GROUP" type it can also be a player object for a task assigned to a single player)

for a task assigned to a single player that they have failed pass an object of any other kind and this will trigger the fail condition.

Optional Arguments:
_taskNotificationTextSucceed - ("STRING" if this is set the popup notification default value will be overridden and show your custom message)
_taskNotificationTextFailed - ("STRING" if this is set the popup notification default value will be overridden and show your custom message)

Arguments that MUST NOT BE MODIFIED are :

Known issues:
Known issue task for JIP player notification may close before mission load complete if mission has cut scene intro

Credits & Thanks:
Thanks to BI for releasing this amazing game
To my Team SPV Septem Pro Vita for their support
To the ArmA community for all their great work

Change log:
- Initial release

Forum topic:
- BI forums

Enable javascript to be able to download from Armaholic please!

Tags: Task,   Task System