karl-police
Nucleus
- Joined
- Jul 3, 2016
- Messages
- 1,611
- Nebulae
- 3,321
The /roll command most likely uses math.random() however, math.random generates a number based on a seed.
That seed apparently is in Nanoseconds by default. Meaning that every nano second there's a different RNG value. But every math.random in a programming language may work differently so...
If you however go into the future and pre-calculate what the RNG values could be.
You could technically roll 100 everytime, if you time it precisely enough.
Nanoseconds are a really small unit and goes on fast. If the client sends a request to the server, nanoseconds already passed, so chances to even be so precise can be low, but who knows?
It also depends if the seed is changed or not.
Eitherways, that's why it's called Pseudo-RNG. Because it's not true RNG.
In Pokemon there's some sketchy manipulation you can do with RNG. Probably related to this topic, but not exactly.
That seed apparently is in Nanoseconds by default. Meaning that every nano second there's a different RNG value. But every math.random in a programming language may work differently so...
If you however go into the future and pre-calculate what the RNG values could be.
You could technically roll 100 everytime, if you time it precisely enough.
Nanoseconds are a really small unit and goes on fast. If the client sends a request to the server, nanoseconds already passed, so chances to even be so precise can be low, but who knows?
It also depends if the seed is changed or not.
Eitherways, that's why it's called Pseudo-RNG. Because it's not true RNG.
In Pokemon there's some sketchy manipulation you can do with RNG. Probably related to this topic, but not exactly.
Last edited:
Reactions:
List