Announcement

Collapse
No announcement yet.

Able Ability System Info and Support Thread

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

  • It's really great, hope you will implement it.

    As for passives and running multiple abilities. I have tried to create crouch functionality as passive and there's a crash when canceling passive abilities that are in loop.
    https://imgur.com/5GrEnqy

    My ability is simple:
    - When I press CTRL passive ability with loop will start,
    - When I release CTRL I'm canceling this ability. Crash occurs after running CancelAbility in AbilityComponent.

    If you can try just to recreate crouch functionality using passive abilities (with loop!) you should get the same crash.
    How to create first person shooter game from scratch. Lots of tutorials: http://www.shootertutorial.com - celebrating 50th Tutorial!

    Comment


    • Originally posted by intoxicat3 View Post
      It's really great, hope you will implement it.

      As for passives and running multiple abilities. I have tried to create crouch functionality as passive and there's a crash when canceling passive abilities that are in loop.
      https://imgur.com/5GrEnqy

      My ability is simple:
      - When I press CTRL passive ability with loop will start,
      - When I release CTRL I'm canceling this ability. Crash occurs after running CancelAbility in AbilityComponent.

      If you can try just to recreate crouch functionality using passive abilities (with loop!) you should get the same crash.
      Interesting, thanks. I'll look into it.
      Able Ability System - A high performance, robust ability system for UE4. Now Available!

      Comment


      • Thanks!

        Sorry for spamming you with questions but I have another one: I would like to show abilities current cooldowns remaining in HUD - what's the best way to get access to this data? Imagine simple icons with radial progress bar to let player know when he can use specific ability again.

        And another one: is there any chance to show in viewport widgets for Vectors and Transforms? ( Meta = (MakeEditWidget = true) ) for variables in tasks?

        And last one (hopefully): how I can know if ability was finished so I can stack another one and fire it after finish? I can't find any delegate OnAbilityFinished or similar.
        Last edited by intoxicat3; 11-14-2017, 10:46 AM.
        How to create first person shooter game from scratch. Lots of tutorials: http://www.shootertutorial.com - celebrating 50th Tutorial!

        Comment


        • Originally posted by intoxicat3 View Post
          Thanks!

          Sorry for spamming you with questions but I have another one: I would like to show abilities current cooldowns remaining in HUD - what's the best way to get access to this data? Imagine simple icons with radial progress bar to let player know when he can use specific ability again.

          And another one: is there any chance to show in viewport widgets for Vectors and Transforms? ( Meta = (MakeEditWidget = true) ) for variables in tasks?
          There is a GetCooldownRatio (which returns a value between 0 and 1) you can use in conjunction with GetCooldown to figure out how much time is left on the cooldown for an Ability.

          As for the viewport widget, I'm not sure if that would work given you aren't moving an actor and are just setting data - but I can investigate.
          Able Ability System - A high performance, robust ability system for UE4. Now Available!

          Comment


          • Thanks for answers!

            GetCooldownRatio
            Can you expose it to BP? I'm using UMG to show delays and debug data.

            I can see you have m_ActiveCooldowns - maybe it's easier way to check cooldowns for passive and active abilities?

            I'm not sure if that would work given you aren't moving an actor and are just setting data
            In my example I'm interpolating FTransforms (in array) in task and it's easier to set them using 3d Widget as you can scale, rotate and move.

            Another questions and requests which are blocking me for now:
            - how I can know if ability was finished so I can stack another one and fire it after finish? I can't find any delegate OnAbilityFinished or similar.
            - can you please add function in AbilityComponent to check if ability class is running? (check for class not reference) I would like to check if my ability class is running or in cooldown - if yes draw something.

            What I'm trying to achieve is diablo like abilities - you can see cooldowns on HUD for each of them. (even Actives - LMB RMB)
            Last edited by intoxicat3; 11-14-2017, 11:15 AM.
            How to create first person shooter game from scratch. Lots of tutorials: http://www.shootertutorial.com - celebrating 50th Tutorial!

            Comment


            • Originally posted by intoxicat3 View Post
              Thanks for answers!


              Can you expose it to BP? I'm using UMG to show delays and debug data.


              In my example I'm interpolating FTransforms (in array) in task and it's easier to set them using 3d Widget as you can scale, rotate and move.

              And last one (hopefully): how I can know if ability was finished so I can stack another one and fire it after finish? I can't find any delegate OnAbilityFinished or similar.

              I can see you have m_ActiveCooldowns - maybe it's easier way to check cooldowns for passive and active abilities?
              Not sure how I don't have that exposed, but I'll get that in.

              Abilities have an OnAbilityFinished method that is called when they complete, there isn't a C++ delegate. I could add one, but I think the BP will get you everything you need and can be used to call whatever C++ you need (you'd have to exposed that C++ to BP but the cost should be minimal).
              Able Ability System - A high performance, robust ability system for UE4. Now Available!

              Comment


              • Abilities have an OnAbilityFinished method that is called when they complete, there isn't a C++ delegate
                Exactly. So when I run ability from C++ I can't find a way to find out when this ability will finish. Any chance you can create delegate or point me out?

                Basically I have created AbilityController in c++ to run abilities (from code) on given input profile. So I'm not running them over BP. I think you should try to create something similar to Diablo and check out if everything is exposed.
                Last edited by intoxicat3; 11-14-2017, 01:49 PM.
                How to create first person shooter game from scratch. Lots of tutorials: http://www.shootertutorial.com - celebrating 50th Tutorial!

                Comment


                • Originally posted by intoxicat3 View Post
                  Exactly. So when I run ability from C++ I can't find a way to find out when this ability will finish. Any chance you can create delegate or point me out?

                  Basically I have created AbilityController in c++ to run abilities (from code) on given input profile. So I'm not running them over BP. I think you should try to create something similar to Diablo and check out if everything is exposed.
                  Sure, shouldn't be too crazy.

                  I'd love to make a small ARPG example, but I simply don't have that much time with my other projects and my day job being a bit busier than normal (we just released DOOM and Rocket League on Switch). It's been on my list for a while, but yea - just no time.
                  Able Ability System - A high performance, robust ability system for UE4. Now Available!

                  Comment


                  • Hey ExtraLifeMatt

                    I've been having a few errors whilst playing in Standalone play (in fact it won't launch) and trying to do 'Launch Game' by right-clicking on my .uproject, however, I noticed after trying to load in, I got a lot of errors with the AbleEditor, do you have any possible solutions for this or if it's on a page that I can be referred to?

                    Code:
                    [2017.11.15-17.59.31:794][384]LogUObjectGlobals: Warning: Failed to load '/Script/AbleEditor': Can't find file for asset '/Script/AbleEditor' while loading NULL.
                    [2017.11.15-17.59.31:794][384]LogLinker: Warning: Can't find file '/Script/AbleEditor'
                    Trying to pinpoint the errors slowly, getting a ton but I just noticed this one from Able, thanks for the fantastic plugin though, it works great in-engine!

                    I might have a few other things that I need assistance with but this is the most important issue at the moment.
                    Lead Developer of Blades of Orterra | Facebook | Twitter | Official Website

                    Comment


                    • Originally posted by CrimsonWingzz View Post
                      Hey ExtraLifeMatt

                      I've been having a few errors whilst playing in Standalone play (in fact it won't launch) and trying to do 'Launch Game' by right-clicking on my .uproject, however, I noticed after trying to load in, I got a lot of errors with the AbleEditor, do you have any possible solutions for this or if it's on a page that I can be referred to?

                      Code:
                      [2017.11.15-17.59.31:794][384]LogUObjectGlobals: Warning: Failed to load '/Script/AbleEditor': Can't find file for asset '/Script/AbleEditor' while loading NULL.
                      [2017.11.15-17.59.31:794][384]LogLinker: Warning: Can't find file '/Script/AbleEditor'
                      Trying to pinpoint the errors slowly, getting a ton but I just noticed this one from Able, thanks for the fantastic plugin though, it works great in-engine!

                      I might have a few other things that I need assistance with but this is the most important issue at the moment.
                      I've seen that previously in a super old version of Able but it was solved by loading Able earlier during engine start up - however, stand alone is a special flower from what I've discovered so it may not be behaving with that.

                      What version are you running? Also, that wouldn't prevent you from launching so likely your issue is elsewhere, but I'd be curious to see if Abilities work once you get it running despite those warnings.
                      Able Ability System - A high performance, robust ability system for UE4. Now Available!

                      Comment


                      • Originally posted by ExtraLifeMatt View Post

                        I've seen that previously in a super old version of Able but it was solved by loading Able earlier during engine start up - however, stand alone is a special flower from what I've discovered so it may not be behaving with that.

                        What version are you running? Also, that wouldn't prevent you from launching so likely your issue is elsewhere, but I'd be curious to see if Abilities work once you get it running despite those warnings.
                        I believe I have the latest version of Able and I have 4.18.1 for UE4. Yeah, I think Standalone is a doozy, but the packaged version does indeed work.
                        Lead Developer of Blades of Orterra | Facebook | Twitter | Official Website

                        Comment


                        • Maybe bug maybe feature:
                          When I play passive ability in active ability passive ability won't finish. OnEnd won't trigger.

                          And another thing:
                          In behavior tree there is decorator called check gameplay tags which is operating on Character. Any chance to make m_TagContainer public? So I can pass tags from Ability Component without need to duplicate them in Character/AI.
                          Last edited by intoxicat3; 11-16-2017, 11:39 AM.
                          How to create first person shooter game from scratch. Lots of tutorials: http://www.shootertutorial.com - celebrating 50th Tutorial!

                          Comment


                          • Originally posted by intoxicat3 View Post
                            Maybe bug maybe feature:
                            When I play passive ability in active ability passive ability won't finish. OnEnd won't trigger.

                            And another thing:
                            In behavior tree there is decorator called check gameplay tags which is operating on Character. Any chance to make m_TagContainer public? So I can pass tags from Ability Component without need to duplicate them in Character/AI.
                            I'll add that to my list of things to check on Saturday (which I've blocked out the entire day to give Able some love). Passives should be calling OnAbilityEnd, the enum will always be "Finished" (due to Client/Server setup, I don't pass how the Passive ended as it would be a lot of traffic) but it should definitely be getting called.
                            Able Ability System - A high performance, robust ability system for UE4. Now Available!

                            Comment


                            • And I can't create build:
                              Code:
                              UATHelper: Packaging (Windows (64-bit)):   E:\Azure\Rogal\Plugins\Able\Source\AbleCore\Classes\ablAbilityDebug.h(19): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
                              UATHelper: Packaging (Windows (64-bit)):   E:\Azure\Rogal\Plugins\Able\Source\AbleCore\Classes\ablAbilityDebug.h(19): error C2143: syntax error: missing ',' before '*'
                              UATHelper: Packaging (Windows (64-bit)):   E:\Azure\Rogal\Plugins\Able\Source\AbleCore\Classes\ablAbilityDebug.h(22): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
                              UATHelper: Packaging (Windows (64-bit)):   E:\Azure\Rogal\Plugins\Able\Source\AbleCore\Classes\ablAbilityDebug.h(22): error C2143: syntax error: missing ',' before '*'
                              UATHelper: Packaging (Windows (64-bit)):   E:\Azure\Rogal\Plugins\Able\Source\AbleCore\Classes\ablAbilityDebug.h(25): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
                              UATHelper: Packaging (Windows (64-bit)):   E:\Azure\Rogal\Plugins\Able\Source\AbleCore\Classes\ablAbilityDebug.h(25): error C2143: syntax error: missing ',' before '*'
                              UATHelper: Packaging (Windows (64-bit)):   E:\Azure\Rogal\Plugins\Able\Source\AbleCore\Classes\ablAbilityDebug.h(28): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
                              UATHelper: Packaging (Windows (64-bit)):   E:\Azure\Rogal\Plugins\Able\Source\AbleCore\Classes\ablAbilityDebug.h(28): error C2143: syntax error: missing ',' before '*'
                              UATHelper: Packaging (Windows (64-bit)):   E:\Azure\Rogal\Plugins\Able\Source\AbleCore\Classes\ablAbilityDebug.h(31): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
                              UATHelper: Packaging (Windows (64-bit)):   E:\Azure\Rogal\Plugins\Able\Source\AbleCore\Classes\ablAbilityDebug.h(31): error C2143: syntax error: missing ',' before '*'
                              UATHelper: Packaging (Windows (64-bit)):   E:\Azure\Rogal\Plugins\Able\Source\AbleCore\Classes\ablAbilityDebug.h(34): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
                              UATHelper: Packaging (Windows (64-bit)):   E:\Azure\Rogal\Plugins\Able\Source\AbleCore\Classes\ablAbilityDebug.h(34): error C2143: syntax error: missing ',' before '*'
                              UATHelper: Packaging (Windows (64-bit)):   E:\Azure\Rogal\Plugins\Able\Source\AbleCore\Classes\ablAbilityDebug.h(37): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
                              UATHelper: Packaging (Windows (64-bit)):   E:\Azure\Rogal\Plugins\Able\Source\AbleCore\Classes\ablAbilityDebug.h(37): error C2143: syntax error: missing ',' before '*'
                              UATHelper: Packaging (Windows (64-bit)):   E:\Azure\Rogal\Plugins\Able\Source\AbleCore\Classes\ablAbilityDebug.h(40): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
                              UATHelper: Packaging (Windows (64-bit)):   E:\Azure\Rogal\Plugins\Able\Source\AbleCore\Classes\ablAbilityDebug.h(40): error C2143: syntax error: missing ',' before '*'
                              UATHelper: Packaging (Windows (64-bit)):   E:\Azure\Rogal\Plugins\Able\Source\AbleCore\Classes\ablAbilityDebug.h(43): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
                              UATHelper: Packaging (Windows (64-bit)):   E:\Azure\Rogal\Plugins\Able\Source\AbleCore\Classes\ablAbilityDebug.h(43): error C2143: syntax error: missing ',' before '*'
                              UATHelper: Packaging (Windows (64-bit)):   ablSettings.gen.cpp
                              UATHelper: Packaging (Windows (64-bit)):   AbleCore.init.gen.cpp
                              UATHelper: Packaging (Windows (64-bit)):   E:\Azure\Rogal\Plugins\Able\Source\AbleCore\Private\ablAbilityDebug.cpp(9): error C2143: syntax error: missing ';' before '<'
                              UATHelper: Packaging (Windows (64-bit)):   E:\Azure\Rogal\Plugins\Able\Source\AbleCore\Private\ablAbilityDebug.cpp(9): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
                              UATHelper: Packaging (Windows (64-bit)):   E:\Azure\Rogal\Plugins\Able\Source\AbleCore\Private\ablAbilityDebug.cpp(10): error C2143: syntax error: missing ';' before '<'
                              You should add #include "Runtime/Engine/Classes/Engine/World.h" to this class.
                              Last edited by intoxicat3; 11-17-2017, 09:21 AM.
                              How to create first person shooter game from scratch. Lots of tutorials: http://www.shootertutorial.com - celebrating 50th Tutorial!

                              Comment


                              • Originally posted by intoxicat3 View Post
                                And I can't create build:
                                Code:
                                UATHelper: Packaging (Windows (64-bit)): E:\Azure\Rogal\Plugins\Able\Source\AbleCore\Classes\ablAbilityDebug.h(19): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
                                UATHelper: Packaging (Windows (64-bit)): E:\Azure\Rogal\Plugins\Able\Source\AbleCore\Classes\ablAbilityDebug.h(19): error C2143: syntax error: missing ',' before '*'
                                UATHelper: Packaging (Windows (64-bit)): E:\Azure\Rogal\Plugins\Able\Source\AbleCore\Classes\ablAbilityDebug.h(22): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
                                UATHelper: Packaging (Windows (64-bit)): E:\Azure\Rogal\Plugins\Able\Source\AbleCore\Classes\ablAbilityDebug.h(22): error C2143: syntax error: missing ',' before '*'
                                UATHelper: Packaging (Windows (64-bit)): E:\Azure\Rogal\Plugins\Able\Source\AbleCore\Classes\ablAbilityDebug.h(25): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
                                UATHelper: Packaging (Windows (64-bit)): E:\Azure\Rogal\Plugins\Able\Source\AbleCore\Classes\ablAbilityDebug.h(25): error C2143: syntax error: missing ',' before '*'
                                UATHelper: Packaging (Windows (64-bit)): E:\Azure\Rogal\Plugins\Able\Source\AbleCore\Classes\ablAbilityDebug.h(28): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
                                UATHelper: Packaging (Windows (64-bit)): E:\Azure\Rogal\Plugins\Able\Source\AbleCore\Classes\ablAbilityDebug.h(28): error C2143: syntax error: missing ',' before '*'
                                UATHelper: Packaging (Windows (64-bit)): E:\Azure\Rogal\Plugins\Able\Source\AbleCore\Classes\ablAbilityDebug.h(31): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
                                UATHelper: Packaging (Windows (64-bit)): E:\Azure\Rogal\Plugins\Able\Source\AbleCore\Classes\ablAbilityDebug.h(31): error C2143: syntax error: missing ',' before '*'
                                UATHelper: Packaging (Windows (64-bit)): E:\Azure\Rogal\Plugins\Able\Source\AbleCore\Classes\ablAbilityDebug.h(34): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
                                UATHelper: Packaging (Windows (64-bit)): E:\Azure\Rogal\Plugins\Able\Source\AbleCore\Classes\ablAbilityDebug.h(34): error C2143: syntax error: missing ',' before '*'
                                UATHelper: Packaging (Windows (64-bit)): E:\Azure\Rogal\Plugins\Able\Source\AbleCore\Classes\ablAbilityDebug.h(37): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
                                UATHelper: Packaging (Windows (64-bit)): E:\Azure\Rogal\Plugins\Able\Source\AbleCore\Classes\ablAbilityDebug.h(37): error C2143: syntax error: missing ',' before '*'
                                UATHelper: Packaging (Windows (64-bit)): E:\Azure\Rogal\Plugins\Able\Source\AbleCore\Classes\ablAbilityDebug.h(40): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
                                UATHelper: Packaging (Windows (64-bit)): E:\Azure\Rogal\Plugins\Able\Source\AbleCore\Classes\ablAbilityDebug.h(40): error C2143: syntax error: missing ',' before '*'
                                UATHelper: Packaging (Windows (64-bit)): E:\Azure\Rogal\Plugins\Able\Source\AbleCore\Classes\ablAbilityDebug.h(43): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
                                UATHelper: Packaging (Windows (64-bit)): E:\Azure\Rogal\Plugins\Able\Source\AbleCore\Classes\ablAbilityDebug.h(43): error C2143: syntax error: missing ',' before '*'
                                UATHelper: Packaging (Windows (64-bit)): ablSettings.gen.cpp
                                UATHelper: Packaging (Windows (64-bit)): AbleCore.init.gen.cpp
                                UATHelper: Packaging (Windows (64-bit)): E:\Azure\Rogal\Plugins\Able\Source\AbleCore\Private\ablAbilityDebug.cpp(9): error C2143: syntax error: missing ';' before '<'
                                UATHelper: Packaging (Windows (64-bit)): E:\Azure\Rogal\Plugins\Able\Source\AbleCore\Private\ablAbilityDebug.cpp(9): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
                                UATHelper: Packaging (Windows (64-bit)): E:\Azure\Rogal\Plugins\Able\Source\AbleCore\Private\ablAbilityDebug.cpp(10): error C2143: syntax error: missing ';' before '<'
                                You should add #include "Runtime/Engine/Classes/Engine/World.h" to this class.
                                Hmm, Interesting... When I package the plugin I don't get that error (and neither did Epic). Did you make a change to that file? If so, that would break it out of the unity build file and could change the include order.
                                Able Ability System - A high performance, robust ability system for UE4. Now Available!

                                Comment

                                Working...
                                X