playScriptedMission: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - "\|s([0-9])\= '''([^' ]+)'''([^ ]+) " to "|s$1= $2$3 ") |
Lou Montana (talk | contribs) m (Text replacement - "<sqf>([^↵][^<]*↵[^<]*)<\/sqf>" to "<sqf> $1 </sqf>") |
||
(10 intermediate revisions by 3 users not shown) | |||
Line 16: | Line 16: | ||
|descr= Load the given world, launch an empty mission, and execute the given expression. | |descr= 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. | |||
|s1= [[playScriptedMission]] [world, expression, config, ignoreChildWindow] | |s1= [[playScriptedMission]] [world, expression, config, ignoreChildWindow] | ||
Line 24: | Line 24: | ||
|p2= expression: [[Code]] | |p2= expression: [[Code]] | ||
|p3= config | |p3= config: [[Config]] - (Optional) | ||
|p4= ignoreChildWindow | |p4= ignoreChildWindow: [[Boolean]] - (Optional) | ||
|r1= [[Nothing]] | |r1= [[Nothing]] | ||
|x1= < | |x1= <sqf> | ||
playScriptedMission | |||
[ | [ | ||
"desert_e", | "desert_e", | ||
{ | { | ||
execVM "\ca\missions_e\data\scenes\credits1\init.sqf"; | |||
}, | }, | ||
configFile / "CfgMissions" / "Cutscenes" / "Credits" | |||
]; | ]; | ||
</ | </sqf> | ||
|seealso= [[hostMission]] | |seealso= [[hostMission]] [[playMission]] [[createMissionDisplay]] [[createMPCampaignDisplay]] | ||
}} | }} | ||
{{Note | |||
|user= SkaceKachna | |||
|timestamp= 20151231175500 | |||
|text= For this command to work, you will need to: | |||
For this command to work, you will need to: | |||
# call command with ignoreChildWindow param set to true (in VBS docs its called fromMission) | # 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): | # 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 -- [[user:benargee|benargee]]) | ||
#* | #* if mission is run from single mission browser, you can just close RscDisplaySingleMission (idd 2) | ||
# end mission | # end mission | ||
Line 61: | Line 57: | ||
Command is a bit bugged: | 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) | ||
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. | ||
< | <sqf> | ||
disableSerialization; | |||
playScriptedMission ['Stratis', { | |||
private _grp = createGroup west; | |||
private _player = _grp createUnit ["B_Soldier_F", [0,0,0], [], 0, "NONE"]; | |||
}, | selectPlayer _player; | ||
}, missionConfigFile, true]; | |||
_zero = | // 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 | _x closeDisplay 1; | ||
}; | }; | ||
} | } foreach allDisplays; | ||
failMission "END1"; | |||
</sqf> | |||
(tested in {{arma3}} 1.54.133741) | (tested in {{arma3}} 1.54.133741) | ||
}} | |||
Latest revision as of 19:42, 3 September 2024
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";