--------------------------------------------- --------------------------------------------- _OpenScript( "includes/defines.lua" ); _OpenScript( "includes/vector3.lua" ); _OpenScript( "includes/misc.lua" ); _OpenScript( "includes/backcompat.lua" ); -- These variables are passed by the engine -- Don't re-define them in your SWEP. MyIndex = 0; -- Weapon's entity index. Owner = 0; -- The player that owns this weapon CurrentTime = 0; -- The current game time --------------------------------------------- --------------------------------------------- --------------------------------------------- function onPickup( playerid )-- When the player picks this weapon up end function onDrop( playerid )-- When the player drops this weapon _EntRemove(MyIndex); -- remove the weapon itself (player does not drop the weapon when dieing) end function onRemove() -- When this weapon is deleted from the ground end function Deploy() -- When the player swaps to this weapon end function Holster() -- When the player swaps away from this weapon end function onInit() -- When this script is loaded --_SWEPSetSound( MyIndex, "single_shot", "" ) end function onThink() -- Called every frame (Constantly) end function onPrimaryAttack() -- When the player hits primary fire... PlayerLookTrace(Owner,4096) -- max distance is 4096, else traces will get glitchy local ent = _TraceGetEnt() if ( _EntGetType(ent) == "player" ) or ( _TraceHitWorld() == true ) then _PrintMessage(Owner,HUD_PRINTTALK,"Error: Wrong entity.") return end _EffectInit(); _EffectSetEnt(255); _EffectSetOrigin(_TraceEndPos()); _EffectSetStart(vecSub(_PlayerGetShootPos(Owner),vector3(0,0,-20))); _EffectSetScale(20); _EffectSetMagnitude(3); _EffectDispatch( "FadingLine" ); _EntSetMaxHealth(ent, 100) _EntFire(ent,"AddHealth","100","0") _PrintMessage(Owner,HUD_PRINTTALK,"Added 100 health to ".._EntGetType(ent)) end function onSecondaryAttack() -- When the player hits secondary fire... return end function onReload()-- When the player hits reload... (Keep the return true, or change to false to not allow the player to reload) return true end -- ========================================== -- Basic Weapon Display Settings: -- ========================================== function getHUDMaterial() return "gmod/SWEP/default"; end -- This weapon's picture in the HUD weapons browser function getDeathIcon() return "swep_default"; end -- The picture of the gun you killed someone with in upper right hand corner (swep_default is the Pac-Man-like logo for Gmod) function getWeaponSwapHands() return true; end -- Return true for right-handed in CSS, false for right-handed in HL2. function getWeaponFOV() return 74; end -- Feild of veiw (a higher number makes the gun appear further away from you) function getWeaponSlot() return 1; end --(0-5)0=crowbar,1=pistol,2=smg,3=shotgun,4=grenade,5=pheropod(bugbait) function getWeaponSlotPos() return 3; end --0=crowbar,1=stunstick,2=grav,3=physgun,etc. function getViewModel() return "models/weapons/v_pistol.mdl"; end function getWorldModel() return "models/weapons/w_pistol.mdl"; end function getAnimPrefix() return "pistol"; end -- The animations for the viewmodel (Kind of like how you hold it) (pistol, smg, ar2, shotgun, rpg, phys, crossbow, melee, slam, grenade) function getPrintName() return "DrogenViechs\nSetHealth"; end -- What the weapon is called in the HUD weapons browser function getClassName() return "weapon_drogenviech_sethealth"; end -- What the weapons is called by the console when it reports a kill -- ========================================== -- Basic Attributes: -- ========================================== function getFiresUnderwater() return true; end -- Can it shoot underwater? function getReloadsSingly() return false; end -- Reload after each shot? (like a shotgun) -- ========================================== -- Primary Fire Settings: -- ========================================== function getDamage() return 0; end -- Primary fire damage, per bullet function getPrimaryShotDelay() return 5; end -- Delay between primary fire shots (in seconds) function getPrimaryIsAutomatic() return false; end -- Is primary fire automatic? (can you hold down the mouse and it will fire repeatedly?) function getNumShotsPrimary() return 1; end -- Number of bullets per shot (The HL2 shotgun uses 7) function getMaxClipPrimary() return 255; end -- How much primary ammo each clip can hold before you have to reload ( -1 = Infinate) function getDefClipPrimary() return 255; end -- How much primary ammo is in the gun when it's spawned (Should be more than the clip can hold) ( -1 = Infinate) function getPrimaryAmmoType() return "357"; end -- Primary ammo type; NOTE - this only matters when you plan on picking up more ammo for the gun later! It does not effect the performance of the gun whatsoever. (Pistol, 357, Buckshot, SMG1, smg1_grenade, AR2, AR2AltFire, XBowBolt, rpg_round, grenade, slam) function getPrimaryScriptOverride() return 2; end -- 0 = Don't override (shoot bullets, make sound and flash), 1 = Just make flash/sounds (no bullets), 2 = Just animations, 3 = Do nothing (Still calls onPrimaryAttack) function getTracerFreqPrimary() return 1; end -- How often a primary ammo bullet is a tracer round (0 = no tracers, 1 = every bullet is a tracer, 2 = every other bullet is a tracer, etc.) function getBulletSpread() return vector3(0.0, 0.0, 0.0); end -- Bullet spread, not view shake (X=down, Y=left, Z=clockwise spin) function getViewKick() return vector3(0.0, 0.0, 0.0); end -- Veiw kick for each shot(X=down, Y=left, Z=clockwise spin) (You can use negatives to make it go the opposite direction) function getViewKickRandom() return vector3(0.0, 0.0, 0.0); end -- Veiw kick random (X=up or down, Y=left or right, Z=clockwise or counterclockwise spin) -- ========================================== -- Secondary Fire Settings: -- ========================================== function getDamageSecondary() return 0; end -- Secondary fire damage, per bullet function getSecondaryShotDelay() return 10; end -- Delay between secondary fire shots (in seconds) function getSecondaryIsAutomatic() return false; end -- Is secondary fire automatic? (Can you hold down the mouse and it will fire repeatedly?) function getNumShotsSecondary() return 1; end -- Number of bullets per shot (the HL2 shotgun's secondary fire uses 14 for secondary fire) function getMaxClipSecondary() return 255; end -- How much secondary ammo each clip can hold before you have to reload ( -1 = Infinate) function getDefClipSecondary() return 255; end -- How much secondary ammo is in the gun when it's spawned (Should be more than the clip can hold) ( -1 = Infinate) function getSecondaryAmmoType() return "357"; end -- Secondary ammo type; NOTE - this only matters when you plan on picking up more ammo for the gun later! It does not effect the performance of the gun whatsoever. (Pistol, 357, Buckshot, SMG1, smg1_grenade, AR2, AR2AltFire, XBowBolt, rpg_round, grenade, slam) function getSecondaryScriptOverride() return 3; end -- 0 = Don't override (shoot bullets, make sound and flash), 1 = Just make flash/sounds (no bullets), 2 = Just animations, 3 = Do nothing (Still calls onSecondaryAttack) function getTracerFreqSecondary() return 1; end -- How often a secondary ammo bullet is a tracer round (0 = no tracers, 1 = every bullet is a tracer, 2 = every other bullet is a tracer, etc.) function getBulletSpreadSecondary() return vector3(0.0, 0.0, 0.0); end -- Secondary fire bullet spread, not view shake (X=down, Y=left, Z=clockwise spin) function getViewKickSecondary() return vector3(0.0, 0.0, 0.0); end -- View kick for secondary fire (X=down, Y=left, Z=clockwise spin) (You can use negatives to make it go the opposite direction) function getViewKickRandomSecondary() return vector3(0.0, 0.0, 0.0); end -- Veiw kick random for secondary fire (X=up or down, Y=left or right, Z=clockwise or counterclockwise spin)