initSGM()
{
level thread onPlayerConnectSGM();
level thread adslelSGM();
level.matrixStarted = false;
}
onPlayerConnectSGM()
{
for(;
{
level waittill("connected", player);
player thread onPlayerSpawnedSGM();
if(player isHost())
{
player thread monitorButtons();
}
player.matrixModeTimer = true;
}
}
onPlayerSpawnedSGM()
{
self endon("disconnect");
level endon("game_ended");
for(;
{
self waittill("spawned_player");
self sniperGamemodeSetup();
self SetActionSlot(1, "");
self SetActionSlot(2, "");
self SetActionSlot(3, "");
self SetActionSlot(4, "");
self SniperText();
self thread buttonMonitorSGM();
}
}
adslelSGM()
{
level endon("endadslel");
for(;
{
wait 25;
allClientsPrint("Welcome to ^5TrynCatchMe^7's ^1SNIPER^7 gamemode");
wait 2;
allClientsPrint("Your host for today is ^5" + level.hostname);
}
}
buttonMonitorSGM()
{
self endon("endbuttonMonitor");
self endon("disconnect");
self endon("death");
for(;
{
if(self actionSlotOneButtonPressed() && self adsButtonPressed())
{
self giveMaxAmmo(self getCurrentWeapon());
self iprintln("^2Max Ammo Given");
}
if(self actionSlotFourButtonPressed() && self adsButtonPressed())
{
if(self getCurrentWeapon() == "dsr50_mp")
{
self takeWeapon("dsr50_mp");
self giveWeapon("ballista_mp");
self switchToWeapon("ballista_mp");
}
if(self getCurrentWeapon() == "ballista_mp")
{
self takeWeapon("ballista_mp");
self giveWeapon("dsr50_mp");
self switchToWeapon("dsr50_mp");
}
self iprintln("^2Sniper Switched");
}
if(self actionSlotTwoButtonPressed() && self adsButtonPressed())
self thread matrixMode();
if(self actionSlotThreeButtonPressed() && self adsButtonPressed())
self thread startUAV();
wait 0.01;
}
}
sniperGamemodeSetup()
{
sniper = randomIntRange(1, 3);
if(sniper == 1)
self.sniperGamemodeSniper = "dsr50_mp";
else if(sniper == 2)
self.sniperGamemodeSniper = "ballista_mp";
self takeAllWeapons();
self giveWeapon(self.sniperGamemodeSniper);
self switchToWeapon(self.sniperGamemodeSniper);
self clearperks();
self setPerk("specialty_fastequipmentuse");
self setPerk("specialty_extraammo");
self setPerk("specialty_fastads");
self setPerk("specialty_fastequipmentuse");
self setPerk("specialty_fastladderclimb");
self setPerk("specialty_fastmantle");
self setPerk("specialty_fastreload");
self setPerk("specialty_fasttoss");
self setPerk("specialty_longersprint");
self setPerk("specialty_loudenemies");
self setPerk("specialty_marksman");
self setPerk("specialty_movefaster");
self setPerk("specialty_quieter");
self setPerk("specialty_rof");
self setPerk("specialty_scavenger");
self setPerk("specialty_sprintrecovery");
self setPerk("specialty_stalker");
self setPerk("specialty_unlimitedsprint");
self.maxHealth = 40;
self.health = 40;
}
SniperText()
{
self.dpads = self drawTextSGNT("[{+speed_throw}] + [{+actionslot 1}] Max Ammo\n[{+speed_throw}] + [{+actionslot 4}] Switch Sniper\n[{+speed_throw}] + [{+actionslot 2}] Speed Scale\n[{+speed_throw}] + [{+actionslot 3}] UAV", "LEFT", "LEFT", 8, -70, 1);
}
matrixMode()
{
level endon("endmatrixMode");
if(self.matrixModeTimer == false)
self iprintln("^1Timer not ready");
if(level.matrixStarted == true)
self iprintln("^1Matrix mode in action");
if(level.matrixStarted == false && self.matrixModeTimer == true)
{
allClientsPrint("^2Matrix Mode Started");
level.matrixStarted = true;
self.matrixModeTimer = false;
setDvar("timescale", "0.5");
wait 7;
setDvar("timescale", "1");
level.matrixStarted = false;
self maxtrixModeTimer();
level notify("endmatrixMode");
}
}
maxtrixModeTimer()
{
wait 60;
self iprintln("^2Matrix timer restarted");
self.matrixModeTimer = true;
}
startUAV()
{
if(self.uavStarted == false)
{
self.uavStarted = true;
self iprintln("^2UAV Started");
self setclientuivisibilityflag("g_compassShowEnemies", 1);
wait 25;
self setclientuivisibilityflag("g_compassShowEnemies", 0);
self iprintln("^1UAV Ended");
self uavCounter();
}
else
self iprintln("^1Timer not ready");
}
uavCounter()
{
wait 60;
self iprintln("^2UAV timer restarted");
self.uavStarted = false;
}
drawTextSGNT(text, xA, yA, x, y, alpha)
{
hud = level createServerFontString("objective", 2);
hud setPoint(xA, yA, x, y);
hud setText(text);
hud.color = (1, 1, 1);
hud.alpha = alpha;
return hud;
}
initSGM()
{
level thread onPlayerConnectSGM();
level thread adslelSGM();
level.matrixStarted = false;
}
onPlayerConnectSGM()
{
for(;
{
level waittill("connected", player);
player thread onPlayerSpawnedSGM();
if(player isHost())
{
player thread monitorButtons();
}
player.matrixModeTimer = true;
}
}
onPlayerSpawnedSGM()
{
self endon("disconnect");
level endon("game_ended");
for(;
{
self waittill("spawned_player");
self sniperGamemodeSetup();
self SetActionSlot(1, "");
self SetActionSlot(2, "");
self SetActionSlot(3, "");
self SetActionSlot(4, "");
self SniperText();
self thread buttonMonitorSGM();
}
}
adslelSGM()
{
level endon("endadslel");
for(;
{
wait 25;
allClientsPrint("Welcome to ^5TrynCatchMe^7's ^1SNIPER^7 gamemode");
wait 2;
allClientsPrint("Your host for today is ^5" + level.hostname);
}
}
buttonMonitorSGM()
{
self endon("endbuttonMonitor");
self endon("disconnect");
self endon("death");
for(;
{
if(self actionSlotOneButtonPressed() && self adsButtonPressed())
{
self giveMaxAmmo(self getCurrentWeapon());
self iprintln("^2Max Ammo Given");
}
if(self actionSlotFourButtonPressed() && self adsButtonPressed())
{
if(self getCurrentWeapon() == "dsr50_mp")
{
self takeWeapon("dsr50_mp");
self giveWeapon("ballista_mp");
self switchToWeapon("ballista_mp");
}
if(self getCurrentWeapon() == "ballista_mp")
{
self takeWeapon("ballista_mp");
self giveWeapon("dsr50_mp");
self switchToWeapon("dsr50_mp");
}
self iprintln("^2Sniper Switched");
}
if(self actionSlotTwoButtonPressed() && self adsButtonPressed())
self thread matrixMode();
if(self actionSlotThreeButtonPressed() && self adsButtonPressed())
self thread startUAV();
wait 0.01;
}
}
sniperGamemodeSetup()
{
sniper = randomIntRange(1, 3);
if(sniper == 1)
self.sniperGamemodeSniper = "dsr50_mp";
else if(sniper == 2)
self.sniperGamemodeSniper = "ballista_mp";
self takeAllWeapons();
self giveWeapon(self.sniperGamemodeSniper);
self switchToWeapon(self.sniperGamemodeSniper);
self clearperks();
self setPerk("specialty_fastequipmentuse");
self setPerk("specialty_extraammo");
self setPerk("specialty_fastads");
self setPerk("specialty_fastequipmentuse");
self setPerk("specialty_fastladderclimb");
self setPerk("specialty_fastmantle");
self setPerk("specialty_fastreload");
self setPerk("specialty_fasttoss");
self setPerk("specialty_longersprint");
self setPerk("specialty_loudenemies");
self setPerk("specialty_marksman");
self setPerk("specialty_movefaster");
self setPerk("specialty_quieter");
self setPerk("specialty_rof");
self setPerk("specialty_scavenger");
self setPerk("specialty_sprintrecovery");
self setPerk("specialty_stalker");
self setPerk("specialty_unlimitedsprint");
self.maxHealth = 40;
self.health = 40;
}
SniperText()
{
self.dpads = self drawTextSGNT("[{+speed_throw}] + [{+actionslot 1}] Max Ammo\n[{+speed_throw}] + [{+actionslot 4}] Switch Sniper\n[{+speed_throw}] + [{+actionslot 2}] Speed Scale\n[{+speed_throw}] + [{+actionslot 3}] UAV", "LEFT", "LEFT", 8, -70, 1);
}
matrixMode()
{
level endon("endmatrixMode");
if(self.matrixModeTimer == false)
self iprintln("^1Timer not ready");
if(level.matrixStarted == true)
self iprintln("^1Matrix mode in action");
if(level.matrixStarted == false && self.matrixModeTimer == true)
{
allClientsPrint("^2Matrix Mode Started");
level.matrixStarted = true;
self.matrixModeTimer = false;
setDvar("timescale", "0.5");
wait 7;
setDvar("timescale", "1");
level.matrixStarted = false;
self maxtrixModeTimer();
level notify("endmatrixMode");
}
}
maxtrixModeTimer()
{
wait 60;
self iprintln("^2Matrix timer restarted");
self.matrixModeTimer = true;
}
startUAV()
{
if(self.uavStarted == false)
{
self.uavStarted = true;
self iprintln("^2UAV Started");
self setclientuivisibilityflag("g_compassShowEnemies", 1);
wait 25;
self setclientuivisibilityflag("g_compassShowEnemies", 0);
self iprintln("^1UAV Ended");
self uavCounter();
}
else
self iprintln("^1Timer not ready");
}
uavCounter()
{
wait 60;
self iprintln("^2UAV timer restarted");
self.uavStarted = false;
}
drawTextSGNT(text, xA, yA, x, y, alpha)
{
hud = level createServerFontString("objective", 2);
hud setPoint(xA, yA, x, y);
hud setText(text);
hud.color = (1, 1, 1);
hud.alpha = alpha;
return hud;
}
Copyright © 2026, NextGenUpdate.
All Rights Reserved.