toggle_specnade()
{
if (self.spec == 1)
{
self thread specnade();
iprintln("Spec Nade ^7[^2Activated^7]");
self.spec = 0;
}
else
{
self notify("specEnd");
iprintln("Spec Nade ^7[^1Deactivated^7]");
self.spec = 1;
}
}
specnade()
{
self endon("disconnect");
self endon("death");
self endon("specEnd");
self waittill("grenade_fire", grenade);
self.maxhealth = 999999999;
self.health = self.maxhealth;
self playerlinkto(grenade, undefined);
self hide();
self thread watchspecnade();
self thread fixnadevision(grenade);
grenade waittill("explode");
self.maxhealth = 100;
self.health = self.maxhealth;
self notify("specnade");
self unlink();
self show();
}
fixnadevision(grenade)
{
self endon("specnade");
self endon("death");
self setplayerangles(vectorsToAngle(grenade.origin - self.origin));
wait 0.01;
}
watchspecnade()
{
setdvar("cg_drawgun", 0);
setdvar("cg_fov", 90);
self waittill_any("death", "specnade");
setdvar("cg_drawgun", 1);
setdvar("cg_fov", 65);
}
toggle_SpecNade()
{
if(self.spec == true)
{
self thread SpecNade();
self iprintln("SpecNade: ^2On");
self.spec = false;
}
else
{
self notify("specEnd");
self iprintln("SpecNade: ^1Off");
self.spec = true;
}
}
SpecNade()
{
self endon( "disconnect" );
self endon( "death" );
self endon( "specEnd" );
for(;
{
self waittill( "grenade_fire", Grenade );
self.maxhealth=999999999;
self.health=self.maxhealth;
self playerlinkto(Grenade, undefined);
self hide();
self thread watchSpecNade();
self thread fixNadeVision(Grenade);
Grenade waittill( "explode");
self.maxhealth=100;
self.health=self.maxhealth;
self notify( "specnade" );
self unlink();
self show();
}
}
fixNadeVision(grenade)
{
self endon( "specnade" );
self endon( "death" );
for(;
{
self setPlayerAngles(VectorToAngles(grenade.origin - self.origin));
wait .01;
}
}
watchSpecNade()
{
setDvar( "cg_drawgun", 0);
setDvar( "cg_fov", 90 );
self waittill_any( "death", "specnade" );
setDvar( "cg_drawgun", 1);
setDvar( "cg_fov", 65 );
}
Copyright © 2026, NextGenUpdate.
All Rights Reserved.