Think doesn't run when server is empty - need alternative.
8 replies, posted
I need a 'map scan' to run upon server start, even if there is no one in the server.
I considered using a while true do loop, but that would lock up the server and prevent players from joining.
I'm considering using Lua Lanes to make an alternative thread with a sleep interval call the main function, but I don't think you can cross-call and moving the code into another thread is not an option.
Halp D:
[b]Edit:[/b] Timers and schedule won't work, as they use the Think hook :(
Do timers work? or maybe the tick hook, not sure if it does but worth a try.
Timers won't work either.
Forgot to mention that...
Thanks for the suggestion, though.
If you are really desperate, do what Hardy did, add a bot.
Timers won't work because they are controlled by think hook :)
Edit: oops, good job reading again. Mentioned in op..
Myself I had a problem where I wanted to run a certain thing after server had started. I ended up using SourceMod and pawn, it got the job done.
use bots?
Spawn one in InitPostEntity with game.ConsoleCommand("bot") and kick it when you're done with your scan.
[editline]02:55PM[/editline]
¬_¬ [img]http://www.facepunch.com/fp/rating/clock.png[/img]
I was under the impression that bots didn't count in the decision to run Think or not...
I'll test it tomorrow.
If it works, thanks!
If not, meh.. thanks!
[QUOTE=Deco Da Man;17897763]I was under the impression that bots didn't count in the decision to run Think or not...
I'll test it tomorrow.
If it works, thanks!
If not, meh.. thanks![/QUOTE]
works fine, I've used it several times.
I had this problem when coding the TYE servers, they needed to listen for network data every tick which was a problem when nobody was in the server. However, I discovered that once a player has been in the server, the Tick hook (not sure about Think) always runs from that point onwards - even if the player leaves again or the server map changes. It only stops getting called again if the server does a full restart. Bots do trigger it off. So you could make a bot in Initialize hook and kick it in the first Tick hook, and use Tick for your stuff.
Sorry, you need to Log In to post a reply to this thread.