• Google Translate to French or Other Languages Click on the link and a new tab will open with this page translated into French.
    Click on the "To:" pull down option to select a different language. Users will not be logged in on the new Google tab.

Pinball Nirvana's VP Tutorial Collection

Imported collection of Pinball Nirvana's VP Tutorial and Script Archive from the old home page. Most of these are older than 10 years.

Attract Mode Routine

Rem *** Attract Mode ***
Rem Written by Chris
'To integrate it with your table, you need to do the following:
'- Create a new collection called AllLights and add all lights and bumpers to the collection
'- Add a timer called AttractTimer and set its interval to the value of your choice (I use 50).
'- Change Table1 to the actual name of your table. It appears twice near the beginning of AttractTimer_Timer().
'- Make sure you disable the attract mode by disabling the AttractTimer...

Variable Velocity Kicker/Plunger Routine

This is a simple tutorial on how to create a "kicker" plunger for those who cannot use a default plunger within Visual Pinball. Sometimes the default plunger cannot be used in some tables because of the angle or placement of a specific area. This can help any of the scripters out there that need an alternative to a normal plunger. Sometimes too little room can be a major headache for the author and this works just great; you can even create different ways to make this plunger work with some...

Moving Small Table Objects

If an object is really small, sometimes I add a "light" close to it on the table and reduce it to about 5 units in size and then I left click on the mouse and while holding down the mouse button, I then box or highlight or select both the tiny object and the light. Then let go of the mouse button and left click on the light, keep holding down the button and then drag it and the tiny object (like a screwhead) anywhere you want. You also do this when you want to move a small object a long...

Rollovers with lane change

(shivaEngine Build 1.8 example) by shiva Simple Lanechange with the flippers for the top lanes, plus the two inside lanes, easy to expand, just follow the code. You can move the top lights when lit back and forth with the flippers. I also set the inner lanes to do the same thing, so there's now 5 lights that you can change, Code is separated by rem statements, There's a section at the top, with the Dim and Set statements. As like the Multiball, the name of the objects are similar, making it...

Using Keycodes In Your Script

Here's a list of the keycodes you can use for keypresses in your game. Note that Visual Pinball has a set of predefined keys used for Flipper and tilting. Since the people playing your table prefere their own keys setup. it's recommended that you do not change the main control keys in the script.
To change the control keys, which affect all the tables using the standard Visual Pinball code, go to the editor view. At the top menu bar, click preferences, and select the keys menu. This is the...

BJs How-To series

BJ has created a series of five bare bones tutorials which should be of help to both our newer authors, as well as to even many of our more seasoned experienced developers. We\'ll all have less confusion and trouble adding needed features to our tables with these Generic-type table guides. Each of these tutorials is fully commented with easily understood instructions, but with nothing that might add to a new person\'s uncertainty.

The first thing you'll notice when you download and begin...
Last edited by a moderator:

Bonus Collection Routine

NOTE: All the code is included in one place at the bottom of this article

BonusCollect uses the HoldBonus variable, and comes in two flavors. The first one gives out only the amount of bonus, unmultiplied, and then restores the bonus value back, and the ball returns to play.
We use the BonusCollectKicker, which is after the ramp divertor on the left red wire ramp, and leads to the left inner flipper lane. The kicker is "turned off" in the table editor (use the options menu, and click on...

Debug Window Explained

I have added back a pretty big feature that should make creating table a lot easier: the Visual Player Debugger. Here is a description:

Debug window -

To open the window, hit 'esc' while the game is playing and select the debug window option.
The window has 3 buttons. When the debug window is active, the game is paused. The status of the three buttons indicates how the game will play when the game window is active.
When the play button is on, the game will play normally.
When the...

Object elasticity

Elasticity affects all materials on the table, not just rubber!

So metal you might set at 0.1 (guides, orbits), plastic at 0.2(ramps, targets), wood 0.3, rubber 0.4-0.5 etc. (I've even used 0.05 for the 'swinging' genie in TotAN.)

Hit thresholds are as important on target settings, in particular drop targets, as elasticity.

I don't think rubber thickness plays a part in VP, other than cosmetic, ie the flippers look more real.

Updated Jun 22, 2005 Written by Unknown

shivaEngine's features

An (incomplete) listing of some of the events within the shivaEngine script. Please use the table example and shivaengine.vps script, or the tutorial table included with Visual Pinball B6.
*** Multiball. *** (Based off original code example by cold1) Simple 2 ball multiball run off lights. Ball locks in the top right saucer, lights the bottom right saucer for multiball release. If made, this feature will reset for the next ball in play. You can easily set it up to be run by a target or...

Flippered to Flipperless Routine

Flippered to Flipperless Routine. You can use either a routine or a if statement. I’ll give you an example with drop when plungerkey is down and undrop when plungerkey is up.
***** to drop:




***** To undrop:





****** For Right and...

Nudge Pause

Here's what I use for my 360 degree tilt mech for Flop-House Bagatelle. You need a timer called NudgeTimer with an interval set to 1200. and a variable DIMed for GameIsOver and you also need one for nudstr.
Put the following in your keydown sub.


If keycode >70 and keycode < 82 then
if GameIsOver=False and NudgeTimer.enabled=False then
if keycode = 71 then nudge 315, nudstr
if keycode = 72 then nudge 0, nudstr
if keycode = 73 then nudge 45, nudstr
if keycode = 75 then nudge...

Player/Debug Keys for shivaEngine

Please refere to the shivaEngine script and the example table included with this file

This is the list for all the user keys in the game, as well as a complete list of the special debug keys that were used for testing the game as it was being been designed.
You can change any of these values in the Table1_KeyDown(ByVal keycode) A list of all the Keycodes are included in a separate text file Main Control Keys - Add Credit Key - This is set by the "Preferences" Menu in the "Keys" settings...

Drop Target Tutorial

Written by shiva
January 12, 2002
Code: Original by Spike
Modified with a timer: cold1

Here's the complete code used in this example, as taken from shivaengine, and is included with Visual Pinball Beta 6 as the tutorial table.
Create the 3 lights, 3 targets, and 1 timer (names and settings below) then cut and paste the script in your table

Rem ***************************************
Rem *** Code Snippet ***
Rem *** 3 Drop Targets with Delay Timer ***
Last edited:

Ramp Diverter Routine

(shivaEngine Build 1_8 example)

Slitting a ramp into two is actually very easy. The red ramp shows The example, but all it is is a floating wall set at 60 height with a thickness of one VP unit. There are three walls at a higher height to form the sides, so the ramp divides into two. A shot through the red ramp ends up with The ball going to The left inside flipper lane, and The green ramp shot, The ball gets diverted to The right lane instead. The actual arcade games that use a split...
Last edited:

Ramp Loop Bonus Routine

Please refer to the shivaEngine script and the example table Written by shiva

This is expanded a bit, so I will start at a simple example, and build from there. First off, I would like both the ramps to give a score when made, so there are triggers (hidden) placed on both ramps. Instead of placing them at the start of The ramps, I placed them in a area where I am certain the ball will continue along The ramp, instead of rolling back down to the ramp entrance because of a weak shot. These...
Last edited:

Trouble-shooting Visual Pinball

My editor becomes disabled
Some people have had their VP Editor become disabled. If this happens to you, do a HD search for the file name vpinres.dll and delete it form your system. Instantly you will have a fully working VP Editor again. Thanks go to Mickey1 for discovering this solution.
when i tried to install visual pinball in my pc, a window appears telling me that i need DDRAW.DLL to run the game
Make sure you have at least DirectX VERSION 8! You can get it at the microsoft update...

Hakyoku Seiken Pachinko Starter Kit

This Pachinko Starter Kit contains the demo VPT file, a pachinko image, and a text file briefly explaining the whys and wherefores of the game of Pachinko, which is mainly a gambling game. While we do have a few pachinkos at Flipperless.com, Hakyoku feels that with the games growing popularity, there should be more. And with the help of his kit, hopefully we will be seeing more of these interesting games shortly.

Hakyoku does have a warning that we need to pay attention to, since with...
Last edited by a moderator:

Variable velocity Kicker-Plunger Demo

By Will Degelmann / druadic
This is a simple tutorial on how to create a "kicker" plunger for those who cannot use a default plunger within Visual Pinball. Sometimes the default plunger cannot be used in some tables because of the angle or placement of a specific area. This can help any of the scripters out there that need an alternative to a normal plunger. Sometimes too little room can be a major headache for the author and this works just great; you can even create...
Last edited:

VP Tilt/Nudge Demo Pack!

Tilt/Nudge Demo & More!
This zip file contains a lot of useful demos from druadic, Gridiron, and Destruk, and while there are a few other things besides demos, everything should find a welcome place in your VP toolkit. Besides Destruk's Nudge example, and Gridiron's Multiball and Runmatch demos, Will has provided us with not only his Tilt demo, but a Coin Slide sound, and a variety of images, including a pluger cover, a metal frame, and a pair of metal backgrounds.

Download The...
Last edited:
General chit-chat
Help Users
  • No one is chatting at the moment.
    @ Paolo: ********* *** ******