Difference between revisions of "Prevent Video and Cutscene Skipping (h2)"
m |
m |
||
Line 18: | Line 18: | ||
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''. | 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 | + | Here is a quick example of the key event handler... |
<syntaxhighlight> | <syntaxhighlight> | ||
+ | -- the function that is used to handle key events | ||
function keyboardHandler(eventType, character, keycode, modifiers) | function keyboardHandler(eventType, character, keycode, modifiers) | ||
− | if eventType==eEvtKeyUp then | + | 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 | |
− | elseif eventType==eEvtKeyDown then | ||
− | print( | ||
− | elseif eventType==eEvtKeyTextInput then | ||
− | |||
− | print( | ||
end | end | ||
− | + | return false | |
− | |||
− | |||
− | |||
− | return false | ||
end | end | ||
− | registerEventHandler("keyEvent", "keyboardHandler") | + | registerEventHandler("keyEvent", "keyboardHandler") -- the line that creates the keyEvent listener |
</syntaxhighlight> | </syntaxhighlight> | ||
Line 52: | Line 44: | ||
<syntaxhighlight> | <syntaxhighlight> | ||
function keyboardHandler(eventType, character, keycode, modifiers) | function keyboardHandler(eventType, character, keycode, modifiers) | ||
− | + | if Conditions["cond_skip_cv"].ConditionValue == false and keycode == eKeyEscape then return true end | |
− | + | return false | |
end | end | ||
Revision as of 13:56, 2 November 2014
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 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. |
日本語 – 正體中文 – 한국어 – Dansk – Deutsch – English – Español – Français – Italiano – Nederlands – Polski – Português – Svenska – Русский |