playScriptedMission
Jump to navigation
Jump to search
Description
- Description:
- Load the given world, launch an empty mission, and execute the given expression. If provided, config can reference to the config entry, replacing Description.ext for this mission.
- Groups:
- System
Syntax
- Syntax:
- playScriptedMission [world, expression, config, ignoreChildWindow]
- Parameters:
- world: String
- expression: Code
- config: Config - (Optional)
- ignoreChildWindow: Boolean - (Optional)
- Return Value:
- Nothing
Examples
- Example 1:
- playScriptedMission [ "desert_e", { execVM "\ca\missions_e\data\scenes\credits1\init.sqf"; }, configFile / "CfgMissions" / "Cutscenes" / "Credits" ];
Additional Information
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
- Posted on Dec 31, 2015 - 17:55 (UTC)
-
For this command to work, you will need to:
- call command with ignoreChildWindow param set to true (in VBS docs its called fromMission)
- 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)
- if mission is run from single mission browser, you can just close RscDisplaySingleMission (idd 2)
- end mission
Command is a bit bugged:- third (config) param doesn't seem to work
- if you run this command in mission loaded from pbo, said pbo won't be writable until you close the game (you can't update it)
(tested in Arma 3 1.54.133741)disableSerialization; playScriptedMission ['Stratis', { private _grp = createGroup west; private _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 essentially forceEnd command // Closing #0 will cause game to fail _zero = findDisplay 0; { if (_x != _zero) then { _x closeDisplay 1; }; } foreach allDisplays; failMission "END1";