User Tag List

Page 3 of 6 FirstFirst 12345 ... LastLast
Results 81 to 120 of 233

Thread: Able Ability System Info and Support Thread

  1. #81
    0
    Quote Originally Posted by TheQuiet1994 View Post
    I posted on the marketplace page but I'll post here too:

    "Would there be a way to blend two animations together using just this plugin? Like, if I wanted to have the character attack while running, could I do that in the plugins editor? Two separate animations, attack animation and run animation."

    I'm pretty much trying to blend animations using the ones I have without a state machine and would like to just use the plugin.
    Hey Quiet,

    You could layer the attack animation over the run animation (using the dynamic montage option in Play Animation). But you wouldn't want to use Able to play your run animation, you would want that in a state machine and honestly a state machine is the best/most flexible way to deal with animations (which is why Able has its own Animation State Machine Node). Is there a reason you are avoiding state machines?
    Able Ability System - A high performance, robust ability system for UE4. Now Available!

  2. #82
    0
    Quote Originally Posted by ExtraLifeMatt View Post
    Hey Quiet,

    You could layer the attack animation over the run animation (using the dynamic montage option in Play Animation). But you wouldn't want to use Able to play your run animation, you would want that in a state machine and honestly a state machine is the best/most flexible way to deal with animations (which is why Able has its own Animation State Machine Node). Is there a reason you are avoiding state machines?
    Not at all. I was struggling to understand a way to blend them together using a state machine AND calling the ability without one overriding the other. If Able has it's own state machine node, could I use it for what I'm trying to do or would I need to make the blend in an AB and then call the attack ability through Able?

  3. #83
    0
    Quote Originally Posted by TheQuiet1994 View Post
    Not at all. I was struggling to understand a way to blend them together using a state machine AND calling the ability without one overriding the other. If Able has it's own state machine node, could I use it for what I'm trying to do or would I need to make the blend in an AB and then call the attack ability through Able?
    You can just setup a state machine for your locomotion, and setup one for your Abilities (although it would likely be just this node), and then blend results together. Or you can make it a part of your locomotion if you don't want Abilities to play while running/walking.

    I have a tutorial up on how to setup the Ability Animation State Node that Able can use.
    Able Ability System - A high performance, robust ability system for UE4. Now Available!

  4. #84
    0
    Okay, so now I can't open the ability blueprints. I created a new one, named it, and double clicked it and the engine crashed.

    LoginId:
    EpicAccountId:

    Access violation - code c0000005 (first/second chance not available)

    UE4Editor_CoreUObject
    UE4Editor_AbleEditor!FAblAbilityEditor::CreatePreviewActor() [d:\build\++portal+main+full\sync\localbuilds\plugintemp\hostproject\plugins\able\source\ableeditor\private\abilityeditor\ablabilityeditor.cpp:499]
    UE4Editor_AbleEditor!FAblAbilityEditor::SpawnPreviewActor() [d:\build\++portal+main+full\sync\localbuilds\plugintemp\hostproject\plugins\able\source\ableeditor\private\abilityeditor\ablabilityeditor.cpp:818]
    UE4Editor_AbleEditor!FAppAbilityEditorTimelineMode::PostActivateMode() [d:\build\++portal+main+full\sync\localbuilds\plugintemp\hostproject\plugins\able\source\ableeditor\private\abilityeditor\ablabilityeditormodes.cpp:113]
    UE4Editor_Kismet
    UE4Editor_Kismet
    UE4Editor_AbleEditor!FAblAbilityEditor::InitAbilityEditor() [d:\build\++portal+main+full\sync\localbuilds\plugintemp\hostproject\plugins\able\source\ableeditor\private\abilityeditor\ablabilityeditor.cpp:138]
    UE4Editor_AbleEditor!FAssetTypeActions_AblAbilityBlueprint::OpenAssetEditor() [d:\build\++portal+main+full\sync\localbuilds\plugintemp\hostproject\plugins\able\source\ableeditor\private\abilityeditor\assettypeactions_ablabilityblueprint.cpp:56]
    UE4Editor_UnrealEd
    UE4Editor_AbleEditor!FAssetTypeActions_Base::AssetsActivated() [d:\build\++portal+main+full\sync\rocketsync\engine\source\developer\assettools\public\assettypeactions_base.h:50]
    UE4Editor_ContentBrowser
    UE4Editor_ContentBrowser
    UE4Editor_ContentBrowser
    UE4Editor_ContentBrowser
    UE4Editor_ContentBrowser
    UE4Editor_ContentBrowser
    UE4Editor_ContentBrowser
    UE4Editor_ContentBrowser
    UE4Editor_ContentBrowser
    UE4Editor_ContentBrowser
    UE4Editor_Slate
    UE4Editor_Slate
    UE4Editor_Slate
    UE4Editor_Slate
    UE4Editor_Slate
    UE4Editor_Core
    UE4Editor_Core
    UE4Editor_Core
    UE4Editor_Core
    user32
    user32
    UE4Editor_Core
    UE4Editor
    UE4Editor
    UE4Editor
    UE4Editor
    UE4Editor
    kernel32
    ntdll
    Last edited by TheQuiet1994; 05-19-2017 at 11:49 PM.

  5. #85
    0
    Quote Originally Posted by TheQuiet1994 View Post
    Okay, so now I can't open the ability blueprints. I created a new one, named it, and double clicked it and the engine crashed.
    Interesting. I haven't seen that callstack before. It looks like it's failing to create the preview actor. Were you able to open the Editor previously and set an asset to be the preview actor? Did that asset get deleted?

    You can go into Able's settings (Project settings -> Able ) and manually change the preview asset to something valid.

    EDIT: That does appear to be the issue (the Preview Asset couldn't be loaded for some reason). I've gone ahead and made it so it won't crash when that occurs. That'll be in the v1.5 update.
    Last edited by ExtraLifeMatt; 05-20-2017 at 12:12 PM.

  6. #86
    0
    @ExtraLifeMatt

    Hello

    I'm hoping you'll do a video on interrupting and canceling abilities via received damage, things like taking damage interrupting a "slow melee" ability.
    But also, how to specify the damage type that can interrupt (example: "melee damage" can interrupt player melee, but "burning damage" does not interrupt)

  7. #87
    0
    Just a heads up, I think the sale ends in < 24 hours. So, if you're on the fence - you gotta decide soon.

    Quote Originally Posted by Aumaan Anubis View Post
    @ExtraLifeMatt

    Hello

    I'm hoping you'll do a video on interrupting and canceling abilities via received damage, things like taking damage interrupting a "slow melee" ability.
    But also, how to specify the damage type that can interrupt (example: "melee damage" can interrupt player melee, but "burning damage" does not interrupt)
    Sure. I was planning to do another Damage video since I seem to get a question about just basic damage hook up on the character side about once a week. There's a couple ways to do what you're asking. All of which are pretty simple. Should make for a fun video.
    Able Ability System - A high performance, robust ability system for UE4. Now Available!

  8. #88
    0
    Pretty happy with how v1.5 is shaping up.

    Name:  Ablev15.png
Views: 157
Size:  467.2 KB

    Notes so far:
    • Fix a crash when passing in a null Ability to ActivateAbility.
    • Fix to a crash when the Preview Asset can not be loaded.
    • Added an option for "Descriptive Task Titles" which provides a dynamic description of a task. This option is enabled by default.
    • Your currently selected task is now highlighted on the Timeline.
    • Dependency Drop down respects the Descriptive Task Title option.


    Last thing on my list is to expose Particle Emitter Instance Parameters in some clean way so you can hook beams to various Context targets (or potentially just some 3D point). That's taking a bit longer than I would like, but I should still have it done sometime this weekend. May increase the highlighting effect as well, still deciding on that one.
    Able Ability System - A high performance, robust ability system for UE4. Now Available!

  9. #89
    0
    Crash Win64 4.15.2

    Assertion failed: ScratchPad [File:\Build\++Portal+Main+Full\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\Able\Source\AbleCore\Private\Tasks\ablPlayParticleEffectTask.cpp] [Line: 135]



    UE4Editor_Core!FDebug::AssertFailed() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:349]
    UE4Editor_AbleCore!UAblPlayParticleEffectTask::OnTaskEnd() [d:\build\++portal+main+full\sync\localbuilds\plugintemp\hostproject\plugins\able\source\ablecore\private\tasks\ablplayparticleeffecttask.cpp:138]
    UE4Editor_AbleCore!UAblAbilityInstance::InternalUpdateTasks() [d:\build\++portal+main+full\sync\localbuilds\plugintemp\hostproject\plugins\able\source\ablecore\private\ablabilityinstance.cpp:410]
    UE4Editor_AbleCore!TGraphTask<FAsyncAbilityInstanceUpdaterTask>::ExecuteTask() [d:\build\++portal+main+full\sync\rocketsync\engine\source\runtime\core\public\async\taskgraphinterfaces.h:883]
    UE4Editor_Core!FNamedTaskThread::ProcessTasksNamedThread() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\private\async\taskgraph.cpp:954]
    UE4Editor_Core!FNamedTaskThread::ProcessTasksUntilIdle() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\private\async\taskgraph.cpp:716]
    UE4Editor_Engine!FTickTaskSequencer::ReleaseTickGroup() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\engine\private\ticktaskmanager.cpp:555]
    UE4Editor_Engine!FTickTaskManager::RunTickGroup() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\engine\private\ticktaskmanager.cpp:1450]
    UE4Editor_Engine!UWorld::RunTickGroup() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\engine\private\leveltick.cpp:758]
    UE4Editor_Engine!UWorld::Tick() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\engine\private\leveltick.cpp:1384]
    UE4Editor_AbleEditor!FAbilityEditorViewportClient::Tick() [d:\build\++portal+main+full\sync\localbuilds\plugintemp\hostproject\plugins\able\source\ableeditor\private\abilityeditor\ablabilityeditorviewportclient.cpp:220]
    UE4Editor_UnrealEd!UEditorEngine::Tick() [d:\build\++ue4+release-4.15+compile\sync\engine\source\editor\unrealed\private\editorengine.cpp:1698]
    UE4Editor_UnrealEd!UUnrealEdEngine::Tick() [d:\build\++ue4+release-4.15+compile\sync\engine\source\editor\unrealed\private\unrealedengine.cpp:391]
    UE4Editor!FEngineLoop::Tick() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\launch\private\launchengineloop.cpp:3025]
    UE4Editor!GuardedMain() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\launch\private\launch.cpp:166]
    UE4Editor!GuardedMainWrapper() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:134]
    UE4Editor!WinMain() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:210]
    UE4Editor!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:264]
    kernel32
    ntdll

  10. #90
    0
    Quote Originally Posted by ExtraLifeMatt View Post
    Pretty happy with how v1.5 is shaping up.

    Notes so far:
    • Fix a crash when passing in a null Ability to ActivateAbility.
    • Fix to a crash when the Preview Asset can not be loaded.
    • Added an option for "Descriptive Task Titles" which provides a dynamic description of a task. This option is enabled by default.
    • Your currently selected task is now highlighted on the Timeline.
    • Dependency Drop down respects the Descriptive Task Title option.


    Last thing on my list is to expose Particle Emitter Instance Parameters in some clean way so you can hook beams to various Context targets (or potentially just some 3D point). That's taking a bit longer than I would like, but I should still have it done sometime this weekend. May increase the highlighting effect as well, still deciding on that one.
    Thanks so much!

  11. #91
    0
    Quote Originally Posted by Antony Jones View Post
    Crash Win64 4.15.2

    Assertion failed: ScratchPad [File:\Build\++Portal+Main+Full\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\Able\Source\AbleCore\Private\Tasks\ablPlayParticleEffectTask.cpp] [Line: 135]



    UE4Editor_Core!FDebug::AssertFailed() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:349]
    UE4Editor_AbleCore!UAblPlayParticleEffectTask::OnTaskEnd() [d:\build\++portal+main+full\sync\localbuilds\plugintemp\hostproject\plugins\able\source\ablecore\private\tasks\ablplayparticleeffecttask.cpp:138]
    UE4Editor_AbleCore!UAblAbilityInstance::InternalUpdateTasks() [d:\build\++portal+main+full\sync\localbuilds\plugintemp\hostproject\plugins\able\source\ablecore\private\ablabilityinstance.cpp:410]
    UE4Editor_AbleCore!TGraphTask<FAsyncAbilityInstanceUpdaterTask>::ExecuteTask() [d:\build\++portal+main+full\sync\rocketsync\engine\source\runtime\core\public\async\taskgraphinterfaces.h:883]
    UE4Editor_Core!FNamedTaskThread::ProcessTasksNamedThread() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\private\async\taskgraph.cpp:954]
    UE4Editor_Core!FNamedTaskThread::ProcessTasksUntilIdle() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\private\async\taskgraph.cpp:716]
    UE4Editor_Engine!FTickTaskSequencer::ReleaseTickGroup() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\engine\private\ticktaskmanager.cpp:555]
    UE4Editor_Engine!FTickTaskManager::RunTickGroup() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\engine\private\ticktaskmanager.cpp:1450]
    UE4Editor_Engine!UWorld::RunTickGroup() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\engine\private\leveltick.cpp:758]
    UE4Editor_Engine!UWorld::Tick() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\engine\private\leveltick.cpp:1384]
    UE4Editor_AbleEditor!FAbilityEditorViewportClient::Tick() [d:\build\++portal+main+full\sync\localbuilds\plugintemp\hostproject\plugins\able\source\ableeditor\private\abilityeditor\ablabilityeditorviewportclient.cpp:220]
    UE4Editor_UnrealEd!UEditorEngine::Tick() [d:\build\++ue4+release-4.15+compile\sync\engine\source\editor\unrealed\private\editorengine.cpp:1698]
    UE4Editor_UnrealEd!UUnrealEdEngine::Tick() [d:\build\++ue4+release-4.15+compile\sync\engine\source\editor\unrealed\private\unrealedengine.cpp:391]
    UE4Editor!FEngineLoop::Tick() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\launch\private\launchengineloop.cpp:3025]
    UE4Editor!GuardedMain() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\launch\private\launch.cpp:166]
    UE4Editor!GuardedMainWrapper() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:134]
    UE4Editor!WinMain() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:210]
    UE4Editor!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:264]
    kernel32
    ntdll
    Hey Antony,

    That crash means something went really wrong. Looks like it happened in the editor, do you see this crash in a normal game?
    Able Ability System - A high performance, robust ability system for UE4. Now Available!

  12. #92
    0
    Quote Originally Posted by ExtraLifeMatt View Post
    Just a heads up, I think the sale ends in < 24 hours. So, if you're on the fence - you gotta decide soon.
    Thought it ends end of day 5/21 - my bad. Any plans for a summer sale later?

  13. #93
    0
    I'm struggling to making the "cool down" work as expected, perhaps I'm misunderstanding the usage, but I would like a screenshot example of a blueprint that uses this effectively.

    Just for an experiment, I'm using Able to for a basic Jump ability, and I want to use "cool down" to prevent players from spamming the button (because doing so wastes the double jump due to my physics set-up), so to mitigate player error, I want to use "cool down" to prevent successive Jumps from happening so soon after the initial jump.

    But so far I can't figure out how to make the BP respect cool down.
    Last edited by Aumaan Anubis; 05-21-2017 at 01:41 PM.

  14. #94
    0
    Hello, i can't seem to apply damage whatsoever.
    I even used the TargetMannquiun from your shooter example, along with the combo tutorial. and on (Event AnyDamage) doesn't even activate.
    Last edited by IronSuit; 05-21-2017 at 03:47 PM.

  15. #95
    0
    Quote Originally Posted by morbidipus View Post
    Thought it ends end of day 5/21 - my bad. Any plans for a summer sale later?
    Possibly, but it'll be a bit.

    Quote Originally Posted by Aumaan Anubis View Post
    I'm struggling to making the "cool down" work as expected, perhaps I'm misunderstanding the usage, but I would like a screenshot example of a blueprint that uses this effectively.

    Just for an experiment, I'm using Able to for a basic Jump ability, and I want to use "cool down" to prevent players from spamming the button (because doing so wastes the double jump due to my physics set-up), so to mitigate player error, I want to use "cool down" to prevent successive Jumps from happening so soon after the initial jump.

    But so far I can't figure out how to make the BP respect cool down.
    You just want to use a BP to see if an Ability is on Cooldown? Sure.

    Name:  AblCooldown.png
Views: 132
Size:  217.2 KB

    Quote Originally Posted by IronSuit View Post
    Hello, i can't seem to apply damage whatsoever.
    I even used the TargetMannquiun from your shooter example, along with the combo tutorial. and on (Event AnyDamage) doesn't even activate.
    Make sure the Character is marked as "Can be Damaged" in their properties, otherwise they won't get the event. If that doesn't work - then disable that Hunger BP that was causing issues previously and see if that helps.
    Able Ability System - A high performance, robust ability system for UE4. Now Available!

  16. #96
    0
    On the topic of cooldowns, could you map these to a hotbar that would display the cooldown similar to arpgs and mmos?

  17. #97
    0
    Quote Originally Posted by TheQuiet1994 View Post
    On the topic of cooldowns, could you map these to a hotbar that would display the cooldown similar to arpgs and mmos?
    Yup. You can get all the information you need to display that. You would need to wrap the Ability in some simple struct that had stuff like an Icon, maybe some text when you hover over it - but you can get all the info you need to do a cooldown widget/spinner thing.
    Able Ability System - A high performance, robust ability system for UE4. Now Available!

  18. #98
    0
    Quote Originally Posted by ExtraLifeMatt View Post

    Make sure the Character is marked as "Can be Damaged" in their properties, otherwise they won't get the event. If that doesn't work - then disable that Hunger BP that was causing issues previously and see if that helps.
    I was able to get everything working again by using a backup I've created earlier.
    I'm now able to perform combos and I've hooked each attack with the stamina system, so far everything working good.

    Thank you for your continuous support.

  19. #99
    0
    So, I'm struggling again. I can't seem to make this work while getting the variable.

    Name:  c5a0ebecd4d417d71a7799924071b34a.png
Views: 103
Size:  193.6 KB

    This one (above) doesn't work. No matter how I set it up.

    Name:  fb9c667767c31500ff8a6242a5f4b327.png
Views: 102
Size:  189.2 KB

    This one works perfectly fine. All I did was remove the get variable node.
    The first picture returns the error, "LogAble:Error: GetAbilityObjectFromClass was passed a null class. Check your parameters!"

  20. #100
    0
    Quote Originally Posted by TheQuiet1994 View Post
    So, I'm struggling again. I can't seem to make this work while getting the variable.

    This one (above) doesn't work. No matter how I set it up.

    This one works perfectly fine. All I did was remove the get variable node.
    The first picture returns the error, "LogAble:Error: GetAbilityObjectFromClass was passed a null class. Check your parameters!"
    Internally, those two images are the same. They call the same method (GetAbilityObjectFromClass), one just has a parameter hard coded - the other doesn't. I don't know why that Stamina blueprint system breaks such a simple feature, we saw the same thing when you just set a simple float value, so it's not an Able thing. If you're inheriting your blueprint from this Stamina blueprint system, it may be causing some values to not be properly inherited (i.e. any new variable). You could try adding your test variable on the Stamina Blueprint system base blueprint, but other than that - I have no idea. You'd have to ask the author of that system if he's seen this behavior before.
    Able Ability System - A high performance, robust ability system for UE4. Now Available!

  21. #101
    0
    Quote Originally Posted by ExtraLifeMatt View Post
    Internally, those two images are the same. They call the same method (GetAbilityObjectFromClass), one just has a parameter hard coded - the other doesn't. I don't know why that Stamina blueprint system breaks such a simple feature, we saw the same thing when you just set a simple float value, so it's not an Able thing. If you're inheriting your blueprint from this Stamina blueprint system, it may be causing some values to not be properly inherited (i.e. any new variable). You could try adding your test variable on the Stamina Blueprint system base blueprint, but other than that - I have no idea. You'd have to ask the author of that system if he's seen this behavior before.
    It doesn't seem that @TheQuiet1994 uses the Stamina hunger system because it's not added in their component list. so it's must be something else. @TheQuiet1994 i was able to determine the source of the problem by deleting chunks of my blueprints in my character and controller, after each chunk deleted i did a quick test by using a editable variable with a default value of 5 and a print string to print the value each time i press the letter "N". I change the value for the variable from the details screen from 5 to lets say 9. so each time after deleting chunks of blueprints i try and see if the value is changed from 5 to 9. if not, then i restore the deleted chunk and delete another. Using this way i was able to determine a function that was in my blueprints that was initializing my character attributes from the server, so it was the one that prevent me from successfully changing the variable. After disconnecting the function Able was working fine.

    Anyway @ExtraLifeMatt , i have another question.
    So i was able to successfully override the Damage function.
    But in my game i need to apply physical and elemental damage, this where I've faced a problem.
    Basically i need to return two values as a damage, one is physical damage and the other one is elemental damage.

    Right now there're two options that comes to my mind

    First, i do all the damage calculations in the damage override damage function by casting the actor to my current target and getting the armor and resistance values and do the required math.
    This solution works if i have small number of enemies, but in case i have something like 100 enemies in the game its not a practical solution.

    Second, is that i return the elemental and physical damage as a floats to my target and i do the resistance calculations in the target blueprint. (I prefer this one)

    Name:  Capture.PNG
Views: 96
Size:  165.7 KB

    This picture shows my setup for the first option, which is currently working for me. But for a lot of enemies it's not very good.
    Last edited by IronSuit; 05-23-2017 at 12:58 PM.

  22. #102
    0
    Quote Originally Posted by IronSuit View Post
    It doesn't seem that @TheQuiet1994 uses the Stamina hunger system because it's not added in their component list. so it's must be something else. @TheQuiet1994 i was able to determine the source of the problem by deleting chunks of my blueprints in my character and controller, after each chunk deleted i did a quick test by using a editable variable with a default value of 5 and a print string to print the value each time i press the letter "N". I change the value for the variable from the details screen from 5 to lets say 9. so each time after deleting chunks of blueprints i try and see if the value is changed from 5 to 9. if not, then i restore the deleted chunk and delete another. Using this way i was able to determine a function that was in my blueprints that was initializing my character attributes from the server, so it was the one that prevent me from successfully changing the variable. After disconnecting the function Able was working fine.

    Anyway @ExtraLifeMatt , i have another question.
    So i was able to successfully override the Damage function.
    But in my game i need to apply physical and elemental damage, this where I've faced a problem.
    Basically i need to return two values as a damage, one is physical damage and the other one is elemental damage.

    Right now there're two options that comes to my mind

    First, i do all the damage calculations in the damage override damage function by casting the actor to my current target and getting the armor and resistance values and do the required math.
    This solution works if i have small number of enemies, but in case i have something like 100 enemies in the game its not a practical solution.

    Second, is that i return the elemental and physical damage as a floats to my target and i do the resistance calculations in the target blueprint. (I prefer this one)
    Ah, my mistake. Sorry @TheQuiet1994 / @IronSuit. Got confused. @TheQuiet1994, follow @IronSuit 's advice - disable portions of your blueprint and try to find out where it's failing. The variables being stomped by the server is a good catch, I hadn't thought of that but that could totally do it. IronSuit and I were tracking down a similar issue and it's (so far) always been some other blueprint system or logic that is causing the issue.
    @IronSuit, regarding your question. There's actually a big difference in your two approaches. Both require the same amount of math, but if you use the first approach and set Able to do "Async Damage Calculate" (it's an option on the Apply Damage Task), Able will evenly distribute the damage calculations across the cores on your CPU. So, if you have to calculate damage for 100 actors, and you have 4 cores (most systems are 4 core systems now a days), then each core will do 25 actors. In your second option, it's single threaded so one core is going to do all 100 calculations. As long as your Enemies have a common interface for getting their armor/resistence - it's super simple.
    Able Ability System - A high performance, robust ability system for UE4. Now Available!

  23. #103
    0
    Quote Originally Posted by ExtraLifeMatt View Post
    Ah, my mistake. Sorry @TheQuiet1994 / @IronSuit. Got confused. @TheQuiet1994, follow @IronSuit 's advice - disable portions of your blueprint and try to find out where it's failing. The variables being stomped by the server is a good catch, I hadn't thought of that but that could totally do it. IronSuit and I were tracking down a similar issue and it's (so far) always been some other blueprint system or logic that is causing the issue.
    @IronSuit, regarding your question. There's actually a big difference in your two approaches. Both require the same amount of math, but if you use the first approach and set Able to do "Async Damage Calculate" (it's an option on the Apply Damage Task), Able will evenly distribute the damage calculations across the cores on your CPU. So, if you have to calculate damage for 100 actors, and you have 4 cores (most systems are 4 core systems now a days), then each core will do 25 actors. In your second option, it's single threaded so one core is going to do all 100 calculations. As long as your Enemies have a common interface for getting their armor/resistence - it's super simple.
    I didn't explain my problem clearly, my mistake.
    I won't be calculating the damage for 100 actors at the same time, because i won't be finghting them all at the same time.
    Imagine that i have 100 different bosses at the game, and i will be fighting the bosses seperatly. So at each ability i only require 1 target only, not 100.

    If i used first approach, then i need to cast to all of the bosses and calculate for all of them, even when fighting one boss alone. Which is waste of resources.
    So if there's a way that i can get the parameters of targets in able without casting to the individual actors all at once it would be perfect. if you have any hints here i really appreciate it.

    And for the second approach, i don't really know how can i return two damage values and pass them to the actors. (I only know how to return 1 value only).

    Thanks.

  24. #104
    0
    Quote Originally Posted by IronSuit View Post
    I didn't explain my problem clearly, my mistake.
    I won't be calculating the damage for 100 actors at the same time, because i won't be finghting them all at the same time.
    Imagine that i have 100 different bosses at the game, and i will be fighting the bosses seperatly. So at each ability i only require 1 target only, not 100.

    If i used first approach, then i need to cast to all of the bosses and calculate for all of them, even when fighting one boss alone. Which is waste of resources.
    So if there's a way that i can get the parameters of targets in able without casting to the individual actors all at once it would be perfect. if you have any hints here i really appreciate it.

    And for the second approach, i don't really know how can i return two damage values and pass them to the actors. (I only know how to return 1 value only).

    Thanks.
    You can use a shared base class for all your Bosses/Enemies and just cast to that.

    ACharacter -> AStatsCharacter (Resistances, stats, etc) -> WhateverBoss

    Then you just cast to AStatsCharacter within Able, do your math, and return the result.

    Unfortunately, Epic's Damage system is limited to 1 damage value at a time. So, you'd either have to create a 2nd Apply Damage task for the elemental damage (which is a bit wasteful), or manually call ApplyDamage on your actor (in which case you likely don't want it to use Async Calculate since that's no longer thread safe behavior, or keep it Async but add a Custom Event that actually applies the damage), or create your own Damage method (DamageCreature(float damage, float elementalDamage, etc) on some base class and manually call that using a similar setup to the 2nd option.

    I actually plan on showing how to setup a more diverse damage option in the next video that will likely touch on these various approaches.
    Able Ability System - A high performance, robust ability system for UE4. Now Available!

  25. #105
    0
    I'm currently at work so I can't test any fixes just yet but both of my pictures are from a freshly made top down template project. So unless the default code it starts with has issues that I couldn't catch, it would be something else.

  26. #106
    0
    Quote Originally Posted by TheQuiet1994 View Post
    I'm currently at work so I can't test any fixes just yet but both of my pictures are from a freshly made top down template project. So unless the default code it starts with has issues that I couldn't catch, it would be something else.
    Are you setting the Test ability on the Actor once you place them in a level? One of my test stages is the Top Down project, so it definitely works with that basic template.

    EDIT: Just saw you have a variable named Test, and apparently an Ability named Test. That variable on your blueprint is just an empty class ID that happens to be called Test. It's not a valid reference until you set it on the actor instance (i.e. when you've placed it in a level).
    Last edited by ExtraLifeMatt; 05-23-2017 at 04:42 PM.
    Able Ability System - A high performance, robust ability system for UE4. Now Available!

  27. #107
    0
    Quote Originally Posted by ExtraLifeMatt View Post
    You can use a shared base class for all your Bosses/Enemies and just cast to that.

    ACharacter -> AStatsCharacter (Resistances, stats, etc) -> WhateverBoss

    Then you just cast to AStatsCharacter within Able, do your math, and return the result.

    Unfortunately, Epic's Damage system is limited to 1 damage value at a time. So, you'd either have to create a 2nd Apply Damage task for the elemental damage (which is a bit wasteful), or manually call ApplyDamage on your actor (in which case you likely don't want it to use Async Calculate since that's no longer thread safe behavior, or keep it Async but add a Custom Event that actually applies the damage), or create your own Damage method (DamageCreature(float damage, float elementalDamage, etc) on some base class and manually call that using a similar setup to the 2nd option.

    I actually plan on showing how to setup a more diverse damage option in the next video that will likely touch on these various approaches.
    Great tip, i will be using a shared class for the Enemies.
    And I'm looking forward the next video.

    Thanks

  28. #108
    0
    Also i forgot to mention that it would be great if you can include in your next video how to blend in animations, right now i get weird movement when attacking and walking at the same time. Or when doing combo attacks.

  29. #109
    0
    Alright v1.5 has officially been submitted.

    Quote Originally Posted by IronSuit View Post
    Also i forgot to mention that it would be great if you can include in your next video how to blend in animations, right now i get weird movement when attacking and walking at the same time. Or when doing combo attacks.
    Sure I can look at doing something for that. That's all going to come down to how your Animation State Machine(s) are setup and how you blend your results. Ideally you want your locomotion in its own state machine, then you can put Able's Ability Animation Node in its own state machine, and just do a masked blend so Able's results only apply to above the waist, and locomotion is below the waist.
    Able Ability System - A high performance, robust ability system for UE4. Now Available!

  30. #110
    0
    v1.5 is now live. I'll be working on 4.16 support next. I'm hoping that only takes me a day or two, but you never know with these major revisions.
    Able Ability System - A high performance, robust ability system for UE4. Now Available!

  31. #111
    0
    So I'm pretty new to this but why is this error popping up when I try to launch the 4.15 showcase uproject file?

    "Couldn't set association for project. Check the file is writeable"

  32. #112
    0
    Quote Originally Posted by TheQuiet1994 View Post
    So I'm pretty new to this but why is this error popping up when I try to launch the 4.15 showcase uproject file?

    "Couldn't set association for project. Check the file is writeable"
    BAH, Sorry. Forgot to fix that. Just right click on the file -> Properties -> Uncheck "Read Only"
    Able Ability System - A high performance, robust ability system for UE4. Now Available!

  33. #113
    0
    Duh. I was afraid it wasn't that simple.
    Just one more question for now. When an actor is placed in the level, I can make the abilities work. But how would I set the variable on an actor that is spawned from a player start, for example?
    I'm also really sorry for so many simple questions. This is my first time using someone else's stuff from the marketplace.

  34. #114
    0
    Quote Originally Posted by TheQuiet1994 View Post
    Duh. I was afraid it wasn't that simple.
    Just one more question for now. When an actor is placed in the level, I can make the abilities work. But how would I set the variable on an actor that is spawned from a player start, for example?
    I'm also really sorry for so many simple questions. This is my first time using someone else's stuff from the marketplace.
    You could just manually set the variables using OnBeginPlay / Construction Script portion of the Character Blueprint. Ideally you'd have a data table (CSV/Excel Spreadsheet basically) or something somewhere, so when your Player spawns, it uses its Class/Level/Whatever to find what Abilities it should set to whichever variables.
    Able Ability System - A high performance, robust ability system for UE4. Now Available!

  35. #115
    0
    Quote Originally Posted by ExtraLifeMatt View Post
    You could just manually set the variables using OnBeginPlay / Construction Script portion of the Character Blueprint. Ideally you'd have a data table (CSV/Excel Spreadsheet basically) or something somewhere, so when your Player spawns, it uses its Class/Level/Whatever to find what Abilities it should set to whichever variables.
    Okay well clearly I'm not ready to tackle this. I can't get this to work at all. I'll have to just come back when I'm better able to.

  36. #116
    0
    Infiltrator
    Join Date
    Feb 2015
    Posts
    18
    Hey Matt,

    Reporting a bug,
    When I add a Branch task on a brand new ability, the editor instantly crashes.

    On older abilities that already have a branch task its no problem. From the stack trace it looks like it has to do with the new task descriptions feature.
    Cheers

    Access violation - code c0000005 (first/second chance not available)

    UE4Editor_CoreUObject
    UE4Editor_AbleCore!UAblBranchTask::GetDescriptiveTaskName() [d:\build\++portal+main+full\sync\localbuilds\plugintemp\hostproject\plugins\able\source\ablecore\private\tasks\ablbranchtask.cpp:150]
    UE4Editor_AbleEditor!SAblAbilityTimelineNode::GetNodeText() [d:\build\++portal+main+full\sync\localbuilds\plugintemp\hostproject\plugins\able\source\ableeditor\private\abilityeditor\sabilitytimelinetrack.cpp:55]
    UE4Editor_AbleEditor!SAblAbilityTimelineNode::OnPaint() [d:\build\++portal+main+full\sync\localbuilds\plugintemp\hostproject\plugins\able\source\ableeditor\private\abilityeditor\sabilitytimelinetrack.cpp:271]
    UE4Editor_SlateCore
    UE4Editor_Slate
    UE4Editor_SlateCore
    UE4Editor_AbleEditor!SAblAbilityTimelineTrack::OnPaint() [d:\build\++portal+main+full\sync\localbuilds\plugintemp\hostproject\plugins\able\source\ableeditor\private\abilityeditor\sabilitytimelinetrack.cpp:545]
    UE4Editor_SlateCore
    UE4Editor
    kernel32
    ntdll

  37. #117
    0
    Unreal Engine 4.16 now released!

  38. #118
    0
    Hi

    This doesnt work. I fired it up in BTT But animation doesnt play.Name:  AIC_1.jpg
Views: 63
Size:  302.6 KB
    Name:  able.jpg
Views: 62
Size:  286.3 KB

  39. #119
    0
    My NPC runs up to me then stands there
    I put print string Attacking with delay of 5 and its doing it fine.
    Anything special has to be done for AI to use this plugin?

  40. #120
    0
    @jwyuen

    Did you set up the state machine and AnimGraph?

Page 3 of 6 FirstFirst 12345 ... LastLast

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •