Announcement

Collapse
No announcement yet.

Able Ability System Info and Support Thread

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

  • replied
    let me actually answer the question since you asked while i was typing my last novel.
    the class is specified and when i break point on the destroy actor methods in the projectile blueprint (On Begin Overlap), it hits that function. if i F11 past, it crashes after it destroys the actor?

    now, my character is replicated using a controller and character server side then a pawn and pawn controller client side.
    This could obviously lead to "lag" and it's fairly safe to say that it works normally when the destroy request is not so immediate to its being spawned.
    so i guess that's a wordy way of saying, i wonder of because of auth check on the character->controller etc architecture, it's not done "spawning" before it runs the assert because it was destroyed?
    Last edited by Mighteemouse3; 09-10-2019, 03:00 PM.

    Leave a comment:


  • replied
    Originally posted by brian.boettger View Post
    ExtraLifeMatt It's set to Try To Adjust Location But Always Spawn. I tried setting it to always spawn ignore collision and it did the same thing.

    Just to make sure I removed the spawn actor task and created a new starting with "Always Spawn Ignore Collision" and it did it again..
    Hmmm, you have a class specified I assume? The issue is definitely the SpawnActor is failing for some reason... I can make it a bit more tolerant and just report an error when it fails to spawn (rather than crashing), but that likely won't fix your underlying issue.

    Leave a comment:


  • replied
    ExtraLifeMatt It's set to Try To Adjust Location But Always Spawn. I tried setting it to always spawn ignore collision and it did the same thing.

    Just to make sure I removed the spawn actor task and created a new starting with "Always Spawn Ignore Collision" and it did it again..

    Leave a comment:


  • replied
    Originally posted by brian.boettger View Post

    so if this helps, here's the two lines that look to be the issue (solid on the assertion checks if i read this correctly btw)
    line 116 of SpawnActor (per the stack trace)

    AActor* SpawnedActor = ActorWorld->SpawnActor<AActor>(ActorClass, SpawnTransform, SpawnParams);
    check(SpawnedActor);


    I'm destroying the projectile when it collides with 2 types of actors.
    If i remove any destroy reference in the projectile everything works fine.
    This only occurs when I stand right on top of what will destroy the projectile. If i stand across the room, the projectile destroys just fine.

    I don't know if that helps you think through (and it could completely be something i'm doing, i'm open to that suggestion... this is the first skill i've created in like a year)

    What's your Spawn Collision set to on that Task? Likely it's failing to spawn because the projectile is inside some other object and the Spawn Collision isn't set to "Always Spawn".

    Leave a comment:


  • replied
    Originally posted by ExtraLifeMatt View Post

    Hmmm... maybe? I'll take a look tonight. I have to re-submit the patch anyway so I might sneak this fix in.
    so if this helps, here's the two lines that look to be the issue (solid on the assertion checks if i read this correctly btw)
    line 116 of SpawnActor (per the stack trace)

    AActor* SpawnedActor = ActorWorld->SpawnActor<AActor>(ActorClass, SpawnTransform, SpawnParams);
    check(SpawnedActor);


    I'm destroying the projectile when it collides with 2 types of actors.
    If i remove any destroy reference in the projectile everything works fine.
    This only occurs when I stand right on top of what will destroy the projectile. If i stand across the room, the projectile destroys just fine.

    I don't know if that helps you think through (and it could completely be something i'm doing, i'm open to that suggestion... this is the first skill i've created in like a year)


    Leave a comment:


  • replied
    Originally posted by brian.boettger View Post
    So I just picked Able back up after a long break. Got a fire ball going and I have an issue.
    Engine Version: 4.21 fresh download of Able

    Skill:
    PlayAnimation
    SpawnActor

    if an enemy/wall etc that is collidable with the project that spawns is too close, UE4 crashes and I get an error shown here:
    Assertion failed: SpawnedActor [File:\Build\++Portal+Dev-Marketplace+Full\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\Able\Source\AbleCore\Private\Tasks\ablSpawnActorTask.cpp] [Line: 116]

    i am 99% positive it's got something to do with potentially trying to destroy the projectile before the spawn actor task can finish firing?
    I'm off work tomorrow so I was going to take a look at it tomorrow because it's 1:20 in the morning and I need some sleep
    Hmmm... maybe? I'll take a look tonight. I have to re-submit the patch anyway so I might sneak this fix in.

    Leave a comment:


  • replied
    So I just picked Able back up after a long break. Got a fire ball going and I have an issue.
    Engine Version: 4.21 fresh download of Able

    Skill:
    PlayAnimation
    SpawnActor

    if an enemy/wall etc that is collidable with the project that spawns is too close, UE4 crashes and I get an error shown here:
    Assertion failed: SpawnedActor [File:\Build\++Portal+Dev-Marketplace+Full\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\Able\Source\AbleCore\Private\Tasks\ablSpawnActorTask.cpp] [Line: 116]

    i am 99% positive it's got something to do with potentially trying to destroy the projectile before the spawn actor task can finish firing?
    I'm off work tomorrow so I was going to take a look at it tomorrow because it's 1:20 in the morning and I need some sleep

    Leave a comment:


  • replied
    Yes that was the situation I was in, though I didn't realize until after I had refactored away from the custom task to try and see if it worked without the extra child class.

    Leave a comment:


  • replied
    Originally posted by JSwigart View Post
    Does it still work if the blueprint task is inherited from another blueprint class?
    Are you saying you have it setup "UAblCustomTask -> MyCustomTask -> MyCustomTaskChild"?

    I could see that potentially failing? I'm not sure what UE does under the hood for childs of BlueprintImplementable functions. It may be as simple as marking the BlueprintImplementable methods in UAblCustomTask as virtual (and hope that flag persists in child classes).

    Leave a comment:


  • replied
    Does it still work if the blueprint task is inherited from another blueprint class?

    Leave a comment:


  • replied
    Alright Able v3.15 submitted. Notes below:

    • Added support for UE 4.23
    • Added Bindable Dynamic Play Rate to Play Animation Task (let me know if you run into problems with this). This lets you dynamically change your Play Animation play rate at runtime.
    • Filtered out SKEL and REINST blueprint objects when using the Add Task picker. Blueprint objects use their display name rather than their raw name (no more Default__ if you don't override the GetTaskName method).
    As always, your feedback is super important and please let me know if you run into any issues.
    Originally posted by JSwigart View Post
    I have a blueprint class that extends AblCustomTask that implements the OnTaskStart override, I add the task to the timeline of an ability, the blueprint task OnTaskStart doesn't trigger. When I debug the code, I can see the UAblCustomTask::OnTaskStartBP gets called, FindFunctionChecked finds a function, but the Script field of the function is empty, so it doesn't execute anything, just early outs. I can't seem to get any of my blueprint tasks to work.
    I just verified it by making a simply custom task, overriding OnTaskStart and telling it print a string. I can give you the project if you want to see what I did and where you may be going wrong. You can grab it here.

    Leave a comment:


  • replied
    I have a blueprint class that extends AblCustomTask that implements the OnTaskStart override, I add the task to the timeline of an ability, the blueprint task OnTaskStart doesn't trigger. When I debug the code, I can see the UAblCustomTask::OnTaskStartBP gets called, FindFunctionChecked finds a function, but the Script field of the function is empty, so it doesn't execute anything, just early outs. I can't seem to get any of my blueprint tasks to work.

    Leave a comment:


  • replied
    Originally posted by KhxiSaki View Post
    is able build from the ground up or is it similiar or using UE4 Gameplay Ability System
    Built from the ground up. It has some similarities to GAS but that's mainly coincidence. GAS was pretty opaque when I started Able.
    Originally posted by JSwigart View Post
    Seems like UAblCustomTask aren't working in the latest code.

    The UAblCustomTask::OnTaskStartBP finds a function, but there is no script associated with the function, even though my blueprint has the OnTaskStartBP implemented. Any ideas?
    Define "no script associated with the function". If you have "OnTaskStart" overridden in the blueprint - then it should be fine. If you're trying to do it through code then you need to inherit from OnTaskStart as OnTaskStartBP isn't virtual (on the C++ level).

    Leave a comment:


  • replied
    Seems like UAblCustomTask aren't working in the latest code.

    The UAblCustomTask::OnTaskStartBP finds a function, but there is no script associated with the function, even though my blueprint has the OnTaskStartBP implemented. Any ideas?

    Leave a comment:


  • replied
    is able build from the ground up or is it similiar or using UE4 Gameplay Ability System

    Leave a comment:

Working...
X