167 lines
3.9 KiB
Plaintext
167 lines
3.9 KiB
Plaintext
// IW6 GSC SOURCE
|
|
// Generated by https://github.com/xensik/gsc-tool
|
|
|
|
#using_animtree("vehicles");
|
|
|
|
player_viewhands_minigun( var_0, var_1, var_2 )
|
|
{
|
|
if ( !isdefined( var_1 ) )
|
|
var_1 = "viewhands_player_us_army";
|
|
|
|
var_0 useanimtree( #animtree );
|
|
|
|
if ( !isdefined( var_2 ) )
|
|
var_0.animname = "suburban_hands";
|
|
else
|
|
var_0.animname = var_2;
|
|
|
|
var_0.has_hands = 0;
|
|
var_0 show_hands( var_1 );
|
|
var_0 set_idle();
|
|
var_0 thread player_viewhands_minigun_hand( "LEFT" );
|
|
var_0 thread player_viewhands_minigun_hand( "RIGHT" );
|
|
var_0 thread handle_mounting( var_1 );
|
|
}
|
|
|
|
set_idle()
|
|
{
|
|
self setanim( maps\_utility::getanim( "idle_L" ), 1, 0, 1 );
|
|
self setanim( maps\_utility::getanim( "idle_R" ), 1, 0, 1 );
|
|
}
|
|
|
|
handle_mounting( var_0 )
|
|
{
|
|
var_1 = self;
|
|
var_1 endon( "death" );
|
|
|
|
for (;;)
|
|
{
|
|
var_1 waittill( "turretownerchange" );
|
|
var_2 = var_1 getturretowner();
|
|
|
|
if ( !isalive( var_2 ) )
|
|
{
|
|
hide_hands( var_0 );
|
|
continue;
|
|
}
|
|
|
|
show_hands( var_0 );
|
|
}
|
|
}
|
|
|
|
show_hands( var_0 )
|
|
{
|
|
if ( !isdefined( var_0 ) )
|
|
var_0 = "viewhands_player_us_army";
|
|
|
|
var_1 = self;
|
|
|
|
if ( var_1.has_hands )
|
|
return;
|
|
|
|
var_1 dontcastshadows();
|
|
var_1.has_hands = 1;
|
|
var_1 attach( var_0, "tag_player" );
|
|
}
|
|
|
|
hide_hands( var_0 )
|
|
{
|
|
if ( !isdefined( var_0 ) )
|
|
var_0 = "viewhands_player_us_army";
|
|
|
|
var_1 = self;
|
|
|
|
if ( !var_1.has_hands )
|
|
return;
|
|
|
|
var_1 castshadows();
|
|
var_1.has_hands = 0;
|
|
var_1 detach( var_0, "tag_player" );
|
|
}
|
|
|
|
anim_minigun_hands()
|
|
{
|
|
level.scr_animtree["suburban_hands"] = #animtree;
|
|
level.scr_model["suburban_hands"] = "viewhands_player_us_army";
|
|
level.scr_anim["suburban_hands"]["idle_L"] = %player_suburban_minigun_idle_l;
|
|
level.scr_anim["suburban_hands"]["idle_R"] = %player_suburban_minigun_idle_r;
|
|
level.scr_anim["suburban_hands"]["idle2fire_L"] = %player_suburban_minigun_idle2fire_l;
|
|
level.scr_anim["suburban_hands"]["idle2fire_R"] = %player_suburban_minigun_idle2fire_r;
|
|
level.scr_anim["suburban_hands"]["fire2idle_L"] = %player_suburban_minigun_fire2idle_l;
|
|
level.scr_anim["suburban_hands"]["fire2idle_R"] = %player_suburban_minigun_fire2idle_r;
|
|
}
|
|
|
|
player_viewhands_minigun_hand( var_0 )
|
|
{
|
|
self endon( "death" );
|
|
var_1 = undefined;
|
|
|
|
if ( var_0 == "LEFT" )
|
|
var_1 = ::spinbuttonpressed;
|
|
else if ( var_0 == "RIGHT" )
|
|
var_1 = ::firebuttonpressed;
|
|
|
|
for (;;)
|
|
{
|
|
if ( level.player [[ var_1 ]]() )
|
|
{
|
|
thread player_viewhands_minigun_presed( var_0 );
|
|
|
|
while ( level.player [[ var_1 ]]() )
|
|
wait 0.05;
|
|
|
|
continue;
|
|
}
|
|
|
|
thread player_viewhands_minigun_idle( var_0 );
|
|
|
|
while ( !level.player [[ var_1 ]]() )
|
|
wait 0.05;
|
|
}
|
|
}
|
|
|
|
spinbuttonpressed()
|
|
{
|
|
if ( level.player adsbuttonpressed() )
|
|
return 1;
|
|
|
|
if ( level.player attackbuttonpressed() )
|
|
return 1;
|
|
|
|
return 0;
|
|
}
|
|
|
|
firebuttonpressed()
|
|
{
|
|
return level.player attackbuttonpressed();
|
|
}
|
|
|
|
player_viewhands_minigun_idle( var_0 )
|
|
{
|
|
var_1 = undefined;
|
|
|
|
if ( var_0 == "LEFT" )
|
|
var_1 = "L";
|
|
else if ( var_0 == "RIGHT" )
|
|
var_1 = "R";
|
|
|
|
self clearanim( maps\_utility::getanim( "idle2fire_" + var_1 ), 0.2 );
|
|
self setflaggedanimrestart( "anim", maps\_utility::getanim( "fire2idle_" + var_1 ) );
|
|
self waittillmatch( "anim", "end" );
|
|
self clearanim( maps\_utility::getanim( "fire2idle_" + var_1 ), 0.2 );
|
|
self setanim( maps\_utility::getanim( "idle_" + var_1 ) );
|
|
}
|
|
|
|
player_viewhands_minigun_presed( var_0 )
|
|
{
|
|
var_1 = undefined;
|
|
|
|
if ( var_0 == "LEFT" )
|
|
var_1 = "L";
|
|
else if ( var_0 == "RIGHT" )
|
|
var_1 = "R";
|
|
|
|
self clearanim( maps\_utility::getanim( "idle_" + var_1 ), 0.2 );
|
|
self setanim( maps\_utility::getanim( "idle2fire_" + var_1 ) );
|
|
}
|