AddCSLuaFile() SWEP.PrintName = "Разведывательный дрон" SWEP.DrawWeaponInfoBox = false SWEP.Slot = 4 SWEP.SlotPos = 1 SWEP.Spawnable = true SWEP.ViewModel = "models/murdered/weapons/drone_ex.mdl" SWEP.WorldModel = "models/murdered/weapons/drone_ex.mdl" SWEP.ViewModelFOV = 54 SWEP.UseHands = true SWEP.Primary.ClipSize = -1 SWEP.Primary.DefaultClip = -1 SWEP.Primary.Automatic = false SWEP.Primary.Ammo = "none" SWEP.Secondary.ClipSize = -1 SWEP.Secondary.DefaultClip = -1 SWEP.Secondary.Automatic = false SWEP.Secondary.Ammo = "none" SWEP.DrawAmmo = false function SWEP:Initialize() self:SetHoldType("smg") end function SWEP:PrimaryAttack() if SERVER then local ply = self.Owner local tr = util.TraceLine({ start = ply:EyePos(), endpos = ply:EyePos() + ply:GetAimVector()*48, filter = ply, mask = MASK_SHOT }) if tr.Hit then return end local SpawnPos = tr.HitPos local prop = ents.Create('mur_drone_spy') prop:SetPos(SpawnPos) prop:SetAngles(ply:GetAngles()) prop:SetCreator(ply) prop:Spawn() ply:ScreenFade(SCREENFADE.IN, color_black, 0.5, 0.5) self:Remove() end end function SWEP:SecondaryAttack() end function SWEP:Reload() end if CLIENT then local WorldModel = ClientsideModel(SWEP.WorldModel) WorldModel:SetNoDraw(true) function SWEP:DrawWorldModel() local _Owner = self:GetOwner() if (IsValid(_Owner)) then local offsetVec = Vector(20, -2, 0) local offsetAng = Angle(170, 180, 0) local boneid = _Owner:LookupBone("ValveBiped.Bip01_R_Hand") if !boneid then return end local matrix = _Owner:GetBoneMatrix(boneid) if !matrix then return end local newPos, newAng = LocalToWorld(offsetVec, offsetAng, matrix:GetTranslation(), matrix:GetAngles()) WorldModel:SetPos(newPos) WorldModel:SetAngles(newAng) WorldModel:SetupBones() else WorldModel:SetPos(self:GetPos()) WorldModel:SetAngles(self:GetAngles()) end WorldModel:DrawModel() end function SWEP:CalcViewModelView(ViewModel, OldEyePos, OldEyeAng, EyePos, EyeAng) local pos = EyePos-EyeAng:Up()*16+EyeAng:Forward()*32 local ang = EyeAng return pos, ang end end SWEP.Category = "RP Drones"