AddCSLuaFile("cl_init.lua") AddCSLuaFile("shared.lua") resource.AddFile("materials/VGUI/entities/laserPointer.vmt") resource.AddFile("materials/VGUI/entities/laserPointer.vtf") include('shared.lua') SWEP.Weight = 8 SWEP.AutoSwitchTo = false SWEP.AutoSwitchFrom = false SWEP.Receiver = nil SWEP.Pointing = false function SWEP:Initialize() self.Pointing = false end function SWEP:Reload() end function SWEP:Equip( newOwner ) if(newOwner.LasReceiver && newOwner.LasReceiver:IsValid())then self.Receiver = newOwner.LasReceiver newOwner.LasReceiver = nil newOwner:PrintMessage( HUD_PRINTTALK, "Relinked Sucessfully" ) end end function SWEP:PrimaryAttack() self.Pointing = !self.Pointing self.Weapon:SetNWBool("Active", self.Pointing) if(self.Pointing && self.Receiver && self.Receiver:IsValid())then Wire_TriggerOutput(self.Receiver,"Active",1) else Wire_TriggerOutput(self.Receiver,"Active",0) end end function SWEP:SecondaryAttack() local trace = self.Owner:GetEyeTrace() if (trace.Entity:GetClass() == "gmod_wire_las_reciever") then self.Receiver = trace.Entity self.Owner:PrintMessage( HUD_PRINTTALK, "Linked Sucessfully" ) return true end end function SWEP:Think() if(self.Pointing && self.Receiver && self.Receiver:IsValid())then local point = self.Owner:GetEyeTrace().HitPos Wire_TriggerOutput(self.Receiver, "X", point.x) Wire_TriggerOutput(self.Receiver, "Y", point.y) Wire_TriggerOutput(self.Receiver, "Z", point.z) Wire_TriggerOutput(self.Receiver, "Pos", point) self.Receiver.VPos = point end end