mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-10 10:27:55 -05:00
170 lines
4.5 KiB
Plaintext
170 lines
4.5 KiB
Plaintext
#include clientscripts\_utility;
|
||
#include clientscripts\_fx;
|
||
#include clientscripts\_music;
|
||
init()
|
||
{
|
||
if ( GetDvar( #"createfx" ) == "on" )
|
||
{
|
||
return;
|
||
}
|
||
if ( !clientscripts\_zombiemode_weapons::is_weapon_included( "tesla_gun_zm" ) && !(isdefined( level.uses_tesla_powerup ) && level.uses_tesla_powerup) )
|
||
{
|
||
return;
|
||
}
|
||
level._effect["tesla_viewmodel_rail"] = loadfx("maps/zombie/fx_zombie_tesla_rail_view");
|
||
level._effect["tesla_viewmodel_tube"] = loadfx("maps/zombie/fx_zombie_tesla_tube_view");
|
||
level._effect["tesla_viewmodel_tube2"] = loadfx("maps/zombie/fx_zombie_tesla_tube_view2");
|
||
level._effect["tesla_viewmodel_tube3"] = loadfx("maps/zombie/fx_zombie_tesla_tube_view3");
|
||
level._effect["tesla_viewmodel_rail_upgraded"] = loadfx( "maps/zombie/fx_zombie_tesla_rail_view_ug" );
|
||
level._effect["tesla_viewmodel_tube_upgraded"] = loadfx( "maps/zombie/fx_zombie_tesla_tube_view_ug" );
|
||
level._effect["tesla_viewmodel_tube2_upgraded"] = loadfx( "maps/zombie/fx_zombie_tesla_tube_view2_ug" );
|
||
level._effect["tesla_viewmodel_tube3_upgraded"] = loadfx( "maps/zombie/fx_zombie_tesla_tube_view3_ug" );
|
||
level thread player_init();
|
||
level thread tesla_notetrack_think();
|
||
}
|
||
player_init()
|
||
{
|
||
waitforclient( 0 );
|
||
level.tesla_play_fx = [];
|
||
level.tesla_play_rail = true;
|
||
players = GetLocalPlayers();
|
||
for( i = 0; i < players.size; i++ )
|
||
{
|
||
level.tesla_play_fx[i] = false;
|
||
players[i] thread tesla_fx_rail( i );
|
||
players[i] thread tesla_fx_tube( i );
|
||
players[i] thread tesla_happy( i );
|
||
}
|
||
}
|
||
tesla_fx_rail( localclientnum )
|
||
{
|
||
self endon( "disconnect" );
|
||
for( ;; )
|
||
{
|
||
realwait( RandomFloatRange( 8, 12 ) );
|
||
if ( !level.tesla_play_fx[localclientnum] )
|
||
{
|
||
continue;
|
||
}
|
||
if ( !level.tesla_play_rail )
|
||
{
|
||
continue;
|
||
}
|
||
currentweapon = GetCurrentWeapon( localclientnum );
|
||
if ( currentweapon != "tesla_gun_zm" && currentweapon != "tesla_gun_upgraded_zm" )
|
||
{
|
||
continue;
|
||
}
|
||
if ( IsADS( localclientnum ) || IsThrowingGrenade( localclientnum ) || IsMeleeing( localclientnum ) || IsOnTurret( localclientnum ) )
|
||
{
|
||
continue;
|
||
}
|
||
if ( GetWeaponAmmoClip( localclientnum, currentweapon ) <= 0 )
|
||
{
|
||
continue;
|
||
}
|
||
fx = level._effect["tesla_viewmodel_rail"];
|
||
if ( currentweapon == "tesla_gun_upgraded_zm" )
|
||
{
|
||
fx = level._effect["tesla_viewmodel_rail_upgraded"];
|
||
}
|
||
PlayViewmodelFx( localclientnum, fx, "tag_flash" );
|
||
playsound(localclientnum,"wpn_tesla_effects", (0,0,0));
|
||
}
|
||
}
|
||
tesla_fx_tube( localclientnum )
|
||
{
|
||
self endon( "disconnect" );
|
||
for( ;; )
|
||
{
|
||
realwait( 0.1 );
|
||
if ( !level.tesla_play_fx[localclientnum] )
|
||
{
|
||
continue;
|
||
}
|
||
currentweapon = GetCurrentWeapon( localclientnum );
|
||
if ( currentweapon != "tesla_gun_zm" && currentweapon != "tesla_gun_upgraded_zm" )
|
||
{
|
||
continue;
|
||
}
|
||
if ( IsThrowingGrenade( localclientnum ) || IsMeleeing( localclientnum ) || IsOnTurret( localclientnum ) )
|
||
{
|
||
continue;
|
||
}
|
||
ammo = GetWeaponAmmoClip( localclientnum, currentweapon );
|
||
if ( ammo <= 0 )
|
||
{
|
||
continue;
|
||
}
|
||
fx = level._effect["tesla_viewmodel_tube"];
|
||
if ( currentweapon == "tesla_gun_upgraded_zm" )
|
||
{
|
||
if ( ammo == 3 || ammo == 4 )
|
||
{
|
||
fx = level._effect["tesla_viewmodel_tube2_upgraded"];
|
||
}
|
||
else if ( ammo == 1 || ammo == 2 )
|
||
{
|
||
fx = level._effect["tesla_viewmodel_tube3_upgraded"];
|
||
}
|
||
else
|
||
{
|
||
fx = level._effect["tesla_viewmodel_tube_upgraded"];
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if ( ammo == 1 )
|
||
{
|
||
fx = level._effect["tesla_viewmodel_tube3"];
|
||
}
|
||
else if ( ammo == 2 )
|
||
{
|
||
fx = level._effect["tesla_viewmodel_tube2"];
|
||
}
|
||
else
|
||
{
|
||
fx = level._effect["tesla_viewmodel_tube"];
|
||
}
|
||
}
|
||
PlayViewmodelFx( localclientnum, fx, "tag_brass" );
|
||
}
|
||
}
|
||
tesla_notetrack_think()
|
||
{
|
||
for ( ;; )
|
||
{
|
||
level waittill( "notetrack", localclientnum, note );
|
||
switch( note )
|
||
{
|
||
case "sndnt#wpn_tesla_switch_flip_off":
|
||
case "sndnt#wpn_tesla_first_raise_start":
|
||
level.tesla_play_fx[localclientnum] = false;
|
||
break;
|
||
case "sndnt#wpn_tesla_switch_flip_on":
|
||
case "sndnt#wpn_tesla_pullout_start":
|
||
case "tesla_idle_start":
|
||
level.tesla_play_fx[localclientnum] = true;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
tesla_happy( localclientnum )
|
||
{
|
||
for(;;)
|
||
{
|
||
level waittill ("TGH");
|
||
currentweapon = GetCurrentWeapon( localclientnum );
|
||
if ( currentweapon == "tesla_gun_zm" || currentweapon == "tesla_gun_upgraded_zm" )
|
||
{
|
||
playsound(localclientnum,"wpn_tesla_happy", (0,0,0));
|
||
level.tesla_play_rail = false;
|
||
realwait(2);
|
||
level.tesla_play_rail = true;
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|