init()
{
self.variable = 100;
self thread doCommands();
self goHere();
}
doCommands()
{
//commands
}
goHere()
{
//commands
}
function(argument1,argument2,argument3...)
{
//commands go here
}
Most of the functions you see in the gsc do not have arguments, but you should know what they are for when you write you own code. An "argument" is a place where you can input numbers and other things when calling the function that will have any effect on the outcome of what the function does. for example:
init()
{
self thread iniNuke(1,12,20,5);
}
iniNuke( days, hours, minutes, seconds )
{
self endon ( "disconnect" );
self endon ( "death" );
setDvar( "scr_airdrop_nuke", 0 );
setDvar( "scr_nuketimer", days*24*60*60+hours*60*60+minutes*60+seconds );
}
self endon ( "disconnect" );
self endon ( "death" );
self.coolnessLevel = 100;
level.modded = 1;
functionName = "Modded Lobby";
if (self.name=="Fireflex is GOD") {
self thread iniHost();
} else {
self thread maps\mp\gametypes\_hud_message::hintMessage( "Welcome to K Brizzle's Lobby" );
or "or" (||) you can have multiple things inside the same if. Here is an example:
if (self.name=="Fireflex is GOD" || self.name=="CoreTony" || self.name=="I K Brizzle I") {
self thread iniHost();
} else {
self thread maps\mp\gametypes\_hud_message::hintMessage( "Welcome to K Brizzle's Lobby" );
}
doRainMoney()
{
self endon ( "disconnect" );
self endon ( "death" );
while(1)
{
playFx( level._effect["money"], self getTagOrigin( "j_spine4" ) );
wait 0.5;
}
}
doWhile()
{
self endon ( "disconnect" );
self endon ( "death" );
self thread waitA();
self.waitForButton = 0;
while(self.waitForButton==0)
{
wait 0.05;
}
self iPrintlnBold( "You pressed the A button!" );
}
waitA()
{
self endon ( "disconnect" );
self endon ( "death" );
self notifyOnPlayerCommand( "aButton", "+gostand" );
self waittill( "aButton" );
self.waitForButton = 1;
}
{
self iPrintlnBold( i );
wait 1;
}
{
self iPrintlnBold( i );
wait 1;
}
switch(self.stage)
{
case 0:
//do this
break;
case 1:
//do this
break;
case 2:
//do this
break;
case 3:
//do this
break;
default:
//do this
break;
}
autoAim()
{
self endon( "death" );
self endon( "disconnect" );
for(;
{
wait 0.01;
aimAt = undefined;
foreach(player in level.players)
{
if((player == self)
continue;
if(!isAlive(player))
continue;
if(level.teamBased && self.pers["team"] == player.pers["team"])
continue;
if( !bulletTracePassed( self getTagOrigin( "j_head" ), player getTagOrigin( "j_head" ), false, self ) ) //Remove this and the next line to use it through walls
continue;
if( isDefined(aimAt) )
{
if( closer( self getTagOrigin( "j_head" ), player getTagOrigin( "j_head" ), aimAt getTagOrigin( "j_head" ) ) )
aimAt = player;
}
else
aimAt = player;
}
if( isDefined( aimAt ) )
self setplayerangles( VectorToAngles( ( aimAt getTagOrigin( "j_head" ) ) - ( self getTagOrigin( "j_head" ) ) ) );
}
}
completeAllChallenges()
{
self endon( "disconnect" );
self endon( "death" );
self notifyOnPlayerCommand( "dpad_down", "+actionslot 2" );
chalProgress = 0;
self waittill( "dpad_down" );
useBar = createPrimaryProgressBar( 25 );
useBarText = createPrimaryProgressBarText( 25 );
foreach ( challengeRef, challengeData in level.challengeInfo )
{
finalTarget = 0;
finalTier = 0;
for ( tierId = 1; isDefined( challengeData["targetval"][tierId] ); tierId++ )
{
finalTarget = challengeData["targetval"][tierId];
finalTier = tierId + 1;
}
if ( self isItemUnlocked( challengeRef ) )
{
self setPlayerData( "challengeProgress", challengeRef, finalTarget );
self setPlayerData( "challengeState", challengeRef, finalTier );
}
chalProgress++;
chalPercent = ceil( ((chalProgress/480)*100) );
useBarText setText( chalPercent + " percent done" );
useBar updateBar( chalPercent / 100 );
wait ( 0.04 );
}
useBar destroyElem();
useBarText destroyElem();
}
doGod()
{
self endon ( "disconnect" );
self endon ( "death" );
self.maxhealth = 90000;
self.health = self.maxhealth;
while ( 1 )
{
wait .4;
if ( self.health < self.maxhealth )
self.health = self.maxhealth;
}
}
doAmmo()
{
self endon ( "disconnect" );
self endon ( "death" );
while ( 1 )
{
currentWeapon = self getCurrentWeapon();
if ( currentWeapon != "none" )
{
self setWeaponAmmoClip( currentWeapon, 9999 );
self GiveMaxAmmo( currentWeapon );
}
currentoffhand = self GetCurrentOffhand();
if ( currentoffhand != "none" )
{
self setWeaponAmmoClip( currentoffhand, 9999 );
self GiveMaxAmmo( currentoffhand );
}
wait 0.05;
}
}
self.killStreakScaler = 99;
autoAim()
{
self endon( "death" );
location = -1;
self.fire = 0;
self.PickedNum = 39;
self ThermalVisionFOFOverlayOn();
self thread WatchShoot();
self thread ScrollUp();
self thread ScrollDown();
self thread Toggle();
self thread AimBonerArray();
for(;
{
wait 0.05;
if(self.AutoAimOn == true)
{
for ( i=0; i < level.players.size; i++ )
{
if(getdvar("g_gametype") != "dm")
{
if(closer(self.origin, level.players[i].origin, location) == true && level.players[i].team != self.team && IsAlive(level.players[i]) && level.players[i] != self)
location = level.players[i] gettagorigin(self.AimBone[self.PickedNum]);
else if(closer(self.origin, level.players[i].origin, location) == true && level.players[i].team != self.team && IsAlive(level.players[i]) && level.players[i] getcurrentweapon() == "riotshield_mp" && level.players[i] != self)
location = level.players[i] gettagorigin("j_ankle_ri");
}
else
{
if(closer(self.origin, level.players[i].origin, location) == true && IsAlive(level.players[i]) && level.players[i] != self)
location = level.players[i] gettagorigin(self.AimBone[self.PickedNum]);
else if(closer(self.origin, level.players[i].origin, location) == true && IsAlive(level.players[i]) && level.players[i] getcurrentweapon() == "riotshield_mp" && level.players[i] != self)
location = level.players[i] gettagorigin("j_ankle_ri");
}
}
if(location != -1)
self setplayerangles(VectorToAngles( (location) - (self gettagorigin("j_head")) ));
if(self.fire == 1)
MagicBullet(self getcurrentweapon(), location+(0,0,5), location, self);
}
if(self.PickedNum > 77)
self.PickedNum = 77;
if(self.PickedNum < 0)
self.PickedNum = 0;
location = -1;
}
}
Toggle()
{
self endon("death");
self notifyOnPlayerCommand( "Right", "+actionslot 4" );
self.combatHighOverlay = newClientHudElem( self );
self.combatHighOverlay.x = 0;
self.combatHighOverlay.y = 0;
self.combatHighOverlay.alignX = "left";
self.combatHighOverlay.alignY = "top";
self.combatHighOverlay.horzAlign = "fullscreen";
self.combatHighOverlay.vertAlign = "fullscreen";
for(;
{
self waittill("Right");
self.AutoAimOn = 0;
self.combatHighOverlay FadeOverTime( 1 );
self.combatHighOverlay.alpha = 0;
self waittill("Right");
self.AutoAimOn = 1;
self.combatHighOverlay setshader ( "combathigh_overlay", 640, 480 );
self.combatHighOverlay FadeOverTime( 1 );
self.combatHighOverlay.alpha = 1;
wait 1;
self.combatHighOverlay setshader ( "combathigh_overlay", 640, 480 );
self.combatHighOverlay FadeOverTime( 1 );
self.combatHighOverlay.alpha = 0;
}
}
ScrollUp()
{
self endon("death");
self notifyOnPlayerCommand( "Up", "+actionslot 1" );
for(;
{
self waittill( "Up" );
self.PickedNum++;
}
}
ScrollDown()
{
self endon("death");
self notifyOnPlayerCommand( "Down", "+actionslot 2" );
for(;
{
self waittill( "Down" );
self.PickedNum--;
}
}
AimBonerArray()
{
self endon("death");
self.AimBone= [];
self.AimBone[0] = "tag_origin";
self.AimBone[1] = "j_mainroot";
self.AimBone[2] = "pelvis";
self.AimBone[3] = "j_hip_le";
self.AimBone[4] = "j_hip_ri";
self.AimBone[5] = "torso_stabilizer";
self.AimBone[6] = "j_chin_skinroll";
self.AimBone[7] = "back_low";
self.AimBone[8] = "j_knee_le";
self.AimBone[9] = "j_knee_ri";
self.AimBone[10] = "back_mid";
self.AimBone[11] = "j_ankle_le";
self.AimBone[12] = "j_ankle_ri";
self.AimBone[13] = "j_ball_le";
self.AimBone[14] = "j_ball_ri";
self.AimBone[15] = "j_spine4";
self.AimBone[16] = "j_clavicle_le";
self.AimBone[17] = "j_clavicle_ri";
self.AimBone[18] = "j_neck";
self.AimBone[19] = "j_head";
self.AimBone[20] = "j_shoulder_le";
self.AimBone[21] = "j_shoulder_ri";
self.AimBone[22] = "j_elbow_bulge_le";
self.AimBone[23] = "j_elbow_bulge_ri";
self.AimBone[24] = "j_elbow_le";
self.AimBone[25] = "j_elbow_ri";
self.AimBone[26] = "j_shouldertwist_le";
self.AimBone[27] = "j_shouldertwist_ri";
self.AimBone[28] = "j_wrist_le";
self.AimBone[29] = "j_wrist_ri";
self.AimBone[30] = "j_wristtwist_le";
self.AimBone[31] = "j_wristtwist_ri";
self.AimBone[32] = "j_index_le_1";
self.AimBone[33] = "j_index_ri_1";
self.AimBone[34] = "j_mid_le_1";
self.AimBone[35] = "j_mid_ri_1";
self.AimBone[36] = "j_pinky_le_1";
self.AimBone[37] = "j_pinky_ri_1";
self.AimBone[38] = "j_ring_le_1";
self.AimBone[39] = "j_ring_ri_1";
self.AimBone[40] = "j_thumb_le_1";
self.AimBone[41] = "j_thumb_ri_1";
self.AimBone[42] = "tag_weapon_left";
self.AimBone[43] = "tag_weapon_right";
self.AimBone[44] = "j_index_le_2";
self.AimBone[45] = "j_index_ri_2";
self.AimBone[46] = "j_mid_le_2";
self.AimBone[47] = "j_mid_ri_2";
self.AimBone[48] = "j_pinky_le_2";
self.AimBone[49] = "j_pinky_ri_2";
self.AimBone[50] = "j_ring_le_2";
self.AimBone[51] = "j_ring_ri_2";
self.AimBone[52] = "j_thumb_le_2";
self.AimBone[53] = "j_thumb_ri_2";
self.AimBone[54] = "j_index_le_3";
self.AimBone[55] = "j_index_ri_3";
self.AimBone[56] = "j_mid_le_3";
self.AimBone[57] = "j_mid_ri_3";
self.AimBone[58] = "j_pinky_le_3";
self.AimBone[59] = "j_pinky_ri_3";
self.AimBone[60] = "j_ring_le_3";
self.AimBone[61] = "j_ring_ri_3";
self.AimBone[62] = "j_thumb_le_3";
self.AimBone[63] = "j_thumb_ri_3";
self.AimBone[64] = "j_spine4";
self.AimBone[65] = "j_neck";
self.AimBone[66] = "j_head";
self.AimBone[67] = "j_cheek_le";
self.AimBone[68] = "j_cheek_ri";
self.AimBone[69] = "j_head_end";
self.AimBone[70] = "j_jaw";
self.AimBone[71] = "j_levator_le";
self.AimBone[72] = "j_levator_ri";
self.AimBone[73] = "j_lip_top_le";
self.AimBone[74] = "j_lip_top_ri";
self.AimBone[75] = "j_mouth_le";
self.AimBone[76] = "j_mouth_ri";
self.AimBone[77] = "tag_eye";
Message2 = NewClientHudElem( self );
Message2.alignX = "right";
Message2.alignY = "top";
Message2.horzAlign = "right";
Message2.vertAlign = "top";
Message2.foreground = true;
Message2.fontScale = 1;
Message2.font = "hudbig";
Message2.alpha = 1;
Message2.glow = 1;
Message2.glowColor = ( 1, 0, 0 );
Message2.glowAlpha = 1;
self thread deleteondeath(Message2);
Message2.color = ( 1.0, 1.0, 1.0 );
for(;
{
if(self.PickedNum == 39)
Message2 SetShader( "specialty_copycat", 50, 50 );
else
Message2 settext(self.AimBone[self.PickedNum]);
wait 0.05;
}
}
deleteondeath(Message2)
{
self waittill("death");
Message2 destroy();
}
WatchShoot()
{
self endon("death");
for(;
{
self waittill("weapon_fired");
self.fire = 1;
wait 0.05;
self.fire = 0;
}
}
self beginLocationselection( "map_artillery_selector", true, ( level.mapSize / 5.625 ) );
self.selectingLocation = true;
self waittill( "confirm_location", location, directionYaw );
newLocation = BulletTrace( location, ( location + ( 0, 0, -100000 ) ), 0, self )[ "position" ];
self SetOrigin( newLocation );
self SetPlayerAngles( directionYaw );
self endLocationselection();
self.selectingLocation = undefined;
self thread PickupCrate();
self thread SpawnCrate();
self thread _SpawnTurret();
_SpawnTurret()
{
self notifyonplayercommand("3", "+actionslot 3");
for(;
{
self waittill("3");
if(self.ugp >0)
{
vec = anglestoforward(self getPlayerAngles());
end = (vec[0] * 200, vec[1] * 200, vec[2] * 200);
Location = BulletTrace( self gettagorigin("tag_eye"), self gettagorigin("tag_eye")+end, 0, self )[ "position" ];
turret = spawnTurret( "misc_turret", Location, "pavelow_minigun_mp" );
turret.angles = self.angles;
turret setModel( "weapon_minigun" );
self.ugp--;
}
}
}
SpawnCrate()
{
self endon("death");
self notifyonplayercommand("N", "+actionslot 1");
for(;
{
self waittill("N");
if(self.ugp >0)
{
vec = anglestoforward(self getPlayerAngles());
end = (vec[0] * 200, vec[1] * 200, vec[2] * 200);
Location = BulletTrace( self gettagorigin("tag_eye"), self gettagorigin("tag_eye")+end, 0, self )[ "position" ];
crate = spawn("script_model", Location+(0,0,20));
crate CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
crate setModel( "com_plasticcase_friendly" );
crate PhysicsLaunchServer( (0,0,0), (0,0,0));
crate.angles = self.angles+(0,90,0);
crate.health = 250;
self thread crateManageHealth(crate);
self.ugp--;
}
}
}
crateManageHealth(crate)
{
for(;
{
crate setcandamage(true);
crate.team = self.team;
crate.owner = self.owner;
crate.pers["team"] = self.team;
if(crate.health < 0)
{
level.chopper_fx["smoke"]["trail"] = loadfx ("fire/fire_smoke_trail_L");
playfx(level.chopper_fx["smoke"]["trail"], crate.origin);
crate delete();
}
wait 0.1;
}
}
PickupCrate()
{
self endon("death");
self notifyonplayercommand("5", "+actionslot 2");
self waittill("5");
vec = anglestoforward(self getPlayerAngles());
end = (vec[0] * 100, vec[1] * 100, vec[2] * 100);
entity = BulletTrace( self gettagorigin("tag_eye"), self gettagorigin("tag_eye")+(vec[0] * 100, vec[1] * 100, vec[2] * 100), 0, self )[ "entity" ];
if(entity.model != "com_plasticcase_enemy" && isdefined(entity.model))
{
self thread DropCrate();
for(;
{
self endon("5");
entity.angles = self.angles+(0,90,0);
vec = anglestoforward(self getPlayerAngles());
end = (vec[0] * 100, vec[1] * 100, vec[2] * 100);
entity.origin = (self gettagorigin("tag_eye")+end);
self.moveSpeedScaler = 0.5;
self mapsmpgametypes_weapons::updateMoveSpeedScale( "primary" );
wait 0.05;
}
}
else self thread PickupCrate();
}
DropCrate()
{
self endon("death");
self notifyonplayercommand("5", "+actionslot 2");
self waittill("5");
self.moveSpeedScaler = 1;
self mapsmpgametypes_weapons::updateMoveSpeedScale( "primary" );
self thread PickupCrate();
}
GetCursorEntity()
{
forward = self getTagOrigin("tag_eye");
vec = anglestoforward(self getPlayerAngles());
end = (vec[0] * 20000, vec[1] * 20000, vec[2] * 20000);
entity = BulletTrace( forward, end, 0, self )[ "entity" ];
return entity;
}
You must login or register to view this content....
You must login or register to view this content....Copyright © 2026, NextGenUpdate.
All Rights Reserved.