Announcement

Collapse
No announcement yet.

Able Ability System Info and Support Thread

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

  • replied
    ExtraLifeMatt I got a question. Able Ability Blueprint is basically an "object" right? So as it is initiated from class, for being variable free and super fast replicated by just replicating the class - the ability after creation can track variables? What I mean... For example a level 6 cleric Casts "bless" - this spell gives contastant bonus to all targets in specific range for his level * 1 minute. Easy to do - Just add 6 stacks of minute long passive that on end removes one stact. On ability begin add bonus, on ability end remove bonus. Bonuses don't stack. However for example a level 9 wizard casts stoneskin. Stoneskin gives damage reduction 10/+5 - and that is being added to his damage reduction table in the character and removed on ability end. BUT the spell also absorbs level *10 damage - so overall 90 damage.
    My question is:
    1) Can I add a variable / local variable to the ability that is being set on creation and updates. when reach zero it stops the passive ability? If so - can it be "Public"?
    2) Can an ability bind to event dispatcher from example owner/target - so when the owner receives damage it can push the reduction absorbed damage to the ability so ability could track it?
    3) Can ability give access to variables via interface or "get passive abilities" (it gives object list not class list). So I can update the interface properly?
    4) Can variables be replicated, or should I avoid any replication on the abilities as they exist on both player and server without the need of replication for avoiding choking of network? Or maybe abilities are instanced in a way that using variables is not a good idea. Mostly any ability doesn't have to track more than a single value. It doesn't really have to replicated and in sync as it could get updates on client and server at same events and server wont be cheated by client side manipulation of this value.
    Or simply put - How could I manage this stoneskin problem without creating variable on the character itself and changing the value there... I have 900 Abilities to create. Many of those should track something for short time and after finishing never bother with it again.

    Edit: Ragard Variables - can I use dynamically Gameplay Tags ? Except for skills having tags like "spell.component.varbal for example.. Can I add Tag Spell.Power.9 on start of ability?
    Last edited by AngeIV; 04-03-2020, 09:06 AM.

    Leave a comment:


  • replied
    Able 3.26 has been submitted. It has a fix for Custom Tasks getting the "REINST" version of the blueprint when the custom task is recompiled (this also caused that crash on load if you saved out with the REINST).

    Leave a comment:


  • replied
    Originally posted by Mowgl33 View Post
    Hi,

    This looked really great in the videos! But the plugin doesn't seem to work at all in 4.24.3. None of the tasks play. Editor looks completely different from what I've seen. Is this normal? Would appreciate some help getting this to work.
    Add the Able Ability Component to whatever you're using for the Preview Asset. Able tries to add it at runtime, but that doesn't seem to always work. If you don't have that component, it won't run any tasks.

    The Editor was reskinned late last year. I'm going through and (slowly) updating the docs and screenshots, but the new look is expected.

    Leave a comment:


  • replied
    Hi,

    This looked really great in the videos! But the plugin doesn't seem to work at all in 4.24.3. None of the tasks play. Editor looks completely different from what I've seen. Is this normal? Would appreciate some help getting this to work.

    Leave a comment:


  • replied
    Originally posted by Roland_Price View Post
    It makes a lot of sense in case you need to control the animation speed on the fly and stretch the ability timing accordingly. Does your system support any way to evaluate the play rate constantly?
    Not currently, no. I wrote it up real quick, so I'll PM it to you to try.

    Leave a comment:


  • replied
    It makes a lot of sense in case you need to control the animation speed on the fly and stretch the ability timing accordingly. Does your system support any way to evaluate the play rate constantly?

    Leave a comment:


  • replied
    Originally posted by Roland_Price View Post
    Hi

    Is there a way to scale the ability play rate to a curve in anim montage it's using? I've tried to figure it out through the "On Get Dynamic Property Play Rate" binding, but got lost along the way


    Thanks
    On Get Dynamic Property Play Rate wants a float returned, so if you want the montage to play 2x speed simply return 2.0, half speed would be 0.5. Etc.

    If the value of the curve is constant for the duration of the montage, then you can just evaluate that curve (assuming its a curve asset). Pretty sure Blueprints has a generic "Evaluate Curve" method. If the value changes during the montage (which doesn't make any sense to me personally), then it's not going to properly follow that curve since the play rate is only evaluated at the START of the task.

    Leave a comment:


  • replied
    Hi

    Is there a way to scale the ability play rate to a curve in anim montage it's using? I've tried to figure it out through the "On Get Dynamic Property Play Rate" binding, but got lost along the way


    Thanks

    Leave a comment:


  • replied
    Originally posted by MichaelLiew View Post
    Hi, Does Able have Instancing Policy? Just like GAS.
    Instanced per Execution: A copy of the Ability's Object will spawn each time the Ability runs.
    Instanced per Actor: Each Actor will spawn one instance of this Ability when the Ability is first executed, and future executions will reuse it.
    Non-Instanced: This is the most efficient instancing policy in all categories.

    By the way, we've used your plugin for 2 years, it's very powerful, i like it.
    No, not currently. The Scratchpad is meant to skirt that requirement as you can put per-instance info there.

    Leave a comment:


  • replied
    Originally posted by ExtraLifeMatt
    Hi, Does Able have Instancing Policy? Just like GAS.
    Instanced per Execution: A copy of the Ability's Object will spawn each time the Ability runs.
    Instanced per Actor: Each Actor will spawn one instance of this Ability when the Ability is first executed, and future executions will reuse it.
    Non-Instanced: This is the most efficient instancing policy in all categories.

    By the way, we've used your plugin for 2 years, it's very powerful, i like it.

    Leave a comment:


  • replied
    Originally posted by vbs View Post
    Hello, I've just watched all the videos you posted and am considering purchasing this system, I wonder, for future video suggestions, or just an answer here: does it make sense to use this system for setting up "pickups", like health, powerups, ammo, etc. So if the player interacts with an item, they can pick it up, store it or consume it and have that ability affect their stats, like health, or ammo count, or even give them new abilities, like picking up weapons or picking up "magic" powers, etc. Does that make sense? A lot of example videos deal with abilities the player already has, and is inflicting on other targets, but can an ability exist in the game world to be picked up and have an effect on the player?
    Able, at it's core, is a data driven system that just plays various tasks (animations, effects, logic, etc) along a timeline. What other system uses that is up to you. You can have weapons that reference different abilities (light attack, strong attack, etc), and then each weapon, when you picked it up, would grant different abilities without you having to change the code around.

    You can do something similar with pick ups (a pick up just plays it's ability on the player when it overlaps with them). I also use Able to do spawn-in animation/effects/sounds for AIs, and whatever else I want to leverage that core system design with.

    Leave a comment:


  • replied
    Hello, I've just watched all the videos you posted and am considering purchasing this system, I wonder, for future video suggestions, or just an answer here: does it make sense to use this system for setting up "pickups", like health, powerups, ammo, etc. So if the player interacts with an item, they can pick it up, store it or consume it and have that ability affect their stats, like health, or ammo count, or even give them new abilities, like picking up weapons or picking up "magic" powers, etc. Does that make sense? A lot of example videos deal with abilities the player already has, and is inflicting on other targets, but can an ability exist in the game world to be picked up and have an effect on the player?

    Leave a comment:


  • replied
    Originally posted by Maxilos View Post

    Sure!
    EDIT: The scratchpad is derived gfrom AblCustomTaskScratchPad, and has nothing added to it.
    I was Able to get it working locally, right now I have a Custom Task that just picks a random number, stores it in the custom scratch pad, and then displays that number when the task is done.

    You can check my setup here:
    https://www.dropbox.com/s/gbawgn9koh...omTask.7z?dl=0

    I was also able to reproduce the crash when recompiling Custom Tasks in Abilities. I'm still working on that fix however.

    EDIT: Looks like there is a new BP Reinstancer, going to look at setting that up for Able Blueprints.
    Last edited by ExtraLifeMatt; 03-16-2020, 12:18 PM.

    Leave a comment:


  • replied
    Hello
    It is a bug when use custom task.
    First I create a custom in bp , and override GetTaskColor to return red;
    And add this task to ability, it work weel ,look the picture one


    and then, I compile the custom task, the task in ability is broken. all function that overide in bp is not work;
    look the picture two



    thank you , it's important for me , hope your answer soon, thank you

    Leave a comment:


  • replied
    Originally posted by Maxilos View Post

    Sure!
    EDIT: The scratchpad is derived gfrom AblCustomTaskScratchPad, and has nothing added to it.
    Hmm, alright. I'll try and repro this locally and let you know what I find (and if a bug fix is required/coming).

    Leave a comment:

Working...
X