Parias Posted January 9, 2012 Share Posted January 9, 2012 I'm setting up a heavily scripted, dialogue-driven co-op scenario, where two pilots will initially be working independently on separate objectives, but will both be receiving the same text messages from 'Command' based on their progress. Aside from plot purposes, this is also because there doesn't seem to be a way to restrict the text messages to only be sent to a specific player / vehicle owner (just everyone, or everyone on a specific faction). The problem I'm running into with this is that if player A completes his objective at the same time player B does, they'll both have separate, unique lines of dialogue triggered, but the latter one will go over top of and completely interrupt the former one, potentially before he'd have a chance to finish reading it. Is there a way to have the game just display multiple text dialogue boxes at once, or just queue the messages? Or is there some other, better way I can work around this? Link to comment Share on other sites More sharing options...
Geskes Posted January 9, 2012 Share Posted January 9, 2012 Maybe if you would set a flag active in the message triggers that you turn off after some seconds with a continuous trigger, then make one of the conditions of the message triggers that the flag must be false. So say Once > Unit dead "x" AND flag false (1) > Message to all "blabla" AND flag on (1) Continuous > Time since flag (1,20) > flag off (1) That way only one message can be triggered at once and the next one will only be displayed once the control flag is turned off again. I7920/12GBDDR3/ASUS P6T DELUXE V2/MSI GTX 960 GAMING 4G /WIN 10 Ultimate/TM HOTAS WARTHOG Link to comment Share on other sites More sharing options...
chokko Posted January 9, 2012 Share Posted January 9, 2012 actually address the aircraft, when giving the message (i.e. Hawg 2-1)? if you were using voice, i would use a different voice to simulate a different JTAC operator or whatever who is handling that specific aircraft/ mission...i.e. make it easier for other pilot to tune out/ignore irrelevant messages (ah its the delay you want...nevermind...) [sIGPIC][/sIGPIC] Link to comment Share on other sites More sharing options...
Grimes Posted January 9, 2012 Share Posted January 9, 2012 Group MSG and Group SND trigger actions send a message and a sound to a single group. Also Geskes method works quite well. 1 The right man in the wrong place makes all the difference in the world. Current Projects: Grayflag Server, Scripting Wiki Useful Links: Mission Scripting Tools MIST-(GitHub) MIST-(Thread) SLMOD, Wiki wishlist, Mission Editing Wiki!, Mission Building Forum Link to comment Share on other sites More sharing options...
Parias Posted January 9, 2012 Author Share Posted January 9, 2012 Group MSG and Group SND trigger actions send a message and a sound to a single group. Aha! I can't believe I missed that, it even says in the manual that it's useful for multiplayer... if it performs as advertised, it should work perfectly. Maybe if you would set a flag active in the message triggers that you turn off after some seconds with a continuous trigger, then make one of the conditions of the message triggers that the flag must be false. So say Once > Unit dead "x" AND flag false (1) > Message to all "blabla" AND flag on (1) Continuous > Time since flag (1,20) > flag off (1) That way only one message can be triggered at once and the next one will only be displayed once the control flag is turned off again. This is good advice as well and will be useful for cases where I do want both players to receive the same dialogue; I was wondering about using time-since-flag to manage this, but didn't know how to implement it without making one message dependent on the other. I hadn't thought about using a continuous check though, that makes sense. Thanks! Now I can get back to work. Link to comment Share on other sites More sharing options...
Druid_ Posted January 9, 2012 Share Posted January 9, 2012 I've used the flag method but the only problem is that if during the delay you trigger 3 messages then once the delay is over (and flag cleared) they will be displayed in order as they appear in the ME trigger list. There might be occasions when you need a high priority message to take precedance over any others that are queued to display. You can do this also using flags but it does get a bit messy. Tbh it would be nice if messages were automatically queued by DCS and there was a priority option allowed e.g. LOW, MED, HIGH. Might suggest it in the wish list. In the meantime I might take a look at doing it in lua. i7-7700K : 16Gb DDR4 2800 Mhz : Asus Mobo : 2TB HDD : Intel 520 SSD 240gb : RTX 2080ti: Win10 64pro : Dx10 : TrackiR4 : TM Warthog : ASUS ROG SWIFT PG348Q Link to comment Share on other sites More sharing options...
Grimes Posted January 9, 2012 Share Posted January 9, 2012 (edited) Well you can change the triggers around a little bit, and if the priority is a predefined setting for the message, you can implement priority pretty easily... Once > Unit dead "x" > flag on (1), flag 99 increase 1 Once > Unit dead "y" > flag on (2), flag 99 increase 1 Switched Condition> Flag 99 is greater than 0 AND Flag 100 is False> Flag 99 decrease 1,Flag 100 ON, flag 101 On Once> Time since flag 101 is 1 second AND flag 1 is true > Play Message 1, Flag 1 off, flag 102 on, flag 101 off Once> Time since flag 101 is 2 second AND flag 2 is true > Play Message 2, Flag 2 off, flag 102 on, flag 101 off Switched Condition > Time since flag 102 is 20 seconds (or however long it needs to be)> Flag 100 Off, flag 101 off, flag 102 off The message 2 condition can't be true before the message 1 condition is true. Therefor you have a pre-defined priority assigned to the messages. Edited January 10, 2012 by Grimes The right man in the wrong place makes all the difference in the world. Current Projects: Grayflag Server, Scripting Wiki Useful Links: Mission Scripting Tools MIST-(GitHub) MIST-(Thread) SLMOD, Wiki wishlist, Mission Editing Wiki!, Mission Building Forum Link to comment Share on other sites More sharing options...
Druid_ Posted January 10, 2012 Share Posted January 10, 2012 ^ if unit y is killed then 5 secs later unit x is killed then surely message 1 will display over message 2 and vice versa? i.e. At time 6 secs: flag 99 will be 1 but flag 100 is still true (as its within 20 secs). Also it only allows for 19 messages and message delays will get longer. What we need is the ability to push messages to a stack, prioirity messages are placed at the top. The stack is then played with messages being removed as they are played. i7-7700K : 16Gb DDR4 2800 Mhz : Asus Mobo : 2TB HDD : Intel 520 SSD 240gb : RTX 2080ti: Win10 64pro : Dx10 : TrackiR4 : TM Warthog : ASUS ROG SWIFT PG348Q Link to comment Share on other sites More sharing options...
Grimes Posted January 10, 2012 Share Posted January 10, 2012 You are right. I Fixed it, I had forgot something. Also it only allows for 19 messages and message delays will get longer. What we need is the ability to push messages to a stack, prioirity messages are placed at the top. The stack is then played with messages being removed as they are played. I guess if you have 20 different levels of priority, then yah, that would happen. But this assumes that you won't have that many messages that could possibly overlap at a given time and thus only need 2 or 3 levels of priority. Generally 3 levels would work best as you can use level 2 most of the time to play messages first if needed, but you can still use level 1 for those dire messages. The right man in the wrong place makes all the difference in the world. Current Projects: Grayflag Server, Scripting Wiki Useful Links: Mission Scripting Tools MIST-(GitHub) MIST-(Thread) SLMOD, Wiki wishlist, Mission Editing Wiki!, Mission Building Forum Link to comment Share on other sites More sharing options...
Druid_ Posted January 10, 2012 Share Posted January 10, 2012 Yep that works but I'll think I'll stick with a lua solution with all of my messages placed in a table. To me its just tidier and easier to change. I guess if you have 20 different levels of priority, then yah, that would happen. But this assumes that you won't have that many messages that could possibly overlap at a given time and thus only need 2 or 3 levels of priority. Generally 3 levels would work best as you can use level 2 most of the time to play messages first if needed, but you can still use level 1 for those dire messages. Yeh, the edit makes it all apparent now. cheers. i7-7700K : 16Gb DDR4 2800 Mhz : Asus Mobo : 2TB HDD : Intel 520 SSD 240gb : RTX 2080ti: Win10 64pro : Dx10 : TrackiR4 : TM Warthog : ASUS ROG SWIFT PG348Q Link to comment Share on other sites More sharing options...
Recommended Posts