Banner Image

Module Tasking.Task

Tasking -- A task object governs the main engine to administer human taskings.

Features:

  • A base class for other task classes filling in the details and making a concrete task process.
  • Manage the overall task execution, following-up the progression made by the pilots and actors.
  • Provide a mechanism to set a task status, depending on the progress made within the task.
  • Manage a task briefing.
  • Manage the players executing the task.
  • Manage the task menu system.
  • Manage the task goal and scoring.

1) Tasking from a player perspective.

Tasking can be controlled by using the "other" menu in the radio menu of the player group.

Other Menu

1.1) Command Centers govern multiple Missions.

Depending on the tactical situation, your coalition may have one (or multiple) command center(s). These command centers govern one (or multiple) mission(s).

For each command center, there will be a separate Command Center Menu that focuses on the missions governed by that command center.

Command Center

In the above example menu structure, there is one command center with the name [Lima]. The command center has one Tasking.Mission, named "Overlord" with High priority.

1.2) Missions govern multiple Tasks.

A mission has a mission goal to be achieved by the players within the coalition. The mission goal is actually dependent on the tactical situation of the overall battlefield and the conditions set to achieve the goal. So a mission can be much more than just shoot stuff ... It can be a combination of different conditions or events to complete a mission goal.

A mission can be in a specific state during the simulation run. For more information about these states, please check the Tasking.Mission section.

To achieve the mission goal, a mission administers Tasking.Tasks that are set to achieve the mission goal by the human players. Each of these tasks can be dynamically created using a task dispatcher, or coded by the mission designer. Each mission has a separate Mission Menu, that focuses on the administration of these tasks.

On top, a mission has a mission briefing, can help to allocate specific points of interest on the map, and provides various reports.

Mission

The above shows a mission menu in detail of "Overlord".

The two other menus are related to task assignment. Which will be detailed later.

1.2.1) Mission briefing.

The task briefing will show a message containing a description of the mission goal, and other tactical information.

Mission

1.2.2) Mission Map Locations.

Various points of interest as part of the mission can be indicated on the map using the Mark Task Locations on Map menu. As a result, the map will contain various points of interest for the player (group).

Mission

1.2.3) Mission Task Reports.

Various reports can be generated on the status of each task governed within the mission.

Mission

The Task Overview Report will show each task, with its task status and a short coordinate information.

Mission

The other Task Menus will show for each task more details, for example here the planned tasks report. Note that the order of the tasks are shortest distance first to the unit position seated by the player.

1.2.4) Mission Statistics.

Various statistics can be displayed regarding the mission.

Mission

A statistic report on the progress of the mission. Each task achievement will increase the %-tage to 100% as a goal to complete the task.

1.3) Join a Task.

The mission menu contains a very important option, that is to join a task governed within the mission. In order to join a task, select the Join Planned Task menu, and a new menu will be given.

Mission

A mission governs multiple tasks, as explained earlier. Each task is of a certain task type. This task type was introduced to have some sort of task classification system in place for the player. A short acronym is shown that indicates the task type. The meaning of each acronym can be found in the task types explanation.

Mission

When the player selects a task type, a list of the available tasks of that type are listed... In this case the SEAD task type was selected and a list of available SEAD tasks can be selected.

Mission

A new list of menu options are now displayed that allow to join the task selected, but also to obtain first some more information on the task.

1.3.1) Report Task Details.

Mission

When selected, a message is displayed that shows detailed information on the task, like the coordinate, enemy target information, threat level etc.

1.3.2) Mark Task Location on Map.

Mission

When selected, the target location on the map is indicated with specific information on the task.

1.3.3) Join Task.

Mission

By joining a task, the player will indicate that the task is assigned to him, and the task is started. The Command Center will communicate several task details to the player and the coalition of the player.

1.4) Task Control and Actions.

Mission

When a player has joined a task, a Task Action Menu is available to be used by the player.

Mission

The task action menu contains now menu items specific to the task, but also one generic menu item, which is to control the task. This Task Control Menu allows to display again the task details and the task map location information. But it also allows to abort a task!

Depending on the task type, the task action menu can contain more menu items which are specific to the task. For example, cargo transportation tasks will contain various additional menu items to select relevant cargo coordinates, or to load/unload cargo.

1.5) Automatic task assignment.

Command Center

When we take back the command center menu, you see two addtional Assign Task menu items. The menu Assign Task On will automatically allocate a task to the player. After the selection of this menu, the menu will change into Assign Task Off, and will need to be selected again by the player to switch of the automatic task assignment.

The other option is to select Assign Task, which will assign a new random task to the player.

When a task is automatically assigned to a player, the task needs to be confirmed as accepted within 30 seconds. If this is not the case, the task will be cancelled automatically, and a new random task will be assigned to the player. This will continue to happen until the player accepts the task or switches off the automatic task assignment process.

The player can accept the task using the menu Confirm Task Acceptance ...

1.6) Task states.

A task has a state, reflecting the progress or completion status of the task:

  • Planned: Expresses that the task is created, but not yet in execution and is not assigned yet to a pilot.
  • Assigned: Expresses that the task is assigned to a group of pilots, and that the task is in execution mode.
  • Success: Expresses the successful execution and finalization of the task.
  • Failed: Expresses the failure of a task.
  • Abort: Expresses that the task is aborted by by the player using the abort menu.
  • Cancelled: Expresses that the task is cancelled by HQ or through a logical situation where a cancellation of the task is required.

1.6.1) Task progress.

The task governor takes care of the progress and completion of the task goal(s). Tasks are executed by human pilots and actors within a DCS simulation. Pilots can use a menu system to engage or abort a task, and provides means to understand the task briefing and goals, and the relevant task locations on the map and obtain various reports related to the task.

1.6.2) Task completion.

As the task progresses, the task status will change over time, from Planned state to Completed state. Multiple pilots can execute the same task, as such, the tasking system provides a co-operative model for joint task execution. Depending on the task progress, a scoring can be allocated to award pilots of the achievements made. The scoring is fully flexible, and different levels of awarding can be provided depending on the task type and complexity.

A normal flow of task status would evolve from the Planned state, to the Assigned state ending either in a Success or a Failed state.

 Planned -> Assigned -> Success
                     -> Failed
                     -> Cancelled

The state completion is by default set to Success, if the goals of the task have been reached, but can be overruled by a goal method.

Depending on the tactical situation, a task can be Cancelled by the mission governer. It is actually the mission designer who has the flexibility to decide at which conditions a task would be set to Success, Failed or Cancelled. This decision all depends on the task goals, and the phase/evolution of the task conditions that would accomplish the goals.

For example, if the task goal is to merely destroy a target, and the target is mid-mission destroyed by another event than the pilot destroying the target, the task goal could be set to Failed, or .. Cancelled ... However, it could very well be also acceptable that the task would be flagged as Success.

The tasking mechanism governs beside the progress also a scoring mechanism, and in case of goal completion without any active pilot involved in the execution of the task, could result in a Success task completion status, but no score would be awared, as there were no players involved.

These different completion states are important for the mission designer to reflect scoring to a player. A success could mean a positive score to be given, while a failure could mean a negative score or penalties to be awarded.


Author: FlightControl

Contributions:


Global(s)

Global TASK

Governs the main engine to administer human taskings.

#TASK TASK

Governs the main engine to administer human taskings.

A task is governed by a Tasking.Mission object. Tasks are of different types. The #TASK object is used or derived by more detailed tasking classes that will implement the task execution mechanisms and goals.

1) Derived task classes.

The following TASK_ classes are derived from #TASK.

 TASK
   TASK_A2A
     TASK_A2A_ENGAGE
     TASK_A2A_INTERCEPT
     TASK_A2A_SWEEP
   TASK_A2G
     TASK_A2G_SEAD
     TASK_A2G_CAS
     TASK_A2G_BAI
   TASK_CARGO
     TASK_CARGO_TRANSPORT
     TASK_CARGO_CSAR

1.1) A2A Tasks

1.2) A2G Tasks

1.3) Cargo Tasks

2) Task status events.

The task statuses can be set by using the following methods:

  • TASK.Success() - Set the task to Success state.
  • TASK.Fail() - Set the task to Failed state.
  • TASK.Hold() - Set the task to Hold state.
  • TASK.Abort() - Set the task to Aborted state, aborting the task. The task may be replanned.
  • TASK.Cancel() - Set the task to Cancelled state, cancelling the task.

The mentioned derived TASK_ classes are implementing the task status transitions out of the box. So no extra logic needs to be written.

3) Goal conditions for a task.

Every 30 seconds, a Task.Goal trigger method is fired. You as a mission designer, can capture the Goal event trigger to check your own task goal conditions and take action!

3.1) Goal event handler OnAfterGoal().

And this is a really great feature! Imagine a task which has several conditions to check before the task can move into Success state. You can do this with the OnAfterGoal method.

The following code provides an example of such a goal condition check implementation.

 function Task:OnAfterGoal()
   if condition == true then
     self:Success() -- This will flag the task to Succcess when the condition is true.
   else
     if condition2 == true and condition3 == true then
       self:Fail() -- This will flag the task to Failed, when condition2 and condition3 would be true.
     end
   end
 end

So the TASK.OnAfterGoal() event handler would be called every 30 seconds automatically, and within this method, you can now check the conditions and take respective action.

3.2) Goal event trigger Goal().

If you would need to check a goal at your own defined event timing, then just call the TASK.Goal() method within your logic. The TASK.OnAfterGoal() event handler would then directly be called and would execute the logic. Note that you can also delay the goal check by using the delayed event trigger syntax :__Goal( Delay ).

4) Score task completion.

Upon reaching a certain task status in a task, additional scoring can be given. If the Mission has a scoring system attached, the scores will be added to the mission scoring. Use the method TASK.AddScore() to add scores when a status is reached.

5) Task briefing.

A task briefing is a text that is shown to the player when he is assigned to the task. The briefing is broadcasted by the command center owning the mission.

The briefing is part of the parameters in the TASK.New() constructor, but can separately be modified later in your mission using the TASK.SetBriefing() method.

Type(s)

TASK , extends Core.Fsm#FSM_TASK , extends #FSM
Fields and Methods inherited from TASK Description

TASK:Abort()

FSM Abort synchronous event function for TASK.

TASK:AbortGroup(PlayerGroup)

A group aborting the task.

TASK:AddGroups(GroupSet)

Gets the SET_GROUP assigned to the TASK.

TASK:AddProgress(PlayerName, ProgressText, ProgressTime, ProgressPoints)

Add Task Progress for a Player Name

TASK:AssignToGroup(TaskGroup)

Assign the Task to a Wrapper.Group.

TASK:AssignToUnit(TaskUnit)

Assign the Task to an alive Wrapper.Unit.

TASK:Cancel()

FSM Cancel synchronous event function for TASK.

TASK:ClearGroupAssignment(TaskGroup)

Clear the Wrapper.Group assignment from the Task.

TASK.CommandCenter

TASK:CrashGroup(PlayerGroup)

A group crashing and thus aborting from the task.

TASK.DetectedItem

TASK.Detection

TASK.Dispatcher

TASK:Fail()

FSM Fail synchronous event function for TASK.

TASK:FailProcesses(TaskUnitName)

TASK.FlashTaskScheduleID

TASK.FlashTaskScheduler

TASK.FlashTaskStatus

TASK.FsmTemplate

TASK:GetBriefing()

Gets the Task briefing.

TASK:GetGoal()

Get goal of a task

TASK:GetGroups()

Gets the SET_GROUP assigned to the TASK.

TASK:GetID()

Gets the ID of the Task

TASK:GetMission()

Gets the Mission to where the TASK belongs.

TASK:GetName()

Gets the Name of the Task

TASK:GetPlayerCount()

Create a count of the players in the Task.

TASK:GetPlayerNames()

Create a list of the players in the Task.

TASK:GetPlayerProgress(PlayerName)

TASK:GetProcessTemplate(ProcessName)

Get the default or currently assigned Process template with key ProcessName.

TASK:GetScoring()

Gets the Scoring of the task

TASK:GetStateMachine(TaskUnit)

Gets the FiniteStateMachine of Task with key TaskWrapper.Unit

TASK:GetStateString()

Gets the Task status.

TASK:GetTaskBriefing()

Returns the Task briefing.

TASK:GetTaskControlMenu(TaskUnit, TaskName)

Get Task Control Menu

TASK:GetTaskIndex()

Gets the Task Index, which is a combination of the Task type, the Task name.

TASK:GetTaskName()

Returns the Task name.

TASK:GetType()

Gets the Type of the Task

TASK:GetUnitProcess(TaskUnit)

Get the Task FSM Process Template

TASK:Goal(PlayerUnit, PlayerName)

Goal Trigger for TASK

TASK:HasAliveUnits()

Returns if the Task has still alive and assigned Units.

TASK:HasGroup(FindGroup)

TASK:HasStateMachine(TaskUnit)

Checks if there is a FiniteStateMachine assigned to TaskWrapper.Unit for Task

TASK:InitTaskControlMenu(TaskUnit)

Init Task Control Menu

TASK:IsGroupAssigned(TaskGroup)

Returns if the Task is assigned to the Group.

TASK:IsStateAborted()

Is the Task status Aborted.

TASK:IsStateAssigned()

Is the Task status Assigned.

TASK:IsStateCancelled()

Is the Task status Cancelled.

TASK:IsStateFailed()

Is the Task status Failed.

TASK:IsStateHold()

Is the Task status Hold.

TASK:IsStatePlanned()

Is the Task status Planned.

TASK:IsStateReplanned()

Is the Task status Replanned.

TASK:IsStateSuccess()

Is the Task status Success.

TASK:JoinUnit(PlayerUnit, PlayerGroup)

Add a PlayerUnit to join the Task.

TASK:MenuAssignToGroup(TaskGroup)

TASK.MenuAssigned

TASK:MenuFlashTaskStatus(TaskGroup, Flash)

Report the task status.

TASK:MenuMarkToGroup(TaskGroup)

TASK.MenuPlanned

TASK:MenuTaskAbort(TaskGroup)

Report the task status.

TASK:MenuTaskStatus(TaskGroup)

Report the task status.

TASK:MessageToGroups(Message)

Send a message of the Task to the assigned Wrapper.Groups.

TASK.Mission

TASK:New(Mission, SetGroupAssign, TaskName, TaskType, TaskBriefing)

Instantiates a new TASK.

TASK:OnAfterGoal(From, Event, To, PlayerUnit, PlayerName)

Goal Handler OnAfter for TASK

TASK:OnAfterPlayerAborted(PlayerUnit, PlayerName)

FSM PlayerAborted event handler prototype for TASK.

TASK:OnAfterPlayerCrashed(PlayerUnit, PlayerName)

FSM PlayerCrashed event handler prototype for TASK.

TASK:OnAfterPlayerDead(PlayerUnit, PlayerName)

FSM PlayerDead event handler prototype for TASK.

TASK:OnBeforeGoal(From, Event, To, PlayerUnit, PlayerName)

Goal Handler OnBefore for TASK

TASK:RefreshMenus(TaskGroup, MenuTime)

Remove the menu option of the Task for a Wrapper.Group.

TASK:RefreshTaskControlMenu(TaskUnit, MenuTime, MenuTag)

Refresh Task Control Menu

TASK:RejectGroup(PlayerGroup)

A group rejecting a planned task.

TASK:RemoveAssignedMenuForGroup(TaskGroup, MenuTime)

Remove the assigned menu option of the Task for a Wrapper.Group.

TASK:RemoveMenu(MenuTime)

Remove the menu options of the Task to all the groups in the SetGroup.

TASK:RemoveStateMachine(TaskUnit)

Remove FiniteStateMachines from Task with key TaskWrapper.Unit

TASK:RemoveTaskControlMenu(TaskUnit)

Remove Task Control Menu

TASK:Replan()

FSM Replan synchronous event function for TASK.

TASK:ReportDetails(TaskGroup, ReportGroup)

Create a detailed report of the Task.

TASK:ReportOverview(ReportGroup)

Create an overiew report of the Task.

TASK:ReportSummary(ReportGroup)

Create a summary report of the Task.

TASK:SendBriefingToAssignedGroups()

Send the briefng message of the Task to the assigned Wrapper.Groups.

TASK:SetAssignMethod(AcceptClass)

TASK:SetAssignedMenuForGroup(TaskGroup, MenuTime)

Set the assigned menu options of the Task.

TASK:SetBriefing(TaskBriefing)

Sets a Task briefing.

TASK:SetDetection(Detection, DetectedItem)

Set detection of a task

TASK:SetDispatcher(Dispatcher)

Set dispatcher of a task

TASK:SetGoal(Goal)

Set goal of a task

TASK.SetGroup

The Set of Groups assigned to the Task

TASK:SetGroupAssigned(TaskGroup)

Set Wrapper.Group assigned to the Task.

TASK:SetID(TaskID)

Sets the ID of the Task

TASK:SetMenu(MenuTime)

Set the menu options of the Task to all the groups in the SetGroup.

TASK:SetMenuForGroup(MenuTime, TaskGroup)

Set the Menu for a Group

TASK:SetName(TaskName)

Sets the Name of the Task

TASK:SetPlannedMenuForGroup(TaskGroup, MenuText, MenuTime)

Set the planned menu option of the Task.

TASK:SetScoreOnFail(PlayerName, Penalty, TaskUnit)

Set a penalty when the A2A attack has failed.

TASK:SetScoreOnProgress(PlayerName, Score, TaskUnit)

Set a score when progress has been made by the player.

TASK:SetScoreOnSuccess(PlayerName, Score, TaskUnit)

Set a score when all the targets in scope of the A2A attack, have been destroyed.

TASK:SetStateMachine(TaskUnit, Fsm)

Add a FiniteStateMachine to Task with key TaskWrapper.Unit

TASK:SetTimeOut(Timer)

Sets the TimeOut for the Task.

TASK:SetType(TaskType)

Sets the Type of the Task

TASK:SetUnitProcess(Core, FsmTemplate)

Sets the Task FSM Process Template

TASK:StateAborted()

Sets a Task to status Aborted.

TASK:StateAssigned()

Sets a Task to status Assigned.

TASK:StateCancelled()

Sets a Task to status Cancelled.

TASK:StateFailed()

Sets a Task to status Failed.

TASK:StateHold()

Sets a Task to status Hold.

TASK:StatePlanned()

Sets a Task to status Planned.

TASK:StateReplanned()

Sets a Task to status Replanned.

TASK:StateSuccess()

Sets a Task to status Success.

TASK:Success()

FSM Success synchronous event function for TASK.

TASK.TaskBriefing

TASK.TaskControlMenu

TASK.TaskControlMenuTime

TASK.TaskID

TASK.TaskInfo

TASK.TaskName

TASK.TaskProgress

TASK.TaskScheduler

TASK.TaskType

TASK.TimeOut

TASK:UnAssignFromGroup(TaskGroup)

UnAssign the Task from a Wrapper.Group.

TASK:UnAssignFromGroups()

UnAssign the Task from the Wrapper.Groups.

TASK:UnAssignFromUnit(TaskUnit)

UnAssign the Task from an alive Wrapper.Unit.

TASK:__Abort()

FSM Abort asynchronous event function for TASK.

TASK:__Cancel()

FSM Cancel asynchronous event function for TASK.

TASK:__Fail()

FSM Fail asynchronous event function for TASK.

TASK:__Goal(Delay, PlayerUnit, PlayerName)

Goal Asynchronous Trigger for TASK

TASK:__Replan()

FSM Replan asynchronous event function for TASK.

TASK:__Success()

FSM Success asynchronous event function for TASK.

TASK:onafterReplan(From, Event, To)

FSM function for a TASK

TASK:onbeforeTimeOut(Event, From, To)

FSM function for a TASK

TASK:onenterAborted(From, Event, To)

FSM function for a TASK

TASK:onenterAssigned(Event, From, To, PlayerUnit, PlayerName)

FSM function for a TASK

TASK:onenterCancelled(From, Event, To)

FSM function for a TASK

TASK:onenterFailed(From, Event, To)

FSM function for a TASK

TASK:onenterPlanned(Event, From, To)

FSM function for a TASK

TASK:onenterSuccess(Event, From, To)

FSM function for a TASK

TASK:onstatechange(Event, From, To)

FSM function for a TASK

Fields and Methods inherited from FSM_TASK Description

TASK:New(TaskName)

Creates a new FSM_TASK object.

TASK.Task

TASK:_call_handler(step, trigger, params, EventName)

Field(s)

Core.Set#SET_GROUP TASK.SetGroup

The Set of Groups assigned to the Task

Function(s)

FSM Abort synchronous event function for TASK.

Use this event to Abort the Task.

Defined in:

TASK

A group aborting the task.

Defined in:

TASK

Parameter:

Wrapper.Group#GROUP PlayerGroup

The group aborting the task.

Return value:

Gets the SET_GROUP assigned to the TASK.

Defined in:

TASK

Parameter:

Return value:

Add Task Progress for a Player Name

Defined in:

TASK

Parameters:

#string PlayerName

The name of the player.

#string ProgressText

The text that explains the Progress achieved.

#number ProgressTime

The time the progress was achieved.

ProgressPoints

Return value:

Assign the Task to a Wrapper.Group.

Defined in:

TASK

Parameter:

Return value:

Assign the Task to an alive Wrapper.Unit.

Defined in:

TASK

Parameter:

Return value:

self

FSM Cancel synchronous event function for TASK.

Use this event to Cancel the Task.

Defined in:

TASK

Clear the Wrapper.Group assignment from the Task.

Defined in:

TASK

Parameter:

Return value:

A group crashing and thus aborting from the task.

Defined in:

TASK

Parameter:

Wrapper.Group#GROUP PlayerGroup

The group aborting the task.

Return value:

FSM Fail synchronous event function for TASK.

Use this event to Fail the Task.

Defined in:

TASK

TODO: Obscolete? - Fail processes from Task with key Wrapper.Unit @param #TASK self @param #string TaskUnitName @return #TASK self

Defined in:

TASK

Parameter:

TaskUnitName

Gets the Task briefing.

Defined in:

TASK

Return value:

#string:

The briefing text.

Get goal of a task

Defined in:

TASK

Return value:

The Goal

Gets the SET_GROUP assigned to the TASK.

Defined in:

TASK

Return value:

Gets the ID of the Task

Defined in:

TASK

Return value:

#string:

TaskID

Gets the Mission to where the TASK belongs.

Defined in:

TASK

Return value:

Gets the Name of the Task

Defined in:

TASK

Return value:

#string:

The Task Name

Create a count of the players in the Task.

Defined in:

TASK

Return value:

#number:

The total number of players in the task.

Create a list of the players in the Task.

Defined in:

TASK

Return value:

#map<#string,Wrapper.Group#GROUP>:

A map of the players

Defined in:

TASK

Parameter:

PlayerName

Get the default or currently assigned Process template with key ProcessName.

Defined in:

TASK

Parameter:

#string ProcessName

Return value:

Gets the Scoring of the task

Defined in:

TASK

Return value:

Gets the FiniteStateMachine of Task with key TaskWrapper.Unit

Defined in:

TASK

Parameter:

Return value:

Gets the Task status.

Defined in:

TASK

Returns the Task briefing.

Defined in:

TASK

Return value:

#string:

Task briefing.

Get Task Control Menu

Defined in:

TASK

Parameters:

The Wrapper.Unit that contains a player.

TaskName

Return value:

TaskControlMenu The Task Control Menu

Gets the Task Index, which is a combination of the Task type, the Task name.

Defined in:

TASK

Return value:

#string:

The Task ID

Returns the Task name.

Defined in:

TASK

Return value:

#string:

TaskName

Gets the Type of the Task

Defined in:

TASK

Return value:

#string:

TaskType

Get the Task FSM Process Template

Defined in:

TASK

Parameter:

TaskUnit

Return value:

Goal Trigger for TASK

Defined in:

TASK

Parameters:

Wrapper.Unit#UNIT PlayerUnit

The Wrapper.Unit of the player.

#string PlayerName

The name of the player.

Returns if the Task has still alive and assigned Units.

Defined in:

TASK

Return value:

#boolean:

Defined in:

TASK

Parameter:

Return value:

#boolean:

Checks if there is a FiniteStateMachine assigned to TaskWrapper.Unit for Task

Defined in:

TASK

Parameter:

Return value:

self

Init Task Control Menu

Defined in:

TASK

Parameter:

The Wrapper.Unit that contains a player.

Return value:

Task Control Menu Refresh ID

Returns if the Task is assigned to the Group.

Defined in:

TASK

Parameter:

Return value:

#boolean:

Is the Task status Aborted.

Defined in:

TASK

Is the Task status Assigned.

Defined in:

TASK

Is the Task status Cancelled.

Defined in:

TASK

Is the Task status Failed.

Defined in:

TASK

Is the Task status Hold.

Defined in:

TASK

Is the Task status Planned.

Defined in:

TASK

Is the Task status Replanned.

Defined in:

TASK

Is the Task status Success.

Defined in:

TASK

Add a PlayerUnit to join the Task.

For each Group within the Task, the Unit is checked if it can join the Task. If the Unit was not part of the Task, false is returned. If the Unit is part of the Task, true is returned.

Defined in:

TASK

Parameters:

Wrapper.Unit#UNIT PlayerUnit

The CLIENT or UNIT of the Player joining the Mission.

Wrapper.Group#GROUP PlayerGroup

The GROUP of the player joining the Mission.

Return value:

#boolean:

true if Unit is part of the Task.

Defined in:

TASK

Parameter:

Report the task status.

Defined in:

TASK

Parameters:

TaskGroup

Flash

Defined in:

TASK

Parameter:

Report the task status.

Defined in:

TASK

Parameter:

TaskGroup

Report the task status.

Defined in:

TASK

Parameter:

Send a message of the Task to the assigned Wrapper.Groups.

Defined in:

TASK

Parameter:

Message

Instantiates a new TASK.

Should never be used. Interface Class.

Defined in:

TASK

Parameters:

The mission wherein the Task is registered.

Core.Set#SET_GROUP SetGroupAssign

The set of groups for which the Task can be assigned.

#string TaskName

The name of the Task

#string TaskType

The type of the Task

TaskBriefing

Return value:

self

Goal Handler OnAfter for TASK

Defined in:

TASK

Parameters:

#string From

#string Event

#string To

Wrapper.Unit#UNIT PlayerUnit

The Wrapper.Unit of the player.

#string PlayerName

The name of the player.

FSM PlayerAborted event handler prototype for TASK.

Defined in:

TASK

Parameters:

Wrapper.Unit#UNIT PlayerUnit

The Unit of the Player when he went back to spectators or left the mission.

#string PlayerName

The name of the Player.

FSM PlayerCrashed event handler prototype for TASK.

Defined in:

TASK

Parameters:

Wrapper.Unit#UNIT PlayerUnit

The Unit of the Player when he crashed in the mission.

#string PlayerName

The name of the Player.

FSM PlayerDead event handler prototype for TASK.

Defined in:

TASK

Parameters:

Wrapper.Unit#UNIT PlayerUnit

The Unit of the Player when he died in the mission.

#string PlayerName

The name of the Player.

Goal Handler OnBefore for TASK

Defined in:

TASK

Parameters:

#string From

#string Event

#string To

Wrapper.Unit#UNIT PlayerUnit

The Wrapper.Unit of the player.

#string PlayerName

The name of the player.

Return value:

#boolean:

Remove the menu option of the Task for a Wrapper.Group.

Defined in:

TASK

Parameters:

#number MenuTime

Return value:

self

Refresh Task Control Menu

Defined in:

TASK

Parameters:

The Wrapper.Unit that contains a player.

MenuTime

The refresh time that was used to refresh the Task Control Menu items.

MenuTag

The tag.

A group rejecting a planned task.

Defined in:

TASK

Parameter:

Wrapper.Group#GROUP PlayerGroup

The group rejecting the task.

Return value:

Remove the assigned menu option of the Task for a Wrapper.Group.

Defined in:

TASK

Parameters:

#number MenuTime

Return value:

self

Remove the menu options of the Task to all the groups in the SetGroup.

Defined in:

TASK

Parameter:

#number MenuTime

Return value:

Remove FiniteStateMachines from Task with key TaskWrapper.Unit

Defined in:

TASK

Parameter:

Return value:

self

Remove Task Control Menu

Defined in:

TASK

Parameter:

The Wrapper.Unit that contains a player.

FSM Replan synchronous event function for TASK.

Use this event to Replan the Task.

Defined in:

TASK

Create a detailed report of the Task.

List the Task Status, and the Players assigned to the Task.

Defined in:

TASK

Parameters:

ReportGroup

Return value:

#string:

Create an overiew report of the Task.

List the Task Name and Status

Defined in:

TASK

Parameter:

ReportGroup

Return value:

#string:

Create a summary report of the Task.

List the Task Name and Status

Defined in:

TASK

Parameter:

Wrapper.Group#GROUP ReportGroup

Return value:

#string:

Send the briefng message of the Task to the assigned Wrapper.Groups.

Defined in:

TASK

Defined in:

TASK

Parameter:

Set the assigned menu options of the Task.

Defined in:

TASK

Parameters:

#number MenuTime

Return value:

self

Sets a Task briefing.

Defined in:

TASK

Parameter:

#string TaskBriefing

Return value:

self

Set detection of a task

Defined in:

TASK

Parameters:

DetectedItem

Return value:

Set dispatcher of a task

Defined in:

TASK

Parameter:

Return value:

Set goal of a task

Defined in:

TASK

Parameter:

Return value:

Set Wrapper.Group assigned to the Task.

Defined in:

TASK

Parameter:

Return value:

Sets the ID of the Task

Defined in:

TASK

Parameter:

#string TaskID

Set the menu options of the Task to all the groups in the SetGroup.

Defined in:

TASK

Parameter:

#number MenuTime

Return value:

Set the Menu for a Group

Defined in:

TASK

Parameters:

#number MenuTime

TaskGroup

Return value:

Sets the Name of the Task

Defined in:

TASK

Parameter:

#string TaskName

Set the planned menu option of the Task.

Defined in:

TASK

Parameters:

#string MenuText

The menu text.

#number MenuTime

Return value:

self

Set a penalty when the A2A attack has failed.

Defined in:

TASK

Parameters:

#string PlayerName

The name of the player.

#number Penalty

The penalty in points, must be a negative value!

Return value:

Set a score when progress has been made by the player.

Defined in:

TASK

Parameters:

#string PlayerName

The name of the player.

#number Score

The score in points to be granted when task process has been achieved.

Return value:

Set a score when all the targets in scope of the A2A attack, have been destroyed.

Defined in:

TASK

Parameters:

#string PlayerName

The name of the player.

#number Score

The score in points.

Return value:

Add a FiniteStateMachine to Task with key TaskWrapper.Unit

Defined in:

TASK

Parameters:

Return value:

self

Sets the TimeOut for the Task.

If Task stayed planned for longer than TimeOut, it gets into Cancelled status.

Defined in:

TASK

Parameter:

#integer Timer

in seconds

Return value:

self

Sets the Type of the Task

Defined in:

TASK

Parameter:

#string TaskType

Sets the Task FSM Process Template

Defined in:

TASK

Parameters:

Core

Fsm#FSM_PROCESS

FsmTemplate

Sets a Task to status Aborted.

Defined in:

TASK

Sets a Task to status Assigned.

Defined in:

TASK

Sets a Task to status Cancelled.

Defined in:

TASK

Sets a Task to status Failed.

Defined in:

TASK

Sets a Task to status Hold.

Defined in:

TASK

Sets a Task to status Planned.

Defined in:

TASK

Sets a Task to status Replanned.

Defined in:

TASK

Sets a Task to status Success.

Defined in:

TASK

FSM Success synchronous event function for TASK.

Use this event to make the Task a Success.

Defined in:

TASK

UnAssign the Task from a Wrapper.Group.

Defined in:

TASK

Parameter:

UnAssign the Task from the Wrapper.Groups.

Defined in:

TASK

UnAssign the Task from an alive Wrapper.Unit.

Defined in:

TASK

Parameter:

Return value:

self

FSM Abort asynchronous event function for TASK.

Use this event to Abort the Task.

Defined in:

TASK

FSM Cancel asynchronous event function for TASK.

Use this event to Cancel the Task.

Defined in:

TASK

FSM Fail asynchronous event function for TASK.

Use this event to Fail the Task.

Defined in:

TASK

Goal Asynchronous Trigger for TASK

Defined in:

TASK

Parameters:

#number Delay

Wrapper.Unit#UNIT PlayerUnit

The Wrapper.Unit of the player.

#string PlayerName

The name of the player.

FSM Replan asynchronous event function for TASK.

Use this event to Replan the Task.

Defined in:

TASK

FSM Success asynchronous event function for TASK.

Use this event to make the Task a Success.

Defined in:

TASK

FSM function for a TASK

Defined in:

TASK

Parameters:

#string From

#string Event

#string To

FSM function for a TASK

Defined in:

TASK

Parameters:

#string Event

#string From

#string To

FSM function for a TASK

Defined in:

TASK

Parameters:

#string From

#string Event

#string To

FSM function for a TASK

Defined in:

TASK

Parameters:

#string Event

#string From

#string To

PlayerUnit

PlayerName

FSM function for a TASK

Defined in:

TASK

Parameters:

#string From

#string Event

#string To

FSM function for a TASK

Defined in:

TASK

Parameters:

#string From

#string Event

#string To

FSM function for a TASK

Defined in:

TASK

Parameters:

#string Event

#string From

#string To

FSM function for a TASK

Defined in:

TASK

Parameters:

#string Event

#string From

#string To

FSM function for a TASK

Defined in:

TASK

Parameters:

#string Event

#string From

#string To

Field(s)

Core.Set#SET_GROUP TASK.SetGroup

The Set of Groups assigned to the Task

Function(s)

Creates a new FSM_TASK object.

Defined in:

Parameter:

#string TaskName

The name of the task.

Return value:

Defined in:

Parameters:

step

trigger

params

EventName