Skip to content

Instantly share code, notes, and snippets.

@dsetzer
dsetzer / flat-v1.2-bab.js
Last active January 17, 2020 19:43
original flat bet script for bustabit upgraded with ui settings
var config = {
baseBet: { type: 'balance', label: 'Base Bet', value: 50 },
basePayout: { type: 'multiplier', label: 'Base Payout', value: 5 },
baseMulti: { type: 'multiplier', label: 'Bet Multi', value: 1.2 },
postBet: { type: 'number', label: 'Post Bet', value: 1 },
};
let currentBet = config.baseBet.value;
let startBal = userInfo.balance;
let prevBal = userInfo.balance;
@dsetzer
dsetzer / geomartingale-v1-bab.js
Last active November 17, 2021 22:35
Improved martingale script for bustabit and bustadice.
var config = {
baseBet: { type: 'balance', label: 'Base Bet', value: 2000 },
payout: { type: 'multiplier', label: 'Payout', value: 1.5 },
betAdj: { type: 'number', label: 'Multi Adj', value: 0.8 },
betPrc: { type: 'text', label: 'Precision', value: '1e4' }
};
Object.entries(config).forEach(c=>window[c[0]]=c[1].value);
let curBet = baseBet, curProb = 0, reqProb = 1;
let numGames = 0, numHits = 0, avgGames = 20 * payout;
engine.on('GAME_STARTING', ()=>{
@dsetzer
dsetzer / cmh-v1-bab.js
Created December 27, 2019 16:44
Bustadice and Bustabit script for CMH
var config = {
baseBet: { type: 'balance', label: 'Base Bet', value: 100 },
minPayout: { type: 'multiplier', label: 'Min Payout', value: 1.3 },
maxPayout: { type: 'multiplier', label: 'Max Payout', value: 4.5 },
incPayout: { type: 'number', label: 'Inc Payout', value: 1.5 }
};
Object.entries(config).forEach(c=>window[c[0]]=c[1].value);
let currBet = baseBet, currPayout = minPayout;
engine.on('GAME_ENDED', ()=>{
let lastGame = engine.history.first();
@dsetzer
dsetzer / oscar-v1-bab.js
Last active November 17, 2021 22:35
Oscar's Grind script for bustabit
var config = {
baseBet: { type: 'balance', label: 'Base Bet', value: 100 },
payout: { type: 'multiplier', label: 'Payout', value: 2 },
betIncr: { type: 'balance', label: 'Bet Incr', value: 100 },
reqProf: { type: 'balance', label: 'Profit', value: 100 }
};
Object.entries(config).forEach(c=>window[c[0]]=eval(c[1].value));
let currBet = baseBet, profit = 0;
engine.on('GAME_STARTING', () => {
@dsetzer
dsetzer / cmh-v1-dice.js
Created December 23, 2019 15:42
bustadice CMH script (he didn't lose from the script, take a close look at the payout used during the losses. losses were manual)
var config = {c:{type:'text',label:'Bet Speed',value:100},m:{type:'balance',label:'Base Bet',value:6e2}};await
(async(a,b,c,d,e,f,g)=>{var h=async(i,w,x)=>((w=(g?{b:g.value,p:g.target}:{b:a,p:b}),x=(g?(g.multiplier<b?d(w):c(w)):null),
f=w.b,b=w.p),(g=await this.bet(Math.round(f/1e2)*1e2,b)));for(;;)await h().then(i=>new Promise(r=>setTimeout(r,e)));
})(config.m.value,2.01,(w)=>{w.b=config.m.value,w.p=2.01;},(l)=>{l.p+=1.01;if(l.p>6.05){l.p=2.01,l.b*=(6.05/1.01);}},config.c.value);
/* Copyright © 2019 Daniel Setzer */
@dsetzer
dsetzer / global-config.js
Last active December 22, 2019 13:09
Making config values easier to work with
var config = {
baseBet: { type: 'balance', label: 'Base Bet', value: 100 }
};
// Add config values to global scope
Object.entries(config).forEach(c=>window[c[0]]=c[1].value);
// Before:
//await this.log(config.baseBet.value);
@dsetzer
dsetzer / climb3-v1.5-bustabit.js
Last active December 18, 2024 16:55
Upgrade from climb-v2 script with more customization, compounding, and halving feature for bustabit.
var config = {
baseBet: { label: 'Base Bet', type: 'balance', value: 1000 },
minPayout: { label: 'Target Min', type: 'multiplier', value: 1.08 },
maxPayout: { label: 'Target Max', type: 'multiplier', value: 50.00 },
divPayout: { label: 'Target Div', type: 'multiplier', value: 0.80 },
compRate: { label: 'Compound %', type: 'multiplier', value: 0.02 },
compStep: { label: 'Compound At', type: 'multiplier', value: 1.10 },
};
let baseBet = config.baseBet.value, basePayout = config.minPayout.value, rate = config.compRate.value;
let currentBet = baseBet, currPayout = basePayout, baseMulti = 1.005, betMulti = 1.006, result = null;
@dsetzer
dsetzer / bustadice-wrapper-v1.js
Last active June 17, 2021 16:19
Script wrapper allowing most bustadice (promise based API) scripts to be used on bustabit (event based API). Reason why I say most scripts is because there are a few differences which have no equivalent like seed change functions.
var config = {
baseBet: { type: 'balance', label: 'Base Bet', value: 100 },
payout: { type: 'multiplier', label: 'Payout', value: 2 },
maxBet: { type: 'balance', label: 'Max Bet', value: 100000 }
};
// Note: if the bustadice script contains a config or options like above,
// then it will need to be separated and placed at the very top still and
// the rest of the script is placed in the designated area below.
@dsetzer
dsetzer / bustadice-dynamic-microscript.js
Last active September 28, 2019 07:10
A versatile micro script framework for bustadice using simple dynamic preset system.
// ------------------------ Preset Format ------------------------
var settings = [
100, // Base Bet
2.00, // Payout
(w)=>{ // onWin Callback
w.b = w.b / 2;
w.p = w.p;
},
(l)=>{ // onLose Callback
// Array remove by shifting elements
Array.prototype.remove = function(index) {
var stop = this.length - 1;
while (index < stop) this[index] = this[++index];
this.pop();
}
// Array filter remove by shifting elements
Array.prototype.filterRemove = function(fn) {
for (var i = 0, j = 0; i < this.length; ++i) {