Jump to content

Recommended Posts

I thought I would start the new year off right by giving you all...THE FINGER! 🖕 😇   Happy 2020 Everybody!!!  May this be an awesome ARMA year, and good year in general.

How it works:  Vanilla ARMA has no finger gesture, but in the Tanoa APEX campaign there is a long animation where an AI slowly turns around and gives the finger then looks around some more.  As a mission maker, its not very useful because its hard to time the gesture with some dialogue and position him properly, and control the direction he is facing.  At mission start, I create an AI and play that animation and wait exactly 8.3 seconds then disable animation on the unit.  Now his finger is deployed.  This unit is hidden, and becomes a "stunt double" that you can use for any AI unit.  Call my script, and the stunt double will be assigned the same face and loadout, and direction as the AI unit you want to make the gesture.  The AI unit is teleported away, and the stunt double is teleported in and now you have movie magic!   Great for cutscenes, hostile civilians, flipping off officers when they turn their back, etc...   Have fun with it!

 

Limitations:

  • Only works on AI units.  Does NOT work for player.
  • AI unit is invincible during the 2 seconds of doing the finger gesture (as its the stunt double you see, who has simulation disabled).

 

Dropbox link to test misson

 

Code:

Spoiler

Init.SQF:


// init.sqf
// *****************************************
call compile preprocessFileLineNumbers "JBOY\JBOY_Finger.sqf";
// *****************************************
// JBOY_FingerInit will create an ai unit and setpos him to [0,0,0], and play the long animation
// that includes a finger gesture.  After exactly 8.3 seconds his simulation is disabled and he
// has the finger up.  We can then use this unit as a stunt double for any AI unit to give the finger.
// *****************************************
[] spawn JBOY_FingerInit; 

// After JBOY_FingerInit runs 8.3 seconds or more, you can call JBOY_Finger repeatedly passing in any AI unit.
hint "10 seconds after starting mission, use radio trigger 0-0-1 to see AI give you the finger.";
sleep 10;
START_FINGER = false;

// Test loop for demo where units take turns giving finger gesture
[] spawn
{
	waituntil {START_FINGER;};
	while {true} do
	{
		{
			[_x,2] call JBOY_Finger;
			sleep 2.1;
		} foreach (allUnits - [JBOY_FingerBoy, player]);
	};
};

JBOY_Finger.sqf:


// In the init compile this file, and spawn JBOY_FingerInit
// [] spawn JBOY_FingerInit; // After 8 seconds fingerBoy is ready to be used repeatedly in mission.

JBOY_FingerInit =
{ 
	params["_unit","_sleep"];
	_grp = createGroup civilian;
	JBOY_fingerBoy = _grp createUnit ["C_man_polo_6_F",[0,0,0],[],0,"NONE"];
	[JBOY_fingerBoy, ""] remoteExec ["switchmove", 0];	
	JBOY_fingerBoy allowdamage false;
	JBOY_fingerBoy setCaptive true;
	JBOY_fingerBoy setpos [0,0,0];
	//sleep 3;
	//JBOY_fingerBoy playmove "acts_briefing_sb_in"; 
	[JBOY_fingerBoy, "acts_briefing_sb_in"] remoteExec ["playmove", 0];	
	sleep 8.3; // 8 seconds in to this animation and middle finger is up
	JBOY_fingerBoy enableSimulation false;
};
//[] spawn JBOY_FingerInit; // After 8 seconds fingerBoy is ready to be used repeatedly in mission.

// Don't call this until at least 8 seconds after calling JBOY_FingerInit;
//[bob,4] spawn JBOY_Finger;
JBOY_Finger =
{
	params["_unit","_sleep"];
	_face = face _unit;
	_dir = getdir _unit;
	_pos = getpos _unit;
	_adjustedPos = _unit modelToWorld [-0.8,0.1,0];
	_gear = getUnitLoadout _unit;
	JBOY_fingerBoy setFace _face;
	JBOY_fingerBoy setUnitLoadout _gear;
	JBOY_fingerBoy setdir (getdir _unit - 75);
	_unit enableSimulation false;
	_unit setpos [0,0,1];
	JBOY_fingerBoy setpos _adjustedPos;
	sleep _sleep; 
	JBOY_fingerBoy setpos [0,0,0];
	_unit setpos _pos;
	_unit enableSimulation true;
};

 

 

  • Like 5
  • Thanks 1
  • Haha 7

Share this post


Link to post
Share on other sites

Haha!...what a fantastic way to start the New Year. A very ingenious use of animations. 

Happy New Year JBOY. 🍻 

 

edit: No biggie just a heads up, the test mission requires WarfareThai. 😉

 

  • Like 1

Share this post


Link to post
Share on other sites
42 minutes ago, EO said:

edit: No biggie just a heads up, the test mission requires WarfareThai. 😉

 

Thanks dude.  I'll have to fix that.

Share this post


Link to post
Share on other sites

Demo mission linked in first post is now fixed to have no dependencies on any mod.  This is a Vanilla script that requires no dependencies.  Thanks for the heads up EO.

  • 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

×