Internal scripting is a cutscene system for VVVVVV's campaign. It has widely more commands than Simplified scripting, where quite a lot of them aren't very useful outside of the campaign. However, there's some commands which are extremely useful which simplified scripting cannot do, such as teleporting between rooms, moving the player, playing sound effects, etc...
Hold on, what's simplified scripting?
Simplified scripting is what we call the version of scripting that you have access to in the level editor. It's a much simpler version of the campaign's scripting, which is what we call internal scripting.
How do I use it?
There's many methods of using internal scripting, however we'll go over the easiest one, which is using Ved.
Open your level and select the script box tool. You'll notice that there's some radio buttons to the right. These are options that you'll learn to get familiar with.
- No: This just creates a normal script.
- Run once: This script creates a load script, and only runs a single time in a playthrough. Very useful for cutscenes.
- Repeating: This script creates a load script, and the script runs every time you (re)load the room and touch the script box.
You can hold down SHIFT while placing your script box to select run once. You can hold down CTRL to use the repeating option.
What's a load script?
A load script is required for the internal scripting exploit to work -- it's what allows us to use these more powerful commands. This is why the "run once" and "repeating" options are so important; both of them create a load script.
I've created my script, what now?
Click on your newly created script (ignore the _load one, that's just the script to load it) and look to the buttons on the right. There's a button which'll say Int.sc is off, and you'll want to turn it on.
Tada, you can now use internal scripting!
Now that you have access to internal scripting, there's a few things to note:
- Everything in simplified scripting is possible in internal scripting.
- However... simplified scripting has some easy shortcuts, which internal scripting does not have. For example,
flash()in simplified scripting is the same as the following in internal scripting:
flash(5) shake(20) playef(9)
- If you would like to jump to another script, use