BIS fnc eventTimeline: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "<code>([^<]+)<\/code>" to "<sqf>$1</sqf>")
m (Some wiki formatting)
Line 14: Line 14:
|s1= [timeline, index, music, codeInterrupt, codeEnd] call [[BIS_fnc_eventTimeline]]
|s1= [timeline, index, music, codeInterrupt, codeEnd] call [[BIS_fnc_eventTimeline]]


|p1= timeline: [[Array]] - Timeline in format [ [1.0, {code} ], [2.0, {code} ], [2.3, {code} ], [4.7, {code} ] ]
|p1= timeline: [[Array]] - timeline in format <nowiki>[[1.0, {code}], [2.0, {code}], [2.3, {code}], [4.7, {code}]]</nowiki>


|p2= index: [[Number]] - (Optional, default 0) Index of the event to play
|p2= index: [[Number]] - (Optional, default 0) index of the event to play


|p3= music: [[String]] - (Optional, default "") Music to be played which will provide the sync time for the timeline
|p3= music: [[String]] - (Optional, default "") music to be played which will provide the sync time for the timeline


|p4= codeInterrupt: [[Code]] - (Optional, default<br>
|p4= codeInterrupt: [[Code]] - (Optional, default  
{{ic|[[params]] ["_pointer", "_baseTime", "_evenTime"];}}<br>
<sqf inline>params ["_pointer", "_baseTime", "_evenTime"];
{{ic|["Timeline interrupted while playing event nr.: %1 (%2)", _pointer, _baseTime + _eventTime] [[call]] [[BIS_fnc_logFormat]];}})<br>Code to be executed if the timeline is interrupted with  
["Timeline interrupted while playing event nr.: %1 (%2)", _pointer, _baseTime + _eventTime] call BIS_fnc_logFormat;</sqf>)<br>Code to be executed if the timeline is interrupted with  
{{ic|[[missionNamespace]] [[setVariable]] ["BIS_fnc_eventTimeline_playing", [[false]]]}}
<sqf inline>missionNamespace setVariable ["BIS_fnc_eventTimeline_playing", false]</sqf>


|p5= codeEnd: [[Array]] or [[Code]] - (Optional, default [[nil]]) [[Code]] or [[Array]] of codes to be executed once the timeline is finished. The codes are [[call]]ed one after the other.
|p5= codeEnd: [[Array]] or [[Code]] - (Optional, default [[nil]]) [[Code]] or [[Array]] of codes to be executed once the timeline is finished. The codes are [[call]]ed one after the other.
Line 29: Line 29:
|r1= [[Nothing]]
|r1= [[Nothing]]


|x1=  
|x1= <sqf>
<sqf>private _timeline =  
private _timeline =
[  
[
[0.0, { hint "Start of the Timeline" } ],  
[0.0, { hint "Start of the Timeline" } ],
[1.0, { hint "Event 1" }     ],  
[1.0, { hint "Event 1" } ],
[3.0, { hint "End of the timeline" } ]  
[3.0, { hint "End of the timeline" } ]
];
];


[_timeline, 0, "", {hint "Interrupted"}, {hint "Timeline done"}] spawn BIS_fnc_eventTimeline;</sqf>
[_timeline, 0, "", { hint "Interrupted" }, { hint "Timeline done" }] spawn BIS_fnc_eventTimeline;
</sqf>


|exec= spawn
|exec= spawn

Revision as of 18:18, 13 July 2022

Hover & click on the images for description

Description

Description:
Universal system for playing sequential events defined by time.
codeInterrupt and codeEnd are called while the code in the timeline is spawned.
Execution:
spawn
Groups:
TimelineSystems

Syntax

Syntax:
[timeline, index, music, codeInterrupt, codeEnd] call BIS_fnc_eventTimeline
Parameters:
timeline: Array - timeline in format [[1.0, {code}], [2.0, {code}], [2.3, {code}], [4.7, {code}]]
index: Number - (Optional, default 0) index of the event to play
music: String - (Optional, default "") music to be played which will provide the sync time for the timeline
codeInterrupt: Code - (Optional, default params ["_pointer", "_baseTime", "_evenTime"]; ["Timeline interrupted while playing event nr.: %1 (%2)", _pointer, _baseTime + _eventTime] call BIS_fnc_logFormat;)
Code to be executed if the timeline is interrupted with missionNamespace setVariable ["BIS_fnc_eventTimeline_playing", false]
codeEnd: Array or Code - (Optional, default nil) Code or Array of codes to be executed once the timeline is finished. The codes are called one after the other.
Return Value:
Nothing

Examples

Example 1:
private _timeline = [ [0.0, { hint "Start of the Timeline" } ], [1.0, { hint "Event 1" } ], [3.0, { hint "End of the timeline" } ] ]; [_timeline, 0, "", { hint "Interrupted" }, { hint "Timeline done" }] spawn BIS_fnc_eventTimeline;

Additional Information

See also:
BIS_fnc_animatedBriefing

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