Announcement

Collapse
No announcement yet.

Able Ability System Info and Support Thread

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

  • replied
    Okay I’ll try again tonight, maybe Change the ability play rate outside of the ability. Or in it. But so far it works it just doesn’t reset the animation at the end correctly. It hangs for the duration of the ability, and changing the ability time doesn’t fix it, it will still hang for what the ability time was before changing it.

    Leave a comment:


  • replied
    Originally posted by mnorris54 View Post
    Hey, is there any way when using Ability Animation Node to speed up the ability play rate? Right now it seems to break the animation or not work fully with any settings. Lemme know if there's something I'm missing please
    There is both an Ability Play Rate, and an Animation Play Rate. There is also an option to apply the Ability Play Rate to the Animation automatically.

    Leave a comment:


  • replied
    Hey, is there any way when using Ability Animation Node to speed up the ability play rate? Right now it seems to break the animation or not work fully with any settings. Lemme know if there's something I'm missing please

    Leave a comment:


  • replied
    Originally posted by shain1234 View Post
    when destroying large amounts of enemies at once that are all using the able system and using abilities on me too. I get this error

    Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x00000000

    UE4Editor_AbleCore!UAblPlayParticleEffectTask::OnTaskStart() [D:\Build\++Portal+Promotion\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\Able\Source\AbleCore\Private\Tasks\ablPlayParticleEffectTask.cpp:122]
    UE4Editor_AbleCore!UAblAbilityInstance::InternalUpdateTasks() [D:\Build\++Portal+Promotion\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\Able\Source\AbleCore\Private\ablAbilityInstance.cpp:611]
    UE4Editor_AbleCore!TGraphTask<FAsyncAbilityInstanceUpdaterTask>::ExecuteTask() [D:\RocketSync\4.25.0-13144385+++UE4+Release-4.25\Working\Engine\Source\Runtime\Core\Public\Async\TaskGraphInterfaces.h:849]
    UE4Editor_Core
    UE4Editor_Core
    UE4Editor_Core
    UE4Editor_Engine
    UE4Editor_Engine
    UE4Editor_Engine
    UE4Editor_Engine
    UE4Editor_UnrealEd
    UE4Editor_UnrealEd
    UE4Editor
    UE4Editor
    UE4Editor
    UE4Editor
    UE4Editor
    kernel32
    ntdll


    realistically in the future i wont be just destroying my enemies, they will be removed over time and just disabled so this probably won't really matter, but thought id report it.
    Yea the Target is getting destroyed out from under the Task. I can make it a bit more robust there. Generally you want particle effects and such to be played on the actor they are for (via a passive - so, if I hit something, I tell the actor I hit to play the "HitEffect" passive which has the particle effect + sound) - this will prevent the target from disappearing on the Task as abilities playing on an Actor are stopped during destruction.

    Leave a comment:


  • replied
    when destroying large amounts of enemies at once that are all using the able system and using abilities on me too. I get this error

    Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x00000000

    UE4Editor_AbleCore!UAblPlayParticleEffectTask::OnTaskStart() [D:\Build\++Portal+Promotion\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\Able\Source\AbleCore\Private\Tasks\ablPlayParticleEffectTask.cpp:122]
    UE4Editor_AbleCore!UAblAbilityInstance::InternalUpdateTasks() [D:\Build\++Portal+Promotion\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\Able\Source\AbleCore\Private\ablAbilityInstance.cpp:611]
    UE4Editor_AbleCore!TGraphTask<FAsyncAbilityInstanceUpdaterTask>::ExecuteTask() [D:\RocketSync\4.25.0-13144385+++UE4+Release-4.25\Working\Engine\Source\Runtime\Core\Public\Async\TaskGraphInterfaces.h:849]
    UE4Editor_Core
    UE4Editor_Core
    UE4Editor_Core
    UE4Editor_Engine
    UE4Editor_Engine
    UE4Editor_Engine
    UE4Editor_Engine
    UE4Editor_UnrealEd
    UE4Editor_UnrealEd
    UE4Editor
    UE4Editor
    UE4Editor
    UE4Editor
    UE4Editor
    kernel32
    ntdll


    realistically in the future i wont be just destroying my enemies, they will be removed over time and just disabled so this probably won't really matter, but thought id report it.

    Leave a comment:


  • replied
    Originally posted by intoxicat3 View Post
    Any chance with fixing thumbnails?
    Not yet, sorry, still looking at it.

    Leave a comment:


  • replied
    Any chance with fixing thumbnails?

    Leave a comment:


  • replied
    Able v3.38 submitted. Notes below:

    Able v3.38

    - Fix to 2D Cone query/targeting including targets outside of the FOV when the FOV is > 180.

    - Fix to 2D/3D Cone targeting not working at certain rotations.

    - When removing a Task, any reference to that Task in other Task's Dependencies is removed as well.

    - Play Particle Effect Scale / Dynamic Scale are now runtime bindable properties.

    - Fixed a warning about uninitialized data in CollisionResponsePair when building packages.

    - When an Ability is successfully predicted and verified, that prediction is consumed. This should lead to less false positives.

    - 'FlushServerMoves' is now called before Abilities execute on the local client, this should allow Abilities to play nicer with server correction (e.g., Turn to, Animation with Root Movement, etc).

    Leave a comment:


  • replied
    Originally posted by ExtraLifeMatt View Post

    Hmmm, not sure then. All I can suggest is disconnect that function and add nodes one by one till you find what's causing the issue.


    What issues? I'm looking at 3D Cone right now.


    Abilities are, by default, read only. The Scratchpad is a small structure that is allocated per-Task where it can read/write data to. So when the Ability is about to execute, it asks each Task to allocate a scratch pad (and each Task decides what that scratch pad looks like, or if it needs one at all), and then the Task will read/write to it during execution.

    Ideally, you want to treat Abilities as read only and they ask the Player or some other system/subsystem for data. So, you can had a data table somewhere that it feeds values to your Ability, or make some other system that fits your needs. Or make a Custom Task that does your damage calculations and you can make your own scratch pad class that you can read / write values to.
    thanks makes a lot of sense, ill make a handler component to hold any dynamic data i might need that i can manipulate and pull from. thanks !

    Leave a comment:


  • replied
    Originally posted by TotallyKuro View Post
    This is all I'm doing in KnockDown and I am trying this on a shipping build.
    Hmmm, not sure then. All I can suggest is disconnect that function and add nodes one by one till you find what's causing the issue.
    Originally posted by AngeIV View Post
    I had issues with 3d cone query's as well Good im not using collision query except for sphere in my abilities.
    What issues? I'm looking at 3D Cone right now.
    Originally posted by shain1234 View Post
    whats the easier way to reference and change variables on specific abilities?

    say for example I had an ability and it reads my player damage BUT it has its own values too, 2-300 lightning damage added flat damage. now inside the ability, I can get to this, but what I'm I need to either get that info or manipulate that info from outside?

    I've been considering doing a loop of my current abilities I have equipped and saved them into an array to grab later, but I'm not sure if this will ruin all your work with it being all "scratchpad" or whatever, which btw is another thing I cant figure out. no idea how to use or why to use scratch pads. it's probably this exact reason or something stupid. anyways! thanks for any help.
    Abilities are, by default, read only. The Scratchpad is a small structure that is allocated per-Task where it can read/write data to. So when the Ability is about to execute, it asks each Task to allocate a scratch pad (and each Task decides what that scratch pad looks like, or if it needs one at all), and then the Task will read/write to it during execution.

    Ideally, you want to treat Abilities as read only and they ask the Player or some other system/subsystem for data. So, you can had a data table somewhere that it feeds values to your Ability, or make some other system that fits your needs. Or make a Custom Task that does your damage calculations and you can make your own scratch pad class that you can read / write values to.

    Leave a comment:


  • replied
    whats the easier way to reference and change variables on specific abilities?

    say for example I had an ability and it reads my player damage BUT it has its own values too, 2-300 lightning added flat damage. now inside the ability, I can get to this, but what if I'm I need to either get that info or manipulate that info from outside?

    I've been considering doing a loop of my current abilities I have equipped and saved them into an array to grab later, but I'm not sure if this will ruin all your work with it being all "scratchpad" or whatever, which btw is another thing I cant figure out. no idea how to use or why to use scratch pads. it's probably this exact reason or something stupid. anyways! thanks for any help.
    Last edited by shain1234; 07-27-2020, 11:15 AM.

    Leave a comment:


  • replied
    I had issues with 3d cone query's as well Good im not using collision query except for sphere in my abilities.

    Leave a comment:


  • replied
    This is all I'm doing in KnockDown and I am trying this on a shipping build.
    Attached Files

    Leave a comment:


  • replied
    Originally posted by TotallyKuro View Post
    Yeah specially since it worked on packaged games before and I haven't really change how I use abilities or Engine version
    So it looks like that error is only fatal in Shipping builds. Are you trying this on a shipping build?

    Pulling apart the error:
    [2020.07.26-04.40.57:711][873]LogGarbage: Warning: Disregard for GC object Function /Game/Character/Abilities/CC/KnockDown.KnockDown_C:ExecuteUbergraph_KnockDown referencing Player_C /Game/Maps/Arena_Game.Arena_Game:PersistentLevel.Player_C_2147482362 which is not part of root set
    In your Ability /Game/Character/Abilities/CC/KnockDown, in the Function "KnockDown", you are apparently saving off a hard reference to a Player - which isn't actually valid as that object doesn't exist in the root set (i.e. the level data).

    Any chance you can post a screenshot of your BP for that function?

    Leave a comment:


  • replied
    Originally posted by ExtraLifeMatt View Post

    They do all have their root at their center. Or are you saying you want an option to skip that? Ideally you'd just update the offset when you scale the size to account for things. It's certainly possible be add an option for that, but I'd need to know more on what you're trying for.
    yes sorry, offsetting is exactly what I mean. So if you use a box trace for an attack, and I increase the size of the box it won't clip through my character.

    Leave a comment:

Working...
X