// This script is intended for entertainment & development purposes only, we are not responsbile for the end use case that may be employed. /** * * START RISK CONFIGURATION * * */ // The initial bet that you want to make (in // bits), 4 is default // RISK_LEVEL=1 ----> uses 1/1380th of your entire bankroll to make roughly a 6% return per hour // [This is VERY VERY safe, but VERY // VERY slow] // RISK_LEVEL=2 ----> uses 1/345th of your entire bankroll to make roughly a 25% return per hour // [RECOMMENDED] // RISK_LEVEL=4 ----> uses 1/89th of your entire bankroll to make roughly a 100% return per hour // [DEFAULT - Don't run this very long, you will lose // pretty quickly] // RISK_LEVEL=3 ----> uses 1/22 of your entire bankroll to make roughly a 400% return per hour // [This will crap you out very quickly, // but it earns very rapidly] var RISK_LEVEL = 4 // Set the risk level here var variablebase = true; // set this to true if you wish to raise your base bet along with your winnings // Understand that the higher the risk level, the greater chance for loss. // There are no gurantees given as to any sustainable results that one may acquire from this script // Use sparingly, and use wisely. Good luck to you. /** * * FINISH RISK CONFIGURATION * * */ var initialbalance = engine.getBalance() / 100; console.log('Initial Balance is ' + initialbalance + 'bits'); var baseBet = 0; // do not fucking touch this harmonize_base_bet(RISK_LEVEL); var initialbase = baseBet; var gamesplayed = 0; var riskregex = /(?:^|\s)setrisklevel\s(.*?)/g; var riskres = riskregex.exec('setrisklevel 3'); console.log(riskres[1]); console.log('[Bot]: The initial base bet is ' + initialbase + 'bits'); //Selly1.0 function harmonize_base_bet(TARGET_RISK_LEVEL) { console.log('Using RISK_LEVEL of ' + TARGET_RISK_LEVEL); var curbal = current_balanace_formatted(); switch(TARGET_RISK_LEVEL) { case 1: baseBet = curbal / 1380; break; case 2: baseBet = curbal / 345; break; case 3: baseBet = curbal / 89; break; case 4: baseBet = curbal / 22; break; } console.log('Calculated base bet is ' + baseBet); if (baseBet < 1) { baseBet = 1; } console.log('Actual base bet is ' + baseBet); } // So ryan doesn't fuck me function dont_fuck_me_ryan() { console.log(' ___________________ '); console.log(' DONT FUCK ME RYAN '); console.log(' ----------------- '); console.log(' _ '); console.log(' (_) '); console.log(' \^__^ / \\ '); console.log(' (oo)\_____/_\ \\ '); console.log(' (__)\ ) / '); console.log(' ||----w (( '); console.log(' || ||>> '); } function shut_it_down_shut_it_all_down() { console.log("Shutting it down!"); engine.stop(); } var baseMultiplier = 1.17; // Multiplier the bot starts at: 1.17 or lower // recommended, don't be a hero var variableBase = false; // You probably want this on false unless you're // an expert like my grandmother and myself, // leave it on false var streakSecurity = 5; // The number of losses you want to survive // without crapping out. Increasing this reduces // the variableBase significantly thus giving you // more survivability however there is a large // decrease to the speed of which you generate // bits. (1-loss = 20%, 2-loss = 5%, 3-// loss = // 1.25% of your maximum balance). Recommended: // 2+ unless you're an idiot, 4+ is necessary if // you want to run the bot for at least half an // hour or so... 5+ will let you run for many // many hours, if not days usually. Set the // thing on 5+ if you want to run this for awhile // and not crap out for a long long time. var maximumBet = 999999; // The max that the bot will bet of your // bankroll before it stops (in bits). Feel free // to lose some of it, or all, I don't care. var percentageOfTotal = 100; // The percentage of your total balance that you // want the bot to spin. (100 = 100%). var useCrashAverage = false; // Enable editing current multiplier based on // past 4 crash average. (Experimental!), it's best // not to fuck with this. var highAverage = 1.80; // Average multiplier to use the // highAverageMultiplier. Don't fuck with it // unless you know what you're doing. var highAverageMultiplier = 1.30; // Multiplier to use when crash average is above // highAverage. Don't fuck with it unless you // know what you're doing. var BustaBit = true; // Did you win or lose? (I can tell by grabbing // your username from the chart on the right!) // Variables - Do not fuck with any of this // below this line or I more than likely will bork! // LEAVE IT ALONE! var baseSatoshi = baseBet * 100; var currentBet = baseSatoshi; var currentMultiplier = baseMultiplier; var currentGameID = -1; var firstGame = true; var lossStreak = 0; var coolingDown = false; var d = new Date(); var startTime = d.getTime(); var takingBreak = false; var takeBreaks = false; // This is still under // development, don't fuck with it. It doesn't // work. var lowAverage = 1.45; var tempCrash; var gameAverage; var currentGame = 0; var game1; var game2; var game3; var game4; var gamecount = 0; var startingBalance = engine.getBalance(); // if (variableBase) { // console.warn('[WARN] Variable mode is UNDER CONSTRUCTION STILL: This is how many rounds I will go for: ' + streakSecurity + '-loss streaks.'); // } // Makes the bot ready for a round engine.on('game_starting', start_game); function start_game(info) { console.log(); console.log('------------------------------'); console.log('[[[[[[ NEW GAME ]]]]]]'); console.log('[Bot] Game #' + info.game_id); currentGameID = info.game_id; if(game4 != null && useCrashAverage == true){ gameAverage = (((game1 + game2) + (game3 + game4)) / 4); console.log("[Bot] Average crash: " + gameAverage + "x"); } else{ gameAverage = 0; } if (coolingDown) { if (lossStreak == 0) { coolingDown = false; } else { lossStreak--; console.log('[Bot] is fucking off [cooling down] for a sec! Rounds until I start again: ' + lossStreak); return; } } if(gameAverage <= lowAverage && takeBreaks == true && game4 != null){ takingBreak = true; console.log("The average return sucks so I'm taking a break this round!"); } else{ takingBreak = false; } if (!firstGame) { // This shows data only after // the first game so you don't get spammed to // death in the console console.log('[Stats] Session profit: ' + ((engine.getBalance() - startingBalance) / 100).toFixed(2) + ' bits in '+ Math.round(timeplaying) + ' minutes.'); console.log('[Stats] Profit percentage: ' + (((engine.getBalance() / startingBalance) - 1) * 100).toFixed(2) + '%'); } if(firstGame == true){ newdate = new Date(); timeplaying = ((newdate.getTime() - startTime) / 1000) / 60; } if (engine.lastGamePlay() == 'LOST' && !firstGame && takingBreak == false) { // If you // lose the spin: lossStreak++; var totalLosses = 0; // It tells you how // much you've lost var lastLoss = currentBet; // Stores the // last bet amount while (lastLoss >= baseSatoshi) { // Before // we reset to base bet, we have to calculate // all bets totalLosses += lastLoss; lastLoss /= 4; } if (lossStreak > streakSecurity) { // If you're // losing your ass, why not take a break for a // few rounds coolingDown = true; return; } currentBet *= 4; // When you lose, the bot will // multiply base bet by 4x and reset on win // until you crap out currentMultiplier = 1 + (totalLosses / currentBet); } else { // Oh shit you won the first game... // fucking joy that's what we want every time lossStreak = 0; // You won so I'm resetting // your loss streak currentMultiplier = baseMultiplier; if(lossStreak == 0 && useCrashAverage == true && gameAverage != 0){ if(gameAverage < highAverage){ currentMultiplier = baseMultiplier; } if(gameAverage >= highAverage){ currentMultiplier = highAverageMultiplier; } } currentBet = baseSatoshi; // in Satoshi } var betinbits = currentBet / 100; firstGame = false; if (currentBet <= engine.getBalance() && takingBreak == false) { // Do we have enough to // bet if (currentBet > (maximumBet * 100)) { // // Ensures you can bet up to the maximum console.warn('[Warn] RIP: Bet size exceeds maximum bet, lowering bet to ' + (maximumBet * 100) + ' bits'); currentBet = maximumBet; } var currentbetrounded = Math.round(betinbits).toFixed(0)*100; var betformatted = currentbetrounded / 100; betformatted = Math.floor(betformatted); var basediffs = baseBet - initialbase; var diffstring = ''; if (basediffs >= 0) { diffstring = '[Bot] Our base bet is ' + baseBet + ' (Difference of +' + basediffs + 'bits from initial base bet)'; } else { diffstring = '[Bot] Our base bet is ' + baseBet + ' (Difference of ' + basediffs + 'bits from initial base bet)'; } var balpct = baseBet / initialbase; balpct = balpct * 100; console.log('[Bot] Gain/Loss This Session: ' + balpct + '%'); ///; console.log(diffstring); console.log('[Bot] ' + betformatted + 'bits is currentbet, cashing out at ' + currentMultiplier + 'x'); // Skip every 101 games if (info.game_id % 101 == 0) { console.log('Skipping!'); } else { engine.placeBet(currentbetrounded, Math.round(currentMultiplier * 100), false); } } else { // Otherwise insufficent funds... RIP if (engine.getBalance() < 100) { console.error('[Bot] Stopping... Motherfucker, I be too poor to keep going so you either have to lower your bet or unass the rape train! '); engine.stop(); } else { console.warn('[Bot] I be too poor for this shit my nizzle ' + (currentBet / 100) + ' bits.'); console.warn('[Bot] I be puttin yo broke ass back to 1 bit basebet, Motherfucker'); baseBet = 1; baseSatoshi = 100; } } } // The game started oh shit here we go engine.on('game_started', function(data) { if (!firstGame) { console.log('[Bot] Game #' + currentGameID + ' has started! All aboard the rape train! '); } }); // // Oh shit you won the bet lets cash that shit // engine.on('cashed_out', function(data) { // if(BustaBit == true){ // if (data.username == engine.getUsername()) { // console.log('[Bot] English Motherfucker, YOU JUST SPOKE IT! ' + (data.stopped_at / 100) + 'x'); // } // } // }); // Oh fuck you lost, no more rape train for you! engine.on('game_crash', game_over); function game_over(data) { // if(BustaBit == false){ // if () { // console.log('[Bot] Your bitch ass just got ran over by the rape train at: ' + (data.stopped_at / 100) + 'x'); // } // } // var newbal = current_balanace_formatted(); if (variablebase == true) { console.log('[Bot] Variable base is enabled - acquiring new basebet based on current balance...'); if (!firstGame) { harmonize_base_bet(RISK_LEVEL); console.log('[Bot] New basebet is ' + baseBet + 'bits'); baseSatoshi = baseBet * 100; } } else { console.log("[Bot] Continuing to use initial base bet of " + baseBet + "bits"); } if (engine.lastGamePlay() == 'LOST') { dont_fuck_me_ryan(); } if (!firstGame) { console.log('[Bot] Game Multiplier: ' + data.game_crash / 100.0 + 'x'); } newdate = new Date(); timeplaying = ((newdate.getTime() - startTime) / 1000) / 60; currentGame++; tempCrash = (data.game_crash / 100); if (tempCrash >= 2.0){ tempCrash = 2.0; } if (currentGame == 1){ game1 = tempCrash; } else if(currentGame == 2){ game2 = tempCrash; } else if(currentGame == 3){ game3 = tempCrash; } else if(currentGame == 4){ game4 = tempCrash; } else if(currentGame >= 5){ currentGame = 1; game1 = tempCrash; } console.log('[[[[[[ FINISH GAME ]]]]]]'); console.log('------------------------------'); gamesplayed++; if (gamesplayed > 300 && gamesplayed < 500) { RISK_LEVEL = 3; console.log("setting risk level to 3 now"); } else if (gamesplayed > 500) { RISK_LEVEL = 2; console.log('Setting risk level to 2 now'); } } function current_balanace_formatted() { return engine.getBalance() / 100; } function initialize() { console.log('[[[[[[ DING DING DING DING ]]]]]]'); dont_fuck_me_ryan(); // so ryan doesn't fuck us console.log('[[[[[[ Lets knock the nickels out of this motherfucker, Motherfucker!! ]]]]]]'); console.log('[Bot] My username is: ' + engine.getUsername()); console.log('Starting balance: ' + (engine.getBalance() / 100).toFixed(2) + ' bits'); }