playScriptedMission: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (added spaces after commas)
No edit summary
Line 69: Line 69:
<dt class="note">[[User:SkaceKachna|SkaceKachna]]</dt>
<dt class="note">[[User:SkaceKachna|SkaceKachna]]</dt>
<dd class="note">
<dd class="note">
For this command to work from 2D editor, you will need to<br>
For this command to work, you will need to<br>
<ol>
<ol>
<li>call command with fromMission param (fromMission is unlisted here, it's last param and must be set to true)</li>
<li>call command with ignoreChildWindow param set to true (in VBS docs its called fromMission)</li>
<li>close RscDisplayArcadeMap display (idd 26) (why? I don't have a clue, found with trial and error)(because this was done from 2D editor, so RscDisplayArcadeMap is still active in background -- [[user:benargee|benargee]])</li>
<li>close any opened display (not sure about this part, but closing every display (but #0) seems to work):<br>
If mission is run from 2D editor, you can just close RscDisplayArcadeMap display (idd 26) (because this was done from 2D editor, so RscDisplayArcadeMap is still active in background -- [[user:benargee|benargee]])</li>
If mission is run from single mission browser, you can just close RscDisplaySingleMission (idd 2)</li>
<li>end mission</li>
<li>end mission</li>
</ol>
</ol>
Debriefing will show and player will be moved to new mission after clicking on Continue.<br><br>
Debriefing will show and player will be moved to new mission after clicking on Continue.<br><br>
Following code will change change island to Stratis and spawns player as basic soldier at [0,0,0] coordinates.
Following code will change change island to Stratis and spawns player as basic soldier at [0,0,0] coordinates.
<code><nowiki>playScriptedMission ['Stratis',{
<code><nowiki>disableSerialization;
playScriptedMission ['Stratis',{
createCenter west;
createCenter west;
_grp = createGroup west;
_grp = createGroup west;
_player = _grp createUnit ["B_Soldier_F",[0,0,0],[],0,"NONE"];
_player = _grp createUnit ["B_Soldier_F",[0,0,0],[],0,"NONE"];
selectPlayer _player;
selectPlayer _player;
},missionConfigFile,true];
},missionConfigFile, true];
 
//Close all displays that could be the background display ... this is essentialy forceEnd command
//Closing #0 will cause game to fail
_zero = findDisplay(0)
{
if (_x != _zero) then {
_x closeDisplay 1;
};
} foreach allDisplays;


(findDisplay 26) closeDisplay 1;
failMission "END1";</nowiki></code>
failMission "END1";</nowiki></code>
(tested in Arma 3 1.54.133741)
(tested in Arma 3 1.54.133741)

Revision as of 23:44, 31 December 2015

Hover & click on the images for description

Description

Description:
Load the given world, launch an empty mission and execute the given, expression. Config (optional) can reference to the config entry, replacing description.ext for this mission.
Groups:
Uncategorised

Syntax

Syntax:
playScriptedMission [world,expression,config,ignoreChildWindow]
Parameters:
[world,expression,config,ignoreChildWindow]: Array -
world: String
expression: Code
config (Optional): Config
ignoreChildWindow (Optional): Boolean
Return Value:
Nothing

Examples

Example 1:
playScriptedMission
[
	"desert_e",
	{
		private["_handle"];
		_handle = execVM "\ca\missions_e\data\scenes\credits1\init.sqf";
	},
	configFile/"CfgMissions"/"Cutscenes"/"Credits"
];

Additional Information

See also:
hostMissionplayMission

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note

Notes

playScriptedMission ["Chernarus",{},missionConfigFile]; Does not work.

Bottom Section

Posted on December 31, 2015 - 17:55 (UTC)
SkaceKachna
For this command to work, you will need to
  1. call command with ignoreChildWindow param set to true (in VBS docs its called fromMission)
  2. close any opened display (not sure about this part, but closing every display (but #0) seems to work):
    If mission is run from 2D editor, you can just close RscDisplayArcadeMap display (idd 26) (because this was done from 2D editor, so RscDisplayArcadeMap is still active in background -- benargee)
  3. If mission is run from single mission browser, you can just close RscDisplaySingleMission (idd 2)
  4. end mission

Debriefing will show and player will be moved to new mission after clicking on Continue.

Following code will change change island to Stratis and spawns player as basic soldier at [0,0,0] coordinates. disableSerialization; playScriptedMission ['Stratis',{ createCenter west; _grp = createGroup west; _player = _grp createUnit ["B_Soldier_F",[0,0,0],[],0,"NONE"]; selectPlayer _player; },missionConfigFile, true]; //Close all displays that could be the background display ... this is essentialy forceEnd command //Closing #0 will cause game to fail _zero = findDisplay(0) { if (_x != _zero) then { _x closeDisplay 1; }; } foreach allDisplays; failMission "END1"; (tested in Arma 3 1.54.133741)