vJASS & Zinc Documentation
For the latest documentation about how it works vJASS and Zinc language layers for Warcraft III, please follow these links:
Jasshelper documentation - Zinc documentation - WC3 Optimizer documentation

[Snippet] Disable Transmission Skip

Purgeandfire · 9904

0 Members and 1 Guest are viewing this topic.

[Snippet] Disable Transmission Skip
on: July 02, 2013, 02:48:08 AM
Category: Interface
Language: vJASS

This library will allow you to disable/enable the feature that allows you to skip cinematic transmissions by pressing ESC. Some RPG's are ruined when other players press ESC during a cinematic because it skips the transmission for everyone. This neat script can prevent that.

Code: jass
  1. library TransmissionSkip /* v.1.0.0.0
  2. ********************************************************************
  3. *
  4. *   The normal GUI cinematic functions allow you to skip
  5. *   transmissions by pressing ESC. This snippet will allow
  6. *   you to disable/enable that feature.
  7. *
  8. ********************************************************************
  9. *  
  10. *   Functions
  11. *
  12. *       DisableTransmissionSkip()
  13. *
  14. *           - Prevents players from skipping cinematic
  15. *             transmissions by pressing ESC.
  16. *
  17. *       EnableTransmissionSkip()
  18. *
  19. *           - Allows players to skip cinematic transmissions
  20. *             by pressing ESC, if you use the BJ/GUI functions.
  21. *
  22. ********************************************************************/
  23.  
  24.     function DisableTransmissionSkip takes nothing returns nothing
  25.         if bj_cineSceneBeingSkipped == null then
  26.             call TryInitCinematicBehaviorBJ()
  27.         endif
  28.         call DisableTrigger(bj_cineSceneBeingSkipped)
  29.     endfunction
  30.  
  31.     function EnableTransmissionSkip takes nothing returns nothing
  32.         if bj_cineSceneBeingSkipped == null then
  33.             return
  34.         endif
  35.         call EnableTrigger(bj_cineSceneBeingSkipped)
  36.     endfunction
  37.    
  38. endlibrary

Example code:
Example Code
Code: jass
  1. scope Test initializer onInit
  2. /*
  3.     Implementing this code will disable skipping transmissions
  4.     until EnableTransmissionSkip() is called
  5. */
  6.     private function onInit takes nothing returns nothing
  7.         call DisableTransmissionSkip()
  8.     endfunction
  9. endscope

To use it, just create a new trigger and paste the code in there. If you do not have JNGP, then here is a JASS version:
Vanilla JASS Version
Code: jass
  1. // TransmissionSkip Library
  2.    
  3.     function DisableTransmissionSkip takes nothing returns nothing
  4.         if bj_cineSceneBeingSkipped == null then
  5.             call TryInitCinematicBehaviorBJ()
  6.         endif
  7.         call DisableTrigger(bj_cineSceneBeingSkipped)
  8.     endfunction
  9.  
  10.     function EnableTransmissionSkip takes nothing returns nothing
  11.         if bj_cineSceneBeingSkipped == null then
  12.             return
  13.         endif
  14.         call EnableTrigger(bj_cineSceneBeingSkipped)
  15.     endfunction
  16.  
  17. // End TransmissionSkip Library

Simply paste that into the map header. To access the map header, open the trigger editor and click on the map name listed on the left. Paste the code there. Then you can make a trigger like so:

Trigger: Test 685203267
   
           
  • My Trigger
  •     Events
  •         Map Initialization
  •     Conditions
  •     Actions
  •         Custom script:    call DisableTransmissionSkip()
           

And it should disable transmission skipping for the entire game until you call "EnableTransmissionSkip()". To disable it again, simply call "DisableTransmissionSkip()" again.

Credits to: Troll-Brain for the suggestion long ago to disable the trigger instead of doing it the odd way I did it before.
« Last Edit: December 19, 2017, 07:52:33 PM by moyack »



[Snippet] Disable Transmission Skip
Reply #1 on: July 02, 2013, 11:58:46 AM

I love this kind of scripts: small and straight to the point.

~Approved


[Snippet] Disable Transmission Skip
Reply #2 on: July 02, 2013, 01:34:55 PM

Thanks moyack :D

Yeah, I'm trying to remember all these little snippets that I used to use before I forget them. :P Oh and thanks for fixing the trigger for me.



 

Chaos Realm - The world of Game modders and wc3 addicts     WC3JASS.com - The JASS Vault   Jetcraft - A Starcraft II mod