Jump to content

Simple Has Dice Script


NubsScripts

Recommended Posts

For hash dice only.

Script was originally built to gain XP etc... but it proved resilient in the long term. The additional stats/console log stuff has been removed to gain more rolls per hour.

I realize 13k rolls is a drop in the bucket compared to what we all run but screenshot at least show s script works. Your performance will vary. Especially if you start raising the base bet after a huge winning streak. Let's use common sense and slowly bleed BC.

/* Nub's BossMaster for BC

 

    **** Settings ****/
var config = {
    baseBet: { label: 'Base Bet', value: (currency.minAmount * 1.1), type: 'number'},
    payout: { label: 'Payout', value: 1.3, type:'number'},
    wins: { label: 'Wins', value: 2, type:'number'},
    stopTitle:{label: 'Stop if', type: 'title' },
    stop: { label: 'Losses >', value: currency.amount, type:'number'}
};

var stats = {
    bets: 0, // Running total of rolls
    crypto: 0, // Running total of Ethos bet
    hbet: 1, // Highest Bet placed
    closses: 0, // Most Ethos lost before a win
    cwins: 0, // Most wins in a row
    sBank: currency.amount,
    time: new Date()
};
var wins = 0;
var losses = 0;
var ath = currency.amount;
var nextBet = config.baseBet.value;
var studder = false; // A loss before recovering on current run
var std = false; // A loss before recovering within last 50 rolls
var bank = currency.amount;

function main() {
    game.onBet = function () {
        if (stats.bets == 0) {
            log.info('BC Bank Destroyer v1');
        }
        stats.crypto += nextBet;
        game.bet(nextBet, config.payout.value).then(function (payout) {
        stats.bets++;
        if (payout > 1) {
            wins++;
            bank += ((nextBet * config.payout.value) - nextBet);
            if (bank > ath) {
                ath = bank;
            }
            losses = 0;
            if (wins == config.wins.value) {
                wins = 0;
                nextBet = config.baseBet.value;
                if (studder == true || std == true) {
                    log.info('Canceled STD and/or Studder');
                }
                studder = false;
                std = false;
            }else{
                nextBet = nextBet;
            }
            if (ath > bank) {
                log.info('Bet is modified by ATH not achieved');
                nextBet = ((ath - bank) + nextBet + (config.baseBet.value * 3) * 3) / config.payout.value;
            }
        }else{
            bank -= nextBet;
            if (studder == true) {
                std = true;
                log.info('STD is true');
            }
            // Before Recovery encountered loss
            if (nextBet > config.baseBet.value && wins > 0) {
                studder = true;
                log.info('Studder is true');
            }
            if (std == true) {
                nextBet = Number(((ath - bank) + nextBet + (config.baseBet.value * 3) * 3) / config.payout.value);
                log.info('STD modified bet');
            }else{
                nextBet *= 2;
            }
            wins = 0;
            if ((stats.sBank - bank) > config.stop.value) {
                log.info('You lost everything. Go home');
                game.stop();
            }
        }
    });
};
}

Studder.png

Link to comment
Share on other sites

Here's 100k rolls with the script running non stop at pretty safe levels.
I know it's not much of a profit, but again; it was created for getting the Loyal Player medal and gaining XP etc...
At least it's

1) Not negative - this seems to be a big issue with people

2) Still Running - this was to demonstrate durability as an example, is now manually stopped

3) Can be started with less than $1 in bank as shown in the screenshot

Studder100k.png

Link to comment
Share on other sites

seems to still be doing already with the base bet upped by a factor of 10 so far.

My one suggestion is figure out how to get rid of the hard coded values.  Specifically i am talking about the 3s in line

 nextBet = Number(((ath - bank) + nextBet + (config.baseBet.value * 3) * 3) / config.payout.value);

I am assuming the 3 is because the default payout is 1.3 which has a lose rate of 1/3 so trippling the bet to make sure it stays in the profit. 

Also you are misrepresenting your screen shots.  They are clearly not the same run as the payouts are different between the two of them. But so far the script does appear to be working just some minor studdering in the beginning but so far no sudden cliffs which are prone to happen with many scripts.

 

So i added some logging to figure out about what the max draw down could be when compared to the size of the base bet. (important to know if you want to increase the bet size etc...)  So from the largest draw down i have seen is 789x the bast bet. I will update this post if i see it go higher.

                                   Max Drawdown: 3270x of Base bet
                                   Loss of 3.597153163856008 BCD on a base bet of 0.0011 BCD

image.thumb.png.68fbe795bf65ddc5278383a1875d81fb.png

Link to comment
Share on other sites

Just wanted to post an update on this.  I changed it to default my base bet to be bankroll/3300, and have had it running since and it seems that it is fine if i don't increase the bet past that. or maybe i just got a random losing streak.
image.thumb.png.c13bf48e0b7773a512089df6b10a0a2d.png

 

image.png

for whatever reason it won't let me delete the bottom screen shot which was from earlier ignore it please.

Link to comment
Share on other sites

  • 2 weeks later...

Thank you for sharing this Interesting Script. I have a question , why this Script can be run on the account only once. I want to implement it on two different 
crypto currency for test parameters but it gives a Seed error

Link to comment
Share on other sites

I've honestly never tried to run more than 1 instance of a game at the same time. I'm doubting this would be specific to this script only as there is not anything checking for more than 1 instance in the script,. Being in a sandboxed area it can't control anything outside of itself.

It, more than likely, is BC limiting you to 1 set of seeds at a time for a each game.
Link to comment
Share on other sites

  • 1 month later...
On 2/3/2022 at 7:32 AM, Skele said:

Just wanted to post an update on this.  I changed it to default my base bet to be bankroll/3300, and have had it running since and it seems that it is fine if i don't increase the bet past that. or maybe i just got a random losing streak.
image.thumb.png.c13bf48e0b7773a512089df6b10a0a2d.png

 

image.png

for whatever reason it won't let me delete the bottom screen shot which was from earlier ignore it please.

Thanks for the tip on setting the 3300

Link to comment
Share on other sites

On 2/2/2022 at 11:32 PM, Skele said:

Just wanted to post an update on this.  I changed it to default my base bet to be bankroll/3300, and have had it running since and it seems that it is fine if i don't increase the bet past that. or maybe i just got a random losing streak.
image.thumb.png.c13bf48e0b7773a512089df6b10a0a2d.png

 

image.png

for whatever reason it won't let me delete the bottom screen shot which was from earlier ignore it please.

How have you been doing with the bankroll /3300?

Link to comment
Share on other sites

  • Admin

Interesting, although I used to use these scripts during my early days, but too impatient these days.

Link to comment
Share on other sites

  • Admin
14 hours ago, Money_Magnet said:

So what do you use now? 

All in and 2x 🙂 simple.

Link to comment
Share on other sites

On 4/18/2022 at 12:26 AM, Money_Magnet said:

My photo from the post above is on the normal script and not on the bank/3300 and yet It crashed. So idk

Is there anyway to change it so it doesn't keep multiplying after a certain amount of losses? And a max bet button?

Link to comment
Share on other sites

  • 1 month later...
  • 1 month later...

I'm trying a script but I think I'm doing something wrong, can you help me?

//Bc Game Hash Dice 

var config = {
 baseBet: { label: "base bet", value:
currency.minAmount, type: "number" },
  //payout: { label: "payout", value: 2, type: "number" },
  minChange: { label: "min change", value: 1, type:
"number" },
   maxChance: { label: "max cahge", value:98, type:
"number" },
  stop: { label: "stop if bet >", value: 1e8, type: "number" },
  balanceRisk: { label: "balance risk %", value: 100, type:
"number" },
  targetProfit: {label:'Target-Profit-Stop; value: 1000,
type:'number'},
  targetBalance: {label:'Target-Balance-Stop; value:
1000, type:'number'},
  onLoseTitle: { label: "On Lose", type: "title" },
  onLoss: {
    label: "",
    value: "reset",
    type:"radio",
    options: { 
      { value: "reset", label: "Return to base bet" },
      { value: "increase", label: "lncrease bet by (loss
multiplier)" },
    },
  },
  lossStreak: { label: "loss streak", value:2, type: "number"
},
 lossMultiplier: { label: "loss multiplier", value: 2, type:
"number" },
  onWinTitle: { label: "On Win", type: "title" },
  onWin: {
    label: "",
    value: "reset",
    type: "radio",
    options: {
      { value: "reset", label: "Return to base bet" },
      { value: "increase", label: "increase bet by (win
multiplier)" },
    },
  },
  winStreak: { label: "win streak", value: 2, type: "number"
},
  winMultiplier: { label: "win multiplier", value: 2, type:
"number" },
};

var run = false;
//var bet = currency.amount/config.divider.value;
var bet = config.baseBet.value;
var basebet = bet;
var startTime = new Date();
var timestring = ";
var roundWins = 0;
var roundLosses = 0;
var chance = Math.random() * (config.maxChance.value   
- config.minChance.value) + config.minChance.value;
var currentProfitt = 0;
var currentProfittt = 0;
var curProf = 0;
var profitTotal = 0;
var balance = currency.amount;
var lastbalance = balance;

function main (){
  run = true;
  var currentBet = config.baseBet.value;
  game.onBet = function () {
        //balance = currency.amount;
        //if(balance >= lastbalance) lastbalance = balance;
        chance = Math.random() *
(config.maxChance.value - config.minChance.value) +
config.minChance.value;
    //game.bet(currentBet;
config.payout.value).then(function (payout) {
        game.bet(currentBet,
(99/chance).toFixed(4)).then(function (payout) {
                /*
          currentProfit += curProf;
          if (currentProfitt >= currentProfittt) {
        currentProfittt = currentProfittt;
                currentBet = config.baseBet.value;
                roundWins = 0;
                roundLosses = 0;
          }
          */
           
         if (payout > 1) {
                 balance += currentBet*99/chance-currentBet;
                 profitTotal += currentBet*99/chance-
currentBet;
         }else{
                 balance -= currentBet;
                 profitTotal -= currentBet;
         }
         if(balance >= lastbalance) lastbalance = balance;

       if (payout > 1) {
                 curProf = currentBet*99/chance-currentBet;
                 roundWins++;
         if (config.onWin.value === "reset") {
           currentBet = config.baseBet.value;
         } else {
           //currentBet *= config.winMultiplier.value;
                   if (roundWins % config.winStreak.value === 0)  
{
                         currentBet *= config.winMultiplier.value;
                   }
         }
         log.success(
           "We won, so next bet will be " +
             currentBet +
             " " +
             currency.currencyName
        );
      } else {
                curProf = -currentBet;
                roundLosses++;
        if (config.onLoss.value === "reset") {
          currentBet = config.baseBet.value;
        } else {
          //currentBet *= config.lossMultiplier.value;
                  if (roundLosses % config.lossStreak.value ===
0) {
                       currentBet *= config.lossMuliplier.value;
                  }
       }
       log.error(
         "We lost, so next bet will be " +
           currentBet +
           " " +
           currency.currencyName
        );
      }
         
         currentProfitt += curProf;
         if (currentProfitt >= currentProfittt) {
       currentProfittt = currentProfitt;
              currentBet = config.baseBet.value;
              roundWins = 0;
              roundLosses = 0;
         }
        
         if (currentBet < config.baseBet.value) {
                 currentBet = config.baseBet.value
         }
        
         var stoplevel = (100-
config.balanceRisk.value)*lastbalance/100;
          if(balance - currentBet < stoplevel){
         log.error(
           "Balance Risk " + currentBet + "Stop"
       );
       game.stop();
     }

     if (currentBet > config.stop.value) {
       log.error(
         "Was about to bet " + currentBet + " which triggers   
the stop"
        );
        game.stop();
      }

          if (currentBet > balance) {
        log.error(
          "Loss " + balance + "which triggers the stop"
        );
        game stop();
       }

         if (profitTotal >= config.targetProfit.value) {
                       //bet =
currency.amount/config.divider.value;
                        log.success('Target Profit ' +
(profitTotal).toFixed(8) + ' ' + currency.currencyName);
                        game.stop();
         }

         if (balance >= config.targetBalance.value) {
                       //bet =
currency.amount/config.divider.value;
                        log.success('Target Balance ' + balance + ' '
+ currency.currencyName);
                        game.stop();
         }

   ));
 );
}

setinterval(function(){
    var cur = new Date();
    var t = Math.floor((cur - startTime) / 1000);
    var hour = Math.floor(t / 3600);
    if (hour < 10) hour = '0' + Math.floor(t / 3600);
    t = t % 3600;
    var minutes = Math.floor(t / 60);
    if (minutes <10) minutes = '0' + t % 60;
        if(run) timestring = 'PlayTime ' + hour + ':' + minutes + ':' + seconds + ' ';
        else timestring = ";
},'1000');

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...