Able Ability System Info and Support Thread

Yea, that’s expected currently. I can change the default value to True globally (I don’t like making it based on some logic the user isn’t aware of), but then you open it up to being “unsafe” (hacking-wise) by default. I err’d on the side of security but it does make it seem like a bug to new users - so I may swap it back.

yeah… making it default true is fine… :slight_smile: As long as you can change some abilities to false. actually in many games buffs and positive effects are cancelable… so why not. and any responsible game dev won’t leave stuff on default but pay attention to values like this :slight_smile: By the way, thanks for the updates! I appreciate all the hard work you’re putting into this system! I encourage anyone I know that is REALLY working on a game to use this system instead of GAS.

How would i play the next ability i tried doing it i get the print with the percent so that is working. I tried using my characters play ability custom event and it does not work.

I wll give a youtube link so you can see what I have.

Not sure why calling the Event on your character wouldn’t work. But you should be able to grab your Owner Actor -> Grab your Ability Component -> Activate Ability with the one you want to use.

hey there :slight_smile:

i was wondering if there is something i have to note and check when working with particels in able? because some particelsystems seem to break when i use them in the ability
-some like in the screenshot seem to break alot and some just have certain effects gone

any idea what that may be?

Maybe its because “client can cancel ability” is false :wink: and he cancels previous ability by hand. Also in video I can see you grab “active ability” class AFTER you cancel it - so the active ability is not valid, so get class errors out.
All this conditioning should be “branch” condition inside the first ability. Can cancel is now build into ability. The way you handle it in the event is not threat-safe.

@bossexe are those particles use collision component and can collide with stuff? If so - make sure your mesh and character capsule ignore the collision channel of the particles.

i just checked. they dont use any collisions >.< i backed the project on my backup computer, when i open the project there the first time i use the skill it works fine…the second and from there on after it never does…weird.
could it be that something is saved somewhere and it wont work because of that?

I will take a look at it on our next help session :wink:

I don’t think this is the issue but if you can help me i would gladly appreciated I did PM you.

Thanks in advanced

Hi, I found a problem, I play able on my AI character, and able play a dynamic montage, if animation sequence enable root motion engine will warning “FNetGUIDCache::SupportsObject: AnimMontage /Engine/Transient.AnimMontage_148 NOT Supported.”

Hmm, that’s from the animation system - not from Able. It’s saying you can’t transfer that AnimMontage over the wire. Able doesn’t pass that information, but the Character Movement Component does so I wonder if that’s what’s complaining.

Dynamic Montages in general aren’t Net safe because they are dynamic (meaning you can’t just pass an ID and have the Client look up that animation since Dynamic montages are made on the fly), so you’d need to either make that a single animation or remove root motion and replace that with some impulse.

OK, I decide to ignore that warning, hhhh.

Another question, Is it possible to manually sync once? because I want some important able can play on client immidately, I looked your source code, and notice that you using property replication to sync able

Anything that is marked as Client/Server is played immediately on the client that does the action (i.e., the Player).

Quick little update today. Able v3.45 notes below.

Is it possible to create an ability without a tick cost? A continuous object that just IS… is part of “get abilities” array and generally is on the character, but there is no cost to check for infinite loop? As even infinite looks have a tick cost. It’s slight… like 0.1ms but still. I was wondering if I could do classes and feats as abilities that would be persistent passive, but as ability can be affected by other effects and can be queried and stack can be accessed etc.

Not really. That’s not what they’re meant to do. You’re better using Gameplay Tags for things like Feats or Character Classes, etc. Abilities are meant to be “active” in that they always have a timeline to play.

That’s exactly how I’m doing it now. Or when a “class” has some activation perks per level and some functions to check if the multiplayer cheater is not trying to exploit it - I spawn an OBJECT without tick enabled and just call interface on it. I was just wondering if I can make a custom ability class that is an object that is a bit more stripped down. But to think of… that’s a lot of work to make it happen in comparison to just having replicated objects that are custom and took me maybe 1h to setup.
Oh and cost of ability is 0.1ms inclusive max when it runs all the “can activate” can cancel" etc triggers on the single frame… usually running a ticking passive is 0.01ms :smiley: so having over 700+ starts to be a problem. And I got a slow CPU (3.2GHz max turbo, and 2.5 GHz typical clock speed)

BUG REPORT: When you create a child ability and it copied all the context if you remove a task out of it - the engine crashes. At least 100% when removing “branch” task. The task doesn’t have bindings. just a static reference and input requirement
Also - creating an ability object from already made class often loses some functions and doesn’t copy all context. when errors out - it refers to errors in the original object class that was the parent.
some tests: a COPY of an object seems to work fine.
right-click and create a child - generates the same error, but also all tasks are removed from the graph. (they are marked as inheritable)

Hmm, Thanks. I’ll add it to my bug list and look at it.