Snippet Disable Cinematic Skipping

Jesus4Lyf

Good Idea™
Reaction score
397
Disable Cinematic Skipping

It might seem obvious. You remember how units would start talking, and someone has the great idea to press escape to interrupt them, achieving nothing but frustration? Here's a 1 line solution. Well, kind of.
JASS:
library DisableCinematicSkipping
    private module InitModule
        private static method onInit takes nothing returns nothing
            set bj_cineSceneBeingSkipped=bj_delayedSuspendDecayTrig
        endmethod
    endmodule
    private struct InitStruct extends array
        implement InitModule
    endstruct
endlibrary

Copy paste it into your map anywhere as JASS script to disable pressing escape interrupting characters in cinematics.

I tried to find the absolute, ultimate solution. This works without creating a handle, and the efficiency is setting one global to another. Not that any of those things matter, but hey, perfection never hurt. :p
 

Attachments

  • DisableCinematicSkipping.w3x
    12.5 KB · Views: 279

Lyerae

I keep popping up on this site from time to time.
Reaction score
105
Why is it seperated into a module and struct, if you don't mind me asking.
 

Jesus4Lyf

Good Idea™
Reaction score
397
All module initialisers fire before struct initialisers which fire before library initialisers. So this fires as early as possible.

The only way it can fail is if someone implements a module in a struct in a library with a name alphabetically preceding the name of this library which sends a unit transmission in its onInit method. I'm pretty sure that's it. :p
 

Lyerae

I keep popping up on this site from time to time.
Reaction score
105
Oh cool, I didn't know that before.
Useful to know. :thup:
 

Sickle

New Member
Reaction score
13
You are a mean person.

I did tell you about this in the first place, after all. Hmm. I lack a good smiley to convey how I feel at the moment. Let me leave it as a :slightlysadandsomewhatannoyed:.
 

Jesus4Lyf

Good Idea™
Reaction score
397
I did tell you about this in the first place, after all. Hmm. I lack a good smiley to convey how I feel at the moment. Let me leave it as a :slightlysadandsomewhatannoyed:.
Yes, you mentioned you found a 1 line fix. I thought maybe I could top that by a 1 line fix without handle creation. I don't mind giving you some kind of thank you note if you'd like.

See, this is actually an issue that plagued me in one of my maps for ages. I tried fixing it and failed. Now I have a solution. :thup:
 

quraji

zap
Reaction score
144
So, this disables skipping transmissions? Cool. Was hoping it'd disable Esc :p

I tried to find the absolute, ultimate solution. This works without creating a handle, and the efficiency is setting one global to another. Not that any of those things matter, but hey, perfection never hurt. :p

This efficiency stuff is starting to creep me out.

You are a mean person.

I did tell you about this in the first place, after all. Hmm. I lack a good smiley to convey how I feel at the moment. Let me leave it as a :slightlysadandsomewhatannoyed:.

Excuse my rudeness, but who cares?
 

gameman

It's been a long, long time.
Reaction score
96
Hot damn I needed this! I was going to add some complicated system instead. (something with timers). Is there any way to have a more jass version of this? (I'm thinking, no. Vjass is to difficult to reduce back to jass)
 

Romek

Super Moderator
Reaction score
963
As long as you do [ljass]set bj_cineSceneBeingSkipped=bj_delayedSuspendDecayTrig[/ljass] before you start using cinematics, then you're good to go.
You can even do that in GUI, with custom script.
J4L is just using an overkill solution to "call it as soon as possible" :p
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top