#enfusion_ai
1 messages ยท Page 5 of 1
yeah in enfusion
im trying to set them to keep attacking i have the respawns working
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 ...
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.
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.
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
Sorry but i pretty much only use pre-placed or game master spawned.
But there is a waypoint example in workbench.
I don't think they can respawn but i could be wrong.
In vanilla, ambients can respawn, but if you assign a respawn period, they will never stop respawning. They will respawn everytime that group is eliminated.
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!
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.
Gramps, as always, you are an absolute legend. I will talk with my staff about this, because we considered shifting to three servers at 60 cap. 70+ players is usually when we see the impact pretty bad. Do you run Linear on your own servers with 44 players, or are you keeping all conflict objectives open?
I do run linear with pretty much default settings I believe.
RV A.I. worked different.
In Reforger each A.I. is individual.
Meaning each of them is running his own brain so to speak.
In RV A.I. was bound to the group leader copy/doing whatever he does.
So much less processing.
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.
We'll have to take a look at it, but we had not changed any of the AI behavioral settings yet. We're going to disect it a little bit though and see what we can find. Thanks for the input!
Well i think BI themselves still has a lot of options to optimize them.
It just will take time.
Even though this will limit AI numbers especially on server -im really happy they decided to go the route of treating Ai as individual rather than just a group hive mind -as that can create some pretty ridiculous results for the individual enemy AI. Start small and robust, and gradually grow out with optimization and future processing power
Couldn't agree more. ๐
Well they are on the right path.
Reforger A.I. has already made it's way into my top 3 A.I. ever.
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!!!
Found even a easy solution to make a "CombatMove" request unique without messing up other request types. 
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! 
https://www.youtube.com/watch?v=p5aVVrC1BIw
That was an AI moving like that ?! Woah! i hope they lose some accuracy with all of that rapid movement but that can always be added in later -but thats impressive
Yeah 1.3 has put A.I. on a whole new level.
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...
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.
A.I. agent has PermanentLOD methode.
Set it to 0 and they will keep doing their thing no matter player or GM nearby.
Its a performance optimization thing to disable A.I. if nobody is close enough to see them.
thanks, will try that now! ๐
What if there was a mix ? So like larger groups maybe lower level units ( cannon fodder ) would spawn in as a hive mind then everyone else is smart
This seems to work initially, but after a minute or two something seems to be resetting it to -1 on the engine side, I can not find anywhere else in the scripts where that is set. ๐ข
how good will be the AI of Areforger if they get optimized as the same new AI of vbs4 v 24.2?
Did you use agent.SetPermanentLOD(0);?
This always worked for me.
There is also PreventMaxLOD(float preventTime = -1); maybe this needs to be used as well?
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.
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.
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 
Thank you very much for taking the time.
Yes i was already thinking of something like this.
Well i use CombatMove with ProjectileHit event not sure but they should be triggered multiple times if i use vanilla.
So i will use super and after it i will use my fix to make sure CombatMove gets triggered once only. ๐
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
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
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. ๐คทโโ๏ธ
I will test and tell you once i'm home.
Thanks, even setting PreventMaxLOD(100000000) Im still getting -1 perm lod in my prints randomly.
in my stress test mod I had to set it every frame for it to work
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?
In my stress test they were resetting themselves when there were no players on the server
Not sure about this.
I've just tested local in GM.
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.
So if you like permanent LOD0 simply use experimental. ๐ค
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
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.
So you are using 1.3 experimental and it reset to -1?!
How come mine is always 0?
To me it seems as it should be.
Are you trying it on 1.3?
No I am using main branch of course
So if there are improvements in 1.3 then I stop complaining
Here is what I am seeing, maybe there is something I can change in turret component to help them?
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?
You have to wait for 1.3 than. There were changes into aiming calculations.
you mean this?
Yeah, but on 1.2.1 only the first attribute exists
as we realized one isn't enough ๐ e.g. humwee has movable not only gun but also the "base" in which AI sits.
in BTR70 turret right now only the X value is above 0, it's set to 1
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...
so here what is input is position where you want to aim and the system to controll is the turret
This dude's drawing skills are the more impressive part of the video
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...
Is there some diag in 1.2.1 I can use to visualize the gains?
Not sure from top of my head.
There is this in 1.3 for sure ๐
AI->Aming->Aming component PIDS
well... 
Yes you are right ๐ will fix that.
Nice thank's for confirmation. ๐
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
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?
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.
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)
Nailed it
I wasnt using ambient patrol but my own custom spawnpoints but!! my issue was a thing several months ago
@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.
No matter what I put in there it seems like they never lead the target ๐ฆ is this a bug?
They seem to aim at the center of the helicopter instead of in front of it
Changing ballistic tables for the ammo does nothing
so on experimental? or still 1.2.1 ?
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.
Git on 1.3 NAO !!
Pls? ๐ญ
nuh uh
Didn't they receive an update in 1.3 specifically for this issue?
Bacon is here for the challenge.
LOL
I'll develop for 1.3 when it hits main, right now I'm not modding a game nobody plays
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.
I agree with that
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 
Fair
That's exactly what i was thinking.
With the game on a 1.3 level at release it would have turned out a lot better.
But who know's they fixed a lot based on feedback.
And ppl will find their way to Reforger anyways.
1.0 also no was a major update that fixed an insane amount of crashes and bugs. First time to game became really playable
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?
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.
Static utility class for everything
Yeah this would indeed be a possibility. ๐
SCR_Everything
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?
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. 
Well not for normal AI but for simple ones like Zombies
Maybe tired or burnout... ๐
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
"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.
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
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?
~~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.
~~
Guess i'm missing a if (m_iCurrentSector > -1) condition somewhere.
Yep was me being stupid...
As usual. ๐
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??
What did you do with the .bt?
How did you implement it into the A.I. agent?
Just doing it through the AmbientSpawnVehicle and AmbientPatrol method in conflict
You still need help with this or you got it working already?
So it's a conflict thing right?
At least i think the Ambient stuff works in conflict only.
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
You use this for vehicle: "SCR_AmbientVehicleSystem"?
I can't find "AmbientSpawnVehicle " you posted.
Sorry i don't really use them a lot.
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.
Okay i will check what i can do.
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
I can add a check box so A.I. spawned with it enabled will stay in the vehicle?
That would work great
Okay.
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
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. ๐
I'm not following what you mean.
We made a new BT file which did stuff, then we just added that BT to the AI?
Yes but where or how did you add it?
Guess you don't like each and every A.I. to use it?
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.
We just applied to to any ai we wanted in their properties
I'm sure that's what I did
I am now only using PreventMaxLOD(), but its interesting you say that about how its maybe only the agent that PreventMaxLOD(). When I use ```c
AIAgent agent = m_Utility.GetOwner();
agent.PreventMaxLOD();
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... ๐คฆโโ๏ธ ๐ฉ
lol i can feel this. ๐
im sure you can lol
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. ๐
Sure would be nice to have a reason why an ai action fails
They got camera shy...
Yeah guess. ๐
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;?
In the world editor, within a component on the AI itself
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.
Alright.
So if you like post the .bt here or DM me so i can check.
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
There you go.
Did you just literally make static Ai work again?
No way
Have you actually tried/tested this and w/e else?
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.
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.
Sure.
No problemo. ๐
.... ```c
EAIActionFailReason GetFailReason()
Yeah... Thats me. ๐
Thats why i really like the DCO AI platform - its always showing either what the AI is doing or attempting to do -that means alot..
Welp, my reason for failure seems to always be 0 or Unknown... ๐คทโโ๏ธ
Which behavior are you checking it with?
You know its an Enum so youhave to use "SCR_Enmu.GetEnumName();
Do AIs with scopes shoot more accurately and find players more quickly and has longer range?
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.
I got this question durring playing a PVE scenario. In the Escapist scenario, I find that the AIs with RHS equipments are far more powerful than the vanilla guys. I'm not sure this is caused by better armory, guns, plate carriers and scopes or just a general thing.
Can be they modded the A.I. ( aiming accuracy ) as well.
But i don't know.
nope. the same AI skills level. only with/without RHS weapons.
Hmm... Maybe coincidence.
Or you simply feel better with all the RHS stuff. ๐
Stronger!
Not sure in how far they can affect A.I. by weapon configs.
If at all.
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. ๐ญ
๐
That's funny though.
Well..
Yes it is.
Maybe ask in their thread?
https://discord.com/channels/105462288051380224/1050079312977596426
Guess they may have a better more accurate answer to this.
Already. One RHS dev say It may caused by better modern ammunitions. and they modded no AI things.
Okay.
Yeah strange...
is this how i could alter the AI detection of the player?
It should be part of it.
However there is "UpdatePerceptionFactor()" methode in "SCR_AICombatComponent".
I think its better to modify/override the methode instead of messing with this hard-set stuff.
But yeah i guess you should be able to notice something by changing this.
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!!!
Holy unsolicited Unbridled Enthusiasm Batman !! !!
You would agree, if you could see what i see!!!
Maybe...
F.E.A.R those bastards are opportunist!!! When they are just 2 or 3 members the get defensive yelling their status or if they are more they will go to flank you same will half life wonderful ai but in a wrong environment map.
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.
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.
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
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
I just seen the VBS4 video and pretty sure they stated they "no longer use legacy AI code" - thought that was funny as that means they were using alot of that original OFP/Arma spaghetti code
Up until 4 that is
Not too surprised that is
me neither -but Bohemia Arma devs been saying its "totally different" all this time heh
Is there a team leader AI that issues orders still?
Or is handled entirely by each AI?
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
Yeah they are really good but mainly focused on close range and single enemy only.
So creating A.I. for this specific kind of combat is kinda "easy" compared to open-world.
They could fully focuse on close/very close range combat and make A.I. super smart and detailed for this one specific case.
Thats exactly the point WHY i'm so "overhyped" with what Reforger A.I. has become in 1.3.
To me from all my testings it looks like they are capable to fully understand and react properly to WHATEVER situation.
Close Range/Medium Range/Long Range los/no los whatever...
They kinda know what is going on ALL the time and are able to react in a very decent way.
Agree! ๐
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!
Best cover ever! ๐
Would be nice to have a blacklist filter or some.
Fences are also almost equal to this.
Yeah details...
Humans do this too... so it's kinda realistic ๐
Yeah guess better than nothing. ๐
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!
is there a way to get AI to act "surprised" -as in suffering a morale/aiming penalty on first contact/ambush?
"SCR_AIAttackBehavior > InitWaitTime()"
Will let you set the delay from spotting/detecting till they start shooting/attacking.
It was made for exactly this case.
awesome !
Possible A.I. using smoke grenade will trigger explosion event?
Or lets say possible smoke grenades are triggering explosion event?
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...
vanila - not much important assert I was considering even remove it.
Is there a way to override an agents BT via script, like you can set it in the ChimeraAIControlComponent?
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.
I have seen it somewhere.
At least some behaviors had an override thingy/variable...
I have to look if i can find it again.
Can't tell if it works at all.
So it isn't a problem at all?
Its just the debug message thing that makes it a problem?
yup
Nice!
Thank you.
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?
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?
..in theory..
Still one of the bigger remaining A.I. problems in enfusion.
https://www.youtube.com/watch?v=bSJLrNCPJfw
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 .
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.
Cheers pal Iโll check it out later much appreciated
The override thing is in "SCR_AIGoalReaction" not sure if it is, what you are looking for.
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?
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.
Oh nice!
Many thanks. ๐
no problem, about time I could return the favor! ๐
Testing out my scripted in AI on mortars after the update today and so far they have been firing for 20min with no pausing!!! ๐
So they fixed the LOD thing?
It seems like it! went over 30min before I stopped and im about to start test #2
Nice!
I also noticed ActionFailed firing a lot previously, but now its only firing when the action actually stops.
cheers for that it really helped me reduce some stuff i didnt like and also i found out why the ai wouldnt turn round and shoot me LUL
I`m sure i didnt do that LOL hmm ๐
Sure no problemo. ๐
There is this reset arrow right side next to the 1k.
So...Maybe you did by accident? ๐
But i think i've seen it on some vanilla stuff as well?
PRIORITY_LEVEL_PLAYER = 1000;
well if i ever need AI to ignore everything on way to a waypoint i know now set to 1000 lol
theres a guy thats been modding since Moses wore short pants ^^
Moses made UWAR grass for ofp one slight_smile:
Awesome man! How do they spot the target to begin engaging?
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!
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?
yes, never again for now. Someday I may change that!
Yeah back then when grass was a BIG thing. ๐
Sill remember how hyped i was with SLX grass. ๐
AMAZING times!
Yeah and John smoke etc good era
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.
I think I found something I need in ```c
class SCR_AIGetArtilleryAimDistanceCompensation : AITaskScripted
bool CalculateDistanceCompensation()
Behavior Tree breakpoints are broken?
For some reason as soon as one gets triggered game just freezes.
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. ๐ฉ
Maybe there's a weapon config like Arma 3 where the AI look for as valid target or not?
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... 
Guess i have to test more with all ghe timings.
Thanks for the hint. ๐
Haaaaa!!!!
Crap works perfectly fine by using all the vanilla timings... ๐คช
You was right!
I had a timeout between the part where i fake change the target from infantry to vehicle.
So everytime it went on timeout it did reset the target type back to infantry. ๐ง
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
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..
Is there a way to implement a garrison system in Reforger like we had with LAMBS in A3?
I think GME has one.
GME?
Not sure how/what LAMBS did...
oh, game master enhanced
lambs found all the unit positions in a building and randomly sent members of the squad you tasked to go to one of those positions
then prevented them from moving afterwards
Right click garrison iirc.
Yes it does this as well.
oh, useful, ok
I thinc you have to select the group hover over a building and "right click" to get the garrison action/order.
thanks, i'll play with that later ๐ appreciate it
Problem is those building positions often made no tactical sense in the slightest. Such as facing a wall neglecting the most obvious points of entry or fire lanes like windows
Iirc he made it so they stand at the windows ( facing outside ) and roof.
Its possible in Reforger to detect window positions by using cover points.
So he excluded useless positions? That must have taken quite a bit of filtering for all of those building built without AI in mind (look at you Tanoa)
All buildings have cover points ( vanilla ) at windows.
So to keep it simple all you have to do is to find the cover point position and let A.I. go there.
But yeah it needs some more but its possible.
Not like in RV where A.I. would simply move to a random building position index standing somewhere inside of the building.
Check it out.
Wait are we talking Reforger or RV? Your saying that in Arma 3 all buildings have 'Cover points' -that being valid fighting positions that are already separated and excluded from all of the other random House positions? I thought we were talking Lambs which is only Arma3 AFAIK
I'm talking about Reforger.
The question was if there is something similar to LAMBS garrison.
I thought you were talking about GME.
Or you assumed it would be like this.
Ahh ok, I thought you were referring to how Lamb functions - my mistake
Hello, Do you know why when i told to my ai to follow me, they run far away ... ?
You scared them
Legend is...wild times happen at coordinates 0,0
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! 
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?
Nice, thank you!
would you ever consider creating that as a plugin/mod?
Well its already part of CRX.
But guess you ask for a stand alone mod?
Ah ok -NP ill have to try that
Speaking of, I found out that setting lod every frame to 0 will break the artillery. It needs to be set to -1 for that to work I guess. At least that's what's given me the most success. It's still randomly pausing on me though and I can't figure out why.
On 1.2 or 1.3?
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!
Yeah i'm doing the random position thing as well.
Its kinda crazy he rly has to re-adjust the thing, to be able to shoot at different positions.
The whole thing is really very well made!
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
Well maybe we will see something like this in A4.
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)
is it possible to place AI and disable their ability to walk around? when i disable their components their clothes fall off lol
also when i put AI in the world on the server we get kicked due to replication
but not with ambient patrols
I don't think so only by using a mod.
Check: #enfusion_ai message it is a static A.I. behavior tree.
You just have to replace it in the AIAgents config with the vanilla Attack_Default.bt.
I donโt want them to attack lol j just want them to stand in 1 place and be a shopkeeper ๐
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.
please lol
I've made an example mission ( Bay ) where you can see how to set it up properly.
Just to keep things clear.
This ( StaticAI ) is part of TilWs Mission Framework:
https://reforger.armaplatform.com/workshop/61F0E6AB2D06B1C6-TilWMissionFramework
So all credits goes to him.
Is there any way/command to force A.I. to put their primary weapon on their back?
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"
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.
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
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. ๐
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?
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. ๐
Really they have aimpoints for selective body parts? That could make classes more interesting -for instance if known Sniper is in area and hes a headhunter etc...
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... ๐
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?
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.
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 
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.
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());
Good. ๐
I didnt want to mod the node cause idk if that breaks vanilla AI
Thanks for the help
Np. ๐
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
Is Dead Body spotted already an EventHandler?
Yes there is one in the config but not implemented yet afaik.
I was expecting it to get implemented with suppressors.
Do you mod/play Reforger?
Or just curious.
just curious ๐
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
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.
@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.
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.
don't you have open that log file in some editor on side? so it can't write into the file?
Idk which log file...
I did not change anything i think.
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)
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.
Again. ๐ฉ
No logs open...
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.
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
Aiming accurqcy can be changed by overriding kill level in the characters ai combat component
Each increase in skill halfs random offset per axis
Thank you man for your help I well see that .
And if you have any more information donโt hesitate Iโm just a noob in arma reforger tools 
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?
The : or extends do nothing with modded btw
You can just not add it if you prefer
Yeah, you basically modded the attribute out
Yeah pretty stupide... ๐คช
If we take it away then people will complain that you cant mod attributes ๐
Its the same as with inheritance
Same thing can be done there
Nah its fine my mistake. ๐
Thank you for checking. ๐
I'm happy enough if this is finally fixing it.
Ooooh my A.I. talking again!!!
๐ ๐
ok glad you found it as there was not much on our side how to help you ๐
Yeah the usual case...
Me doing modding. ๐
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.
why not "override in"?
I did?
There is only one way? Right?
Yeah sorry i meant override.
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() ๐
I thought there was an error or something ๐
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
Nope not with the override/duplicate thing. ๐
Only thing is the strange game-crashing behavior of the setVariable node.
Spawn where?
Like to just place them in a world spawn like?
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.
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.
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. ๐
Working good! ๐
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.
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
Nice.
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
Sure additional/extended A.I. stuff is always nice to have.
So this is civilian only right?
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
Good yeah it will need time.
Nice list ! Which side will Civ fire upon if caught between 2 enemy factions? Will AI soldiers fire back on them and identify them as an enemy to their faction?
Ill let you know when i can spawn them in outside of gm thats where it counts
Have a look at:
SCR_AIGroup > SpawnGroupMember(bool snapToTerrain, int index, ResourceName res, bool editMode, bool isLast); methode.
How did you try to spawn them?
Theoretically you spawn a group prefab, spawn A.I. and adding them to the spawned group prefab.
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
You can post or DM me your spawn script if you like.
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?
PerceptionComponent > FindTargetPerceptionObject(IEntity entityToFind);
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?
I would say no and if yes than it's some unknown coincidence.
Strange...
Next time i test in-game i will pay some extra attention to it.
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!
nope, turns out they are randomly stopping still.
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?
I tried 10 and they were sidestepping like me when playing quake 3
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.
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.
Its based on camera or character.
In this case the GM camera is kinda something like your character.
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.
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.
How long do you like the artillery to fire?
Like forever, the whole mission runtime?
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?
Its a combat related thing and i think i just have very bad timing to drag them into the vehicle.
I do it at a moment just right befor the combat starts.
Pre or during combat its okay.
Nope not okay during combat as well.
So whenever i drag and drop an A.I. group into a vehicle during combat i get the error.
Tryed with pre-placed and game master placed vehicles.
Armed vehicles.
As usual 50/50 its a me thing. ๐
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. ๐คทโโ๏ธ
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.
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?
unless this is still breaking the turret maybe somehow? IDK. #enfusion_ai message
What does the agent shooting the artillery do after it failed?
He is still in the artillery vehicle?
Where do you get the fail reason from? Group activity OnActionFailed() methode?
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.
You could try the SCR_AIStaticArtilleryBehavior > OnActionFailed() methode.
It should return a fail reason.
Its the agent part of the artillery behavior.
I get the fail reason from OnActionFailed() using GetRelatedGroupActivity().GetFailReason()
it always returns 0 or unknown
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. ๐คช
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
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.
Alright. ๐
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. ๐
dose the vanilla AI use RPG on players not in vehicle?
Nope.
Vehicles only.
I've made you a quick example.
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.
Yes pretty sure.
At least the only part where i've seen them selecting launchers as weapon in the code was always related to vehicle targets.
thanks, starting another test with additional prints so I can see exactly where its getting caught up, we'll see how long it goes until it stops! โฐ
Np. ๐
Hopefully you get it solved soon! ๐ค
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.
Im finally back guys, anything new in Experimental Version?
Welcome back. ๐
Nope not rly.
Still working prett! well.
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?
hey guys, how to make an AI convoy with multi vehicles moves in nice formation? to say 2 trackes and 1 PKM jeep.
Maybe with some modding.
However even if you would get them to use a formation while driving, they would probably mess it up due to their liking of crashing and ramming into all kind of stuff along the road.
Guess it will still need quite some time.
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 .
Yeah we will get there, at some point in the far future. ๐
yeah, currently I just add waypoints for different vehicle and crew members. so actually they are not convoy.
Great thing about modding is your mostly immune from the server DDOS issues...mostly..
Yes that's luckily the case in 99% of the time. ๐
There already is some group formation handling in the code used to assign specific A.I. of a group to their own move handler.
So its kinda groups within the group or sub-groups which, if i get it right can be/will be used to create convoys. Theoretically.
So there is already "something".
sounds good. so basically, we can have a large group but its sub-groups in different cars.
I remember in ARMA 3 we have pretty nice convoy ambushing tasks
Exactly.
At least that's how i think it is/will be used for.
no script API for that.
But why would you like to do that? do it trough modding of prefab if you need or create your own.
i would actually like mixing AI as for example creating AI Hub as place where multiple AI can be used without actually overriding eachother, so we can have a multiple different movement on AI thats why i somewhat asking for it. but if there are none its fine im just curious
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.
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. ๐
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...
we wasnt born this way Bohemia made us this way ๐
SCR_ChimeraAIAgent > bool IsEnemy(Faction otherFaction)
That's getter not seter. So it returns if some other factions is enemy.
Thats very true. ๐
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.
Well i'm looking for a way to make A.I. go totally nuts ( berserk mode ) without changing their faction.
I already have them so far to kill unconscious and fleeing soldiers.
Now i'm looking for a way to make them kill civilians. ๐
So kill every living being mode like.
Yeah thats what i thought.
Guess getting it done with all the perception and stuff is pretty complicated...
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.
Yes.
Well guess i will skip this for now.
Thank you very much. ๐
Maybe you could change the characters faction?
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
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. ๐
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
1.2 bug.
Will be fixed in 1.3.
They will appere once you hit play.
Just not in edit mode.
Ok. But when i put a sandbag it works. It's a bug only for soldier entity's?
Ok. Thank you ๐ช
Ok i'll take a note thanks for the detailed explanation appreciate it
Yes, it is imagine we have my AI as squad lead and the subbordinate can be random from other AI Mods without overriding eachother
it would sounds amazing
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.
yep a lot of work, or maybe using Prefab Variant better?
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. ๐
hey guys, what is the right way to create an AI group with vehicle in Scenario framework QRF system?
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.
I find a static vehicle param in AI Group_Base. So I can create an AI group with vehicle (then use them in QRF system). However, I don't know how to use this param and what kind of default waypoint for this kind of group.
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.
TY. pre-placed A.I. groups can use vehicle now. I'll futher try to figure out the spawned ones.
Good.
Yeah sadly i don't have a lot of experiance with all the scenario framework/SlotAI stuff.
Maybe someone else can/will help you better with it. ๐
Can AI shoot from BTR and armored cars without mods?
why is it that every time i open my project, the scr_airworld file doesnt have navmesh attached anymore
There was someone with the exact same problem.
Not sure if he was able to fix it.
Delete the SCR_AIWorld save, restart and try with a new SCR_AIWorld.
Not sure if this will fix anything at all, but worth a try.
that didnt help but i found the other lad with the problem. #enfusion_terrain message
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
Good. ๐
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
Your own created map?
nonono its eden
i dont know why but i see ai bumbing to my objects. commandtents, living quartars and relay antennas
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.
oh great. i thought i have to do that but i dont know how
If you place something using game master it will automatically re-scan the area where you placed it.
'Thank you very much
Np.
Here is how you get to the navmesh window in World Editor.
that would be my next question, thanks again!
I have never "patched" a navmesh so i can not help with this very much.
Maybe have a look at here as well:
https://youtu.be/0PODJBvsntI?t=1011
Hey guys hope you are well! Hope you guys enjoy the video and that it helps you out.
Join the Fam: https://discord.gg/gXrHXZgU58
Also this one is about navmesh overriding:
#enfusion_generic message
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.
i figured it out but just now i saw your message. thanks this one worked.
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.
You made it a additional game master waypoint or you spawn it by script?
i'm having trouble to reproduce the error:
#enfusion_scenario message
The open gate thing is a random bug.
Sometimes it works, sometimes it doesn't.
Like 50/50.
good to know thanks
๐
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
Air or land target?
1.2 or 1.3?
land 1.2
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?
iots build on the btr turret
Sorry idk rn.
Will have to do some testing.
is there something that triggers when slot ai has seen somebody?.
Somebody = enemy?
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?
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.
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
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?
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.
Maybe there is a static trace methode somewhere, bur i have not seen one so far.
Most of the time they ( devs ) just set it up where/whenever they need it.
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
If it's related to RHS may better ask in their thread.
https://discord.com/channels/105462288051380224/1050079312977596426
Ahh, will do. I thought they had their own Discord. Thank you
Why do you need to override or duplicate their characters? Are you changing the characters gear or ?
NVM I misread the question you are overriding the vanilla characters gear with RHS gear
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...
I suggest this video from TPM in the video he is changing gear on character with RHS gear
I feel like I like how vanilla engages, especially when mounted in an armed vehicle, but I wand more modern options. So re-gearing is the avenue I took, seemed the most direct way.
I appreciate this, I'll watch it in a few. Thank you, homie
Yea he actually even runs in to an issue where he assigns a "blood soaked" RHS item or something and it causes a weird error so he has to change the item to the "undamaged" one
Something along those lines
Right on, I'm at work once management goes home I'll put it on.
LOL @ once management goes home ๐คฃ
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.
Same vid that was given to me above, redo the loadouts.
Here
What's the status of you artillery thing Gramps-
Were you able to get any further with it?
Did it fix the issue for you RAG?
I pretty much re-wrote the code and I think its working better now. But I need to publish and update my exp server to really play test it with other players.
Good! ๐
Glad to hear. ๐
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
Welcome to Blackheart_Six's Arma Reforger Tools Tutorials Channel.
The playlists and videos are aligned to the scenario framework wiki page, along with miscellaneous videos . There is no particular order you have to watch. Additionally a mod has been published to the workshop of the examples in the video.
Best Regards,
Blackheart_Six
Also check out Blackheart_Six
Yup he's the man. I do my stuff in SF too. And he's the reason I can do anything
same
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
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
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.
Also its worth to note that RHS recommends it be the first mod in the server config list
Yeah, I could see that. But not how I do it. I do the same as BH6. Scenario is first with a map as a dependency if it's a custom map, and most everything else as a separate mod after that. That way if and when a mod breaks it reverts back to vanilla, not breaks the whole scenario
Also, may be hard to picture, but kinda goes against the mods I have planned, I mentioned earlier
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?
If you will use this than it will ๐
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.
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?
idk where this come from. I would consider it not necessary atm.
Alright.
Thank you very much for answering. ๐
Maybe he just misread/misunderstood something from the changelog and thought it would be related to it.
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 !!!โ
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.
Wouldnโt think itโd be too difficult. I mean in SP - basically if the ai unit or player isnโt in stealth - and they bark an order , adjust that audio coefficient thingie. In PVE I donโt know much about, I guess they would have to have some sorta audio flag for person to person mic callout volume
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
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
Holy shit found it, sorry for the rant, i guess venting helps finding solutions sometimes
What was it?
Same. ๐
They indeed have some pretty nice detail.
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).
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.
yeah that was always an eyesore for Arma -all AI runnung around with scopes up position. I think they need an Animating team to work with AI for some of these quick transitions. Running backwards, sideways, sprinting and change of momentum body weight shifts as well as weapon grip positions throughout all of that, which would really take the game to the next level IMO
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.
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.
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.
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?
@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
Good morning,
i'm using/modding the SCR_AIGetOutVehicle behavior and have it Fail() in the OnActionSelected() methode or you can do it in the constructor as well.
But by using this the A.I. will be doomed to stay in the vehicle no matter what. ๐
And it will apply to each and every A.I. of the game!
Ok let me take a look into this.
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
There is also SCR_AICombatComponent > DismountTurretCondition which i think is better for your case, since it just handles the dismount of A.I. using turrets i think.
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
Does anybody have any resources to get started with ai?
Unfortunately there isn't really a lot of documentation
https://community.bistudio.com/wiki/Arma_Reforger:Behavior_Editor
Thanks. Yeah what's up with the light documentation and tutorial scene.
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?
Negative. Just starting. No visual characters when I drag in a group prefab to my world.
Making a scenario
The characters not being visible is a bug
Ah that is great to know ty.
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.
Yes that will be great thank you.
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.
I used to penalize any units using roads in Arma3 by setting their CamoflageCoEff to 1, making them fully visible and a better target when using roads. units in grass, foliage would be rewarded with better camo value
I think they are simply using the first best path which very often will be a road.
I don't think you can do anything about it since most of the pathfinding is not moddable.
I would love to get proven wrong on this. ๐
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?
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.
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
so are you saying with Arma3's pathfinding -they would avoid the roads more (according to illustration) when in Stealth/Combat but used them more in Careless -as they should. Are you saying this doesnt exist in Reforger?
What does auto complete on the Waypoints mean?
Exactly that's how i "think" it works.
Well in RV many of the deeper/engine based A.I. related stuff is not accessible for moding or to re-search in general so its little hard to tell for sure.
But yeah there must have been some sort of additional pathfinding filters to achieve those behaviors.
So in enfusion/reforger there might be only one, which will lead to this A.I. prefare to use roads.
Maybe worth a watch esp. his "Scenario Framework Tutorial" series:
https://www.youtube.com/@blackheart_six/featured
Welcome to Blackheart_Six's Arma Reforger Tools Tutorials Channel.
The playlists and videos are aligned to the scenario framework wiki page, along with miscellaneous videos . There is no particular order you have to watch. Additionally a mod has been published to the workshop of the examples in the video.
Best Regards,
Blackheart_Six
Also may helpful:
https://www.youtube.com/playlist?list=PLJH5r5udPLjlAEIfJARuXYoOJIX1p6CUB
I think it will complete the waypoint, whenever one of the complete conditions is met.
Like "Any", "Leader"
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.
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.
Thank you very much
Oh wow that's awesome i never rly checked this specific part of the resource browser.
Pretty cool and thank you very much for your detailed explaination! ๐๐
I will do some messing around with it right away. ๐
Thats quite some new input... ๐

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
Every WP has it's behavior and how to move there ๐ all our WPs has just default but it can be modified ๐
So yes automatically
Thanks! Any chance you know anything about my question in #enfusion_scenario
unfortunately that's not a question for me much.
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
Has anyone tried to make a roaming AI system yet? Something where AI are moving around throughout the map dynamically instead of consistent clusters?
I think its more of a light thing, which you would need to adjust in the Perception Manager.
But this is global for all units
Yes it's global.
Not sure if there is something to adjust it for individual agents.
Most of the stuff related to this has no setters only getters afaik.
ViktorP case i guess. ๐
We need a Scripting AI Bible
Any tips on debugging AI brain / waypoint / movement logic
Is there a way to change deployment time?
The Diag Menu esp. the AI section.
https://community.bistudio.com/wiki?title=Arma_Reforger:Diag_Menu&useskin=darkvector
Yeah not much getting done in this regard those days.
Back in OFP ppl were writing books of how to do stuff.
Looks solid
True. Tho at least a whole lotta (seemingly) new functionality is being made that (hopefully) wont become spaghetti code but rather a strong base we can build off of.
Yeah i feel like using OOP was a very good decision.
Its a bit more effort, but it really helps a lot to not get lost into spaghetti code esp. once things start to grow and getting more complex.
is anyone know here can i get event AI Fire or shoot something from script especially Combat Component?
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
There was a discussion about this, where a dev said they may will add some kind of FireWeapon methode to be able to fire a weapon by script.
So far the only way is by using the behavior tree Fire node afaik.
There was someone to fix it by modding the script iirc.
However i would recommend you to just move on to 1.3 not only will it fix this bug but also some other critical A.I. related ones.
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.
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?
glad to hear that they start considering it
Yes I'm not at my PC right now but I can look in a little bit
who wrote that
cant fix the misspellings cause I havent requested an account yet
The wiki stuff?
Someone from BI i guess.
Maybe if i got more time i will try to make it the wikis and guide to mod the AI
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.
basically proper way is to generate new navmesh with double the capsule size - but on Everon it will be huge.
So you can e.g. disable some are flags on pathfinding component - as shown here https://discordapp.com/channels/105462288051380224/976155415756808203/1344620198719656028
I just want a few characters that are very fat ๐ญ
yea it has a cost - but it's possible
There will not be many of them running around, miniboss type enemies!
But I dont want them to go through tight spaces
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
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
possible I guess
Also floating/flying agents phase through building floors and doors
sorry - don't understand
What exactly do you mean by that? Can you elaborate little bit more?
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
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
I was working on a very simple agent that is just a floating sphere
This is separate from my fat character question btw ^^^
does it float in fixed height?
It can have max height of character if you are using character navmesh for it.
Otherwise as you said it will go through walls and floors
I think it's difficult to do with current systems as we don't have flying
in 1.3 will vehicle go through trees since they are breakable or will avoid at all costs like btrlike navmesh right now?
yup they can
awesome
is there a way to have the ai respawn with the same original objective
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?
depends ๐ if all spawns happen in one frame, it will rebuild just once otherwise it might build once or might build multiple times depending on bunch of stuff
But then Yethe should remove this while spawning a Character or Group, otherwise it makes no sens?
Anyone how know where i can find any info on creating AI vehicle patrols? Non scenario framework
If you use the GetIn or GetInNearest Waypoint, the Vehicle will be added to the group
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
Sure but i understand there is alot more needed than just that which is why id like some info on how its done from start to finish, as per usual theres 0 offical info on this, and little to no clips showing this process
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
yeah, it's Navmesh
as you can see any colider can be used for navmesh with just a interaction layer setup
That's dope
Still dont quite understand, ive never touched waypoints ๐คญ
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?
Yes, Enable Nav Debug and fly with GM
Or was it like this out of nowhere?
Yes strange.
i will load a clean Eden, to see if this is also there
Yeah just reset and test again.
well that's navmesh streaming in action while pathfinding.
However the fact you have straight line into ocean seems like something is trying to find path into <0, 0, 0>
Something is good ๐ At this time there are 2 Patrol Vehicles driving and like 50 AIs doing it jobs. But i cant see any unit that trys to goto 0.0.0
Figured it out... The guy in the deer tower created this strange path. Normally i gave them a "Scout" Waypoint. I now changed it to regular "Defend" and the path is gone
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
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.
CIV also like to use turrets ๐ Like LMG on Sandbags
I found a checkbox for that in group prefabs
You can disable that for any kind of group
?? Where? I cant find anything
Enable Attack on the AiConfigComp?
now I cant remember where I found this... Im looking.
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! ๐ฌ
ok thanks, i dont use Defend WP but i will check if i can force the behaviour by script
probably?
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" ๐
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.
AIAgent class:
AIGroup GetParentGroup();
So: AIGroup group = agent.GetParentGroup();?
You can use the entity to get the agent.
SCR_AIUtils > AIAgent GetAIAgent(notnull IEntity ent)
AIAgent agent = SCR_AIUtils.GetAIAgent(entity);
sorry, I've never seen SCR_AIUtils before, I'm not exactly sure how to use that.
AIAgent agent = SCR_AIUtils.GetAIAgent(entity);
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.
it's giving me the "can't find variable SCR_AIUtils" error. That's why I'm confused.
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...
maybe. I'm still on stable maybe that's why we're on different understandings
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. ๐
hey guys do you think someday bots will be able to pilot helicopters ?
Sure why not.
Let's just hope their flying skills will be much better than their driving skills right from the start.
Else ๐ชฆ
๐
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 ๐
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.
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
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?
they should be spawning, Id check your logs for errors that could give you a clue.
yeah theres a few errors but nothing pointing to AI
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
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
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);
also if you change cost modifiers remember it's project wise - it can't be modified just for some AIs
(yea I realized how problematic it is and trying to add it in future)
You sure? There is a node called create extra move params where I can set cost modifier
I also need the agent to not stop in front of fences
Want him to try running through fences
1 prefer straight
But default still respect area costs as mentioned in that post above.
Yeah my bad. ๐
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
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.
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?
Turn on AI spawning
Start the Scenario you've made
Not the World
You can do it through menu
So load into my scenario mod with tools and turn ai on via a menu?
Either, Spawn AI is scenario flag, but you can turn on Spawn AI test flag on your game mode prefab
Ahh i see, il have to check this ๐
Rip
?
All enabled ๐ญ
Sigh, please read what I said again, but slowly
yeah i just caught the differences in our screenshots ๐ doh
so yeah is already enabled
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.
Yeah ive tried both ways but same result. So either from cam position or from spawn menu
Also doesn't work when playing from scenario menu?
Ive even spawned myself far away then driven to the spawn point for them but no joy
This is wrong. Need to go through group menu like a player. But you already tried that I guess.
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?
IF the spawn AI flags are on yeah, you can try loading in the scenario as an alternative
An alternative? Lol
So after more testing my AmbientPatrols dont actually spawn on a live server neither, Yet the AI with the cap points spawn fine
Red herring
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.
is there a area space limit to where a team can spawn ie if its a small spot they wont spawn in.
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.
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).
He stops before making contact with the wall, otherwise it would break
But when it works it's dope
maybe we can try to figure out why. Can you film it with navmesh debug and pathfinding debug on for BTRlike? Preferrably on Arland as there it's not streamed.
And also paths from AI->Movement
Ohhh I see what happened here... I am using Soldiers for this guy because I need him to run into buildings. It works perfectly with fences for BTRLike!! So sorry about the confusion
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.
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
yea soldiers navmesh doesn't mark destructibles as we don't need it there
It's in project settings
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.
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...).
Thank you
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 ๐คทโโ๏ธ๐
ok once again what exactly is the issue - that you don't see them during edit time in workbench?
as possibly its just WB bug... and shouldn't affect functionality itself
Yeah so. My main cap point ai spawns work. But any ambientpatrolspawn i place down do not spawn the Ai. Il load in while in WB to test and the ai just never spawn
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
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.
SCR_AmbientPatrolSystem
Is the code right? So il need to duplicate that in with my scenario?
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
I DM'd you.
I dont think il get it, got dms off ๐
Unless friend ๐
sent u friend req
OKay accepted it and msg you again
does anyone else have an issue with ai not following orders when spawned with GM but they work fine if generated from tent?
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
If you're trying to add these to an empty Arland world then missing Conflict setup is likely the issue. Try duplicating CTI_Campaign_Arland.ent and check your world has all the same conflict-related systems/managers etc set up properly, or just use an existing Conflict world as your starting point
Thanks for your seriously detailed reply ๐
After deciding to nuke it again my AI do now spawn ๐ณ๐คทโโ๏ธ๐
No idea why they now decide to work but they work!! ๐
Still unsure on the reasons behind this but i do feel it might have been a distace check that was my issue
Is there any kind of diag tool to help me figure out why the ai randomly stop using mortars?
This is also very interesting for me, maybe there is already a way to change these parameters in ai
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?
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

