Jump to content

HauntFreaks B2S (backglass) files


Recommended Posts

if anyone is having an issue with one of my backlass files, PLEASE post in this thread....

1) use tag @hauntfreaks in your post (this will let me know you posted an issue)
2) what file? (include link)
3) what is the issue your having

we/I are looking into b2s issues to see if its human error (me)  or the b2s server... 

Link to comment
Share on other sites

We've already discovered that in some cases it's not a problem with your b2s or the b2s server. In some cases it's custom table scripts causing b2s issues, mostly it seems on older table builds where the b2s server of that time couldn't accomplish what authors expected. Somehow authors of today need to know they can let the b2s server handle it without table script entries. 

Of course this will be on you, Haunt, to determine whether table, b2s or server related- and those who step in to help test. 

Link to comment
Share on other sites

2 hours ago, Cliffy said:

We've already discovered that in some cases it's not a problem with your b2s or the b2s server. In some cases it's custom table scripts causing b2s issues, mostly it seems on older table builds where the b2s server of that time couldn't accomplish what authors expected. Somehow authors of today need to know they can let the b2s server handle it without table script entries. 

Of course this will be on you, Haunt, to determine whether table, b2s or server related- and those who step in to help test. 


just to make it clear... @Cliffyis referring to EM's when he's talking about custom b2s table scripts... SS tables the b2s is handled by the ROM
the only time we need a custom script for the EM b2s now, is if the machine had special features like spinners, odd lights, specific animations

Link to comment
Share on other sites

Do you have an example of an impacted EM table I can look at where there's custom b2s table scripts that I could look at? 

 

Is it then the case that if there's not a special feature of the EM table, that the custom b2s table scripts can just be removed from the EM table?

Link to comment
Share on other sites

3 hours ago, Abhcoide said:

Do you have an example of an impacted EM table I can look at where there's custom b2s table scripts that I could look at? 

 

Is it then the case that if there's not a special feature of the EM table, that the custom b2s table scripts can just be removed from the EM table?


RockMakers "player up" lights are connected to 61, 62, 63, 64   <---the reason in the past the b2s server would cause an internal error when using large snippet images...
to get around this builders would use a custom  light ID,  this is now fixed in the newer b2s server
the default "player up"  for an EM is 30/1, 30/2, 30/3, 30/4
 

 

Link to comment
Share on other sites

Your backglass seems to work fine with the unedited Rockmakers table - even with the 61-64 IDs (from what I can see).   It lights up the Player Light as it should - unless I'm missing something?

Link to comment
Share on other sites

3 hours ago, Abhcoide said:

Your backglass seems to work fine with the unedited Rockmakers table - even with the 61-64 IDs (from what I can see).   It lights up the Player Light as it should - unless I'm missing something?


if you play one player...the player one, player up light goes out on second ball... and stays off, until end of game

what B2S Server are you using??

Link to comment
Share on other sites

Posted (edited)

I think I fixed it. The table code is not talking to the part the backglass that shows player up.  The backglass is fine!

 

 

I am still new to this and not sure how to share what I found. 

 

Did I just copy the lines I added? or screen shots?

 

 

 

Edited by RepairDan57
Link to comment
Share on other sites

Posted (edited)
10 hours ago, hauntfreaks said:


if you play one player...the player one, player up light goes out on second ball... and stays off, until end of game

what B2S Server are you using??

I am using 2.1.1.

 

Sorry, I had been testing it with more than one player and the lights were rotating proper.  I see what you mean now.  It doesn't appear to be an issue if there's more than one player.

 

I was trying to find where the default EM light ids are listed, but I couldn't find them - I'm probably using the wrong search terms!

 

I was trying for the last while to fix it using 30/1, 30/2, 30/3, 30/4 - the default EM table IDs and simply cannot figure out how to do it.  It either permanently keeps Player 1 lit or it disables the "total player" light once it moves to the next ball/player.

 

That said, I was able to get it working properly (I think!) by doing this:

 

Replacing the "advancePlayers" subroutine with this:

'**********Advance Players
Sub advancePlayers
    If players = 1 Then ' Single-player game
        player = 1
        EVAL("UP1").SetValue(1) ' Ensure Player 1 light remains on
        If B2SOn Then 
            controller.B2SSetData 61, 1 ' Ensure Player 1 light remains on
        End If
    ElseIf player = players Then 
        player = 1
        EVAL("UP" & players).SetValue(0)
        Up1.SetValue(1)
        If B2SOn Then 
            controller.B2SSetData 61, 1
            controller.B2SSetData 60+players, 0
        End If
    Else
        player = player + 1
        EVAL ("Up" & (player - 1)).setValue(0)
        EVAL ("Up" & player).setValue(1)
        If B2SOn Then 
            controller.B2SSetData 60+player, 1
            controller.B2SSetData 60+player-1, 0
        End If
    End If
    
    If vrOption > 0 Then vrPlayerUp
    nextBall
End Sub

 

and also replacing the  "nextball" subroutine with this:

 

Sub nextBall
    LeftSlingShot.collidable = 1
    LeftSlingShotUpper.collidable = 1
    RightSlingShot.collidable = 1
    If tilt = True Then
        For f = 1 to 3  'set to number of bumpers 
            EVAL("Bumper" & f).hashitevent = 1
        Next
        tilt = False
        TiltReel.setValue(0)
        If vrOption > 0 Then vrTilt.visible = 0
        If B2SOn Then
            controller.B2SSetTilt 33,0
            controller.B2SSetData 1, 1
        End If
    End If
    resetTable
    If player = 1 Then
        ballinPlay = ballinPlay + 1
        If B2SOn Then 
            controller.B2SSetData 61, 1 ' Ensure Player 1 light remains on
        End If
    End If

    If ballinPlay > balls then
        endGame = 1
        checkContinue
    Else
        If state = True Then checkContinue
    End If
End Sub

 

In my test, this seems to work for when there is only one player or if there are multiple players.

 

Does the above look right to you?

 

2 hours ago, RepairDan57 said:

I think I fixed it. The table code is not talking to the part the backglass that shows player up.  The backglass is fine!

 

Did I just copy the lines I added? or screen shots?

 

 

You can do either.  What I usually do is just copy the parts I've changed - if it is small - and post it on its own.  If it is a larger change, just save your changes to a txt document and attach it to the comment.

Edited by Abhcoide
maybe figured it out - sort of
Link to comment
Share on other sites

1 hour ago, Abhcoide said:

I am using 2.1.1.

 

Sorry, I had been testing it with more than one player and the lights were rotating proper.  I see what you mean now.  It doesn't appear to be an issue if there's more than one player.

 

I was trying to find where the default EM light ids are listed, but I couldn't find them - I'm probably using the wrong search terms!

 

I was trying for the last while to fix it using 30/1, 30/2, 30/3, 30/4 - the default EM table IDs and simply cannot figure out how to do it.  It either permanently keeps Player 1 lit or it disables the "total player" light once it moves to the next ball/player.

 

That said, I was able to get it working properly (I think!) by doing this:

 

Replacing the "advancePlayers" subroutine with this:

'**********Advance Players
Sub advancePlayers
    If players = 1 Then ' Single-player game
        player = 1
        EVAL("UP1").SetValue(1) ' Ensure Player 1 light remains on
        If B2SOn Then 
            controller.B2SSetData 61, 1 ' Ensure Player 1 light remains on
        End If
    ElseIf player = players Then 
        player = 1
        EVAL("UP" & players).SetValue(0)
        Up1.SetValue(1)
        If B2SOn Then 
            controller.B2SSetData 61, 1
            controller.B2SSetData 60+players, 0
        End If
    Else
        player = player + 1
        EVAL ("Up" & (player - 1)).setValue(0)
        EVAL ("Up" & player).setValue(1)
        If B2SOn Then 
            controller.B2SSetData 60+player, 1
            controller.B2SSetData 60+player-1, 0
        End If
    End If
    
    If vrOption > 0 Then vrPlayerUp
    nextBall
End Sub

 

and also replacing the  "nextball" subroutine with this:

 

Sub nextBall
    LeftSlingShot.collidable = 1
    LeftSlingShotUpper.collidable = 1
    RightSlingShot.collidable = 1
    If tilt = True Then
        For f = 1 to 3  'set to number of bumpers 
            EVAL("Bumper" & f).hashitevent = 1
        Next
        tilt = False
        TiltReel.setValue(0)
        If vrOption > 0 Then vrTilt.visible = 0
        If B2SOn Then
            controller.B2SSetTilt 33,0
            controller.B2SSetData 1, 1
        End If
    End If
    resetTable
    If player = 1 Then
        ballinPlay = ballinPlay + 1
        If B2SOn Then 
            controller.B2SSetData 61, 1 ' Ensure Player 1 light remains on
        End If
    End If

    If ballinPlay > balls then
        endGame = 1
        checkContinue
    Else
        If state = True Then checkContinue
    End If
End Sub

 

In my test, this seems to work for when there is only one player or if there are multiple players.

 

Does the above look right to you?

 

 

You can do either.  What I usually do is just copy the parts I've changed - if it is small - and post it on its own.  If it is a larger change, just save your changes to a txt document and attach it to the comment.

 I did this 

Rockmakers-NewGame.png

Rcokmakers - Advance Players.png

Link to comment
Share on other sites

1 hour ago, Abhcoide said:

I am using 2.1.1.

 

Sorry, I had been testing it with more than one player and the lights were rotating proper.  I see what you mean now.  It doesn't appear to be an issue if there's more than one player.

 

I was trying to find where the default EM light ids are listed, but I couldn't find them - I'm probably using the wrong search terms!

 

I was trying for the last while to fix it using 30/1, 30/2, 30/3, 30/4 - the default EM table IDs and simply cannot figure out how to do it.  It either permanently keeps Player 1 lit or it disables the "total player" light once it moves to the next ball/player.

 

That said, I was able to get it working properly (I think!) by doing this:

 

Replacing the "advancePlayers" subroutine with this:

'**********Advance Players
Sub advancePlayers
    If players = 1 Then ' Single-player game
        player = 1
        EVAL("UP1").SetValue(1) ' Ensure Player 1 light remains on
        If B2SOn Then 
            controller.B2SSetData 61, 1 ' Ensure Player 1 light remains on
        End If
    ElseIf player = players Then 
        player = 1
        EVAL("UP" & players).SetValue(0)
        Up1.SetValue(1)
        If B2SOn Then 
            controller.B2SSetData 61, 1
            controller.B2SSetData 60+players, 0
        End If
    Else
        player = player + 1
        EVAL ("Up" & (player - 1)).setValue(0)
        EVAL ("Up" & player).setValue(1)
        If B2SOn Then 
            controller.B2SSetData 60+player, 1
            controller.B2SSetData 60+player-1, 0
        End If
    End If
    
    If vrOption > 0 Then vrPlayerUp
    nextBall
End Sub

 

and also replacing the  "nextball" subroutine with this:

 

Sub nextBall
    LeftSlingShot.collidable = 1
    LeftSlingShotUpper.collidable = 1
    RightSlingShot.collidable = 1
    If tilt = True Then
        For f = 1 to 3  'set to number of bumpers 
            EVAL("Bumper" & f).hashitevent = 1
        Next
        tilt = False
        TiltReel.setValue(0)
        If vrOption > 0 Then vrTilt.visible = 0
        If B2SOn Then
            controller.B2SSetTilt 33,0
            controller.B2SSetData 1, 1
        End If
    End If
    resetTable
    If player = 1 Then
        ballinPlay = ballinPlay + 1
        If B2SOn Then 
            controller.B2SSetData 61, 1 ' Ensure Player 1 light remains on
        End If
    End If

    If ballinPlay > balls then
        endGame = 1
        checkContinue
    Else
        If state = True Then checkContinue
    End If
End Sub

 

In my test, this seems to work for when there is only one player or if there are multiple players.

 

Does the above look right to you?

 

 

You can do either.  What I usually do is just copy the parts I've changed - if it is small - and post it on its own.  If it is a larger change, just save your changes to a txt document and attach it to the comment.

I copied & pasted your code and it worked perfect!  I ran a 1 , 2 , 3  & 4 player game. Thank you!

Link to comment
Share on other sites

thanks guys.... so giving examples of the fix is awesome....
one other thing if you can, is to select the whole script, and save it as a TXT file or a VBS file.... this way we can just replace the old script as a whole....
also if you do make a VBS file and name it the same as the table and put it in where your tables are.... it will side load the script into the table, this would be great for testing

Link to comment
Share on other sites

8 hours ago, Cliffy said:

Great work @Abhcoide and @RepairDan57. Works as it should! Hopefully @bord sees this and adds your code snippets for an update to his table rather than waiting for @scottacus to do the fix, since he's extremely busy elsewhere.

 

I'll dig up some more examples that Haunt, @jarr3 and I have been frustrated with so please don't change that channel, guys :)

 

Definitely share the names of them here and I can look at them.  I'm not an expert by any means, but I am trying to learn and will help if I can figure it out. 

Link to comment
Share on other sites

Posted (edited)

@hauntfreaks we have another williams 4 player, Stardust,  not showing past 9 credits. I already fixed the update credits sub in the table script with this;

Sub UpdateCredits
    If Credits > 0 Then
        CreditLight.State = 1
    Else
        CreditLight.State = 0
    End If
    PlaySound "fx_relay"
    CreditsReel.SetValue credits
   If B2SOn Then
        If Credits < 16 Then Controller.B2SSetCredits Credits 'limit for b2s backglass
        If Credits = 0 then
            Controller.B2SSetdata 20,0
        else
            Controller.B2SSetdata 20,1
        end if
    end if
End Sub

 

It still didn't work so thinking it's the b2s itself I copied Pat Hands b2s into Stardust, renamed it and it works perfectly. You might want to have a look at Stardust's b2s. I'll find the table post and suggest the script be updated as well

Edited by Cliffy
Link to comment
Share on other sites

I think I found another one for you to resave in the new designer. Williams Rancho. Wont go past 9 credits. Tested with Big Chief and same thing, nada past 9

Link to comment
Share on other sites

@hauntfreaks Is this as straightforward as simply importing the old backglass into the new designer and re-saving it as a .directb2s file?

 

If so, I could try to write a script to automate that process - so all that would need to be done is put all the backglasses saved in the old designer into a single directory and run the script.

Link to comment
Share on other sites

14 hours ago, Abhcoide said:

@hauntfreaks Is this as straightforward as simply importing the old backglass into the new designer and re-saving it as a .directb2s file?

 

If so, I could try to write a script to automate that process - so all that would need to be done is put all the backglasses saved in the old designer into a single directory and run the script.


here are possible issues.... when importing a *.directb2s file into the designer.... people might have missing font issues as well as custom reels and LED's issues... 

Link to comment
Share on other sites

Posted (edited)
8 hours ago, hauntfreaks said:


here are possible issues.... when importing a *.directb2s file into the designer.... people might have missing font issues as well as custom reels and LED's issues... 

Do you know what the difference is with the files? Can you send me one before and one after, then I can try to automate it through XML magic... if possible, that is?

Edited by jarr3
Link to comment
Share on other sites

8 hours ago, hauntfreaks said:


here are possible issues.... when importing a *.directb2s file into the designer.... people might have missing font issues as well as custom reels and LED's issues... 

Yes indeed. I've tried with all the ones I mentioned above and each one had different fonts that are missing on my system so  I don't dare trying "create directb2s"

Link to comment
Share on other sites

  • Administrators
2 hours ago, Cliffy said:

Yes indeed. I've tried with all the ones I mentioned above and each one had different fonts that are missing on my system so  I don't dare trying "create directb2s"

saying no to the fonts doesnt really matter it will fill it with something  most of losermans BG give me those errors, I just close the window with no issues..

only in E M's that is a pop up... you can create the b2s and you wont see a difference it will fill it in unless you change the font yourself....I do it all the time on the EM's..

Thats why I use basic fonts most BG use a basic font , there are very few that use a custom font.... 

Link to comment
Share on other sites

15 minutes ago, Wildman said:

saying no to the fonts doesnt really matter it will fill it with something  most of losermans BG give me those errors, I just close the window with no issues..

only in E M's that is a pop up... you can create the b2s and you wont see a difference it will fill it in unless you change the font yourself....I do it all the time on the EM's..

Thats why I use basic fonts most BG use a basic font , there are very few that use a custom font.... 


I'm going to have to disagree about the basic fonts... I have an extensive font collection and for EM's I've done my best at finding exact font matches for say Gottlieb, even to the point I have created fonts to match.... none of the fonts are anything crazy... but these might not be in most people's font folder..... so if they import a b2s file... and they dont have the font in there system, the designer will try to load a default font .... and if they save or create a b2s... it will be saved with the wrong font/fonts

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
  • Create New...