home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
GameStar 2006 April
/
Gamestar_83_2006-04_dvd.iso
/
Dema
/
demowot_english.exe
/
Script
/
Source
/
Chapter2
/
MS05-C2L1-Cutscenes.inc
next >
Wrap
Text File
|
2005-03-11
|
9KB
|
329 lines
// Extension for MS05-C2L1.sma
// #define CS_BASELOCKIT "#iMS05_SP
// #define CS_BASETEXT gSound_
#include "cutscene.inc"
//======================================================================================================
public ShowStats()
ShowTheStats();
//======================================================================================================
public Cutscene_Intro( DrID:Sender, Param )
{
#define SELF "Cutscene_Intro"
CS_START
CS_1 // Futnak a katonak, amig rajuk nem lonek
CS_FIRST
GroupOff( "StartingPlayerUnits" );
SetCutScene( true, _, true );
TeleportCameraToEnt( E( "al_rifleman45" ));
CameraFollow( E( "al_rifleman45" ));
CameraSet( 0.0, 55.000, 27.0 );
CmdGroupSetMS( "IntroAttackers", Q_OVERRIDE, MS_RUN );
FormationMoveToEnt( "IntroAttackers", E( "wpg1" ), Q_ENQUEUE );
AddAKEntityEvent( SELF, ANY_ENTITY, WEAPON_SHOT );
CS_2 // A haz fele fordulunk
StoreGameSpeed( 0.001 );
CameraSpeed( 50.0, 50.0, 50.0, 50.0 ); // CamSpeed, RotSpeed, ZoomSpeed, PitchSpeed
CameraSet( -72.0, 40.0, 18.0, false );
CS_WAIT_CAM
CS_3 // Hit the dirt!
SetGameSpeed( 0.1 );
CmdGroupStop( "IntroAttackers", Q_OVERRIDE );
CmdGroupRandomWait( "IntroAttackers", 3.0, Q_ENQUEUE );
CmdGroupSetMS( "IntroAttackers", Q_ENQUEUE, MS_CRAWL );
CmdGroupAttack( "IntroAttackers", Q_ENQUEUE, E( gCafeDelNormandy ));
CS_WAIT_AL(3.0)
CS_4 // Mutassuk meg az epuletet
ResetCameraSpeed();
CameraFollow( DrID:0 );
MoveCameraToEnt( E( gCafeDelNormandy ));
CameraSet( -72.0, 40.0, 14.0, false );
CS_WAIT_AL(2.5)
CS_5 // Forogjunk jol
CameraSpeed( 3.0, 3.0, 3.0, 3.0 );
MoveCameraToEnt( E( "al_rifleman45" ));
RestoreGameSpeed();
CameraSet( 140.0, 40.0, 30.0, false );
CS_WAIT_AL(3.0)
CS_6 // Es csak forogjunk
CameraSet( 20.0, 40.0, 30.0, false );
CS_WAIT_AL(7.0)
CS_7 // Bemennek a hazba:
KillCrew( E( gCafeDelNormandy ));
SetPropertyInt( E( gCafeDelNormandy ), "LastTeam", 0 ); // hogy lehessen mountolni
// new DrID:House = E( "build_house_level2_051" ); // Hack
new DrID:House = E( gCafeDelNormandy );
// MoveCameraToEnt( E( "build_house_level2_051" ));
MoveCameraToEnt( E( gCafeDelNormandy ));
CameraSet( -60.0, 50.0, 22.0, false );
CmdGroupRandomWait( "IntroAttackers", 1.2, Q_OVERRIDE );
CmdGroupSetMS( "IntroAttackers", Q_ENQUEUE, MS_RUN );
CmdGroupMount( "MustHavePlayerUnits", Q_ENQUEUE, House, MTF_MAKE_TARGET_WAIT );
CmdWait( House, Q_ENQUEUE, 1.6 );
CmdUnmount( House, Q_ENQUEUE );
AddAKSelectorEvent( SELF, "IntroAttackers", UNIT_UNMOUNTED );
AddAKEntityEvent( SELF, House, UNIT_UNMOUNTED );
CS_8 // ...es szovegelnek
CameraSpeed( 8.0, 8.0, 8.0, 8.0 )
MoveCameraToEnt( E( "cameratarget_afterunmount" ));
CS_SAYWAIT(05,001A) //Building is clear!
CS_9 // ...es csak szovegelnek
CS_SAYWAIT(05,001B) //OK Guys! Let's go further. But be careful! And try to avoid crosses. They are usually well defended.
CS_10 // Mozgatjuk a StartingPlayerUnitokat
GroupOn( "StartingPlayerUnits" );
AddGroupToGroup( "StartingPlayerUnits", gEasyHelpGroup );
new DrID:FirstStartingUnit = GetNearestEntity( E( gCafeDelNormandy ), "StartingPlayerUnits" );
CameraSet( -45.0, 50.0, 30.0, false );
if( FirstStartingUnit )
{
new Units[80] = "Cutscene_Intro_Units";
CameraFollow( FirstStartingUnit );
FilterSelectorUnmounted( Units, "StartingPlayerUnits" );
SetSpeedInSelector( "StartingPlayerUnits", 9.0 );
MoveCameraToEnt( E( gIntro_MoveTargetName ));
FormationMoveToEnt( Units, E( gIntro_MoveTargetName ), Q_OVERRIDE, MF_DIRECT );
AddTimerEvent( "CutsceneIntro_CloseSection", 5.0, "AnimLogic", true );
CmdThrowEvent( FirstStartingUnit, Q_ENQUEUE, FIRST_UNIT_ARRIVED );
AddAKEntityEvent( SELF, FirstStartingUnit, CMD_EVENT );
}
CS_11 // Beallitjuk a dogokat a jatekos kedvere
CS_UE_CHECK(FIRST_UNIT_ARRIVED,DL_WARNING)
ResetCameraSpeed();
CameraFollow( DrID:0 );
SetCutScene( false );
SetSpeedInSelector( "StartingPlayerUnits", 0.0 );
CameraSet( 0.0, 55.0, 40.0, false );
AddTimerEvent( "CutsceneIntro_CloseSection", 1.0, "AnimLogic", true );
CS_LAST
CS_END
}
//======================================================================================================
public Cutscene_HQ( DrID:Sender, Param )
{
#undef SELF
#define SELF "Cutscene_HQ"
static FOWBaconName[200];
CS_START
CS_1 // Beinditjuk erositest
CS_FIRST
// Remember fowbacon
GetPropertyString( CreateFOWBtoEntity( E( gHQName ), "fovbacon_60" ), "StringID", 199, FOWBaconName );
SetPropertyInt( E( FOWBaconName ), "Team", 2 );
// Reinforcement start
GroupOn( gPlayerReinforcementSoldiers );
AddGroupToGroup( gPlayerReinforcementSoldiers, gEasyHelpGroup );
AddGroupToGroup( gPlayerReinforcementSoldiers2, gEasyHelpGroup );
// new Units[80] = "Cutscene_HQ_Units";
// FilterSelectorUnmounted( Units, gPlayerReinforcementSoldiers );
CmdMoveToEnt( E( "al_m3a11" ), E( "wpb2" ), Q_OVERRIDE, MF_DIRECT | MF_OVERRUN );
CmdMoveToEnt( E( "al_m3a11" ), E( "wpb3" ), Q_ENQUEUE );
// CmdGroupMoveToEnt( Units, E( "wpb3" ), Q_ENQUEUE );
CS_WAIT(3.0)
CS_2 // Kamera kovesse az erositest
// Camera:
CamPosStore();
SetCutScene( true );
StoreGameSpeed();
SetCameraDampValue( 0.0 );
CameraSpeed( 12.0, 12.0, 12.0, 12.0 );
CameraFollow( E( "al_m3a11" ));
CameraSet( 40.0, 45.0, 20.0, false );
CS_WAIT(8.0)
CS_3 // Es csak forogjon
CameraSet( -60.0, 45.0, 35.0, false );
CS_WAIT(1.2)
CS_4 // Kizoomolunk a haz fole
CameraSet( -60.0, 60.0, 45.0, false );
CS_WAIT(1.2)
CS_5 // Bezoomolunk a hazon tul
CameraSet( -60.0, 45.0, 30.0, false );
CS_SAY(05,002A) // Good work guys! We cleared the town.
CS_WAIT(1.2)
CS_6 // Ugorjunk a menekulokhoz
Cutscene_HQ_Escape();
CameraFollow( NULL );
SetCameraSpeed( 8.0 );
SetCameraRotSpeed( 1.8 );
MoveCameraToEnt( E( gEscapingStart_CameraTarget ));
CameraSet( 270.0, 45.000, 20.0, false );
CS_WAIT(1.5)
CS_7 // Kovessuk a mozgasukat, es szovegeljunk
CS_WAIT_SPEACH_END
CS_SAYWAIT(05,002B) // But look! They are escaping! Don't let them to reach and fortify their defence lines!
CS_8
CS_SAYWAIT(05,002C) // The swamp makes them move slow.
CS_9
CS_SAYWAIT(05,002D) // Vechicles can not go into the swamp, but we can get round quickly on the road.
CS_10
SetPropertyInt( E( FOWBaconName ), "Team", 0 );
RefreshFOW();
RestoreGameSpeed();
SetCutScene( false );
CutsceneHQ_CloseSection();
CamPosRestore();
CS_LAST
CS_END
}
// particle_artillery_impact1
//======================================================================================================
public Cutscene_Artillery( DrID:Sender, Param )
{
#undef SELF
#define SELF "Cutscene_Artillery"
static FOWBaconName[200];
CS_START
CS_1
CS_FIRST
SetNoDamageMode( true );
CamPosStore();
SetCutScene( true );
StoreGameSpeed( 0.13 );
// hack:
CmdWait( E( gArtillery1), Q_OVERRIDE, 0.5 );
CmdAttack( E( gArtillery1), Q_ENQUEUE, E( "artillery_target" ), AF_ONE_SHOT | AF_FORCE );
GetPropertyString( CreateFOWBtoEntity( E( gHQName ), "fovbacon_60" ), "StringID", 199, FOWBaconName );
SetPropertyInt( E( FOWBaconName ), "Team", 2 );
MoveCameraToEnt( E( gHQName ));
CameraSpeed( 20.0, 20.0, 20.0, 20.0 );
CameraSet( -40.0, 55.0, 20.0, false )
CS_WAIT_CAM
CS_2
ActivateEntity( E( "particle_artillery_impact1" ));
SetCameraTargetDistance( 25.0 );
SetCameraTargetRotate( 40.0 );
CS_WAIT_AL(1.0)
CS_3
CS_SAY(05,003A) // The town is under artillery attack! We shoul'd move out the town.
CS_WAIT_AL(5.0)
CS_4
SetPropertyInt( E( gArtillery_FOWBeacon ), "Team", 2 );
RefreshFOW();
CameraSpeed( 6.0, 16.0, 12.0, 12.0 );
SetCameraTargetPitch( 45.0 );
SetCameraTargetRotate( 90.0 );
MoveCameraToEnt( E( gArtillery2 ));
CS_WAIT_AL(5.5)
CS_5
SetCameraTargetRotate( -130.0 );
CS_WAIT_AL(3.5)
CS_6
SetCameraTargetRotate( -130.0 );
MoveCameraToEnt( E( gArtillery1 ));
CS_SAY(05,003B) // And if you can manage: Take out the artillery pieces.
CS_WAIT_AL(2.0)
CS_7
// SetCameraTargetDistance( 15.0 );
// SetCameraTargetPitch( 45.0 );
// CmdAttack( E( gArtillery1), Q_OVERRIDE, E( "artillery_target" ), AF_ONE_SHOT | AF_FORCE );
AddAKEntityEvent( SELF, E( gArtillery1), WEAPON_SHOT );
AddTimerEvent( SELF, 8.0, "AnimLogic", true ); // ha valamiert megse lone a hulyeje
CS_8
CS_WAIT_AL(5.0)
CS_9
CamPosRestore();
CS_WAIT_AL(1.0)
CS_10
SetPropertyInt( E( FOWBaconName ), "Team", 0 );
SetPropertyInt( E( gArtillery_FOWBeacon ), "Team", 0 );
RefreshFOW();
RestoreGameSpeed();
SetCutScene( false );
CutsceneArtillery_CloseSection();
ResetCameraSpeed();
SetNoDamageMode( false );
CS_LAST
CS_END
}