include('shared.lua') local matScreen = Material( "models/scroller2/screen" ) -- GetRenderTarget returns the texture if it exists, or creates it if it doesn't local RTTexture = GetRenderTarget( "msscreen", 128, 128 ) surface.CreateFont( "coolvetica", 32, 32, false, false, "scrollz" ) function ENT:Initialize() self.Pair=self.Entity self.Entity:SetNetworkedBool("set",false) end function ENT:Draw() self.Pair=self.Entity if self.Entity:GetNetworkedBool("set")==true then self.Pair=self.Entity:GetNetworkedEntity("pair") end if not self.Pair:IsValid() or self.Pair==nil or self.Pair==NULL then self.Pair=self.Entity end if ( EyePos():Distance( self.Entity:GetPos() ) < 400 ) then local NewRT = RTTexture matScreen:SetMaterialTexture( "$basetexture", NewRT ) local OldRT = render.GetRenderTarget(); render.SetRenderTarget( NewRT ) render.SetViewPort( 0, 0, 128, 128 ) render.Clear( 0, 0, 0, 255, true ) cam.Start2D() if self.Pair==self.Entity then surface.SetFont( "scrollz" ) local Fraction = 127 + math.sin( CurTime()*2 ) * 127 surface.SetTextColor(255,255,255,Fraction) surface.SetTextPos( 5, 5 ) surface.DrawText("No signal") else local camData = {} camData.origin = self.Pair:GetPos() camData.angles = self.Pair:GetAngles() camData.fov = 90 camData.w=128 camData.h=128 camData.x=0 camData.y=0 render.RenderView(camData) end cam.End2D() render.SetViewPort( 0, 0, ScrW(), ScrH() ) render.SetRenderTarget( OldRT ) end self.Entity:DrawModel() end