Tutorial Future Pinball: A. Simple DMD's Illustrated Tutorial

Gimli

Pinball Master
Joined
Feb 6, 2020
Messages
1,341
Reaction score
882
Points
120
Favorite Pinball Machine
Monster Bash
Ilustrated DMD Templates for Dummies
-How to create simple custom DMD's to add to existing games in 5 minutes or less.
-this tutorial will also show how to set dmd priority
and how to make Dmd invisible with togglehud
key scripting

Firstly, I would like to acknowledge Chris Leathly author of the amazing Future Pinball, Macro/Gauntletlover for making FutureDMD possible for 3rd monitor DMD's, Ravarcade for the amazing Bam Mod and all the table creators and artists that make this hobby possible.


In this tutorial, we're cookin' up some FutureDMD templates or "Recipes"
In the spirit of experimentation, this tutorial is designed such that each template will work independently.
But for the whole experience, try them all. Enjoy!

Sorry for the cheesy cooking metaphor. Let's go!

This tutorial includes the following templates:
A. Current Player DMD
AMyNewDMD.jpg
 
Last edited:
B. Statistic DMD
BMyNewDMD2.jpg
 
Last edited:
C."Welcome Player"
CWelcome.jpg
 
Last edited:
D."Go Player" Simple (I prefer the one below)
Dgoplayer.jpg
 
Last edited:
E.Go Player + Scoreboard (preferred )
Enewgoplayer2.jpg
 
Last edited:
F. Attract mode Cycling DMD at table start and game end

Table Name
Fnewcycle3.jpg
 
Last edited:
Final Stat
Gnewcycle2.jpg
 
Last edited:
Final Score
Hnewcycle1.jpg
 
Last edited:
High Scores
Inewcycle4.jpg
 
Last edited:
Before we get started, some suggestions:
1. The first time you might want to try this on a "new table" in Future Pinball, to experiment and see how you like it
2. If you are modding an existing table, at least the first couple times, remember to "save as" a different name in case your creation blows up
:)

3. Don't ask questions. Just suspend your disbelief and copy and paste as directed and see what happens.

Disclaimer:
This is in no way a criticism about the state of existing tables, but rather is just to provide individual users a way to optimize tables for their own systems and preference and especially to use 3rd monitor with FutureDMD. I greatly appreciate all the existing amazing tables and the work done !


The following should provide a "cookie cutter" approach and take < 5 minutes to accomplish.

Let's get started
1.Go to table editor and select "translite"

2.Select Displays at bottom and then select Hud DMD

3.Name DMD what you want . If you want "a copy and paste" solution, use the same as this tutorial .


Last edited by Gimli on Tue Nov 18, 2014 7:15 pm, edited 2 times in total.
 
4.Copy 'N Paste Name
MyNewDMD

5. Set Type to DMD128x32 this is critical for FutureDMD to capture your DMD
JA1createdmd.jpg
 
Last edited:
6. Set Matrix Colour. If you want to have same colour as an existing DMD from this or another table (ie "DispDmd1" below)
, do the following procedure:
a)Select the other DMD (ie DispDmd1) and click on "Matrix Colour"
b)Make note of colour parameters (in the case below Red 48,Green 220, Blue 239 to be entered into FutureDMD.ini)
c)Click "Add to Custom Colours" and your selected colour will be at top left of Custom Colours choices as below. Click OK.
Jnewmatrix.jpg
 
Last edited:
d)You can then select your new DMD that we called "MyNewDMD" , again click on "Matrix Colour" and select this saved colour and click ok.
This will change the colour of "MyNewDMD" on the HUD only
Knewmatrixhud.jpg
 
Last edited:
e)To have FutureDMD use this colour. You have to enter the Red, Green, Blue numbers you took note of previously
into the FutureDMD.ini with your [TableName]
Mnewfutureini.jpg
 
Last edited:
4.Define DMD Fonts.
a) Click on "Table" button at top of screen and then "Font Manager" scroll through
Fonts to see which ones you may want to use.
MOaddfont.jpg
 
Last edited:
b) Go to top of script where Dmd's are associated with fonts (under Option Explicit)
ie. MyDMD1.AddFont 1, "whatever name from font manager"
My DMD2.AddFont 1, "whatever name from font manager"
and add the same with your new DMDs
ie MyNewDMD.AddFont 1, "whatever name from font manager"

the AddFont 1 will translate to" [f1]" in your "MyNewDMD.text " that you create below.

Here are the ones that I've used:
Copy 'n paste these ones
Code:
Code:
MyNewDMD.AddFont 1, "dmd05x05p"

MyNewDMD.AddFont 2, "dmd09x15po"
ONewAddFont.jpg
 
Last edited:
5.Choose Your DMD Templates

Decide what stats you want and how you want them oriented on your DMD

"x" and "y" values will orient your DMD value on the DMD itself . Coordinate [x0][y0] is top left
and [xc][yc] is centre point.

Here are the ones I've used. (Simply copy and paste them where stated and then observe the magic
:D


A. Current Player DMD
AMyNewDMD.jpg
 
Last edited:
Copy 'n Paste :

Code:
Code:
If PlayersPlayingGame > 1 then

MyNewDMD.Text = "[f2][xc][y9]" & FormatNumber (nvscore(CurrentPlayer), 0, -1, 0, -1) & "[f1][x82][y2]Balls: " & (BallsRemaining(CurrentPlayer)) & "[x2][y2]PLAYER: " & currentplayer & "[x2][y25]LAST PLAYER: " & FormatNumber(nvScore(LastPlayer), 0, -1, 0, -1)

End if

If PlayersPlayingGame = 1 then

MyNewDMD.Text = "[f2][xc][y9]" & FormatNumber (nvscore(CurrentPlayer), 0, -1, 0, -1) & "[f1][x82][y2]Balls: " & (BallsRemaining(CurrentPlayer)) & "[x2][y2]PLAYER: " & currentplayer & "[x2][y25]Credits: "& nvCredits

End if
Destination: Under Sub AddScore(Points) and under "nvScore(CurrentPlayer) = nvscore(CurrentPlayer) + points"
Note : Older style EM Reel tables instead of Sub AddScore(Points) may have alternate score routine such as Sub Addscore(Num,points)
Just place your "MyNewDMD.text" statement there.
PNewAddScorePoints.jpg
 
Last edited:
****Note : Now that you've done this you can use a short cut by placing "AddScore(0)" in other places to refresh this "Current Player DMD" or you can just paste whole text statement.

Copy 'N Paste under KeyCode = GetKeyCode(PlungerKey) this refreshes your current score DMD with plunger pull.
Code:
Code:
AddScore(0)
Qnewplunger.jpg
 
Last edited:
Copy 'N Paste under Sub EndOfGame() that way score will be posted at end of game (Note: don't do this if
you are completing all the templates including Cycling FutureDMD at the bottom of this tutorial)

Code:
Code:
AddScore(0)
ZBNewAddscore2 (1).jpg
 
Last edited:
In order for "LastPlayer" to be tracked you need to add the following to the script:
Copy 'N Paste with other "DIM"s at the very top of the script as in image below
Code:
Dim LastPlayer
Snewdimlast.jpg
 
Last edited:
Copy 'N Paste just above Addscore(Points) as in image below

Code:
Code:
Sub LastPlayerCheck()

If (PlayersPlayingGame > 1) Then

LastPlayer = CurrentPlayer - 1

End if

If CurrentPlayer = 1 Then

LastPlayer = PlayersPlayingGame

End if

If PlayersPlayingGame = 1 Then

LastPlayer = 1

End if

End Sub

***** and Copy 'N Paste under Sub AddScore(points)
Code:
LastPlayerCheck()
TNewLastPlayerchk.jpg
 
Last edited:
You can "save as" at this point and check out your nifty Current Player DMD or move on to the next template .

B. Statistic DMD
BMyNewDMD2.jpg
 
Last edited:
Copy 'n Paste:
Code:
Code:
MyNewDMD.Text = "[na][f2][xc][y9]"& FormatNumber(nvHighScore1, 0, -1, 0, -1) & "[f1][x2][y25]CREDITS: "& nvCredits & "[x2][y2]HIGHSCORE: " &nvHighScore1Name & "[x78][y2]GAMES: " & nvTotalGamesPlayed &"[x78][y25]PLAYERS: " & PlayersPlayingGame

Destinatons:

after any nvcredits + 1 statements as in image below

Unewnvcredits+1.jpg
 
Last edited:
(Consider after any nvcredits - 1 statements too, but don't bother if you are using
"Welcome Player" as below )

Again you can "save as" at this point and check your Current Player and Statistic DMD or boldly carry on
:)


Multiplayer DMD
Most tables have a variation of multiplayer already scripted but you often don't get clear notifications of whose turn it is during game play.

C."Welcome Player" Template
CWelcome.jpg
 
Last edited:
General chit-chat
Help Users
You can interact with the ChatGPT Bot in any Chat Room and there is a dedicated room. The command is /ai followed by a space and then your ? or inquiry.
ie: /ai What is a EM Pinball Machine?
  • No one is chatting at the moment.
      Chat Bot Mibs Chat Bot Mibs: roachie has left the room.
      Back
      Top