Blackheart_Six 284 Posted June 2, 2022 I have started creating my new mission. Long Range Reconnaissance Patrol. I have my base created. I now want to start creating my tasks. Trying to poke and plod my way through. Any resources about the task system? Post them here please. I'll update as I go as well. And one more thing.... WE HAVE FORUMS! YEA!!!!! Share this post Link to post Share on other sites
captncaps 26 Posted June 2, 2022 I'm working on a tutorial for tasks right now, in the mean time, here are sample projects with (somewhat) working tasks: https://github.com/exocs/Reforger-Sample-Coop https://github.com/Zealous666/AR_NightOps1985 Some notes: apparently, TaskManager should be above tasks in the hierarchy (not parent, just higher up) replication happens in the TaskManager. Neither GameMode nor Tasks need to do anything special, it seems. don't give Tasks the RplComponent, the TaskManager does Replication don't give the TaskManger a script, if you want to change it, override its class. (at least I get VM exceptions with scripts) TaskManager needs to have Supported Tasks setup properly. do not give your Tasks a script, it will change their class and then they cannot be find in the SupportedTasks in the TaskManager you need to set a faction for a task in order for it to show up in the UI SetTaskFaction(task, targetFaction); // within TaskManager 2 Share this post Link to post Share on other sites
Blackheart_Six 284 Posted June 2, 2022 51 minutes ago, captncaps said: I'm working on a tutorial for tasks right now, in the mean time, here are sample projects with (somewhat) working tasks: https://github.com/exocs/Reforger-Sample-Coop https://github.com/Zealous666/AR_NightOps1985 Some notes: apparently, TaskManager should be above tasks in the hierarchy (not parent, just higher up) replication happens in the TaskManager. Neither GameMode nor Tasks need to do anything special, it seems. don't give Tasks the RplComponent, the TaskManager does Replication don't give the TaskManger a script, if you want to change it, override its class. (at least I get VM exceptions with scripts) TaskManager needs to have Supported Tasks setup properly. do not give your Tasks a script, it will change their class and then they cannot be find in the SupportedTasks in the TaskManager you need to set a faction for a task in order for it to show up in the UI SetTaskFaction(task, targetFaction); // within TaskManager Awesome! Great information. I'll check it out. Share this post Link to post Share on other sites
captncaps 26 Posted June 3, 2022 My Tutorial on Tasks is here now, in notes form: https://dascapschen.github.io/ArmaReforgerNotes/#/page/scenarios%2Ftasks%2Ftutorial Video will be available here, as soon as youtube is done processing 😛 1 Share this post Link to post Share on other sites
Blackheart_Six 284 Posted June 3, 2022 Great, I've been watching the conversations on discord. You guys are blazing a trail with this stuff! 1 Share this post Link to post Share on other sites
Blackheart_Six 284 Posted June 25, 2023 So after a year of messing about, and several updates to the software, I've been creating some custom tasks using the scenario framework. I know it's very basic stuff right now, but you can create some different missions from the combat operations tasks. Just have to have a little imagination. The first item when using the framework is to make sure you establish a solid naming convention for all the entities you are going to use. The reason you want to put some thought into this is to speed development when you copy and paste areas, layers, and slots over and over. You don't want to have to retype the information every time you do that. So make sure the first set of tasks is named correctly, and all the entities end in a number. The system will add 1 to every paste. It helps to name your entities so you can recognize what they relate to. First area creation Area_ClearTask_1 Layer_enemyAI_1 SlotAI_1 Layer_enemyVehicles_1 Slot_1 LayerClearArea_1 Copied area from above Area_2 Layer_enemyAI_2 SlotAI_2 Layer_enemyVehicles_2 Slot_2 LayerClearArea_2 Notice the 2nd area doesn't retain the title of the first area, and will rename itself "Area_2". I don't know why it does this. But all the sub-layers below area will retain their name and +1 number. Just rename the Area and continue on. I started using the map coordinates of the area in the title. This give each Area and sub-layers a unique identifier. Additionally there is a bug where the slot number will be duplicated, and cause errors in the mission. For example, you create a slot. Then later after copying some Area, you drag and drop a slot into the world. The slot sometimes have the same name as the previous slot. I.E. Area_TaskDefend12345678 opforTD12345678(layer) slotAI_1 (slot) Once you create your first set of entities, and before you copy a bunch, look at what it is, what it does, and how replicating it will look. A little planning upfront will save lots of time on the back end. Trust me I know. 😁 1 Share this post Link to post Share on other sites
Blackheart_Six 284 Posted June 29, 2023 The Scenario Framework Task System In the Prefabs folder is the ScenarioFramework folder. Inside this folder you will see 4 sub folders. Components, Sets, Tasks and Triggers. In this post we are looking at Components and Tasks. There is another "Tasks" folder that is in the "Prefabs" folder. These tasks are related to campaign tasks, and are not used in my work. In the components folder are the "Layer" tasks. In the Tasks folder are the non-layered tasks. I have not used the non-layered tasks yet so I don't know a lot about them. They are limited in scope. The differences between the 2 are the sub-components. There are 7 layered tasks, and 9 non-layered tasks. There is one task manager located in the "tasks" folder. When planning your project, you have start at the 50,000 foot level, or the big picture, and work in. What is your mission about? Who is playing your mission? How is it going to played? What's the story line going to be? I will use my latest project I am current working on as an example of how I am doing things. I will also use "Combat Ops" mission for reference as well. There are many ways to use the task system. In combat ops arland, BI created 7 Areas, and in each area are several tasks. The system picks 3 random tasks, you complete the 3 tasks. Once you complete the tasks you are sent to exfil area, and the mission ends. For my project, "Patrol Operations I - Arland" I needed more flexibility in task selection, and more randomization. The premise (50k view) of PO I - Arland, is a true realistic patrol operation. You are an US Army Soldier conducting dismounted patrols across the island of Arland. This requires the player walking across the map, along the roads as a real infantry patrol would do. Sounds boring. It is. The first thing I needed was a route system. One that would be random. Each time you play, the mission will take you down a different path. And then I needed mission tasks assigned as you go along your patrol. Next I'll discuss the 40K foot view. Layer organization. 1 Share this post Link to post Share on other sites
Blackheart_Six 284 Posted June 29, 2023 In Enfusion Workbench you use World Editor to create mission projects. How to set your project up is covered in numerous other places, and not part of this discussion. Once you decide on a world to use, and place the managers needed, you can then start working on your mission. This post is going to deal with "Layer" organization. In the hierarchy of mission building, you have the world then your layers. Layers are containers that hold all your entities. Each layer is also a file that is editable. I recommend you get a good code editor like VS Code or Notepad ++. Don't use word, it may insert formatting characters into your file, and ruin it. Also create a copy of any file you edit for back up. Editing layer files is handy if you need to for example, batch rename an entity. I.E. Entity1 to Entity_1. World |_ Layer |_ Layer For Combat Ops Arland, BI just put everything in one layer. Which is fine. I prefer to organize my work a little more. The first thing I do is create a managers layers. All the manager entities go in this layer along with AIWorld. World |_ Managers Next layer would be my base or ingress point to the world. Might be an FOB, or random spawn point. I also create testing, import, and holding layers. I use a "Z" in the name so they all go to the bottom of the hierarchy. World |_ Base |_ Managers |_ zHold |_ zImport |_ zTest I don't know if there is a limitation to how many layers you can have. Use and create as many layers as you need, and what works best for you. You can select and drag entities between layers. You cannot nest layers within layers. PROTIP: If you are working in one layer, make it "Active" so any entities go to that layer. Double click the layer, or right click and select "Set as Active" Next Up 30k View.... Task organization. Area, Layers, Slots... 1 Share this post Link to post Share on other sites
Blackheart_Six 284 Posted June 29, 2023 BI has a great wiki on the scenarioframework(SFW). It is located here. On par with many BI wiki articles it is incomplete, and missing information. There are 3 basic components to SFW. Area, Layer, Slot. Layer is not to be confused with the layer discuss above. This is a SFW entity called "layer.et". So for the 30k foot view, this is a critical part of organizing your work. Areas are the topmost component. Layers and Slots must be in an area to be seen by the SFW. But how you use the area to organize you work is mission dependent. If you look at Combat Ops Arland, BI uses several areas, and places duplicate tasks in each area. I think of these as "Geographical" Areas. They are all over the map, and denote the area of operation for the tasks. For my Patrol Operations I - Arland, I used area entities as geographical areas, but also as containers. Each road intersection is a GEO area. I also have areas holding all my tasks. Container Areas. To be seen by the SFW the entities must be in an area. The logic was 1 Area with many tasks inside the area, versus many tasks inside many areas. Additionally, the choice to use an area as geo, or container will be dictated by how you want to trigger something. For example, do I want an event to be trigger when the player or character walks into the area? Then I use a GEO area. Or do I just need to call the item with a slottrigger or logicCounter? Things to think about at 30,000 feet. With using the area as a container, I place the area.et at one spot on the map, I.E. a remote island and I place the task at the point of interest (POI) on map, and when the player enters the road intersection area it triggers the task, which is away from the road intersection. I don't have to have a 1000 meter radius set on the area, just 15 meters, since I am using a slottrigger to activate the task. At this point my hierarchy looks like this.... World |_ Base (Layer) |_ Managers (Layer) |_ RouteBlue (Layer) |_ IntersectionB_1 (area.et) |_taskMoveBlue_1 (LayerTaskMove.et) |_ IntersectionB_2 (area.et) |_ IntersectionB_3 (area.et) |_ RouteRed (Layer) |_ IntersectionR_1 (area.et) |_taskMoveRed_1 (LayerTaskMove.et) |_ IntersectionR_2 (area.et) |_ IntersectionR_3 (area.et) |_ Task_ClearArea (Layer) |_Area_TasksClear (area.et) |_TaskClearArea_1 (LayerTaskClearArea.et) |_TaskClearArea_2 (LayerTaskClearArea.et) |_ zHold (Layer) |_zImport (Layer) |_zTest (Layer) So as you can see, I have many GEO areas for each intersection. And one container area holding all the "Clear Area" tasks. The main thing to understand is an area.et doesn't have to be used to define an operations area. It can be used as a container, and reduce the number of entities on the map. 1 Share this post Link to post Share on other sites
SirBassi 10 Posted November 15, 2023 Hi @Blackheart_Six, thanks for your great to work to bring different sources together and also share your experience. I am starting to build my first COOP Mission at the Moment and this tips are helpful for building a own knowledge and understand the things. At first I thought the NightOps Framework would perfectly work for me but this is outdated and by loading in workbench it brings World Failures. Perfectly because in its Object Properties by its own written Editor Task there was a Succesor Area. And so you could make a chain of Tasks what I am searching for, now. Means: One Task is finished will make the new Task open and send to player. So Players do not have all Tasks visible at mission start, more they will be guided through the Tasks to the Mission. For example: 1. Task: Build Convoy (Move) 2. Go to Area xy (Move) 3. Clear all in this area (Area Trigger) 4. Search Intel (Area Trigger) 5. Move to xy (Move) Maybe you also collected some experience with such Task - Chains. Share this post Link to post Share on other sites
Blackheart_Six 284 Posted November 15, 2023 7 hours ago, SirBassi said: Hi @Blackheart_Six, thanks for your great to work to bring different sources together and also share your experience. I am starting to build my first COOP Mission at the Moment and this tips are helpful for building a own knowledge and understand the things. At first I thought the NightOps Framework would perfectly work for me but this is outdated and by loading in workbench it brings World Failures. Perfectly because in its Object Properties by its own written Editor Task there was a Succesor Area. And so you could make a chain of Tasks what I am searching for, now. Means: One Task is finished will make the new Task open and send to player. So Players do not have all Tasks visible at mission start, more they will be guided through the Tasks to the Mission. For example: 1. Task: Build Convoy (Move) 2. Go to Area xy (Move) 3. Clear all in this area (Area Trigger) 4. Search Intel (Area Trigger) 5. Move to xy (Move) Maybe you also collected some experience with such Task - Chains. The NightOps Framework was fantastic. Unfortunately, like many mods, they are out of date and not working. Hoping these guys get the band back together and cut another album. For task chaining already done in the scenario framework examples in world editor. In world editor.... Load World then drill down to Arma Reforger>worlds>ScenarioFramework>Samples>SF-Sample-FinishTaskToCreateTask.ent 1 Share this post Link to post Share on other sites
SirBassi 10 Posted November 15, 2023 Your my hero. Exactly what I searched for. Even the sample for an Exfil. I will try to generate a simple chain with this and finally look then where and how to spawn defined enemies when reached a trigger for saving perfomance on the server. But this examples are gold for making the first steps. Thanks. Share this post Link to post Share on other sites
Blackheart_Six 284 Posted November 16, 2023 The new Dynamic Despawn/Spawn is great to saving resources. Takes a little bit to figure out the hierarchy of it. Share this post Link to post Share on other sites