Arma 3
94 ratings
How to Make Old Man Modules Actually Work
By Autumn
A guide on how to get Old Man's small loan of a million modules to actually do things instead of sitting around and making you look like an idiot for staring at a tin fence for several minutes straight. Will be updated as I and the people I am stalking for information figure things out.
2
4
   
Award
Favorite
Favorited
Unfavorite
Making the Modules Actually Work
The most important thing is putting this line into the Description.ext file of your mission:

\a3\Missions_F_Oldman\Systems\commonDescription.inc

Special thanks to Blud from the Arma 3 Discord for figuring that out.

The second step, which it turns out is not the only step, is placing the Init module. This doesn't do much without the above line, although it does work very slightly on its own as well. Not well enough to turn a tin fence into a bed, but anyways.
Bootleg Antistasi, AKA the Relationship Module
If you walk up to a nice patrol, sector, or checkpoint without the Relationship Module, prepare to die. You're still dealing with regular Arma 3 AI, and they will use their hawk vision to unleash death upon you and your fellows. The Relationship Module is how you keep them from killing you without reason in favour of killing you with a reason.

The various features of the Relationship Module are mostly explained in the module itself. You can make NPCs more or less willing to cooperate with your tomfoolery, you can decide whether or not you want them to be okay with you running around in a black site as long as you've been friendly enough, and you can set just how long it takes before they shoot you for trespassing if you haven't been a good friend.
Patrols, Sectors, and Restricted Areas
Sectors
Sectors are literally just place and you're good. Once you have the stuff mentioned above, they simply work. It's very convenient. Of course, there are the sub-settings, one of which will be explained alongside Restricted Areas.

Patrols
Patrols are a bit more complex, but are still very easy. Simply make an NPC group, then sync the leader of this group to the module. Change the settings based on the specifics you want, and the AIs should spawn within the module's area.

Restricted Areas
Restricted Areas work much like Sectors, but don't delete and replace units. This makes them harder on the framerate, but for NPCs meant to do animations it is likely the better option. A sector can be turned into a Restricted Area without an extra module by checking the Restricted Area option in the sector module. These also have an NPC threat rate and an NPC threat range. The former determines how fast the NPCs get mad at you when you stand in their lawn, and the latter determines what they consider their lawn. The threat range is distance from the NPC, not the module. You can stand directly on a module with a threat range of 40 and if the sector's NPC guards are all over 40 meters away they won't care.

For all of these settings, the spawn distance option is not referring to how far away from the module the NPCs spawn. It is how close the player has to get for the module to activate. For patrols, this is distance from the circle the module creates. I believe it is the same for sectors, although I have not yet tested this.
Checkpoints and How to Not Suffer Trying to Figure Them Out
First you want to build a checkpoint. Even if you're just testing modules, visual cues make it significantly easier to not accidentally run through the checkpoint. At the very least, mark the area you need to stop your vehicle.

Next is your two NPCs. These are actually fairly simple. You need two NPCs, ideally ones who will not move without reason (so keep them out of groups). You'll want them to be visible as well, of course. These are the guys who will guide you through your checkpoint.

Next is the more difficult bit. You need two triggers, two Arrow (Direction, Blue)s (which mark the "control zones"), and two "Timeline" modules. Your two triggers determine what the NPCs see as the road, with one for each side of the checkpoint. Let's call them north and south, for example. If you approach from the north of the checkpoint, you enter the north trigger (and not the south trigger) to reach the north NPC, stopping at the north control zone. For the south, you do the same for the south trigger, south NPC, and south control zone.

In terms of what the triggers specifically need to look like, they need to start OUTSIDE of the sector on their side of the checkpoint. As mentioned, the triggers are how the NPCs determine what is and isn't the road. If your road does not reach to the end of the checkpoint module's built-in sector, the checkpoint NPCs will believe you are going off-road and fire upon you. If you end the trigger before reaching the control zone, the same will happen. Even just leaving a gap between the two triggers to travel through when you've been cleared at the checkpoint will still get you shot. The checkpoints meet between your north and south control zones, and continue down your road until outside of the sector. You can overlap them a bit if you want to make certain that they will cover your road entirely.

You put your control zones where you want the vehicle to need to stop. The ones in the actual Old Man scenario seem to hover about 1 value of Z above the ground, and I did the same with mine. I'm not certain if this is necessary however. Just make sure there's space for the car to park on it. It also needs to point in the opposite direction of travel. Once again using the directions example, the north control zone needs to point north. It seems far more logical for it to point south, considering that this is the direction you are travelling, but this will cause the NPC to face backwards and will not allow you to pass the checkpoint.

Finally, you add Timeline modules. I honestly have no idea what these are. They control the drones, and I think they also control the UAVs in those fancy missions that start with a UAV looking at things. The secret to these is that you don't actually need them to control anything and you can just set their timeframe to however long you want your checkpoint to take.

After doing all this, just give it all unique variable names and add those variable names to the respective areas of the Checkpoint module. If you've done everything right, it should allow you to drive through the checkpoint in the same way as in the Old Man scenario.

Here's a few pictures of a checkpoint I've set up, in case you're having trouble telling what goes where:

Reaction Forces That Would Be Quick If The AI Could Actually Drive
The QRF module is fairly simple, with one minor setback: for some reason, the actual QRF module is in Other rather than Old Man. Figuring this out took far longer than I care to admit.

To get a QRF set up, all you need is the QRF module and at least one of the numbered QRF modules. The number in parenthesis to the side is which wave they are. So for example, if you beat whatever group you define for QRF (1), the scenario will spawn in QRF (2). Also, keep in mind that the module will not skip QRF (1) to reach QRF (3). Skipping (1) or (2) will prevent any groups after it from spawning at all.

First, place the regular QRF module somewhere. On non-island maps such as Chernarus, the empty off-map areas are often great for this. Set up a group of NPCs, and then place the QRF (1) module. Sync the leader of the NPC group to QRF (1), and then sync QRF (1) to the regular QRF module. This will set that QRF group as a possible group to be spawned in as the first wave of QRF. If you want more variety in what can spawn, you can sync additional groups to the same numbered QRF module. Then just repeat these steps for QRF (2) and QRF (3).

Here's a picture of QRFs set up for RHS's Serbia faction:
Travelling at the Speed of Fast, and Other Marker Shenanigans
Thanks to Br0metheus for figuring this stuff out somehow. All of this is stolen from his pastebin here: https://pastebin.com/EVBcEmJm

FAST TRAVEL:
Take your fast travel module and set it up as you like, then get a sector, a fast travel location module, and a marker. Put the marker somewhere in the sector, and sync the location module to that sector. Then you just click the marker. It's actually that easy. I spent hours trying to figure it out and it's actually that easy. kill me please

REST POINTS:
You'll want a rest point module and a friendly sector, first. Sync the rest point module to the object you want to sleep on, like a couch, bed, or that ♥♥♥♥♥♥♥ tin fence. Apparently it doesn't work 100%, though, so make sure to test your rest points.

SMART MARKERS AND INTEL:
This one is way too complicated for me to reword well, so I'll just shamelessly copy-paste it from Br0metheus's Pastebin.
First you will put down an intel module anywhere inside the sector you want to mark. Then you need two things, the name of the smart marker from BI you want to use, and an empty marker placed where you want the actual marker to appear on the map when it is discovered. Then you need to tie these two together in the "Markers" field of the intel module. As an example: [["SmartMarker_O_checkpoint_F", "checkpoint_marker_1"]] tells the game to show SmartMarker_O_checkpoint_F (red infantry marker, checkpoint) at the location of empty marker checkpoint_marker_1. You can edit the text, that will appear, the conditions for the marker to appear, etc. For examply in the "Automatic reveal" field in the module, inputting "[position _module, 200]" will make the marker show on the map when the player gets within 200m of that location. You'll get the nice ping and "diary updated" too.
Making Them Work-ish in Multiplayer
If you're willing to add other mods or scripts and then use the modules in ways they were never intended to be used, you can actually get them working somewhat with multiplayer.

Take checkpoints:
In normal MP with just Old Man, the AI will always be hostile. This means that you can't go through a checkpoint without every guard trying to kill you. The solution is to get another mod or a separate script for Undercover. I would recommend Drongo's Map Population for this currently, although keep in mind a lot of its other stuff is pretty likely to break when used with Old Man's.
First, just set up a checkpoint in exactly the same way you would normally. Then, just set up your chosen undercover script. For DMP, this means placing the [STE] Undercover module, setting it up as you like, and then syncing it to your players.
At this point, you'll be able to drive through the checkpoint, and if you cooperate it will work just like in Old Man regardless of your player count. The only issue you'll face is that the guards are also perfectly okay with you yeeting your car straight through the checkpoint like it's a eurobeat music video. The easy way to fix this is by setting your timeline modules to open a gate in the center of the checkpoint, and then setting the checkpoint module to close it when the checkpoint sector despawns.
Making it impossible to go around is currently impossible with DMP, but with other undercover scripts it can be done by making restricted zones on the sides of the checkpoints. This will aggro the checkpoint guards if you try to avoid the checkpoint completely.
With DMP, carrying "suspicious" gear will get you detected, covering that section of the checkpoint on its own. With other undercover scripts, this may or may not be possible. As far as I'm aware, none of them are able to check vehicle inventory.

Other modules usually work similarly. If something doesn't work on its own in multiplayer, you can sometimes replace parts of it with mods and scripts that are MP-compatible. This will increase the chances of your scenario jumping off a bridge after making God and your computer cry, so do this sort of thing in moderation.
Credits
Thanks to Bohemia Interactive for making Arma 3 and then making a Discord for Arma 3 whose members I could harass for information.

Thanks to Blud on said Discord, who somehow managed to figure out the Description.ext stuff. I have no idea how he did it, but this guide wouldn't be here without that.

Thanks to Br0metheus for figuring out all the stuff in the fast travel section and posting it on a Pastebin. Once again, you can find that pastebin here: https://pastebin.com/EVBcEmJm

Thanks to Magic_Seal, for helping me test the QRF module.

And thank you, for reading.
69 Comments
trnorrisllc Dec 10, 2024 @ 3:39pm 
Howdy just wanted to add this write up I did in google docs. It includes some info from this, and I add some of my own discoveries (Insurgent modules functionality, market research, helpful tidbits). I link to this page from it, for credit purposes. Thank you guys for getting this rolling. https://docs.google.com/document/d/e/2PACX-1vSQZsT7TgHHjsXvI9AGZGKhPsWwUcVoiP2OOKB0GZs0RzRrcBLZQoTWawAF2QmEutADJmJWdkxdGJHt/pub
donder172 Jul 25, 2024 @ 5:15am 
Figured out why it doesn't work. It's not the full line. It should be:

#include "\a3\Missions_F_Oldman\Systems\commonDescription.inc"

@Toast
donder172 Jul 25, 2024 @ 5:12am 
Never mind, it's back.

File , line 2: Config: Unsupported escape sequence \a after <mission location>\description.ext
donder172 Jul 25, 2024 @ 5:11am 
@Maximus94

I did exactly that and it gave me a different error the first time. Loaded it again and it's the old one.
Maximus94 Feb 1, 2024 @ 10:02am 
@AISurvivor: yes, you have to create it. It's pretty easy, just right click in your mission's folder and make a new text file, name it "Description.ext" Then you can open it in notepad and paste what's in the guide.
hpt_leiche Jan 19, 2024 @ 4:01am 
Alternatively you can copy commonDescrpictions.inc,iSystems\scripts\init_systemsExec.sqf,Systems\scripts\init_systems.sqf to your mission folder; edit them, then you don't need to place the old man init module and the other modules should work.

You can disable the loading screen and reskinned task ui in the map by editing the following lines in init_systems.sqf:

Loading screen:
[false. ""] call BIS_fnc_OM_loadingScreenWrapper

Phone UI in map:
//execVM "\A3\Mission_F_Oldman\Systems\Scripts\Phone\reskinUI.sqf"
Additionally comment out the entire scope of class CfgOMPhoneContacts in commonDescription.inc

You can also exclude any systems you don't want to use on init_systems.
[AI]Survivor2020 Jan 29, 2023 @ 12:13pm 
How the heck do you open the description.ext file? Or do you have to make it?
Predator14 Jan 6, 2023 @ 3:27pm 
The devs are clearly professionals. They worked like crazy to produce old man, until today nobody managed to produce a single credible scenario of old man with the modules, which and too bad it was the devs who did nothing to explain how to use the modules easily and even the very design of the modules has not been done so that players can use them...
Norm49 Dec 9, 2022 @ 8:08pm 
Any one know how to get quest/task to work? Normal task dont work with the old man module. Is there any ways to by pass this or any explanation on how to make old man task work? The wiki is not helpfull in this case.
Heyn_The_Floofy_Felk Nov 19, 2022 @ 9:38pm 
Okay so i have found something that a person with the right amount of programming experience can use.

There is software called pbo-manager, you can use it to literally dissect the old man files and see how they used everything. There is a LOT of script files which is linked throughout the game... Honestly the developers did put a lot of work into making old man.

I hope the right person finds this and can help us all understand how to use it better, because i reached what i was capable of understanding.