Jump to content
alpha993

Load a different mission from within another mission

Recommended Posts

I am making a campaign that has a central menu as a standalone mission. This menu contains lore and other information which I want to keep separate from the actual missions themselves. However, I would like this menu to also have the ability to load other missions within the campaign.

 

I am aware of two existing commands which could be used, but I am unsure on how to proceed with them exactly. These are https://community.bistudio.com/wiki/playMission and https://community.bistudio.com/wiki/playScriptedMission.

 

playMission seems to do nothing, while playScriptedMission works, but I need help figuring out how to point it towards a specific mission rather than creating a dynamic one (if at all possible).

 

wkW3M8c.jpg

 

oIf33V3.jpg

 

These images are from the menu I implemented in-game. Ideally, you would select the mission from the listbox on the left and press the "play mission" button to start it. Some function would then take the selected item from the listbox, match it to its respective mission path and use it with one of the aforementioned commands to launch the mission.

 

Any help on this would be greatly appreciated.

 

  • Like 8

Share this post


Link to post
Share on other sites

So I actually ended up solving this by using the campaign Description.ext and using different end classes.

I'll put a brief explanation here in case anyone ever attempts something similar.

 

 

Excerpt from my campaign Description.ext:

class Missions
	{
		name = "ACT 1: EVENTIDE";
		cutscene = ;				// Cutscene that plays at the chapter start, does not appear in mission list
		firstMission = Nirvana_Menu;	// Class of the first mission of the chapter
		end1 = ;					// Chapter endings. Uses classes of defined chapters to move on to. Blank ends the campaign
		end2 = ;
		end3 = ;
		end4 = ;
		end5 = ;
		end6 = ;
		lost = ;

		// Nirvana Main Menu
		class Nirvana_Menu: MissionDefault
		{
			template = Nirvana_Eventide_Menu.VR;	// Mission file. Must always be located in the 'Missions' folder within the campaign
			loadT1 = Nirvana_T1;					// Endings. Classes of defined missions to move on to. Blank ends the campaign
			loadT2 = Nirvana_T2;
			loadT3 = Nirvana_T3;
			loadT4 = Nirvana_T4;
			loadM1 = Nirvana_M1;
			loadM2 = Nirvana_M2;
			loadM3 = Nirvana_M3;
			loadM4 = Nirvana_M4;
			loadM5 = Nirvana_M5;
			loadM6 = Nirvana_M6;
			loadM7 = Nirvana_M7;
			loadM8 = Nirvana_M8;
		};

		// First Training
		class Nirvana_T1: MissionDefault
		{
			template = Nirvana_Eventide_T1.VR;
			end1 = Nirvana_T2;
		};

		// Second Training
		class Nirvana_T2: MissionDefault
		{
			template = Nirvana_Eventide_T2.VR;
			end1 = Nirvana_T3;
		};

		// Third Training
		class Nirvana_T3: MissionDefault
		{
			template = Nirvana_Eventide_T3.VR;
			end1 = Nirvana_T4;
		};

		// Fourth Training
		class Nirvana_T4: MissionDefault
		{
			template = Nirvana_Eventide_T4.VR;
			end1 = Nirvana_M1;
		};

		// Mission 1 - Scavenger Hunt
		class Nirvana_M1: MissionDefault
		{
			template = Nirvana_Eventide_M1.Altis;
			end1 = Nirvana_M2;
		};

		// Mission 2 - Judas in All but Name
		class Nirvana_M2: MissionDefault
		{
			template = Nirvana_Eventide_M2.Altis;
			end1 = Nirvana_M3;
		};

		// So on and so forth with the rest of the missions
	};

Looking at the code, the Campaign Description.ext allows you to set up many end classes, such as "end1", "end2" and "lose", which can be called at the end of a mission by using ["end1"] call bis_fnc_endMission.

 

However, Arma 3 also allows you to use custom end classes, which I have named loadT1-4 and loadM1-8 which tell the campaign to switch missions to my four training missions and eight regular missions depending on the case. These are placed under my Menu mission's class. This then allows me to call the appropriate end type depending on the selected mission on my listbox. For example, selecting mission 3 and pressing "Play Mission" would execute ["loadM3"] call bis_fnc_endMission, which would then end the menu mission and directly load mission 3 as I originally intended.

 

Each mission then has its own default end class (I just used end1) which proceeds to the next mission on the campaign. So if I were to select mission 5 from the menu, play it and finish it, it would naturally proceed to mission 6.

  • Like 2
  • Thanks 2

Share this post


Link to post
Share on other sites

Nothing constructive to add, and it seems you've solved it anyway, but I just wanted to say your UI/menu looks great!

  • Like 4

Share this post


Link to post
Share on other sites

Thanks a lot!

It's for a sci-fi campaign I'll be releasing soon so I've just been laboring over all the little finishing touches.

  • Like 1

Share this post


Link to post
Share on other sites
6 hours ago, Harzach said:

Nothing constructive to add, and it seems you've solved it anyway, but I just wanted to say your UI/menu looks great!

:yeahthat:Yap..absolutely stunning!!! Ever considered to release the UI/menu as a template/standalone? 😋

  • Like 2

Share this post


Link to post
Share on other sites

It's a highly specific and bespoke UI using custom graphical elements made in Adobe Illustrator, so I doubt it would be very useful as a standalone template.

But hey, if you have a specific use for it I could try and cook something up when I have more time.

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites
21 hours ago, alpha993 said:

It's a highly specific and bespoke UI using custom graphical elements made in Adobe Illustrator, so I doubt it would be very useful as a standalone template.

But hey, if you have a specific use for it I could try and cook something up when I have more time.

Hey man thanks, your offer is welcomed, and if you don't mind I'll PM you on a  much forward time for that. (gotta get a clear idea on how to play this card first..lol).

As far as the UI template/standalone goes, many mission makers know how to put together a campaign but not all of us have the knowledge to create a UI like that to present the campaign so nicely. By adjusting the "campaign Description.ext" and the UI files/graphics elements should be easier than starting from scratch...right?

I'm just babbling brother...don't mind me...this quarantine has worn me out..hahaha

  • Like 1
  • Haha 2

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

×