Plunger
Variables are items in vpx you can set, adjust or call.
Call | Detail | Example |
---|---|---|
AnimFrames(int) | Flat style only: the number of animation frames in the Image; the image must be arranged with all of the frames lined up horizontally, all the same size, with the fully forward image in the leftmost cell |  |
AutoPlunger(bool) | if set, this is a solenoid launcher rather than a traditional plunger |  |
Color(OLE_COLOR) | surface color for 3D rendering; used only if no texture is specified via Image |  |
FireSpeed(float) | speed of firing when Fire() is called or mechanical plunger is released; controls both animation speed and ball launch strength |  |
Image(string) | image used as texture for the 3D styles or as animation cell(s) for the flat style |  |
MechPlunger(bool) | true if this simulation plunger can be controlled by a mechanical plunger input device attached to the system; if set, the ParkPosition is used as the rest position |  |
MechStrength(float) | controls strength of coupling to mechanical plunger position; using about the same value as FireSpeed usually works best |  |
MomentumXfer(float) | adjustment factor for launch strength; multiplied into final ball speed calculation on each launch, so 1.0 has no effect, and 2.0 doubles the strength |  |
Name(string) | name of the object for scripting references |  |
ParkPosition(float) | distance back from fully forward position of resting position (as a fraction of the total length); used only if MechPlunger is enabled |  |
PullSpeed(float) | speed of retraction when Pullback() is called (for pulling via keyboard interface) |  |
RingDiam(float) | Custom type only: the diameter of the e-ring in the on-screen rendering, as a fraction of the Width setting |  |
RingGap(float) | Custom type only: the distance between the tip and the e-ring in the on-screen rendering |  |
RingThickness(float) | Custom type only: the thickness of the e-ring in the on-screen rendering |  |
RodDiam(float) | Custom type only: the drawing diameter of the rod as a fraction of the Width setting |  |
SpringDiam(float) | Custom type only: the diameter of the spring coil in the on-screen rendering, as a fraction of the Width setting |  |
SpringEndLoops(float) | Custom type only: the number of stationary (non-stretching) "end loops" the spring makes in the on-screen rendering (fractional values are allowed) |  |
SpringGauge(float) | Custom type only: the thickness of the spring wire in the on-screen rendering |  |
SpringLoops(float) | Custom type only: the number of loops the spring makes around the rod within the displayed extent (fractional values are allowed, as partial loops are perfectly sensible) |  |
Stroke(float) | total travel distance; also controls the on-screen length (which is slightly longer than the travel distance, to accommodate the non-moving parts) |  |
ScatterVelocity(float) | amount of randomness added to ball velocity on firing |  |
Shape(string) | Custom type only: a list of Distance/Diameter pairs separated by semicolons specifying the shape of the tip, as a series of circles centered on the plunger axis |  |
Surface(string) | object for aligning vertical position of plunger; sits atop playfield if this is left blank |  |
TimerEnabled(bool) | enable the plunger's script timer |  |
TimerInterval(int) | interval for firing the plunger's script timer |  |
Type(int) | the visual style of the plunger drawn on-screen |  |
UserValue(any) | can store any user defined value for re-use later-on |  |
Visible(bool) | true if plunger is visible on-screen |  |
Width(float) | on-screen width of the plunger on each side of the center-line (this acts like a radius, so the actual drawing width is twice this value) |  |
X(float) | x position of center-line of plunger |  |
Y(float) | y position of back end of plunger |  |
ZAdjust(float) | moves the on-screen rendering vertically up (positive values) or down (negative values) from the default position determined by the Surface alignment |  |
Methods are procedures or actions that you can fire in VPX.
Call | Detail | Example |
---|---|---|
Pullback() | start retracting the plunger at the speed given by PullSpeed; continues automatically until Fire() is called |  |
Fire() | fire the plunger from the current position (for an auto-plunger, immediately pulls back all the way and fires with full strength) |  |
CreateBall(IBall **ball) | create a new ball located at the tip of the plunger |  |
Position() | returns a float (0 to 25) with the current position of the (mechanical or digital) plunger |  |
MotionDevice() | returns a non-zero integer with the type of special input device attached, or 0 if none is attached (1=Pinball Wizard, 2=Ultracade, 3=SideWinder, 4=VirtuaPin plunger kit, 5=Generic/other) |  |
 |  |  |
Event | Detail | Example |
---|---|---|
_Init |  |  |
_Timer |  |  |
_EOS |  |  |
_BOS |  |  |