Mutiball auto camera view

HZR

Pinball Hall of Famer
Joined
Aug 17, 2021
Messages
496
Solutions
1
Reaction score
148
Points
56
Favorite Pinball Machine
elm street
Would there be a simple bam script that would work on all or most tables that would auto
change from the current FP camera view to full view 2 when table enters multi-ball?

and or a bam script that would auto change to arcade mode when table enters multi-ball?

or is it to specific for each table depending on the variable used for multi-ball>
 
Nothing is automatic.... ever. You have to do things the manual way for each table differently.

Look at SLAMT1LT's Ultimate Pro tables that have multi-ball. They do this.
 
none of slams tables go full screen for me during multiball while im in scroll mode. none that I remember.
I couldnt add a a code such as
if multiball then xbamcam arcade mode.. (just an example of what Im thinking)

is this better...
a script that when multiball starts the cam switches to arcade mode.
 
Last edited:
Many of his "Ultimate Pro" tables that have multiballs use it. On his tables, such as Star Wars DSA, or my Epic Space Battles mod, when the table starts, you should get a prompt to allow camera control. You must allow it. then when you hit certain multiballs, the table will change its view so that you can see the whole table, and it doesnt move. When the MB is done.... it goes back.

Indy Stern Ultimate Pro, Star Wars DSA Ultimate Pro, Iron Man Ultimate Pro should do this. "Ultimate Pro" does it... not "Ultimate" or any other version.


He had to add code throughout the table script to control all of this. Nothing was as simple as a single line command.
 
Many of his "Ultimate Pro" tables that have multiballs use it. On his tables, such as Star Wars DSA, or my Epic Space Battles mod, when the table starts, you should get a prompt to allow camera control. You must allow it. then when you hit certain multiballs, the table will change its view so that you can see the whole table, and it doesnt move. When the MB is done.... it goes back.

Indy Stern Ultimate Pro, Star Wars DSA Ultimate Pro, Iron Man Ultimate Pro should do this. "Ultimate Pro" does it... not "Ultimate" or any other version.


He had to add code throughout the table script to control all of this. Nothing was as simple as a single line command.
hmmm, ill have to double check, some do, some others get stuck for me, where it doesnt go back to scroll mode, Im trying to have it do this on my portrait cabinet.
 
If you are using Arcade/Cabinet mode instead of desktop view... then camera control DOES NOT do anything and the view will never move. It's only possible in desktop view.
 
desktop scroll mode 1
so ill tinker with it.

If (bMultiBallMode = TRUE) Then xBAM.Camera.ArcadeMode = TRUE
If (BallsOnPlayfield = 1) Then xBAM.Camera.DesktopRelease 500

the above id probably wrong nut hopefully close...?

i would have to do something like this in the script for every table i want the cam to switch to arcade mode or fullscreen 2 mode during multiball then return to scroll mode after multiball ?
shit....
 
Assuming that logic works ( i have no idea) you'll have to do it for ALL tables where you want that feature.
 
whats the correct script?
change from scrolling mode 1 or 2 to fulltable view 2 or arcade mode?
then back to scroll 1 or 2...
is there a list of commands with a example for each command for scripting?
ive seem some info but not really a list.
ill look more. swer I saw one.
 
Regarding BAM extensions a good place to start is here.

Regarding code for that, I believe you can right and configure custom cameras yourself but I don't know why.
 
all i wan to do is when multiball mode starts it switches to either arcade mode, OR one of the future pinball presets for the full table.

when there is one ball left it returns to scrolling 2...


somthing like this I thing, accept not usung custom camera settings..

bMultiBallMode = TRUE

' change the camera angle...
xBAM.Camera.DesktopSet 261.2, 1266.6, 922.5, 260.9, 623, 0, 50, 500
xBAM.Camera.DesktopSetLookAt 261.2, 1266.6, 922.5, 260.9, 623, 0, 50, 500

If (BallsOnPlayfield = 1) Then
xBAM.Camera.DesktopRelease 500
 
Regarding BAM extensions a good place to start is here.

Regarding code for that, I believe you can right and configure custom cameras yourself but I don't know why.
thanks, i googles and found that info, just not many examples.... just have to figure it out.
 
you may want to try

xBAM.Camera.RequestForControl true

before those changes. This allows BAM to know you give permissions to change the cameras
 
Last edited:
I figured out changing preset values. thank you.

Let me try to clarify. FP has built in view. scrolling 1, scrolling 2, low angle 1, low angle 2, fixed, full view 1, full view 2
Bam has bamcam future pinball, bam Global 1,2,3 and Bam Table 1,2,3

SO, if Im in BamCam:futurepinball (scrolling mode2)
is there a way to switch BamCam:Futurepinball (FullView2)

OR

if Im in BamCam:futurepinball (scrolling mode2)
is there a way to switch to BAM arcademode ?

customcamera or
xBAM.Camera.DesktopSet

Does that clarify what Im asking?
 
you may want to try



before those changes. This allows BAM to know you give permissions to change the cameras
request control before telling it to change. thats why it wasnt working....
thanks.
 
I would like to see the code you used. I don't remember anyone suing internal camera views!
 
Im not sure what code to use, thats the question, IS therer a cade?

xbam.cameramode=1
If you are using Arcade/Cabinet mode instead of desktop view... then camera control DOES NOT do anything and the view will never move. It's only possible in desktop view
what is the useage of MODE??
xbam.camera.mode ??????????????

  • Camera (from xBAM.Camera)
    .Mode
    .AspectRatio
    .ScriptControl
    .RequestForControl
    .DesktopSet eyeX, eyeY, eyeZ, atX, atY, atZ, fov, delay
    .DesktopRelease delay
    .DesktopSetLookAt eyeX, eyeY, eyeZ, atX, atY, atZ, fov, delay
    .DesktopSequenceBegin seqId
    .DesktopSequenceEnd
    .DesktopSequenceAddEntry eyeX, eyeY, eyeZ, atX, atY, atZ, fov, delay
    .DesktopSequencePlay seqId, loopFlag
    .CabinetSet tX, tY, tZ, sX, sY, sZ, rX, rY, rZ, delay
    .CabinetRelease delay
    .CabinetSequenceBegin seqId
    .CabinetSequenceEnd
    .CabinetSequenceAddEntry tX, tY, tZ, sX, sY, sZ, rX, rY, rZ, delay
    .CabinetSequencePlay seqId, loopFlag
 
I'm not sure you can just switch back and forth from Desktop mode to Arcade/Cabinet Mode on the fly using script commands.

I use .mode to check what mode FP is playing in on startup for PinEvent settings.

if xBAM.Camera.Mode = 0 then PinEvent_Profile = 1: AddDebugText "Desktop Mode"
if xBAM.Camera.Mode = 1 then PinEvent_Profile = 2: AddDebugText "Arcade / Cabinet Mode"
if xBAM.Camera.Mode = 2 then PinEvent_Profile = 3: AddDebugText "VR Mode"
 
I'm not sure you can just switch back and forth from Desktop mode to Arcade/Cabinet Mode on the fly using script commands.

I use .mode to check what mode FP is playing in on startup for PinEvent settings.

if xBAM.Camera.Mode = 0 then PinEvent_Profile = 1: AddDebugText "Desktop Mode"
if xBAM.Camera.Mode = 1 then PinEvent_Profile = 2: AddDebugText "Arcade / Cabinet Mode"
if xBAM.Camera.Mode = 2 then PinEvent_Profile = 3: AddDebugText "VR Mode"
hmmm ill try a few things, assuming mode 0 = desktop, and mode 1 = arcave/cab

xBam.Camera.RequestForControl
If BallsOnPlayfield = 1 Then
xBAM.Camera.Mode=0
If bMultiBallMode = TRUE Then
xBam.Camera.Mode=1


If this wont work, is there a the script can simulate a key press without the user pressing a key ?
adams family flips the flippers at the end of the music, and scared stiff flips the flippers by its self in multiball..Ill have to dig further.
 
Last edited:
I'm assuming the problem is because of the xBAM.Camera.RequestForControl popping up. Just put TRUE in front of it like i mentioned before doesn't work?

If not, autohotkey software might do the trick. You're creating a very specific scenario here and i never used AHK so... i can't help.
 
so there is not a script or bam command to press a key on the keyboard.
 
Well, I used slams code, one for allow script control at the beginning

If (xBAM.Camera.ScriptControl = FALSE) Then
xBAM.Camera.RequestForControl
End If

and then added for multiball mode

bMultiBallMode=true
' change the camera angle...
xBAM.Camera.DesktopSet 261.2, 1266.6, 822.5, 260.9, 623, 0, 50, 500
xBAM.Camera.DesktopSetLookAt 261.2, 1266.6, 822.5, 260.9, 623, 0, 50, 500

and then if only one ball is detected on playfield added

' cancel any multiball if on last ball (ie. lost all other balls)
'
If (BallsOnPlayfield=1) Then
xBAM.Camera.DesktopRelease 500
If (bMultiBallMode = TRUE) Then
' not in multiball mode any more
bMultiBallMode = False

Tested on elvira PM mod 2.0, also fixed the ball getting stuck on top right bumper and on the top.
 
I'm assuming the problem is because of the xBAM.Camera.RequestForControl popping up. Just put TRUE in front of it like i mentioned before doesn't work?

If not, autohotkey software might do the trick. You're creating a very specific scenario here and i never used AHK so... i can't help.
I figured it out finally with everyones help. Not 100% sure , it gets tricky (for me) when there are multiple ways to achieve multiball

Auto multiball view change when in desktop scroll mode. and George was right on a lot of slams tables he already does this.

demo video if twiliight zone 1.03 with my scroll addon....( skip ahead in video to about 1:20)
This was made for people who like scroll mode when a table enters multiball it will automatically change you view to full table view, and then switches back to scroll mode when there is only 1 ball on the table.

 
Last edited:
you may want to try



before those changes. This allows BAM to know you give permissions to change the cameras
Couldnt you not request control

and use
xbam.camera.scriptcontrol true
 
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: Flipper Hermann has left the room.
      Back
      Top