Announcement

Collapse
No announcement yet.

Able Ability System Info and Support Thread

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

    Hello,

    Could you somehow "pin" the default ability so that it shows up first when we create a new ability? Once we have a decent amount I see the designers getting a bit confused. Or maybe add the option to blacklist abilities from showing up on that list? That way I can only have "AblAbility", "BasicMeleeAttack", etc. there. Thanks!
    Last edited by jfaztk; 02-12-2018, 02:53 AM.

    Comment


      Originally posted by ExtraLifeMatt View Post
      You should be doing this:
      1.) Download the latest version of the engine source from Git ( https://github.com/EpicGames/UnrealEngine/releases ). If you can't view that page, you need to follow the instructions here: https://www.unrealengine.com/en-US/ue4-on-github
      2.) Unzip the file to some directory on your computer.
      3.) Run Setup.bat
      4.) Run GenerateProjectFiles.bat
      5.) Open up the UE4.sln file in Visual Studio, then you can navigate to that BlueprintUtils file, make the change, and build the Solution.
      I was able to run the .bat files, but can't find the .sln file.

      Comment


        Hello,
        I have a question. I want to activate not passive ability and cancel current when it is running. Is tt possible atm for only passive abilities? I found function CanInterruptAbility but what is purpose of it?
        Thanks

        Comment


          Was there something specifically you were looking for?
          Yes. Any chance you can add OnAbilityStarted / Ended / Interupted virtual voids to AblAbility.h? Basically you have events for BP but nothing for C++.
          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 jfaztk View Post
            Hello,

            Could you somehow "pin" the default ability so that it shows up first when we create a new ability? Once we have a decent amount I see the designers getting a bit confused. Or maybe add the option to blacklist abilities from showing up on that list? That way I can only have "AblAbility", "BasicMeleeAttack", etc. there. Thanks!
            Yea, I can toss it at the top or toss in some option to hide inherited classes. It confuses me too every time, so I've been meaning to change it.
            Originally posted by Menelin View Post
            I was able to run the .bat files, but can't find the .sln file.
            The UE4.sln should be in the same directory you ran "GenerateProjectFiles.bat". You might want to go on YouTube and just search "Build UE4 source" as I bet someone has a good video tutorial for this.
            Originally posted by intoxicat3 View Post
            Yes. Any chance you can add OnAbilityStarted / Ended / Interupted virtual voids to AblAbility.h? Basically you have events for BP but nothing for C++.
            That was added for the AbilityComponent, but not the Ability itself. I see. Yea, I can see about adding that. I'm not sure it'll be 1:1 with the BP side (since BP nativization is pretty decent, it gets compiled to C++ anyway so I didn't have any huge performance concerns) - but I can see the appeal of having some of the larger hooks having a C++ counterpart.
            Able Ability System - A high performance, robust ability system for UE4. Now Available!

            Comment


              I have looked on Youtube before I turned to you. I've run Setup and GenerateProjectFiles. The folder's never shown UE4.sln.
              Attached Files

              Comment


                I suggest to open a console window and run that .bat file and see any message that might be telling what is wrong, because it should be there if the execution have succeded.
                Nilson Lima
                Technical Director @ Rigel Studios Ltda - twitter: @RigelStudios
                Join us at Discord: https://discord.gg/FUwTvzr

                UE4 Marketplace: Cloudscape Seasons
                supporting: Community FREE Ocean plugin

                Comment


                  That was added for the AbilityComponent, but not the Ability itself. I see. Yea, I can see about adding that. I'm not sure it'll be 1:1 with the BP side (since BP nativization is pretty decent, it gets compiled to C++ anyway so I didn't have any huge performance concerns) - but I can see the appeal of having some of the larger hooks having a C++ counterpart.
                  Thanks, if you can do it would be great. I have done it in my code and it's working correctly.

                  I have a question about your event graph, why we can't add some of the nodes to Ability Graph? For example:
                  - Get Sphere Overlaping Actors, ( https://docs.unrealengine.com/latest...OverlapActors/ )
                  - Trace,
                  - Basically more of them that need world context objects, but you can put Print String which is in need of world context...

                  Currently I need to add my own function to do these.
                  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 intoxicat3 View Post
                    Thanks, if you can do it would be great. I have done it in my code and it's working correctly.

                    I have a question about your event graph, why we can't add some of the nodes to Ability Graph? For example:
                    - Get Sphere Overlaping Actors, ( https://docs.unrealengine.com/latest...OverlapActors/ )
                    - Trace,
                    - Basically more of them that need world context objects, but you can put Print String which is in need of world context...

                    Currently I need to add my own function to do these.
                    There's a UPROPERTY meta flag you can pass "WorldContextObject" I believe, that will add a pin to the World Context Object. Because Abilities are UObjects and not Actors, they don't inherently have a UWorld they belong to, so the BP is just reflecting that.You could also just get the "Self Actor" and their world and do the trace/sphere/etc that way.
                    Able Ability System - A high performance, robust ability system for UE4. Now Available!

                    Comment


                      Yes, but you cant put it to event graph. Just try to put Trace or SphereOverlapingActors nodes. Event graph won't let you put these nodes.
                      How to create first person shooter game from scratch. Lots of tutorials: http://www.shootertutorial.com - celebrating 50th Tutorial!

                      My Marketplace Assets

                      Comment


                        How would you recommend I approach spawning hit particles for a melee attack? Since I'm doing a shape sweep, I don't really have hit-location information, so I'm kind of lost as to where (and when) I should spawn my emitter. I don't think a fixed position is a good idea, because for instance, If it's a horizontal slash, and the enemy is all the way to the side, I don't want the particle effect to be right in the center as it will seem off. Do I just get the location of the hit actor and spawn it at the same z-location of the sword or something? I can't really figure out how to make it responsive... I realize it's not exactly related to this plugin, but some help is appreciated

                        Comment


                          Originally posted by fernmerc View Post
                          How would you recommend I approach spawning hit particles for a melee attack? Since I'm doing a shape sweep, I don't really have hit-location information, so I'm kind of lost as to where (and when) I should spawn my emitter. I don't think a fixed position is a good idea, because for instance, If it's a horizontal slash, and the enemy is all the way to the side, I don't want the particle effect to be right in the center as it will seem off. Do I just get the location of the hit actor and spawn it at the same z-location of the sword or something? I can't really figure out how to make it responsive... I realize it's not exactly related to this plugin, but some help is appreciated
                          Yea, Sweeps don't contain hit info, you could have it so when the enemy is hit, it does a trace between itself and the component that hit it - which would give you accurate info. That way you're only doing the more indepth/costly trace when you know for sure the attack was a success.
                          Able Ability System - A high performance, robust ability system for UE4. Now Available!

                          Comment


                            Originally posted by ExtraLifeMatt View Post

                            Yea, Sweeps don't contain hit info, you could have it so when the enemy is hit, it does a trace between itself and the component that hit it - which would give you accurate info. That way you're only doing the more indepth/costly trace when you know for sure the attack was a success.
                            Ahh so you mean like a separate line trace from the tip of the sword to the hit actor, and then spawn it on that location?

                            Comment


                              Sorry if this has already been asked, but can you do damage over time effects?
                              George Rolfe.
                              Technical Coordinator at Orbit Solutions Pty Ltd.

                              Comment


                                Originally posted by fernmerc View Post

                                Ahh so you mean like a separate line trace from the tip of the sword to the hit actor, and then spawn it on that location?
                                Correct. Or you could just fake it easily by something like:

                                - Create a Vector going from the Actor who caused our damage, to the Actor who was hit by the damage.
                                - Normalize that vector then scale it by our Hit Actor's bounds size (XY).
                                - Set the Z to whatever the Component who hit us Z is.
                                - Spawn the particle at that location.

                                Something like that. The trace is probably easier, at the cost of a bit more performance (but again, it's not even fired unless you know the trace will hit something so that will help).
                                Originally posted by duke22 View Post
                                Sorry if this has already been asked, but can you do damage over time effects?
                                Sure. I actually do that in the Burning Man video. Basically I just create a passive with a damage task and set it to loop X times. The length of the passive Ability is the length of a single damage "tick".
                                Able Ability System - A high performance, robust ability system for UE4. Now Available!

                                Comment

                                Working...
                                X