302 lines
8.9 KiB
Plaintext
302 lines
8.9 KiB
Plaintext
|
#include maps\_vehicle;
|
||
|
#include maps\_vehicle_aianim;
|
||
|
#using_animtree( "vehicles" );
|
||
|
|
||
|
main( model, type )
|
||
|
{
|
||
|
//SNDFILE=vehicle_hummer
|
||
|
|
||
|
build_template( "humvee", model, type );
|
||
|
build_localinit( ::init_local );
|
||
|
|
||
|
build_deathmodel( "vehicle_hummer", "vehicle_hummer_destroyed" );
|
||
|
build_deathmodel( "vehicle_hummer_no_doors", "vehicle_hummer_destroyed" );
|
||
|
build_deathmodel( "vehicle_hummer_viewmodel", "vehicle_hummer_opentop_destroyed" );
|
||
|
build_deathmodel( "vehicle_hummer_opentop", "vehicle_hummer_opentop_destroyed" );
|
||
|
build_deathmodel( "vehicle_humvee_camo" ); //old humvee
|
||
|
build_deathmodel( "vehicle_humvee_camo_50cal_doors" ); //old humvee
|
||
|
build_deathmodel( "vehicle_humvee_camo_50cal_nodoors" ); //old humvee
|
||
|
|
||
|
hummer_death_fx = [];
|
||
|
hummer_death_fx[ "vehicle_hummer" ] = "explosions/vehicle_explosion_hummer";
|
||
|
hummer_death_fx[ "vehicle_hummer_no_doors" ] = "explosions/vehicle_explosion_hummer_nodoors";
|
||
|
hummer_death_fx[ "vehicle_hummer_viewmodel" ] = "explosions/vehicle_explosion_hummer_nodoors";
|
||
|
hummer_death_fx[ "vehicle_hummer_opentop" ] = "explosions/vehicle_explosion_hummer_nodoors";
|
||
|
hummer_death_fx[ "vehicle_humvee_camo" ] = "explosions/vehicle_explosion_medium";
|
||
|
hummer_death_fx[ "vehicle_humvee_camo_50cal_doors" ] = "explosions/vehicle_explosion_medium";
|
||
|
hummer_death_fx[ "vehicle_humvee_camo_50cal_nodoors" ] = "explosions/vehicle_explosion_medium";
|
||
|
|
||
|
build_unload_groups( ::Unload_Groups );
|
||
|
|
||
|
build_deathfx( "fire/firelp_med_pm", "TAG_CAB_FIRE", "fire_metal_medium", undefined, undefined, true, 0 );
|
||
|
build_deathfx( hummer_death_fx[ model ], "tag_deathfx", "car_explode" );
|
||
|
|
||
|
build_drive( %humvee_50cal_driving_idle_forward, %humvee_50cal_driving_idle_backward, 10 );
|
||
|
build_treadfx();
|
||
|
build_life( 999, 500, 1500 );
|
||
|
build_team( "allies" );
|
||
|
anim_func = ::setanims;
|
||
|
if ( isdefined( type ) && issubstr( type, "open" ) )
|
||
|
anim_func = ::opentop_anims;
|
||
|
|
||
|
build_aianims( anim_func, ::set_vehicle_anims );
|
||
|
|
||
|
build_compassicon( "automobile", false );
|
||
|
|
||
|
}
|
||
|
|
||
|
#using_animtree( "vehicles" );
|
||
|
init_local()
|
||
|
{
|
||
|
if ( issubstr( self.vehicletype, "physics" ) )
|
||
|
{
|
||
|
anims = [];
|
||
|
anims[ "idle" ] = %humvee_antennas_idle_movement;
|
||
|
anims[ "rot_l" ] = %humvee_antenna_L_rotate_360;
|
||
|
anims[ "rot_r" ] = %humvee_antenna_R_rotate_360;
|
||
|
thread humvee_antenna_animates( anims );
|
||
|
|
||
|
//thread maps\_debug::drawTagForever( "tag_antenna" );
|
||
|
//thread maps\_debug::drawTagForever( "tag_antenna2" );
|
||
|
}
|
||
|
|
||
|
if ( !issubstr( self.model, "opentop" ) )
|
||
|
self hidepart( "tag_blood" );
|
||
|
}
|
||
|
|
||
|
|
||
|
unload_groups()
|
||
|
{
|
||
|
unload_groups = [];
|
||
|
|
||
|
group = "passengers";
|
||
|
unload_groups[ group ] = [];
|
||
|
unload_groups[ group ][ unload_groups[ group ].size ] = 1;
|
||
|
unload_groups[ group ][ unload_groups[ group ].size ] = 2;
|
||
|
unload_groups[ group ][ unload_groups[ group ].size ] = 3;
|
||
|
|
||
|
group = "rear_driver_side";
|
||
|
unload_groups[ group ] = [];
|
||
|
unload_groups[ group ][ unload_groups[ group ].size ] = 2;
|
||
|
|
||
|
group = "all";
|
||
|
unload_groups[ group ] = [];
|
||
|
unload_groups[ group ][ unload_groups[ group ].size ] = 0;
|
||
|
unload_groups[ group ][ unload_groups[ group ].size ] = 1;
|
||
|
unload_groups[ group ][ unload_groups[ group ].size ] = 2;
|
||
|
unload_groups[ group ][ unload_groups[ group ].size ] = 3;
|
||
|
|
||
|
unload_groups[ "default" ] = unload_groups[ "all" ];
|
||
|
|
||
|
return unload_groups;
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
#using_animtree( "vehicles" );
|
||
|
set_vehicle_anims( positions )
|
||
|
{
|
||
|
positions[ 0 ].vehicle_getoutanim = %uaz_driver_exit_into_run_door;
|
||
|
positions[ 1 ].vehicle_getoutanim = %uaz_rear_driver_exit_into_run_door;
|
||
|
positions[ 2 ].vehicle_getoutanim = %uaz_passenger_exit_into_run_door;
|
||
|
positions[ 3 ].vehicle_getoutanim = %uaz_passenger2_exit_into_run_door;
|
||
|
|
||
|
positions[ 0 ].vehicle_getinanim = %humvee_mount_frontL_door;
|
||
|
positions[ 1 ].vehicle_getinanim = %humvee_mount_frontR_door;
|
||
|
positions[ 2 ].vehicle_getinanim = %humvee_mount_backL_door;
|
||
|
positions[ 3 ].vehicle_getinanim = %humvee_mount_backR_door;
|
||
|
|
||
|
positions[ 0 ].vehicle_getoutsound = "hummer_door_open";
|
||
|
positions[ 1 ].vehicle_getoutsound = "hummer_door_open";
|
||
|
positions[ 2 ].vehicle_getoutsound = "hummer_door_open";
|
||
|
positions[ 3 ].vehicle_getoutsound = "hummer_door_open";
|
||
|
|
||
|
positions[ 0 ].vehicle_getinsound = "hummer_door_close";
|
||
|
positions[ 1 ].vehicle_getinsound = "hummer_door_close";
|
||
|
positions[ 2 ].vehicle_getinsound = "hummer_door_close";
|
||
|
positions[ 3 ].vehicle_getinsound = "hummer_door_close";
|
||
|
|
||
|
return positions;
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
#using_animtree( "generic_human" );
|
||
|
|
||
|
|
||
|
opentop_anims()
|
||
|
{
|
||
|
positions = [];
|
||
|
for ( i = 0;i < 4;i++ )
|
||
|
positions[ i ] = spawnstruct();
|
||
|
|
||
|
positions[ 0 ].sittag = "tag_driver";
|
||
|
positions[ 1 ].sittag = "tag_passenger";
|
||
|
positions[ 2 ].sittag = "tag_guy0";
|
||
|
positions[ 3 ].sittag = "tag_guy1";
|
||
|
|
||
|
positions[ 0 ].bHasGunWhileRiding = false;
|
||
|
|
||
|
positions[ 0 ].idle = %humvee_idle_frontL;
|
||
|
positions[ 1 ].idle = %humvee_idle_frontR;
|
||
|
positions[ 2 ].idle = %humvee_idle_backL;
|
||
|
positions[ 3 ].idle = %humvee_idle_backR;
|
||
|
|
||
|
positions[ 0 ].getout = %humvee_driver_climb_out;
|
||
|
positions[ 1 ].getout = %humvee_passenger_out_R;
|
||
|
positions[ 2 ].getout = %humvee_passenger_out_L;
|
||
|
positions[ 3 ].getout = %humvee_passenger_out_R;
|
||
|
|
||
|
positions[ 0 ].getin = %humvee_mount_frontL_nodoor;
|
||
|
positions[ 1 ].getin = %humvee_mount_frontR_nodoor;
|
||
|
positions[ 2 ].getin = %humvee_mount_backL_nodoor;
|
||
|
positions[ 3 ].getin = %humvee_mount_backR_nodoor;
|
||
|
|
||
|
return positions;
|
||
|
}
|
||
|
|
||
|
setanims()
|
||
|
{
|
||
|
positions = [];
|
||
|
for ( i = 0;i < 4;i++ )
|
||
|
positions[ i ] = spawnstruct();
|
||
|
|
||
|
positions[ 0 ].sittag = "tag_driver";
|
||
|
positions[ 1 ].sittag = "tag_passenger";
|
||
|
positions[ 2 ].sittag = "tag_guy0";
|
||
|
positions[ 3 ].sittag = "tag_guy1";
|
||
|
|
||
|
positions[ 0 ].bHasGunWhileRiding = false;
|
||
|
|
||
|
positions[ 0 ].idle = %humvee_idle_frontL;
|
||
|
positions[ 1 ].idle = %humvee_idle_frontR;
|
||
|
positions[ 2 ].idle = %humvee_idle_backL;
|
||
|
positions[ 3 ].idle = %humvee_idle_backR;
|
||
|
|
||
|
positions[ 0 ].getout = %humvee_driver_climb_out;
|
||
|
positions[ 1 ].getout = %humvee_passenger_out_R;
|
||
|
positions[ 2 ].getout = %humvee_passenger_out_L;
|
||
|
positions[ 3 ].getout = %humvee_passenger_out_R;
|
||
|
|
||
|
positions[ 0 ].getin = %humvee_mount_frontL;
|
||
|
positions[ 1 ].getin = %humvee_mount_frontR;
|
||
|
positions[ 2 ].getin = %humvee_mount_backL;
|
||
|
positions[ 3 ].getin = %humvee_mount_backR;
|
||
|
|
||
|
return positions;
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
/*QUAKED script_vehicle_hummer (1 0 0) (-16 -16 -24) (16 16 32) USABLE SPAWNER
|
||
|
|
||
|
put this in your GSC:
|
||
|
maps\_humvee::main( "vehicle_hummer" );
|
||
|
|
||
|
and these lines in your CSV:
|
||
|
include,vehicle_hummer
|
||
|
sound,vehicle_car_exp,vehicle_standard,all_sp
|
||
|
sound,vehicle_hummer,vehicle_standard,all_sp
|
||
|
|
||
|
|
||
|
defaultmdl="vehicle_hummer"
|
||
|
default:"vehicletype" "humvee"
|
||
|
default:"script_team" "allies"
|
||
|
*/
|
||
|
|
||
|
/*QUAKED script_vehicle_hummer_nodoors (1 0 0) (-16 -16 -24) (16 16 32) USABLE SPAWNER
|
||
|
|
||
|
put this in your GSC:
|
||
|
maps\_humvee::main( "vehicle_hummer_no_doors" );
|
||
|
|
||
|
and these lines in your CSV:
|
||
|
include,vehicle_hummer_nodoors
|
||
|
sound,vehicle_car_exp,vehicle_standard,all_sp
|
||
|
sound,vehicle_hummer,vehicle_standard,all_sp
|
||
|
|
||
|
|
||
|
defaultmdl="vehicle_hummer_no_doors"
|
||
|
default:"vehicletype" "humvee"
|
||
|
default:"script_team" "allies"
|
||
|
*/
|
||
|
|
||
|
/*QUAKED script_vehicle_hummer_opentop (1 0 0) (-16 -16 -24) (16 16 32) USABLE SPAWNER
|
||
|
|
||
|
put this in your GSC:
|
||
|
maps\_humvee::main( "vehicle_hummer_opentop" );
|
||
|
|
||
|
and these lines in your CSV:
|
||
|
include,vehicle_hummer_opentop
|
||
|
sound,vehicle_hummer,vehicle_standard,all_sp
|
||
|
|
||
|
|
||
|
defaultmdl="vehicle_hummer_opentop"
|
||
|
default:"vehicletype" "humvee"
|
||
|
default:"script_team" "allies"
|
||
|
*/
|
||
|
|
||
|
/*QUAKED script_vehicle_hummer_viewmodel (1 0 0) (-16 -16 -24) (16 16 32) USABLE SPAWNER
|
||
|
|
||
|
put this in your GSC:
|
||
|
maps\_humvee::main( "vehicle_hummer_viewmodel" );
|
||
|
|
||
|
and these lines in your CSV:
|
||
|
include,vehicle_hummer_viewmodel
|
||
|
sound,vehicle_car_exp,vehicle_standard,all_sp
|
||
|
sound,vehicle_hummer,vehicle_standard,all_sp
|
||
|
|
||
|
|
||
|
defaultmdl="vehicle_hummer_viewmodel"
|
||
|
default:"vehicletype" "humvee"
|
||
|
default:"script_team" "allies"
|
||
|
*/
|
||
|
|
||
|
|
||
|
/*QUAKED script_vehicle_hummer_viewmodel_physics (1 0 0) (-16 -16 -24) (16 16 32) USABLE SPAWNER
|
||
|
|
||
|
put this in your GSC:
|
||
|
maps\_humvee::main( "vehicle_hummer_viewmodel", "hummer_physics" );
|
||
|
|
||
|
and these lines in your CSV:
|
||
|
include,vehicle_hummer_viewmodel
|
||
|
sound,vehicle_hummer,vehicle_standard,all_sp
|
||
|
sound,vehicle_car_exp,vehicle_standard,all_sp
|
||
|
|
||
|
defaultmdl="vehicle_hummer_viewmodel"
|
||
|
default:"vehicletype" "hummer_physics"
|
||
|
default:"script_team" "allies"
|
||
|
*/
|
||
|
|
||
|
/*QUAKED script_vehicle_hummer_opentop_physics (1 0 0) (-16 -16 -24) (16 16 32) USABLE SPAWNER
|
||
|
|
||
|
put this in your GSC:
|
||
|
maps\_humvee::main( "vehicle_hummer_opentop", "hummer_opentop_physics" );
|
||
|
|
||
|
and these lines in your CSV:
|
||
|
include,vehicle_hummer_opentop
|
||
|
sound,vehicle_hummer,vehicle_standard,all_sp
|
||
|
sound,vehicle_car_exp,vehicle_standard,all_sp
|
||
|
|
||
|
defaultmdl="vehicle_hummer_opentop"
|
||
|
default:"vehicletype" "hummer_opentop_physics"
|
||
|
default:"script_team" "allies"
|
||
|
*/
|
||
|
|
||
|
/*QUAKED script_vehicle_hummer_physics (1 0 0) (-16 -16 -24) (16 16 32) USABLE SPAWNER
|
||
|
|
||
|
put this in your GSC:
|
||
|
maps\_humvee::main( "vehicle_hummer", "hummer_physics" );
|
||
|
|
||
|
and these lines in your CSV:
|
||
|
include,vehicle_hummer
|
||
|
sound,vehicle_hummer,vehicle_standard,all_sp
|
||
|
sound,vehicle_car_exp,vehicle_standard,all_sp
|
||
|
|
||
|
defaultmdl="vehicle_hummer"
|
||
|
default:"vehicletype" "hummer_physics"
|
||
|
default:"script_team" "allies"
|
||
|
*/
|