Prevent Video and Cutscene Skipping (h2)

From The Official Visionaire Studio: Adventure Game Engine Wiki
Name By
Prevent Skipping of Videos/Cutscenes AFRLme


This tutorial shows you how to prevent the player from being able to skip videos &/or cutscenes. Visionaire Studio 4.1+ is required for this to work. (currently only works for cutscenes).


Tutorial

Preventing skipping of videos &/or cutscenes is actually very simple. All you need is 1 condition & an event handler that listens out for the ESC key. So let's begin...

1. You should start off by creating a condition somewhere & naming it cond_skip_cv & set it to false by default if you want to prevent players from being allowed to skip videos on game start; else set condition to true.

2. Next you need to create a definition script containing a registerEventHandler for keyEvents - if you don't already have one. Quick note: you are only allowed one registerEventHandler type per game - the only exception to this rule is the mainLoop handler.

Here is a quick example of the key event handler...

-- the function that is used to handle key events
function keyboardHandler(eventType, character, keycode, modifiers)
  if eventType==eEvtKeyUp then -- on key released
   print("key released: " .. character) -- prints released key name
  elseif eventType==eEvtKeyDown then -- key down/hold (will loop code below while held)
    print("key pressed: " .. character) -- print pressed key name
  elseif eventType==eEvtKeyTextInput then -- special characters (language characters, quotation marks etc - key down/pressed only)
    print("input: " .. character) -- print special character name
  end
  return false
end
 
registerEventHandler("keyEvent", "keyboardHandler") -- the line that creates the keyEvent listener

3. You need to add this line to your keyEvent handler...

if Conditions["cond_skip_cv"].ConditionValue == false and keycode == eKeyEscape then return true end

...It tells the keyEvent handler to ignore the escape key if condition cond_skip_cv returns false.

So what you might end up with is something like...

function keyboardHandler(eventType, character, keycode, modifiers)
 if Conditions["cond_skip_cv"].ConditionValue == false and keycode == eKeyEscape then return true end
 return false
end
 
registerEventHandler("keyEvent", "keyboardHandler")

4. To turn on/off video/cutcene skipping: all you have to do is toggle the cond_skip_cv condition. Creating a setting for this in your options menu &/or adding this as a setting to the config.ini is entirely up to you.


Resources

Name Description
- There are no resources available, sorry.