Announcement

Collapse
No announcement yet.

Able Ability System Info and Support Thread

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

    Originally posted by AngeIV View Post
    ExtraLifeMatt Hi! I'm making more ABLE videos soon!
    2 new features to consideration:
    1) you have "can interrupt ability" but it would be great to have a second gate-keep - "can be interrupted" and the possibility of making uninterruptable abilities (default false)
    2) ONLY PASSIVE abilities can be channeled abilities. Don't know why. 4.26 latest update from the marketplace. I'm pretty sure I had active channeled before and they worked fine.
    1.) You can do that with tags. Just assign a tag to the Ability "States.Uninteruptable" and in the Can Interupt Ability, just check for it.
    2.) Anything can be channeled, pretty sure I added that wayyyy back when. I'll double check things, something may have broke in the big memory changes.
    Able Ability System - A high performance, robust ability system for UE4. Now Available!

    Comment


      Originally posted by ExtraLifeMatt View Post

      1.) You can do that with tags. Just assign a tag to the Ability "States.Uninteruptable" and in the Can Interupt Ability, just check for it.
      2.) Anything can be channeled, pretty sure I added that wayyyy back when. I'll double check things, something may have broke in the big memory changes.
      1) brilliant! on it!
      2) unfortunately 3 channeled abilities didn't channel if they weren't passive. ticked passive and they instantly started channeling properly.

      By the way any idea on how to do branching ability on the finish of looping or channeled ability with multiple loops? I cant use branch task - as it will execute on a single loop - not just the last one. I cant bind on the ability end/interrupt etc.. I can use the ability end event to run the ability inside the event... But I can't check the input condition for branching if I do...
      What I figured so far is adding "can execute" condition same as channel condition and always run the ability on previous channeled end - and it will simply fail if my input is not pressed, but again I have to code the input check inside a function directly with some cheats and I'm not sure it will work as server condition will fail. Works on a single player so far.
      (I am using ADS channel on input hold... I sprint - so I want to stop ADS... When I finish sprint I want to check input to enter ADS without the need of re-input)

      Comment


        Im having a hard time getting a collision query to hit foliage. A little debugging shows that it is detected in the Overlaps, but the ResultTransform.GetTranslation(); is returning a zero'd vector so distance sqrd checks always fail. Does anyone know how to get it to hit foliage instances?

        Does anyone else have this problem? Is this somehow unique to my project? Any info would be appreciated.
        Last edited by jhirsh; 01-13-2021, 04:36 AM.

        Comment


          Originally posted by AngeIV View Post

          1) brilliant! on it!
          2) unfortunately 3 channeled abilities didn't channel if they weren't passive. ticked passive and they instantly started channeling properly.

          By the way any idea on how to do branching ability on the finish of looping or channeled ability with multiple loops? I cant use branch task - as it will execute on a single loop - not just the last one. I cant bind on the ability end/interrupt etc.. I can use the ability end event to run the ability inside the event... But I can't check the input condition for branching if I do...
          What I figured so far is adding "can execute" condition same as channel condition and always run the ability on previous channeled end - and it will simply fail if my input is not pressed, but again I have to code the input check inside a function directly with some cheats and I'm not sure it will work as server condition will fail. Works on a single player so far.
          (I am using ADS channel on input hold... I sprint - so I want to stop ADS... When I finish sprint I want to check input to enter ADS without the need of re-input)
          I'll look into the active thing for channels. Sounds like something just broke.

          Honestly the way I would handle your question is by going a level higher, i.e. don't try to do it all in Able. Can you simply check in your character that while your movement button or whatever is pressed that the character is playing the Sprint or is in ADS, and if not - to re-enter the ADS?
          Able Ability System - A high performance, robust ability system for UE4. Now Available!

          Comment


            Hey there Matt,

            as far as I see Macro Library macros are accessible from the ABLE Graph editor in the content browser actions (right mouse click in the Graph or in any function in an ABLE ability), but Function Libraries are not somehow, so any chance to be able to add "access" through the ABLE Graph to use them?

            It could be a HUGE time & effort saver for us to use our large Function Libraries in the long road and maybe for others too. : ]

            Comment


              Originally posted by JimPhoenix View Post
              Hey there Matt,

              as far as I see Macro Library macros are accessible from the ABLE Graph editor in the content browser actions (right mouse click in the Graph or in any function in an ABLE ability), but Function Libraries are not somehow, so any chance to be able to add "access" through the ABLE Graph to use them?

              It could be a HUGE time & effort saver for us to use our large Function Libraries in the long road and maybe for others too. : ]
              So, some function libraries are allowed. Things like Oculus and other libs. But then others don't show. I honestly haven't figured out the rhyme or reason for what is preventing that. I've dug quite a bit but no dice so far. I'll keep looking but if you happen to know, I'm definitely interested in whatever flag needs to be tickled.
              Able Ability System - A high performance, robust ability system for UE4. Now Available!

              Comment


                Originally posted by ExtraLifeMatt View Post

                So, some function libraries are allowed. Things like Oculus and other libs. But then others don't show. I honestly haven't figured out the rhyme or reason for what is preventing that. I've dug quite a bit but no dice so far. I'll keep looking but if you happen to know, I'm definitely interested in whatever flag needs to be tickled.
                Unfortunately I don't have any clue on that, as far as I can remember I never experienced this type of prevention in other custom made BP Graphs, so at the end I just really hope you can find that flag or whatever is behind it. : /

                Comment


                  Originally posted by ExtraLifeMatt View Post
                  Hi, I package my dedicated server and configure for linux shipping, and report error at this function:
                  FString UBTDecorator_HasActivePassiveAbility::GetStaticDescription() const

                  And, I found problem is this code:
                  AbilityName = FString::Format(TEXT("BlueprintKey(%s)"), { AbilityKey.SelectedKeyName.ToString() });

                  Comment


                    Originally posted by MichaelLiew View Post

                    Hi, I package my dedicated server and configure for linux shipping, and report error at this function:
                    FString UBTDecorator_HasActivePassiveAbility::GetStaticDescription() const

                    And, I found problem is this code:
                    AbilityName = FString::Format(TEXT("BlueprintKey(%s)"), { AbilityKey.SelectedKeyName.ToString() });
                    Interesting that error causes issues in Shipping and not other configs, Epic should be building Linux/Mac/Win64 Shipping and Dev builds. Maybe you need the dereference operator when using StringArguments rather than flat VA_ARGS..., if so you can just toss it in. I'll look at things this weekend when I have some time to investigate the channeling stuff that was reported earlier.

                    Code:
                    AbilityName = FString::Format(TEXT("BlueprintKey(%s)"), { *AbilityKey.SelectedKeyName.ToString() });
                    Able Ability System - A high performance, robust ability system for UE4. Now Available!

                    Comment


                      Originally posted by ExtraLifeMatt View Post

                      Interesting that error causes issues in Shipping and not other configs, Epic should be building Linux/Mac/Win64 Shipping and Dev builds. Maybe you need the dereference operator when using StringArguments rather than flat VA_ARGS..., if so you can just toss it in. I'll look at things this weekend when I have some time to investigate the channeling stuff that was reported earlier.

                      Code:
                      AbilityName = FString::Format(TEXT("BlueprintKey(%s)"), { *AbilityKey.SelectedKeyName.ToString() });
                      I found that not this code causee issues, it is compiler problem, your code have many place writing like this:

                      if (xxx)
                      return;

                      if your change code to this:

                      if (xxx) return;

                      then, compile will be ok, it is weird

                      Comment


                        Originally posted by MichaelLiew View Post

                        I found that not this code causee issues, it is compiler problem, your code have many place writing like this:

                        if (xxx)
                        return;

                        if your change code to this:

                        if (xxx) return;

                        then, compile will be ok, it is weird
                        That makes 0 sense, but Linux can be weird like that.
                        Able Ability System - A high performance, robust ability system for UE4. Now Available!

                        Comment


                          Hi Matt
                          asked this ages ago....
                          Is there any progress on the Move to and Jump to Tasks?
                          Is it still WIP?
                          Can you explain how you used this as you kept it in here?

                          Thank you Matt
                          Jesse

                          Comment


                            Originally posted by jwyuen View Post
                            Hi Matt
                            asked this ages ago....
                            Is there any progress on the Move to and Jump to Tasks?
                            Is it still WIP?
                            Can you explain how you used this as you kept it in here?

                            Thank you Matt
                            Jesse
                            Move to should work with path finding + character movement, Jump To is.... ehhhhhh. Movement in UE4 is pretty customizable (some people use purely physics, some use character movement, some use a marketplace solution like ALS), so it's hard to make a generic solution. I've left MoveTo/JumpTo in there more for reference than anything. If you really want those tasks, it's honestly best that you build them yourself using Custom Task or just C++ and follow along with those examples to tailor things for your game / gameplay.
                            Able Ability System - A high performance, robust ability system for UE4. Now Available!

                            Comment


                              Originally posted by ExtraLifeMatt View Post

                              Move to should work with path finding + character movement, Jump To is.... ehhhhhh. Movement in UE4 is pretty customizable (some people use purely physics, some use character movement, some use a marketplace solution like ALS), so it's hard to make a generic solution. I've left MoveTo/JumpTo in there more for reference than anything. If you really want those tasks, it's honestly best that you build them yourself using Custom Task or just C++ and follow along with those examples to tailor things for your game / gameplay.
                              Thanks Matt.
                              Btw I just done a Tutorial on integrating Advanced Locomotion System with your Plugin.
                              https://www.youtube.com/watch?v=nUu8MOoYOw0

                              Not too well at the moment so sounded meh lol Hope this helps some people.

                              Comment

                              Working...
                              X