padarom 10 Posted August 9, 2013 Hey there, the mission "DEFEND 10 Defend Kamino" has a time skip screen after each attack wave. The helicopter showcase has a similar one (you can see it in this picture). My question is: How to create a screen like this one for a co-op mission in the scenario editor? Thanks in advance Padarom Share this post Link to post Share on other sites
kylania 568 Posted August 9, 2013 Oh, is that the "time skip" thing everyone is talking about? No wonder I couldn't find it since that's just a text splash. :) Here's how to do it: http://forums.bistudio.com/showthread.php?160691-Triggered-messages&p=2458052&viewfull=1#post2458052 Just toss in a skiptime or whatever as you play that. Share this post Link to post Share on other sites
padarom 10 Posted August 9, 2013 Okay I have no clue whether the first sentence is sarcasm, or not. But nevertheless, thanks for the link :D Share this post Link to post Share on other sites
kylania 568 Posted August 9, 2013 Not sarcasm. :) People kept asking "how to do the fast time thing" in that mission. Player missions from ArmA2 had really neat "time passing" effects where the world would go greyscale and clouds sped up and the clock ticked by, but there was nothing like that in that mission when I went looking for such effects so I had no idea what people were talking about. heh Share this post Link to post Share on other sites
padarom 10 Posted August 9, 2013 (edited) Hehe okay. The effect you're talking about really sounds neat. Would be nice to see something like this ported to ArmA 3. edit: Hopefully you're still reading this. Your code from the other thread works for writing text on the screen. However it would be good to also have that black background- Which it does not have right now. It would be great if you could provide me some additional code for that. Thanks! Edited August 9, 2013 by Padarom Share this post Link to post Share on other sites
kylania 568 Posted August 9, 2013 Change the function to this: Bis_printSampleText = { titleCut ["", "BLACK FADED", 999]; _msg = [ ["CAMP ROGAIN, RESSUPLY POINT","<t align = 'center' shadow = '1' size = '0.7'>%1</t><br/>"], ["10 MINUTES LATER ...","<t align = 'center' shadow = '1' size = '1.0'>%1</t><br/>"] ] spawn Bis_printText; waitUntil{scriptDone _msg}; "dynamicBlur" ppEffectEnable true; "dynamicBlur" ppEffectAdjust [6]; "dynamicBlur" ppEffectCommit 0; "dynamicBlur" ppEffectAdjust [0.0]; "dynamicBlur" ppEffectCommit 5; titleCut ["", "BLACK IN", 5]; }; Then call it with spawn instead of call: 0 = [] spawn BIS_printSampleText; Share this post Link to post Share on other sites
padarom 10 Posted August 9, 2013 Thank you very much, that worked perfect for me :) Share this post Link to post Share on other sites
Valixx 11 Posted August 10, 2013 Hey guys, sorry to "reopen" this thread but i've got a question. Can we build a sleep into this code, so that when the message fully appeared it should stay there a while, let's say for 5 seconds and then disappear? Maybe: Bis_printSampleText = { titleCut ["", "BLACK FADED", 999]; _msg = [ ["CAMP ROGAIN, RESSUPLY POINT","<t align = 'center' shadow = '1' size = '0.7'>%1</t><br/>"], ["10 MINUTES LATER ...","<t align = 'center' shadow = '1' size = '1.0'>%1</t><br/>"] ] spawn Bis_printText; //sleep here? waitUntil{scriptDone _msg}; // or here? "dynamicBlur" ppEffectEnable true; "dynamicBlur" ppEffectAdjust [6]; "dynamicBlur" ppEffectCommit 0; "dynamicBlur" ppEffectAdjust [0.0]; "dynamicBlur" ppEffectCommit 5; titleCut ["", "BLACK IN", 5]; }; Cheers, Valixx Share this post Link to post Share on other sites
kylania 568 Posted August 10, 2013 (edited) In the //or here part. Well, actually the length it stays is probably part of main script. Edited August 10, 2013 by kylania Share this post Link to post Share on other sites
Valixx 11 Posted August 10, 2013 Thank you kylania. Share this post Link to post Share on other sites
Bastirip 10 Posted August 12, 2013 Hello, thank you for the posts, but i think something went wrong for me. I´ve copied all into my init.sqf but i get a failure notice and my screen keeps black. Error Undefined Variable in expression: _msg Can anyone tell me where the problem is? Greetings Share this post Link to post Share on other sites
Valixx 11 Posted August 12, 2013 Bis_printText = { private["_blocks","_block","_blockCount","_blockNr","_blockArray","_blockText","_blockTextF","_blockTextF_","_blockFormat","_formats","_inputData","_processedTextF","_char","_cursorBlinks","_cursorInvis"]; _blockCount = count _this; _invisCursor = "<t color ='#00000000' shadow = '0'>_</t>"; //process the input data _blocks = []; _formats = []; { _inputData = _x; _block = [_inputData, 0, "", [""]] call BIS_fnc_param; _format = [_inputData, 1, "<t align = 'center' shadow = '1' size = '0.7'>%1</t><br/>", [""]] call BIS_fnc_param; //convert strings into array of chars _blockArray = toArray _block; {_blockArray set [_forEachIndex, toString [_x]]} forEach _blockArray; _blocks = _blocks + [_blockArray]; _formats = _formats + [_format]; } forEach _this; //do the printing _processedTextF = ""; { _blockArray = _x; _blockNr = _forEachIndex; _blockFormat = _formats select _blockNr; _blockText = ""; _blockTextF = ""; _blockTextF_ = ""; { _char = _x; _blockText = _blockText + _char; _blockTextF = format[_blockFormat, _blockText + _invisCursor]; _blockTextF_ = format[_blockFormat, _blockText + "_"]; //print the output [(_processedTextF + _blockTextF_), 0, 0.15, 5, 0, 0, 90] spawn BIS_fnc_dynamicText; playSound "click"; sleep 0.08; [(_processedTextF + _blockTextF), 0, 0.15, 5, 0, 0, 90] spawn BIS_fnc_dynamicText; sleep 0.02; } forEach _blockArray; if (_blockNr + 1 < _blockCount) then { _cursorBlinks = 5; } else { _cursorBlinks = 15; }; for "_i" from 1 to _cursorBlinks do { [_processedTextF + _blockTextF_, 0, 0.15, 5, 0, 0, 90] spawn BIS_fnc_dynamicText; sleep 0.08; [_processedTextF + _blockTextF, 0, 0.15, 5, 0, 0, 90] spawn BIS_fnc_dynamicText; sleep 0.02; }; //store finished block _processedTextF = _processedTextF + _blockTextF; } forEach _blocks; //clean the screen ["", 0, 0.15, 5, 0, 0, 90] spawn BIS_fnc_dynamicText; }; Bis_printSampleText = { titleCut ["", "BLACK FADED", 999]; _msg = [ ["CAMP ROGAIN, RESSUPLY POINT","<t align = 'center' shadow = '1' size = '0.7'>%1</t><br/>"], ["10 MINUTES LATER ...","<t align = 'center' shadow = '1' size = '1.0'>%1</t><br/>"] ] spawn Bis_printText; waitUntil{scriptDone _msg}; "dynamicBlur" ppEffectEnable true; "dynamicBlur" ppEffectAdjust [6]; "dynamicBlur" ppEffectCommit 0; "dynamicBlur" ppEffectAdjust [0.0]; "dynamicBlur" ppEffectCommit 5; titleCut ["", "BLACK IN", 5]; }; 0 = [] spawn BIS_printSampleText; Test this one. Maybe you forgot something to copy/paste or .... 1 Share this post Link to post Share on other sites
Bastirip 10 Posted August 12, 2013 (edited) @Valixx: Man you are my hero!! Works perfect now! I´ll try to find my fault, i need to understand this :) Meanwhile i use the code out of your post :) €dit: one problem left, i want to run this script with a trigger not on start... the trigger fires -> Script run but when i put this 0 = [] call BIS_printSampleText; into the "onact" field i get failures, the Text works but the blackscreen shows up only a bit of a second. ArmA III say there´s a problem in line 97, it says: waitUntil{scriptDone _msg}; €dit2: problem solved, the OnAct command need to be: 0 = [] spawn BIS_printSampleText; Greetings and thanks a lot! Edited August 12, 2013 by Bastirip Share this post Link to post Share on other sites
the_demongod 31 Posted October 8, 2013 To clarify (because I remember how frustrated I used to be when I couldn't get cool things like this to work), to fix the problem where the text screen occurs as soon as the mission starts, just go the the init.sqf where you pasted the above scripts, and delete the line that says 0 = [] spawn BIS_printSampleText; this is what tells the whole script to execute. If you want the screen to be activated by a trigger, just take the 0 = [] spawn BIS_printSampleText; line and paste that into the onAct field. ave, the_Demongod Share this post Link to post Share on other sites
2nd ranger 282 Posted October 8, 2013 the mission "DEFEND 10 Defend Kamino" has a time skip screen after each attack wave. Just for anyone who might find this thread in a search for time skips and such, what Padarom was referring to here was bis_fnc_showTime. It displays an animated counter to show the change between two times (or dates), much like in the A2 Harvest Red campaign. It can be used like this: [] spawn { _date = date; _date set [3,18]; [color="#FF8C00"]//--- new hour (18)[/color] _date set [4,35]; [color="#FF8C00"]//--- new minute (35)[/color] cuttext ["","black out"]; 1 fadesound 0; sleep 1; _showtime = [ date, [color="#FF8C00"]//--- Start time[/color] _date, [color="#FF8C00"] //--- End time[/color] 95 [color="#FF8C00"]//--- Counter speed[/color] ] call bis_fnc_showTime; setdate _date; 2 fadesound 1; sleep 2; _showtime cuttext ["","black in"]; cuttext ["","black in"]; }; 1 Share this post Link to post Share on other sites