Announcement

Collapse
No announcement yet.

Able Ability System Info and Support Thread

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

  • replied
    Originally posted by xermao View Post

    GetWorld is not unavailable in blueprint, and I don't want to use c++
    Bah, I see how they want that setup. I'll pass in the world context object which will expose that.

    EDIT: What methods are you specifically trying to access the world from?

    Leave a comment:


  • replied
    Originally posted by ExtraLifeMatt View Post

    I'm looking into this. Trying to repro it locally.


    You should be able to get those through the Context.

    Context->GetSelfActor->GetWorld->GetAllActorsOfClass
    GetWorld is not unavailable in blueprint, and I don't want to use c++

    Leave a comment:


  • replied
    Originally posted by jwyuen View Post
    Its got animation and stuff in no custom task
    I'm looking into this. Trying to repro it locally.
    Originally posted by xermao View Post
    I found that a lot of function is unavailable in AblAbility's blueprint.Is there any way to call get controller,or get all actor of class,BlueprintFunctionLibrary?
    You should be able to get those through the Context.

    Context->GetSelfActor->GetWorld->GetAllActorsOfClass

    Leave a comment:


  • replied
    I found that a lot of function is unavailable in AblAbility's blueprint.Is there any way to call get controller,or get all actor of class,BlueprintFunctionLibrary?

    Leave a comment:


  • replied
    Its got animation and stuff in no custom task

    Leave a comment:


  • replied
    Originally posted by jwyuen View Post
    Hi Matt,

    Reporting a Bug:
    Made a Base Ability and everytime i make a Child of that Base, It Crashes UE4.
    You know about this?

    LoginId:fccb8f874804dfd45b73dd83fc7fffda
    EpicAccountId:506d6d1a590d441cbefea319a8150060

    You do not have any debugging symbols required to display the callstack for this crash.


    Jesse
    Does that Ability have a Custom Task? Or is it just a plain Ability and you're inheriting from it?

    Leave a comment:


  • replied
    Hi Matt,

    Reporting a Bug:
    Made a Base Ability and everytime i make a Child of that Base, It Crashes UE4.
    You know about this?

    LoginId:fccb8f874804dfd45b73dd83fc7fffda
    EpicAccountId:506d6d1a590d441cbefea319a8150060

    You do not have any debugging symbols required to display the callstack for this crash.


    Jesse

    Leave a comment:


  • replied
    haha Matt,
    You a Genius, doing a Lot of research and planning. Game is gonna be just all Gameplay Tags and Data tables!
    Since there is so much involved in this game, Like only certain things can kill different things
    Vampires can only be decapitated and Ghosts can be attacked by Iron or salt for example, Using Gameplay Tag containers in the datatables in order to get the info on the enemies
    Gonna make a couple of Actor components and BPI also and base all characters including enemies and players off base character in it

    Cheers matt

    Leave a comment:


  • replied
    well it works now Woop
    You should check it out. Awesome and easy to use to make any AI!!!

    Leave a comment:


  • replied
    Originally posted by jwyuen View Post
    Hey
    I am doing something new now.
    I am gonna try and put this into AI Behaviour Toolkit So instead of play animations it will play ability
    What do you think?

    https://www.unrealengine.com/marketp...havior-toolkit

    Jesse
    Sounds good. I haven't used that plugin myself, but it should be do-able I would imagine.

    Leave a comment:


  • replied
    Hey
    I am doing something new now.
    I am gonna try and put this into AI Behaviour Toolkit So instead of play animations it will play ability
    What do you think?

    https://www.unrealengine.com/marketp...havior-toolkit

    Jesse

    Leave a comment:


  • replied
    Originally posted by Decriment View Post

    Thanks for the elaboration ExtraLifeMatt. I'm taking my time figuring out how I want to use this plugin, but the end goal is to use C++ and be able to create abilities at runtime. I'm hoping to use Able as an interpreter for a domain specific language. Abilities will be able to be created with that language and then executed using Able (all without recompiling).

    I'm still inspecting the Able codebase and trying to figure out how I should go about constructing the DSL still. It looks like I should create some generic UAblAbility classes and then programmatically add tasks to the m_Tasks property based on what is written with the DSL. After creating the ability, it also looks like there is a validator that can be used to check for things like circular dependencies. That doesn't seem too complicated, but as the author of the plugin do you have any tips/suggestions for my use case?

    I'm probably not going to make the DSL too open ended. A single component of an ability may be a group of components that all do something. There may also be a chain of Able abilities that make up the ability that will be expressed with the DSL as well. I'd like to support things similar to the chain lightning tutorial, except the ability will be created at runtime. That'll take a bit of thought to get figured out, but it's probably possible.
    Nope. You pretty much have it figured out. Just make sure the Hash for the ability name is being calculated properly as that is used as an identifier everywhere. If you are creating a new object and then setting the name, you'll need to add a method or something to recalculate that hash. That's the only "gotcha" I can think of off the top of my head.

    Leave a comment:


  • replied
    Originally posted by ExtraLifeMatt View Post

    Pablo1517 Pretty much nailed it but to elaborate:

    Able was built as my replacement for Gameplay Ability System since that system was heavily built around Paragon at the time and it was really difficult to quickly throw together a simple Ability. That doesn't mean the two systems (Able and GAS) can't work side by side, but it was definitely meant as a way to replace GAS.

    You can create Abilities at runtime, but you would have to do it in C++. However, Able allows for various runtime parameters so if you can create a basic framework of an Ability (I know I need to play some animation and then do a query and apply some amount of damage), then you can use those runtime parameters to fill in the details (play X animation, use this logic for my query, and then here's the damage based on my stats/etc).

    And yes, you can an unlimited amount of Passives active. The whole Active vs Passive separation is entirely a design one that fits with most games, but under the hood the two are treated almost identically.
    Thanks for the elaboration ExtraLifeMatt. I'm taking my time figuring out how I want to use this plugin, but the end goal is to use C++ and be able to create abilities at runtime. I'm hoping to use Able as an interpreter for a domain specific language. Abilities will be able to be created with that language and then executed using Able (all without recompiling).

    I'm still inspecting the Able codebase and trying to figure out how I should go about constructing the DSL still. It looks like I should create some generic UAblAbility classes and then programmatically add tasks to the m_Tasks property based on what is written with the DSL. After creating the ability, it also looks like there is a validator that can be used to check for things like circular dependencies. That doesn't seem too complicated, but as the author of the plugin do you have any tips/suggestions for my use case?

    I'm probably not going to make the DSL too open ended. A single component of an ability may be a group of components that all do something. There may also be a chain of Able abilities that make up the ability that will be expressed with the DSL as well. I'd like to support things similar to the chain lightning tutorial, except the ability will be created at runtime. That'll take a bit of thought to get figured out, but it's probably possible.

    Leave a comment:


  • replied
    Originally posted by Pablo1517 View Post
    FALSE ALARM.
    We confirmed it was one of the other plugins and NOT Able that prevented cooking our game.

    Thank you for your response and sorry for the trouble.
    Awesome. Glad you guys got things working.

    Leave a comment:


  • replied
    FALSE ALARM.
    We confirmed it was one of the other plugins and NOT Able that prevented cooking our game.

    Thank you for your response and sorry for the trouble.

    Leave a comment:

Working...
X