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", 512, 512 ) surface.CreateFont( "coolvetica", 64, 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") self.Pair.RPair=self.Entity 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, 512, 512 ) 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 input signal") local Fraction = 127 + math.sin( CurTime()*2 ) * 127 surface.SetTextColor(255,255,255,Fraction) surface.SetTextPos( 5, 70 ) surface.DrawText("Check connection") surface.SetDrawColor(255,0,0,128) local Fraction = 256 + math.sin( CurTime() ) * 256 surface.DrawRect(0,Fraction,512,5) surface.SetDrawColor(0,255,0,128) local Fraction = 256 + math.sin( CurTime() ) * 256 surface.DrawRect(0,512,Fraction,5) else local camData = {} camData.origin = self.Pair:GetPos() or Vector(0,0,0) camData.angles = self.Pair:GetAngles() or Vector(0,0,0) camData.fov = 90 camData.w=512 camData.h=512 camData.x=0 camData.y=0 local r,g,b,a = self.Pair:GetColor() self.Pair:SetColor(255,255,255,0) render.RenderView(camData) self.Pair:SetColor(r,g,b,a) surface.SetDrawColor(0,0,0,128) local Fraction = 256 + math.sin( CurTime() ) * 256 surface.DrawRect(0,Fraction,512,5) end cam.End2D() render.SetViewPort( 0, 0, ScrW(), ScrH() ) render.SetRenderTarget( OldRT ) end self.Entity:DrawModel() end