Announcement

Collapse
No announcement yet.

Able Ability System Info and Support Thread

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Originally posted by ExtraLifeMatt View Post
    Able v1.75 has been submitted to Epic, this fixes an issue where Abilities would not replicate past the first execution when using dedicated server (may fix some other replication weirdness in general as well). There was a bit of optimized code that was being a bit *too* optimal (as in culling everything) - so it's been removed.

    I've also created a small project that I've been using to test Dedicated Servers. This project consists of two players, a simple blueprint to auto-posses the players, and a simple Ability that fires off an animation + particle effect. You can use it to verify/check your own project's setup, or use it to repro any bugs you've come across and then send it back to me and I'll check things out.

    You can grab it from the Tutorials wiki.
    ... i love you. lol. Thanks for the update bud. I look forward to the guide: "idiot proofing of the server sided replication problems caused by Angry Penguin Studios"
    Founder and CEO of Angry Penguin Studio, LLC
    Dallas, TX USA
    https://www.facebook.com/AngryPenguinStudios

    Comment


      Finally got my combos working, thanks for the update!

      Comment


        Originally posted by TheNoontide View Post
        Finally got my combos working, thanks for the update!
        Yay! That makes me stupid happy to hear!
        Able Ability System - A high performance, robust ability system for UE4. Now Available!

        Comment


          Originally posted by ExtraLifeMatt View Post

          Yay! That makes me stupid happy to hear!
          Hahaha, my family always used to say that phrase xD It's odd reading a stranger post that online LOL

          Comment


            Originally posted by Kelreth View Post
            Hey! Fairly new to able so they're probably easy-to-solve, but I've got three quick questions, would greatly appreciate if anyone could help me with them

            So I'm trying to create a Fireball that needs to be cast (in this example 0.7s) and after that fires it's Projectile (if the cast was not interrupted).
            How I'm doing that currently (any better solutions, especially when I want to modify cast-times in-game later?):

            Have an Ability activate upon Input that starts a 0.7s long Ability. At 0.6999 I spawn an Actor that has a Sphere Collider and the Particle System attached.
            If the Collider touches another Character a second Activity is played for 0.0001s that deals damage and plays a passive "Burn" ability on the target hit.

            Soooo, to my questions:

            1) How could I go about having an Ability that I can activate DURING the Fireballs cast-time but that would NOT cancel it's cast? For example let the player activate an Ability where he teleports a set distance or let him move (quicker) while casting the Spell.

            2) About moving while casting: What would be the best solution to make players move at only lets say 20% of their speed while casting any Ability? Slow them down manually in "On Ability Start" and then speed them up again in "On Ability End"? Or applying a passive ability that lasts until the cast is done? Or maybe use Gameplay Tags in some fashion?

            3) About the "Burn" passive. I would like it to apply a completely separate Burn instead of Stacking and/or refreshing the Duration of the old one. So if the target player has a Burn on him that's still lasting 3 seconds I want that Burn to stay untouched and apply a new, completely independent Burn, even though it comes from the same Fireball Ability.
            I haven't quite figured out a way to do this since the checkboxes under "Passive" only allow for Stacking and Refreshing mechanics (as far as I know?).
            Okay so I've found a workaround for 1) just make the ability that will be activated during another ability passive
            and for 2) ive already listed some solutions, i guess i'll just try around with that and take whatever works best ;P

            but does anyone have a solution for my third question? is this something Able supports or do I have to write my own logic for that?
            and about casting Abilities: what if one player has - lets say - a powerUp that lets him cast 50% quicker for a short amount of time.
            That would mean reducing the length of an Able Ability by 50% for one player but not for the other. Any way to achieve this within Able?
            As far as i can tell you can only "get Length" of an Ability, but never set it (in Blueprints). Any chance this will ever be introduced? (maybe as a "length scale"?)

            The only current solution I would find is to craft a custom Cast-time System and fire a 0.0001 second Able Ability at the end of the cast.
            However that would make me have to do all the networked Animations, Sounds, Particles etc..., which Able does so beautifully, myself.

            Comment


              Originally posted by Kelreth View Post

              Okay so I've found a workaround for 1) just make the ability that will be activated during another ability passive
              and for 2) ive already listed some solutions, i guess i'll just try around with that and take whatever works best ;P

              but does anyone have a solution for my third question? is this something Able supports or do I have to write my own logic for that?
              and about casting Abilities: what if one player has - lets say - a powerUp that lets him cast 50% quicker for a short amount of time.
              That would mean reducing the length of an Able Ability by 50% for one player but not for the other. Any way to achieve this within Able?
              As far as i can tell you can only "get Length" of an Ability, but never set it (in Blueprints). Any chance this will ever be introduced? (maybe as a "length scale"?)

              The only current solution I would find is to craft a custom Cast-time System and fire a 0.0001 second Able Ability at the end of the cast.
              However that would make me have to do all the networked Animations, Sounds, Particles etc..., which Able does so beautifully, myself.
              When you go to Apply the Burn, you could query the Passives already running on the target and then just apply the longer version(Burn2, Burn3, etc). Able expects Abilities to be unique, so you can't have two Burns running on a target (merely 2 stacks of the same Burn ability). So you'll need to break them out into discrete Abilities (even if they are simple copy/pastes) anyway.

              An Ability scale sounds like a good idea, I'll add that for the next update (there may be some trickiness with getting Animations/Particles scaled but it should be do-able). You can already override the cooldown length, but that doesn't help much in your use case.
              Able Ability System - A high performance, robust ability system for UE4. Now Available!

              Comment


                did the update go live? i dont see the update on launcher
                Founder and CEO of Angry Penguin Studio, LLC
                Dallas, TX USA
                https://www.facebook.com/AngryPenguinStudios

                Comment


                  Originally posted by ExtraLifeMatt View Post

                  When you go to Apply the Burn, you could query the Passives already running on the target and then just apply the longer version(Burn2, Burn3, etc). Able expects Abilities to be unique, so you can't have two Burns running on a target (merely 2 stacks of the same Burn ability). So you'll need to break them out into discrete Abilities (even if they are simple copy/pastes) anyway.

                  An Ability scale sounds like a good idea, I'll add that for the next update (there may be some trickiness with getting Animations/Particles scaled but it should be do-able). You can already override the cooldown length, but that doesn't help much in your use case.
                  Thank you for the answers!

                  Alright good to know, I'll figure something out then.

                  Awesome !! I'll glady wait for that update then <3

                  Comment


                    Originally posted by AP_Studios View Post
                    did the update go live? i dont see the update on launcher
                    I haven't received an email from Epic so I don't think so? They have it so hopefully it'll go out soon.
                    Able Ability System - A high performance, robust ability system for UE4. Now Available!

                    Comment


                      Originally posted by AP_Studios View Post
                      did the update go live? i dont see the update on launcher
                      Yep, ran it on 4.17 and no problems yet, only little bug I encountered was a compiler result "unrecognized tab" whenever I create a new Able Blueprint. Abiliy Animation Node is working too!

                      Not yet managed to work out how to add some spread and recoil to my raycasts, if someone has another hint, I'm all ears and eyes ! I'll promise to highlight the use of Able if I ever get to record my WIP stuff ^^

                      Comment


                        Originally posted by TheNoontide View Post

                        Yep, ran it on 4.17 and no problems yet, only little bug I encountered was a compiler result "unrecognized tab" whenever I create a new Able Blueprint. Abiliy Animation Node is working too!

                        Not yet managed to work out how to add some spread and recoil to my raycasts, if someone has another hint, I'm all ears and eyes ! I'll promise to highlight the use of Able if I ever get to record my WIP stuff ^^
                        Originally posted by ExtraLifeMatt View Post

                        I haven't received an email from Epic so I don't think so? They have it so hopefully it'll go out soon.
                        Sooooo ........ lol.
                        I assume hes running the 4.16 in 4.17?
                        Now i am confused.

                        I am also running 4.17 and on open, i get TONS of ABLE errors (because its missing, so, they are 100% expected)
                        ^^ nevermind. Looks like it updated but the launcher needed to restart. I hate the launcher.....
                        Founder and CEO of Angry Penguin Studio, LLC
                        Dallas, TX USA
                        https://www.facebook.com/AngryPenguinStudios

                        Comment


                          You should get that little popup on the lower right hand side whenever you load up your project, it tells you if new plugins are available, click on that, update Able to the latest one, and you should be golden

                          Comment


                            Hey!

                            Just reporting a little bug.. So I'm spawning an Actor that doesn't ever move with a very simple Ability - basically just a Zone that stays for a while and heals those inside. However when spawning that with Able (not with the Spawn Actor node - it's fine there!) I always get the following PIE Error:
                            " Warning Healzone_C_0.Sphere has to have 'Simulate Physics' enabled if you'd like to AddImpulse. "

                            When changing the Collider Transform from "Movable" into "Static" or "Stationary" the Error says:
                            " Warning Mobility of Healzone_C_0 : Sphere has to be 'Movable' if you'd like to AddImpulse. "

                            I'm assuming that's because Able tries to add it's Velocity from the Task Properties to the Actor after spawning it, even though I've left that at 0.
                            I've also mentioned it in an E-Mail to you, but once again, could there maybe be an Option (boolean?) to opt out of Able applying Velocity to spawned Actors?
                            That way it wouldn't take away from people entirely controlling their velocity with Able - but it would also enable other Users to control their Velocity with other means or, like in my case, just not apply any. (And you do already have such Options like for example the "Set Owner" boolean for that same Task^^)
                            Or maybe just not trying to apply Velocity when the Root Component's Transform is Static or Stationary would also be fine

                            Here's how the Ability is set up so you can replicate the bug: https://puu.sh/xqPWJ/2cc3dc1294.jpg
                            The "Healzone" Actor is simply a Sphere Collider with a large radius and an equally large Particle System attached to it.
                            Last edited by Kelreth; 09-03-2017, 06:45 PM.

                            Comment


                              Originally posted by Kelreth View Post
                              Hey!

                              Just reporting a little bug.. So I'm spawning an Actor that doesn't ever move with a very simple Ability - basically just a Zone that stays for a while and heals those inside. However when spawning that with Able (not with the Spawn Actor node - it's fine there!) I always get the following PIE Error:
                              " Warning Healzone_C_0.Sphere has to have 'Simulate Physics' enabled if you'd like to AddImpulse. "

                              When changing the Collider Transform from "Movable" into "Static" or "Stationary" the Error says:
                              " Warning Mobility of Healzone_C_0 : Sphere has to be 'Movable' if you'd like to AddImpulse. "

                              I'm assuming that's because Able tries to add it's Velocity from the Task Properties to the Actor after spawning it, even though I've left that at 0.
                              I've also mentioned it in an E-Mail to you, but once again, could there maybe be an Option (boolean?) to opt out of Able applying Velocity to spawned Actors?
                              That way it wouldn't take away from people entirely controlling their velocity with Able - but it would also enable other Users to control their Velocity with other means or, like in my case, just not apply any. (And you do already have such Options like for example the "Set Owner" boolean for that same Task^^)
                              Or maybe just not trying to apply Velocity when the Root Component's Transform is Static or Stationary would also be fine

                              Here's how the Ability is set up so you can replicate the bug: https://puu.sh/xqPWJ/2cc3dc1294.jpg
                              The "Healzone" Actor is simply a Sphere Collider with a large radius and an equally large Particle System attached to it.
                              Sounds like it's just a warning, but yea I can add that option in an upcoming update.
                              Able Ability System - A high performance, robust ability system for UE4. Now Available!

                              Comment


                                Yes indeed it is just a Warning for this case, but in other cases that Velocity actually gets in the way and needs workarounds. And I also like my Projects as Warning-free as possible!
                                So a huge thanks once again for adding it to your list, it will help me and my OCD a lot

                                However today I stumbled across a nastier bug: The entire Engine crashes when trying to cancel a passive Ability.
                                Here's how to recreate the bug step-by-step from a new Project (with Engine v4.16.3, Able v1.70):

                                1) Create a new Project. I'll be creating a 3rd Person Blueprint Project but it should happen on any kind of project really.
                                2) Enable Able Plugin and add an Ability Component to the Player Character (in my case: "ThirdPersonCharacter").
                                3) Make an Able Ability:
                                - Length 0.7s.
                                - 1 Task which is "Play Animation" and just choose the "ThirdPersonJump_Loop".
                                - Finally activate "Is Looping" and set the Loop End to 0.7s.
                                4) Add 2 Action Mappings to your Project: "ActivateAbility" and "CancelAbility". I bound them to Keyboard 1 and 2.
                                5) Set up your Action Mappings in your Player Character Blueprint to Activate / Cancel the Ability you created like so: https://puu.sh/xrIhB/fbc81d5f5c.png
                                6) Go try your Setup. When pressing 1 your Character should start the Animation and loop it infinitely. When pressing 2 it cancels the whole thing as it should.
                                7) Now go back to your Ability and enable "Is Passive" and hit "Play" again. The Engine will crash when pressing 2 so make sure you saved beforehand.

                                This not only occurs with the Ability having an Animation Task which is possibly not meant for passive Abilities. I encountered this with an Ability that only had a Particle Effect to play. Also, it even happens when removing the "Play Animation" Task (so even when the Ability does not have a single Task).

                                Edit: Forgot to include a Screenshot of the Crash so here it is https://puu.sh/xrJcN/b6ac1f33a4.png
                                Last edited by Kelreth; 09-04-2017, 08:16 PM.

                                Comment

                                Working...
                                X