Thread: [REL] Playable U-FlaK for SH5
View Single Post
Old 03-01-16, 08:45 AM   #122
gap
Navy Seal
 
Join Date: Jan 2011
Location: CJ8937
Posts: 8,214
Downloads: 793
Uploads: 10
Default U-FlaK's crew script updates

In case you need for them

White body text: TwOS/MFCM's code; orange strings: code added/modified by me.

Gunner: QRF_PETTY01 in QR1 (role: A01 FlaKVierling traverse)

Code:
strategy QRF_PETTY01_IDLE01(wp)
{
	strategies
	{
		QRF_PETTY01_Sleeping,
		QRF_PETTY01_Manning_A01gun
	}
}

strategy QRF_PETTY01_Sleeping(wp)
{
	precond
	{
		!Wp:IsGunManned(SLOT_A01)
	}
	action
	{
############## Uncomment for optional beard ######################
		# Wp:SetBodyPartVisibility("object1_Barba_Cap06", 1);
##################################################################
	

		Wp:SetBodyPartVisibility("A_Hat01", 0); 
		Wp:SetBodyPartVisibility("A_Pants01", 1); 
		Wp:SetBodyPartVisibility("A_Pants02", 0);

		if (Wp:GetGunType(SLOT_A01) == CANNON_Vierling) then
			Wp:UnmanTheGun(SLOT_A01, ROLE_TRAV)
		endif;
		if (Wp:GetGunType(SLOT_A01) != CANNON_Vierling) then
			Wp:UnmanTheGun(SLOT_A01, ROLE_GUNNER)
		endif;
		Wp:Teleport("QRF_Petty_01");
		Wp:PlayAnimationAndWait( "QRF_Petty_01_sleep01" );
		Wp:PlayAnimationAndWait( "QRF_Petty_01_sleep01" );
		Wp:PlayAnimationAndWait( "QRF_Petty_01_talk_01" );
		Wp:PlayAnimationAndWait( "QRF_Petty_01_sleep01" );
		Wp:PlayAnimationAndWait( "QRF_Petty_01_1to2" );
		Wp:PlayAnimationAndWait( "QRF_Petty_01_sleep02" );
		Wp:PlayAnimationAndWait( "QRF_Petty_01_sleep02" );
		Wp:PlayAnimationAndWait( "QRF_Petty_01_sleep02" );
		Wp:PlayAnimationAndWait( "QRF_Petty_01_2to1" );
		Wp:PlayAnimationAndWait( "QRF_Petty_01_sleep01" );
		Wp:PlayAnimationAndWait( "QRF_Petty_01_sleep01" );
		Wp:PlayAnimationAndWait( "QRF_Petty_01_sleep01" );
		Wp:PlayAnimationAndWait( "QRF_Petty_01_talk_01" );
		Wp:PlayAnimationAndWait( "QRF_Petty01_AtoC" );
		Wp:PlayAnimationAndWait( "QRF_Petty01_idle01" );
		Wp:PlayAnimationAndWait( "QRF_Petty01_idle04" );
		Wp:PlayAnimationAndWait( "QRF_Petty01_idle05" );
		Wp:PlayAnimationAndWait( "QRF_Petty01_idle02_part01" );
		Wp:SetBodyPartVisibility("object2_book01", 1);
		Wp:PlayAnimationAndWait( "QRF_Petty01_idle02_part02" );
		Wp:PlayAnimationAndWait( "QRF_Petty01_idle03_part01" );
		Wp:SetBodyPartVisibility("object2_book01", 0);
		Wp:PlayAnimationAndWait( "QRF_Petty01_idle03_part02" );
		Wp:PlayAnimationAndWait( "QRF_Petty01_CtoA" );

		Wp:ScriptCompleted();
	}
}

strategy QRF_PETTY01_Manning_A01gun(wp)
{
	precond
	{
		Wp:IsGunManned(SLOT_A01)
	}
	action
	{
		Wp:SetBodyPartVisibility("A_Hat01", 1); 
		Wp:SetBodyPartVisibility("A_Pants01", 1); 
		Wp:SetBodyPartVisibility("A_Pants02", 0);

		
		Wp:PlayAnimationAndWait( "QRF_Petty01_leave_rush" );
		Wp:Teleport("WP_A01_GUN");
		if (Wp:GetGunType(SLOT_A01) == CANNON_Vierling) then
			Wp:ManTheGun(SLOT_A01, "Vierling_L_R", ROLE_TRAV)
		endif;
		if (Wp:GetGunType(SLOT_A01) == CANNON_20mm_C30) then
			Wp:ManTheGun(SLOT_A01, "20mm_C30_UP_DW", ROLE_GUNNER)
		endif;
		if (Wp:GetGunType(SLOT_A01) == CANNON_20mm_C30_2) then
			Wp:ManTheGun(SLOT_A01, "20mm_C30_2_UP_DW", ROLE_GUNNER)
		endif;
		if (Wp:GetGunType(SLOT_A01) == CANNON_20mm_C38_Twin) then
			Wp:ManTheGun(SLOT_A01, "20mm_C38_twin_UP_DW", ROLE_GUNNER)
		endif;
		if (Wp:GetGunType(SLOT_A01) == CANNON_20mm_C38_Twin_Shield) then
			Wp:ManTheGun(SLOT_A01, "20mm_C38_shield_twin_UP_DW", ROLE_GUNNER)
		endif;
		Wp:ScriptCompleted();
	}
}

Gunner: QRF_PETTY02 in QR1 (role: A01 FlaKVierling elevation)

Code:
strategy QRF_PETTY02_IDLE01(wp)
{
	strategies
	{
		QRF_PETTY02_Tutorial,
		QRF_PETTY02_Sleeping,
		QRF_PETTY02_Manning_A01gun,	
		QRF_PETTY02_Manning_A02gun		
	}
}

strategy QRF_PETTY02_Tutorial(wp)
{
	precond
	{
		Wp:IsTutorial() and !Wp:IsBunkerState()
	}
	action
	{
		Wp:Teleport( "QRF_Watch" );
		if Wp:GetGlobalVariable(TUT_VAR_QRF_PETTY02_STATE) == 0 then
		{
			Wp:PlayAnimationAndWait("SAILOR02_Walk_near_player");
			Wp:SetGlobalVariable(TUT_VAR_QRF_PETTY02_STATE, 1);
		}
		endif;
		if Wp:GetGlobalVariable(TUT_VAR_QRF_PETTY02_STATE) == 1 then
			Wp:PlayAnimationAndWait("SAILOR02_Wait_near_door")
		endif;
		Wp:ScriptCompleted();
	}
}

strategy QRF_PETTY02_Sleeping(wp)
{
	precond
	{
		!((Wp:GetGunType(SLOT_A01) == CANNON_Vierling and Wp:IsGunManned(SLOT_A01)) or (Wp:GetGunType(SLOT_A01) != CANNON_Vierling and Wp:IsGunManned(SLOT_A02))) and !(Wp:IsTutorial() and !Wp:IsBunkerState())
	}
	action
	{
############## Uncomment for optional beard #####################
		# Wp:SetBodyPartVisibility("object1_Barba_Cap18", 1);
#################################################################		

		if (Wp:GetGunType(SLOT_A01) == CANNON_Vierling) then
			Wp:UnmanTheGun(SLOT_A01, ROLE_ELEV)
		endif;
		if (Wp:GetGunType(SLOT_A01) != CANNON_Vierling) then
			Wp:UnmanTheGun(SLOT_A02, ROLE_GUNNER)
		endif;
		Wp:Teleport("QRF_Petty_02");
		Wp:SetBodyPartVisibility("A_Hat01", 0);
		Wp:SetBodyPartVisibility("A_Torso06", 0); 
		Wp:SetBodyPartVisibility("A_Torso07", 1);
		Wp:PlayAnimationAndWait( "QRF_Petty_02_sleep01" );
		Wp:PlayAnimationAndWait( "QRF_Petty_02_sleep01" );
		Wp:PlayAnimationAndWait( "QRF_Petty_02_1to2" );
		Wp:PlayAnimationAndWait( "QRF_Petty_02_sleep02" );
		Wp:PlayAnimationAndWait( "QRF_Petty_02_sleep02" );
		Wp:PlayAnimationAndWait( "QRF_Petty_02_2to1" );
		Wp:PlayAnimationAndWait( "QRF_Petty_02_sleep01" );
		Wp:PlayAnimationAndWait( "QRF_Petty02_AtoC" );
		Wp:PlayAnimationAndWait( "QRF_Petty02_idle01" );
		Wp:PlayAnimationAndWait( "QRF_Petty02_idle04" );
		Wp:PlayAnimationAndWait( "QRF_Petty02_idle05" );
		Wp:PlayAnimationAndWait( "QRF_Petty02_idle02_part01" );
		Wp:SetBodyPartVisibility("object2_book01", 1);
		Wp:PlayAnimationAndWait( "QRF_Petty02_idle02_part02" );
		Wp:PlayAnimationAndWait( "QRF_Petty02_idle03_part01" );
		Wp:SetBodyPartVisibility("object2_book01", 0);
		Wp:PlayAnimationAndWait( "QRF_Petty02_idle03_part02" );
		Wp:PlayAnimationAndWait( "QRF_Petty02_CtoA" );

		Wp:ScriptCompleted();
	}
}

strategy QRF_PETTY02_Manning_A01gun(wp)
{
	precond
	{
		Wp:GetGunType(SLOT_A01) == CANNON_Vierling and Wp:IsGunManned(SLOT_A01) and !(Wp:IsTutorial() and !Wp:IsBunkerState())
	}
	action
	{
		Wp:SetBodyPartVisibility("object2_book01", 0);
		Wp:PlayAnimationAndWait( "QRF_Petty02_leave_rush" );
		Wp:Teleport("WP_A01_GUN");
		Wp:SetBodyPartVisibility("A_Hat01", 1); 
		Wp:SetBodyPartVisibility("A_Torso06", 1); 
		Wp:SetBodyPartVisibility("A_Torso07", 0);
		ManTheGun(SLOT_A01, "Vierling_UP_DW", ROLE_ELEV)

		Wp:ScriptCompleted();
	}
}

strategy QRF_PETTY02_Manning_A02gun(wp)
{
	precond
	{
		Wp:GetGunType(SLOT_A01) != CANNON_Vierling and Wp:IsGunManned(SLOT_A02) and !(Wp:IsTutorial() and !Wp:IsBunkerState())
	}
	action
	{
		Wp:SetBodyPartVisibility("object2_book01", 0);
		Wp:PlayAnimationAndWait( "QRF_Petty02_leave_rush" );
		Wp:Teleport("WP_A02_GUN");
		Wp:SetBodyPartVisibility("A_Hat01", 1); 
		Wp:SetBodyPartVisibility("A_Torso06", 1); 
		Wp:SetBodyPartVisibility("A_Torso07", 0);
		if (Wp:GetGunType(SLOT_A02) == CANNON_20mm_C30) then
			Wp:ManTheGun(SLOT_A02, "20mm_C30_UP_DW", ROLE_GUNNER)
		endif;
		if (Wp:GetGunType(SLOT_A02) == CANNON_20mm_C30_2) then
			Wp:ManTheGun(SLOT_A02, "20mm_C30_2_UP_DW", ROLE_GUNNER)
		endif;
		if (Wp:GetGunType(SLOT_A02) == CANNON_20mm_C38_Twin) then
			Wp:ManTheGun(SLOT_A02, "20mm_C38_twin_UP_DW", ROLE_GUNNER)
		endif;
		if (Wp:GetGunType(SLOT_A02) == CANNON_20mm_C38_Twin_Shield) then
			Wp:ManTheGun(SLOT_A02, "20mm_C38_shield_twin_UP_DW", ROLE_GUNNER)
		endif;		
		Wp:ScriptCompleted();
	}
}

Gunner: SQ_BED01 in QR2 (role: A02 FlaKVierling traverse)

Code:
strategy SQ_BED01_IDLE01(wp)
{
	strategies
	{
		SQ_BED01_Sleeping,
		SQ_BED01_Manning_A02gun,
		SQ_BED01_Manning_deck_gun
	}
}

strategy SQ_BED01_Sleeping(wp)
{
	precond
	{
		!((Wp:GetGunType(SLOT_A02) == CANNON_Vierling and Wp:IsGunManned(SLOT_A02)) or (Wp:GetGunType(SLOT_A02) != CANNON_Vierling and Wp:IsGunManned(SLOT_M01)))
	}
	action
	{
############## Uncomment for optional beard #####################
		# Wp:SetBodyPartVisibility("object1_Barba_Cap18", 1);
#################################################################
		
		if (Wp:GetGunType(SLOT_A02) == CANNON_Vierling) then
			Wp:UnmanTheGun(SLOT_A02, ROLE_TRAV)
		endif;
		if (Wp:GetGunType(SLOT_A02) != CANNON_Vierling) then
			Wp:UnmanTheGun(SLOT_M01, ROLE_TRAV)
		endif;		
		Wp:Teleport("SQ_BED01");
		Wp:SetBodyPartVisibility("A_Hat01", 0); 
		Wp:SetBodyPartVisibility("A_Torso05", 0); 
		Wp:SetBodyPartVisibility("A_Torso07", 1);
		Wp:PlayAnimationAndWait( "SQ_BED01_A_Idle01" );
		Wp:PlayAnimationAndWait( "SQ_BED01_A_Scratch01" );
		Wp:PlayAnimationAndWait( "SQ_BED01_A_Idle01" );
		Wp:PlayAnimationAndWait( "SQ_BED01_A2B_Turn" );
		Wp:PlayAnimationAndWait( "SQ_BED01_B_Idle01" );
		Wp:PlayAnimationAndWait( "SQ_BED01_B_Dream01" );
		Wp:PlayAnimationAndWait( "SQ_BED01_B2A_Turn" );
		Wp:PlayAnimationAndWait( "SQ_BED01_A_Idle01" );
		Wp:PlayAnimationAndWait( "SQ_BED01_AtoC" );
		Wp:PlayAnimationAndWait( "SQ_BED01_idlle01" );
		Wp:PlayAnimationAndWait( "SQ_BED01_idlle04" );
		Wp:PlayAnimationAndWait( "SQ_BED01_idlle01" );
		Wp:PlayAnimationAndWait( "SQ_BED01_idlle05" );
		Wp:PlayAnimationAndWait( "SQ_BED01_idlle02_part01" );
		Wp:SetBodyPartVisibility("object2_book01", 1);
		Wp:PlayAnimationAndWait( "SQ_BED01_idlle02_part02" );
		Wp:PlayAnimationAndWait( "SQ_BED01_idlle03_part01" );
		Wp:SetBodyPartVisibility("object2_book01", 0);
		Wp:PlayAnimationAndWait( "SQ_BED01_idlle03_part02" );
		Wp:PlayAnimationAndWait( "SQ_BED01_CtoA" );
		Wp:ScriptCompleted();
	}
}

strategy SQ_BED01_Manning_A02gun(wp)
{
	precond
	{
		Wp:GetGunType(SLOT_A02) == CANNON_Vierling and Wp:IsGunManned(SLOT_A02)
	}
	action
	{
		Wp:SetBodyPartVisibility("object2_book01", 0);
		Wp:PlayAnimationAndWait( "SQ_BED01_leave_rush" );
		Wp:SetBodyPartVisibility("A_Hat01", 1); 
		Wp:SetBodyPartVisibility("A_Torso05", 1); 
		Wp:SetBodyPartVisibility("A_Torso07", 0);
		Wp:Teleport("WP_A02_GUN");
		Wp:ManTheGun(SLOT_A02, "Vierling_L_R", ROLE_TRAV);
		Wp:ScriptCompleted();
	}
}

strategy SQ_BED01_Manning_deck_gun(wp)
{
	precond
	{
		Wp:GetGunType(SLOT_A02) != CANNON_Vierling and Wp:IsGunManned(SLOT_M01)
	}
	action
	{
		Wp:SetBodyPartVisibility("object2_book01", 0);
		Wp:PlayAnimationAndWait( "SQ_BED01_leave_rush" );
		Wp:SetBodyPartVisibility("A_Hat01", 1); 
		Wp:SetBodyPartVisibility("A_Torso05", 1); 
		Wp:SetBodyPartVisibility("A_Torso07", 0);
		Wp:Teleport("WP_DECK_GUN");
		Wp:ManTheGun(SLOT_M01, "88mm_L_R", ROLE_TRAV);
		Wp:ScriptCompleted();
	}
}

Gunner: SQ_BED02 in QR2 (role: A02 FlaKVierling elevation)

Code:
strategy SQ_BED02_IDLE01(wp)
{
	strategies
	{
		SQ_BED02_Sleeping,
		SQ_BED02_Manning_A02gun,
		SQ_BED02_Manning_deck_gun
	}
}

strategy SQ_BED02_Sleeping(wp)
{
	precond
	{
		!((Wp:GetGunType(SLOT_A02) == CANNON_Vierling and Wp:IsGunManned(SLOT_A02)) or (Wp:GetGunType(SLOT_A02) != CANNON_Vierling and Wp:IsGunManned(SLOT_M01)))
	}
	action
	{
############## Uncomment for optional beard ######################
		# Wp:SetBodyPartVisibility("object1_Barba_Cap06", 1);
##################################################################

		if (Wp:GetGunType(SLOT_A02) == CANNON_Vierling) then
			Wp:UnmanTheGun(SLOT_A02, ROLE_ELEV)
		endif;
		if (Wp:GetGunType(SLOT_A02) != CANNON_Vierling) then
			Wp:UnmanTheGun(SLOT_M01, ROLE_ELEV)
		endif;		
		Wp:Teleport("SQ_BED02");
		Wp:SetBodyPartVisibility("A_Hat01", 0); 
		Wp:SetBodyPartVisibility("A_Torso03", 1); 
		Wp:SetBodyPartVisibility("A_Torso07", 0);
		Wp:SetBodyPartVisibility("A_Pants02", 1); 
		Wp:SetBodyPartVisibility("A_Pants01", 0);
		Wp:PlayAnimationAndWait( "SQ_BED02_A_Idle01" );
		Wp:PlayAnimationAndWait( "SQ_BED02_A_Idle01" );
		Wp:PlayAnimationAndWait( "SQ_BED02_A2B_Turn" );
		Wp:PlayAnimationAndWait( "SQ_BED02_B_Idle01" );
		Wp:PlayAnimationAndWait( "SQ_BED02_B_Idle01" );
		Wp:PlayAnimationAndWait( "SQ_BED02_B2A_Turn" );
		Wp:PlayAnimationAndWait( "SQ_BED02_A_Idle01" );
		Wp:PlayAnimationAndWait( "SQ_BED02_AtoC" );
		Wp:PlayAnimationAndWait( "SQ_BED02_idlle01" );
		Wp:PlayAnimationAndWait( "SQ_BED02_idlle02_01" );
		Wp:SetBodyPartVisibility("object2_book01", 1);
		Wp:PlayAnimationAndWait( "SQ_BED02_idlle02_02" );
		Wp:PlayAnimationAndWait( "SQ_BED02_idlle03_01" );
		Wp:SetBodyPartVisibility("object2_book01", 0);
		Wp:PlayAnimationAndWait( "SQ_BED02_idlle03_02" );
		Wp:PlayAnimationAndWait( "SQ_BED02_idlle04" );
		Wp:PlayAnimationAndWait( "SQ_BED02_idlle05" );
		Wp:PlayAnimationAndWait( "SQ_BED02_CtoA" );

		Wp:ScriptCompleted();
	}
}

strategy SQ_BED02_Manning_A02gun(wp)
{
	precond
	{
		Wp:GetGunType(SLOT_A02) == CANNON_Vierling and Wp:IsGunManned(SLOT_A02)
	}
	action
	{
		Wp:PlayAnimationAndWait( "SQ_BED02_leave_rush" );
		Wp:Teleport("WP_A02_GUN");
		Wp:SetBodyPartVisibility("A_Hat01", 1); 
		Wp:SetBodyPartVisibility("A_Torso03", 0); 
		Wp:SetBodyPartVisibility("A_Torso07", 1);
		Wp:SetBodyPartVisibility("A_Pants02", 0); 
		Wp:SetBodyPartVisibility("A_Pants01", 1);
		Wp:ManTheGun(SLOT_A02, "Vierling_UP_DW", ROLE_ELEV);
		Wp:ScriptCompleted();
	}
}

strategy SQ_BED02_Manning_deck_gun(wp)
{
	precond
	{
		Wp:GetGunType(SLOT_A02) != CANNON_Vierling and Wp:IsGunManned(SLOT_M01)
	}
	action
	{
		Wp:PlayAnimationAndWait( "SQ_BED02_leave_rush" );
		Wp:Teleport("WP_DECK_GUN");
		Wp:SetBodyPartVisibility("A_Hat01", 1); 
		Wp:SetBodyPartVisibility("A_Torso03", 0); 
		Wp:SetBodyPartVisibility("A_Torso07", 1);
		Wp:SetBodyPartVisibility("A_Pants02", 0); 
		Wp:SetBodyPartVisibility("A_Pants01", 1);
		Wp:ManTheGun(SLOT_M01, "88mm_UP_DW", ROLE_ELEV);
		Wp:ScriptCompleted();
	}
}
I hope they work
__________________
_____________________
|May the Force be with you!|
...\/

Last edited by gap; 03-01-16 at 09:19 AM.
gap is offline   Reply With Quote