Necramonium 10 Posted September 16, 2013 (edited) 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 September 16, 2013 by Necramonium Share this post Link to post Share on other sites
Johnson11B2P 3 Posted September 16, 2013 (edited) 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 September 16, 2013 by Johnson11B2P grammar error 1 Share this post Link to post Share on other sites
zeufman 10 Posted September 16, 2013 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
kmackinley 12 Posted September 16, 2013 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. 2 Share this post Link to post Share on other sites
kylania 568 Posted September 16, 2013 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
magicpanda 19 Posted September 16, 2013 Does the task destination work 100% when you script them? Share this post Link to post Share on other sites
Johnson11B2P 3 Posted September 16, 2013 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
kylania 568 Posted September 17, 2013 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: Share this post Link to post Share on other sites
zeufman 10 Posted September 17, 2013 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
kylania 568 Posted September 17, 2013 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