Jump to content
exevankeko

How to make AI sit in a chair and the animation stops when it detects the enemy

Recommended Posts

I'm using this command: [man4, "SIT_SAD1-2", "FULL", {triggerActivated Tri5}] BIS_fnc_ambientAnimCombat call;

Animation does not work, as I do to sit in the chair?

anyone know how this command works well?

Before using this command in my missions 0 = this spawn {_this switchMove "InBaseMoves_SittingRifle2";} this disableAI "anim"; this disableCollisionWith CH1; removeBackpack official;

The only bad thing is that this command did not react to the enemy.

But no longer works more with the last upgrade ARMA 3 =(

Edited by exevankeko

Share this post


Link to post
Share on other sites

Aren't you mixing a few things up here.

First [man4, "SIT_SAD1-2", "FULL", {triggerActivated Tri5}] BIS_fnc_ambientAnimCombat call; is in the wrong place

should be

[man4, "SIT_SAD1-2", "FULL", {triggerActivated Tri5}] call BIS_fnc_ambientAnimCombat 

however "SIT_SAD1-2" are not part of ambientAnimCombat so that would need to be "SIT_LOW"

[man4, "SIT_LOW", "FULL", {triggerActivated Tri5}] call BIS_fnc_ambientAnimCombat;

you have a syntax error "InBaseMoves_SittingRifle2";}

0 = this spawn {_this switchMove "InBaseMoves_SittingRifle2";} this disableAI "anim"; this disableCollisionWith CH1;

should be

 0 = this spawn {_this switchMove "InBaseMoves_SittingRifle2"}; this disableAI "anim"; this disableCollisionWith CH1;

Share this post


Link to post
Share on other sites
Aren't you mixing a few things up here.

First [man4, "SIT_SAD1-2", "FULL", {triggerActivated Tri5}] BIS_fnc_ambientAnimCombat call; is in the wrong place

should be

[man4, "SIT_SAD1-2", "FULL", {triggerActivated Tri5}] call BIS_fnc_ambientAnimCombat 

however "SIT_SAD1-2" are not part of ambientAnimCombat so that would need to be "SIT_LOW"

[man4, "SIT_LOW", "FULL", {triggerActivated Tri5}] call BIS_fnc_ambientAnimCombat;

you have a syntax error "InBaseMoves_SittingRifle2";}

0 = this spawn {_this switchMove "InBaseMoves_SittingRifle2";} this disableAI "anim"; this disableCollisionWith CH1;

should be

 0 = this spawn {_this switchMove "InBaseMoves_SittingRifle2"}; this disableAI "anim"; this disableCollisionWith CH1;

It does not work, the AI ​​does not sit on the chair.

There's something wrong, or maybe missing

---------- Post added at 21:38 ---------- Previous post was at 21:30 ----------

Aren't you mixing a few things up here.

First [man4, "SIT_SAD1-2", "FULL", {triggerActivated Tri5}] BIS_fnc_ambientAnimCombat call; is in the wrong place

should be

[man4, "SIT_SAD1-2", "FULL", {triggerActivated Tri5}] call BIS_fnc_ambientAnimCombat 

however "SIT_SAD1-2" are not part of ambientAnimCombat so that would need to be "SIT_LOW"

[man4, "SIT_LOW", "FULL", {triggerActivated Tri5}] call BIS_fnc_ambientAnimCombat;

you have a syntax error "InBaseMoves_SittingRifle2";}

0 = this spawn {_this switchMove "InBaseMoves_SittingRifle2";} this disableAI "anim"; this disableCollisionWith CH1;

should be

 0 = this spawn {_this switchMove "InBaseMoves_SittingRifle2"}; this disableAI "anim"; this disableCollisionWith CH1;

This method worked very well before, with the last upgrade of the game no longer works more. (However the AI ​​did not react to the enemy)

If anyone knows of some method that works now and the AI ​​will sit in the chair and make the animation stop when it detects an enemy, would be wonderful.

0 = this spawn {_this switchMove [b]"InBaseMoves_SittingRifle2";}[/b] this disableAI "anim"; this disableCollisionWith CH1; 

Share this post


Link to post
Share on other sites

If they changed something I wouldn't know but the command your looking for does not exist in the function BIS_fnc_ambientAnimCombat, it does exist int BIS_fnc_ambientAnim.

The only animations listed for BIS_fnc_ambientAnimCombat are

_acceptableStates =

[

"STAND",

"STAND_IA",

"SIT_LOW",

"KNEEL",

"LEAN",

"WATCH",

"WATCH1",

"WATCH2"

];

for BIS_fnc_ambientAnim they are

> "STAND" - standing still, slightly turning to the sides, with rifle weapon

> "STAND_IA" - standing still, slightly turning to the sides, with rifle weapon

> "STAND_U1-3" - standing still, slightly turning to the sides, no weapon

> "WATCH1-2" - standing and turning around, with rifle weapon

> "GUARD" - standing still, like on guard with hands behing the body

> "LISTEN_BRIEFING" - standing still, hands behind back, recieving briefing / commands, no rifle.

> "LEAN_ON_TABLE" - standing while leaning on the table

> "LEAN" - standing while leaning (on wall)

> "BRIEFING" - standing, playing ambient briefing loop with occasional random moves

> "BRIEFING_POINT_LEFT" - contains 1 extra pointing animation, pointing left & high

> "BRIEFING_POINT_RIGHT" - contains 1 extra pointing animation, pointing right & high

> "BRIEFING_POINT_TABLE" - contains 1 extra pointing animation, pointing front & low, like at table

> "SIT1-3" - sitting on chair or bench, with rifle weapon

> "SIT_U1-3" - sitting on chair or bench, without weapon

> "SIT_AT_TABLE" - sitting @ table, hands on table

> "SIT_HIGH1-2" - sitting on taller objects like a table or wall, legs not touching the ground. Needs a rifle!

> "SIT_LOW" - sitting on the ground, with weapon.

> "SIT_LOW_U" - sitting on the ground, without weapon.

> "SIT_SAD1-2" - sitting on a chair, looking very sad.

> "KNEEL" - kneeling, with weapon.

> "PRONE_INJURED_U1-2" - laying wounded, back on the ground, wothout weapon

> "PRONE_INJURED" - laying wounded & still, back on the ground, with or without weapon

> "KNEEL_TREAT" - kneeling while treating the wounded

> "REPAIR_VEH_PRONE" - repairing vehicle while laying on the ground (under the vehicle)

> "REPAIR_VEH_KNEEL" - repairing vehicle while kneeling (like changing a wheel)

> "REPAIR_VEH_STAND" - repairing/cleaning a vehicle while standing

0 = this spawn {_this switchMove "InBaseMoves_SittingRifle2";} this disableAI "anim"; this disableCollisionWith CH1;

will never work as it has a sytax error which I pointed out.

To release the unit from the sitting position use

man4 switchmove "";man4 ensableAI "anim";man4 enableCollisionWith CH1;

or

man4 playMove "amovpercmstpsraswrfldnon";man4 ensableAI "anim";man4 enableCollisionWith CH1;

placed in a trigger

Share this post


Link to post
Share on other sites
If they changed something I wouldn't know but the command your looking for does not exist in the function BIS_fnc_ambientAnimCombat, it does exist int BIS_fnc_ambientAnim.

The only animations listed for BIS_fnc_ambientAnimCombat are

_acceptableStates =

[

"STAND",

"STAND_IA",

"SIT_LOW",

"KNEEL",

"LEAN",

"WATCH",

"WATCH1",

"WATCH2"

];

for BIS_fnc_ambientAnim they are

> "STAND" - standing still, slightly turning to the sides, with rifle weapon

> "STAND_IA" - standing still, slightly turning to the sides, with rifle weapon

> "STAND_U1-3" - standing still, slightly turning to the sides, no weapon

> "WATCH1-2" - standing and turning around, with rifle weapon

> "GUARD" - standing still, like on guard with hands behing the body

> "LISTEN_BRIEFING" - standing still, hands behind back, recieving briefing / commands, no rifle.

> "LEAN_ON_TABLE" - standing while leaning on the table

> "LEAN" - standing while leaning (on wall)

> "BRIEFING" - standing, playing ambient briefing loop with occasional random moves

> "BRIEFING_POINT_LEFT" - contains 1 extra pointing animation, pointing left & high

> "BRIEFING_POINT_RIGHT" - contains 1 extra pointing animation, pointing right & high

> "BRIEFING_POINT_TABLE" - contains 1 extra pointing animation, pointing front & low, like at table

> "SIT1-3" - sitting on chair or bench, with rifle weapon

> "SIT_U1-3" - sitting on chair or bench, without weapon

> "SIT_AT_TABLE" - sitting @ table, hands on table

> "SIT_HIGH1-2" - sitting on taller objects like a table or wall, legs not touching the ground. Needs a rifle!

> "SIT_LOW" - sitting on the ground, with weapon.

> "SIT_LOW_U" - sitting on the ground, without weapon.

> "SIT_SAD1-2" - sitting on a chair, looking very sad.

> "KNEEL" - kneeling, with weapon.

> "PRONE_INJURED_U1-2" - laying wounded, back on the ground, wothout weapon

> "PRONE_INJURED" - laying wounded & still, back on the ground, with or without weapon

> "KNEEL_TREAT" - kneeling while treating the wounded

> "REPAIR_VEH_PRONE" - repairing vehicle while laying on the ground (under the vehicle)

> "REPAIR_VEH_KNEEL" - repairing vehicle while kneeling (like changing a wheel)

> "REPAIR_VEH_STAND" - repairing/cleaning a vehicle while standing

0 = this spawn {_this switchMove "InBaseMoves_SittingRifle2";} this disableAI "anim"; this disableCollisionWith CH1;

will never work as it has a sytax error which I pointed out.

To release the unit from the sitting position use

man4 switchmove "";man4 ensableAI "anim";man4 enableCollisionWith CH1;

or

man4 playMove "amovpercmstpsraswrfldnon";man4 ensableAI "anim";man4 enableCollisionWith CH1;

placed in a trigger

Thank you very much for your help, I could make AI sit in a chair =)

using the following: [this, "SIT1"] call BIS_fnc_ambientAnim;

Still can not get the AI ​​to do stop animation when it detects an enemy!

Try these codes but it did not work = ( ---->

man4 switchmove "";man4 enableAI "anim";man4 enableCollisionWith CH1;  

Share this post


Link to post
Share on other sites

man4 switchmove "";man4 enableAI "anim";man4 enableCollisionWith CH1;

Works fine here did you remember to name the unit man4

also what conditions are you using to set off the trigger.

add a hint to make sure it's activating

man4 switchmove "";man4 enableAI "anim";man4 enableCollisionWith CH1;hint "Enemy Spotted";

Share this post


Link to post
Share on other sites
man4 switchmove "";man4 enableAI "anim";man4 enableCollisionWith CH1;

Works fine here did you remember to name the unit man4

also what conditions are you using to set off the trigger.

add a hint to make sure it's activating

man4 switchmove "";man4 enableAI "anim";man4 enableCollisionWith CH1;hint "Enemy Spotted";

I put this code in a trigger in the part that says "ON ACT" right? would have to do just that? and also what I put in the init soldier?

THE TRIGGER is set in present Blufor once

Share this post


Link to post
Share on other sites

name the unit man4

in the units init

[this, "SIT1"] call BIS_fnc_ambientAnim; 

set the trigger blufor present

on act

man4 switchmove "";man4 enableAI "anim";man4 enableCollisionWith CH1;hint "Enemy Spotted";

If it still won't work I can't explain it as it works here.

Share this post


Link to post
Share on other sites
name the unit man4

in the units init

[this, "SIT1"] call BIS_fnc_ambientAnim; 

set the trigger blufor present

on act

man4 switchmove "";man4 enableAI "anim";man4 enableCollisionWith CH1;hint "Enemy Spotted";

If it still won't work I can't explain it as it works here.

Works only one second, and then sits in the chair. = (

Share this post


Link to post
Share on other sites

I need help, anyone knows how to do, the animation stops when it detects an enemy and work well?

Share this post


Link to post
Share on other sites

man4 call BIS_fnc_ambientAnim__terminate

or if you have multiple men playing ambient anims you can send it an array e.g

[man1, man2, man3, mna4] call BIS_fnc_ambientAnim__terminate

Notice that there are two underscores between ambientAnim and terminate

TRIGGER

activation : NONE

condition : man4 call BIS_fnc_enemyDetected

onAct : man4 call BIS_fnc_ambientAnim__terminate

WITHOUT TRIGGER

All placed in the unit init box :-

[this, "SIT1"] call BIS_fnc_ambientAnim;

h = this spawn {
waitUntil {_this call BIS_fnc_enemyDetected};
_this call BIS_fnc_ambientAnim__terminate;
};

OR

(Not the best way to do this if you have loads of units doing ambient anims, in which case you would instead add all your units in ambient anims to global vars to iterate around. More posted to give others ideas on how to maybe setup groups that would exit anims on the enemy being detected. Just food for thought...)

[this, "SIT1"] call BIS_fnc_ambientAnim;

[format ["AAcancel_%1",str this], "onEachFrame", {
_unit = _this select 0;
_SEHID = _this select 1;
if (_unit call BIS_fnc_enemyDetected) then {
	_unit call BIS_fnc_ambientAnim__terminate;
	[_SEHID, "onEachFrame"] call BIS_fnc_removeStackedEventHandler;;
};
}, [this, format ["AAcancel_%1",str this]] ] call BIS_fnc_addStackedEventHandler

Edited by Larrow
  • Like 3

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

×