Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (1): [1]   

> Описание: Получение настоящего рандома из текущего времени и псевдо рандома rand вперемешку.
Kibor
Отправлено: 12 Февраля, 2016 - 18:12:04
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




Получение настоящего рандома из текущего времени и псевдо рандома rand вперемешку.
Кому не подходит псевдо рандом rand.
Медленная, использовать только там где действительно есть необходимость..

CODE:

messagebox (mu_random(-1000, 2000));

function mu_random(int p, int p1)
{
if (p==p1) return p;
char c[20], c1[20], c2[40];
int n, n1=0, ran, q, s, rr=p1-p, ti;
string t="", rrrrr=format(gettime());
strcpy(#c[0], rrrrr);
rrrrr=format(rand(0, 999999));
strcpy(#c1[0], rrrrr);
for (n=0; n<20; n++)
{
ti=formatci(c[n]);
if (ti>47 && ti<58)
{
c2[n1]=c[n];
n1++;
}
ti=formatci(c1[n]);
if (ti>47 && ti<58)
{
c2[n1]=c1[n];
n1++;
}
}
c2[n1]=0;
q=size(format(rr));
s=size(#c2[0]);
for (n=0; n<q; n++)t=t+c2[s-n-1];
ran=formatsn (t);
while (ran>rr)ran=ran-rr;
return p+ran;
}
 
 Top
Dantes3000
Отправлено: 08 Августа, 2018 - 11:40:16
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1489
Дата рег-ции: Июнь 2016  
Репутация: 58




Очень медленная...Для больших чисел совсем не подходит. Как получить рандомное число в миллисекундах от 1 часа до 7 например?
(Добавление)
CODE:
h=3600000;

int c=mu_random(h*2, h*2);

messagebox (c);


function mu_random(int p, int p1)
{
char c[20], c1[20], c2[40];
int n, n1=0, ran, q, s, rr=p1-p;
string t="", rrrrr=format(gettime());
strcpy(#c[0], rrrrr);
rrrrr=format(rand(0, 999999));
strcpy(#c1[0], rrrrr);
for (n=0; n<20; n++)
{
c2[n1]=c[n];
n1++;
c2[n1]=c1[n];
n1++;
}
q=size(format(rr));
s=size(#c2[0]);
for (n=0; n<q; n++)t=t+c2[s-n-1];
ran=formatsn (t);
while (ran>rr)ran=ran-rr;
return p+ran;
}
 
 Top
Zireael
Отправлено: 08 Августа, 2018 - 12:56:50
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017  
Репутация: 585




 Цитата:
Как получить рандомное число в миллисекундах от 1 часа до 7 например?

CODE:
int r=random(1, 7);
messagebox(r);

function random(int h1, int h2)
{
int s=rand(h1, h2)*3600000+
rand(0, 60)*60000+
rand(0, 60)*1000+
rand(0, 1000);
return s;
}
 
 Top
Kibor
Отправлено: 08 Августа, 2018 - 13:00:14
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




 Dantes3000 пишет:
Очень медленная...Для больших чисел совсем не подходит

А какой рандом хотите получить между
h*2 и h*2 ?
Функция просто зависла на это условие.

CODE:
int h=3600000;

int c=mu_random(-h*2, h*2);

messagebox (c);


function mu_random(int p, int p1)
{
char c[20], c1[20], c2[40];
int n, n1=0, ran, q, s, rr=p1-p;
string t="", rrrrr=format(gettime());
strcpy(#c[0], rrrrr);
rrrrr=format(rand(0, 999999));
strcpy(#c1[0], rrrrr);
for (n=0; n<20; n++)
{
c2[n1]=c[n];
n1++;
c2[n1]=c1[n];
n1++;
}
q=size(format(rr));
s=size(#c2[0]);
for (n=0; n<q; n++)t=t+c2[s-n-1];
ran=formatsn (t);
while (ran>rr)ran=ran-rr;
return p+ran;
}
 
 Top
Zireael
Отправлено: 08 Августа, 2018 - 13:25:09
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017  
Репутация: 585




Функция иногда возвращает отрицательное число.
CODE:
int h=3600000;

loop()
{
int c=mu_random(h, h*2);
if(c<0)messagebox (c);
sleep(1); // убрать если лень ждать
}



function mu_random(int p, int p1)
{
char c[20], c1[20], c2[40];
int n, n1=0, ran, q, s, rr=p1-p;
string t="", rrrrr=format(gettime());
strcpy(#c[0], rrrrr);
rrrrr=format(rand(0, 999999));
strcpy(#c1[0], rrrrr);
for (n=0; n<20; n++)
{
c2[n1]=c[n];
n1++;
c2[n1]=c1[n];
n1++;
}
q=size(format(rr));
s=size(#c2[0]);
for (n=0; n<q; n++)t=t+c2[s-n-1];
ran=formatsn (t);
while (ran>rr)ran=ran-rr;
return p+ran;
}
 
 Top
Kibor
Отправлено: 08 Августа, 2018 - 13:54:05
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




 Zireael пишет:
Функция иногда возвращает отрицательное число.

Исправил.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 2 (гостей: 2, зарегистрированных: 0)
« Готовые скрипты »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by