BIS fnc VRTimer: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "<code>([^<]*)\[\[([a-zA-Z][a-zA-Z0-9_]+)\]\]([^<]*) *<\/code>" to "<code>$1$2$3</code>")
m (Text replacement - " |s1=[" to " |s1= [")
 
(2 intermediate revisions by the same user not shown)
Line 13: Line 13:
* {{hl|RscFiringDrillTime_done}}: set to [[true]] to close the display. '''''Stop the timer first'''''
* {{hl|RscFiringDrillTime_done}}: set to [[true]] to close the display. '''''Stop the timer first'''''


|s1=[colour] spawn [[BIS_fnc_VRTimer]]
|s1= [colour] spawn [[BIS_fnc_VRTimer]]


|p1= colour: [[String]] (Optional, default {{ic|(["IGUI", "WARNING_RGB"] [[call]] [[BIS_fnc_displayColorGet]]) [[call]] [[BIS_fnc_colorRGBtoHTML]]}}) timer colour in HTML format (#{{Color|red|RR}}{{Color|green|GG}}{{Color|blue|BB}})
|p1= colour: [[String]] (Optional, default <sqf inline>(["IGUI", "WARNING_RGB"] call BIS_fnc_displayColorGet) call BIS_fnc_colorRGBtoHTML</sqf>) timer colour in HTML format (#{{Color|red|RR}}{{Color|green|GG}}{{Color|blue|BB}})


|r1= [[Nothing]]
|r1= [[Nothing]]
Line 28: Line 28:
}}
}}


<dl class="command_description">
{{Note
|user= Lou Montana
|timestamp= 20180604195000
|text= Here is a countdown, inspired by this function:
<sqf>
LM_fnc_timeoutCountdown = {


<dt><dt>
params [
<dd class="notedate">Posted on June 04, 2018 - 19:50 (UTC)</dd>
["_time", 30, [0]],
<dt class="note">[[User:Lou Montana|Lou Montana]]</dt>
["_colour", "#FFFFFF", [""]]
<dd class="note">
];
Here is a countdown, inspired by this function:<br>
private _timeout = time + _time;
<spoiler text="Show function">
RscFiringDrillTime_done = false;
LM_fnc_timeoutCountdown = {
1 cutRsc ["RscFiringDrillTime", "PLAIN"];
while { time < _timeout } do
[[params]] [
{
["_time", 30, [0]],
private _remainingTime = _timeout - time;
["_colour", "#FFFFFF", [""]]
private _timeFormat = [_remainingTime, "MM:SS.MS", true] call BIS_fnc_secondsToString;
];
private _text = format ["<t align='left' color='%1'><img image='%2' />%3:%4<t size='0.8'>.%5</t>",
[[private]] _timeout = [[time]] + _time;
_colour,
RscFiringDrillTime_done = [[false]];
"A3\Modules_F_Beta\data\FiringDrills\timer_ca",
1 [[cutRsc]] ["RscFiringDrillTime", "PLAIN"];
_timeFormat select 0,
[[while]] { [[time]] < _timeout } [[do]]
_timeFormat select 1,
{
_timeFormat select 2
[[private]] _remainingTime = _timeout - [[time]];
];
[[private]] _timeFormat = [_remainingTime, "MM:SS.MS", [[true]]] [[call]] [[BIS_fnc_secondsToString]];
RscFiringDrillTime_current = parseText _text;
[[private]] _text = [[format]] ["<t align='left' color='%1'><img image='%2' />%3:%4<t size='0.8'>.%5</t>",
sleep 0.01;
_colour,
};
"A3\Modules_F_Beta\data\FiringDrills\timer_ca",
private _timeFormat = [0, "MM:SS.MS", true] call BIS_fnc_secondsToString;
_timeFormat [[select]] 0,
RscFiringDrillTime_current = parseText format ["<t align='left' color='%1'><img image='%2' />%3:%4<t size='0.8'>.%5</t>",
_timeFormat [[select]] 1,
_colour,
_timeFormat [[select]] 2
"A3\Modules_F_Beta\data\FiringDrills\timer_ca",
];
_timeFormat select 0,
RscFiringDrillTime_current = [[parseText]] _text;
_timeFormat select 1,
[[sleep]] 0.01;
_timeFormat select 2];
};
sleep 4;
[[private]] _timeFormat = [0, "MM:SS.MS", [[true]]] [[call]] [[BIS_fnc_secondsToString]];
RscFiringDrillTime_done = true;
RscFiringDrillTime_current = [[parseText]] [[format]] ["<t align='left' color='%1'><img image='%2' />%3:%4<t size='0.8'>.%5</t>",
};
_colour,
</sqf>
"A3\Modules_F_Beta\data\FiringDrills\timer_ca",
_timeFormat [[select]] 0,
_timeFormat [[select]] 1,
_timeFormat [[select]] 2];
[[sleep]] 4;
RscFiringDrillTime_done = [[true]];
};</spoiler>
and to use it:
and to use it:
<code>[10, "#FF5500"] spawn LM_fnc_timeoutCountdown;</code>
<sqf>[10, "#FF5500"] spawn LM_fnc_timeoutCountdown;</sqf>
 
}}
</dl>

Latest revision as of 23:11, 12 July 2022

Hover & click on the images for description

Description

Description:
Timer for VR and time trials. The following missionNamespace variables can be used:
  • BIS_stopTimer: set to true to stop the timer. Once stopped, the function must be executed again to restart the timer
  • RscFiringDrillTime_current: fill with Structured Text to display text instead of timer (when timer is stopped)
  • RscFiringDrillTime_done: set to true to close the display. Stop the timer first
Execution:
call
Groups:
VR

Syntax

Syntax:
[colour] spawn BIS_fnc_VRTimer
Parameters:
colour: String (Optional, default (["IGUI", "WARNING_RGB"] call BIS_fnc_displayColorGet) call BIS_fnc_colorRGBtoHTML) timer colour in HTML format (#RRGGBB)
Return Value:
Nothing

Examples

Example 1:
[] spawn BIS_fnc_VRTimer;
Example 2:
"#025D00" spawn BIS_fnc_VRTimer;
Example 3:
["#025D00"] spawn BIS_fnc_VRTimer;

Additional Information

See also:
BIS_fnc_displayColorGet BIS_fnc_colorRGBtoHTML

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
Lou Montana - c
Posted on Jun 04, 2018 - 19:50 (UTC)
Here is a countdown, inspired by this function:
LM_fnc_timeoutCountdown = { params [ ["_time", 30, [0]], ["_colour", "#FFFFFF", [""]] ]; private _timeout = time + _time; RscFiringDrillTime_done = false; 1 cutRsc ["RscFiringDrillTime", "PLAIN"]; while { time < _timeout } do { private _remainingTime = _timeout - time; private _timeFormat = [_remainingTime, "MM:SS.MS", true] call BIS_fnc_secondsToString; private _text = format ["<t align='left' color='%1'><img image='%2' />%3:%4<t size='0.8'>.%5</t>", _colour, "A3\Modules_F_Beta\data\FiringDrills\timer_ca", _timeFormat select 0, _timeFormat select 1, _timeFormat select 2 ]; RscFiringDrillTime_current = parseText _text; sleep 0.01; }; private _timeFormat = [0, "MM:SS.MS", true] call BIS_fnc_secondsToString; RscFiringDrillTime_current = parseText format ["<t align='left' color='%1'><img image='%2' />%3:%4<t size='0.8'>.%5</t>", _colour, "A3\Modules_F_Beta\data\FiringDrills\timer_ca", _timeFormat select 0, _timeFormat select 1, _timeFormat select 2]; sleep 4; RscFiringDrillTime_done = true; };
and to use it:
[10, "#FF5500"] spawn LM_fnc_timeoutCountdown;