Jump to content
Sign in to follow this  
Mongoose_84

making civilians act like "normal" people ;)

Recommended Posts

I want to use civilians within east- and west groups, but they just won't stop acting like civilians, even if they don't belong to the civilian side anymore, being part of a non-civilian group.

I already figured that by saying "civUnit setCaptive false", they are no longer neutral to everybody, but they still don't keep formation, always try to hide and hardly ever use their guns.

Maybe there's some boolean variable, that needs to be switched like for example: civUnit setVariable [isCivilian, false]

Would be glad, if someone could help. Btw, is there a list of all unit variables somewhere?

Share this post


Link to post
Share on other sites
...

Did you check the mission.sqm file with notepad to see the side information for the unit? is it on Civ/west/east ? if its on civ.. try changing it manually to west or east.

Share this post


Link to post
Share on other sites

maybe it's not that big of a problem after all...

their standard behaviour is "hide" obviously - i just didn't think of setting it to something else...

(edit: on my current script-testing-map i constantly add new units to a team and i didn't realise that whenever i do so, i have to set the entire group's behavior to "aware" again)

so now, they don't spread out and hide anymore. all that is still different about them is that their formations are pretty disorderly (they always just stand within a few meters of where theyre supposed to be standing), but that doesn't even bother me.

edit2: this post should be considered bulls*** whistle.gif

Share this post


Link to post
Share on other sites

With my DEA Drugs Ops 2 Mission released on this forum i have all the civilians EASt and they act and shoot me at me just like east guys.. depbo the mission and see how i did it.

3 Civilans with 1 East Sargent in there group make sure the east guy is the leader and set his presence to 0% and he wont be there on mission load but the civilians will be east.

Share this post


Link to post
Share on other sites

*sigh*

i'm not testing thoroughly enough it seems.

turned out, they just act close to normal, while they are not in combat - as soon as they are, they DO act like civilians and hide, no matter what their behaviour is set to. and the different formations look suspisciously similar to one another - don't think they mean anything to civilians at all.

that is, my previous post is more or less bulls***...

Share this post


Link to post
Share on other sites
With my DEA Drugs Ops 2 Mission released on this forum i have all the civilians EASt and they act and shoot me at me just like east guys.. depbo the mission and see how i did it.

3 Civilans with 1 East Sargent in there group make sure the east guy is the leader and set his presence to 0% and he wont be there on mission load but the civilians will be east.

they definitely belong to either east or west and they do fight each other - they just won't stop hiding everytime they encounter an enemy and don't stick to formations.

Share this post


Link to post
Share on other sites

I don't think there's an easy fix for this problem since civilians have a completely different behavior set in their config than other units.

Especially the formation behavior isn't affected by the side, but the FSM that it is set to in the config.

Share this post


Link to post
Share on other sites
I don't think there's an easy fix for this problem since civilians have a completely different behavior set in their config than other units.

Especially the formation behavior isn't affected by the side, but the FSM that it is set to in the config.

that is why i thought i could use something like:

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">

civUnit setVariable [isCivilian, false]

to access these settings and change them.

but then again I'm pretty new to this and maybe what is set in the cfg cannot be changed this way at all?

Share this post


Link to post
Share on other sites

in the editor, press F2

with your mouse, drag a line from the civilian to the group leader

give him a gun with addweapon

he will thus stick to formation and battle it out no less fiercely than his (para)military group members ...

Share this post


Link to post
Share on other sites
in the editor, press F2

with your mouse, drag a line from the civilian to the group leader

give him a gun with addweapon

he will thus stick to formation and battle it out no less fiercely than his (para)military group members ...

well, thanks for your participation... but that is not the problem.

the civs already belong to east/west groups and they already have guns - they even use them. they just won't stop hiding when they fight and ignore formations.

edit: i know, that it worked that way in OPF, but have you tried it in ArmA? i don't get it to work - civs just act differently, even if they don't belong to the civ side anymore... must be connected to the unit itself and i would really like to know, if it can be changed somehow.

Share this post


Link to post
Share on other sites
that is why i thought i could use something like:

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">

civUnit setVariable [isCivilian, false]

to access these settings and change them.

but then again I'm pretty new to this and maybe what is set in the cfg cannot be changed this way at all?

Have a look at the FSMs included in the character.pbo, then you'll see the differences.

With those FSMs every type of unit can have its own specific behavior, so there isn't some kind of special civilian behavior that the engine would know as such. For the engine it's just a different FSM that it's running for those civilians.

As far as I can see there's no way to get around this beside creating a civilian addon with the same FSM that soldier units use, or even a new FSM where this behavior can be switched or altered by mission scripts.

Share this post


Link to post
Share on other sites
that is why i thought i could use something like:

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">

civUnit setVariable [isCivilian, false]

to access these settings and change them.

but then again I'm pretty new to this and maybe what is set in the cfg cannot be changed this way at all?

Have a look at the FSMs included in the character.pbo, then you'll see the differences.

With those FSMs every type of unit can have its own specific behavior, so there isn't some kind of special civilian behavior that the engine would know as such. For the engine it's just a different FSM that it's running for those civilians.

As far as I can see there's no way to get around this beside creating a civilian addon with the same FSM that soldier units use, or even a new FSM where this behavior can be switched or altered by mission scripts.

that's what i was afraid it would be like...

so i'll have to create an addon (which i've never done before...) and create new soldier-classes that only use the civ-models, then.

Share this post


Link to post
Share on other sites

i think i found the lines that are responsible for the civs special behaviour in the characters/config.bin (class civilian):

fsmFormation = "ca\characters\scripts\formationC.fsm";

smDanger = "ca\characters\scripts\formationCDanger.fsm";

i guess i can not just change these two variables ingame via script, right? (on the instances - not the class itself)

Share this post


Link to post
Share on other sites
i think i found the lines that are responsible for the civs special behaviour in the characters/config.bin (class civilian):

fsmFormation = "ca\characters\scripts\formationC.fsm";

smDanger = "ca\characters\scripts\formationCDanger.fsm";

Yes those are the config lines I was refering to.
i guess i can not just change these two variables ingame via script, right? (on the instances - not the class itself)

Nope, not as far as I know.

From what I can see, mission makers who are used to be able to do some AI scripting in their missions will have massive problems with those new FSMs in addons.

Share this post


Link to post
Share on other sites
i think i found the lines that are responsible for the civs special behaviour in the characters/config.bin (class civilian):

fsmFormation = "ca\characters\scripts\formationC.fsm";

smDanger = "ca\characters\scripts\formationCDanger.fsm";

Yes those are the config lines I was refering to.
i guess i can not just change these two variables ingame via script, right? (on the instances - not the class itself)

Nope, not as far as I know.

From what I can see, mission makers who are used to be able to do some AI scripting in their missions will have massive problems with those new FSMs in addons.

well thanks, gonna have to learn how to create an addon then.

Share this post


Link to post
Share on other sites

... and maybe someone can help me getting into this a little ...

i really just want to create the most simple addon imaginable. i downloaded "EliteNess 2.03" and haven't yet figured out, how to turn a (single) .bin-file into a .pbo.

now all i want is to "#include" the standard characters.pbo, so i can create new classes that inherit from "soldierWB/EB" and just modify one or two things about them in a single .bin-file and rePbo it.

i didn't find a tutorial on this, but maybe someone knows exactly how this is done or where to find a (simple) tutorial on this and can safe me a lot of time.

edit: you see, it's probably a matter of 5 minutes, IF you know how. i imagine it would look something like this:

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">

#include characters.pbo

class soldierOnVacation(:D) : SoldierWB

{

model = "\ca\characters\civil_1_tshirt";

};

but not exactly like this...

Share this post


Link to post
Share on other sites

Did you try finding the FSM attached to soldier units in config and maybe force your civies to use it with a doFSM command?

Share this post


Link to post
Share on other sites
Did you try finding the FSM attached to soldier units in config and maybe force your civies to use it with a doFSM command?

phew, no i haven't tried doFSM - thanks for pointing me to that (if thats proper english...), gonna try it next.

but with the amount of scripting it turns out to take turning a civilian into a common soldier, i guess i would rather have new civilian-looking soldier classes added by an addon (if i knew how...).

btw: the first parameter would be "formation", but i have no idea what other two parameters (position, target) i should pass along with it... ["formation.fsm", position _this, _this] caused a CTD sad_o.gif

edit: ... and even if i use the parameters used in the example i get a CTD banghead.gif

another edit: okay, this problem has nothing to do with civilians anymore, gonna start a new topic...

Share this post


Link to post
Share on other sites

The doFSM and commandFSM commands them self do work, but somehow the formation.fsm crashes the game when used with those.

But since those commands don't "override" the config-defined FSMs, but run side by side with them, you probably wouldn't have much joy because they would constantly get into each others way. Also FSMs run with doFSM or commandFSM seem to be exited instantly when any another command is given to the unit, so there is no guarantee how long your FSM would run.

Share this post


Link to post
Share on other sites

Technically, aren't civilians acting like "normal" people when they run for their lives? smile_o.gif

Share this post


Link to post
Share on other sites

I tested yesterday, and didn't notice much difference between normal soldiers and civvies under soldier command.

They follow leader's orders, go attack, fire, etc... and even take the place of any dead leader and continue fighting.

Share this post


Link to post
Share on other sites
How do you make them loot all the shops?

you need to use the "New_Orleans.pbo" for that to work smile_o.gif

Share this post


Link to post
Share on other sites
I tested yesterday, and didn't notice much difference between normal soldiers and civvies under soldier command.

They follow leader's orders, go attack, fire, etc... and even take the place of any dead leader and continue fighting.

If there's no difference between civilian and regular soldiers in a mixed group, then you better check your install, because then it's definitely not working right.

Put a mixed group of regular soldiers and civilians on the map with a soldier as group leader. Then give the group a normal move waypoint and after that another move waypoint where you set the group to "danger". Don't place any enemies.

One thing you can sometimes see when they're running to the first waypoint is that the civilians keep a less strict formation than the soldiers do.

But the main difference is when the group is set to "danger". The civilians don't kneel or go prone.

One major difference is that civilians don't cover in a group while soldiers do. That's actually a bigger problem since soldiers look around in their group to see who's covering and if there aren't enough who cover they start covering. In a mixed group where there are more or equal the number of civilians than soldiers, this leads to a deadlock where all the soldiers are covering and waiting for the civilians to advance. But since the leader is a soldier and isn't moving since he's covering as well, they don't move. So the group gets completely stuck.

Also civilians are set to do all kinds of things like run for cover when the shooting starts.

The difference in movement behavior is triggered by setting the group to "danger" and the fleeing and other stuff is triggered by the AI itself when it feels it is in danger due to shooting or sighting an enemy.

If you know a little bit of scripting, then have a look at the .fsm files in the characters.pbo. The formationC.fsm and the formationCDanger.fsm are the fsms the civilians use while the formation.fsm seems to be the scripting equivalent of what the regular soldiers use (although they seem to use a hardcoded version of it).

Share this post


Link to post
Share on other sites
Technically, aren't civilians acting like "normal" people when they run for their lives? smile_o.gif

isn't irony a beautiful thing? wink_o.gif

anyhow, i've given up on changing civilians with scripts - i'll rather just try and make an addon that adds civilian-looking soldiers to the game.

but thx to everyone, anyway!

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×