All pastes #508453 Raw Edit

Mine

public text v1 · immutable
·published 2007-05-25 00:43 UTC
rendered paste body
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:Think()

	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


	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
			if ( EyePos():Distance( self.Entity:GetPos() ) < 400 ) then
				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
		end
	cam.End2D()
	render.SetViewPort( 0, 0, ScrW(), ScrH() )
	render.SetRenderTarget( OldRT )

end

function ENT:Draw()
	self.Entity:DrawModel()
end