HTML Board.

Hey I was wondering if there is an open source html board out there for download. When I say HTML Board I am trying to say, one of those in game graphics people use as news boards, to show blog posts, and even players of the week like in sassilization. Can anyone help me out with this?

Thanks!

I am also interested in somthing like this, other than that simple 3D2D scoreboard.

vgui.Create(“HTML”)

cam.Start3D2D

Um alright if I just want to display my website how can I go about this. Sorry I am a noob when it comes to lua and that is why I am posting here.

[LUA]local pos = Vector(64, 1932, 296)
local ang = Angle(0, 180, 90)
local width = 512
local height = 512
local scale = 0.1
local url = “http://www.google.com

if g_3DHTML and g_3DHTML:IsValid() then g_3DHTML:Remove() end
local browser = vgui.Create(“HTML”)
g_3DHTML = browser
browser:SetPaintedManually(true)
browser:SetSize(width, height)
browser:SetMouseInputEnabled(false)
browser:OpenURL(url)

local function DrawSign()
– Draw a background
surface.SetDrawColor(255, 255, 255, 255)
surface.DrawRect(0, 0, width, height)

-- Draw the screen
render.SetMaterial(browser:GetHTMLMaterial())
render.DrawQuad(Vector(0, 0, 0),
                Vector(width, 0, 0),
                Vector(width, height, 0),
                Vector(0, height, 0)) 

end

hook.Add(“RenderScreenspaceEffects”, “3DHTMLSign”, function()
cam.Start3D(EyePos(), EyeAngles())
cam.Start3D2D(pos, ang, scale)
local status, err = pcall(DrawSign)
cam.End3D2D()
cam.End3D()
if not status then Error(err) end
end)[/LUA]

Width/height must be a power of 2 (2, 4, …, 128, 256, 512, etc.). Use the scale setting to resize it afterwards.

Put it into your lua/ folder and then lua_openscript_cl if you want to test it out and find the right numbers.

Thank you so much I will give that a try. Thanks for the help!

It works!

How would one get this to work in Multiplayer?

Alright very easy…put the lau file into your autorun folder in the lua folder. Then at the top of the document add this.

[lua]AddCSLuaFile(“autorun/screen.lua”)

[/lua]

It will now load when the server starts I now just want it to update every 5 seconds does anyone know how to do that?


	local RefreshButton = vgui.Create( "DButton", Browser ) 
	RefreshButton:SetPos( 55, 4 )
	RefreshButton:SetSize( 45, 15 )
	RefreshButton:SetText( "Refresh" )
	RefreshButton.DoClick = function()
		html:Refresh()
	end

One last question, I’ve gotten this to work. And it works great, but how would you go about setting up multiple screens?

To do multiple screens all you have to do is duplicate lua file, call it another name, and change the pos then your done!

I’ve tried doing this, but for whatever reason only one of the screens render.

Both files refer to a unique screen and use the same hook name. Just modify the first one to allow for more screens.