I’m having trouble trying to create a program that can control an RFTools endergenic generator. For those unfamiliar, this thing requires tick-perfect timing to work right. No matter what I try though, I cannot get a timer setup to run every game tick. As a timing test, I did the following:
local last = os.time()
event.timer(0.05, function()
local current = os.time()
print(current - last)
last = current
end, 1000)
-- output
--> 3.0
--> 3.0
--> 4.0
--> 3.0
0.05 should be a 1-tick timer, but the game ticks 3-4 times between each loop. Even if I try to reduce the interval to something lower, the game still ticks 3-4 times each loop.
You can post now and register later.
If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.
I’m having trouble trying to create a program that can control an RFTools endergenic generator. For those unfamiliar, this thing requires tick-perfect timing to work right. No matter what I try though, I cannot get a timer setup to run every game tick. As a timing test, I did the following:
local last = os.time() event.timer(0.05, function() local current = os.time() print(current - last) last = current end, 1000) -- output --> 3.0 --> 3.0 --> 4.0 --> 3.0
0.05 should be a 1-tick timer, but the game ticks 3-4 times between each loop. Even if I try to reduce the interval to something lower, the game still ticks 3-4 times each loop.
Is there a way to get a consistent 1 - tick loop?
Link to post
Share on other sites