Krazy_Meerkat
2006-03-21 21:52:06
I've been doing a lot of testing with random numbers lately and I keep noticing the same ones over and over. Sometimes the same supposedly "random" number will be repeated 3 times in a row.
Ones I have noticed with the script I'll show you are 46/47, 62/63, 78, 31/32, 15/16, 9 (the ones in bold show up more often).
It's not just the particular formula I use either, I've noticed them while using kane and lorax's scripts.
I think there could be one of several reasons for this occuring:
1. True random numbers are generated by noise, and it could just be the noise levels at my house.
2. SCAR's system for random numbers is too basic (causing limited variance for random numbers)
3. I'm using this piece of code to determine the time values:
Here is the script I was working on when I noticed these numbers:
Edit: I've been doing some testing and it seems that the amount of time waited for (using the wait command) will not always be the same as the random number worked out.
It seems as if whatever time you tell SCAR to wait, the actual time waited will be rounded to one of these numbers.
Try this script:
Do it a couple of times and you will notice our friend, 78 will come up most times but, sometimes it will be mr. 62 or 63.
This is an example I got while waiting 75ms, if you know maths then you will know that 4 * 78 + 63 is the same as 75 * 5
This means that the numbers may be balanced out at a certain point.. Could this be to our advantage?
Kait made this program himself, do you think he put this mechanism in there to make our scripts more random than even we knew?
I've been doing some experimenting and I've found that the base for all waits is either a 15 or a 16 ms wait. Combined they make all of the numbers we've been seeing. (In other words, every wait possible is a combination of 15's and 16's).
I understand that CPU speed will affect how long the waits actually last (except when the speed is above a certain amount).
This could also be our downfall.. All SCAR users will wait at least 15/16ms if the wait is low. However the wait is corrected at a later stage in the waiting period.
This is not possible for some reason = [false hopes]The minimum waiting period before we can make completely random waits (like actually waiting 1001) is 225ms, or 15sqr. Then it is possible to have any wait time to within the ms (a combination or 15's and 16's will make this possible).[/false hopes]
If a Fakawi or someone thinks this should be deleted in case jagex does not know our weakness, just say so.
If you are experiencing something similar and it's not just me then start typing a reply. If it is just me then :/
Ones I have noticed with the script I'll show you are 46/47, 62/63, 78, 31/32, 15/16, 9 (the ones in bold show up more often).
It's not just the particular formula I use either, I've noticed them while using kane and lorax's scripts.
I think there could be one of several reasons for this occuring:
1. True random numbers are generated by noise, and it could just be the noise levels at my house.
2. SCAR's system for random numbers is too basic (causing limited variance for random numbers)
3. I'm using this piece of code to determine the time values:
a:= getsystemtime
writeln(inttostr(getsystemtime - a)); So the commands might only get used at those times or something like that.Here is the script I was working on when I noticed these numbers:
program New;
procedure chancewait(Normalwait : Integer);
var
render,i,lerngth : Integer;
begin
render:= 0;
i:= 0;
if (random(100) < 5) then
begin
wait((Normalwait * 2) + (random(Normalwait div 2) + 1));
end else
begin
if(length(inttostr(Normalwait)) <= 2)then
begin
lerngth:= 0;
end else
lerngth:= 1;
repeat
render:= render + random(Normalwait div (random(Normalwait div 10) + 1))+1;
i:= i + 1;
if(i > 10)then
render:= random(Normalwait div (random(Normalwait div 10) + 1))+1;
until(render < (Normalwait div 2))and(length(inttostr(render))>lerngth)and(i>(3 + random(5)))
render:= Normalwait + render
wait(render);
end;
end;
var
a : Integer;
begin
a:= getsystemtime
chancewait(500);
writeln(inttostr(getsystemtime - a));
end.The more you run it, the more you start to notice these numbers. Something is giving an error here or we have been left wide open to jagex.Edit: I've been doing some testing and it seems that the amount of time waited for (using the wait command) will not always be the same as the random number worked out.
It seems as if whatever time you tell SCAR to wait, the actual time waited will be rounded to one of these numbers.
Try this script:
program New;
var
a : Integer;
begin
a:= getsystemtime
Wait(75);
WriteLn('ms = ' + IntToStr(getsystemtime - a));
end.Do it a couple of times and you will notice our friend, 78 will come up most times but, sometimes it will be mr. 62 or 63.
From: results
Successfully compiled
ms = 78
Successfully executed
Successfully compiled
ms = 78
Successfully executed
Successfully compiled
ms = 78
Successfully executed
Successfully compiled
ms = 78
Successfully executed
Successfully compiled
ms = 63
Successfully executed
This is an example I got while waiting 75ms, if you know maths then you will know that 4 * 78 + 63 is the same as 75 * 5
This means that the numbers may be balanced out at a certain point.. Could this be to our advantage?
Kait made this program himself, do you think he put this mechanism in there to make our scripts more random than even we knew?
I've been doing some experimenting and I've found that the base for all waits is either a 15 or a 16 ms wait. Combined they make all of the numbers we've been seeing. (In other words, every wait possible is a combination of 15's and 16's).
I understand that CPU speed will affect how long the waits actually last (except when the speed is above a certain amount).
This could also be our downfall.. All SCAR users will wait at least 15/16ms if the wait is low. However the wait is corrected at a later stage in the waiting period.
This is not possible for some reason = [false hopes]The minimum waiting period before we can make completely random waits (like actually waiting 1001) is 225ms, or 15sqr. Then it is possible to have any wait time to within the ms (a combination or 15's and 16's will make this possible).[/false hopes]
From: wait of 225
Successfully compiled
ms = 234
Successfully executed
Successfully compiled
ms = 234
Successfully executed
Successfully compiled
ms = 219
Successfully executed
If a Fakawi or someone thinks this should be deleted in case jagex does not know our weakness, just say so.
If you are experiencing something similar and it's not just me then start typing a reply. If it is just me then :/