10.06.2016, 09:09
|
Новичок на форуме
|
|
Регистрация: 10.06.2016
Сообщений: 9
|
|
Установить время работы скрипта
Здравствуйте.
Помогите, пожалуйста, установить время работы скрипта.
Хочу сделать так чтобы 5 минут работал, 15 минут “отдыхал”
Пыталась использовать Sleep(), но ничего не получилось.
Весь код:
var startValue = '0.00000001', // Don't lower the decimal point more than 4x of current balance
stopPercentage = 0.001,
maxWait = 777,
stopped = false, // debugging
stopBefore = 1; // In minutes for timer before stopping redirect on webpage
var $loButton = $('#double_your_btc_bet_lo_button'),
$hiButton = $('#double_your_btc_bet_hi_button');
function multiply(){
var current = $('#double_your_btc_stake').val();
var multiply = (current * 2).toFixed(8);
$('#double_your_btc_stake').val(multiply);
}
function getRandomWait(){
var wait = Math.floor(Math.random() * maxWait ) + 100;
console.log('Waiting for ' + wait + 'ms before next bet.');
return wait ;
}
function startGame(){
console.log('Game started!');
reset();
$loButton.trigger('click');
}
function stopGame(){
console.log('Game will stop soon! Let me finish.');
stopped = true;
}
function reset(){
$('#double_your_btc_stake').val(startValue);
}
function deexponentize(number){
return number * 10000000;
}
function iHaveEnoughMoni(){
var balance = deexponentize(parseFloat($('#balance').text()));
var current = deexponentize($('#double_your_btc_stake').val());
return ((balance)*2/100) * (current*2) > stopPercentage/100;
}
function stopBeforeRedirect(){
var minutes = parseInt($('title').text());
if( minutes < stopBefore )
{
console.log('Approaching redirect! Stop the game so we don\'t get redirected while loosing.');
stopGame();
return true;
}
return false;
}
$('#double_your_btc_bet_lose').unbind();
$('#double_your_btc_bet_win').unbind();
$('#double_your_btc_bet_lose').bind("DOMSubtreeModified",function(event){
if( $(event.currentTarget).is(':contains("lose")') )
{
console.log('You LOST! Multiplying your bet and betting again.');
multiply();
setTimeout(function(){
$loButton.trigger('click');
}, getRandomWait());
}
});
$('#double_your_btc_bet_win').bind("DOMSubtreeModified",function(event){
if( $(event.currentTarget).is(':contains("win")') )
{
if( stopBeforeRedirect() )
{
return;
}
if( iHaveEnoughMoni() )
{
console.log('You WON! But don\'t be greedy. Restarting!');
reset();
if( stopped )
{
stopped = false;
return false;
}
}
else
{
console.log('You WON! Betting again');
}
setTimeout(function(){
$loButton.trigger('click');
}, getRandomWait());
}
});startGame()
|
|
10.06.2016, 11:31
|
Аспирант
|
|
Регистрация: 22.08.2015
Сообщений: 71
|
|
Allina,
Поясните, что делает скрипт, и какая часть его должна "отдыхать"
|
|
10.06.2016, 16:29
|
|
Аспирант
|
|
Регистрация: 04.06.2016
Сообщений: 70
|
|
Allina,
Сообщение от Allina
|
Хочу сделать так чтобы 5 минут работал, 15 минут “отдыхал”
Пыталась использовать Sleep(), но ничего не получилось.
|
Вот приблизительно так можно это сделать:
Код:
|
<html>
<head>
<script type="text/javascript">
var последнее_Измерение_Времени = Number(new Date());
var сообщение = 'первое сообщение'; //Остальные сообщения будут выдаваться
//только при нажатии кнопки "Добавить сообщение" и только во время работы
function пять_Минут_Работать()
{
//1 секунда = 1000 миллисекунд, отсюда 5 минут = 5 * 60 * 1000 = 300000
if(Number(new Date()) - последнее_Измерение_Времени <= 300000)
{
if(сообщение != '')
{
//что-то делает:
console.log(сообщение);
//сообщение выдано и поэтому его можно больше не выдавать:
сообщение = '';
}
//вызывает саму себя через 100 миллисекунд
setTimeout(пять_Минут_Работать, 100);
}
else
{
последнее_Измерение_Времени = Number(new Date());
console.log('5 минут работал. Пора бы теперь 15 минут и отдохнуть...');
пятнадцать_Минут_Отдыхать()
}
}
function пятнадцать_Минут_Отдыхать()
{
//1 секунда = 1000 миллисекунд, отсюда 5 минут = 15 * 60 * 1000 = 900000
if(Number(new Date()) - последнее_Измерение_Времени <= 900000)
{
//здесь при "отдыхе" можно что-то делать:
//будет писать в console каждые 5000 миллисекунд (5 секунд)
//'Отдыхаю...' в течение 15 минут
console.log('Отдыхаю...');
//вызывает саму себя через 5 секунд
setTimeout(пятнадцать_Минут_Отдыхать, 5000);
}
else
{
последнее_Измерение_Времени = Number(new Date());
console.log('15 минут отдохнул. Пора бы теперь 5 минут и поработать...');
пять_Минут_Работать()
}
}
//ЗАПУСКАЕМ:
пять_Минут_Работать();
</script>
</head><body>
<input type="button" value="Добавить сообщение" onclick="сообщение = new Date()">
</body></html> |
Я не советую начинать изучение JavaScript через JQuery или других библиотек, иначе уровень знаний будет слишком низким.
Для новичка я советую начинать с основ: Эти 2 книги выпущены Netscape - создателями Javascript. Очень советую прочитать!
Как работают setTimeout и setInterval:
Последний раз редактировалось pureJS, 10.06.2016 в 17:24.
|
|
10.06.2016, 16:39
|
|
Аспирант
|
|
Регистрация: 04.06.2016
Сообщений: 70
|
|
Подсказки:
Вопросы надо задавать так, чтобы другим было легко разобраться и прочитать:
1. Не писать сюда всё, а только самое важное (нужное для понимания)
2. Обязательно использовать [ code ]...[ /code ]
3. Следует прочитать:
Как спросить, чтобы вам ответили
|
|
11.06.2016, 00:07
|
|
Профессор
|
|
Регистрация: 21.11.2015
Сообщений: 440
|
|
pureJS,
Сам-то ты почему код не обрамляешь?)
Ты это...так подробно расписываешь всё...ты Дева по гороскопу?)
|
|
11.06.2016, 00:35
|
|
Аспирант
|
|
Регистрация: 04.06.2016
Сообщений: 70
|
|
Coriolan161, обрамляю, но не так как многим бы, возможно, здесь хотелось. Нажми сюда и посмотри как у меня там всё обрамлено. "HTML run" имел наверно в виду? Может быть он здесь неуместен?!
Я не Дева по гороскопу, но кое-что в гороскопе моём от неё есть. Отвечай лучше в личку - не стоит здесь флудить!
|
|
11.06.2016, 00:51
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,105
|
|
Сообщение от pureJS
|
Может быть он здесь неуместен?!
|
можно же без run? кнопка
форум менее приспособлен для тегов code
|
|
01.07.2016, 09:25
|
Новичок на форуме
|
|
Регистрация: 10.06.2016
Сообщений: 9
|
|
Сообщение от pureJS
|
Allina,
Очень советую прочитать!
|
Спасибо.
Извиняюсь за долгое отсутствие, форс-мажор.
Все мои попытки оказались тщетны, скрипт вообще перестаёт работать.
Сообщение от Alex_63
|
Allina,
Поясните, что делает скрипт, и какая часть его должна "отдыхать"
|
Скрипт работает в консоли, “нажимает” всего одну кнопку на сайте, через рандомный промежуток времени. Задаётся переменной maxWait. Хочу сделать так чтобы функция getRandomWait() возвращала значение равное 15 минут, каждые 5 минут, но чтобы в течении этих 5- ти минут, функция возвращала те миллисекунды которые она возвращает сейчас. Помогите пожалуйста. Вот сама функция:
function getRandomWait(){
var wait = Math.floor(Math.random() * maxWait ) + 100;
console.log('Waiting for ' + wait + 'ms before next bet.');
return wait ;
}
Последний раз редактировалось Allina, 01.07.2016 в 09:35.
|
|
03.07.2016, 05:28
|
Новичок на форуме
|
|
Регистрация: 10.06.2016
Сообщений: 9
|
|
Пыталась сделать так.
Втечении 5-ти минут диапазон случайных чисел от полсекунды до секунды.
По прошествии пяти минут диапазон случайных чисел от 10- ти минут до 15- ти.
var последнее_Измерение_Времени = Number(new Date());
function пять_Минут_Работать()
{
if(Number(new Date()) - последнее_Измерение_Времени <= 300000)
{
maxWait = 1000;//диапазон одна секунда
start_diap= 500;// начиная с полсекунды
setTimeout(пять_Минут_Работать, 100);
}
else
{
maxWait = 900000;//диапазон пятнадцать минут
start_diap= 10 * 60 * 1000;// начиная 10-ти минут
последнее_Измерение_Времени = Number(new Date());
}
}
дальше
function getRandomWait(){
var wait = Math.floor(Math.random() * maxWait ) + start_diap;
console.log('Waiting for ' + wait + 'ms before next bet.');
return wait ;
}
и уже получить случайное число здесь:
setTimeout(function()
{
$loButton.trigger('click');
}, getRandomWait());
Подскажите, пожалуйста, что не правильно.
|
|
|
|