#enfusion_ai

1 messages ยท Page 5 of 1

shy lake
#

In the editor?

honest shore
#

yeah in enfusion

#

im trying to set them to keep attacking i have the respawns working

shy lake
#

Well this is a little old but it should still work this way.
https://www.youtube.com/watch?v=WNL_oFhlmLU&t=1823s

ALL of the Resources for this tutorial: https://hq.uselessfodder.com/p/how-to-make-missions-in-arma-reforger.html
Buy awesome tactical games: https://nexus.gg/UselessFodder
Join in future operations: https://discord.gg/UselessFodder
Support the channel and community: https://patreon.com/UselessFodder

This is a COMPLETE guide to making a custom ...

โ–ถ Play video
#

Make sure to give the waypoints your own name.
The default ones the game is giving them don't work.
So just simply rename them to whatever you like and it should work.

honest shore
#

does this work with ambient patrol spawn point

#

@shy lake

shy lake
# honest shore

Hmm... Not sure i'm not very familar with the Ambient Spawn thing.
But there is Scenario-Framework in workbench where you can look up a lot of stuff like this.

honest shore
#

interesting yeah i didn't spawn groups i spawned the ambients, maybe groups is a easier way to control it, can you set a group to respawn like the spawnpoint

shy lake
#

Sorry but i pretty much only use pre-placed or game master spawned.
But there is a waypoint example in workbench.

shy lake
regal terrace
gentle lintel
#

Alright guys, I'm sure this is a Arma-wide issue but we are trying to figure out how to prevent our server FPS from tanking. We run a PVE server that has consistently 80+ players running around. We have LinearPVE (thanks Gramps!) and are using Mikes Fallujah scenario (thanks Gramps, ByHeine and Mike!). We've done a ton of controlled testing of all of our mods and have deduced the mods aren't the issue. While monitoring the panel, when we have over 100 AI and 75+ players, even with Linear, we get server FPS tanks down between 8-12 FPS. Throw one heli up and it gets even worse. We think it's because players are spawning and activating ambient AI while pushing 1-2 objectives and activating patrolling AI entities during their missions, and that is cause of the server FPS dips. Do any of you have any insight to this, solutions, and/or future outlook on Bohemia improving AI? I know Arma 3 had its flaws, but I remember running another server in Arma 3 where you could have 100+ people and hundreds of AI across the map and it didn't bog the server FPS this much. We have a couple different servers with beefy specs, and even with 100 people and 200+ AI our servers aren't utilizing even 25% of their capability. Thanks in advance for any help!

regal terrace
#

I think that's too many players. I cap my own servers at about 44 players and very rarely dip below 20 server fps. Those servers that run 128 players typically don't run any or very minimal ai afaik. Maybe someday they will give us headless clients to help with the ai like in Arma 3, who knows.

gentle lintel
regal terrace
#

I do run linear with pretty much default settings I believe.

shy lake
#

Is the "Min distance between covers" of SCR_AIWorld > CoverManager already doing something?
I set it to 10 still A.I. keep clustering very close to each other.
Like if there are multiple cover objects very close to each other i have like 3 - 5 A.I. sitting next to each other.
One GL hit and all are gone.

gentle lintel
shy lake
#

Well i think BI themselves still has a lot of options to optimize them.
It just will take time.

ocean harness
shy lake
#

Well they are on the right path.
Reforger A.I. has already made it's way into my top 3 A.I. ever.

shy lake
#

Whoever made the "SCR_AISectorThreatFilter" and "SCR_AIObserveThreatSystemBehavior".
Best man EVER! ๐Ÿ‘ ๐Ÿฆพ

#

And on top moddability of everything is just CRAZY GOOD! ๐Ÿฅฐ
1.3 has really turned everything around for me!!!
GAME CHANGER!!!

shy lake
#

Found even a easy solution to make a "CombatMove" request unique without messing up other request types. blobcloseenjoy

ocean harness
shy lake
# ocean harness What does it do and how so?

Its new in current 1.3 experimental.
Pre 1.3 A.I. was totally fixated on one enemy only.
They never reacted to any new threats even if much more closer/dangerous.
As soon as they had an enemy assigned they would not let go of him and keep targeting even if shot in the back or walking right in front of them.
They were not able to switch targets based on danger.

Well 1.3 changed this.
This is the best i've got so far where A.I. is dealing with multiple targets from all 4 directions.
As you can see in the video he will always try to spot any of them keeping all directions covered.
Its AMAZING! blobcloseenjoy
https://www.youtube.com/watch?v=p5aVVrC1BIw

ocean harness
shy lake
regal terrace
#

I've run into an issue with AI using artillery. I scripted them to spawn in and target a position, but if a player or GM is not within streaming range, the AI does nothing, but as soon as the GM gets near or a player is near enough, they start firing on target. How can I trick them into thinking there is a player nearby so they activate and start shooting. Also after a while they will pause again until the GM gets near again. I thought I had read something about mortar teams and streaming, but I cant find it...

shy lake
#

In general the way of how they behave is just on point.
All the behaviors are perfectly timed and executed.
1.3 made me enjoy watching pure vanilla A.I. fighting each other.

shy lake
#

Its a performance optimization thing to disable A.I. if nobody is close enough to see them.

regal terrace
#

thanks, will try that now! ๐Ÿ™‚

plain adder
regal terrace
supple jacinth
shy lake
shy lake
# supple jacinth how good will be the AI of Areforger if they get optimized as the same new AI of...

Both have different purpose.
Arma is more fun/gaming/entertainment focused while VBS is much more realism focused since its purpose is to be used to train realistic combat scenarios.
I would expect A.I. of VBS to stay in cover for a very long time if there is any small chance of getting shot/killed.
Audience of Arma needs something to shoot at so A.I.should be more fun orientated.
Ofc Arma has its hardcore realism community so to them a more VBS like A.I. would probably fit much better.

random owl
#

unfortunately that will do nothing ๐Ÿ˜… as @shy lake said it really needs to be under character

#

That's correct it's due to penetration/reflection of bullets.
e.g. here you got first and second impact
I think it's fine like that.

random owl
# gentle lintel Alright guys, I'm sure this is a Arma-wide issue but we are trying to figure out...

Hello are you using activeAILimit ?(default is 200 which is too high in that case, I would recommend maybe 80 in such case) You can try lower number of active AIs by that which will somehow load balance the thing and you can have higher number of ais in map than.
But unfortunately 80+ players is a lot for Reforger to have also high AI count. It's not purely about somehow optimizing AIs on it's own but whole system of characters and replication etc. so using other server for running AIs wouldn't help you that much in the end.
The best here is indeed reduce player count a bit and try to tweak activeAILimit. If you reduce one you can increase the other.

#

glad you found it salute

shy lake
halcyon bridge
#

AI still struggles to aim at helicopters with turret, missing very often, sometimes hitting tail rotor, sometimes firing into empty sky

#

I regenerated AI Ballistic Tables and no difference

shy lake
#

On 1.2 or 1.3?

#

Well i think the reason why i never noticed the multiple ProjectileHit in-game is simply they were requested too fast after another so the first requests were kinda overridden by the following and only the very last request was executed.
I once measured the time from ApplyRequest() till it get actually executed in the behavior thee and it took 0.050 ms iirc.
So this would explain it.

#

*tree

regal terrace
# shy lake Did you use `agent.SetPermanentLOD(0);`? This always worked for me. There is al...

I did use that. I'm using a print after every shot and I keep seeing this in logs after every few rounds: SCRIPT : PermLOD= -1, LOD= 9, Max= 10 even after using PreventMaxLOD(-1). My last test they did 3 shots, then I got the LOD 9, 2 more shots, LOD 9, 2 more shots, LOD 9, 5 shots, LOD 9, 4 shots, LOD 9, 3 shots, LOD 9, 3 more shots, no more shots (assuming its switched LOD to 10 again). I'm also setting permLOD to 0 after every shot. Once it paused on me, I flew over to the mortar guys in GM and got SCRIPT : PermLOD= -1, LOD= 0, Max= 10 IDK what is changing the PermLOD because I can only see one place in script calling that function in SCR_ScenarioFrameworkAIActionDisableLOD. I set a couple prints in there and it doesnt seem like that is even being called, so I can only assume its engine side thats changing the value on me. ๐Ÿคทโ€โ™‚๏ธ

shy lake
regal terrace
#

Thanks, even setting PreventMaxLOD(100000000) Im still getting -1 perm lod in my prints randomly.

halcyon bridge
#

in my stress test mod I had to set it every frame for it to work

shy lake
# regal terrace Thanks, even setting PreventMaxLOD(100000000) Im still getting -1 perm lod in my...

Well this is how i did it:

//------------------------------------------------------------------------------------------------
modded class SCR_AIUtilityComponent : SCR_AIBaseUtilityComponent
{
    //------------------------------------------------------------------------------------------------
    override void EOnInit(IEntity owner)
    {
        super.EOnInit(owner);
        
        SCR_ChimeraAIAgent chimeraAIAgent = SCR_ChimeraAIAgent.Cast(owner);
        
        if (chimeraAIAgent)
            chimeraAIAgent.SetPermanentLOD(0);
    }
};

And it worked.
I've tested several minutes.
Keeps telling me LOD = 0 and i can move very far away with the GM camera, i still see the agent debug message pop up.
Maybe Game Mode or something resetting it?

halcyon bridge
#

In my stress test they were resetting themselves when there were no players on the server

shy lake
#

Not sure about this.
I've just tested local in GM.

shy lake
#

LOL now its stuck in LOD0...
Can't get it back to auto.
Even after WB restart it stays in LOD0.
Whatever maybe something broken with it.
I've tested in 1.3 b.t.w.

shy lake
#

So if you like permanent LOD0 simply use experimental. ๐Ÿค“

regal terrace
#

well thats the thing, thats what im testing in and its getting set to -1. I'll have to try your method here in a bit

shy lake
#

I have this as a setting in my mod since quite a while and it always worked properly.
This is the first time i don't see them changing LODs.

shy lake
random owl
halcyon bridge
#

No I am using main branch of course

#

So if there are improvements in 1.3 then I stop complaining

#

It looks like they are behind the target instead of leading it

#

@random owl

#

Also in the turret aiming component what are the PID values actually doing?

random owl
halcyon bridge
#

oki doki thank you

random owl
#

you mean this?

halcyon bridge
#

Yeah, but on 1.2.1 only the first attribute exists

random owl
#

as we realized one isn't enough ๐Ÿ˜„ e.g. humwee has movable not only gun but also the "base" in which AI sits.

halcyon bridge
#

in BTR70 turret right now only the X value is above 0, it's set to 1

random owl
#

well PID is basic cybernetic controller.
https://www.youtube.com/watch?v=UR0hOmjaHp0

Check out my newer videos on PID control! http://bit.ly/2KGbPuy

Get the map of control theory: https://www.redbubble.com/shop/ap/55089837
Download eBook on the fundamentals of control theory (in progress): https://engineeringmedia.com

In this video, I introduce the topic of PID control. This is a short introduction design to prepare you for t...

โ–ถ Play video
#

so here what is input is position where you want to aim and the system to controll is the turret

halcyon bridge
#

This dude's drawing skills are the more impressive part of the video

random owl
# halcyon bridge in BTR70 turret right now only the X value is above 0, it's set to 1

yea that's "suboptimal" ๐Ÿ˜…
It's correct in 1.3 already.
tuning PIDs can be hocus pocus done by hand - you simply try to guess correct setting (there is description on wiki https://en.wikipedia.org/wiki/Proportionalโ€“integralโ€“derivative_controller#Manual_tuning)

A proportionalโ€“integralโ€“derivative controller (PID controller or three-term controller) is a feedback-based control loop mechanism commonly used to manage machines and processes that require continuous control and automatic adjustment. It is typically used in industrial control systems and various other applications where constant control throug...

halcyon bridge
#

Is there some diag in 1.2.1 I can use to visualize the gains?

random owl
#

Not sure from top of my head.
There is this in 1.3 for sure ๐Ÿ˜…

#

AI->Aming->Aming component PIDS

random owl
#

Yes you are right ๐Ÿ˜… will fix that.

shy lake
#

Nice thank's for confirmation. ๐Ÿ‘

halcyon bridge
#

oh I dont think the PID values are the problem for me actually but the randomization of target/aim position, it constantly tries aiming at random points in a radius around the target instead of aiming at the actual target, I can see it snap to those random points when I turn on the aiming diag

shy lake
#

First broken A.I. thing in 1.3 so far. ๐Ÿ™‚

#

At least from what i can tell.

final tendon
#

let's say I want an AI character to approach exact point and perform an action (say, play an interaction animation and trigger my code). I want this behavior to be triggerable from my code. is this possible and where should I start?

vanilla AI does similar thing with opening gates when driving vehicles. is it done engine side or something I can copy over?

shy lake
#

SCR_AIMoveIndividuallyBehavior is the behavior you can use to have the A.I. to move wherever you like.

#

This is how you add and execute it: ( Just in case )
utility = SCR_AIUtilityComponent

SCR_AIMoveIndividuallyBehavior moveBehavior = new SCR_AIMoveIndividuallyBehavior(utility, null, movePosition, priority: SCR_AIActionBase.PRIORITY_BEHAVIOR_MOVE_INDIVIDUALLY, priorityLevel: SCR_AIActionBase.PRIORITY_LEVEL_NORMAL, radius: 0.3);

utility.AddAction(moveBehavior);
#

Depending on when you like to use it, you may need to adjust the priority.

random owl
# regal terrace I did use that. I'm using a print after every shot and I keep seeing this in lo...

Ok I was trying to figure out what is happening to you.
Your problem could be that you PreventMaxLOD(-1) just for agents of characters but not for group it self so it can't perform group logic. Possible?

I would suggest not use SetPermanentLOD unless it's super critical. Maybe only legit use now could be aiming on super long distances with snipers as I can imagine some problems with rate of aming updates. PreventMax should be sufficient for your case.
(that applies to all here)

I would also suggest when using prints as your debug option to also add IDs of those entities cause if you do it like that you have no clue which agents are reporting so it could be that your agent is in correct LOD all the time. There are typically agents you even forgot about(birds, cars, turrets, empty groups...).

@halcyon bridge problem forcing him use it every frame could be from using potentially SCR_AmbientPatrolSpawnComponent/System which calls Activate/DeactivateGroup overriding PermanentLOD

On top of that that SCR_ScenarioFrameworkAIActionDisableLOD is also faulty as it disable LODs just on agents and not on group. (will address those problems)

halcyon bridge
#

Nailed it

#

I wasnt using ambient patrol but my own custom spawnpoints but!! my issue was a thing several months ago

random owl
#

@regal terrace one more thing - LODs deactivation is prevented in mortars BTs trough SCR_AIToggleMaxLOD so if you are using those which I thing you do - they will automatically use AllowMaxLOD when activity ends. So that's possibly your issue maybe.

halcyon bridge
#

They seem to aim at the center of the helicopter instead of in front of it

halcyon bridge
#

Changing ballistic tables for the ammo does nothing

random owl
#

on 1.2.1 it's somehow futile to get it right as predictions are calculated wrongly if I remember correctly.

#

Than essential is setup PID in most likely similar values to other turrets so "bigger" P value and something smaller in I

#

With aim debug you can take a look where it aims as you know. But like this it's pure guessing for me.

halcyon bridge
#

ah ok

#

Yeah still 1.2.1

ocean harness
#

Git on 1.3 NAO !!

halcyon bridge
#

no

haughty ivy
halcyon bridge
#

nuh uh

mortal path
#

Didn't they receive an update in 1.3 specifically for this issue?

shy lake
#

Bacon is here for the challenge.

mortal path
#

LOL

halcyon bridge
#

I'll develop for 1.3 when it hits main, right now I'm not modding a game nobody plays

regal terrace
#

it would be good to get a head start, there are a lot of changes in 1.3. It should have been the 1.0 release imho.

mortal path
#

I agree with that

halcyon bridge
#

I would rather have my mod broken once and know that it will work once I fix it than it being broken every few weeks with exp updates

#

Also when they break on main it's more motivating to fix them LMFAOO

mortal path
#

Fair

shy lake
#

And ppl will find their way to Reforger anyways.

mortal path
#

1.0 also no was a major update that fixed an insane amount of crashes and bugs. First time to game became really playable

boreal quiver
#

So if scripted nodes are slower but are used everywhere anyway, would it be better to make a single scripted node for all the AI behavior?

shy lake
#

A single scripted node? How would this work with all the individual stuff they are doing/used for?
Well i was thinking instead of having the EOnInit and stuff on each individual scripted node, to have it some king of public initializing thing where all the components and stuff are visible/usable in every behavior tree.
So instead of casting them over and over in every single node do it once.
Not sure if something like this is even possible.

I have made a system, where i cast group related stuff like "SCR_AIGroupInfoComponent" and "SCR_AIGroupUtilityComponent" once at the init of the group and i re-cast them whenever the agents group was changed in case of him joining another group or creating his own group.
And so far its working pretty well and does what its supposed to do.

halcyon bridge
#

Static utility class for everything

shy lake
#

Yeah this would indeed be a possibility. ๐Ÿ‘

halcyon bridge
#

SCR_Everything

shy lake
#

How come my A.I. is barelyor totally not speaking during combat?
I once made a video where they were talking a lot while moving and suppressing.
This was also the first time i really noticed it.
Somehow i never ever heard them speaking again? even in 100% vanilla?

shy lake
#

And for some reason while investigating A.I. becoms totally fixated on investigating.
They walk straight past their enemy and only start to react ( stop to investigate ) if shot.
Like if perceptin was set to 0.1 or something.

#

Sometimes this happens sometimes they react properly. blobdoggoshruggoogly

boreal quiver
#

Well not for normal AI but for simple ones like Zombies

shy lake
#

Maybe tired or burnout... ๐Ÿ˜…

mortal path
#

Do you guys know where I can access the script to make spawned in vehicle drivers incapable of disembarking? Whenever I get into engagement with them they just get out of the vehicle

shy lake
#

"SCR_AIGetOutVehicle" behavior.
I use the OnActionSelected() methode and return FAIL.
In your case you would also need to check if the agent executing the GetOut behavior is the driver of the vehicle.

mortal path
#

It's not only the driver it's the entire group that spawns in it. Driver gunner and passengers. Passengers should disembark but driver and gunner(maybe commander too) should remain no matter what is what I aim for. Don't mind it if the passengers have to stay though

#

Would this also make it so friendly recruitable AI would also have this behaviour?

#

This will be my first time working with AI

shy lake
#

How or what exactly do you use to spawn them in? Vanilla code/function?

#

If i know how you do it i may can give you more detailed example?

shy lake
#

~~I had this couple times today:
`Class: 'SCR_AISectorThreatFilter'
Function: 'GetSectorPos'
Stack trace:
Scripts/Game/AI/Components/SCR_AISectorThreatFilter.c:162 Function GetSectorPos
Scripts/Game/SCR_EAI_1-3-0-25_Vanilla/Modded/SCR_AIObserveThreatSystemBehavior/SCR_AIObserveThreatSystemBehavior.c:112 Function CustomEvaluate
Scripts/Game/AI/Components/SCR_AIUtilityComponent.c:180 Function EvaluateBehavior
Scripts/Game/SCR_EAI_1-3-0-25_Vanilla/Modded/SCR_AIUtilityComponent.c:90 Function EvaluateBehavior
Scripts/Game/AI/ScriptedNodes/Soldier/SCR_AIDecideBehavior.c:56 Function EOnTaskSimulate
07:23:12.763 SCRIPT (E): Virtual Machine Exception

Reason: Index out of range (-1 >= 2) 'm_aSectors'`

I can't really tell if it's from the mod or not.
As usual... Since i've started to debug it, it did not happen again. blobdoggoshruggoogly~~

#

Guess i'm missing a if (m_iCurrentSector > -1) condition somewhere.

shy lake
#

Yep was me being stupid...
As usual. ๐Ÿ˜

zealous tinsel
#

A guy in my community previously made a BT config or w/e that allowed you to set an AI unit to be static. So it would just stand there and not be able to move, but could still turn, aim, shoot, reload.
But this BT stopped working some time ago.
Has anyone achieved the same thing or similar with a BT they can share??

shy lake
mortal path
shy lake
#

So it's a conflict thing right?
At least i think the Ambient stuff works in conflict only.

mortal path
#

I haven't looked at it again yet but it would be great if it only effected the AI that spawned in using this method so I can still use friendly AI to follow me

#

Maybe I will have to edit all Soviets using the USSR_Character_Base

shy lake
#

You use this for vehicle: "SCR_AmbientVehicleSystem"?

#

I can't find "AmbientSpawnVehicle " you posted.

#

Sorry i don't really use them a lot.

mortal path
#

Ah I'm not on the PC at the moment. Its based on Gramps scenario, I believe it is AmbientVehicleSpawnpoint and AmbientPatrolSpawnpoint as a child with a check added to make it a vehicle patrol.

shy lake
#

Okay i will check what i can do.

mortal path
#

So I guess it isn't a vanilla method of doing so which probably doesn't help. I don't know if there really was a vanilla method until 1.3

shy lake
#

I can add a check box so A.I. spawned with it enabled will stay in the vehicle?

mortal path
#

That would work great

shy lake
#

Okay.

mortal path
#

I can DM you scripts tomorrow if you need them!

#

But I'm also not expecting you to do everything for me either that wouldn't be very kind of me. I

shy lake
#

Good DM me them.
Well i always wanted to know how they work, but so far never had a real reason to look into it.
So i will take this as a reason. ๐Ÿ˜‰

zealous tinsel
shy lake
#

Was there a way to have specific A.I. use it only?
Or did you just slap it in like a mod and it would affect each and every A.I. of the game?

#

If you still have the .bt post it plz.

#

So i can check.

zealous tinsel
#

I'm sure that's what I did

shy lake
#

Which properties exactly?

#

In editor?

#

Prefab?

regal terrace
#

I knew it!!! As soon as I posted, after them firing mortars for a solid 10-15 min straight. They just randomly stopped. and it seems its the AllowMaxLOD() in SCR_AIStaticArtilleryBehavior:OnActionDeselected(). SCR_AIStaticArtilleryActivity:OnChildBehaviorCreated() was firing over and over after OnActionDeselected(), but then randomly didnt for some reason... ๐Ÿคฆโ€โ™‚๏ธ ๐Ÿ’ฉ

shy lake
#

lol i can feel this. ๐Ÿ˜…

regal terrace
shy lake
#

Well i sometimes record videos.
As long as i do NOT record A.I. is working perfectly fine doing some really cool stuff.
The moment i hit record they start getting dumb.
Its a 97% chance...
I can already tell pre-recording. ๐Ÿ˜„

regal terrace
#

Sure would be nice to have a reason why an ai action fails

atomic magnet
#

They got camera shy...

shy lake
#

Yeah guess. ๐Ÿ˜

shy lake
#

A.I. still not in mood talking... ๐Ÿ˜ข
How can i motivate them?

#

Too much training... ๐Ÿฅต

#

Still "MoveAndInvestigate" has a somewhat strange behavior where A.I. kinda freeze.
No reaction to nearby explosion or anything.
They just stand there.

Maybe because it does not have m_bUseCombatMove = useMovement;?

zealous tinsel
#

You an set the BT

#

Also

#

I've got the static AI .BT here on me now, I was just given it

#

If anyone wants it, to try get it working again so we can finally have AI that are static in loction but still engage, let me know and I'll dm you it.

shy lake
zealous tinsel
#

See here

shy lake
#

Thanks.

#

Yeah its using some outdated behavior tree stuff.
Like it is using copies from an older vanilla behavior tree.

#

So the only thing you are looking for is AI to not move and attack?

#

And it should work with 1.2?

zealous tinsel
#

Did you just literally make static Ai work again?

#

No way

#

Have you actually tried/tested this and w/e else?

shy lake
#

Yes it worked.

#

They stay at 1 place and attack.

#

There was a corrupted node in the behavior tree.
So its 100% the same you send me.

#

I just replaced the corrupted part.

#

Interesting concept b.t.w.

zealous tinsel
# shy lake Yes it worked.

Neat!
Thank you pal.
All the work came from @wise pebble
I just thought I'd ask and see if anyone could help fix it after it stopped working.
He's to busy to do everything for this framework right now and what you've done with this .bt fix has allowed our community to now add static AI to our missions once again, which is massively helpful.

regal terrace
shy lake
#

Yeah... Thats me. ๐Ÿ˜

ocean harness
regal terrace
shy lake
#

You know its an Enum so youhave to use "SCR_Enmu.GetEnumName();

left owl
#

Do AIs with scopes shoot more accurately and find players more quickly and has longer range?

shy lake
#

Nope.
As of now ( at least to how it worked last time i checked ) they all use the same aiming calculations.
Maybe i'm wrong since there are ballistic tables. So...
But from the scripted aiming part they all use the same code.
Also they all have the same aiming accuracy.
I once asked a dev and he told me they use it like this, because it better for them to develope when they are all the same.

left owl
shy lake
left owl
shy lake
#

Stronger!

#

Not sure in how far they can affect A.I. by weapon configs.

#

If at all.

left owl
#

when fighting against vanilla AIs, my team can finish the scenario most times. But with RHS-equiped AI, we can only servive about 10 mins. ๐Ÿ˜ญ

shy lake
#

๐Ÿ™‚

left owl
#

That's funny though.

shy lake
#

Well..
Yes it is.

#

Guess they may have a better more accurate answer to this.

left owl
#

Already. One RHS dev say It may caused by better modern ammunitions. and they modded no AI things.

shy lake
#

Okay.

left owl
shy lake
#

Yeah strange...

nocturne salmon
#

is this how i could alter the AI detection of the player?

shy lake
shy lake
#

I really like to see another game, where A.I. is capable of doing what A.I. in Reforger is capable of?!?!
Keeping track of every danger position while fighting multiple enemies from multiple directions while reacting to nearby explosions and all other kind of stuff.

There is NONE!!!

#

A.I. behaving in such a way in a fully open-world is just CRAZY!!!

#

Flanking, Suppressing... and and and... MASTERPIECE!!!

ocean harness
shy lake
#

Maybe...

supple jacinth
#

But yea Areforger AI are more...... Active and aware on battle just need to polish it more in terms of the ai team commander using its team more efficiently something already implemented on vbs4.

supple jacinth
#

I wonder how much will cost make ai progress on time... Ex: A fresh spawned ai will start as a rookie but over time killing or participating on capturing bases or battle or even delivering supplies, they will gain variable experience on each event and improving its skills depending on more aware -supply delivery, more cautious and less time suppressing on a point saving valuable ammo -capturing bases, or better aim -killing a target... Something like enlisted unlocking perks off soldier by experience gained just that this time the perks will be: better awareness of surroundings, more decently execution time on stop suppressing and finally better aim. But of course, there will be different perks for higher ranking Ai.

#

From Rookie to Cyclon max progression.

ocean harness
# supple jacinth F.E.A.R those bastards are opportunist!!! When they are just 2 or 3 members the...

Jeff orkin was my hero. Even made that FEAR AI public but not many (read: nobody) ran with it to take it to next level. of course each game needs its own level of AI tailored to its scope -and thats what makes Arma so tough is the potenitial to go from huge to CQB and buildings. They're doing as good a job as anyone if not way better at pushing the envelope in the open world/mass unit cross arms arena

mortal path
#

VBS4 isn't relative to Arma Reforger at all, it's a totally different engine and therefore a totally different creation of AI

#

In RV the AI operated with one logic process and that was whatever the team leader was doing, in Enfusion every AI is unique and has their own individual logic process

#

The AI still has a long way to go but they are improving every update. The new AI system is seriously quite a task but getting there. Lots of potential with the way they are being created now

ocean harness
#

Up until 4 that is

mortal path
#

Not too surprised that is

ocean harness
#

me neither -but Bohemia Arma devs been saying its "totally different" all this time heh

sudden jay
#

Is there a team leader AI that issues orders still?

#

Or is handled entirely by each AI?

mortal path
#

It still could be, that sentence doesn't mean what you said definitively

#

BI is handling Reforger very well and helping the community in more ways than I've ever seen a game company do

shy lake
shy lake
shy lake
#

They are doing an amazing job.
It may still looks very none spectacular from the outside, but the potential from all the new A.I. systems/features is tremendous!
I CAN TELL!

#

Give them some more time and we will see an A.I. we never seen befor!
If they keep going like that, i'm sure we will!

shy lake
#

Best cover ever! ๐Ÿ˜…

#

Would be nice to have a blacklist filter or some.
Fences are also almost equal to this.

#

Yeah details...

atomic magnet
shy lake
#

Search & Destroy?
Not 100% sure.

#

I think you can link/attach the waypoint to something?
At least i've heared something about something like this, which would make the A.I. to constantly follow whatever has been attached to the waypoint.
But i have to look it up for myself.

#

Linking Waypoints will allow you to link waypoints with entities - you can now make a waypoint that tells AI to enter a specific car or destroy that vehicle. This has added even more control you can have over your AI in a game master session.
No clue how it works...

#

lol

#

Simply select the waypoint and click on whatever you like to follow.
It will attach them automatically.

#

In game master?

#

Thing is i think they will just walk to you once attached even without detecting you.

#

Yap they do.
Still pretty cool tho.
Now waypoint conditions would be a good thing to have.
Like "On Detected" or so.

#

Thats what i'm doing right now!! ๐Ÿ˜

#

We can share once done!

ocean harness
#

is there a way to get AI to act "surprised" -as in suffering a morale/aiming penalty on first contact/ambush?

shy lake
shy lake
#

Possible A.I. using smoke grenade will trigger explosion event?

#

Or lets say possible smoke grenades are triggering explosion event?

shy lake
#
Reason: No suppression volume provided!

<0x000001FC1CCF04F0> SCR_ChimeraAIAgent : AI/BehaviorTrees/Chimera/Soldier/Soldier.bt
 (RunBT : ID 19) 

AI/BehaviorTrees/Chimera/Soldier/SuppressBehavior.bt
SCR_AI Get Suppression Volume Center Position : ID 14

Function: 'NodeError'
Stack trace:
Scripts/Game/AI/Utils/NodeError.c:8 Function NodeError
Scripts/Game/AI/ScriptedNodes/Utils/SCR_AIGetSuppressionVolumePosition.c:25 Function EOnTaskSimulate
09:52:11.415   SCRIPT    (E): Virtual Machine Exception

Reason: No suppression volume provided!

<0x000001FC1CCF04F0> SCR_ChimeraAIAgent : AI/BehaviorTrees/Chimera/Soldier/Soldier.bt
 (RunBT : ID 19) 

AI/BehaviorTrees/Chimera/Soldier/SuppressBehavior.bt
SCR_AI Get Suppression Volume Center Position : ID 14

Very rare case...
Can't tell mod or vanilla. ๐Ÿค–

#

I do not mod any of thouse so... Idk...

random owl
#

vanila - not much important assert I was considering even remove it.

wise pebble
#

Is there a way to override an agents BT via script, like you can set it in the ChimeraAIControlComponent?

shy lake
#

I'm not 100% sure.
I did some debugging with the ObserveThreatSystem today and an A.I. throw a smoke but it bounced off and landed right in front of him and the system returned explosion.
I have to test with the explosion reaction directly.

shy lake
shy lake
shy lake
#

Nice!
Thank you.

shy lake
#

When A.I. is moving in formation and they are far away from their formation position they do not adjust their speed anymore.
Is it GroupMovementComponent thing problem, where they can change group movement speed only or am i missing something?

sinful kestrel
#

Theory Question: Could one in theory use a Dog Mesh, and create an AI dog that is commanded by Squad Commands? Animations for bite, however it would just be a mele attack, or could run a script to search for explosives and trigger a sit animation if return is positive for X radius specifed?

shy lake
floral latch
#

Is there additional parameters to add to Ai to alter its perception at the moment of AI is travelling away from me it wonโ€™t engage until it reaches the current waypoint and in addition itโ€™s FOV is tremendous I would estimate everything in a 70 degree arc high or low is known about .

shy lake
#

Perception is here: #enfusion_ai message
FOV and stuff can be changed in the character prefab directly iirc.

#

@floral latch
Character_Base.et > SCR_ChimeraCharacter > ChimeraAIControlComponent > PerceptionComponent > FOV and stuff.

floral latch
#

Cheers pal Iโ€™ll check it out later much appreciated

shy lake
shy lake
#

Someone knows how to set/control A.I. vehicle speed?
Do i have to set the speed of the group ( driver ) using the vehicle or the vehicle itself?

regal terrace
# shy lake Someone knows how to set/control A.I. vehicle speed? Do i have to set the speed ...

The vehicle itself. Here's how I do that for my AI vehicle patrols, and also set fuel consumption so their vehicle doesn't run out of gas. ```c
SCR_FuelConsumptionComponent fuelComp = SCR_FuelConsumptionComponent.Cast(spawnedVehicle.FindComponent(SCR_FuelConsumptionComponent));
if(fuelComp)
{
SCR_FuelConsumptionComponentClass m_ComponentData = SCR_FuelConsumptionComponentClass.Cast(fuelComp.GetComponentData(spawnedVehicle));
m_ComponentData.m_fFuelConsumption = 0;
AICarMovementComponent ACMC = AICarMovementComponent.Cast(spawnedVehicle.FindComponent(AICarMovementComponent));
ACMC.SetCruiseSpeed(27);
}

#

FYI I turn fuel consumption back on once the related AI group has been eliminated, so if a player captures the vehicle it wont have infinite fuel.

regal terrace
regal terrace
#

Testing out my scripted in AI on mortars after the update today and so far they have been firing for 20min with no pausing!!! ๐Ÿ˜Ž

shy lake
#

So they fixed the LOD thing?

regal terrace
#

It seems like it! went over 30min before I stopped and im about to start test #2

shy lake
#

Nice!

regal terrace
#

I also noticed ActionFailed firing a lot previously, but now its only firing when the action actually stops.

shy lake
#

Good to know.
Will test as well. ๐Ÿง

#

Yes nice they switch it again. ๐Ÿ˜‰
Gooood! ๐Ÿ™‚

floral latch
shy lake
#

PRIORITY_LEVEL_PLAYER = 1000;

floral latch
#

well if i ever need AI to ignore everything on way to a waypoint i know now set to 1000 lol

ocean harness
#

theres a guy thats been modding since Moses wore short pants ^^

floral latch
#

Moses made UWAR grass for ofp one slight_smile:

mortal path
regal terrace
#

Using a waypoint, its set up just like my counter attacks. Uses distance from ai squad to waypoint and then spawns the group and a mortar emplacement randomly using the distance to the target from those two things you place in the editor. Currently the timing of spawning it in is triggered when the last counter spawns in for that objective. So they dont really spot a target, they just randomly shoot mortars at the point theyre trying to take back. I hope that makes sense!

mortal path
#

Ah so they are used in support of counter attacks. I did want to ask you, once counterattacks have been repelled do they never spawn in again?

regal terrace
#

yes, never again for now. Someday I may change that!

shy lake
#

AMAZING times!

floral latch
#

Yeah and John smoke etc good era

ocean harness
#

I hope the Arma 4 devs get less conservative on their Animations. I get that functionality is king, but animations is flavor plus expands gameplay. For instance BI devs have stated they have a rule that no AI will ever have moves that player cant do - then give player Blind Fire animations and and allow AI to have. That would increase battle flavor immensely.

regal terrace
#

I think I found something I need in ```c
class SCR_AIGetArtilleryAimDistanceCompensation : AITaskScripted
bool CalculateDistanceCompensation()

shy lake
#

Behavior Tree breakpoints are broken?
For some reason as soon as one gets triggered game just freezes.

shy lake
#

Somehow when i try to make A.I. blindfire with AT/RPG at a specific position, they take the launcher out aim for 1 sec. and put it back switching back to primary weapon.
Sometimes they do fire the launcher but most of the time they don't...
Some aiming timings or stuff?
I already increased aiming and rejection time still they don't like to use it.
Fire node it returning FAIL. ๐Ÿ’ฉ

atomic magnet
#

Maybe there's a weapon config like Arma 3 where the AI look for as valid target or not?

shy lake
#

I have already set their target type to vehicle, so they will think they are shooting at a vehicle.
Yeah its quite some stuff to get them use it with none vehicle targets.
So not sure where i'm missing something.
Strange thing is the Fire node so the part in the behavior tree which makes A.I. pulling the trigger fails... blobdoggoshruggoogly

#

Guess i have to test more with all ghe timings.

#

Thanks for the hint. ๐Ÿ‘

shy lake
#

Haaaaa!!!!
Crap works perfectly fine by using all the vanilla timings... ๐Ÿคช

shy lake
winter thorn
#

Alrite gang, just joined the server because I'm at my wit's end! Been making lots of little tweaks to a PvE Conflict server and most of it is going fine. One thing I've been trying for ages to edit is the AI default difficulty - regular seems far too easy. Is this something I'd have to change within the world or is it hidden within a config somewhere that a simple overwrite mod can achieve?

#

We've been using that PvE Everon Conflict mod by Gramps in case that's relevant, just want it to be a bit more difficult than the "stand out in the open" Russians

broken star
#

How come only my first group of soldiers will occupy smart actions like ObservationPost and GatePost even tho all groups have the same waypoint?

I have the following setup;

- Layer
-- SlotAI (With SCR_ScenarioFrameworkWaypointSet and a ref to the layer below)
-- SlotAI (^)
-- SlotAI (^)
- Layer
-- SlotWaypoint (With SCR_ScenarioFrameworkWaypointDefend and AIWaypoint_Defend.et as prefab and Fast Init enabled)

Only the first slot will occupy smart actions..
Let's say there are 5 smart actions in range;
If the first slot has a group of 3 units, everyone in the group will occupy a smart action. The other slots will not occupy a smart action.
If the first slot has a group of 1 unit, that one will occupy a smart action. The other slots will not occupy a smart action.

I was expecting to fill every smart action in range with 1 waypoint and multiple groups..

young star
#

Is there a way to implement a garrison system in Reforger like we had with LAMBS in A3?

young star
shy lake
#

Not sure how/what LAMBS did...

young star
#

oh, game master enhanced

shy lake
#

Yes.

young star
#

then prevented them from moving afterwards

shy lake
#

Right click garrison iirc.

shy lake
young star
#

oh, useful, ok

shy lake
#

I thinc you have to select the group hover over a building and "right click" to get the garrison action/order.

young star
#

thanks, i'll play with that later ๐Ÿ™‚ appreciate it

ocean harness
shy lake
ocean harness
shy lake
ocean harness
shy lake
shy lake
ocean harness
lofty talon
#

Hello, Do you know why when i told to my ai to follow me, they run far away ... ?

echo minnow
#

You scared them

ocean harness
shy lake
#

Dude is so proud!
He is taking the thing everywhere with him. ๐Ÿ™‚

#

Jokes aside...
I just tested the mortar/artillery for the first time and its realle AWESOME.
Animations and everything is just rly greate! blobcloseenjoy

shrewd dagger
#

Hey there, I see that AI are active only when there is someone nearby them, is it possible to force them to be active all the time?

shrewd dagger
#

Nice, thank you!

ocean harness
shy lake
#

Well its already part of CRX.
But guess you ask for a stand alone mod?

ocean harness
regal terrace
regal terrace
#

1.3

#

but after i think about it more, I do have the target waypoints origin changing every few shots, maybe the target is actually moved to a spot that isnt reachable. Ill have to look into this further!

shy lake
echo minnow
#

I just wish that mortars would require an actual crew.

#

Or not necessarily require but so that it would have a bigger benefit.
And so that AI would be able to work mortars with a 5man crew

shy lake
#

Well maybe we will see something like this in A4.

edgy coral
#

When do these call? I can't seem to get the PerformReaction code to call

#

or are they even utilized yet (the code would suggest such)

nocturne salmon
#

is it possible to place AI and disable their ability to walk around? when i disable their components their clothes fall off lol

nocturne salmon
#

also when i put AI in the world on the server we get kicked due to replication

#

but not with ambient patrols

shy lake
nocturne salmon
#

I donโ€™t want them to attack lol j just want them to stand in 1 place and be a shopkeeper ๐Ÿ˜‚

shy lake
#

Well you can just take away/cut off the attack behavior in the static A.I. behavior tree.

#

I can do it for you if you don't know.

nocturne salmon
shy lake
shy lake
#

Is there any way/command to force A.I. to put their primary weapon on their back?

floral latch
#

there are some commands in the " SCR_ScenarioFramework" folder and relating to that , probably need the holdfire too as they are keen to put it back in their hands IIRC and Useraction in game scripts game "SCR_BaseWeaponAction"

shy lake
#

Thank you!
I will check it. ๐Ÿ‘
Yeah i've noticed when they put their weapon on the back while using/switching to a item, they sometimes re-equip a grenade instead of the weapon?
Not sure if i messed something up or if its a vanilla behavior.

floral latch
#

probably nearest BT is switch to supression weapon you could modify to switch to null or WTV

#

https://enfusionengine.com/api/redirect?to=enfusion://ResourceManager/~ArmaReforger:AI/BehaviorTrees/Chimera/Soldier/SwitchToSuppressionWeapon.bt

shy lake
#

Yeah haven't seen them doing it in my last couple tests, but i will keep this in mind in case it will come up again. ๐Ÿ˜‰

#

Thanks. ๐Ÿ‘

hazy pewter
#

I have a general question: I mostly play Combat Ops and PVE. In my observation, most of the times when i got injured for the first time by the AI, it is a shot in a leg.
I wonder if this might be a game design decision (which seems reasonable for me) or happenstance? Maybe you know if something like this is in the AI files?

shy lake
#

Yes there are indeed games where the first shot of A.I. will be a miss or none leathel hit intentionally.
However in Reforger i haven't seen them doing something like this.
They have aimpoints like head/body but i think its kinda random.
So i guess you are lucky. ๐Ÿ™‚

ocean harness
shy lake
# ocean harness Really they have aimpoints for selective body parts? That could make classes mor...

Yeah guess i was telling a little bs.
Well they have aimpoints but they are:

enum EAimPointType
{
    NORMAL,
    WEAK,
    INCAPACITATE,
}

// Resolve which aimpoint types to use
EAimPointType aimpointTypes[3];
EAimPointType aimpointType0, aimpointType1;
if (!GetVariableIn(PORT_AIMPOINT_TYPE_0, aimpointType0))
    aimpointType0 = -1;
if (!GetVariableIn(PORT_AIMPOINT_TYPE_1, aimpointType1))
    aimpointType1 = -1;
aimpointTypes[0] = aimpointType0;
aimpointTypes[1] = aimpointType1;
aimpointTypes[2] = m_eAimPointType;

But i'm pretty sure there were body/head aimpoints, at least some time ago when i last messed with it.

#

No clue how it works now... ๐Ÿ˜œ

boreal quiver
#

Why does the Get Target Node on ENEMY still find dead chars? Or does it not find anything and then not reset the out var?

shy lake
#

Well it is using the PerceptionComponent.
So possible they stay in ENEMY category for a while even if already dead.
2. case could be possible as well, since it will FAIL, if there is no baseTarget and not get to the SetVariableOut part.
Guess its a somewhat older node.
May best to mod it to your likings.

boreal quiver
#

Yeah it returns if no target and does not set the VariableOut

#

Well looks like both are true, PerceptionComponent still sees them as enemy and even if there is no enemy it doesnt clear it notlikemeow

shy lake
#

Thats why i told you to mod it.
If you just remove:

if (!baseTarget || baseTarget.GetDistance() > m_fDetectionRange)
    return ENodeResult.FAIL;

It will always return the target null in case of no target.
Also did you adjust the "Time Since Seen Max" and "Detection Range" of the node?

#

You could also include a alive check.
So if the target is dead it will return null.

boreal quiver
#

I made a new node base on the GetTarget that now clears the var and also returns the TargetEntity directly instead of doing that in an extra node

if (!baseTarget)
{
    ClearVariable(PORT_BASE_TARGET);
    return ENodeResult.FAIL;
}

SetVariableOut(PORT_BASE_TARGET, baseTarget.GetTargetEntity());
shy lake
#

Good. ๐Ÿ‘

boreal quiver
#

I didnt want to mod the node cause idk if that breaks vanilla AI

shy lake
#

true.

#

There is always a chance.

boreal quiver
#

Thanks for the help

shy lake
#

Np. ๐Ÿ˜‰

ocean harness
#

Think it would be cool if Dead Body's came back as just that -Dead body here ! Obviously for large scale missions wouldnt be desirable but for small scale/spec ops /infiltration style missions would allow for some interesting "First Contact" type RPG gameplay

ocean harness
#

Is Dead Body spotted already an EventHandler?

shy lake
#

Yes there is one in the config but not implemented yet afaik.

#

I was expecting it to get implemented with suppressors.

shy lake
#

Or just curious.

ocean harness
cinder gulch
#

How can I set up AI to respawn continuously in an infinite loop?
Keep in mind, I'm not very familiar with scripting, so a simple explanation would be helpful. If there's any useful mods to use within Game Master even better lol

regal terrace
#

Easy, just use ambient patrol spawn point and set a respawn time (just like the patrols that respawn and move to supply depots in conflict). ... Although I'm not sure if this works outside of game master.

random owl
# shy lake I don't think so only by using a mod. Check: https://discord.com/channels/105462...

@nocturne salmon for you:
well if I'm correct it's possible to do it just trough modification of AIAgent prefab. So you would need to creat your new aiagent from this agent and change that option (Select Target Changed) to null like this. Than on your custom AI character make him in AI controller use this new agent.
It would do basically everything expect attack.
(I hope you won't eat me alive if you will figure out what setup was planned on this component cause most of the bools there does nothing. Sorry for that.)

Alternatively if you would make custom faction for him and make his faction friendly to everybody he wouldn't attack either.

shy lake
#

Problemo: ๐Ÿค–
`Reason: NULL pointer to instance. Variable 'm_FileHandle'

Class: 'SCR_MailboxComponent'
Function: 'DebugLog'
Stack trace:
Scripts/Game/AI/SCR_AIDebug.c:66 Function DebugLog
Scripts/Game/AI/SCR_AIDebug.c:66 Function DebugLogBroadcastMessage
Scripts/Game/AI/SCR_AIDebug.c:66 Function SendMessage
Scripts/Game/AI/SCR_AIDebug.c:66 Function EOnTaskSimulate
08:14:11.431 SCRIPT (E): Virtual Machine Exception`

#

Me or not me.
Thats the question.

random owl
shy lake
#

I did not change anything i think.

random owl
# shy lake Idk which log file...

When you check script around - it tries to open a file into m_FileHandle with name string logFileName = "$logs:ai_script.log";
so if you would open it for write that log in some notepad it would cause this vme even without changing anything

#

(it was my first guess from top of my head)

shy lake
#

Oh you mean when i have the currently used log file open?

#

Yeah makes sense...

#

Idk if i had it open.

#

Well i will see.

#

Thank you.

shy lake
#

Again. ๐Ÿ’ฉ
No logs open...

shy lake
#

Well i think it has become better, like the frequence of it complaining has become lower.
Guess its me since it started just recently.
Still somewhat strange error.

inland vale
#

Hi guys i just end my scenario but I fond that the ai itโ€™s soooo easy to kill and thereโ€™s aiming is sooo bad if someone can help me / just show me how I can fix that . Thanks

wise pebble
#

Each increase in skill halfs random offset per axis

inland vale
#

And if you have any more information donโ€™t hesitate Iโ€™m just a noob in arma reforger tools blobdoggoshruggoogly

shy lake
#

I just re-checked my stuff since it just happened again in 1.3.0.52.

I have a modded SCR_AIDebug but now i've seen i was missing the: [BaseContainerProps(configRoot: true)] at the very top of the class!

So i used:
modded class SCR_AIDebug : SCR_GameCoreBase only.

But in vanilla it is:
[BaseContainerProps(configRoot: true)] modded class SCR_AIDebug : SCR_GameCoreBase

Could this have caused the m_FileHandle error?

fleet ibex
#

You can just not add it if you prefer

fleet ibex
shy lake
fleet ibex
#

Its the same as with inheritance

#

Same thing can be done there

shy lake
#

Nah its fine my mistake. ๐Ÿ˜‰
Thank you for checking. ๐Ÿ‘

#

I'm happy enough if this is finally fixing it.

shy lake
#

Ooooh my A.I. talking again!!! blobcloseenjoy ๐Ÿ˜Š ๐Ÿ‘

random owl
#

ok glad you found it as there was not much on our side how to help you ๐Ÿ˜…

shy lake
#

Yeah the usual case...
Me doing modding. ๐Ÿ˜…

shy lake
#

There is something strange with the RetreatFromTarget.bt.
I was trying to mod the .bt but it never changed anything in the behavior of the A.I. agent.
Now i tryed to change the first setVariable node from false to true and the game always crashed.
So i deleted the setVariable node and replaced it with a new one and all of a sudden all the changes i've made worked.
Maybe just another me thing...
I modded it the usual way by overriding duplicating the .bt.

shy lake
#

There is only one way? Right?

#

Yeah sorry i meant override.

shy lake
#

Is there something in the scripted part of the behavior tree class, to trigger whenever an A.I. agent get deleted by game master?
I've tried all the OnAction...() methodes but none triggered.

#

Or what will trigger once an A.I. was deleted?

#

SCR_EditableEntityComponent > Delete() if there is something more specific to A.I.?

#

SCR_AIInfoComponent > OnDelete() ๐Ÿ‘

fleet ibex
keen epoch
#

Im trying to make a group of ai spawn but for the life of me i cant figure oout the proper way of making it adding scr_Aigroup to aiworld doesnt see it tryed to add it by compotent to aiworld didnt work lol.

#

than after i get it to read it wants to to find and ad a group mangr but i cant find it

shy lake
shy lake
#

In World Editor?

#

You have to use the "Arma Reforger > Prefabs > Groups" pick one side, choose a group and drag it somewhere into the map/world.

random owl
# shy lake Is there something in the scripted part of the behavior tree class, to trigger w...

Well when you delete agent it will Abort the tree so all nodes will be wrapped up with OnAbort and there is not distinguished why you abort them.

Or what will trigger once an A.I. was deleted?
Question is why?
One of those related places is destructor of the class ~SCR_ChimeraAIAgent but I guess that's not what you would like.
Than you have those OnDelete on components.

If you have something generic than I think BT should handle creation/registration and deletion/unregistration in OnAbort and not on those components etc.

shy lake
# random owl Well when you delete agent it will Abort the tree so all nodes will be wrapped u...

Right i did forget about the OnAbort. ๐Ÿ‘
Well i have made a rearm feature for A.I. to pick up weapons/magazines of dead A I. characters.
The dead A.I. character will be locked once an A.I. is trying to rearm at him.
So in case a GM was deleting the A.I. during the process of rearming i needed a way to un-lock the dead A.I. so it will be available for others to rearm again.
Well i will test the OnAbort.
Many thanks. ๐Ÿ‘

shy lake
#

Working good! ๐Ÿ˜Ž

keen epoch
#

im trying to run them with a custom ai script i made

#

I feel like ppl should have to sweat going into town bc now civs are walking around

#

Full List of Features in the Code:
๐Ÿšถ Civilian Movement & Behavior:
โœ… Civilians walk around randomly near their spawn points for realism.
โœ… Civilians enter buildings for cover when a firefight starts.
โœ… Group fleeing behavior โ€“ if the situation is too dangerous, they will flee together.

๐Ÿ—ฃ๏ธ Civilian Interaction & Dialogue:
โœ… Dynamic conversations โ€“ civilians will talk when within 5m of each other.
โœ… Randomized chat types โ€“ greetings, gossip, and concerns to add variety.
โœ… Firefight reactions โ€“ civilians will panic and scream when shots are fired nearby.
โœ… Cooldown for conversations to prevent excessive repeating.

๐Ÿ”ซ Combat Reactions & Weapon Use:
โœ… Civilians can pick up weapons if they find one within 30m.
โœ… 20% chance to become armed fighters and engage back.
โœ… Intelligent weapon handling โ€“ if they pick up a weapon, they will look for ammo.

๐Ÿ˜ฑ Emergency Reactions:
โœ… Firefight detection radius (100m) โ€“ civilians react when gunfire is nearby.
โœ… Randomized panic lines โ€“ they yell, โ€œGet down!โ€ or โ€œTheyโ€™re shooting!โ€
โœ… If hiding, they stay low until the situation is clear.

๐Ÿง  AI Decision Making:
โœ… Civilians choose cover wisely โ€“ they look for buildings first.
โœ… Fleeing logic โ€“ after a firefight, they determine the safest place to go.
โœ… Different reactions โ€“ some will hide, others will run, and some may fight.

#

civs are nonreactive in base

#

real life

#

not no GM built into the conflict. i got the navmesh up and see now see it though im new and dont know corect format of said ai group in aiworlds, nor how to connect them to navmesh.

shy lake
#

You have all this working already?

#

Looking good! ๐Ÿ‘

keen epoch
#

yeah they react cant get them spawning tho they act in gm but thats not what i wanted

#

found the corect class name

#

cant build on it until they spawn nat

#

and yes

#

but i didnt want to tell no one but i want everyone to be able to enjoy it

#

wall here folks

#

took 2 weeks to build up to where i have it it 256 lines

shy lake
#

Nice.

keen epoch
#

feel like like we need it

#

everyone would enjoy

#

i saw someone say they got them talking maybe after i get them spawning they could give me a tip

shy lake
#

Sure additional/extended A.I. stuff is always nice to have.

#

So this is civilian only right?

keen epoch
#

yeah bc they have us fia n ussr with it

#

civs dont

#

not yet

#

at first they went to soft cover

#

which was dumb

#

but they now go to hard cover and i need to link to navmesh and build group 1st which idk what im doing i mean i do but, so they can process they hard cover more redefined i.g buildings

shy lake
#

Good yeah it will need time.

ocean harness
keen epoch
#

Ill let you know when i can spawn them in outside of gm thats where it counts

shy lake
keen epoch
#

if i can find i video

#

yeah

#

or i can get online

shy lake
#

How did you try to spawn them?

#

Theoretically you spawn a group prefab, spawn A.I. and adding them to the spawned group prefab.

keen epoch
#

ill look for the error its telling me something aint there when it is and idk what its asking for

#

i cant add again

#

i could

#

crash

shy lake
vocal path
#

Hi, is there a way to create a BaseTarget from an Entity, so i can add this to the TargetList and force the AI to attack this one?

shy lake
shy lake
#

Is it possible in-game A.I. is somewhat more laggy than in workbench?
I've already noticed it many times in workbench A.I. movement and reactions are very fast.
However whenever i test stuff in the actual game everything seems slower.
Not much slower but noticable slower.
Like animations and stuff.
Is this possible?
I'm not speaking about multiplayer, just doing some game master in the game but it kinda feels like multiplayer?

random owl
shy lake
#

Strange...
Next time i test in-game i will pay some extra attention to it.

regal terrace
#

I wonder if this is why my artillery ai kept pausing: Fixed: Turrets in compositions were hitting themselves and mortars broke after a few shots

#

I'll find out tonight after work!

regal terrace
#

nope, turns out they are randomly stopping still.

shy lake
#

SCR_CreateAIExtraMoveParams_CombatMove > STRAIGHT_PATH_COST_MODIFIER = 4.5;
What is the max value here?
If i set it to 30 will they choose super aggressive flanking path?

halcyon bridge
#

I tried 10 and they were sidestepping like me when playing quake 3

shy lake
#

Huh...
I did not recognize it's you at first glance. ๐Ÿ™‚
Well i think it's best to observe, whenever they are moving longer distances like for example while investigating.
If used during combat, they will only use it for couple seconds and generat new path everytime they move, which may lead to this behavior.

#

Theoretically.

#

SCR_AICombatMoveLogicBase > protected static ECharacterStance ResolveStanceOutsideCover(bool closeRange, EAIThreatState threat)
Possible to get bit more utility in this methode?
Like SCR_AIUtilityComponent would already be fine.
I've tryed to mod it, but its kinda hard due to the fact its a static methode without any agent info/utility.

regal terrace
#

In workbench Im noticing the AIs LOD is changing depending on how close I am in the GM camera. Seems like it should be changing based on my character on the ground's position, not the GM cam? Dont think thats related to my pausing issue, just something I noticed.

shy lake
regal terrace
#

I still cant work out why the AI is stopping their artillery attacks. In class SCR_AIStaticArtilleryActivity, OnChildBehaviorCreated() fires, but then randomly, for some reason nothing happens. Sometimes they fire for an hour, sometimes they stop after only 5min, and its driving me insane trying to figure out why. Ive spent the last 2-3 weeks trying to figure this out and it always takes sooo much time to even test this. At first I thought maybe they actually cant hit the target, but Ive scripted a solution for that as well... Im even printing the enum EAIActionFailReason which always returns 0 or "UNKNOWN" so thats not helping at all. ๐Ÿคทโ€โ™‚๏ธ

#

Most recent test ran fine for about 15min, then i went for dinner, came back and it had stopped again... ๐Ÿคฆโ€โ™‚๏ธ At this point, I dont think its anything Ive done and there must be an issue with code I cant see.

#

Ive literally spent my whole weekend (2 days) troubleshooting this and its still not working right. What was supposed to be a cool new feature has turned into months of me struggling to get it to work consistently.

shy lake
#

Whenever i drag and drop a A.I. group into a vehicle i get:

Reason: NULL pointer to instance. Variable 'weapMgr'

Class:      'SCR_AISwitchMagazine'
Function: 'GetCurrentMagazineComponent'
Stack trace:
Scripts/Game/AI/Utils/SCR_AIUtils.c:354 Function GetCurrentMagazineComponent
Scripts/Game/AI/ScriptedNodes/Weapons/SCR_AISwitchMagazine.c:36 Function EOnTaskSimulate

The classes and methodes reporting the error are un-modded.

shy lake
#

Do they have enought ammo/shells?

#

Do they have a group artillery activity .bt or is it the soldier one only?

#

There is quite some stuff in the .bt, which will make the behavior fail, in case something went wrong.
So maybe thats the case for you?

shy lake
shy lake
#

Armed vehicles.

#

As usual 50/50 its a me thing. ๐Ÿ˜…

regal terrace
# shy lake How long do you like the artillery to fire? Like forever, the whole mission runt...

Yes, they get spawned in and they should shoot at a waypoint until they are found and eliminated. I'm scripting them infinite ammo. It's a group activity I believe? I have the target waypoint set as a child of the ambient group (with the hierarchy component added) and use SetTargetShotCount() to trigger them to start shooting. And it works for a while, they just randomly stop for some unknown reason...

#

It would really help if it actually returned a fail reason instead of always returning unknown. ๐Ÿคทโ€โ™‚๏ธ

shy lake
# regal terrace It would really help if it actually returned a fail reason instead of always ret...

Well the fail reason was probably not defined in the "Fail Action" node so it returns unknows since its the default reason.
If you look in "Soldier/StaticArtilleryBehavior.bt" there are "Fail Action" nodes with fail reason like "No_Ammo" or "Target_Unreachable" which will be returned as reason whenever they are triggered.
I think this is the main behavior to make the A.I. agent use/shoot the artillery.
Which behavior did you use/check?
I couldn't find any other artillery related behavior tree than this.

#

Since it is using waypoints its probably group and agent behavior i guess.

regal terrace
#

using SCR_AIStaticArtilleryActivity for some prints and also SCR_AIGetArtilleryAimDistanceCompensation. I teleport an agent into the turret and then use SetTargetShotCount(-1, true) on the waypoint to start them shooting. So they should never get a 'cant get in' or aim, and Im scripting in infinite ammo for the agent operating the mortar, so it will never get no ammo. Im not seeing any other reason it would fail?

shy lake
regal terrace
#

Sometimes he leaves the turret and just stands there. Sometimes he stays on the turret but never fires. Last night I tried adding conditions to remove and teleport him back into the turret in either case.

shy lake
#

You could try the SCR_AIStaticArtilleryBehavior > OnActionFailed() methode.
It should return a fail reason.
Its the agent part of the artillery behavior.

regal terrace
#

I get the fail reason from OnActionFailed() using GetRelatedGroupActivity().GetFailReason()

#

it always returns 0 or unknown

shy lake
#

I think its best to use the OnActionFailed() directly from the activity/behavior.

#

So you are sure its 100% from the action/behavior and not something else.

#

And like i said the agent part of the behavior ( "Soldier/StaticArtilleryBehavior.bt" ) SCR_AIStaticArtilleryBehavior class should return a proper fail reason.

#

If it fails there. ๐Ÿคช

regal terrace
#

Thanks for trying to help, Im going to have to pick this back up later tonight after work. Im not sure what you mean by getting OnActionFailed() directly from the activity/behavior

shy lake
#

Look in "SCR_AIStaticArtilleryActivity" class.
There is a methode OnActionFailed().
You can mod the class > methode.
Exactly same goes for the agent SCR_AIStaticArtilleryBehavior class.

shy lake
# shy lake As usual 50/50 its a me thing. ๐Ÿ˜…

Well i think its another stupid me thing...
I'm removing magazines from the agents at mission start to have them run out of ammo faster.
Guess they start reloading their weapons after mission start with new magazines and this is when i drag them into the vehicle.
So this may is causing it... ๐Ÿฅธ

#

๐Ÿคก

#

Yeah once they are done reloading it fine...

#

Sorry. ๐Ÿ˜‡

left owl
#

dose the vanilla AI use RPG on players not in vehicle?

shy lake
#

Nope.
Vehicles only.

regal terrace
# shy lake Nope. Vehicles only.

You sure about that? Maybe there was a vehicle nearby or something, but I swear I've been hit by an rpg that seemingly had no vehicle target nearby.

shy lake
regal terrace
shy lake
regal terrace
#

well, after 1.5 hrs of testing I got it narrowed down to SendMessages() is where it stops. Added some additional prints there to dig further and tested another hour, but no failure to get the prints. Will try again tomorrow night.

urban furnace
#

Im finally back guys, anything new in Experimental Version?

shy lake
urban furnace
#

Nice, btw i got a long time lingering question to the Dev or someone who can asnwer this,, can we change the AItemplate through script? or it has to be defined from Prefabs?

left owl
#

hey guys, how to make an AI convoy with multi vehicles moves in nice formation? to say 2 trackes and 1 PKM jeep.

shy lake
floral latch
#

The driving of the van bunkanka or wtv itโ€™s called in the elimination mission is hilarious lol must of took years to perfect the drunken driver style .

shy lake
#

Yeah we will get there, at some point in the far future. ๐Ÿ™‚

left owl
ocean harness
#

Great thing about modding is your mostly immune from the server DDOS issues...mostly..

shy lake
shy lake
left owl
#

I remember in ARMA 3 we have pretty nice convoy ambushing tasks

shy lake
random owl
urban furnace
random owl
#

Fine and you doin all from scratch? Like if you wanna use most of our already done stuff than I think you can e.g. create some your own setup somewhere(by overriding existing component) or even possibly on your custom component(they come with cost but I think in case like this it's ok-ish). Than you can even switch that setup on the fly for already spawned AI. In parts you would like to change base on that you would read that setup and use different values or even go so far that based on that setup you would use different behavior tree somewhere - I think it's quit flexible in that.

Otherwise you can still predefine different characters with custom agents and spawn those but it seems unhandy to me.

shy lake
#

Guess this is some kind of "modder" stuff, where ppl are looking for a very unusual way to do things, which may looks kinda weird at first glance.
But many good things have already been born out of this kind of doing things a totally different new way.
So yeah its always good to be curious and try doing something no one ever did befor. ๐Ÿ˜‰

shy lake
#

Is there a simple way to set everyone enemy?
Like in: SCR_ChimeraAIAgent > bool IsEnemy(Faction otherFaction) sadly hard-setting it to true doesn't do the trick...

floral latch
random owl
shy lake
random owl
#

You can e.g. have a faction which is enemy to everybody and set change faction for the one you would like to become an enemy.

shy lake
#

Yeah thats what i thought.
Guess getting it done with all the perception and stuff is pretty complicated...

random owl
#

Now i'm looking for a way to make them kill civilians.
Than I guess you need change affiliation to civilians but yea that would change behavior of whole faciton not only selected ones.

shy lake
#

Yes.
Well guess i will skip this for now.
Thank you very much. ๐Ÿ‘

wise pebble
#

Though I'm not sure how well it would work, also doesn't sound like a great solution due to possible side effects.

#

Oh you already mentioned that nvm

shy lake
#

Hmm... Character faction.
Yeah somehow the way of how all of this affiliation combined with perception and stuff works is kinda complicated...
I fear at the end it will do more bad then good.

#

I will wait for the GoFullPsycho() methode. ๐Ÿ˜…

#

But thanks for your suggestion. ๐Ÿ‘

sonic osprey
#

Hello. How can I see the entity's when I drag it in the world? I see only the box and arrows but not the model of it. Only when I play it pops up

sonic osprey
shy lake
#

They will appere once you hit play.
Just not in edit mode.

sonic osprey
#

Ok. But when i put a sandbag it works. It's a bug only for soldier entity's?

shy lake
#

Exactly.

#

A.I. groups.

#

Characters.

sonic osprey
#

Ok. Thank you ๐Ÿ’ช

urban furnace
urban furnace
#

it would sounds amazing

shy lake
#

I pretty much knew what you are looking for the moment i read your question. ๐Ÿ˜‰

#

Yes beeing able to have this stuff dynamic would indeed be pretty cool.
But a lot of work.

urban furnace
#

yep a lot of work, or maybe using Prefab Variant better?

shy lake
#

Well like Viktor said agent's with different setup's?
Yeah i have no clue try and see, what work's best for you.
I too think it's pretty complicated to use but as said befor.
There will alway's be this one guy to prove everybody wrong. ๐Ÿ˜‰

left owl
#

hey guys, what is the right way to create an AI group with vehicle in Scenario framework QRF system?

shy lake
#

There is a vanilla example mission "SF-Sample-Waypoints" where they are supposed to usa a helicopter somehow.
Not sure if this is what you are asking about.

left owl
shy lake
# left owl

You can use whatever waypoint you like the to use.
Like for example if you like them to use a move waypoint go to:
"Prefabs/AI/Waypoints/AIWaypoint_Move.et"
and place ( drag ) the waypoint into the map.
In the hierachy window give the waypoint a new name.
Now you can use the "Static Waypoint" + and put in your name of the waypoint to assign the waypoint to the group.

#

Not sure if it works like this with spawned A.I. it does at least with pre-placed A.I. groups.

#

I think it's the same for vehicles.
It's important to rename the vehicle name in the hierachy window.
By default it will be a empty string even tho it already has a name but the default one will not work.

#

Like this window:
All the default names are just empty strings.

left owl
shy lake
carmine vine
#

Can AI shoot from BTR and armored cars without mods?

novel portal
#

why is it that every time i open my project, the scr_airworld file doesnt have navmesh attached anymore

shy lake
#

Not sure if this will fix anything at all, but worth a try.

novel portal
#

i set the file and applied to prefab and then saved, that's the wrong order of things apparently. i was supposed to set the files and then just save everything. so stupid

shy lake
#

Good. ๐Ÿ‘

south wagon
#

does somebody know how to fix navmesh for when i place new object to the map? the ai will constantly run into things i placed on the map

south wagon
#

i dont know why but i see ai bumbing to my objects. commandtents, living quartars and relay antennas

shy lake
# south wagon nonono its eden

If you place something without using game master you will have to patch/re-scan the navmesh so A.I. know's about the new objects.

south wagon
#

oh great. i thought i have to do that but i dont know how

shy lake
#

If you place something using game master it will automatically re-scan the area where you placed it.

shy lake
south wagon
#

that would be my next question, thanks again!

shy lake
#

I have never "patched" a navmesh so i can not help with this very much.

shy lake
shy lake
south wagon
shy lake
# south wagon says to me: ```PATHFINDING : Nothing to save.```

Well i think you have to load the full original navmesh, select the area you like to re-generate, after selecting "right mouse click" and choose "Mark selected".
Go back to Generate and generate it, which theoretically should generate the navmesh for the selected area, which you can use as override after it is done generating.
Theoretically.

south wagon
#

i figured it out but just now i saw your message. thanks this one worked.

south wagon
#

So i have a particular interesting problem:
I use the QRF tools in ScenarioFramework. But when using mounted infantry the GetOut Waypoint is set to an offset radius of the actual waypoint.
Problem which is is that the ai tries to get to a very specific and complicated point on the map totally unnessesarly.
So i did create a new E_AIWaypoint_GetOut with the name E_AIWaypoint_GetOut_Wide_Completion_Radius (completion radius 100) and set the "Distance Offset To Target Location" to 5.

The goal is to force the ai to get out when getting close to the actual target location but it seems like the ai will only get out when they arive at a much closer ai pathing point. probably a radius of 20 although i have set the completion radius to 100.
how can i fix this, how can i force the ai to stop with their vehilce upon entering the completion radius.

shy lake
south wagon
shy lake
#

Like 50/50.

south wagon
#

good to know thanks

merry blade
#

question what can make it that the ai wont shoot my turret?, is there something i am missing that allows them to use it ? it moves and aims to the enemy but they wont fire

merry blade
#

land 1.2

shy lake
#

There are some known problems with aiming in 1.2 but mainly with air targets if i've got it right.
Not quite sure if other target types are affected as well.

#

What kind of turret are you using?
Is it modded or vanilla?

merry blade
#

iots build on the btr turret

shy lake
south wagon
#

is there something that triggers when slot ai has seen somebody?.

vocal path
#

Hey, what collider makes the AI recognize a incoming vehicle? I created a new Vehicle, but the AI no not run away from it. So you can easy drive them over. I think this could be a collider problem?

shy lake
# vocal path Hey, what collider makes the AI recognize a incoming vehicle? I created a new Ve...

They are using SCR_AIDangerReaction_Vehicle to run away from incoming vehicles.
But no clue, if you have to add any additional stuff to the vehicle to have it trigger.
In the reaction they write:

    /*
        Disabled until vehicle front light tweaks
    
    // Call driver behavior about incoming vehicle if active
    SCR_AIIdleBehavior_Driver driverBehavior = SCR_AIIdleBehavior_Driver.Cast(utility.FindActionOfType(SCR_AIIdleBehavior_Driver));
    if (driverBehavior)
        driverBehavior.OnVehicleApproaching();
    */
#

Yeah i think the SCR_AIDangerReaction_Vehicle has to be executed by the vehicle somehow.

south wagon
# shy lake Somebody = enemy?

yes but in futher elobaration no.
1.Way: yes i want to create a mechanic which triggers an base alarm when enems have been seen.
2.Way: no. i might need a trigger for wenn ai sees dead team mates. and at best identify them to not sound the alarm each time the ai sees his his buddy's corpse again

shy lake
# south wagon yes but in futher elobaration no. 1.Way: yes i want to create a mechanic which ...

The first one could be achieved in many way's like for example using:
SCR_AICombatComponent.GetCurrentTarget();
Which will return null if no enemy and the enemy ( BaseTarget ) as soon as A.I. has a enemy/target to attack.
The second one would require much more scripting, where you would need to store every dead character in an array, check distance and side relation and lock the dead body after it was detected and the alarm was raised.
Also if you like to have a "can see" check it would need an additional trace check to make sure the A.I. was really able to see the dead body.
Not sure how far this already could be done by using trigger's or any other system's already implemented into the game.
But i think there are none so far?

south wagon
#

i agree on the method on how to achieve this. but i am quite surprised that there is no "can see" method. i can check the triggers but i would not belive it either.

SCR_AICombatComponent.GetCurrentTarget(); is very helpfull though.

shy lake
cosmic cosmos
#

I'm dressing vanilla character's in RHS assets. If I Override or Duplicate RHS's characters, it does the same thing. Is there a way to clean up some of these errors. My server(ScenarioFramework based missions) starts losing frames about 2 hours in, so I want to clean up as many errors as I can, thinking maybe non-fatal errors are stacking up and after a while it effects server performance FYI: this is on one character

cosmic cosmos
stark sandal
#

NVM I misread the question you are overriding the vanilla characters gear with RHS gear

stark sandal
# cosmic cosmos I'm dressing vanilla character's in RHS assets. If I Override or Duplicate RHS's...

A video showing how to override the vanilla default loadouts in Conflict.

Subscribe for more Arma tutorials, tips, and gameplay!

Music:
-Stomps Playlist - Aesthetic Music & Lofi Beats To Relax: https://www.youtube.com/watch?v=8cMywGtieBY

Interested in joining our Aussie Arma Community? Jump into our discord server and say hi. https://discord...

โ–ถ Play video
#

I suggest this video from TPM in the video he is changing gear on character with RHS gear

cosmic cosmos
cosmic cosmos
stark sandal
#

Something along those lines

cosmic cosmos
regal terrace
#

LOL @ once management goes home ๐Ÿคฃ

shy patio
#

Anyone in here able to set me in the right direction of putting rhs assets to ai ussr faction. I've already implemented the groups and individual units for the desired load outs. Still can't get the ai to pull the assets they keep reverting to base loadouts.

cosmic cosmos
shy lake
stark sandal
regal terrace
shy lake
#

Good! ๐Ÿ‘
Glad to hear. ๐Ÿ˜‰

cosmic cosmos
# stark sandal Did it fix the issue for you RAG?

I'm at work, so I wont know till tomorrow. But the only thing I did different was I avoided the asset models that didn't line up on the charecter. I'm gonna try that, and also watch the vid again and see if I can see him get errors on his log, watching it on a computer screen might help, lol. But it's a awesome channel, been watching a bunch of em. I appreciate you, homie

stark sandal
# cosmic cosmos I'm at work, so I wont know till tomorrow. But the only thing I did different wa...
#

Also check out Blackheart_Six

cosmic cosmos
#

Yup he's the man. I do my stuff in SF too. And he's the reason I can do anything

cosmic cosmos
#

I tried reaching out in the RHS channel. If I keep getting a hand full of errors per character I'll reach out again, and maybe to TPM too

cosmic cosmos
# stark sandal same

I have a handful of mods planned, that are simply redressing factions, that will make my scenarios really easy to setup. I just want to know for certain that these 20-40 errors tacked onto every single AI isn't hurting server performance

shy lake
#

Iirc there are quite a lot of those errors even in vanilla at least in 1.2.
May worth checking, befor you spend all day long trying to fix them.

stark sandal
cosmic cosmos
#

Also, may be hard to picture, but kinda goes against the mods I have planned, I mentioned earlier

shy lake
#

Question:
Does clothing/uniforms affect A.I. target identification?
Like if a US soldier is wearing USSR uniform will USSR soldiers have more trouble, to identify him as an enemy?
I've seen quite some stuff, where i think it does something like this?

random owl
#

It's not on by default cause it has some corner cases like - you will dress up in front of friendly AI and they will start shooting you. But it's there for you and experiments.

shy lake
# random owl If you will use this than it will ๐Ÿ˜‰

Oh wow!
That's a pretty cool feature.
So ppl could kinda dress up as enemy and sneak into enemy base, without getting recognized as enemy. ๐Ÿ˜Ž
I will definitely do some testing with this. ๐Ÿ‘

I had a talk to another community member just couple day's ago.
He told me he read somewhere, A.I. would be able to react to/detect radio chatter of players.
I don't play a lot of MP so i might have missed it.
Is this a thing?

random owl
shy lake
#

Maybe he just misread/misunderstood something from the changelog and thought it would be related to it.

ocean harness
#

Always thought the squaddie callouts didnโ€™t translate well to audio detection well in Arma. Meaning ai can detect audio thru movement which is good, but somehow didnโ€™t hear an overly loud โ€œGo!! Iโ€™m covering !!!โ€

shy lake
#

Yeah would be pretty cool, if they could react to/detect voices of any kind.
Maybe while in idle or so.
Would add another good layer of perception on top of it.

ocean harness
rancid pendant
#

was wondering what was taking my guy so long to show up and it turns out he stopped to open the gate... I had no idea behaviour like this was already here and this fleshed out, maybe I'm too used to arma bots just bashing through whatever is infront of them but what a ridiculously cool detail

crystal dagger
#

Maybe i missed something or its just my map being kinda bad, but when i ask an AI to drive in Eden, he follows his side of the road, dosent cut into the fields unless its the last leg, he stays well whitin the road.
when i make mine drive in my map, they drive 1 side of the car in the road the other side in the dirt, they often decide driving in the forest is more optimal, they are dumber in general as well

#

is it possible that all my trees close to the roads are kind of cooking the road meshes ?

#

this is a general leg of my navmeshes + roads

#

checked over, i have the same params as GM_Eden, my meshes actually look similar, but the results are wildly different and i am at a loss

crystal dagger
#

Holy shit found it, sorry for the rant, i guess venting helps finding solutions sometimes

crystal dagger
#

forgot to click the box "initialise road notworks" in SCR_AI world

#

@shy lake

ocean harness
#

Was messing around with the SP mission Elimination with the 1.3 dev branch and the AI was pretty fun to play against using evasive maneuvers etc..One major change ive seen with the AI since Arma 3 is both the AI firing on the move (very good) as well as moving laterally and backwards alot. These are good things but they'll definitely need to be upgraded at some point to prefer to move forwards over sideways and backwards for any period of time.. I was chasing a few enemy AI in a BTR just to see what they would do and they kinda just ran from me backwards (to stay oriented on me it seems) a good km. There should definitely be aiming penalties to firing while moving at these angles especially and their speed of movement should be reduced pretty drastically -meaning, it should be a short interval in which they would then prefer to turn around and sprint (if trying to get away).

shy lake
#

Agree the retreat A.I. movement, where they keep looking at their enemy while moving backwards is the most annoying.
In general many of the individual move behaviors have a somewhat strange looking behavior, where they move with weapon raised and stuff instead of sprinting or crouched sprint, which will make them look much better overall.

ocean harness
shy lake
#

Well it can already be mitigated quite a lot by modding.
Guess reforger is much more about getting things done than details or fine tuning which i think is pretty okay.
But yeah there is still quite some stuff they may can improve in the future.

ocean harness
# shy lake Well it can already be mitigated quite a lot by modding. Guess reforger is much ...

Modding animations is EXTREMLY tough - only WebKnight has really pulled off any real noticeable and not totally hacky moves. He has a running shift in momentum when changing directions which really adds alot -but even that feels abit hacked in. Also takes like a decade to get them going. it would be nice if made a high priority from the get-go, at least for Arma 4 if not Reforger as outdated animations was always a plague of the series.

shy lake
# ocean harness Modding animations is EXTREMLY tough - only WebKnight has really pulled off any ...

Well i was more talking about the moving backwards while keep looking at the target all the time part.
So the more scripted part of the A.I.s move behavior.
Animations ofc would be another pretty big task to do.
As of now and with the limited scope of reforger, i do think they already did a pretty decent job with it but yeah ofc there is always room for improvements.
Looking forward to A4, where we may already will see some improved/extended stuff related to this very topic.

shy lake
#

Is this correct?
class SCR_AIMoveInFormationBehavior : SCR_AIBehaviorBase
Shouldn't it be:
class SCR_AIMoveInFormationBehavior : SCR_AIMoveBehaviorBase?
For some reason when i use GetPriority() to get the priority in the custom evaluate of the MoveInFormation behavior it always returns 0?

#

When i set the priority manually in the constructor like SetPriority(120); it does return the 120.
So somehow there is no priority set in the constructor/behavior?

vocal path
#

@shy lake Good morning. Short question: do you know how i can force an ai to stay in a turret? My ai always gets in and instantly out again. I use "SCR_AIGetInVehicle" to get them in

shy lake
#

And it will apply to each and every A.I. of the game!

vocal path
#

Ok let me take a look into this.

shy lake
#

You could write a condition to have it fail, whenever the A.I. is gunner of turrets only for example.

#

*gunner of the vehicle only

shy lake
vocal path
#

Ok, im doing i a bit more easy, without touching the GetOut. The regular Waypoint will be a "Defend" with just 3m range and HighPrio. So, if the Unit GetOut, he will then GetIn again to attack and not leaving its area

hollow sinew
#

Does anybody have any resources to get started with ai?

hollow sinew
#

Thanks. Yeah what's up with the light documentation and tutorial scene.

wise pebble
#

I assume you already have a basic understanding of how the AI works (waypoints, combat, agents etc.), and are just looking to make your own changes?

hollow sinew
#

Negative. Just starting. No visual characters when I drag in a group prefab to my world.

#

Making a scenario

wise pebble
hollow sinew
#

Ah that is great to know ty.

wise pebble
# hollow sinew Negative. Just starting. No visual characters when I drag in a group prefab to ...

In that case, this may help you: https://github.com/Global-Conflicts-ArmA/gc-reforger-missions/wiki/A-guide-to-AI
It's an introduction to how the AI works. I wrote it for new mission makers in our community so they can use AI more effectively, but it may also help you find an entry point to AI modding.
It doesn't go into AI modding itself, but roughly knowing how the AI works is certainly a helpful basis for that.

hollow sinew
#

Yes that will be great thank you.

regal terrace
#

Why do the ai seem to like to find and use roads to get to their waypoint? And is there some way I can disable that? They are not in vehicles, they are on foot.

ocean harness
shy lake
regal terrace
#

many times, if they need to go east, they will go straight north to the nearest road, and then start following it to the east. It just kind of cancels out the random spawnpoints Ive made for counter attacks, it makes them MUCH more predictable. They'll come down this road or that road.

#

maybe I need to look into navmesh editing in this game a bit. Is there any manual navmesh editing possible, or is it all automatic?

shy lake
#

Yeah i'm hoping we will see some kind of filters for their pathfinding linke in other Arma where they would adjust their pathfinding based on combat mode.
Like this kind of thing: https://community.bistudio.com/wiki/AI_Behaviour
Not quite sure about the navMesh but i think its mainly automatic at least i don't think you can influence their pathfinding by editing it.

late viper
#

Remove navmesh from roads, add it only at crosswalks lol

#

But iirc it's all automatic

#

and there is no way to manually edit them

ocean harness
hollow sinew
#

What does auto complete on the Waypoints mean?

shy lake
shy lake
# hollow sinew What does auto complete on the Waypoints mean?

Maybe worth a watch esp. his "Scenario Framework Tutorial" series:
https://www.youtube.com/@blackheart_six/featured

shy lake
#

For example the "Defend" waypoint has it un-checked, so they will never complete the "Defend" waypoint, which in this case is exactly what it is supposed to do.

random owl
# shy lake I think they are simply using the first best path which very often will be a roa...

actually you are wrong ๐Ÿ˜„
There is a lot of setups possible.
Costs of areas can be changed (yea it's global so you can't do it dynamically "on the fly")
Than you can change assigned flags and even add new flags. I think we have some issue if you add or mess up order of area types (bug I unfortunately discovered yesterday and will fix asap in 1.3) than different type cna be assigned to default walkable terrain ๐Ÿ˜…

Than in path finding filters in moves you can setup which flags to use in different situations. If you are ok with permanent setup than on path finding component.
Than you can assign specific gamemats to objects you would like to modify (e.g. in default game camonets, helipads) and navmesh there will use them with correct area types.
You could define exclusion areas for AI etc. like that.

#

Also if you want paths which are not straight than you can use AIExtraMoveParams - that's how flanking is done.

shy lake
shy lake
#

Thats quite some new input... ๐Ÿ˜… meowsweats

hollow sinew
#

Does anybody know will ai move to defend waypoint automatically if I set it as static waypoint on ai

#

Or do I need to do a move command

random owl
hollow sinew
random owl
#

unfortunately that's not a question for me much.

vocal path
#

Hey, how can i make the Ai better at night? i already try if(perception) perception.SetPerceptionFactor(100); but the ai is still really slow to spot my player char

mortal path
#

Has anyone tried to make a roaming AI system yet? Something where AI are moving around throughout the map dynamically instead of consistent clusters?

shy lake
vocal path
shy lake
#

ViktorP case i guess. ๐Ÿ˜Ž

ocean harness
#

We need a Scripting AI Bible

hollow sinew
#

Any tips on debugging AI brain / waypoint / movement logic

#

Is there a way to change deployment time?

shy lake
ocean harness
shy lake
urban furnace
#

is anyone know here can i get event AI Fire or shoot something from script especially Combat Component?

rotund hawk
#

im aware that ai models not spawning in or being visible is a bug, but is there a way to fix it? currently uninstalling and reinstalling greforger tools and verifying files

#

since like ai are an integral part of scenario creation

shy lake
shy lake
#

Maybe you can just set everything up in 1.3 and after you are done try it in 1.2.
I think it should work.

halcyon bridge
#

Is there a way I can tell the AI pathfinding system that this character is twice as big, so it doesnt attempt crossing through doorways and stuff?

urban furnace
hollow sinew
glacial estuary
#

cant fix the misspellings cause I havent requested an account yet

shy lake
glacial estuary
#

could b ai

#

jk, we fixed it

urban furnace
shy lake
#

Yeah i've already made multiple attempts to write a how to A.I. but i don't have the time to write a proper how to and keep my modding going.
So i choosed the modding part for now.

#

Maybe in A4 there will be more ppl with a more seriouse interest in A.I. modding.
Reforger not sure if it would be even worth the time.

random owl
halcyon bridge
random owl
#

yea it has a cost - but it's possible

halcyon bridge
#

There will not be many of them running around, miniboss type enemies!

#

But I dont want them to go through tight spaces

random owl
#

anywhere on the island?
maybe if it would be on specific location maybe we could figure out a way how to generate and save just that spot and your mod wouldn't have hundred of megs

halcyon bridge
#

Yeah I was hoping to do it without regenerating the navmesh but I can see how the navmesh would be the feature dictating where agent can fit

#

What if I use BTRLike navmesh for it lol

random owl
#

possible I guess

halcyon bridge
#

Also floating/flying agents phase through building floors and doors

random owl
halcyon bridge
#

It seems like I need to create my own movement component that factors in doors and blocks, because the default pathfinding sends my agent through doors

#

It is a custom entity not a character

outer furnace
#

I would say most correct way would be making new navmesh, but BTR can work too. Just a note that in both cases they won't jump over fences etc.
Edit: Unless you set it up on prefabs

halcyon bridge
#

I was working on a very simple agent that is just a floating sphere

#

This is separate from my fat character question btw ^^^

random owl
#

Otherwise as you said it will go through walls and floors

halcyon bridge
#

Ahh ok that explains it

#

Wanted a flying enemy that would chase players

random owl
halcyon bridge
#

in 1.3 will vehicle go through trees since they are breakable or will avoid at all costs like btrlike navmesh right now?

halcyon bridge
#

awesome

glacial estuary
#

is there a way to have the ai respawn with the same original objective

vocal path
#

Hey, this Script will called on every SlotAI (SlotBase) in the world, placed by ScenarioFramwork:

        IEntity entity = GetGame().SpawnEntityPrefab(resource, GetGame().GetWorld(), m_SpawnParams);
        SCR_AIWorld aiWorld = SCR_AIWorld.Cast(GetGame().GetAIWorld());
        if (aiWorld)
            aiWorld.RequestNavmeshRebuildEntity(entity);

If you now place like 10 AIs in the same tile, will this tile then rebuild 10 times or does the one tile ignored and only rebuild 1 time?

outer furnace
vocal path
heavy cargo
#

Anyone how know where i can find any info on creating AI vehicle patrols? Non scenario framework

vocal path
#

Is there a Collider that only represents the Navmesh? I have a Modell where is enougth room for the AI to walk there. But the Navmesh generation will not generate the entry stairs

heavy cargo
vocal path
#

Create your Cycle Waypoints as Usual, Place a GetInNearest WP close to the Vehicle. In the SlotAI Set the GetInNearest as First and the Cycle as Second. The GetInNearest should have a high prio like 1000

shy lake
#

I think he doesn't use the ( SlotAI ) spawn?

#

Pre-placed editor A.I.?

outer furnace
#

as you can see any colider can be used for navmesh with just a interaction layer setup

halcyon bridge
#

That's dope

heavy cargo
vocal path
#

Is this a normal behavior?? Never seen before.

shy lake
#

The pattern looks indeed a little strange.

#

Like the thing where it looks like a snake.
Did you move this way with the game master camera?

vocal path
shy lake
#

Or was it like this out of nowhere?

vocal path
#

Oh, no it was already generated like this

#

so, this is not my flypath

shy lake
#

Yes strange.

vocal path
#

i will load a clean Eden, to see if this is also there

shy lake
#

Yeah just reset and test again.

random owl
vocal path
vocal path
heavy cargo
#

Should the AI we spawn in within tools spawn in game mode? Or do they take x amount of time to spawn in? If i play from camera position or through the main menu while in tools my ai just dont seem to spawn

regal terrace
#

AI on mortars are still freezing for my scenario ๐Ÿ˜ฆ They usually start fine but then they'll just seemingly randomly stop.

#

also civ ai really seem to like going into the hq tent at bases. Trouble is, they sometimes block the entrance so you have to hurt/kill them to get them out of the way.

vocal path
regal terrace
#

You can disable that for any kind of group

vocal path
#

Enable Attack on the AiConfigComp?

regal terrace
#

now I cant remember where I found this... Im looking.

regal terrace
# vocal path ?? Where? I cant find anything

Ok here's what I did; I gave the civs a defend waypoint in town and in the SCR_DefendWaypoint there are "Defend presets" which has a bunch of SCR_DefendWaypointPreset's in it. Each one has a checkbox for "Use Turrets" and I think they are checked (true) by default.

#

so yeah, my bad! Its in the waypoint, not the group! ๐Ÿ˜ฌ

vocal path
#

ok thanks, i dont use Defend WP but i will check if i can force the behaviour by script

regal terrace
#

probably?

mortal path
#

Yea when you command AI for example, if you tell them to move somewhere they will move there but will just stand idly after, maybe pace around. If you give them a defend order, they will take defensive positions including setting up in a turret or...." loitering around" ๐Ÿ˜…

mystic mango
#

How can I find the group An AI belongs to?

I've managed to spawn AI into a vehicle using the SpawnDefaultOccupants() function. I can even get the individual AIs in each compartment with GetOccupantsOfType(). This fills an array. So for example if i want to get every AI in a passanger seat I can call comp.GetOccupantsOfType(occupants, ECompartmentType.CARGO); this will Fill the array array<IEntity> occupants = {};
I can then set which ever AI to a variable by choosing an index IEntity passanger = occupants[0]. This is the part I'm stuck with. I want to get this guy's group so I can add a waypoint.

shy lake
#

You can use the entity to get the agent.
SCR_AIUtils > AIAgent GetAIAgent(notnull IEntity ent)

#

AIAgent agent = SCR_AIUtils.GetAIAgent(entity);

mystic mango
#

sorry, I've never seen SCR_AIUtils before, I'm not exactly sure how to use that.

shy lake
#

If you already have the agent ( AIAgent ) no need to use it.
Only needed if you need to get the agent ( AIAgent ) from an entity.

mystic mango
#

it's giving me the "can't find variable SCR_AIUtils" error. That's why I'm confused.

shy lake
#

In your case:

IEntity passanger = occupants[0];

AIAgent agent = SCR_AIUtils.GetAIAgent(passanger);

if (agent)
{
    AIGroup group = agent.GetParentGroup();
    
    if (group)
    {
        // addWaypoint
    }
}
#

Hmm.. It should be static.
SCR_AIUtils.GetAIAgent()

#

I'm using 1.3 maybe they renamed it?

#

But i think it always was SCR_AIUtils...

mystic mango
#

maybe. I'm still on stable maybe that's why we're on different understandings

#

ok That works thanks!

shy lake
# mystic mango ok That works thanks!

You can make it manually as well in your script:

IEntity passanger = occupants[0];

AIControlComponent controlComponent = AIControlComponent.Cast(passanger.FindComponent(AIControlComponent));

if (controlComponent)
{
    AIAgent agent = controlComponent.GetControlAIAgent();
    
    if (agent)
    {
        AIGroup group = agent.GetParentGroup();
        
        if (group)
        {
            // addWaypoint
        }
    }
}
#

Alright. ๐Ÿ™‚

cunning pasture
#

hey guys do you think someday bots will be able to pilot helicopters ?

shy lake
#

Sure why not.
Let's just hope their flying skills will be much better than their driving skills right from the start.
Else ๐Ÿชฆ

cunning pasture
#

๐Ÿ˜‚

limpid hull
#

can anyone give me a quick lowdown on how to queue AI waypoints in WB?

#

I have 2 AIWaypoint_Patrol_Hierarchy entities under an AmbientPatrolSpawnPoint_FIA entity which works fine but they seem to ignore the waypoint to get into the vehicle next to them, how do I go about sequencing it so they only execute the patrol after the GetIn one finishes? I tried nesting them as children but that caused WB to crash ๐Ÿ˜„

regal terrace
#

I never figured that out. It seems to spawn them on one of the waypoints randomly. I ended up making the ai group and waypoints a child of the abmient vehicle spawnpoint it is related to and then scripting them into the vehicle, then they follow the waypoints like normal.

heavy cargo
#

Why is it my ai spawns i place in tools on my test scenario do not spawn? So il place a ambient ai spawn. Il load in game viewport while in tools. Either start from menu or from my location. But the ai ive placed there just do not spawn. They spawn fine within the scenarios ive made so far on the server. But when it comes to testing in tools they just do not. Im trying to do some ai patrols so i need these ai spawning as currently i cant do anything unless they spawn

heavy cargo
#

so it appears my cap point AI spawn but any ambientPatrolSpawnPoint's just do not spawn while testing in editor ๐Ÿคท Is this normal? How are we able to test or create patrols when they dont spawn? am i missing something here?

regal terrace
#

they should be spawning, Id check your logs for errors that could give you a clue.

heavy cargo
halcyon bridge
#

Is there a setting in AI pathfinding that will make it ignore fences? just run into or through them basically, like they werent there

#

They often choose the longest path through the fence doors than just run through the fence

shy lake
# halcyon bridge

Not sure how or what you are using exactly to make them move from A to B.
If you are using the vanilla "CombatMove" .bt ( logic ) there is "SCR_CreateAIExtraMoveParams_CombatMove" which is used to find a path.
By default the cost is STRAIGHT_PATH_COST_MODIFIER = 4.5; which will make them find a path not directly straight to the target.
So if you set it to 0 they may should move straight to the position.

#

Viktor already explained something related to this, but i still haven't messed with it a lot:
#enfusion_ai message

random owl
# shy lake Not sure how or what you are using exactly to make them move from A to B. If you...

only minor differenc is about 0 value - it should be 1 not 0

//! Sets cost modifier which increases cost of graph edges aligned same way as the provided direction. //! Default value is 1.0 and thus does not affect anything. //! Values above 1.0 will make pathfinding favor non-straight path to destination. //! But it's impossible to know beforehand if the chosen path will flank left or right. proto external void SetStraightPathCostModifier(float value, vector dir);

random owl
halcyon bridge
#

Hm

#

0 is prefer straight?

halcyon bridge
#

I also need the agent to not stop in front of fences

#

Want him to try running through fences

random owl
# halcyon bridge Hm

1 prefer straight
But default still respect area costs as mentioned in that post above.

halcyon bridge
#

So no way to make him run through fences?

#

Just this agent

#

Sometimes he attempts it but gets blocked and stands still in front of the fence for 2 hours before choosing a 2x longer path

shy lake
#

Maybe if you use SCR_AIMoveIndividuallyBehavior behavior tree to move him with very high priority?
But in this case he will not attack while moving...

#

Just moving from A to B.

#

Like this:

SCR_AIMoveIndividuallyBehavior moveIndividuallyBehavior = new SCR_AIMoveIndividuallyBehavior(utilityComponent, null, position, priority: 3000, priorityLevel: SCR_AIActionBase.PRIORITY_LEVEL_NORMAL, radius: 1.0);

utilityComponent.AddAction(moveIndividuallyBehavior);

utilityComponent = SCR_AIUtilityComponent.

heavy cargo
#

So still trying to figure out why ambient patrols do not spawn in viewport.

They spawn in the scenarios i make on a live server. But not in viewport.
Ambient vehicle spawns work fine not related but was worth a test.
I dont see any errors in console pointing to anything AI related. Only errors with the typcial statmag rounds or what ever its called.

Ive done nothing to cause any issues for this.

Been like this since day 1 of using reforger tools.

Im at a total loss to what to do next. Can any one help?

halcyon bridge
#

Start the Scenario you've made

#

Not the World

#

You can do it through menu

heavy cargo
halcyon bridge
#

Either, Spawn AI is scenario flag, but you can turn on Spawn AI test flag on your game mode prefab

heavy cargo
heavy cargo
halcyon bridge
heavy cargo
halcyon bridge
#

Sigh, please read what I said again, but slowly

heavy cargo
#

yeah i just caught the differences in our screenshots ๐Ÿ˜„ doh

#

so yeah is already enabled

halcyon bridge
#

Okie then it should be working. You can try the other option I guess. By the way make sure you spawn yourself as a player, so the system can compute distance to nearest player for spawning. "Play from camera position" doesn't qualify.

heavy cargo
halcyon bridge
#

Also doesn't work when playing from scenario menu?

heavy cargo
#

Ive even spawned myself far away then driven to the spawn point for them but no joy

halcyon bridge
heavy cargo
#

Yeah ive tried all sorts but again same result

#

To clarify.. il pop a ambientpatrolpoint down.. load in through spawn menu. And they should spawn? Theres nothing else thats needed?

halcyon bridge
#

IF the spawn AI flags are on yeah, you can try loading in the scenario as an alternative

heavy cargo
#

An alternative? Lol

heavy cargo
#

So after more testing my AmbientPatrols dont actually spawn on a live server neither, Yet the AI with the cap points spawn fine

halcyon bridge
#

Red herring

heavy cargo
#

Noticed this in the console but still realy no closer
SCRIPT (W): Formation of group <0x000001D7D7C6D890> SCR_AIGroup not found in SCR_AIWorld! Team members will not be spawned.

narrow yarrow
#

is there a area space limit to where a team can spawn ie if its a small spot they wont spawn in.

shy lake
#

I have not seen any checks which would prevent them from spawning if there is no space.
They will be spawned at their formation position no matter what afaik.

random owl
# halcyon bridge So no way to make him run through fences?

As said you can significantly enforce it by changing coefficient and cost.
Cost will also affect drivers but I guess it's bearable sacrifice in your mod.

Sometimes he attempts it but gets blocked and stands still in front of the fence
and this is because he doesn't breake a wall in that case cause he has not enough speed/dmg into it. If you would ensure that he does break it with any contact than I guess it wouldn't be a problem. Movement simply resolves this as "STUCK" state. You would need some handling of it in BTs but wouldn't be easy at all(as you can't simple try it again as situation will be most likely the same and you and up causing path finding requests in every update as it fails everytime).

halcyon bridge
#

He stops before making contact with the wall, otherwise it would break

#

But when it works it's dope

random owl
halcyon bridge
random owl
#

Here we go ๐Ÿ™‚

#

I think with nontrivial amount of data tweaks it would be possible to setup destructible also there so some AIs(soldiers) would avoid them and some pass trough as killdozers but you would need generate your own navmesh I think.

halcyon bridge
#

I was hoping in the pathfinding component I could just turn off some of the flags but I guess it doesnt matter since there is no navmesh on the fence position until it gets destroyed

random owl
halcyon bridge
#

Darn so cant adjust this on per agent level. I guess this is fine for your primary use case, seeing as implementing the Kool aid man is not in scope of reforger's roadmap.

random owl
# halcyon bridge Darn so cant adjust this on per agent level. I guess this is fine for your prima...

here you operate area types and flags and flags are configurable per agent - on pathfinding component or in individual movement request(you can setup which flags pathfinding should ignore so you would add new area type and setup destructible to ignore for default characters and allow them on your custom one... but as said navmesh rebuild would be necessary so they are marked in character navmesh...).

halcyon bridge
#

Thank you

heavy cargo
#

More head banging with these AI, i even uninstalled reforger and reforger tools. Reinstalled. And same issue ๐Ÿ˜ณ

So then i thought id try scenario framework which ive not touched before... used a template. Had patrols on it. And those work perfect.

I think its time to give up with ai patrols ๐Ÿคทโ€โ™‚๏ธ๐Ÿ™ƒ

random owl
#

as possibly its just WB bug... and shouldn't affect functionality itself

heavy cargo
#

Also tried this on various maps. Some custom some offical, but same result. As i did wonder if it were navmesh related but again no difference

#

Currently got a setup on arland for testing. Created a small scenario ect

random owl
#

The thing is - it's Conflict specific system so I'm actually not knowledgeable about all requirements for them to work.
It's difficult to say without debugging and stuff.
It can be that you simply reached active AI limit by default combatants.
I would expect that for them you also need SCR_AmbientPatrolSystem in place.
You can try to check how Conflict on Arland is setu up and how they are used there.

heavy cargo
#

SCR_AmbientPatrolSystem

Is the code right? So il need to duplicate that in with my scenario?

peak laurel
heavy cargo
# peak laurel do you have this check marked in your mission file ?

Indeed, just been back over it all again. Started fresh on fresh install, created a new test scenario on arland.ent. fixed my 2 hqs and placed 2 of the ambientpatrolspawn_us down at us base. So as soon as i spawned and waited 1500ms they should spawn.. and nothing ๐Ÿคทโ€โ™‚๏ธ

#

Ive watched countless videos on doing these spawns and no one is saying to do anything different to what im doing. I realy do NOT get why this is happening. Driving me nutz ๐Ÿ™ƒ and yet scenario framework ai spawn totaly fine

heavy cargo
#

Unless friend ๐Ÿ˜„

#

sent u friend req

peak laurel
pure merlin
#

does anyone else have an issue with ai not following orders when spawned with GM but they work fine if generated from tent?

limpid hull
# heavy cargo Yeah so. My main cap point ai spawns work. But any ambientpatrolspawn i place do...

Are you running vanilla Conflict or using any kind of custom spawn logic?

I ran into a similar problem recently and the cause was my custom spawn logic was based on EPF which bypasses a ton of PC registrations to core systems like SCR_AmbientPatrolSystem and EditorManagerCore. You can confirm if this is the issue you're experiencing by starting WB game mode, enter GM mode straight away and fly over to somewhere ambient patrols should spawn. If the patrols spawn initially but then disappear it's most likely the despawn logic triggering due to no registered player controllers being in vicinity

#

If you can see the editor markers for them in GM mode then it's the despawn issue, if not even their markers even show up then yeah something else is going on preventing them spawning in the first place

#

AFAIK the ambientpatrol AI spawner logic is pretty tightly coupled to Conflict game mode so will also break if you're missing anything for Conflict world setup

limpid hull
heavy cargo
regal terrace
#

Is there any kind of diag tool to help me figure out why the ai randomly stop using mortars?

zealous pasture
#

This is also very interesting for me, maybe there is already a way to change these parameters in ai

cinder gulch
#

What's the best waypoint to set for the AI to drive to a destination and remain in the vehicle, actively defending with the mounted gun?

heavy cargo
#

What moduel should i be looking at to set so all AI do not spawn as soon as a player loads in? I thought it was preset so the AI only spawned within a set distance from a player.. were as currently all my Ai spawn some 5seconds after i join. So thats 500 ai spawning once 1 player drops in ๐Ÿ˜ฌ๐Ÿ˜ญ๐Ÿคฃ kinda not ideal