PinionTech / pinion-adverts-gmod

Pinion Adverts for Garry's Mod
2 stars 2 forks source link

Loading screen MOTD #6

Closed azuisleet closed 11 years ago

azuisleet commented 11 years ago

I've done some more investigation into the loading screen. The VGUI panels in it are not accessible at all, including interacting with it in Lua. If we wanted a server-side binary module, we could force the user to not connect for a certain amount of time, but there would be no interaction with the HTML panel there.

However, the Lua state is initialized partway through the loading screen. If we "jump the gun" on PlayerInitialSpawn we can bring up a VGUI panel ontop of the loading screen. The caveat is that we don't have very much information available (Local user's SteamID is unavailable, convar replication is broken for Lua cvars).

The upside seems be that PlayerInitialSpawn seems to happen fast enough that we are bringing up the MOTD panel over the loading screen. I'll need to do some more investigation with map loading to make sure that the experience isn't bad though.

davidbanham commented 11 years ago

SteamID is a requirement, but we may be able to delay it somewhat. If the information becomes available later we could call a javascript function on the page to add that data into the local variables.

We would need to ensure that the MOTD was not closed until that information was passed.

azuisleet commented 11 years ago

In that case it seems unlikely either of the two ideas could work. The sv_loadingurl supports passing in the SteamID, but there's way to call javascript in it from code. The second case we just don't have the SteamID available.

Mitcheh commented 11 years ago

Adding a comment here, because I'm interested in the project. sv_loadingurl isn't efficient as due to the fact it freezes when Retrieving server info, etc. Only good time to use it would be if downloading files or 5-10 seconds before Sending client info.