Announcement

Collapse
No announcement yet.

Able Ability System Info and Support Thread

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

    Able v3.37 has been submitted. Notes below:

    - Fixes warning about non-deterministic cook when packaging Abilities (we were always sorting tasks before save, now we only sort if needed).
    - Fix to crash in the IsLocallyPredicted callback. Happened when 2 or more players were on a server and fired an Ability.
    Able Ability System - A high performance, robust ability system for UE4. Now Available!

    Comment


      Originally posted by ExtraLifeMatt View Post
      Able v3.37 has been submitted. Notes below:
      Thank you Matt! ​​​​​​​

      Comment


        First off thank you so much, I love your plugin.

        https://imgur.com/Smf3RXt

        1. For some reason when I run the game client vs client online, the range on my collision querys is much shorter. When I play on a listen server and the server is involved in the collision query, wether being the attacker or the one getting hit, the range is correct.

        I am using a 2d cone collision query. Everything else is working fine besides..

        2. My ability has 2 collision querys that deal separate damage. When the first attack lands the second is guaranteed to deal damage even though clear targets it enabled.

        Comment


          whats the setup of your query? whats the realm? Maybe you should only check on server? or one is running on client? maybe both query's are setup differently.. also.. why would you need 2?

          Comment


            ExtraLifeMatt any chance you can look at thumbnails? They aren't saving for me @ 4.25.
            repro:
            - create thumb,
            - save ability,
            - close editor,
            - open editor again and your thumb will be null,
            How to create first person shooter game from scratch. Lots of tutorials: http://www.shootertutorial.com - celebrating 50th Tutorial!

            My Marketplace Assets

            Comment


              Originally posted by mnorris54 View Post
              First off thank you so much, I love your plugin.

              https://imgur.com/Smf3RXt

              1. For some reason when I run the game client vs client online, the range on my collision querys is much shorter. When I play on a listen server and the server is involved in the collision query, wether being the attacker or the one getting hit, the range is correct.

              I am using a 2d cone collision query. Everything else is working fine besides..

              2. My ability has 2 collision querys that deal separate damage. When the first attack lands the second is guaranteed to deal damage even though clear targets it enabled.
              Yea, Client and Server run the exact same code. Not sure why that would be different between the two.
              Originally posted by intoxicat3 View Post
              ExtraLifeMatt any chance you can look at thumbnails? They aren't saving for me @ 4.25.
              repro:
              - create thumb,
              - save ability,
              - close editor,
              - open editor again and your thumb will be null,
              Sure, haven't checked on those guys in a while.
              Able Ability System - A high performance, robust ability system for UE4. Now Available!

              Comment


                Can someone explain to me how to do a charge up attack?

                I know how to do it in regular blueprints, but not Able.

                I am trying to mix the two now, but I can only get it to work on the server, not the clients.

                For a question that can easily be answered now, how do you apply damage in the Able Editor. Other than the Apply Damage task is there a way in the editor to apply damage? When I use the Apply Damage function it doesn't work even when I attach it to a server call. All I want to do is take a charge value from the player blueprint and add it to the damage before applying it to the collision query targets that it finds.

                Comment


                  Originally posted by mnorris54 View Post
                  Can someone explain to me how to do a charge up attack?

                  I know how to do it in regular blueprints, but not Able.

                  I am trying to mix the two now, but I can only get it to work on the server, not the clients.

                  For a question that can easily be answered now, how do you apply damage in the Able Editor. Other than the Apply Damage task is there a way in the editor to apply damage? When I use the Apply Damage function it doesn't work even when I attach it to a server call. All I want to do is take a charge value from the player blueprint and add it to the damage before applying it to the collision query targets that it finds.
                  maybe because only the server has authority over "deal damage" interface? You need to learn about controller function "instigated any damage". Also make sure any part of the ability is running on client and server (if non cosmetic!) and none is server only. even if something requires authority - it will just not work on client but you will make sure you haven't skipped anything.
                  Also - you didn't specify exactly whats wrong. maybe do a short video? If I know the problem I could help.

                  Comment


                    Originally posted by mnorris54 View Post
                    Can someone explain to me how to do a charge up attack?

                    I know how to do it in regular blueprints, but not Able.

                    I am trying to mix the two now, but I can only get it to work on the server, not the clients.

                    For a question that can easily be answered now, how do you apply damage in the Able Editor. Other than the Apply Damage task is there a way in the editor to apply damage? When I use the Apply Damage function it doesn't work even when I attach it to a server call. All I want to do is take a charge value from the player blueprint and add it to the damage before applying it to the collision query targets that it finds.
                    Charge up would be a channeled ability - then when the ability ends, you check how long the ability was played for and branch to which ever version of the attack. You can add a tiny loop at the end of your "Charge Up" ability so it keeps looping if the player reaches the end.

                    Code:
                    Charge Up (Channeled, Input Conditional, small loop at the end of the ability to allow "holding a full charge") -> OnAbilityEnd -> GetAbilityCurrentTimeRatio -> if timeRatio < 0.33, then Play small attack, if time < 0.66 then play medium attack else play large attack.
                    Apply Damage has to go through the ApplyDamage Task, or you can write CustomTask that does whatever you want and calls your own damage ability.

                    If ApplyDamage is not being applied to the Server, then I'd check that the Task Realm isn't set to Client only (or you have some logic that would prevent it from being played on the server), you can turn on "Verbose" on the ApplyDamage task and see if the server is failing somewhere.
                    Able Ability System - A high performance, robust ability system for UE4. Now Available!

                    Comment


                      Originally posted by AngeIV View Post

                      maybe because only the server has authority over "deal damage" interface? You need to learn about controller function "instigated any damage". Also make sure any part of the ability is running on client and server (if non cosmetic!) and none is server only. even if something requires authority - it will just not work on client but you will make sure you haven't skipped anything.
                      Also - you didn't specify exactly whats wrong. maybe do a short video? If I know the problem I could help.
                      I'm not having issues with that, I am long past how to get abilities to run on the server and what not, I'm asking specifically about how Able executes things in it's Graphs.

                      Here is a simple blueprint of what I am trying to do.

                      In game, it prints 0, then the correct charge value. It prints 0 for every other player including the listen server.

                      What's happening is the client is running the ability fine and each other client is running the ability as well (for some reason), but when the server goes to execute the command it has a charge value of ZERO. I don't understand how to get the value from my player blueprint into the able interface in order to affect damage.

                      https://imgur.com/rwbwYUH

                      Edit: and when I run this same command from a server call it does the exact same thing.

                      Comment


                        Originally posted by ExtraLifeMatt View Post

                        Charge up would be a channeled ability - then when the ability ends, you check how long the ability was played for and branch to which ever version of the attack. You can add a tiny loop at the end of your "Charge Up" ability so it keeps looping if the player reaches the end.

                        Code:
                        Charge Up (Channeled, Input Conditional, small loop at the end of the ability to allow "holding a full charge") -> OnAbilityEnd -> GetAbilityCurrentTimeRatio -> if timeRatio < 0.33, then Play small attack, if time < 0.66 then play medium attack else play large attack.
                        Apply Damage has to go through the ApplyDamage Task, or you can write CustomTask that does whatever you want and calls your own damage ability.

                        If ApplyDamage is not being applied to the Server, then I'd check that the Task Realm isn't set to Client only (or you have some logic that would prevent it from being played on the server), you can turn on "Verbose" on the ApplyDamage task and see if the server is failing somewhere.
                        Thank you, I'm just going to do it that way. I am still curious about what was wrong with my method; if you can check the picture above.

                        How do you get the ability to channel while holding button press? The Input Condition isn't the same as the key press by default. I don't see where it can be changed

                        After thinking about it a lot, I think my main question is why is my Able Ability Code being called for every client on the server. Why isn't it just called for the owning client and the server?
                        Last edited by mnorris54; 07-15-2020, 05:07 PM.

                        Comment


                          You know what... I actually have a setup like this... Copy of the "darm messiah of might and magic" melee combat. Its after midnight. but tomorrow i can set a video on it and post for you

                          Comment


                            Originally posted by AngeIV View Post
                            You know what... I actually have a setup like this... Copy of the "darm messiah of might and magic" melee combat. Its after midnight. but tomorrow i can set a video on it and post for you
                            Thank you, I'm still getting the issue where if you have 2 or more collision queries in one ability; if the first one hits then all the subsequent ones hit the same target as well. Tried messing around with a thousand settings. Just don't think it's able to do it

                            So once I get chaining different abilities down hopefully it makes what I want to do easier. If not, I feel like just using Able for certain things and using collision boxes mixed into animations may just be easier for what I want to do.

                            Comment


                              Originally posted by mnorris54 View Post

                              Thank you, I'm still getting the issue where if you have 2 or more collision queries in one ability; if the first one hits then all the subsequent ones hit the same target as well. Tried messing around with a thousand settings. Just don't think it's able to do it

                              So once I get chaining different abilities down hopefully it makes what I want to do easier. If not, I feel like just using Able for certain things and using collision boxes mixed into animations may just be easier for what I want to do.
                              maybe they don't hit the same target.. but they all copy context to "Target" and the context never gets cleared in between? I don't understand why having an ability of melee hit HITTING SOMETHING is being bad?

                              Comment


                                Originally posted by AngeIV View Post

                                maybe they don't hit the same target.. but they all copy context to "Target" and the context never gets cleared in between? I don't understand why having an ability of melee hit HITTING SOMETHING is being bad?
                                Lol, I just have a melee ability that strikes twice, one at the start one at the finish. And if you hit the first and the person dodges it should miss.

                                Comment

                                Working...
                                X