Jump to content
Sign in to follow this  
hellfish6

Captive soldier animation

Recommended Posts

Hi guys

I'm trying to make a mission where a bunch of non-grouped Resistance soldiers start off as captives with their hands behind their heads. I've got the captive part down just fine, but I can't get them to put their hands behind their head. Here is what my init line for the soldiers says (cap1 is the soldier name, all soldiers have unique names like cap2 or cap3, of course):

</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Quote </td></tr><tr><td id="QUOTE">cap1 SetCaptive True; RemoveAllWeapons cap1; cap1 switchMove "FXStandSurUniv";<span id='postcolor'>

I've also tried 'playmove' as well, with no luck. And simply "fxstandsur" as well. And in all combinations.

I've searched OFPEC and here and have yet to find a satisfactory answer.

Also, can anyone recommend a good way for a player who has killed off all the guards to free the captives? I haven't even attempted this yet, but I'd like some advice/cheat info before I try it. I imagine a trigger with

</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Quote </td></tr><tr><td id="QUOTE">[cap1, cap2, etc] setcaptive false; joingroup 'group' <span id='postcolor'> might work.

Share this post


Link to post
Share on other sites

You did everything right with the script. I don't know why BIS did it, but any cammand that starts with "FX" has to be scripted in a separate *.sqs file. So just copy the last part of your script and then activate it from the initialization field of the soldier like [this] exec "yourscript.sqs"

Share this post


Link to post
Share on other sites

If captives are grouped together (one group) then name whole group (captives) and you can use :

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

{_x setCaptive false} forEach units captives;(units captives) join group<span id='postcolor'>

If captives are not in one group then use :

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

{_x setCaptive false;[_x] join group} forEach [cap1,cap2, ...]<span id='postcolor'>

Share this post


Link to post
Share on other sites

</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Quote (Frugo_PL @ Feb. 14 2003,20:33)</td></tr><tr><td id="QUOTE">I don't know why BIS did it, but any cammand that starts with "FX" has to be scripted in a separate *.sqs file.<span id='postcolor'>

Or trigger. It's just init.field that doesn't work.

Share this post


Link to post
Share on other sites

</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Quote (iNeo @ Feb. 15 2003,18:24)</td></tr><tr><td id="QUOTE"></span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Quote (Frugo_PL @ Feb. 14 2003,20:33)</td></tr><tr><td id="QUOTE">I don't know why BIS did it, but any cammand that starts with "FX" has to be scripted in a separate *.sqs file.<span id='postcolor'>

Or trigger. It's just init.field that doesn't work.<span id='postcolor'>

Thx for the info.

Share this post


Link to post
Share on other sites

</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Quote (Bart.Jan @ Feb. 15 2003,04:09)</td></tr><tr><td id="QUOTE">If captives are grouped together (one group) then name whole group (captives) and you can use :

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

{_x setCaptive false} forEach units captives;(units captives) join group<span id='postcolor'>

If captives are not in one group then use :

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

{_x setCaptive false;[_x] join group} forEach [cap1,cap2, ...]<span id='postcolor'><span id='postcolor'>

Ok, stupid question time.

What does "_x" represent?

If I have 4 POWs, pow1, pow1_1, pow1_2 and pow1_3, what exactly do I need to put into the Activation field of the trigger to get these four soldiers to not be captive anymore and to join a group?

Forgive me... I'm not used to making missions that involve much more than blowing stuff up.

Share this post


Link to post
Share on other sites

_x is [cap1,cap2, ...]

so instead of typing the names of the captives several times you just type _x.

so taking the code from bart.jan because Im lazy I guess you would have this:

{_x setCaptive false;[_x] join group} forEach [pow1, pow1_1, pow1_2 and pow1_3]

-Edit

You could juse replace "group" with "player" if you want them to join the players group. That way you dont have to worry about group names.

Share this post


Link to post
Share on other sites

Hmm...

Thanks for the help, but I've got another problem with it now. When the trigger is activated, I get the following error:

</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Quote </td></tr><tr><td id="QUOTE">{_x setCaptive false;[_x] join group} forEach [pow1, pow1_1, pow1_2 and pow1_3]|#|;':Error and: Type Object, expected Bool

<span id='postcolor'>

What's that mean and what did I screw up now?

Your help is once more greatly appreciated.

Share this post


Link to post
Share on other sites

OK - FYI to anybody who might need something like this in the future:

My last error on this part was that I included "and" in the trigger function between pow1_2 and pow1_3. Remove that "and" and the trigger works perfectly.

Share this post


Link to post
Share on other sites

Elements of array are always separated by commas.

I think InqWiper used and by same way as I used ... in my example.

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  

×