hyperPad hyperPad Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Login

    Else if is broken

    Scheduled Pinned Locked Moved
    Bug Reports
    4
    56
    3.0k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Aidan_FireA
      Aidan_Fire @Deeeds
      last edited by Aidan_Fire

      @Deeeds I’m pretty sure I have. You wanna screenshot? It’s spaghetti, no matter if I use Else Ifs or not. And if for some reason I haven’t, I’m very sure I can.

      D 1 Reply Last reply Reply Quote 0
      • D
        Deeeds @Aidan_Fire
        last edited by Deeeds

        @Aidan-Oxley

        You're going to regret this...

        Here's just two:

        @Aidan-Oxley

        If speed is less than 10 but more than 2 OR less than -2 and more than -10, AND rotation is greater than 20 but less than 40 OR less than -20 and greater than -40

        else if speed is less than 20 but more than 10 OR less than -10 and more than -20 AND rotation is greater than 40 but less than 80 OR less than -40 but more than -80

        else

        etc...

        Aidan_FireA 3 Replies Last reply Reply Quote 0
        • Aidan_FireA
          Aidan_Fire @Deeeds
          last edited by

          @Deeeds Challenge accepted.

          1 Reply Last reply Reply Quote 0
          • Aidan_FireA
            Aidan_Fire @Deeeds
            last edited by

            This post is deleted!
            1 Reply Last reply Reply Quote 0
            • Aidan_FireA
              Aidan_Fire @Deeeds
              last edited by

              @Deeeds How’s this?
              0_1513228399729_427A2EB9-A9AD-4546-8E3E-0D0A290F2616.png

              D 1 Reply Last reply Reply Quote 0
              • D
                Deeeds @Aidan_Fire
                last edited by

                @Aidan-Oxley Where is "else"?

                Aidan_FireA 1 Reply Last reply Reply Quote 0
                • Aidan_FireA
                  Aidan_Fire @Deeeds
                  last edited by

                  @Deeeds It’s implied by the behaviours. Both conditions cannot be met at the same time, so I don’t need any else. If one of the sides of this particular Else happens, the other cannot.

                  D 1 Reply Last reply Reply Quote 0
                  • D
                    Deeeds @Aidan_Fire
                    last edited by

                    @Aidan-Oxley Huh?

                    I'm confused.

                    Else, in my example, is everything else. Outside these ranges.

                    You've helped me see that you and I should help the lads design a better conditional node.... behaviour.

                    Aidan_FireA 3 Replies Last reply Reply Quote 0
                    • Aidan_FireA
                      Aidan_Fire @Deeeds
                      last edited by

                      @Deeeds The conditions you asked me to make can only be one or the other, there was no reason for me to put anything in to do “Else”. Speed cannot be between 2 and 10 but also 10 and 20 at the same time, so I don’t need to have an Else between them. Makes sense?

                      1 Reply Last reply Reply Quote 0
                      • Aidan_FireA
                        Aidan_Fire @Deeeds
                        last edited by Aidan_Fire

                        @Deeeds Oooohhh I think I understand now, you have 2 else’s between 3 bunches of conditions. You want another condition for if all that junk isn’t true. Gimme a sec I’ll give another screenshot.

                        1 Reply Last reply Reply Quote 1
                        • Aidan_FireA
                          Aidan_Fire @Deeeds
                          last edited by Aidan_Fire

                          @Deeeds This could’ve been done with a tonne more Ifs, but I can just disable behaviours, then enable them again once they’ve been missed. Taking advantage of how hyperPad executes behaviours.
                          0_1513239623056_1A2718E9-A2E7-4FE9-906B-EEB164B49384.png

                          D 1 Reply Last reply Reply Quote 2
                          • D
                            Deeeds @Aidan_Fire
                            last edited by Deeeds

                            @Aidan-Oxley I'm 99% sure your Else, in this situation, will get invoked (called) before the ifs reach a conclusion that they should turn your Else behaviour off.

                            Aidan_FireA 1 Reply Last reply Reply Quote 0
                            • Aidan_FireA
                              Aidan_Fire @Deeeds
                              last edited by

                              @Deeeds Already checked that. I gave speed and rotation a value, then made Else and Stuff behaviour bundles have some visual effect behaviours, and it all worked as intended.

                              1 Reply Last reply Reply Quote 0
                              • Aidan_FireA
                                Aidan_Fire
                                last edited by

                                I really like how neat the execute sequence of behaviours is!

                                D 1 Reply Last reply Reply Quote 0
                                • D
                                  Deeeds @Aidan_Fire
                                  last edited by

                                  @Aidan-Oxley Where are you using execute sequence here?

                                  Aidan_FireA 1 Reply Last reply Reply Quote 0
                                  • Aidan_FireA
                                    Aidan_Fire @Deeeds
                                    last edited by

                                    @Deeeds Sorry, I mean the order in which behaviours execute under an event, not the Execute Sequence behaviour. Like how they do each branch first, then move on left to right, but only after each whole branch is finished.

                                    D 1 Reply Last reply Reply Quote 0
                                    • D
                                      Deeeds @Aidan_Fire
                                      last edited by Deeeds

                                      @Aidan-Oxley That's not how it works. If you set up anything with a duration in a branch, you'll see that it jumps from left to right as fast as it possibly can, only downward movement through a branch is stalled by the durations.

                                      Similarly, anything that takes a long time to create a result isn't worried about, either... I think.

                                      I'm pretty sure that calls across (left to right) are blind, as fast as can be done... so far as I can tell.

                                      Aidan_FireA 1 Reply Last reply Reply Quote 0
                                      • Aidan_FireA
                                        Aidan_Fire @Deeeds
                                        last edited by Aidan_Fire

                                        @Deeeds That’s different. I’m talking about behaviours with no duration at all. As soon as they have a duration and behaviours connected underneath them, stuff changes. But still, I tested it, and it works. Idk about the more power hungry behaviours, maybe we should test that out too. But I’ve never ever had a behaviour to the right in a row activate before one to the left finishes (other than behaviours that have a duration).

                                        D 1 Reply Last reply Reply Quote 0
                                        • D
                                          Deeeds @Aidan_Fire
                                          last edited by

                                          @Aidan-Oxley I don't think so. I think you're just getting lucky, that the conditionals are happening fast enough (in this case) to get to the behaviour off before calling your Else behaviour. Push this hard, 100x, with others things happening, and I'm reasonably sure that you're going to get a few false elses firing...

                                          @hamed any chance of this? Or do you have some kind of filtering that's making sure branches complete before moving from left to right?

                                          Aidan_FireA 1 Reply Last reply Reply Quote 0
                                          • Aidan_FireA
                                            Aidan_Fire @Deeeds
                                            last edited by

                                            @Deeeds Getting lucky? I’ve used hyperPad for like 5 years, made hyperPad super laggy, done all sorts of stuff, behaviours ALWAYS execute left to right.

                                            D 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post