Went ahead and made these because I was curious how much of a difference a truly random number would make, so far mostly in antiban, instead of a pseudo random number.
These get random numbers from https://www.random.org/. I recommend getting a big list of them all if you're using them for antiban or something where you'd want a lot, since it takes a second or two to get the page.
Simba Code:
// intArr := tRandomNumbers(1, 100, 10);
function tRandomNumbers(min, max, amount: integer): TIntegerArray;
var
s, ts: string;
c, i, n: integer;
begin
if (min >= max) then
begin
writeln('Error: Min must be less than max.');
exit();
end;
if (amount <= 0) then
begin
writeln('Error: Amount must be greater than 1.');
exit();
end;
//had to use a proxy since getPage() doesn't do https
s := getPage('aproxy.info/browse.php?u=https%3A%2F%2Fwww.random.org%2Fintegers%2F%3Fnum%3D' + intToStr(amount) + '%26min%3D' + intToStr(min) + '%26max%3D' + intToStr(max) + '%26col%3D1%26base%3D10%26format%3Dplain%26rnd%3Dnew&b=4&f=norefer');
setLength(result, 1);
c := 1;
n := 0;
for (i := 1) to (length(s)) do
if (execRegExpr('^[0-9]', s[i])) then //if it's a number
begin
setLength(ts, c);
ts[c] := s[i];
inc(c);
end else //if it's the space between numbers
begin
setLength(result, n + 1);
result[n] := strToint(ts);
inc(n);
c := 1;
end;
end;
// int := tRandom(1, 100);
function tRandom(min, max: integer): integer;
begin
result := tRandomNumbers(min, max, 1)[0];
end;
// int := tRandom(100);
function tRandom(n: integer): integer; overload;
begin
result := tRandom(0, n - 1); //works like traditional random()
end;