Jump to content
Sign in to follow this  
wolffy.au

Multi-Session Operations v4.1 released

Recommended Posts

v4.1 released!!!!

Over 20 sample missions including: Tigeria, Qom Province, CLAfghan, Lingor, Tora Bora, Podagorsk, Cicada, Takistan, Chernarus, Zargabad and Utes

A2Free, A2CO, ACE missions AVAILABLE!

COOP, TvT, CTI missions AVAILABLE!

msox.jpg

Get the latest 4.1 Missions AND MSO Code Base

here

Requires CBA - if not using A2Free

You need

ELITENESS to depbo these missions

Note: We will be regularly patching/fixing the code and missions as feedback comes in, so please check back here for any newer versions.

What's New for v4.10?

Core

- Increased default view distance to 2500m

- Added support for Nielsen's Civilian Interaction Module (running Interaction, Reaction and Extraction components) - init-custom.sqf

- Added ACE hand cuffs, ear plugs and safety googles to players running ACE

- CWR² faction changes

- Added RPT line for total Locations found

- Fixed Default, Eden and Tora Bora settings

- Print mission parameters in RPT

- Added support for EOD Addon - automatically add THOR III ECM to select (ACRE Box, ACE Ruck Box, Basic Weapons Box) ammo crates near "ammo" or "ammo_1" markers.

- Added support for EOD Radio Controlled IED for terrorist vehicles, added IED object to support any IED detection items.

- Fixed path to vehicledrivercheck.fsm

NOMAD

- Updated NOMAD to support manual player state save

- Increased options for Nomad save time in nomad params

- Add menu selection for player to manually save position/state using interaction menu

- Added the use of CBA_fnc_AddMagazineVerified (now that it is working) when restoring player weapon magazines on reconnect (Nomad)

- Added support in NOMAD for adding ACRE base radios on reconnect rather than ACRE radios with IDs.

- Added parameter to control how often Nomad saves player data

Caching

- If group leader dies while group is cached, uncache next leader

- If group is newly split from another group, uncache leader and any drivers

- Updated GTK with mission params

- Removed OSL as now obsolete

- Removed JCache as now obsolete

- Simplified NOU caching further

- Enabled CEP caching to use GTK

- Fixed vehicles caching

- Using GTK with NOUJAY Cache

Ambience

- Added another potential police station building for Everon

- Added passengers to ambient sea vehicles

- Fixed Never Fire code spelling mistake, all removed ammo from aircraft.

Support

- SOM fixes to work on dedicated server

- Fixed CASEVAC to check for hospital or ammo marker for RTB

- Added colour selection to JIP Markers

Enemy

- Increased ZORA max groups and decreased search radius (overall intensity increase)

- Updated logging on HAC scripts

- Added additional parameter value for EN POP spawn distance (20km), so that all EN Pop are spawned on maps smaller than 20km.

- Updated Rydygier's HAC module, fixed acre issue and disabled by default

- Added Tigerian faction

- Fixed WICT if unknown faction is used - camps set to russian by default.

- Fixed enemy pop if unknown faction is used - defaults to russian camps.

- Added new Enemy Pop parameters to control how close enemy may be placed and how close they spawn

- Added RYD HETMAN AI Commander (HAC) as an Enemy Module, added Nou Cache parameters to allow caching to be turned off.

- WICT Update 16.01.2012, v.024 - http://forums.bistudio.com/showthread.php?t=129722&page=11#105 (thanks Highhead)

Missions

- Added SOM to Zargabad mission

- Added MSO Tigeria mission

- Added hospital marker to CLAfghan mission

- Fixed CLAfghan and Tora Bora US respawn issues.

Feedback, issues, bugs

Report any issues here.

What Is MSO?

Multi Session Operations is a modular mission framework. Essentially it is a collection of scripts that create a persistent, living scenario in which the player operates. Unlike regular missions that have pre-scripted objectives, MSO procedurally generates enemy forces that are unpredictable and (semi) random. Players have to think beyond the mere tactical level and build up the intelligence picture, carrying out recce patrols to identify enemy locations and conduct deliberate attacks to neutralise them. Everything is persistent, including equipment, ammo, vehicles and even player lives. MSO is designed specifically for Dedicated Server use.

Recommended Settings / Peformance

Due to the dynamic nature of MSO and its reliance on scripting to generate ambience and dynamic enemy, it can be resource intensive. The default settings are the recommended ones for most maps (although I would recommend All Factions for ambient air if used). If you have a large map with lots of locations (Chernarus) or a large number of players you will want to consider disabling or dialling down ambience or enemy.

If you enable ALL the modules, please do not ask us why it performs so poorly.

Credits

- MSO development team

- Rydygier for HETMAN AI Commander (HAC)

- Highhead for World In Conflict (WICT) updates and support

Edited by Wolffy.au

Share this post


Link to post
Share on other sites

Awesome! Thanks for this!

Downloading already and looking forward to getting it on the server.

Thanks, man! Keep up the great work!

Share this post


Link to post
Share on other sites

Wow - you've been busy! Thanks for the work you have put in!

Share this post


Link to post
Share on other sites

Quick note on the HETMAN inclusion...

Its experimental at this stage and we await Rydygier's 1.1 release. In the meantime here are the recommended mission parameters for it in MSO.

0. It only works with A2 units - i.e. Russians etc

1. Turn off AI Caching

2. Set Enemy Spawn Distance to 20km

3. Turn off WICT

4. Set HETMAN processing mode to "Fast (Caution)"

5. Turn on Enemy AI Commander

6. Optional - set commander personality

7. Ensure you have Independents set to Friendly to OPFOR in the mission if you include insurgents.

On Qom Province I've set the enemy pop to 50% and that gives HETMAN about 20+ groups and near 300 units to control over the entire map (this may be too much for large MP play). Currently in init-custom.sqf I have set the objective for HETMAN as the "hospital" marker on the map - which is at the BLUFOR base. Within a few minutes HETMAN will have local forces ordered to recon the area and will start to move infantry and armour towards the objective.

On a map like Chernarus, I'd be very careful and set the EN Pop to 33%. Due to the caching changes and spawn distance I would turn off ambient air/sea, dogs, shepherds etc to help with performance.

Enjoy!

Tup

Edited by Tupolov

Share this post


Link to post
Share on other sites

HETMAN works very well with this. Keeps you on your toes especially when faced with a GENIUS enemy commander.

If anyone's interested in keeping with the Iranian theme I was banging on about in the previous thread, here are some set-up arrays to get HETMAN working with them...

RHQ_Recon = ["IRAN_COM_Scout"];
RHQ_Snipers = ["IRAN_MAN_MARKSMAN","IRAN_COM_MARKSMAN","IRAN_IRGC_MARKSMAN"];
RHQ_ATInf = ["IRAN_MAN_ANTITANK","IRAN_COM_ANTITANKG","IRAN_COM_ANTITANK","IRAN_IRGC_Mortar","IRAN_Navy_ANTITANK"];
RHQ_AAInf = ["IRAN_COM_AA","IRAN_MAN_AA"];
RHQ_Inf = ["IRAN_MAN_Teamleader","IRAN_MAN_Squadleader","IRAN_MAN_Grenadier","IRAN_MAN_RTO","IRAN_MAN_MGUNNER","IRAN_MAN_SOLDIER",
"IRAN_MAN_Medic","IRAN_CON_TL","IRAN_CON_GUNNER","IRAN_CON_SOLDIER","IRAN_CON_SOLDIER4","IRAN_CON_SOLDIER3","IRAN_CON_SOLDIER2",
"IRAN_COM_Teamleader","IRAN_COM_Squadleader","IRAN_COM_GUNNER","IRAN_COM_SOLDIER","IRAN_COM_Squadleader","IRAN_COM_MGUNNER",
"IRAN_COM_Grenadier","IRAN_COM_Engineer","IRAN_COM_Medic","IRAN_IRGC_Teamleader","IRAN_IRGC_Squadleader","IRAN_IRGC_GUNNER",
"IRAN_IRGC_SOLDIER","IRAN_IRGC_Mortar","IRAN_IRGC_GUNNER","IRAN_IRGC_Engineer","IRAN_IRGC_Medic",
"IRAN_IRGC_SF","IRAN_IRGC_SF2","IRAN_IRGC_SF3","IRAN_IRGC_SF4","IRAN_IRGC_SF5","IRAN_IRGC_SF6",
"IRAN_Navy_Officer","IRAN_Navy_Teamleader","IRAN_Navy_GUNNER","IRAN_Navy_SOLDIER","IRAN_Navy_Signals","IRAN_Navy_Medic"];
RHQ_HArmor = ["T72_IRAN","T72S_IRAN"];
RHQ_LArmor = ["IRAN_Boragh1","IRAN_BTR50","IRAN_BTR60"];
RHQ_LarmorAT = ["IRAN_Boragh1","Zulfiqar"];
RHQ_Cars = ["LandRover_IRAN","LandRover_MG_IRAN","LandRover_SPG9_IRAN","UAZ_IRAN","UAZ_SPG9_IRAN","Ural_IRAN","TT650_IRAN"];
RHQ_Air = ["IRAN_An_72","IRAN_F4_CAS","IRAN_F14_CAP","IRAN_F14_CAS","Panha2091","IRAN_AH1J"];
RHQ_Cargo = ["IRAN_Boragh1","Mi17_IRAN","iran_uh1n","IRAN_AB206","Ural_IRAN","UAZ_IRAN","UAZ_SPG9_IRAN"];
RHQ_NCCargo = ["IRAN_Boragh1","Mi17_IRAN","iran_uh1n","IRAN_AB206","Ural_IRAN","UAZ_IRAN","UAZ_SPG9_IRAN"];
RHQ_Crew = ["IRAN_MAN_Pilot","IRAN_MAN_TCrew"];

Just drop this in enemy/modules/ryd_hac/main.sqf just above

RydHQ_Excluded = [];

and you'll be good to go. You'll need the group replacement config too. Check this post for that.

I have no idea why I have suddenly got obsessed with Iran! Perhaps someone will release a Maldives special forces unit and my focus will drift...

PS. Anyone wanting to get the cwr2 units working should checkout this post from the main HETMAN thread.

Edited by Jedra

Share this post


Link to post
Share on other sites
Any SP missions using this?

All missions work in SP - you just won't be able to customise the settings.

Share this post


Link to post
Share on other sites

If you host a new LAN game, you can play 'single player' still but with all the goodness of a regular MSO with parameters etc.

Share this post


Link to post
Share on other sites
If you host a new LAN game, you can play 'single player' still but with all the goodness of a regular MSO with parameters etc.

Yeah but last I checked you cant save on them. And many coop missions have no AI.

Share this post


Link to post
Share on other sites

MSO probably won't like being saved in single player, it'll likely break the scripts though I can't say I've ever tried. But until someone very clever gets ArmA2SQL or PersistentDB working with MSO, there'll be no way to save the current state in MP. In it's current form it's really designed to be run on a server in persistent mode for several days at a time. Team Leaders can recruit friendly AI as standard though.

Share this post


Link to post
Share on other sites

Is there an easy code that I can implement that only caches civs, their vehicles and animals ? Having this would be amazing, but my coding efforts fall REALLY short.

I get strange behaviour when cached/suspended groups attack one another - so would rather not cache those.

Share this post


Link to post
Share on other sites
Is there an easy code that I can implement that only caches civs, their vehicles and animals ? Having this would be amazing, but my coding efforts fall REALLY short.

I get strange behaviour when cached/suspended groups attack one another - so would rather not cache those.

If you check this post from the previous thread, I believe Wolffy implemented a way to eclude groups from cacheing. Maybe worth experimenting with if it did indeed get implemented in 4.1

Share this post


Link to post
Share on other sites

How can you tell if cached groups are attacking each other? They should uncache as soon as the player is in range!

Share this post


Link to post
Share on other sites
Is there an easy code that I can implement that only caches civs, their vehicles and animals ? Having this would be amazing, but my coding efforts fall REALLY short.

I get strange behaviour when cached/suspended groups attack one another - so would rather not cache those.

hi doc!

Civis are cached by default, they "uncache" (better: get respawned) if players within range of town.

which behaviour do yu get from uncached units btw?

have fun

Share this post


Link to post
Share on other sites

Hmmmm I was seeing friendlies (and enemy) getting cached - which is something I don't want for ZKs Battlezone mission.

I will try the fix Jedra commented on and get back to you all.

Share this post


Link to post
Share on other sites

Hi..

hope this isnt too rude a question :(

But how would I go about adding your support module into another mission ?

My editing skills dont go much beyond Crtl+c and Ctrl+v

Share this post


Link to post
Share on other sites

The rmm_gtk_exclude method mentioned previously does work in v4.1.

Re AI vs AI, I previously had code where if AI from 2 different sides come into range, they decache. I'm not sure whether this makes caching less effective, so I didn't include it in v4.1.

I can make it an option I guess.

Kremator, if you could log a ticket on DH so I don't forget about.it.

Edited by Wolffy.au
Fixed mobile phone typos

Share this post


Link to post
Share on other sites
Hmmmm I was seeing friendlies (and enemy) getting cached - which is something I don't want for ZKs Battlezone mission.

I will try the fix Jedra commented on and get back to you all.

Something like this should work...

// build an array of west groups
_westgroups=[];
{if (count units _x>0 and side _x==west) then 
{_westgroups=_westgroups+[_x]}} forEach allGroups;  

// build an array of east groups
_eastgroups=[];
{if (count units _x>0 and side _x==east) then 
{_eastgroups=_eastgroups+[_x]}} forEach allGroups;

// disable caching for West groups
{_x setVariable ["rmm_gtk_exclude", true];} foreach _westgroups;

// disable caching for East groups
{_x setVariable ["rmm_gtk_exclude", true];} foreach _eastgroups;

You'll need to run it regularly to capture new groups that are created.

Not tested and probably longer than you need, but I am long-hand kind of guy ;-)

Share this post


Link to post
Share on other sites
Hi..

hope this isnt too rude a question :(

But how would I go about adding your support module into another mission ?

My editing skills dont go much beyond Crtl+c and Ctrl+v

Not rude at all. MSO is designed from the ground up to moduler so you can add bits to other missions. Easiest method:

1. Copy the BASE_MISSION folder provided in the MSO download

2. Rename the folder to whichever map you want (e.g. mymission.chernarus)

3. Copy the mission.sqm that you've made in the editor into that folder (see the MSO editor guide for details, but you'll need at least some playable units and respawn_West marker)

4. Look in the MSO module folders in ambience, core & enemy and in each modules.hpp comment out all the modules (// in front of them).

5. Obviously leave the Support modules untouched

That's not particularly neat and tidy as you'll still have the whole MSO framework (which is a 7Mb now - quite chunky for a mission), but it should work fine. Once you get more familiar with how it all hangs together you can delete bits you don't use to save space (e.g. you can safely delete the folder for any module you comment out)

Share this post


Link to post
Share on other sites
Something like this should work...

Bear in mind, if you're going to exclude everything then you might as well turn caching off.

Share this post


Link to post
Share on other sites
Bear in mind, if you're going to exclude everything then you might as well turn caching off.

Yeah - he said his coding was not great so I wanted to give him something to start with! But you are right, if you turn off east and west then there's not much left!

Share this post


Link to post
Share on other sites

As the Battlezone mssion uses a lot of AI (sometimes up to 300-400) I want MSO to give me the lovely civilian benefits, but not to see a HUGE number of civs if I'm in a corner of the map.

Being able to not cache east,west or guer BUT to cache civilians would be great.

That extra parameter to uncache fighting enemies would be great Wolffy!

Share this post


Link to post
Share on other sites

There really isn't a need to cache civilians - they spawn and de-spawn when you are within 800m from a town.

In fact, the recent performance improvements of all the ambience modules use this system, to ensure that if players are not within range (between 800m and 1500m depending on the module), they will be deleted off the map.

Share this post


Link to post
Share on other sites
Not rude at all. MSO is designed from the ground up to moduler so you can add bits to other missions. Easiest method:

1. Copy the BASE_MISSION folder provided in the MSO download

2. Rename the folder to whichever map you want (e.g. mymission.chernarus)

3. Copy the mission.sqm that you've made in the editor into that folder (see the MSO editor guide for details, but you'll need at least some playable units and respawn_West marker)

4. Look in the MSO module folders in ambience, core & enemy and in each modules.hpp comment out all the modules (// in front of them).

5. Obviously leave the Support modules untouched

That's not particularly neat and tidy as you'll still have the whole MSO framework (which is a 7Mb now - quite chunky for a mission), but it should work fine. Once you get more familiar with how it all hangs together you can delete bits you don't use to save space (e.g. you can safely delete the folder for any module you comment out)

Thanks for the Info friznit2..

Im actually trying to add the support module into a modified Patrol Ops 2 by OCB

I just cant figure out what files ill need aswell as the support folder or what to place in the description and init.

I was trying to just use the CAS and CASEVAC allowable to only the Team leader role

which is called with

mps_player_class == "tl"

I took the support folder and placed it in the mission folder

I then placed this line at the end of my init

 execNow "support\init.sqf";

and I changed the support/init.sqf to read

#include <modules\modules.hpp>

#ifndef execNow
#define execNow call compile preprocessfilelinenumbers
#endif


#ifdef RMM_CAS
"Close Air Support" call mso_core_fnc_initStat;
execNow "support\modules\rmm_cas\main.sqf";
#endif

#ifdef RMM_CASEVAC
"CASEVAC" call mso_core_fnc_initStat;
execNow "support\modules\rmm_casevac\main.sqf";
#endif

I placed these lines in the mps_params.sqf of the patrol ops mission

class RMM_cas_frequency {
       title = "    CAS Availability"; 
       values[]= {120,1800,3600,10800}; 
       texts[]= {"2 minutes","30 minutes","1 hour","3 hours"}; 
       default = 3600;
};
class RMM_cas_available {
       title = "    Gunship/UAV Available per Team Leader"; 
       values[]= {0,3,6,12,999}; 
       texts[]= {"None","3","6","12","Unlimited"}; 
       default = 3;
};

I couldnt find the params for the casevac ?

I removed all BUT the rmm_cas and rmm_casevac folder and the modules.hpp from the suppot modules folder

I then changed the cas and casevac main.sqf to read

["player", [mso_interaction_key],
4, 
["support\modules\rmm_cas\fn_menuDef.sqf", "main"]] 
call CBA_ui_fnc_add;
["CAS","if(call mso_fnc_hasRadio 
&& 
[color="Red"]if(mps_player_class == "tl")[/color])
then {createDialog ""RMM_ui_cas""}"] 
call mso_core_fnc_updateMenu;

I can see from the file above that some functions are called "mso_core_fnc_updateMenu" for example can these be placed anywhere ?

for example could i place the mso_core_fnc_updateMenu and mso_fnc_hasRadio in the support folder ? (once i find them :) )

Sorry for the long post

Like I say my skills are none existent I have asked permission to alter and edit the patrol ops and I asked you guys if i can use the modules

Im just not a good enough scripter\coder to achieve this alone :)

Once again any help would be fantastic !!!!

Yours hopefully

BL1P

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  

×