"SchoolMe" flash player, is it vgui, possible to use in lua?!

That flash player when you press F1 in sandbox/SchoolMe in console, how did Garry make that, is it possible to use it within LUA? I’ve found no reference to it anywhere, and since it works outside of game, it’s definitely engine based, but is it a vgui component, or something we could potentially use within LUA?

It’d be far better than setting html panels to + 1 - h height and raping FPS.

its an html panel with a flash video

GCF -> Help -> resources -> movies

Except it’s not. I highly doubt Garry would use the hacky +1-1 height stuff, and there’s the fact it doesn’t lag, whereas setting height stuff does.

There’s no way it’s HMTL, or at least the normal way.


Not helpful.

It’s most likely in one of the dlls if not in sandbox’s files. And it is done with html.

Well, it’s definitely not LUA/Sandbox, since it works out of game, and anywhere, it’s an engine command. But damn, which dll, and there must be a way to tap into that using LUA and maybe a custom module.

We need Garry :frowning:

…all he did was make a vgui screen with a dll…

it just works better (the dll version)

Yes, I know that. I’m asking HOW and if it’s possible to make a module to use this in LUA, or directly use it within LUA. Am I that hard to understand?

It works just like the motd, it’s not a real site it’s just a .html file. Which means your directly reading the file and not waiting for a site explaining the lag.


Although I do wonder about how he does it. There doesn’t seem to be any code on it other than the command “SchoolMe” run on “GM:ShowHelp”
But you can do it just the same with an html panel.

hardcoded into the game.dll with a console command binded to open it

No, I mean no playing lag. The HTML vgui does not auto-update, and thus videos do not work normally, without the hacky changing height “fix”. Try it, open up a youtube video in a HTML vgui, it won’t “play” visually unless you clock, or use the hacky method, which lags massively (160fps to 10 for me)

Garry’s doesn’t, so I assume he’s either using some form of “working” HTML vgui or another thing entirely.

Actually, there should have been more to my post, but what I meant was that because it doesn’t get the files from a real webpage it just uses http.Get() to retrieve contents from the gcf, which contains a CSS file, javascript files, a html file and the flash movies. If you look in there you’ll also see the background (I thought that was done with RoundedBox :expressionless: )

The Javascript interacts with lua?

Unlikely Garry has build a secret rendering engine into gmod.

You do not need to repeat exactly what I said with more words ;). If he does not want to pay attention to my previous post then let him. Like I said, you are reading the stuff straight from a file every player has by default and not retrieving it from some random website out of nowhere.


Ex. You click on a video file you have on your desktop, instant play. You stream a video from youtube, buffering needed.

Clearly you know very little then, check out “garrysmod\garrysmod\help\index.html”

This has been asked a million times in the past month, how haven’t you seen ANY of the threads?


I have seen the posts, I know of that file. Please explain how you can have flash play in a HTML frame in derma with it moving, without ANY extra (or just a small amount) of lag on the FPS. Seriously, load fucking youtube up, it DOESNT run the flash, unless you change height, which RAPES FPS.

Jesus fucking christ, am I THIS hard to understand??!


Loads fine for me? Install flash?

Try making one with regular VGUI instead of derma. derma is pretty fatty for panel drawing. I don’t think garry uses derma in that menu which may be why it runs a little better.

Oops, ignore the derma. When I create a standard HTML vgui on my screen and stick it anywhere, youtube videos go black with the loading thing, sound starts and the html frame does nothing unless I click on it, try it, I swear the wiki even states this.

Either its bugged and garry is using something else or I’m bugged :frowning:

The whole problem stemmed from me drawing the html vgui in 3D, and I thought it was just 3D which didn’t “animate” but it turns out, for me, 2D doesn’t work either.

You have answered your own question “the html frame does nothing unless I click on it”
You are only going to get the video to work if you keep clicking on the frame a hundred times or you put it in think/huddraw.
Now this explains the lag, it’s lagging because your getting a bunch of shit from youtube every frame or click.

And now on to the “SchoolMe” the reason that does not lag first off is because every client has these videos already downloaded so instead of it streaming to them like with youtube it is just playing. I’m sure the reason he didn’t just do the video stuff in lua is because he didn’t want people trying to copy it since it wouldn’t work unless you stream the video which is a bad idea and maybe just doing it the way he did produces even less lag.

I’m probably wrong on some of this but the point is you can’t stream videos with lua. The only way would be to send the videos and play them while uploading the screen(I’m pretty sure you can’t send those types of files to clients) this is what garry does but since we already have these videos its all good.

No, it’s NOTHING to do with downloading lag, that’s bollocks, because it plays anyway. Load up a youtube vid, try it, it’ll play sound, but without video. Each click brings it up to the latest moment.

Now, the hack to force it to re-draw every frame is to set tall -1 and back, redrawing it, but this rapes FPS.

Clearly Garry has not done this, because it doesn’t rape FPS, so how does he get his html to play the video rather than freeze it with sound. And you don’t have to spam click to keep it running.


Well I emailed Garry:

Now to go find it :stuck_out_tongue: