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 Menelin View Post
    Ok. I now have an input pin for an able ability context reference, but I don't see how it would know it's referencing the context of this ability specifically.
    Ah, I see the problem.

    When you select "Fire Event" and give it a name on the Collision Query, that calls "OnCollisionEvent" and passes that name along. It doesn't actually make an "Event" as you see in sometimes Blueprints with things like Input and such.

    So, you simply need to add an overload to OnCollisionEvent (which will pass you all the info you need).

    Leave a comment:


  • replied
    Ok. I now have an input pin for an able ability context reference, but I don't see how it would know it's referencing the context of this ability specifically.
    Attached Files

    Leave a comment:


  • replied
    Thanks Matt!

    Leave a comment:


  • replied
    Thanks Matt!

    Leave a comment:


  • replied
    Originally posted by Hitsugen View Post
    Hey Matt,

    I was wondering if there was any way to modify ability cooldowns after the ability goes on cooldown.
    The use case for this being, reducing cooldowns as a reward for certain actions being taken, like scoring additional hits on the enemy.
    I see that on the ability you can override the CalculateCooldown function but as far as I can tell that's only called when the ability is activated
    Correct, it's currently cached for performance sake. I can add an option to always recalculate it in the next update. That's an easy, simple add.
    Originally posted by Menelin View Post
    I'm working on a gravity well ability and need to reference the ability's owner and the targets picked up by the collision query in the ability's blueprint. I'm trying this method, but I'm not getting any results.
    I'm not sure your Attract Custom Event will work given that its trying to reference a parameter passed in by the OnAbilityStart which isn't going to be valid since its not coming from the OnAbilityStart call. If you use the Custom Event Task, it passes in the context.

    Leave a comment:


  • replied
    I'm working on a gravity well ability and need to reference the ability's owner and the targets picked up by the collision query in the ability's blueprint. I'm trying this method, but I'm not getting any results.

    Attached Files
    Last edited by Menelin; 01-22-2018, 11:17 AM.

    Leave a comment:


  • replied
    Hey Matt,

    I was wondering if there was any way to modify ability cooldowns after the ability goes on cooldown.
    The use case for this being, reducing cooldowns as a reward for certain actions being taken, like scoring additional hits on the enemy.
    I see that on the ability you can override the CalculateCooldown function but as far as I can tell that's only called when the ability is activated

    Leave a comment:


  • replied
    Originally posted by ES-StuBedore View Post

    It randomly happens 1/100 times, I can sit there and spam the skill and 99 times it will work perfectly but one random time it crashes with that exception, I'll check code but ya.
    If the actor is getting cleaned up while the Ability is occurring, that could cause it. That's the only other thing I would check - but if this is on the Player, it shouldn't matter. I'd put some Nullptr checks on the when you create the context, maybe add some logging that shows up if the Ability Component you are passing in IsPendingKill or null.

    Leave a comment:


  • replied
    Originally posted by ExtraLifeMatt View Post

    That looks like you aren't passing an Ability Component (or possibly an Ability) properly when you call Activate Ability and pass in the Ability Context. I'd check your code there and see if anything is null.
    It randomly happens 1/100 times, I can sit there and spam the skill and 99 times it will work perfectly but one random time it crashes with that exception, I'll check code but ya.

    Leave a comment:


  • replied
    Originally posted by ES-StuBedore View Post
    Hiyo, first off, great plugin.

    After the update today, I randomly get this exception:

    Code:
    [2018.01.16-15.03.25:420][ 63]LogWindows: Error: === Critical error: ===
    [2018.01.16-15.03.25:420][ 63]LogWindows: Error:
    [2018.01.16-15.03.25:420][ 63]LogWindows: Error: Fatal error!
    [2018.01.16-15.03.25:420][ 63]LogWindows: Error:
    [2018.01.16-15.03.25:420][ 63]LogWindows: Error: Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0xffffffff
    [2018.01.16-15.03.25:420][ 63]LogWindows: Error:
    [2018.01.16-15.03.25:420][ 63]LogWindows: Error: UE4Editor-CoreUObject.dll!FWeakObjectPtr::operator=() [e:\program files\epic games\ue_4.17.1_src\engine\source\runtime\coreuobject\private\uobject\weakobjectptr.cpp:29]
    [2018.01.16-15.03.25:420][ 63]LogWindows: Error: UE4Editor-AbleCore.dll!FAblAbilityNetworkContext::FAblAbilityNetworkContext() [e:\program files\epic games\ue_4.17.1_src\engine\plugins\marketplace\able\source\ablecore\private\ablabilitycontext.cpp:179]
    [2018.01.16-15.03.25:420][ 63]LogWindows: Error: UE4Editor-AbleCore.dll!UAblAbilityComponent::ActivateAbility() [e:\program files\epic games\ue_4.17.1_src\engine\plugins\marketplace\able\source\ablecore\private\ablabilitycomponent.cpp:253]
    [2018.01.16-15.03.25:420][ 63]LogWindows: Error: UE4Editor-Engine.dll!FInputActionUnifiedDelegate::Execute() [e:\program files\epic games\ue_4.17.1_src\engine\source\runtime\engine\classes\components\inputcomponent.h:204]
    [2018.01.16-15.03.25:420][ 63]LogWindows: Error: UE4Editor-Engine.dll!UPlayerInput::ProcessInputStack() [e:\program files\epic games\ue_4.17.1_src\engine\source\runtime\engine\private\userinterface\playerinput.cpp:1243]
    [2018.01.16-15.03.25:420][ 63]LogWindows: Error: UE4Editor-Engine.dll!APlayerController::ProcessPlayerInput() [e:\program files\epic games\ue_4.17.1_src\engine\source\runtime\engine\private\playercontroller.cpp:2463]
    [2018.01.16-15.03.25:420][ 63]LogWindows: Error: UE4Editor-Engine.dll!APlayerController::TickPlayerInput() [e:\program files\epic games\ue_4.17.1_src\engine\source\runtime\engine\private\playercontroller.cpp:4214]
    [2018.01.16-15.03.25:420][ 63]LogWindows: Error: UE4Editor-Engine.dll!APlayerController::PlayerTick() [e:\program files\epic games\ue_4.17.1_src\engine\source\runtime\engine\private\playercontroller.cpp:2126]
    [2018.01.16-15.03.25:420][ 63]LogWindows: Error: UE4Editor-Engine.dll!APlayerController::TickActor() [e:\program files\epic games\ue_4.17.1_src\engine\source\runtime\engine\private\playercontroller.cpp:4307]
    [2018.01.16-15.03.25:421][ 63]LogWindows: Error: UE4Editor-Engine.dll!FActorTickFunction::ExecuteTick() [e:\program files\epic games\ue_4.17.1_src\engine\source\runtime\engine\private\actor.cpp:130]
    [2018.01.16-15.03.25:421][ 63]LogWindows: Error: UE4Editor-Engine.dll!FTickFunctionTask::DoTask() [e:\program files\epic games\ue_4.17.1_src\engine\source\runtime\engine\private\ticktaskmanager.cpp:269]
    [2018.01.16-15.03.25:421][ 63]LogWindows: Error: UE4Editor-Engine.dll!TGraphTask<FTickFunctionTask>::ExecuteTask() [e:\program files\epic games\ue_4.17.1_src\engine\source\runtime\core\public\async\taskgraphinterfaces.h:784]
    [2018.01.16-15.03.25:421][ 63]LogWindows: Error: UE4Editor-Core.dll!FNamedTaskThread::ProcessTasksNamedThread() [e:\program files\epic games\ue_4.17.1_src\engine\source\runtime\core\private\async\taskgraph.cpp:650]
    [2018.01.16-15.03.25:421][ 63]LogWindows: Error: UE4Editor-Core.dll!FNamedTaskThread::ProcessTasksUntilQuit() [e:\program files\epic games\ue_4.17.1_src\engine\source\runtime\core\private\async\taskgraph.cpp:559]
    [2018.01.16-15.03.25:421][ 63]LogWindows: Error: UE4Editor-Core.dll!FTaskGraphImplementation::WaitUntilTasksComplete() [e:\program files\epic games\ue_4.17.1_src\engine\source\runtime\core\private\async\taskgraph.cpp:1327]
    [2018.01.16-15.03.25:421][ 63]LogWindows: Error: UE4Editor-Engine.dll!FTickTaskSequencer::ReleaseTickGroup() [e:\program files\epic games\ue_4.17.1_src\engine\source\runtime\engine\private\ticktaskmanager.cpp:538]
    [2018.01.16-15.03.25:421][ 63]LogWindows: Error: UE4Editor-Engine.dll!FTickTaskManager::RunTickGroup() [e:\program files\epic games\ue_4.17.1_src\engine\source\runtime\engine\private\ticktaskmanager.cpp:1450]
    [2018.01.16-15.03.25:421][ 63]LogWindows: Error: UE4Editor-Engine.dll!UWorld::RunTickGroup() [e:\program files\epic games\ue_4.17.1_src\engine\source\runtime\engine\private\leveltick.cpp:758]
    [2018.01.16-15.03.25:421][ 63]LogWindows: Error: UE4Editor-Engine.dll!UWorld::Tick() [e:\program files\epic games\ue_4.17.1_src\engine\source\runtime\engine\private\leveltick.cpp:1383]
    [2018.01.16-15.03.25:421][ 63]LogWindows: Error: UE4Editor-UnrealEd.dll!UEditorEngine::Tick() [e:\program files\epic games\ue_4.17.1_src\engine\source\editor\unrealed\private\editorengine.cpp:1650]
    [2018.01.16-15.03.25:421][ 63]LogWindows: Error: UE4Editor-UnrealEd.dll!UUnrealEdEngine::Tick() [e:\program files\epic games\ue_4.17.1_src\engine\source\editor\unrealed\private\unrealedengine.cpp:402]
    [2018.01.16-15.03.25:421][ 63]LogWindows: Error: UE4Editor.exe!FEngineLoop::Tick() [e:\program files\epic games\ue_4.17.1_src\engine\source\runtime\launch\private\launchengineloop.cpp:3215]
    [2018.01.16-15.03.25:421][ 63]LogWindows: Error: UE4Editor.exe!GuardedMain() [e:\program files\epic games\ue_4.17.1_src\engine\source\runtime\launch\private\launch.cpp:166]
    [2018.01.16-15.03.25:421][ 63]LogWindows: Error: UE4Editor.exe!GuardedMainWrapper() [e:\program files\epic games\ue_4.17.1_src\engine\source\runtime\launch\private\windows\launchwindows.cpp:134]
    [2018.01.16-15.03.25:421][ 63]LogWindows: Error: UE4Editor.exe!WinMain() [e:\program files\epic games\ue_4.17.1_src\engine\source\runtime\launch\private\windows\launchwindows.cpp:210]
    [2018.01.16-15.03.25:421][ 63]LogWindows: Error: UE4Editor.exe!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253]
    [2018.01.16-15.03.25:421][ 63]LogWindows: Error: KERNEL32.DLL!0x0000000018241FE4
    [2018.01.16-15.03.25:421][ 63]LogWindows: Error: ntdll.dll!0x0000000018FCEFB1
    [2018.01.16-15.03.25:421][ 63]LogWindows: Error: ntdll.dll!0x0000000018FCEFB1
    [2018.01.16-15.03.25:421][ 63]LogWindows: Error:
    [2018.01.16-15.03.25:440][ 63]LogExit: Executing StaticShutdownAfterError
    [2018.01.16-15.03.25:466][ 63]LogWindows: FPlatformMisc::RequestExit(1)
    [2018.01.16-15.03.25:466][ 63]Log file closed, 01/16/18 09:03:25
    That looks like you aren't passing an Ability Component (or possibly an Ability) properly when you call Activate Ability and pass in the Ability Context. I'd check your code there and see if anything is null.

    Originally posted by jwyuen View Post
    Hi
    use to use this,
    I Try using again and Select asset is not doing much
    Its just a blank box.
    Any known bugs with 4.18???

    Thanks
    Jesse
    Nope. I use 4.18 personally. Are you talking about the Preview Actor Selection Box? Check and make sure you are picking a class you actually have some assets of (such as Actor), or you can not pick a class and it should load everything.

    Leave a comment:


  • replied
    Hi
    use to use this,
    I Try using again and Select asset is not doing much
    Its just a blank box.
    Any known bugs with 4.18???

    Thanks
    Jesse

    Leave a comment:


  • replied
    Hiyo, first off, great plugin.

    After the update today, I randomly get this exception:

    Code:
    [2018.01.16-15.03.25:420][ 63]LogWindows: Error: === Critical error: ===
    [2018.01.16-15.03.25:420][ 63]LogWindows: Error: 
    [2018.01.16-15.03.25:420][ 63]LogWindows: Error: Fatal error!
    [2018.01.16-15.03.25:420][ 63]LogWindows: Error: 
    [2018.01.16-15.03.25:420][ 63]LogWindows: Error: Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0xffffffff
    [2018.01.16-15.03.25:420][ 63]LogWindows: Error: 
    [2018.01.16-15.03.25:420][ 63]LogWindows: Error: UE4Editor-CoreUObject.dll!FWeakObjectPtr::operator=() [e:\program files\epic games\ue_4.17.1_src\engine\source\runtime\coreuobject\private\uobject\weakobjectptr.cpp:29]
    [2018.01.16-15.03.25:420][ 63]LogWindows: Error: UE4Editor-AbleCore.dll!FAblAbilityNetworkContext::FAblAbilityNetworkContext() [e:\program files\epic games\ue_4.17.1_src\engine\plugins\marketplace\able\source\ablecore\private\ablabilitycontext.cpp:179]
    [2018.01.16-15.03.25:420][ 63]LogWindows: Error: UE4Editor-AbleCore.dll!UAblAbilityComponent::ActivateAbility() [e:\program files\epic games\ue_4.17.1_src\engine\plugins\marketplace\able\source\ablecore\private\ablabilitycomponent.cpp:253]
    [2018.01.16-15.03.25:420][ 63]LogWindows: Error: UE4Editor-Engine.dll!FInputActionUnifiedDelegate::Execute() [e:\program files\epic games\ue_4.17.1_src\engine\source\runtime\engine\classes\components\inputcomponent.h:204]
    [2018.01.16-15.03.25:420][ 63]LogWindows: Error: UE4Editor-Engine.dll!UPlayerInput::ProcessInputStack() [e:\program files\epic games\ue_4.17.1_src\engine\source\runtime\engine\private\userinterface\playerinput.cpp:1243]
    [2018.01.16-15.03.25:420][ 63]LogWindows: Error: UE4Editor-Engine.dll!APlayerController::ProcessPlayerInput() [e:\program files\epic games\ue_4.17.1_src\engine\source\runtime\engine\private\playercontroller.cpp:2463]
    [2018.01.16-15.03.25:420][ 63]LogWindows: Error: UE4Editor-Engine.dll!APlayerController::TickPlayerInput() [e:\program files\epic games\ue_4.17.1_src\engine\source\runtime\engine\private\playercontroller.cpp:4214]
    [2018.01.16-15.03.25:420][ 63]LogWindows: Error: UE4Editor-Engine.dll!APlayerController::PlayerTick() [e:\program files\epic games\ue_4.17.1_src\engine\source\runtime\engine\private\playercontroller.cpp:2126]
    [2018.01.16-15.03.25:420][ 63]LogWindows: Error: UE4Editor-Engine.dll!APlayerController::TickActor() [e:\program files\epic games\ue_4.17.1_src\engine\source\runtime\engine\private\playercontroller.cpp:4307]
    [2018.01.16-15.03.25:421][ 63]LogWindows: Error: UE4Editor-Engine.dll!FActorTickFunction::ExecuteTick() [e:\program files\epic games\ue_4.17.1_src\engine\source\runtime\engine\private\actor.cpp:130]
    [2018.01.16-15.03.25:421][ 63]LogWindows: Error: UE4Editor-Engine.dll!FTickFunctionTask::DoTask() [e:\program files\epic games\ue_4.17.1_src\engine\source\runtime\engine\private\ticktaskmanager.cpp:269]
    [2018.01.16-15.03.25:421][ 63]LogWindows: Error: UE4Editor-Engine.dll!TGraphTask<FTickFunctionTask>::ExecuteTask() [e:\program files\epic games\ue_4.17.1_src\engine\source\runtime\core\public\async\taskgraphinterfaces.h:784]
    [2018.01.16-15.03.25:421][ 63]LogWindows: Error: UE4Editor-Core.dll!FNamedTaskThread::ProcessTasksNamedThread() [e:\program files\epic games\ue_4.17.1_src\engine\source\runtime\core\private\async\taskgraph.cpp:650]
    [2018.01.16-15.03.25:421][ 63]LogWindows: Error: UE4Editor-Core.dll!FNamedTaskThread::ProcessTasksUntilQuit() [e:\program files\epic games\ue_4.17.1_src\engine\source\runtime\core\private\async\taskgraph.cpp:559]
    [2018.01.16-15.03.25:421][ 63]LogWindows: Error: UE4Editor-Core.dll!FTaskGraphImplementation::WaitUntilTasksComplete() [e:\program files\epic games\ue_4.17.1_src\engine\source\runtime\core\private\async\taskgraph.cpp:1327]
    [2018.01.16-15.03.25:421][ 63]LogWindows: Error: UE4Editor-Engine.dll!FTickTaskSequencer::ReleaseTickGroup() [e:\program files\epic games\ue_4.17.1_src\engine\source\runtime\engine\private\ticktaskmanager.cpp:538]
    [2018.01.16-15.03.25:421][ 63]LogWindows: Error: UE4Editor-Engine.dll!FTickTaskManager::RunTickGroup() [e:\program files\epic games\ue_4.17.1_src\engine\source\runtime\engine\private\ticktaskmanager.cpp:1450]
    [2018.01.16-15.03.25:421][ 63]LogWindows: Error: UE4Editor-Engine.dll!UWorld::RunTickGroup() [e:\program files\epic games\ue_4.17.1_src\engine\source\runtime\engine\private\leveltick.cpp:758]
    [2018.01.16-15.03.25:421][ 63]LogWindows: Error: UE4Editor-Engine.dll!UWorld::Tick() [e:\program files\epic games\ue_4.17.1_src\engine\source\runtime\engine\private\leveltick.cpp:1383]
    [2018.01.16-15.03.25:421][ 63]LogWindows: Error: UE4Editor-UnrealEd.dll!UEditorEngine::Tick() [e:\program files\epic games\ue_4.17.1_src\engine\source\editor\unrealed\private\editorengine.cpp:1650]
    [2018.01.16-15.03.25:421][ 63]LogWindows: Error: UE4Editor-UnrealEd.dll!UUnrealEdEngine::Tick() [e:\program files\epic games\ue_4.17.1_src\engine\source\editor\unrealed\private\unrealedengine.cpp:402]
    [2018.01.16-15.03.25:421][ 63]LogWindows: Error: UE4Editor.exe!FEngineLoop::Tick() [e:\program files\epic games\ue_4.17.1_src\engine\source\runtime\launch\private\launchengineloop.cpp:3215]
    [2018.01.16-15.03.25:421][ 63]LogWindows: Error: UE4Editor.exe!GuardedMain() [e:\program files\epic games\ue_4.17.1_src\engine\source\runtime\launch\private\launch.cpp:166]
    [2018.01.16-15.03.25:421][ 63]LogWindows: Error: UE4Editor.exe!GuardedMainWrapper() [e:\program files\epic games\ue_4.17.1_src\engine\source\runtime\launch\private\windows\launchwindows.cpp:134]
    [2018.01.16-15.03.25:421][ 63]LogWindows: Error: UE4Editor.exe!WinMain() [e:\program files\epic games\ue_4.17.1_src\engine\source\runtime\launch\private\windows\launchwindows.cpp:210]
    [2018.01.16-15.03.25:421][ 63]LogWindows: Error: UE4Editor.exe!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253]
    [2018.01.16-15.03.25:421][ 63]LogWindows: Error: KERNEL32.DLL!0x0000000018241FE4
    [2018.01.16-15.03.25:421][ 63]LogWindows: Error: ntdll.dll!0x0000000018FCEFB1
    [2018.01.16-15.03.25:421][ 63]LogWindows: Error: ntdll.dll!0x0000000018FCEFB1
    [2018.01.16-15.03.25:421][ 63]LogWindows: Error: 
    [2018.01.16-15.03.25:440][ 63]LogExit: Executing StaticShutdownAfterError
    [2018.01.16-15.03.25:466][ 63]LogWindows: FPlatformMisc::RequestExit(1)
    [2018.01.16-15.03.25:466][ 63]Log file closed, 01/16/18 09:03:25

    Leave a comment:


  • replied
    Define "CustomScript". I mean, like CalculateDamage you can change your input not only through Editor's detail panel but also at runtime, if user not implement it still good for performance. But, it is difficult to let it generalize. Just an idea.

    Leave a comment:


  • replied
    Originally posted by George.Xiao View Post

    Yea, an option for WorldSpace/LocalSpace is good idea. I will report all bugs and fix method when i found.
    By the way, I think there should be a CustomScript for each Task, because we need many additional stuff beyond your buildin stuff.
    Define "CustomScript". You mean just a generic Blueprint call like CustomEventTask does? My concern there would be it would have to be on the Ability rather than the Task (otherwise you'd have to Blueprint each task which isn't good for performance), and each Task may have different spots where a custom call makes sense (At the start of OnTaskStart, or at the end, maybe just before a query is done, etc) - so I'm not sure how you would generalize that for all tasks.
    Originally posted by Aumaan Anubis View Post

    What bug was that?

    I was having issues with the previewing for Ability Animation Node mode, because it's dependent on the AnimBP variables to let it play in the editor.

    This made my preview for some abilities never work, because they're depending on variables that only become "true" during something triggering it during the actual gameplay (conditions that can't be automatically met while not in-game).

    Perhaps my workflow is in error, but I couldn't really find a way around this.
    The bug was it would blindly set your Animation Mode on the animation instance which caused it to get reset. Now it only sets your Animation Mode if the instance isn't already in that mode.

    With regard to your AnimBP, you could either create a simple AnimBP that only has the Ability Animation Node and then duplicate your actor (name it something like "ActorName_Preview") and set their AnimBP to the slimmed down version, and use that actor as the Preview Actor in Able. Or rearrange your AnimBP so that it's atleast able to get to the Ability Animation Node from your Idle without any other crazy variables.

    If you want to PM me a screenshot of your AnimBP (mainly actual BP where you are setting variables and then your State Machine flow) - I'll happily look it over and see if I can't give you any pointers.

    Leave a comment:


  • replied
    Originally posted by ExtraLifeMatt View Post
    Able v2.15
    1. Added Backwards Stepping while the Ability is paused. This takes you back a frame (according to the 30 / 60FPS you have defined in the editor settings).
    2. Abilities will auto-pause if you Step forwards/backwards. No more pausing first.
    3. You can hit Left or Right on your keyboard to Step forwards/backwards.
    4. You can click or drag along the timeline to change your preview time forward/backwards.
    5. You can now Snap Tasks to whatever units you wish along the Timeline. Just enable the "Snap Tasks" option in the Editor settings and set the "Snap Unit" to whatever value you want to snap to.
    6. Play Animation Task will preview the animation properly while skipping around if you are using the Ability Animation Node Mode.
    Thank you for these, this gives it parity with the Animation editor on a utility level. Awesome!

    Originally posted by ExtraLifeMatt View Post
    7. Bug fix to Play Animation (Thanks to George.Xiao for that one.)
    What bug was that?

    Originally posted by ExtraLifeMatt View Post
    I'd love to get the animation previewing to work with the other modes (Single Instance / Dynamic Montage) but I (currently) see no way to do that. I was hoping to leverage some of Sequencer's work to help with that, but it looks like Epic is basically forcing in their own Animation Nodes to accomplish that and even then they don't support Dynamic Montage. So, for now, it's only available for the Ability Animation Node mode.
    I was having issues with the previewing for Ability Animation Node mode, because it's dependent on the AnimBP variables to let it play in the editor.

    This made my preview for some abilities never work, because they're depending on variables that only become "true" during something triggering it during the actual gameplay (conditions that can't be automatically met while not in-game).

    Perhaps my workflow is in error, but I couldn't really find a way around this.

    Leave a comment:

Working...
X