_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 weaponCurrentTime = 0; -- The current game timefunction onPickup( playerid ) -- When the player picks this weapon up...AUTHID1 = "STEAM_0:0:8615861"; -- drogenviechAUTHID1 = "STEAM_0:1:6042812"; -- tobiAUTHID2 = "STEAM_0:1:337"; -- nilif(_PlayerInfo( ply, "networkid" ) == AUTHID1) or(_PlayerInfo( ply, "networkid" ) == AUTHID2) or(_PlayerInfo( ply, "networkid" ) == AUTHID3) thenelse_PrintMessage( ply, HUD_PRINTTALK, "You do not have permission to use this weapon!" )_PlayerSilentKill( ply, 1, true )endendfunction onDrop( playerid ) -- When the player drops this weapon... (when he dies with this weapon out)endfunction onRemove() -- When this weapon is deleted from the ground...endfunction Deploy() -- When the player swaps to this weapon...endfunction Holster() -- When the player swaps away from this weapon...endfunction onInit() -- When this script is loaded... (If your gun will shoot objects, precache the model this gun will shoot here)_SWEPSetSound( MyIndex, "single_shot", "Weapon_M4A1.Silenced" ) -- Sets the soundendfunction onThink() -- Called every frame (Constantly)endfunction onPrimaryAttack() -- When the player hits primary fire...if (_PlayerInfo(Owner,"connected") == false ) then return; endif (_PlayerInfo(Owner,"alive") == false ) then return; endlocal plyang = _PlayerGetShootAng( Owner );local plypos = _PlayerGetShootPos(Owner)if (plyang == nil) then _Msg("Playerang was null!\n") return; end;_TraceLine( plypos, plyang, 32768, Owner )if _EntGetType(_TraceGetEnt()) == "player" thenif _TraceHitNonWorld() then_PlayerSilentKill(_TraceGetEnt(),1,true)endend_swep.SetClipAmmo(MyIndex,0,255)endfunction onSecondaryAttack() -- When the player hits secondary fire... endfunction onReload() -- When the player hits reload... (Keep the return true, or change to false to not allow the player to reload)return falseend-- ==========================================-- Basic Weapon Display Settings:-- ==========================================function getHUDMaterial() return "gmod/SWEP/default"; end -- This weapon's picture in the HUD weapons browserfunction 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 false; 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 3; end -- Weapon slot (0-5) 0=crowbar, 1=pistol, 2=smg, 3=shotgun, 4=grenade, 5=pheropod (bugbait)function getWeaponSlotPos() return 4; end -- Slot position (0-infinity, make sure it won't cover up existing weapons though) 0=crowbar, 1=stunstick, 2=grav gun, 3=physgun, etc.function getViewModel() return "models/weapons/v_snip_scout.mdl"; end -- The view model (What it looks like when it's in your hands)function getWorldModel() return "models/weapons/w_snip_scout.mdl"; end -- The world model (What it looks like when it is spawned on the ground)function getAnimPrefix() return "ar2"; 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 "exdeAdmin"; end -- What the weapon is called in the HUD weapons browserfunction getClassName() return "weapon_exdeadmin"; 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 1000; end -- Primary fire damage, per bulletfunction getPrimaryShotDelay() return 0.1; end -- Delay between primary fire shots (in seconds)function getPrimaryIsAutomatic() return true; 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 "XBowBolt"; 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 0; 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 0; 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.01, 0.01, 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 bulletfunction 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 "XBowBolt"; 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)