nx1-gsc-dump/maps/_nx_policecar.gsc

188 lines
6.5 KiB
Plaintext

#include maps\_utility;
#include common_scripts\utility;
#include maps\_vehicle_aianim;
#include maps\_vehicle;
#using_animtree( "vehicles" );
main( model, type )
{
//SNDFILE=vehicle_coupe_car
build_template( "policecar", model, type );
build_localinit( ::init_local );
build_destructible( "nx_vehicle_exfil_policecar", "nx_vehicle_exfil_policecar" );
//build_deathmodel( "nx_vehicle_exfil_policecar", "nx_vehicle_exfil_policecar_destroy" );
build_drive( %technical_driving_idle_forward, %technical_driving_idle_backward, 10 );
build_treadfx();
build_life( 1700, 1500, 1900 );
build_team( "allies" );
build_aianims( ::setanims, ::set_vehicle_anims );
build_compassicon( "automobile", false );
//police car fx/////
level._effect[ "police_headlight_l" ] = loadfx( "nx/lights/nx_exfil_car_headlight_l_01" );
level._effect[ "police_headlight_r" ] = loadfx( "nx/lights/nx_exfil_car_headlight_r_01" );
level._effect[ "police_headlight_light" ] = loadfx( "nx/lights/nx_exfil_car_headlight_02" );
level._effect[ "police_light_blue" ] = loadfx( "nx/misc/nx_copcar_light_blue_loop_01" );
////////////////////////
build_light( model, "coplight_headlight_l", "TAG_LIGHT_LEFT_FRONT", "nx/lights/nx_exfil_car_headlight_l_01", "headlight_l", 0.1 );
build_light( model, "coplight_headlight_r", "TAG_LIGHT_RIGHT_FRONT", "nx/lights/nx_exfil_car_headlight_l_01", "headlight_r", 0.0 );
build_light( model, "police_headlight_light", "TAG_LIGHT_RIGHT_FRONT", "nx/lights/nx_exfil_car_headlight_02", "headlight_light", 0.1 );
}
init_local()
{
//maps\_vehicle::lights_on( "headlight_l" );
//maps\_vehicle::lights_on( "headlight_r" );
//maps\_vehicle::lights_on( "headlight_light" );
thread headlights();
thread coplights();
}
//MO EDIT: Nate told me to put this in here ( from _uaz.gsc )
set_vehicle_anims( positions )
{
positions[ 0 ].vehicle_getoutanim = %nx_vh_exfil_policecar_driver_door_open;
positions[ 1 ].vehicle_getoutanim = %uaz_driver_exit_into_stand_door;
positions[ 0 ].vehicle_getoutanim_clear = false;
positions[ 1 ].vehicle_getoutanim_clear = false;
//positions[ 0 ].vehicle_getinanim = %uaz_passenger_enter_from_huntedrun_door;
//positions[ 1 ].vehicle_getinanim = %uaz_driver_enter_from_huntedrun_door;
//positions[ 0 ].vehicle_getinsound = "truck_door_open";
//positions[ 1 ].vehicle_getinsound = "truck_door_open";
return positions;
}
#using_animtree( "generic_human" );
//MO EDIT: Nate told me to put this in here ( from _uaz.gsc )
setanims()
{
positions = [];
for ( i = 0;i < 2;i++ )
positions[ i ] = spawnstruct();
positions[ 0 ].sittag = "tag_passenger";
positions[ 1 ].sittag = "tag_driver";
positions[ 0 ].idle = %nx_tp_exfil_policecar_driver_idle;
positions[ 1 ].idle = %uaz_driver_idle_drive;
positions[ 0 ].getout = %nx_tp_exfil_policecar_driver_dismount;
positions[ 1 ].getout = %uaz_driver_exit_into_stand;
//positions[ 0 ].getin = %uaz_passenger_enter_from_huntedrun;
//positions[ 1 ].getin = %uaz_driver_enter_from_huntedrun;
return positions;
}
headlights()
{
common_scripts\_destructible::PlayFxOnTag_KillOnDestructibleSwap( getfx( "police_headlight_l" ), self, "TAG_light_left_front" );
common_scripts\_destructible::PlayFxOnTag_KillOnDestructibleSwap( getfx( "police_headlight_r" ), self, "TAG_light_right_front" );
//apm: disabling till i figure out why it does not always kill the fx
/*
self endon( "turn_off_headlight" );
self endon( "death" );
self endon( "explode" );
//self endon( "exploded" );
ent_flag_init( "lights" );
ent_flag_set( "lights" );
for ( ;; )
{
ent_flag_wait( "lights" );
common_scripts\_destructible::PlayFxOnTag_KillOnDestructibleSwap( getfx( "police_headlight_l" ), self, "TAG_light_left_front" );
common_scripts\_destructible::PlayFxOnTag_KillOnDestructibleSwap( getfx( "police_headlight_r" ), self, "TAG_light_right_front" );
ent_flag_waitopen( "lights" );
stopFXontag( getfx( "police_headlight_l" ), self, "TAG_light_left_front" );
stopFXontag( getfx( "police_headlight_r" ), self, "TAG_light_right_front" );
}
*/
}
coplights()
{
wait RandomFloatRange( 0.1, 0.9 );
common_scripts\_destructible::PlayFxOnTag_KillOnDestructibleSwap( getfx( "police_light_blue" ), self, "TAG_FX_LIGHT_01" );
wait (0.2);
common_scripts\_destructible::PlayFxOnTag_KillOnDestructibleSwap( getfx( "police_light_blue" ), self, "TAG_FX_LIGHT_02" );
wait (0.2);
common_scripts\_destructible::PlayFxOnTag_KillOnDestructibleSwap( getfx( "police_light_blue" ), self, "TAG_FX_LIGHT_03" );
wait (0.2);
common_scripts\_destructible::PlayFxOnTag_KillOnDestructibleSwap( getfx( "police_light_blue" ), self, "TAG_FX_LIGHT_04" );
wait (0.2);
common_scripts\_destructible::PlayFxOnTag_KillOnDestructibleSwap( getfx( "police_light_blue" ), self, "TAG_FX_LIGHT_05" );
/*
self endon( "turn_off_coplight" );
self endon( "death" );
self endon( "explode" );
ent_flag_init( "cop_lights" );
ent_flag_set( "cop_lights" );
for ( ;; )
{
ent_flag_wait( "cop_lights" );
wait RandomFloatRange( 0.1, 0.9 );
common_scripts\_destructible::PlayFxOnTag_KillOnDestructibleSwap( getfx( "police_light_blue" ), self, "TAG_FX_LIGHT_01" );
wait (0.2);
common_scripts\_destructible::PlayFxOnTag_KillOnDestructibleSwap( getfx( "police_light_blue" ), self, "TAG_FX_LIGHT_02" );
wait (0.2);
common_scripts\_destructible::PlayFxOnTag_KillOnDestructibleSwap( getfx( "police_light_blue" ), self, "TAG_FX_LIGHT_03" );
wait (0.2);
common_scripts\_destructible::PlayFxOnTag_KillOnDestructibleSwap( getfx( "police_light_blue" ), self, "TAG_FX_LIGHT_04" );
wait (0.2);
common_scripts\_destructible::PlayFxOnTag_KillOnDestructibleSwap( getfx( "police_light_blue" ), self, "TAG_FX_LIGHT_05" );
ent_flag_waitopen( "cop_lights" );
stopFXontag( getfx( "police_light_blue" ), self, "TAG_FX_LIGHT_01" );
wait (0.01);
stopFXontag( getfx( "police_light_blue" ), self, "TAG_FX_LIGHT_02" );
wait (0.01);
stopFXontag( getfx( "police_light_blue" ), self, "TAG_FX_LIGHT_03" );
wait (0.01);
stopFXontag( getfx( "police_light_blue" ), self, "TAG_FX_LIGHT_04" );
wait (0.01);
stopFXontag( getfx( "police_light_blue" ), self, "TAG_FX_LIGHT_05" );
}
*/
}
/*QUAKED script_vehicle_nx_exfil_policecar (1 0 0) (-16 -16 -24) (16 16 32) USABLE SPAWNER
maps\_nx_policecar::main( "nx_vehicle_exfil_policecar" );
include,nx_vehicle_exfil_policecar
include,nx_destructible_vehicle_exfil_policecar_destructible
sound,vehicle_policecar_lapd,vehicle_standard,all_sp
sound,vehicle_car_exp,vehicle_standard,all_sp
defaultmdl="nx_vehicle_exfil_policecar"
default:"vehicletype" "policecar"
default:"script_team" "axis"
*/