Announcement

Collapse
No announcement yet.

Able Ability System Info and Support Thread

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

  • replied
    Idk if this has been asked before but would it be possible to have an ability that holds all the animations, collisions, etc. and depending on the button input switches between the animations. As an example say I have a light attack combo right, that has different cancel windows that leads to a different combo from each cancel would it be possible to hold all of that in a single ability or would I have to make a separate ability per move?

    Leave a comment:


  • replied
    Matt,

    1. Can you make your AI decorators and tasks be able to take blackboard keys that specify the ability, rather than having to specify the exact ability in the behavior tree? If I'm using various AIs that share a behavior tree, but have different abilities for their attacks, I need to be able to push those into the tree.

    2. Can you provide a map of values I can push into the ability context that I can pull out later in callback methods on the ability? Again, it's helpful to setup some ability functionality and then pass specific data on creation that is evaluated on execution.

    Thanks

    Leave a comment:


  • replied
    Originally posted by George.Xiao View Post
    Hi, I found a bug when i use custom task function, i create a custom task and added to ability, then i modify custom task code and recompile, if i open the ability at this time, it will cause crash or disable the task in ability. Picture show the crash code and reason.Click image for larger version

Name:	QQ截图20171219143428.png
Views:	19
Size:	165.5 KB
ID:	1401937
    I'll add a check there to fix the crash and remove any null ptrs. UE4 can be a bit finicky when it comes to referencing a blueprint that then gets recompiled and thus the class changes.

    Thanks for the report!

    Leave a comment:


  • replied
    Hi, I found a bug when i use custom task function, i create a custom task and added to ability, then i modify custom task code and recompile, if i open the ability at this time, it will cause crash or disable the task in ability. Picture show the crash code and reason.Click image for larger version

Name:	QQ截图20171219143428.png
Views:	19
Size:	165.5 KB
ID:	1401937

    Leave a comment:


  • replied
    I found another bug and fix it like picture show.Click image for larger version

Name:	20171219112844.png
Views:	13
Size:	43.5 KB
ID:	1401878

    Leave a comment:


  • replied
    Originally posted by intoxicat3 View Post
    Can you help? Basically Times need Context and when I create Context it creates "new ability" so can't get actual running time for passive ability.
    PM'd you the required changes.

    Leave a comment:


  • replied
    you could easily add it though
    Can you help? Basically Times need Context and when I create Context it creates "new ability" so can't get actual running time for passive ability.

    Leave a comment:


  • replied
    Originally posted by intoxicat3 View Post
    yes but I don't want to get Cooldown, but CurrentTime for Ability. I need to know TimeRatio for specific Ability.

    As for crash - will try to figure this out.
    Ah, I see. Yea, there's no way to currently get that value (you could easily add it though). I'll put it on my list.

    Leave a comment:


  • replied
    AblAbilityComponent::GetCurrentPassiveAbilities()
    For Each Passive:
    AblAbilityComponent::GetAbilityCooldownRatio (only takes in an Ability, doesn't require a context).
    yes but I don't want to get Cooldown, but CurrentTime for Ability. I need to know TimeRatio for specific Ability.

    As for crash - will try to figure this out.

    Leave a comment:


  • replied
    Originally posted by intoxicat3 View Post
    Thank for info!

    How I can get CurrentTime from running passive abilities (GetCurrentPassiveAbilities) - I would like to show TimeRatio in my HUD, and I don't have context there to get time ratio...
    AblAbilityComponent::GetCurrentPassiveAbilities()
    For Each Passive:
    AblAbilityComponent::GetAbilityCooldownRatio (only takes in an Ability, doesn't require a context).


    Originally posted by intoxicat3 View Post
    There is an crash without call stack unfortunately

    - Use SetShaderParameter on Active Ability,
    - Use SetShaderParameter on Passive Ability,
    - Run Active Ability - check if shader changes (eg. color), then activate passive ability with the same shader param name,
    Unfortunately, without a callstack it's hard to tell what's going on. Odds are you have an invalid shader parameter (or it could be something completely unrelated - need a callstack to figure out for sure).

    Leave a comment:


  • replied
    There is an crash without call stack unfortunately

    - Use SetShaderParameter on Active Ability,
    - Use SetShaderParameter on Passive Ability,
    - Run Active Ability - check if shader changes (eg. color), then activate passive ability with the same shader param name,

    Leave a comment:


  • replied
    Thank for info!

    How I can get CurrentTime from running passive abilities (GetCurrentPassiveAbilities) - I would like to show TimeRatio in my HUD, and I don't have context there to get time ratio...

    Leave a comment:


  • replied
    Originally posted by intoxicat3 View Post
    Found a bug:
    https://i.imgur.com/XzstzOf.png

    If you use such filters in Collision Query it will filter everything by RogalPlayerCharacter not keeping another negate filter: RogalFriendlyAICharacter. It should negate filter both of them not only first one.
    That's not a bug from what you're describing. Filters are executed in order. So, it would exclude everything that isn't a RogalPlayerCharacter, and then takes the results from that and try to filter any RogalFriendlyAICharacter's (which I assume aren't RogalPlayerCharacters and thus don't exist). You can use the Custom Filter option and just provide some Blueprint code to figure out which actors to keep if the base filters are being a bit too strict for your case.


    Originally posted by Aumaan Anubis View Post
    So this is an odd thing that happens when I have an ability animation set to "Single Node" play settings.
    When I go to view in the AnimGraph, I see in the debug filter that there are several instances of the AnimBP, one for each time I used the ability in game:




    Not sure what the deal is, perhaps this is expected behavior, but this makes debugging other things though if I have to go and select the new instance everytime I execute the ability, this doesn't happen when I choose any other setting.
    That's normal. When you modify a Blueprint - it just appends a number for the class (So MyBlueprint_C1, C2, C3, etc). They should go away once you restart the editor as only the latest is actually kept on disk - the others are just hanging out in memory or until GC gets them.

    EDIT: Able v2.11 submitted, this adds an option to scale Animations with Ability Play Rate. Pretty small update, but I deemed the other things (more virtual functions, possibly exposing the World Context object on all BP calls) too risky at the moment. Going to hammer on them some more through the Holidays before I push them out.
    Last edited by ExtraLifeMatt; 12-17-2017, 05:38 PM.

    Leave a comment:


  • replied
    So this is an odd thing that happens when I have an ability animation set to "Single Node" play settings.
    When I go to view in the AnimGraph, I see in the debug filter that there are several instances of the AnimBP, one for each time I used the ability in game:




    Not sure what the deal is, perhaps this is expected behavior, but this makes debugging other things though if I have to go and select the new instance everytime I execute the ability, this doesn't happen when I choose any other setting.

    Leave a comment:


  • replied
    Found a bug:
    https://i.imgur.com/XzstzOf.png

    If you use such filters in Collision Query it will filter everything by RogalPlayerCharacter not keeping another negate filter: RogalFriendlyAICharacter. It should negate filter both of them not only first one.

    Leave a comment:

Working...
X