Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var ScriptName = `Cruel Is Winning`;
- var Version = `π`;
- // Config Variables
- var BaseBet = 1;
- var CashOut = 1.5;
- var onLossMultiplier = (1 / (CashOut - 1) + 1);
- var onLossMultiplier = 3.05;
- var TotLossMartingale = false;
- // Wait
- var gamePaused = false;
- var pauseCrash = CashOut;
- var pausedGames = 1;
- // Pause
- var pauseWinStreak = 1000;
- var pauseLossStreak = 13;
- // Stop
- var StopProfit =99999;
- var StopLoss = 100;
- // Min & Max Bet Allowed
- var minBet = 1; // Min Allowed Bet
- var maxBet = Math.trunc(engine.getMaxBet() / 100); // Site Max Bet Limit.
- //var maxBet = 50 * BaseBet // Limit the Max Bet to 50 times the Base Bet.
- //CurrentLossStreak = pauseLossStreak; // Uncomment to Wait the next CashOut to Start the Strat
- // ****************** Do not modify from here ********** ///
- var UserName = engine.getUsername();
- var InitBalance = CurrentBalance = MinBalance = MaxBalance = engine.getBalance();
- var CurrentGameID = -1;
- var d = new Date();
- var StartTime = d.getTime();
- var TimePlaying = 0;
- var CurrentBet = BaseBet;
- var TotalLoss = MaxLoss = 0;
- var LastSeen = 1;
- var lastGamePlay = 'NOT_PLAYED';
- var numWins = numLosses = numMissed = numNotPlayed = 0;
- var MaxWinStreak = MaxLossStreak = CurrentWinStreak = CurrentLossStreak = MaxGap = 0;
- var Profit = ProfitPercent = TotSavings = 0;
- var MaxBetPlaced = 0;
- var CashOutProb = (9900 / (101 * ((100 * (CashOut * 100) / 100) - 1)) * 100);
- maxBet = (maxBet > Math.trunc(engine.getMaxBet() / 100)) ? Math.trunc(engine.getMaxBet() / 100) : maxBet;
- // *** Min Balance Required
- var ReqBalance = 1;
- for (i = 1; i < pauseLossStreak; i++) { ReqBalance += Math.ceil(Math.pow(onLossMultiplier, (i))); }
- ReqBalance = (ReqBalance * BaseBet) + BaseBet;
- console.log('====== [', ScriptName, Version, '] ======');
- console.log("Heating Engines...");
- console.log('----- Site Limits -----');
- console.log('Max Bet:', maxBet, 'Ethos');
- console.log('Max Profit:', engine.getMaxWin() / 100, 'Ethos');
- console.log('----- Script Settings -----');
- console.log('Balance:', InitBalance / 100, 'Ethos');
- console.log('CashOut:', CashOut + 'x');
- console.log('Base Bet:', BaseBet, 'Ethos');
- console.log("Stop Profit:", StopProfit + "% ", (InitBalance / 100 * StopProfit / 100), "Ethos (Balance >= " + (InitBalance / 100 + (InitBalance / 100 * StopProfit / 100)).toFixed(2) + ")");
- console.log("Stop Loss:", StopLoss + "% ", (MaxBalance / 100 * StopLoss / 100), "Ethos (Balance < " + (MaxBalance / 100 - (MaxBalance / 100 * StopLoss / 100)).toFixed(2) + ")");
- console.log('Stop Loss Streak:', pauseLossStreak, 'rounds');
- console.log('Min Balance Required:', ReqBalance, 'Ethos');
- if (InitBalance / 100 < ReqBalance) {
- console.log('Insufficient Balance', ReqBalance - InitBalance / 100, 'Ethos short.');
- console.log('Adjust your BaseBet to:', Math.floor(InitBalance / 100 / ReqBalance * BaseBet), 'Ethos');
- engine.stop();
- }
- engine.on('game_starting', function (info) {
- CurrentGameID = info.game_id;
- // Time Stats
- var newdate = new Date();
- TimePlaying = ((newdate.getTime() - StartTime) / 1000) / 60;
- console.clear()
- console.log('====== [', ScriptName, Version, '] ======');
- console.log('My username is: ' + engine.getUsername());
- console.log("Initial Balance:", (InitBalance / 100).toFixed(2), "Ethos");
- console.log("Current Balance:", (CurrentBalance / 100).toFixed(2), "Ethos", (CurrentBalance >= InitBalance ? 'π' : 'π₯'));
- console.log(' Min: ' + (MinBalance / 100).toFixed(2), "Ethos", '(' + ((InitBalance - MinBalance) / 100).toFixed(2) + ')');
- console.log(' Max: ' + (MaxBalance / 100).toFixed(2), "Ethos", '(' + ((MaxBalance - InitBalance) / 100).toFixed(2) + ') ' + (CurrentBalance >= MaxBalance ? 'π' : ''));
- console.log('====== Strat ======');
- console.log('Chasing', CashOut, '| Base Bet', Math.trunc(BaseBet), '|', (TotLossMartingale) ? 'TotalLoss Martingale' : ('x' + onLossMultiplier.toFixed(5) + ' onLoss'));
- console.log('Wait', Math.ceil(pausedGames), "<", pauseCrash, "Reset after", pauseLossStreak, "Losses or", pauseWinStreak, 'Wins');
- console.log('Min Bet:', Math.ceil(minBet), 'Ethos | Max Bet:', Math.ceil(maxBet), 'Ethos');
- console.log('Probability:', (CashOutProb).toFixed(2) + '% | Fallacy Prob:', ((LastSeen - 1) * 100 / (CashOut * 12) + CashOutProb).toFixed(2) + '%');
- console.log('Last', pauseCrash, 'Seen', LastSeen, 'games ago | Max Gap:', MaxGap);
- console.log("π€===== Profit =====π€");
- console.log("Session Profit:", Profit, "Ethosπ", "(" + ProfitPercent + "%)");
- console.log("Target Profit:", StopProfit + "% ", (InitBalance / 100 * StopProfit / 100));
- console.log("====== Loses ======");
- console.log("Total Loss:", Math.ceil(TotalLoss), "Ethos", "| Max:", Math.ceil(MaxLoss));
- console.log("Stop Loss:", StopLoss + "%", (MaxBalance / 100 * StopLoss / 100), " (<" + (MaxBalance / 100 - (MaxBalance / 100 * StopLoss / 100)).toFixed(2) + ")");
- console.log("====== Stats ======");
- console.log('Wins:', numWins, '| Losses:', numLosses, '| Missed:', numMissed, '| NP:', numNotPlayed, '| ' + (numWins / numLosses >= Math.floor((1 / (CashOut - 1) + 1)) ? 'β²' : 'βΌ'));
- console.log("Win Streak:", MaxWinStreak, " | Loss Streak:", MaxLossStreak);
- console.log("Tot. Games:", (numWins + numLosses + numMissed + numNotPlayed), "in", Math.round(TimePlaying), "minutes.");
- console.log('====== * ======');
- console.log('Wins in a Row:', CurrentWinStreak, 'of', pauseWinStreak, 'to Pause');
- console.log('====== * ======');
- console.log("Game #", CurrentGameID, "| Max Bet Placed:", MaxBetPlaced);
- console.log('Last game Status: ' + lastGamePlay);
- // Pause (StopWinStreak or StopLossStreak)
- if (gamePaused) {
- if (CurrentLossStreak >= pauseLossStreak) {
- console.warn('Paused: Waiting next', pauseCrash + 'x');
- } else {
- console.warn('Paused: for', (pausedGames + 1 - LastSeen), 'games <', pauseCrash + 'x');
- }
- document.title = `Paused | ${ProfitPercent}% ` + (CurrentBalance >= InitBalance ? 'β² ' : 'βΌ ') + (CurrentBalance >= MaxBalance ? 'β ' : '');
- }
- if (!gamePaused) {
- var placeBet = Math.trunc(CurrentBet);
- // StopLoss
- if (((CurrentBalance / 100) - placeBet) <= MaxBalance / 100 - (MaxBalance / 100 * StopLoss / 100)) {
- console.warn("Current bet of", placeBet, "will break your Stop Loss on your balance", (MaxBalance / 100).toFixed(2));
- console.warn("Game Over β ");
- document.title = (`Game Over β `);
- engine.stop();
- } else {
- // Check if the balance is high enough to place the bet.
- if (placeBet <= CurrentBalance) {
- console.log('--------------------');
- console.log("Betting", placeBet, "Ethos", ", CashOut", CashOut + 'x');
- console.log("Expected Profit", (placeBet * CashOut - placeBet - TotalLoss).toFixed(2), "Ethos");
- document.title = `Bet ${placeBet} @ ${CashOut}x | ${ProfitPercent}% ` + (CurrentBalance >= InitBalance ? 'β² ' : 'βΌ ') + (CurrentBalance >= MaxBalance ? 'β ' : '');
- MaxBetPlaced = Math.max(placeBet, MaxBetPlaced);
- // Place Bet **********************************************
- engine.placeBet(Math.ceil(placeBet * 100), Math.ceil(CashOut * 100), false);
- } else {
- // Not enough balance to place the bet.
- console.error("Your account balance is to low to place a bet....", ScriptName, "will close now.");
- engine.stop();
- }
- }
- }
- });
- engine.on('cashed_out', function (data) {
- if (data.username == engine.getUsername()) {
- console.log('Successfully cashed out at ' + (data.stopped_at / 100) + 'x');
- }
- });
- engine.on('game_crash', function (data) {
- // Update Max & Min Balance Stats
- CurrentBalance = engine.getBalance();
- MinBalance = Math.min(CurrentBalance, MinBalance);
- MaxBalance = Math.max(CurrentBalance, MaxBalance);
- Profit = ((CurrentBalance - InitBalance) / 100);
- ProfitPercent = (((CurrentBalance / InitBalance) - 1) * 100).toFixed(2);
- TotalLoss = (MaxBalance / 100 - CurrentBalance / 100);
- MaxLoss = (TotalLoss > MaxLoss) ? TotalLoss : MaxLoss;
- lastGamePlay = engine.lastGamePlay();
- var gameCrash = data.game_crash;
- console.log("Game crashed at", (gameCrash / 100) + 'x Profit:', Profit, "Ethos", "(" + ProfitPercent + "%)");
- // WIN: Return to Normal conditions.
- if (lastGamePlay == 'WON') {
- // Stats
- numWins++;
- CurrentWinStreak++;
- CurrentLossStreak = 0;
- MaxWinStreak = (CurrentWinStreak > MaxWinStreak) ? CurrentWinStreak : MaxWinStreak;
- CurrentBet = BaseBet;
- if (TotLossMartingale) {
- if (TotalLoss > maxBet) {
- CurrentBet = maxBet;
- } else {
- CurrentBet = Math.ceil(TotalLoss / (CashOut - 1) + BaseBet);
- }
- }
- }
- // LOST: Recovery routine.
- if (lastGamePlay == 'LOST') {
- // Stats
- numLosses++;
- CurrentLossStreak++;
- CurrentWinStreak = 0;
- MaxLossStreak = (CurrentLossStreak > MaxLossStreak) ? CurrentLossStreak : MaxLossStreak;
- console.log('Game Lost...');
- CurrentBet = CurrentBet * onLossMultiplier;
- if (TotLossMartingale) { CurrentBet = Math.ceil(TotalLoss / (CashOut - 1) + BaseBet); }
- }
- // Last Seen
- if (gameCrash < pauseCrash * 100) {
- LastSeen++;
- // NOT PLAYED:
- if (lastGamePlay == "NOT_PLAYED") {
- CurrentWinStreak = 0;
- numNotPlayed++;
- }
- }
- // Target Missed
- if (gameCrash >= pauseCrash * 100) {
- LastSeen = 1;
- // NOT PLAYED:
- if (lastGamePlay == "NOT_PLAYED") {
- console.log('Target Missed...');
- CurrentLossStreak = 0;
- numMissed++;
- }
- }
- // Pause Handlers
- if (LastSeen > pausedGames && CurrentLossStreak < pauseLossStreak) { gamePaused = false; }
- if (CurrentWinStreak >= pauseWinStreak) { gamePaused = true; }
- if (CurrentLossStreak >= pauseLossStreak) { gamePaused = true; CurrentBet = (TotLossMartingale) ? CurrentBet : BaseBet; }
- // Fix Limits
- CurrentBet = (CurrentBet > maxBet) ? maxBet : CurrentBet;
- CurrentBet = (CurrentBet < minBet) ? minBet : CurrentBet;
- MaxGap = Math.max(MaxGap, LastSeen);
- //Target Profit Reached
- if (Profit > (InitBalance / 100 * StopProfit / 100)) {
- document.title = (`Agatha WON π`);
- console.log("Target Profit reached, bot is shutting down...");
- console.log("You have made", Profit, "Ethos (" + ProfitPercent + "%) Profit this session.");
- engine.stop();
- }
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement