ID:154778
 
How small of a number do these accept? 0.05? 0.0000005 ?

Thanks :D
They accept only non-negative integers and -1.
I think they round up to world.tick_lag. For example, if you have world.tick_lag = 1 (default), the slowest you can sleep() is 1, which is 1/10th of a second at all tick_lags. If you set world.tick_lag = 0.1, you can sleep for 0.1 of a 10th of a second at minimum (1/100th of a second).
In response to Kaiochao
yeah your right but also bare in mind that every single built in process will also sleep that much for instance step will move between each square faster. All the macros will be comunicating with the server upto that rate per second, so if u hold down a repeating macro e.g NORTH+REP it will send packets every 1/100th of a second increasing bandwidth by 10x compared to the default.

time_sleeped = world.tick_lag x sleep(n)

n = integer, that means no decimals and it'll round up if one is used, but world.tick_lag can be any number above 0
In response to SamuraiJei
Exactly what I needed to know guys, Thanks! Tests confirmed.
In response to SamuraiJei
mob/verb/test()
for(var/n in 1 to 10)
src << n
sleep(1)

for(var/n in 1 to 10)
src << n
sleep(0.1)

world/tick_lag = 0.1

Without the bottom line "world/tick_lag = 0.1", the verb counts from 1 to 10 at the same speed each time. With it, it counts 10x faster the second time.

sleep(1) is always 1/10th of a second.
sleep(0.1) is only 1/100th of a second when world.tick_lag allows it. When tick_lag=1, sleep(0.1) slept for the same as sleep(1) did at both tick_lags.