Prevent Video and Cutscene Skipping (h2)
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.
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 an example (taken from the registerEventHandler examples) of the key event handler...
function keyboardHandler(eventType, character, keycode, modifiers)
if eventType==eEvtKeyUp then
print('key up: ' .. keycode)
-- test for '0' with character parameter
if character == '0' then print('0 released') end
-- another option to test '0' key
if keycode == 48 then print('0 released') end
elseif eventType==eEvtKeyDown then
print('key down: ' .. keycode)
elseif eventType==eEvtKeyTextInput then
-- this will also show more 'complex' unicode characters when multiple keys are used to generate a single character (e.g. Chinese characters)
print('input: ' .. character)
end
if keycode == eKeyEscape then
-- event will not be handled by engine. this means that also cutscenes can't be skipped with Escape key
return true
end
return false -- key event will also be handled by engine
end
registerEventHandler("keyEvent", "keyboardHandler")
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. |
日本語 – 正體中文 – 한국어 – Dansk – Deutsch – English – Español – Français – Italiano – Nederlands – Polski – Português – Svenska – Русский |