Hello everyone.
Sorry if this problem has already been asked, but I could not find a thread.
So I am working on RPG/adventure campaign with tons of cinematic and dialogues. Cinematic really takes at least 80% of the whole gaming experience. The problem is it is really annoying to read so much text in a limited time and worry all the way that the transmission from a unit will disappear before you manage to get it through.
So what I want basically to do is to make such a system: every unit's transmission never ends until you skip it, so you can take so much time as you wish to read it. This system has some drawbacks, probably the worst being crash of smoothness of cinematic: for example, if a camera is applied, it will be applied and then it stops until you skip the current text, and, if it is applied smoothly after each transmission, the whole cinema will look pretty much broken. This is not so bad though if you do not overuse camera actions.
The problem is scripting such system. I am a bit familiar with JASS, but did not find there anything more useful here than in a usual trigger editor. The most efficient scheme I found right now is something like this.
2. Next. This "set to 9999999.00 seconds" looks cheesy. Is there a way to make a transmission really infinite, better than make it very long?
3. And one more. The TransmissionSkipped variable should be equal to 1 if a player skips the current transmission, it is not that hard to make. But how to apply the value to this variable during transmission? If I understand correctly, when a transmission starts, it is goes on to the end and only then the next action starts. So will I need to use a special separated trigger which checks every 0.01 seconds or so if the current transmission is stopped? Is there any better way?
A simple example with just 2 transmissions followed one by one and working system described above would be REALLY appreciated.
Thanks in advance guys!
P.S. Also one of the problems is that I have to write all these "if...then...else" after each transmission while I have thousands of them, which is pretty annoying. Is there a way to write some function that will do it automatically after each transmission?
Sorry if this problem has already been asked, but I could not find a thread.
So I am working on RPG/adventure campaign with tons of cinematic and dialogues. Cinematic really takes at least 80% of the whole gaming experience. The problem is it is really annoying to read so much text in a limited time and worry all the way that the transmission from a unit will disappear before you manage to get it through.
So what I want basically to do is to make such a system: every unit's transmission never ends until you skip it, so you can take so much time as you wish to read it. This system has some drawbacks, probably the worst being crash of smoothness of cinematic: for example, if a camera is applied, it will be applied and then it stops until you skip the current text, and, if it is applied smoothly after each transmission, the whole cinema will look pretty much broken. This is not so bad though if you do not overuse camera actions.
The problem is scripting such system. I am a bit familiar with JASS, but did not find there anything more useful here than in a usual trigger editor. The most efficient scheme I found right now is something like this.
-
Events
- Unit - Grunt 0001 <gen> Dies
- Conditions
-
Actions
- Cinematic - Send transmission to (All players) from Grunt 0001 <gen> named Dead grunt: Play No sound and display I'm dead guys!. Modify duration: Set to 9999999.00 seconds and Don't wait
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- TransmissionSkipped Equal to 1
- Then - Actions
-
If - Conditions
-
(????????????????????????????)
-
Else - Actions
- Do nothing
- Cinematic - Send transmission to (All players) from Grunt 0001 <gen> named Dead grunt: Play No sound and display I'm still dead. Modify duration: Set to 9999999.00 seconds and Don't wait
-
Else - Actions
2. Next. This "set to 9999999.00 seconds" looks cheesy. Is there a way to make a transmission really infinite, better than make it very long?
3. And one more. The TransmissionSkipped variable should be equal to 1 if a player skips the current transmission, it is not that hard to make. But how to apply the value to this variable during transmission? If I understand correctly, when a transmission starts, it is goes on to the end and only then the next action starts. So will I need to use a special separated trigger which checks every 0.01 seconds or so if the current transmission is stopped? Is there any better way?
A simple example with just 2 transmissions followed one by one and working system described above would be REALLY appreciated.
Thanks in advance guys!
P.S. Also one of the problems is that I have to write all these "if...then...else" after each transmission while I have thousands of them, which is pretty annoying. Is there a way to write some function that will do it automatically after each transmission?
Last edited: