Jump to content
Sign in to follow this  
Necramonium

Cant get multiple tasks to work

Recommended Posts

Ok, i know how to make a single objective, but with these modules now used im lost, i made one objective, worked perfect, target dead, objective cleared. Now i added another objective to go after. After adding this, the first objective never shows or does not clear anymore when killing the first target. These modules are fricking confusing as hell.

The mission is where you have to counter sniper many snipers scattered over Atlis...

Edited by Necramonium

Share this post


Link to post
Share on other sites

I suggest you learn how to script the tasks. Scripting them in is easier than relying on the module.

The section below gives you the code to create the task

BIS_fnc_SetTask;
/*
Author: Karel Moricky

Description:
Set a task parameters.
Create the task when it doesn't exist.

Parameters:
	0: STRING or ARRAY - Task ID or array in the format [task ID, parent task ID]
	1: Task owner(s)
		BOOL - true to set task of all playable units
		OBJECT - set task of a specific object
		GROUP - set tasks of all objects in the group
		SIDE - set tasks of all objects of the given side
		ARRAY - collection of above types
	2: ARRAY - Task description in the format ["description", "title", "marker"]
	3: Task destination
		OBJECT
		ARRAY - either position in format [x,y,z], or [object,precision] as used by setSimpleTaskTarget command
	4: Task state
		STRING - one of "CREATED", "ASSIGNED", "SUCCEEDED", "FAILED" or "CANCELED"
		BOOL - true to set the task as current
	5: NUMBER - priority. When a current task is completed, system select a next one with the larges priority >= 0
	6: BOOL - true to show notification (default), false to disable it
	7: BOOL - true to set task globally (default), false to set it only locally

Returns:
STRING - Task ID
*/
["taskOne",west,["Destroy the Helicopters located at Kamino Fire base","Destroy Helicopters","obj"],[staticMortar01,true],"ASSIGNED",1,true,false],"BIS_fnc_setTask"] call BIS_fnc_MP;

The section below tells you how to change the state of the task

BIS_fnc_taskSetState
/*
Author: Thomas Ryan & Karel Moricky

Description:
Set a task's state.

Parameters:
	0: STRING - Task name
	1: STRING - Task state
	2: BOOL - Show hint (default: true)

Returns:
BOOL
*/
["taskOne","SUCCEEDED"] call BIS_fnc_taskSetState;

Edited by Johnson11B2P
grammar error
  • Like 1

Share this post


Link to post
Share on other sites

Check if each created task with module task have an unique ID task, and each task module need to be synchronise with the group player

Share this post


Link to post
Share on other sites

I had found out the other day, this is all able to be done by the task modules. No scripting needed at all. These guys keep posting this scripting example, which for new players, makes no sense as you don't know where to put it or how. The key is synchronizing the right things. As zuefman said, each "create task" module needs to be synched to the player.

Generally when I create a task it has 5 things:

1) Create Task (synched to player)

2) Task State "assigned" (synched to create task and previous trigger if applicable)

3) Task State "succeeded" (synched to create task)

4) Trigger (synched to succeeded)

5) Waypoint (optional) synched to previous trigger if applicable

The waypoints are optional, but add a marker to see where your objective is. Each task needs a specific name, task1, task2 etc. I used to have a problem where my first task would complete but other tasks after that would not assign and update. Just know it can be done through proper synchronization.

  • Like 2

Share this post


Link to post
Share on other sites

The problem with modules is they are really quite difficult to debug. You have identical circles everywhere connected with confusing lines everywhere and everywhere else. You have to click dozens of times to see what you've done because none are able to be labeled properly. It's a mess. :)

With scripting you can see at a glance what you've done and intended to do. If you're using a proper text editor it's all color coded for you as well!

If you needed to change the location of one of your tasks using modules you'd have to zoom out, drag the map, zoom in, pick the right circle with the right line, drag/zoom/drag/zoom to move it again. With scripting you change a single word.

Sure modules can be easy for new users but the power of scripting will never be replaced with them. Ideally you'd use a mixture of both, you need to use scripting for triggers with modules anyway. Not using something because you don't understand it is just limiting yourself. :)

Share this post


Link to post
Share on other sites

Yes the destination works 100% of the time.

3: Task destination
OBJECT
ARRAY - either position in format [x,y,z], or [object,precision] as used by setSimpleTaskTarget command

I just put down a invisible helipad and name it something.

[objective,true]

Share this post


Link to post
Share on other sites
Does the task destination work 100% when you script them?

Today's Dev Branch has improved the modules quite a bit. Now destination and initial state can be set from the module itself:

MaJi3WS.jpg

Share this post


Link to post
Share on other sites
Ideally you'd use a mixture of both

Sure, and recently ( A2OA and Arma3 ), i use dynamic task, as Kylania explain here ( thanks for this ! :notworthy: )

http://www.kylania.com/ex/?p=65

It is more fun for coop

a mix of task with briefing.sqf, module task, and scripting trigger

Just the taskhint doesn't exist in Arma3, and is replacing by BIS fn notification

https://community.bistudio.com/wiki/BIS_fnc_showNotification

Share this post


Link to post
Share on other sites

Don't really ever need to use showNotification really. Both scripting functions and modules automatically display that when assigning or succeeding or failing a task.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×