playScriptedMission: Difference between revisions
Jump to navigation
Jump to search
m (template:command argument fix) |
Lou Montana (talk | contribs) m (Text replacement - "<sqf>([^↵][^<]*↵[^<]*)<\/sqf>" to "<sqf> $1 </sqf>") |
||
(42 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{RV|type=command | ||
| arma2 |= | |game1= arma2 | ||
|version1= 1.00 | |||
|1. | |game2= arma2oa | ||
|version2= 1.50 | |||
| | |game3= tkoh | ||
|version3= 1.00 | |||
| | |game4= arma3 | ||
|version4= 0.50 | |||
| | |gr1= System | ||
| | |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] | ||
| | |p1= world: [[String]] | ||
| | |p2= expression: [[Code]] | ||
| [[ | |p3= config: [[Config]] - (Optional) | ||
|p4= ignoreChildWindow: [[Boolean]] - (Optional) | |||
|x1= | |r1= [[Nothing]] | ||
< | |||
|x1= <sqf> | |||
playScriptedMission | playScriptedMission | ||
[ | [ | ||
"desert_e", | "desert_e", | ||
{ | { | ||
execVM "\ca\missions_e\data\scenes\credits1\init.sqf"; | |||
}, | }, | ||
configFile/"CfgMissions"/"Cutscenes"/"Credits" | configFile / "CfgMissions" / "Cutscenes" / "Credits" | ||
]; | ]; | ||
</ | </sqf> | ||
| | |seealso= [[hostMission]] [[playMission]] [[createMissionDisplay]] [[createMPCampaignDisplay]] | ||
}} | }} | ||
{{Note | |||
|user= SkaceKachna | |||
|timestamp= 20151231175500 | |||
|text= 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 -- [[user:benargee|benargee]]) | |||
#* if mission is run from single mission browser, you can just close RscDisplaySingleMission (idd 2) | |||
# end mission | |||
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> | ||
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> | ||
playScriptedMission ['Stratis',{ | disableSerialization; | ||
playScriptedMission ['Stratis', { | |||
private _grp = createGroup west; | |||
_player = _grp createUnit ["B_Soldier_F",[0,0,0],[],0,"NONE"]; | private _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 | // Close all displays that could be the background display ... this is essentially forceEnd command | ||
//Closing #0 will cause game to fail | // Closing #0 will cause game to fail | ||
_zero = findDisplay | _zero = findDisplay 0; | ||
{ | { | ||
if (_x != _zero) then { | if (_x != _zero) then { | ||
Line 98: | Line 77: | ||
}; | }; | ||
} foreach allDisplays; | } foreach allDisplays; | ||
failMission "END1"; | |||
failMission "END1";</ | </sqf> | ||
(tested in | (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";