Professional Documents
Culture Documents
Hi 3 Norm
Hi 3 Norm
// @namespace https://greasyfork.org/users/526367
// ==/UserScript==
var a = $("#balance").text(),
UX = ((Number(a)-0.00025000) / 160 ).toFixed(8),
b = $("#double_your_btc_stake").val(),
UX2 = (Number(b*5)).toFixed(8);
UX3 = (Number(b*2)).toFixed(8);
var $loButton = $("#double_your_btc_bet_lo_button"), $hiButton = $
("#double_your_btc_bet_hi_button");
var $multiplier = $('#double_your_btc_payout_multiplier');
var startbalance=0;
function multiply() {
repeatCurrent++; //
var n = 1;
function getRandomWait() {
var wait = Math.floor(Math.random() * maxWait) +200; // ????
console.log("Waiting for " + wait + "ms before next bet.");
a = $("#balance").text(),
UX = ((Number(a)-0.00025000) / 160 ).toFixed(8),
b = $("#double_your_btc_stake").val(),
UX2 = (Number(b*5)).toFixed(8);
UX3 = (Number(b*2)).toFixed(8);
return wait;
}
function startGame() {
startbalance = $("#balance").text();
console.log("Game started!");
reset();
$loButton.trigger("click");
}
function stopGame() {
console.log("Game will stop soon! Let me finish.");
stopped = true;
}
function reset(multiplier) {
repeatCurrent = 0;
$multiplier.val( start_multiplier );
$("#double_your_btc_stake").val(startValue);
}
function deexponentize(number) {
return number * 1e7;
}
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")')) {
if($("#double_your_btc_stake").val() > maxBet){ maxBet = $
("#double_your_btc_stake").val();}
gameLost = gameLost + 1;
cLost = cLost + 1;
cWin = 0;
console.clear();
console.log('%c???: ' + gameWin + ' ???: ' + gameLost, 'color: #FF0000');
console.log('%c??: ' + cWin + ' ??: ' + cLost, 'color: #FF0000');
console.log('%c??: ' +(Number($("#balance").text()) -
Number(startbalance)).toFixed(8) , 'color: #FF0000');
console.log('%c????: ' + maxBet, 'color: #FF0000');
console.log('?????151??');
console.log('??(?)100????');
console.log('??(?)10????');
var btn = multiply();
// ?
var balance_current = parseFloat( $("#balance").text() );
if( balance_prev ){
// ?????100??,?????
if( balance_prev - balance_current >= 0.01){
setTimeout(function() {
balance_prev = balance_current;
//btn.trigger("click");
startGame();
}, 1000 * 60 * 1440 ); // 1000??1?*60?*1?=????
}else{
setTimeout(function() {
btn.trigger("click");
}, getRandomWait());
}
}else{
balance_prev = balance_current;
setTimeout(function() {
btn.trigger("click");
}, getRandomWait());
}
// ????? end
}
});
$("#double_your_btc_bet_win").bind("DOMSubtreeModified", function(event) {
if ($(event.currentTarget).is(':contains("win")')) {
if($("#double_your_btc_stake").val() > maxBet){ maxBet = $
("#double_your_btc_stake").val();}
gameWin = gameWin + 1;
cWin = cWin + 1;
cLost = 0;
console.clear();
console.log('%c???: ' + gameWin + ' ???: ' + gameLost, 'color: #00CC00');
console.log('%c??: ' + cWin + ' ??: ' + cLost, 'color: #00CC00');
console.log('%c??: ' +(Number($("#balance").text()) -
Number(startbalance)).toFixed(8) , 'color: #FF0000');
console.log('%c????: ' + maxBet, 'color: #00CC00');
console.log('?????151??');
console.log('??(?)100????');
console.log('??(?)10????');
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");
}
// ?
var balance_current = parseFloat( $("#balance").text() );
if( balance_prev ){
// ?????10???,??????
if( balance_current - balance_prev >= 0.0010 ){
setTimeout(function() {
balance_prev = balance_current;
//$hiButton.trigger("click");
startGame();
}, 1000 * 60 * 1440 ); // 1000??1?*60?*60?=????
}else{
setTimeout(function() {
$hiButton.trigger("click");
}, getRandomWait());
}
}else{
balance_prev = balance_current;
setTimeout(function() {
$hiButton.trigger("click");
}, getRandomWait());
}
// ????? end
}
});
//------------------------------------------------------------------------
Сonfiguration Values
------------------------------------------------------------------------
const odds = [1.2, 1.5, 2, 4, 5, 8, 10, 12, 16, 24, 32, 48, 94, 452, 4750];
let oddVals = [];
let oddStat = [];
let isBetButtonClicked = false;
let rollsCount = 0;
let tableRowId = 0;
let starterBalance = 0;
let statTableExists = false;
//------------------------------------------------------------------------
Сonfiguration Values
------------------------------------------------------------------------
//------------------------------------------------------------------------
Additional Functions
------------------------------------------------------------------------
function id(id) {
return document.getElementById(id);
function createVariableForOdd(odd) {
oddVals[odd] = {
hiNum: hiNum,
loNum: loNum
};
oddStat[odd] = {
hiLose: 0,
hiMaxSeqLose: 0,
hiWinCount: 0,
loLose: 0,
loMaxSeqLose: 0,
loWinCount: 0
};
function isBetButtonDisabled(mod) {
switch (comb) {
case 1:
characters = numbers;
break;
case 2:
characters = upperCaseLetters;
break;
case 3:
characters = lowerCaseLetters;
break;
case 4:
characters = numbers + upperCaseLetters;
break;
case 5:
characters = numbers + lowerCaseLetters;
break;
case 6:
characters = upperCaseLetters + lowerCaseLetters;
break;
default:
characters = numbers + upperCaseLetters + lowerCaseLetters;
randomString += characters.charAt(Math.floor(Math.random() *
characters.length));
}
return randomString;
//------------------------------------------------------------------------
Additional Functions
------------------------------------------------------------------------
//------------------------------------------------------------------------------
Main Code
-----------------------------------------------------------------------------
let rollStat = {
update: function() {
rollsCount += 1;
odds.forEach(this.setVals);
odds.forEach(function(odd) {
tableRowId += 1;
id('stat-table-td-hilose' + tableRowId).textContent =
oddStat[odd].hiLose;
id('stat-table-td-himaxseqlose' + tableRowId).textContent =
oddStat[odd].hiMaxSeqLose;
id('stat-table-td-hiwincount' + tableRowId).textContent =
oddStat[odd].hiWinCount;
id('stat-table-td-lolose' + tableRowId).textContent =
oddStat[odd].loLose;
id('stat-table-td-lomaxseqlose' + tableRowId).textContent =
oddStat[odd].loMaxSeqLose;
id('stat-table-td-lowincount' + tableRowId).textContent =
oddStat[odd].loWinCount;
});
tableRowId = 0;
},
setVals: function(odd) {
oddStat[odd].hiWinCount += 1;
oddStat[odd].hiLose = 0;
} else {
oddStat[odd].hiLose += 1;
if (oddStat[odd].hiLose > oddStat[odd].hiMaxSeqLose)
oddStat[odd].hiMaxSeqLose += 1;
oddStat[odd].loWinCount += 1;
oddStat[odd].loLose = 0;
} else {
oddStat[odd].loLose += 1;
if (oddStat[odd].loLose > oddStat[odd].loMaxSeqLose)
oddStat[odd].loMaxSeqLose += 1;
},
setTable: function(currentBalance) {
hStyle[0].insertAdjacentHTML('beforeend',
' <style>#stat-table1{font-family:"Lucida Sans Unicode","Lucida
Grande",Sans-Serif;font-size:16px;background:none;width:868px;margin-left:auto;
margin-right:auto;margin-bottom:50px;border-collapse: collapse;border:none}#stat-
table1 th{font-weight:400;color:#039;text-align:center;border-bottom:2px solid
#6678b1;padding:6px 8px}#stat-table1 td{border-bottom:1px solid
#8c98bf;color:#669;text-align:center;padding:7px 8px}#stat-table1 tr:hover
td{background:#a8c7e0}.tborder-r{border-right:2px solid #6678b1}.tborder-r1{border-
right:1px solid #8c98bf}#stat-table1 .tfont-c1{color:#09f}#stat-table1 .tfont-
c2{color:#000}#stat-table1 .tfont-c3{color:#c00}#stat-table1 .tfont-
c4{color:#37a661}.odd11{font-weight:bold}</style> ');
id('double_your_btc_main_container_outer').insertAdjacentHTML('afterend',
'<table style = "border:none;background:none; width:868px; text-align:center; font-
weight:bold;margin-bottom:0px;font-size:14px;color:#333"><tr
style="padding:0px;height:36px;line-height:36px"><td id="stat-rolls-count"><span
style="color:#039">Rolls played : </span>' + rollsCount + '</td><td id="stat-
starter-balance"><span style="color:#039">Starter balance : </span>' +
starterBalance + '</td><td id="stat-current-balance"><span
style="color:#039">Current balance : </span>' + currentBalance + '</td><td
id="stat-profit1"><span style="color:#039">Profit : </span>' + (currentBalance -
starterBalance).toFixed(8) + '</td></tr></table> <table id = "stat-
table1"><tr><th class="tborder-r">Odd</th><th>Target (HI)</th><th> Lose
</th><th>Max Lose</th><th class="tborder-r1">Win Count</th><th>Target (LO)</th><th>
Lose </th><th>Max Lose</th><th>Win Count</th></tr></table>');
odds.forEach(function(odd) {
tableRowId += 1;
id('stat-table1').insertAdjacentHTML('beforeend', '<tr><td
class="tborder-r odd11">' + odd + '</td><td class="tfont-c1">' + oddVals[odd].hiNum
+ '</td><td id="stat-table-td-hilose' + tableRowId + '" class="tfont-c2">0</td><td
id="stat-table-td-himaxseqlose' + tableRowId + '" class="tfont-c3">0</td><td
id="stat-table-td-hiwincount' + tableRowId + '" class="tborder-r1 tfont-
c4">0</td><td class="tfont-c1">' + oddVals[odd].loNum + '</td><td id="stat-table-
td-lolose' + tableRowId + '" class="tfont-c2">0</td><td id="stat-table-td-
lomaxseqlose' + tableRowId + '" class="tfont-c3">0</td><td id="stat-table-td-
lowincount' + tableRowId + '" class="tfont-c4">0</td></tr>');
});
tableRowId = 0;
statTableExists = true;
};
function init(mod) {
if (isBetButtonDisabled(mod) == 'disabled') {
isBetButtonClicked = true;
return
} else {
} else {
return
}
}
}
id('double_your_btc_bet_hi_button').addEventListener("DOMSubtreeModified",
function() {
init('hi');
});
id('double_your_btc_bet_lo_button').addEventListener("DOMSubtreeModified",
function() {
init('lo');
});
starterBalance = (Number(parseFloat(id('balance').textContent)) +
Number(parseFloat(id('bonus_account_balance').textContent))).toFixed(8);
odds.forEach(createVariableForOdd);
rollStat.setTable(starterBalance);
//------------------------------------------------------------------------------
Main Code
-----------------------------------------------------------------------------
startGame();