sniperZoom()
{
dvar = [];
curs = 1;
elemNames = strTok("1x;2x;4x;8x;16x;32x;64x",";");
for(k = 0; k < 8; k++)
dvar[8-k] = (k*10);
for(;
{
while(self adsButtonPressed() && self playerADS() && hasSniper())
{
for(k = 0; k < 8; k++)
{
if(!isDefined(self.zoomElem[k]))
{
self.zoomElem[k] = createText("default",1.4,"","TOP",((k*40)-120),35,1,200,elemNames[k]);
if(k == curs-1)
self.zoomElem[curs-1].color = (1,0,0);
}
}
if(self meleeButtonPressed())
{
self.zoomElem[curs-1].color = (1,1,1);
curs ++;
if(curs >= dvar.size)
curs = 1;
self.zoomElem[curs-1].color = (1,0,0);
wait .1;
}
self setclientDvar("cg_fovmin", int(dvar[curs]));
wait .05;
}
for(k = 0; k < 8; k++)
self.zoomElem[k] destroy();
wait .05;
}
}
hasSniper()
{
curWeapon = self getCurrentWeapon();
if(curWeapon == "remington700_mp" || curWeapon == "m21_mp" || curWeapon == "aw50_mp" || curWeapon == "barrett_mp" || curWeapon == "dragunov_mp" || curWeapon == "m40a3_mp")
return true;
return false;
}
createText( Font, Fontscale, Align, Relative, X, Y, Alpha, Sort, Text )
{
Hud = createFontString( Font, Fontscale);
Hud setPoint( Align, Relative, X, Y );
Hud.alpha = Alpha;
Hud.sort = Sort;
Hud setText( Text );
self thread destroyElemOnDeath( Hud );
return Hud;
}
destroyElemOnDeath( elem )
{
self waittill("death");
elem destroy();
}
.
.
.
ScopeZoom(start, limit, p)
{
if(!isDefined(p))
p = self;
p endon("death");
p.zoom = start;
p iprintln("Press [{+smoke}] | [{+frag}] to zoom in and out.");
for(;
{
while(hasScope(p Getcurrentweapon())
{
if(p adsbuttonpressed())
{
if(p secondaryoffhandbuttonpressed())
p.zoom++;
if(p fragbuttonpressed())
p.zoom--;
}
if (p.zoom > limit || !p adsbuttonpressed())
p.zoom = limit;
p setClientDvar("cg_fovmin", p.zoom);
wait .05;
}
wait .05;
}
}
Copyright © 2026, NextGenUpdate.
All Rights Reserved.