Jump to content
Sign in to follow this  
AveryTheKitty

How to do animation sequences?

Recommended Posts

In the beginning of my mission, I want to have the 4 players walk into the base playing the walk animations from Survive's HUB.

I have no idea how to do animations, so any help is much appreciated!

Share this post


Link to post
Share on other sites

Go into the game, press Esc and then bottom right of the debug console press Animations, the animations viewer then opens up. Out of the dropdowns on the left, choose the top 1 and then select cutscenes in that. All the display names are pretty complicated (they do make sense), however if memory serves the walking into base ones are right at the bottom. When you've found the right one double click on it, this closes the animation viewer and opens the config viewer, near the bottom you can find the classname, so copy and paste that into your init.sqf.

Now you need to use switchMove or playMove, if this is MP it gets more complicated to make sure everyone plays the animation and everyone else sees the animation. However I don't really know about that.

https://community.bistudio.com/wiki/playMove

https://community.bistudio.com/wiki/switchMove

Share this post


Link to post
Share on other sites
In the beginning of my mission, I want to have the 4 players walk into the base playing the walk animations from Survive's HUB.

I have no idea how to do animations, so any help is much appreciated!

Very simple!

1. First, when you spawn in the game within the editor, pause the game and click on Animations.

2. After clicking on that, you should see a list of animations. (I would suggest heading through cutscenes below the classname of the soldier.

3. click on the animation you want ONCE, then do Left Ctrl + C.

4. Alt + TAB and open up notepad, C++ whatever.

5. in your opened notepad etc. Do Left Ctrl + V.

6. Then, after copying all your desired animations, put each one as:

player switchMove "YourAnimation";

Don't worry about it being a switchMove command, they are pretty handy to use as long as you know how to use them right! :D

7. After applying that command to each of your animations, head back into the Animation Viewer by simply doing Alt + TAB, again.

This is the part where you MUST listen carefully!

8. click on your first animation you copied, do you notice a little HUD on the bottom left? (that is the stats of the animation, look closely at the animation LENGTH)

9. Get the Animation's length time by either writing it down on paper or by Alt + TABing again.

10. If you have already Alt + TAB, skip this step. If you haven't, do it now. :P

11. Using your animation length, put this into a sleep command just under your first animation:

Example:

player switchMove "YourAnimation";
sleep 2.00; //Length time of animation

12. After doing that, simply put this command under the sleep command: (full example is below anyway)

player switchMove "YourAnimation";
sleep 2.00 //Animation length time
player switchMove ""; //DO NOT CHANGE, THIS SETS ANIMATION TO DEFAULT!

13. The reason why there should be nothing in that last bottom switchMove command is that it sets the characters animation to default. OTHERWISE, if using multiple animations, your character may freeze up and may not do any of them!

14. After doing that, you may either paste your animation script either into the init.sqf or another file you may wish to put it :)

I have whipped up a script for you anyway to use though to give you a head start, here is your SURVIVE HUB animation :D

init.sqf:

[] execVM "bot1.sqf";
[] execVM "player.sqf";

bot1.sqf:

bot1 switchMove "Acts_welcomeOnHUB01_AIWalk";sleep 3.000;
bot1 switchMove "";
bot1 switchMove "Acts_welcomeOnHUB01_AIWalk_1";
sleep 5.998;
bot1 switchMove "";
bot1 switchMove "Acts_welcomeOnHUB01_AIWalk_2";
sleep 11.668;
bot1 switchMove "";
bot1 switchMove "Acts_welcomeOnHUB01_AIWalk_3";
sleep 6.333;
bot1 switchMove "";
bot1 switchMove "Acts_welcomeOnHUB01_AIWalk_4";
sleep 6.997;
bot1 switchMove "";
bot1 switchMove "Acts_welcomeOnHUB01_AIWalk_5";
sleep 5.665;
bot1 switchMove "";
bot1 switchMove "Acts_welcomeOnHUB01_AIWalk_6";
sleep 6.333;
bot1 switchMove "";

player.sqf:

player switchMove "Acts_welcomeOnHUB01_PlayerWalk";sleep 3.333;
player switchMove "";
player switchMove "Acts_welcomeOnHUB01_PlayerWalk_1";
sleep 10.000;
player switchMove "";
player switchMove "Acts_welcomeOnHUB01_PlayerWalk_2";
sleep 3.333;
player switchMove "";
player switchMove "Acts_welcomeOnHUB01_PlayerWalk_3";
sleep 14.992;
player switchMove "";
player switchMove "Acts_welcomeOnHUB01_PlayerWalk_4";
sleep 3.334;
player switchMove "";
player switchMove "Acts_welcomeOnHUB01_PlayerWalk_5";
sleep 8.333;
player switchMove "";
player switchMove "Acts_welcomeOnHUB01_PlayerWalk_6";
sleep 11.001;
player switchMove "";

Hope this tutorial helps!

Kind Regards,

Rawner135

  • Like 4

Share this post


Link to post
Share on other sites

Good post, Ranwer, thank you.

Saved in my Scrapbook for future reference.

Cheers

Orc

Share this post


Link to post
Share on other sites

You can also use animationState to see if the animation has finished.

The Acts_welcomeOnHUB01_PlayerWalk_# animations are actually linked to run one after the other, the last one ( _6 ) also interpolates back to a normal rifleman idle pose ("AmovPercMstpSlowWrflDnon") so no need for switchMove "".

"AmovPercMstpSlowWrflDnon"

A mov	//ACTION move
P erc	//POSITION erect
M stp	//MOVE stopped
S low	//STATE lowered ( weapon position ) 
W rfl	//WEAPON rifle
D non	//DIRECTION none

So you could just do something like...

nul = player spawn {
_anim = toLower "Acts_welcomeOnHUB01_PlayerWalk";
player switchMove _anim;
waitUntil {
	hint format [ "anim : \n%1", animationState player ];
	!( animationState player select [ 0, count _anim ] isEqualTo _anim )
};
hint "animations finished";
};

  • Like 2

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  

×