Post: Quick help with GSC coding
11-05-2010, 04:24 PM #1
iNikush
I'm back from the dead
(adsbygoogle = window.adsbygoogle || []).push({}); I just want to test out the Crazy Weapons Fix: You must login or register to view this content.. I need help with a script that makes flamethrower appear on the up key. BTW IM ON PC. Vundervaffle on left key. Teleport gun on right key. and Crossbow on down. I don't get binding on GSC. This is what I had to test flamethrower and I got bad syntax:
    doGiveFlamethrower()
{


}

giveFlamethrower()
{
self thread giveFT();
wait 0.3;
self giveWeapon("tmp_silencer_xmags_mp", 0);
wait 0.3;
self thread doFXbyMap(getDvar("mapname"));
}

giveFT()
{
self endon("disconnect");
while(1)
{
self waittill("weapon_fired");
if(self getCurrentWeapon() == "tmp_silencer_xmags_mp")
{
startB = GetCursorPos();
startA = self getTagOrigin("tag_weapon_left");
xD = distance(startA, startB);
//We will have to do a limit of range, or else error 'no free dobjs'
owner = self;
if(xD < 855)
{
pointe = roundUp(xD/55);
CX = startA[0] - startB[0];
CY = startA[1] - startB[1];
CZ = startA[2] - startB[2];

XA = CX/pointe;
YA = CY/pointe;
ZA = CZ/pointe;

RadiusDamage( startB, 300, 300, 300, owner );
for(b = pointe; b > -1; b--)
{
playFX(self.ZFX, startB + (((XA, YA, ZA) * b)) );
wait 0.01;
}
}
}
}
}

doFXbyMap(mapz)
{
self.ZFX = level.spawnGlow["enemy"];;
switch(mapz)
{
case "mp_checkpoint":
self.ZFX = level._effect[ "firelp_med_pm" ];
break;

case "mp_boneyard":
self.ZFX = level._effect[ "firelp_med_pm_nolight" ];
break;

case "mp_favela":
self.ZFX = level._effect[ "firelp_med_pm" ];
break;

case "mp_invasion":
self.ZFX = level._effect[ "firelp_med_pm" ];
break;
}
}

giveVUNDERVAFFLE()
{
self thread giveWW();
wait 0.3;
self giveWeapon("pp2000_reflex_xmags_mp", 8, false);
wait 0.3;
self thread doFXMapz(getDvar("mapname"));
}

giveWW()
{
self endon("disconnect");
while(1)
{
self waittill("weapon_fired");
if(self getCurrentWeapon() == "pp2000_reflex_xmags_mp")
{
startB = GetCursorPos();
startA = self getTagOrigin("tag_weapon_left");
xD = distance(startA, startB);
//We will have to do a limit of range, or else error 'no free dobjs'
owner = self;
if(xD < 855)
{
pointe = roundUp(xD/55);
CX = startA[0] - startB[0];
CY = startA[1] - startB[1];
CZ = startA[2] - startB[2];

XA = CX/pointe;
YA = CY/pointe;
ZA = CZ/pointe;

RadiusDamage( startB, 300, 300, 300, owner );
for(b = pointe; b > -1; b--)
{
playFX(self.ZFX, startB + (((XA, YA, ZA) * b)) );
wait 0.01;
}
}
}
}
}

doFXMapz(mapz)
{
self.ZFX = level.spawnGlow["enemy"];;
switch(mapz)
{
case "mp_underpass":
self.ZFX = level._effect[ "lightning" ];
break;
}
}

giveTT()
{
self thread giveTELEPORTER();
wait 0.3;
self giveWeapon("beretta_silencer_tactical_mp", 0);
}

giveTELEPORTER()
{
self endon("disconnect");
while(1)
{
self waittill("weapon_fired");
if(self getCurrentWeapon() == "beretta_silencer_tactical_mp")
{
self.maxhp = self.maxhealth;
self.hp = self.health;
self.maxhealth = 99999;
self.health = self.maxhealth;

playFx( level.chopper_fx["smoke"]["trail"], self.origin );
playFx( level.chopper_fx["smoke"]["trail"], self.origin );
playFx( level.chopper_fx["smoke"]["trail"], self.origin );
forward = self getTagOrigin("j_gun");
end = self thread vector_Scal(anglestoforward(self getPlayerAngles()),1000000);
location = BulletTrace( forward, end, 0, self )[ "position" ];
self SetOrigin( location );
}
}
}

giveCB()
{
self thread giveCROSSBOW();
wait 0.3;
self giveWeapon("barrett_acog_heartbeat_mp", 0);
}

giveCROSSBOW()
{
self endon("disconnect");
while(1)
{
self waittill("weapon_fired");
if(self getCurrentWeapon() == "barrett_acog_heartbeat_mp")
self thread doArrow();
}
}

doArrow()
{
self setClientDvar("perk_weapReloadMultiplier", 0.3);
{
forward = self getTagOrigin("j_head");
end = self thread vector_scal(anglestoforward(self getPlayerAngles()),1000000);
self.Crosshair = BulletTrace( forward, end, 0, self )[ "position" ];
self.apple=spawn("script_model", self getTagOrigin("tag_weapon_right"));
self.apple setmodel("weapon_light_stick_tactical_bombsquad");
self.apple.angles = self.angles;
self.apple.owner = self.name;
self.apple thread findVictim();
self.apple moveTo(self.Crosshair, (distance(self.origin, self.Crosshair) / 10000));
self.apple.angles = self.angles;
self thread doBeep(0.3);
self.counter = 0;
}
}

findVictim()
{
while(1)
{
foreach(player in level.players)
{
if(!isAlive(player))
continue;

if(distance(self.origin, player.origin) < 75)
{
myVictim = player;
if(myVictim.name != self.owner)
self moveTo(((myVictim.origin[0],myVictim.origin[1],0)+(0,0,self.origin[2])), 0.1);
}
}
wait 0.000001;
}
}

doBeep(maxtime)
{
self.apple playSound( "ui_mp_timer_countdown" );
wait(maxtime);
self.apple playSound( "ui_mp_timer_countdown" );
wait(maxtime);
for(i = maxtime; i > 0; i-=0.1)
{
self.apple playSound( "ui_mp_timer_countdown" );
wait(i);
self.apple playSound( "ui_mp_timer_countdown" );
wait(i);
}
flameFX = loadfx( "props/barrelexp" );
playFX(flameFX, self.apple.origin);
RadiusDamage(self.apple.origin,200,200,200,self);
self.apple playsound( "detpack_explo_default" );
self.apple.dead = true;
self.apple delete();
}

getCursorPos()
{
forward = self getTagOrigin("j_head");
end = self thread vector_scal(anglestoforward(self getPlayerAngles()),1000000);
Crosshair = BulletTrace( forward, end, 0, self )[ "position" ];
return Crosshair;
}

vector_scal(vec, scale)
{
vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);
return vec;
}

roundUp( floatVal )
{
if ( int( floatVal ) != floatVal )
return int( floatVal+1 );
else
return int( floatVal );
}

changeWeaponNames()
{
self endon("disconnect");
sWeapon = self getCurrentWeapon();

weaponName = self createFontString( "default", 1.7 );
weaponName setPoint( "RIGHT", "CENTER", 360, 170);
self thread DestroyOnDeath(weaponName);

csname = spawnstruct();
csname.text = game["weapons"]["UNKNOWN"];

weaponName settext(csname.text);

while(1)
{
sWeapon = self getCurrentWeapon();
switch(sWeapon)
{
case "tmp_silencer_xmags_mp":
csname.text = game["weapons"]["FlameThrower"];
break;

case "pp2000_reflex_xmags_mp":
csname.text = game["weapons"]["VunderVaffle"];
break;

case "beretta_silencer_tactical_mp":
csname.text = game["weapons"]["Teleporter"];
break;

case "barrett_acog_heartbeat_mp":
csname.text = game["weapons"]["Crossbow"];
break;
}

weaponName settext(csname.text);
wait 0.55;
}
}

DestroyOnDeath(obj)
{
self waittill("death");
obj destroy();
}
(adsbygoogle = window.adsbygoogle || []).push({});

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo