startLoadingScreen: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - "\<dt class\=\"note\"\>\'\'\'\[\[(.*)\]\]\'\'\'" to "<dt class="note">$1") |
Lou Montana (talk | contribs) (Add example) |
||
Line 7: | Line 7: | ||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
| Shows loading screen with the given text, using the given resource. While loading screen is shown, simulation and scene drawing is disabled, user control is disabled, mouse cursor is hidden, scripts run at full speed (50ms per frame instead of 3ms per frame for [[Scheduler|Scheduled Scripts]]). The loading screen does not end by itself and needs [[endLoadingScreen]] command | | Shows loading screen with the given text, using the given resource. While loading screen is shown, simulation and scene drawing is disabled, user control is disabled, mouse cursor is hidden, scripts run at full speed (50ms per frame instead of 3ms per frame for [[Scheduler|Scheduled Scripts]]). | ||
{{ | {{Important | The loading screen does not end by itself and absolutely needs a call to [[endLoadingScreen]] command.}} | ||
{{Warning | The game simulation is disabled during Loading Screen operation (at least in SP), therefore any use of [[sleep]] command will pause the game indefinitely. If you have to "sleep", use [[uiSleep]].}} | |||
By default (if custom resource is not provided) [[startLoadingScreen]] will use "RscDisplayNotFreeze" resource. If you are using custom resource ( | By default (if custom resource is not provided) [[startLoadingScreen]] will use "RscDisplayNotFreeze" resource. If you are using a custom resource (that can be defined in [[Description.ext]]), the following resource's controls are supported by the engine: | ||
* idc | * idc {{=}} 101; - text (type {{=}} 0;) or picture (type {{=}} 48;). The text will be set to the text provided by the command param. | ||
* idc | * idc {{=}} 103; - progress (type {{=}} 8;) or animated texture (type {{=}} 45;). This control indicates global hardcoded mission loading progress and is useless after mission is loaded. | ||
* idc | * idc {{=}} 104; - progress (type {{=}} 8;). This control's progress is initially set to 0 and can be manipulated with [[progressLoadingScreen]] command. |DESCRIPTION= | ||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
| | | [[startLoadingScreen]] [text, resource] |SYNTAX= | ||
|p1= | |p1= text: [[String]] |PARAMETER1= | ||
|p2 | |p2= resource (Optional): [[String]] |PARAMETER2= | ||
| [[Nothing]] |RETURNVALUE= | | [[Nothing]] |RETURNVALUE= | ||
|x1= <code>[[startLoadingScreen]] ["Loading My Mission, please wait..."];</code>|EXAMPLE1= | |x1= <code>[[startLoadingScreen]] ["Loading My Mission, please wait..."];</code>|EXAMPLE1= | ||
|x2= <code>[[startLoadingScreen]] ["Can't skip loading time...", "MyLoadingRsc"];</code>|EXAMPLE2= | |x2= <code>[[startLoadingScreen]] ["Can't skip loading time...", "MyLoadingRsc"];</code>|EXAMPLE2= | ||
|x3= <code>[[startLoadingScreen]] ["Loading My Mission"]; | |x3= <code>[[startLoadingScreen]] ["Loading My Mission"]; | ||
{{cc|code}} | |||
[[progressLoadingScreen]] 0.5; | [[progressLoadingScreen]] 0.5; | ||
{{cc|code}} | |||
[[endLoadingScreen]];</code>|EXAMPLE3= | [[endLoadingScreen]];</code>|EXAMPLE3= | ||
|x4= <code>{{cc|this structure prevents error-prone or lengthy code to miss [[endLoadingScreen]].}} | |||
[[private]] _maxTime = [[diag_tickTime]] + 30; {{cc|max 30s of loading}} | |||
[[startLoadingScreen]] ["Loading"]; | |||
[[private]] _handle = [] [[spawn]] { | |||
{{cc|code that may crash or take too long}} | |||
}; | |||
[[waitUntil]] { sleep .01; [[scriptDone]] _handle {{!}}{{!}} [[diag_tickTime]] > _maxTime }; | |||
[[endLoadingScreen]];</code> |EXAMPLE4= | |||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
Line 55: | Line 59: | ||
<dd class="note">As it stops simulation as well as scene drawing, be sure not to put any [[sleep]] (or [[waitUntil]] if you are checking for in-game changes ; waitUntil for var initialization or script loading is ok) command between '''startLoadingScreen''' and [[endLoadingScreen]]. | <dd class="note">As it stops simulation as well as scene drawing, be sure not to put any [[sleep]] (or [[waitUntil]] if you are checking for in-game changes ; waitUntil for var initialization or script loading is ok) command between '''startLoadingScreen''' and [[endLoadingScreen]]. | ||
<dd class="notedate">Posted on January 18, 2010 - 08:07 (CEST) | <dd class="notedate">Posted on January 18, 2010 - 08:07 (CEST)</dd> | ||
<dt class="note">[[User:Lou Montana|Lou Montana]] | <dt class="note">[[User:Lou Montana|Lou Montana]]</dt> | ||
<dd class="note">edit 10:15 : Whatever transparence you define in your own resource, there will be a black screen to cache loading.<br> | <dd class="note">edit 10:15 : Whatever transparence you define in your own resource, there will be a black screen to cache loading.<br> | ||
It's up to you to choose a nice blue background :-)<br> | It's up to you to choose a nice blue background :-)<br> | ||
<br> | <br> | ||
Resource has to be defined in description.ext ; it must NOT be defined as RscTitles ! Here is an example : | Resource has to be defined in description.ext; it must NOT be defined as RscTitles! Here is an example: | ||
<syntaxhighlight lang="cpp"></syntaxhighlight> | |||
<spoiler> | <spoiler> | ||
< | <syntaxhighlight lang="cpp"> | ||
// '''basic defines''' | // '''basic defines''' | ||
// | // | ||
Line 186: | Line 191: | ||
}; | }; | ||
}; | }; | ||
</ | </syntaxhighlight> | ||
</spoiler> | </spoiler> | ||
</dd> | |||
<!-- Note Section END --> | <!-- Note Section END --> | ||
Line 195: | Line 200: | ||
<h3 style='display:none'>Bottom Section</h3> | <h3 style='display:none'>Bottom Section</h3> | ||
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]] | [[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]] | ||
[[Category:Scripting Commands Take On Helicopters|{{uc:{{PAGENAME}}}}]] | [[Category:Scripting Commands Take On Helicopters|{{uc:{{PAGENAME}}}}]] | ||
<!-- CONTINUE Notes --> | <!-- CONTINUE Notes --> |
Revision as of 15:45, 30 June 2020
Description
- Description:
- Shows loading screen with the given text, using the given resource. While loading screen is shown, simulation and scene drawing is disabled, user control is disabled, mouse cursor is hidden, scripts run at full speed (50ms per frame instead of 3ms per frame for Scheduled Scripts).
By default (if custom resource is not provided) startLoadingScreen will use "RscDisplayNotFreeze" resource. If you are using a custom resource (that can be defined in Description.ext), the following resource's controls are supported by the engine:
- idc = 101; - text (type = 0;) or picture (type = 48;). The text will be set to the text provided by the command param.
- idc = 103; - progress (type = 8;) or animated texture (type = 45;). This control indicates global hardcoded mission loading progress and is useless after mission is loaded.
- idc = 104; - progress (type = 8;). This control's progress is initially set to 0 and can be manipulated with progressLoadingScreen command.
- Groups:
- Uncategorised
Syntax
- Syntax:
- startLoadingScreen [text, resource]
- Parameters:
- text: String
- resource (Optional): String
- Return Value:
- Nothing
Examples
- Example 1:
startLoadingScreen ["Loading My Mission, please wait..."];
- Example 2:
startLoadingScreen ["Can't skip loading time...", "MyLoadingRsc"];
- Example 3:
startLoadingScreen ["Loading My Mission"]; // code progressLoadingScreen 0.5; // code endLoadingScreen;
- Example 4:
// this structure prevents error-prone or lengthy code to miss endLoadingScreen. private _maxTime = diag_tickTime + 30; // max 30s of loading startLoadingScreen ["Loading"]; private _handle = [] spawn { // code that may crash or take too long }; waitUntil { sleep .01; scriptDone _handle || diag_tickTime > _maxTime }; endLoadingScreen;
Additional Information
- See also:
- endLoadingScreenprogressLoadingScreen
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
- Posted on July 15, 2009 - 01:47 (CEST)
- Lou Montana
- As it stops simulation as well as scene drawing, be sure not to put any sleep (or waitUntil if you are checking for in-game changes ; waitUntil for var initialization or script loading is ok) command between startLoadingScreen and endLoadingScreen.
- Posted on January 18, 2010 - 08:07 (CEST)
- Lou Montana
- edit 10:15 : Whatever transparence you define in your own resource, there will be a black screen to cache loading.
It's up to you to choose a nice blue background :-)
Resource has to be defined in description.ext; it must NOT be defined as RscTitles! Here is an example:↑ Back to spoiler's top// '''basic defines''' // class RscText { type = 0; idc = -1; x = 0; y = 0; h = 0.037; w = 0.3; style = 0x100; font = Zeppelin32; SizeEx = 0.03921; colorText[] = {1,1,1,1}; colorBackground[] = {0, 0, 0, 0}; linespacing = 1; }; class RscPicture { access=0; type=0; idc=-1; style=48; colorBackground[]={0,0,0,0}; colorText[]={1,1,1,1}; font="TahomaB"; sizeEx=0; lineSpacing=0; text=""; }; class RscLoadingText : RscText { style = 2; x = 0.323532; y = 0.666672; w = 0.352944; h = 0.039216; sizeEx = 0.03921; colorText[] = {0.543,0.5742,0.4102,1.0}; }; class RscProgress { x = 0.344; y = 0.619; w = 0.313726; h = 0.0261438; texture = "\ca\ui\data\loadscreen_progressbar_ca.paa"; colorFrame[] = {0,0,0,0}; colorBar[] = {1,1,1,1}; }; class RscProgressNotFreeze { idc = -1; type = 45; style = 0; x = 0.022059; y = 0.911772; w = 0.029412; h = 0.039216; texture = "#(argb,8,8,3)color(0,0,0,0)"; }; // // '''the loading screen itself''' // class Harrier_loadingScreen { idd = -1; duration = 10e10; fadein = 0; fadeout = 0; name = "loading screen"; class controlsBackground { class blackBG : RscText { x = safezoneX; y = safezoneY; w = safezoneW; h = safezoneH; text = ""; colorText[] = {0,0,0,0}; colorBackground[] = {0,0,0,1}; }; class nicePic : RscPicture { style = 48 + 0x800; // '''ST_PICTURE + ST_KEEP_ASPECT_RATIO''' x = safezoneX + safezoneW/2 - 0.25; y = safezoneY + safezoneH/2 - 0.2; w = 0.5; h = 0.4; text = "img\nicePic.paa"; }; }; class controls { class Title1 : RscLoadingText { text = "$STR_LOADING"; // '''"Loading" text in the middle of the screen''' }; class CA_Progress : RscProgress // '''progress bar, has to have idc 104''' { idc = 104; type = 8; // '''CT_PROGRESS''' style = 0; // '''ST_SINGLE''' texture = "\ca\ui\data\loadscreen_progressbar_ca.paa"; }; class CA_Progress2 : RscProgressNotFreeze // '''progress bar that will go reverse''' { idc = 103; }; class Name2: RscText // '''the text on the top-left''' { idc = 101; x = 0.05; y = 0.029412; w = 0.9; h = 0.04902; text = ""; sizeEx = 0.05; colorText[] = {0.543,0.5742,0.4102,1.0}; }; }; };
Bottom Section
- Posted on November 21, 2015 - 18:38 (UTC)
- Killzone Kid
- In Arma 3 default loading screen has no control do display text. The description of the command now contains information what is needed to create custom loading screen resource.