Help Spinner in FP questions

Paolo

No Bam no Play
Chat Moderator
Site Supporters
Joined
Mar 16, 2013
Messages
1,419
Solutions
3
Reaction score
674
Points
131
Favorite Pinball Machine
Batman(Data East)
Hi to all.

I don't know if this has ever been discussed before ,I've never paid much attention to it, but since I started playing with MJ, VPX.I noticed it

VPX, manages to count the number of laps a spinner makes, and therefore amount the exact score when hit by the ball ... now there are factors to keep under observation which are:
1) strength and speed of the ball,
2) how many laps the spinner has to do based on speed and force when hit
3) on the basis of the laps made, give the exact score

the VPX spinners work very well, considering all these factors, I tried them on the table(vpx) that I am recreating, (MJ),
in FP, instead they don't work well, in the sense that it is impossible (as far as I know) to manage the score, based on the laps that the spinner would do when he is hit.

I tried to make the spinner in toy, simple to do, and create a code with a score based of the laps,that I decide , but it would be a false score, because I decide, how much to make the toy turn, and then to establish a score ,but this it would not be real, like when he is hit by the ball.

I wonder if with Bam, it could be possible to make something more real like in VPX,if any of you have any suggestions, it would be fantastic to make

thanks in advance
 
All I know about spinners is they can be adjusted in the XML. Looks like a question to ask @ravarcade
 
Gorgar table has this code that I don't know if it does what you want:

C:
' *************
' ** Spinner **
' *************
Sub Spinner_Hit()
    Velocity = 1800
    SpinnerTimer1.Set True, 20
    PlaySound "DarkLurker"

    If (Lightspinner.State = BulbOn And Not CaptureMode = cModeHell) Then
        AddScore(1000)
    Else
        If (Lightspinner.State = BulbOn And CaptureMode = cModeHell) Then
            AddScore(2500)
        Else
            AddScore(100)
        End If
    End If
    Set LastSwitchHit = Spinner
End Sub

Dim velocity
Dim spins
Sub SpinnerTimer1_Expired
    Spins = Spins + 1
    If Spins >= 24 Then
        SpinnerTimer1.Enabled = False
        Spins = 0
    Exit Sub
    End If
    Velocity = Velocity - Velocity * 0.1
    RotateToy(Velocity)
End Sub

Sub RotateToy(Velocity)
    SpinnerToy.Rotateyz (Velocity), 360
End Sub
 
All I know about spinners is they can be adjusted in the XML.

in what think they can be adjusted?
I mean, an example you can decide how many laps it has to do?



Gorgar table has this code that I don't know if it does what you want

Thanks AnonTet,
I think this code is have been adapted, to make it better than converting it, into a toy, I noticed this SpinnerToy.Rotateyz (Velocity), 360

But what I meant, is another thing, i.è to the score
the FP spinner,(not toy) when you hit it with the ball, the spinner turns, but the turns that the spinner should do is based on the force with which it is hit, I think this is could adjust in the XML file, as @GeorgeH suggests, but what I would like is, that: I say it with a question....

How many laps does the spinner make when it is hit?

we put the case 3. therefore the score will be 3000 points
we put the case5. therefore the score will be 5000 points, we put the case 1. therefore the score will be 1000 points

the biggest problem is how to create, or determine how many turns a spinner does, it is impossible to know it in real time, just because the spinner is not hit in the same way (strength or speed) every time, and consequently release the exact score

actually it should do it automatically FP, but it doesn't, and therefore it should be created, the problem I don't know how, and if Bam, it could do
 
I had tough about it and if the spinner was colideable maybe a no renderer trigger could do the trick. But some quick testing told me it's not possible within my knowledge.

Then I peeked and there is a rotation and rotation speed but the former is so it is displayed on the table and the second is not supported by the object (spinner)

I understand what you want. I just didn't know if that code was enough for your needs.
To be honest, unless someone adds that in bam, you're out of luck
 
Actually the code that you suggested to me is very reliable, I just have to convert the spinner to toy, I had done something similar myself before, but I discarded it,because it seems not to be real, and then there would be the fact that the ball can hit the spinner also from behind, that is when the ball returns,so another code to do.

and yep the spinner cannot be rewritten by Fp,except with the tricks, but I'd prefer it to be real,only Bam I think he can
 
in what think they can be adjusted?
I mean, an example you can decide how many laps it has to do?

The two primary parameters in the XML for the spinner is mass and gravity although there are others. All the parameters basically just adjust how fast it spins is all. I don't think it will help you.
 
Each time the spinner make an half turn, you get the Spinner_Hit event.
So
Sub Spinner_Hit
AddScore 100
End Sub
When you have a complete turn, you get 2 Spinner_Hit.
 
Each time the spinner make an half turn, you get the Spinner_Hit event.
Yes,JP.....this is the basic rule, simple to do, but that is not the point of the matter

what is impossible for fp, is to manage the "lap" that the spinner should do according to the force of which the spinner is hit by the ball, an example .... in vpx, the spinner works great in fp no .... and I was wondering if with bam it was possible, but surely yes, but I have to involve and tell Rav, and for now this is not a priority

example, if the spinner is hit by the ball at force 5 (obviously here there is also the speed to be taken into consideration) we say that the spinner should do 6 laps, if it is force 10 it should do 12 laps, and just an example .... but this is what fp does not manage .... I hope the concept is clear

so to emulate this, many (including me) create a method with the spinner in toy, which can manage the laps according to their wishes ..... but it is not really correct method .... here you decide who is building the table how many laps to do, and not the ball ..... basically it's the physics that doesn't work on the spinner
 
Last edited:
No, FP manage this. The harder you hit the spinner, the more laps it does, but it's really a pain to adjust height of the spinner. And I have to agree with you, spinner is not really great with FP.
Concerning making a toy, it's not a problem (now) as you can know the HitSpeed (so the force). You have to decrease this force, but I think it's not so easy to parameter (if you hit the spinner with a very little speed, it have to rotate but just a bit and then return back to its position).
 
No, FP manage this. The harder you hit the spinner, the more laps it does
for me it is not really like that, it is not like in vpx, even if I hit the spinner at maximum strength and speed, it does not spin as many as it should actually do......he does a few laps, the spinner makes too much resistance to the ball, the spinner has a wrong physics
Concerning making a toy, it's not a problem (now) as you can know the HitSpeed (so the force). You have to decrease this force, but I think it's not so easy to parameter (if you hit the spinner with a very little speed, it have to rotate but just a bit and then return back to its position).
yes in fact I do them in toys, but I use another method that I consider not real ..... as you suggest, you have to use a higher mathematics to make it optimal in standard fp, through toy,I can not do that.

that's why I suggest to use bam, to manage a spinner ..... now it is possible to manage the strength and speed of the ball through this megic code "NewtonPhysicsTick" where it is possible to monitor the ball, even with xBAM.Ball.Velocity .... .and make the spinner in hit_event do how many laps based on these parameters.......the problem is to know how to do it
 
Last edited:
...the spinner makes too much resistance to the ball, the spinner has a wrong physics...
You should be able to make the spinner spin more times by decreasing the mass in the XML. These are the settings I use:

<spinner mass="60.0" gravity="100.0" angularDamp="0.25" angularAccel="5.25" spinDampLoose="0.55" spinBackLoose="1.70" spinDampNorm="0.75" spinBackNorm="1.80" spinDampTight="0.95" spinBackTight="1.90"></spinner>

Tomasaco created a custom model of a spinner for Space Shuttle that you might want to try. I thought it worked well, maybe even better than the standard one:

 
Hello everyone!!

Ok,Lately between Batman 66 and especially Space Cadet, I've had a lot to do.....and by the way I improved the spinners a bit.
Thank to Rav, with this update HERE ,As far as I understand, it makes the spinner stop in its original position (vertical) when it stops spinning. I've tested this a lot and I haven't noticed that the spinner stops in an abnormal position, i.e. horizontally.

Note: spin or lap..... for me it's the same meaning.

Lately thanks to JP's suggestion (which shocked me) by adding a "count" it is possible to have an almost perfect score at every lap, if you set 100p, and the spinner makes 5 laps you get 500p.....

Maybe for some it won't be surprising news, but for me it is, even though I had never thought about it, even though I learned a lot about coding(I don't even remember in the GF tables), in fact in many of my tables I have always replaced "the spinner" with a toy for these two reasons.

Therefore.....I also opened this thread for other situations, including the speed of impact of the ball on the spinner, I thought that FP did not manage this thing, and I tested very well for a long time (JP also suggests it above) I was able to realize that the spinner works quite well "not perfectly" but based on the impact speed the spinner makes the right laps, so if you hit the very weak spinner it makes only one lap.

Now...This is nothing new for to anyone used to working with spinners, but as long as the "spinner normal"(not in toy) had no purpose (at least for me) until I added the "count" for the score......of course, who would care how many spins it makes, much less the impact speed, if you don't get any results from the spinner? We know that the spinner doesn't have many special attributes in "Hit events", and if you go to "Help" in the Open Manual of Fp, table components, there are not enough explanations, including adding a "count", wich I've never found or seen it.

So,having said that.......A question comes to my mind, since I need to know, if it is possible in some way, when the spinner stops spinning...IIf by adding the "count" to the spinner, and the score (dmd, gds or emr but maybe not the latter) it adds the score to each spin (the last spin exactly), then it is possible to actually know when the last spin is, I hope I can explain better

If in the score, let's say the DMD, I hit the spinner and it makes 5 spins, 100p for each spin, that's 500p done, I'm interested in the last spin, if the DMD score (via count) knows how many points it amounts to, then I can deduce that FP or the DMD score, or I don't know what it is, knows what's happening in those spins, that's what I want to understand... because then I can say or add my staff in the last spin... because the last spin, someone asks, simple because then it stops, I'm interested in when the spinner stops, I would like to understand when the spinner stops.

@Popotte @GeorgeH @madmrmax @Wecoc and for anyone interested!!

Thanks and regards!!!
 
There aren't that many tables that I have worked on that have spinners. There have been some tables where Rav's code helped but on Medieval Castle it didn't work and I could only get 2 spins at most. I ended up using Wecoc's code and spinner toy which worked beautifully.

JP doesn't like the artificial nature of the spinner toy so he developed his own code that he says will sometimes make the spinner stop spinning in a non-vertical orientation. I haven't noticed it yet when I play his tables and the spinners appear to work well. You might look at some of his recent tables that have spinners. I don't understand the coding but you might.
 
but on Medieval Castle it didn't work and I could only get 2 spins at most
I'm not surprised, there could be a few reasons, one of them is.... that you know very well, is Fizx, don't get me wrong, but you know that in fixz the values in xml are different, and if you use a modified spinner (in FPM..that you don't know.) you will receive something unusual, like a few laps as in your case only 2, or it stops in horizontally position, etc etc....The height of the spinner also has a big impact, it depends on the height that you set ,and other factors that it is not useful to mention for now.

If you don't know that there is no modified spinner in MC, and that maybe it doesn't work very well with the Fizx values, try these settings ,and let me know...G.

' <ball newtonDamping="0" mass="80.0" gravity="9810.0" damping="0.7"></ball>
' <spinner mass="99999.0" gravity="9810.0" angularDamp="0.5" angularAccel="5.25"

You might look at some of his recent tables that have spinners. I don't understand the coding but you might.
Actually I should!! 👍

so he developed his own code that he says will sometimes make the spinner stop spinning in a non-vertical orientation.
as I said above I used Rav's code, see above, I think JP is using it too......and in my latest developments between Batman66 and Space Cadet, I no longer had problems with horizontal orientation when the spinner stops,and by adding the "count" for the score now the spinner has some purpose.

What I still have to understand is knowing when the spinner actually stops, as I said above (perhaps not clear enough) if the score (dmd,seg,ect) and underline the score, it adds the current points for each spin, therefore including the last spin, then somehow it is possible to know when it(spinner) actually stops.

Because in SC I coded a way, to understand better watch this video, pay attention when the spinner stops. The spinner in question changes the "colored arrow lights" which then triggers the multiball, it will seem to work quite well... you ask in what? I'll explain, when the spinner stops, the color change should also stop....... it seem that way?

You will notice that the points are also added

 
Last edited:
as I said above I used Rav's code, see above, I think JP is using it too......a

JP tried Rav's code but didn't like it so he wrote his own code. It seems to work pretty well to me.

I will try your XML settings.
 
JP tried Rav's code but didn't like it so he wrote his own code.
Yes, I had a look on "Hot Tip", its code is very mathematical (difficult to replicate or add), it worked mostly on "angularDamping" I think for the vertical orientation, and with the xBAM_Ball.Speed function it gave more "realism" in terms of impact with the ball...... In practice what I had asked at the beginning when opening this thread, its "count" for the score is also mathematical and it calculated up to 5 counts, the same as what I set on Space Cadet... basically almost perfect, despite the fact that FP also manages the impact speed of the ball(as he himself suggested to me,see above), that is, more "stronger/velocity" it hits the spinner, the more it spins.

I will try your XML settings.
Ok...just for a test, "and see if it works"....So I hope you don't mind.

I made this video, since in the version with Fizx, you noticed some problems (2 spins), I wanted to "play a bit" I fixed the original spinner, and I added my xml, see the result.....for me it does more than two laps:-D
You will also notice (as in SC) the "stronger/velocity" of impact of the ball on the spinner,so...more "stronger/velocity" it hits the spinner, the more it spins.Obviously it's the one from Fp, I would like to be able to learn using it xBAM_Ball.Speed but for now and up until now, I have never been able to understand how to do it.:lol:

I also have to say that I forgot in my last post, you have to consider that the spinner also makes half a spin (it is not a perfect object), and when going back it can fool you as if it made a full turn, that's why sometimes I don't count the points.....In fact in the video you will see that I added the "count" of the laps for the score.



Note:I forgot to tell you that you have to change these values too

' spinDampLoose="0.30" spinBackLoose="0.70"
' spinDampNorm="0.40" spinBackNorm="0.70"
' spinDampTight="0.70" spinBackTight="0.70"

Ok, only if you want, I emphasize if you want, I made a video, obviously for the spinner, of your version 1.2 with fizx, where you inserted the toy, I took a look, is the code from wecoc? This is also very mathematical, but I noticed a few things.....only if you want I'll insert the video and tell you what I think.

Regards
 
Last edited:
Yes, I had a look on "Hot Tip", its code is very mathematical (difficult to replicate or add), it worked mostly on "angularDamping" I think for the vertical orientation, and with the xBAM_Ball.Speed function it gave more "realism" in terms of impact with the ball...... In practice what I had asked at the beginning when opening this thread, its "count" for the score is also mathematical and it calculated up to 5 counts, the same as what I set on Space Cadet... basically almost perfect, despite the fact that FP also manages the impact speed of the ball(as he himself suggested to me,see above), that is, more "stronger/velocity" it hits the spinner, the more it spins.


Ok...just for a test, "and see if it works"....So I hope you don't mind.

I made this video, since in the version with Fizx, you noticed some problems (2 spins), I wanted to "play a bit" I fixed the original spinner, and I added my xml, see the result.....for me it does more than two laps:-D
You will also notice (as in SC) the "stronger/velocity" of impact of the ball on the spinner,so...more "stronger/velocity" it hits the spinner, the more it spins.Obviously it's the one from Fp, I would like to be able to learn using it xBAM_Ball.Speed but for now and up until now, I have never been able to understand how to do it.:lol:

I also have to say that I forgot in my last post, you have to consider that the spinner also makes half a spin (it is not a perfect object), and when going back it can fool you as if it made a full turn, that's why sometimes I don't count the points.....In fact in the video you will see that I added the "count" of the laps for the score.



Note:I forgot to tell you that you have to change these values too

' spinDampLoose="0.30" spinBackLoose="0.70"
' spinDampNorm="0.40" spinBackNorm="0.70"
' spinDampTight="0.70" spinBackTight="0.70"

Ok, only if you want, I emphasize if you want, I made a video, obviously for the spinner, of your version 1.2 with fizx, where you inserted the toy, I took a look, is the code from wecoc? This is also very mathematical, but I noticed a few things.....only if you want I'll insert the video and tell you what I think.

Regards

Your version works much better than it did before I changed it to use Wecoc's version. I used Wecoc's code and used the same spinner that was on the original table but converted it to a toy using the FPM editor. I think Wecoc's code has some parameters that I may have changed but don't remember. The code is identical to what he posted on this site but don't understand how it works.

It would be interesting to see what happens if you add Ravarcade's code to your spinner fix.
 
It would be interesting to see what happens if you add Ravarcade's code to your spinner fix.
As far as I can understand, Rav's code is based on mass, and rotation angle corrections, and with a preset "angularDamping", which can be changed, I'm trying to understand, but I need information....for now I just added what I inserted on page 13.
So,one step at a time.

In fact, here is another video, which shows that with some settings within my reach, I get good results, I have always said that the spinner is not a perfect object so I had some doubts about the spins for right scores, and I wanted to try this, what do you think?

 
As far as I can understand, Rav's code is based on mass, and rotation angle corrections, and with a preset "angularDamping", which can be changed, I'm trying to understand, but I need information....for now I just added what I inserted on page 13.
So,one step at a time.

In fact, here is another video, which shows that with some settings within my reach, I get good results, I have always said that the spinner is not a perfect object so I had some doubts about the spins for right scores, and I wanted to try this, what do you think?


It seems to work well.
 
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:
    BL2K has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Chilldog has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    rodneyfitz has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    ace19120 has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Tomasaco has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Greek_Jedi has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Beermano has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    02browns has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    nitram1864 has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    aeponce has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    JEAN LUC has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    lorenzom has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    maxangelo19 has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Dragonslapper has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    royaljet has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Tyfox has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Goldtopboy has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    slick267 has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    dabreeze has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Spike has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Tofa has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Atropine has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    bongo2k5 has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Bouly has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Felipefx3 has left the room.
      Chat Bot Mibs Chat Bot Mibs: Felipefx3 has left the room.
      Back
      Top