Closed azuisleet closed 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.
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.
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.
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.