Pages:
Author

Topic: bustascript - Custom and designer scripts for bitcoin gambling sites (Read 742 times)

newbie
Activity: 2
Merit: 0
Hello StackGod

I’m looking for someone to code for me a bustascript.

What is your email? I want to discuss in private.

Thanks!
Pif
member
Activity: 153
Merit: 18
Quote from: RGBKey

That sure made this a lot easier. I had a crack at writing the script myself, seems pretty stable from what I've tested

[code
var config = {
    n: { value: '1', type: 'text', label: 'Rounds since last game >= multiplier (n)'},
    t: { value: 2, type: 'multiplier', label: 'Multiplier (t)'},
    wager: { value: 0, type: 'balance', label: 'Wager'}
};

// Globals
const n = parseInt(config.n.value);
const t = config.t.value;
const wager = config.wager.value;
let m = 0;

// Ensure user input makes sense
if(isNaN(n)) {
    stop('n must be an integer');
} else if(n < 0) {
    stop('n cannot be less than 0');
} else if(n === 0) {
    log('*** Warning: n is 0, the script will be betting on every game');
} else if(t > 1000) {
    log('*** Warning: You are using a very high multiplier');
    log('*** Using large values can cause the script to freeze temporarily');
}

// Recursive function to find the number of games since a multiplier
function findM(m, hash) {
  return new Promise((resolve, reject) => {
    gameResultFromHash(hash).then((result) => {
      if(result >= t) {
        resolve(m);
      } else {
        SHA256(hash).then((newHash) => {
          findM(m + 1, newHash).then((m) => {
            resolve(m);
          });
        });
      }
    });
  });
}

// Place a bet with the specified options
function placeBet() {
  log('Placing bet');
  checkBalance();
  engine.bet(wager, t);
}

// Pre-check before betting
function checkBalance() {
  if(userInfo.balance < config.wager.value) {
    stop('Insufficient balance');
  }
}

// Happens after the initial "sync", and after every game ending
function checkParams(initial) {
  if(engine.history.first().bust >= t && !initial) {
    log(`Multiplier for finished game was >= ${t}x, resetting count. `);
    m = 0;
    log(`${n-m} round(s) of multipliers < ${t}x before betting remaining`);
  } else {
    if(!initial) m++;
    if(m >= n) {
      placeBet();
      m = 0;
    } else {
      log(`${n-m} round(s) of multipliers < ${t}x before betting remaining`);
    }
  }
}

findM(0, engine.history.first().hash).then((value) => {
  // m is global here
  m = value;
  log(`${m} game(s) since multiplier of or at least ${t}x`);
  checkParams(true);
  // Set up event listeners to continue the script after the initial stage
  engine.on('GAME_ENDED', () => {
    checkParams();
  });
});
[/code]

Just bumped into this thread, and specifically to this post, and would like to know how to practically make use this script.
Would really appreciate if someone could drive me trought considering I have zero coding skills.
So something like: copypaste the script into bustabit script editor, replace"this " with your desired multiplier, replace "that" with number of rounds , and so on with bet amount and, if this script allows it, increase on lose and stop on win.


Bump.
Anyone knows?
newbie
Activity: 40
Merit: 0
i need this bustabit script to be install on my server can someone point me to the right direction .
Pif
member
Activity: 153
Merit: 18
Quote from: RGBKey

That sure made this a lot easier. I had a crack at writing the script myself, seems pretty stable from what I've tested

[code
var config = {
    n: { value: '1', type: 'text', label: 'Rounds since last game >= multiplier (n)'},
    t: { value: 2, type: 'multiplier', label: 'Multiplier (t)'},
    wager: { value: 0, type: 'balance', label: 'Wager'}
};

// Globals
const n = parseInt(config.n.value);
const t = config.t.value;
const wager = config.wager.value;
let m = 0;

// Ensure user input makes sense
if(isNaN(n)) {
    stop('n must be an integer');
} else if(n < 0) {
    stop('n cannot be less than 0');
} else if(n === 0) {
    log('*** Warning: n is 0, the script will be betting on every game');
} else if(t > 1000) {
    log('*** Warning: You are using a very high multiplier');
    log('*** Using large values can cause the script to freeze temporarily');
}

// Recursive function to find the number of games since a multiplier
function findM(m, hash) {
  return new Promise((resolve, reject) => {
    gameResultFromHash(hash).then((result) => {
      if(result >= t) {
        resolve(m);
      } else {
        SHA256(hash).then((newHash) => {
          findM(m + 1, newHash).then((m) => {
            resolve(m);
          });
        });
      }
    });
  });
}

// Place a bet with the specified options
function placeBet() {
  log('Placing bet');
  checkBalance();
  engine.bet(wager, t);
}

// Pre-check before betting
function checkBalance() {
  if(userInfo.balance < config.wager.value) {
    stop('Insufficient balance');
  }
}

// Happens after the initial "sync", and after every game ending
function checkParams(initial) {
  if(engine.history.first().bust >= t && !initial) {
    log(`Multiplier for finished game was >= ${t}x, resetting count. `);
    m = 0;
    log(`${n-m} round(s) of multipliers < ${t}x before betting remaining`);
  } else {
    if(!initial) m++;
    if(m >= n) {
      placeBet();
      m = 0;
    } else {
      log(`${n-m} round(s) of multipliers < ${t}x before betting remaining`);
    }
  }
}

findM(0, engine.history.first().hash).then((value) => {
  // m is global here
  m = value;
  log(`${m} game(s) since multiplier of or at least ${t}x`);
  checkParams(true);
  // Set up event listeners to continue the script after the initial stage
  engine.on('GAME_ENDED', () => {
    checkParams();
  });
});
[/code]

Just bumped into this thread, and specifically to this post, and would like to know how to practically make use this script.
Would really appreciate if someone could drive me trought considering I have zero coding skills.
So something like: copypaste the script into bustabit script editor, replace"this " with your desired multiplier, replace "that" with number of rounds , and so on with bet amount and, if this script allows it, increase on lose and stop on win.
newbie
Activity: 1
Merit: 0
Can i have your skype ? i want you to make Custom Script for me.
thanks,
legendary
Activity: 1834
Merit: 1008
thanks, bought another script, works good. pricey but i made it back in two days.

Are you alt account from OP? You should really give your proof to get this thing straight. I never know if there is any script really works unless you can tell me your username there so everyone can know your progression to make those profit back. Btw you said it is overprice so why are you still buying it? And that makes you are always buy more than one script to get profit? I just wondering if everything is really going well
newbie
Activity: 54
Merit: 0
thanks, bought another script, works good. pricey but i made it back in two days.
newbie
Activity: 7
Merit: 3
I've been trying to do it myself as I was curious. I've run into a problem where I cannot take the SHA3-256 HMAC of something, or I am doing it wrong. window.crypto.subtle.importKey does not support SHA3 operations, and I'm having an incredible amount of trouble trying to use outside code (current was trying to use http://caligatio.github.com/jsSHA/ as an alternative, but cannot get it to work).

Yeah, I had a try and it's a real pain in the ass. What would be ideal if devans could just expose a top level `bustaHash` and `hashToBust` function or something, I think it'd be super easy Cheesy

The functions SHA256 and gameResultFromHash are now available in the script editor. They're pretty self-explanatory, but you can find a usage example here. One thing to watch out for is that they both return a Promise rather than the result itself.

Damn, wish I'd checked this thread sooner! Nice work, RGBKey.
sr. member
Activity: 528
Merit: 368
Ah, super cool RGBKey! I've sent you the bounty Cheesy   hopefully it's a good framework for people who want to look back in history
Well that was pretty cool of you to offer a bounty and paid it out within a week. Grin
Does this script work on bustabit solely or can it work on bustadice interchangeably? Undecided

I rarely use scripts so might give this one a try if I knew which of the sites you created/co-own it works on first. Wink

bustabit and bustadice are provably fair in different ways and have different script editor APIs, so RGBKey's script will only work on bustabit.
hero member
Activity: 1008
Merit: 1012
Ah, super cool RGBKey! I've sent you the bounty Cheesy   hopefully it's a good framework for people who want to look back in history
Well that was pretty cool of you to offer a bounty and paid it out within a week. Grin
Does this script work on bustabit solely or can it work on bustadice interchangeably? Undecided

I rarely use scripts so might give this one a try if I knew which of the sites you created/co-own it works on first. Wink
legendary
Activity: 1463
Merit: 1886
Ah, super cool RGBKey! I've sent you the bounty Cheesy   hopefully it's a good framework for people who want to look back in history
hero member
Activity: 854
Merit: 658
rgbkey.github.io/pgp.txt
I've been trying to do it myself as I was curious. I've run into a problem where I cannot take the SHA3-256 HMAC of something, or I am doing it wrong. window.crypto.subtle.importKey does not support SHA3 operations, and I'm having an incredible amount of trouble trying to use outside code (current was trying to use http://caligatio.github.com/jsSHA/ as an alternative, but cannot get it to work).

Yeah, I had a try and it's a real pain in the ass. What would be ideal if devans could just expose a top level `bustaHash` and `hashToBust` function or something, I think it'd be super easy Cheesy

The functions SHA256 and gameResultFromHash are now available in the script editor. They're pretty self-explanatory, but you can find a usage example here. One thing to watch out for is that they both return a Promise rather than the result itself.

That sure made this a lot easier. I had a crack at writing the script myself, seems pretty stable from what I've tested

Code:
var config = {
    n: { value: '1', type: 'text', label: 'Rounds since last game >= multiplier (n)'},
    t: { value: 2, type: 'multiplier', label: 'Multiplier (t)'},
    wager: { value: 0, type: 'balance', label: 'Wager'}
};

// Globals
const n = parseInt(config.n.value);
const t = config.t.value;
const wager = config.wager.value;
let m = 0;

// Ensure user input makes sense
if(isNaN(n)) {
    stop('n must be an integer');
} else if(n < 0) {
    stop('n cannot be less than 0');
} else if(n === 0) {
    log('*** Warning: n is 0, the script will be betting on every game');
} else if(t > 1000) {
    log('*** Warning: You are using a very high multiplier');
    log('*** Using large values can cause the script to freeze temporarily');
}

// Recursive function to find the number of games since a multiplier
function findM(m, hash) {
  return new Promise((resolve, reject) => {
    gameResultFromHash(hash).then((result) => {
      if(result >= t) {
        resolve(m);
      } else {
        SHA256(hash).then((newHash) => {
          findM(m + 1, newHash).then((m) => {
            resolve(m);
          });
        });
      }
    });
  });
}

// Place a bet with the specified options
function placeBet() {
  log('Placing bet');
  checkBalance();
  engine.bet(wager, t);
}

// Pre-check before betting
function checkBalance() {
  if(userInfo.balance < config.wager.value) {
    stop('Insufficient balance');
  }
}

// Happens after the initial "sync", and after every game ending
function checkParams(initial) {
  if(engine.history.first().bust >= t && !initial) {
    log(`Multiplier for finished game was >= ${t}x, resetting count. `);
    m = 0;
    log(`${n-m} round(s) of multipliers < ${t}x before betting remaining`);
  } else {
    if(!initial) m++;
    if(m >= n) {
      placeBet();
      m = 0;
    } else {
      log(`${n-m} round(s) of multipliers < ${t}x before betting remaining`);
    }
  }
}

findM(0, engine.history.first().hash).then((value) => {
  // m is global here
  m = value;
  log(`${m} game(s) since multiplier of or at least ${t}x`);
  checkParams(true);
  // Set up event listeners to continue the script after the initial stage
  engine.on('GAME_ENDED', () => {
    checkParams();
  });
});
sr. member
Activity: 528
Merit: 368
I've been trying to do it myself as I was curious. I've run into a problem where I cannot take the SHA3-256 HMAC of something, or I am doing it wrong. window.crypto.subtle.importKey does not support SHA3 operations, and I'm having an incredible amount of trouble trying to use outside code (current was trying to use http://caligatio.github.com/jsSHA/ as an alternative, but cannot get it to work).

Yeah, I had a try and it's a real pain in the ass. What would be ideal if devans could just expose a top level `bustaHash` and `hashToBust` function or something, I think it'd be super easy Cheesy

The functions SHA256 and gameResultFromHash are now available in the script editor. They're pretty self-explanatory, but you can find a usage example here. One thing to watch out for is that they both return a Promise rather than the result itself.
newbie
Activity: 7
Merit: 3
So you can only code for bustabit? If I found out other similar games to crash games, can I pass it down for you just to help me for coding it? I guess they made an open source so this must be similar site to what they do. May be some design that difference, what do you think? And btw about this bot, can you manually change the strategy as well? Because sometimes this can't work just because it is already pass down tp other sites

Yes, bustascript codes for any gambling site that allows autobetting via script, regardless of the language (although JS is the most popular, by far). As Ryan mentioned, bustabit and bustadice have great sandboxed script editors - the safest. Also, if I may add, they provide what we personally see as the best bitcoin gambling experience in the space. We definitely won't provide you with malicious code, but if you use the two aforementioned sites, you won't need to take our word for it. Do note, however, that using such scripts on other sites may result in coins being lost, or your entire balance very suddenly disappearing. Not with our scripts, but just a general word of caution.
legendary
Activity: 1463
Merit: 1886
So you can only code for bustabit? If I found out other similar games to crash games, can I pass it down for you just to help me for coding it?

I believe bustabit and all the clones use javascript for the autobet system, so I'm sure the OP would have no problems with any other site.

I will however point out that bustabit/bustadice uses an extensive sandbox system, that makes it exceedingly hard to write malicious scripts (other than the obvious way of betting in a way you didn't want) and executes inside an iframe that doesn't have ability to interact with the page except through an explicit interface.  AFAIK none of the clones or other casinos do this, so you need to be a lot more careful when executing scripts as it's pretty easy for them to do stuff like inject into the page an phish you and other nasty things like that.

legendary
Activity: 1834
Merit: 1008
So you can only code for bustabit? If I found out other similar games to crash games, can I pass it down for you just to help me for coding it? I guess they made an open source so this must be similar site to what they do. May be some design that difference, what do you think? And btw about this bot, can you manually change the strategy as well? Because sometimes this can't work just because it is already pass down tp other sites
newbie
Activity: 54
Merit: 0
dude is legit. i asked him on discord for a script (because i hate going through those autobuy channels) and he was very happy to oblige. coded me a perfect script, it was really weird and complex but he managed to do it in 3 hours, and it was very cheap, only 0.01 btc. many thanks +1
newbie
Activity: 7
Merit: 3
out of curiocity:do you code any type of scripts?
only standalone or you can do dicebot scripts as well (https://bitcointalksearch.org/topic/seuntjies-dicebot-multi-site-multi-strategy-betting-bot-for-dice-with-charts-307425) ?
are there free simple strategies,like Martingale,script samples one could test?

We specialize in coding scripts for bitcoin crash games such as bustabit, as well as sites such as bustadice, which have in-built areas to paste in a script. This makes sure that the script can only access the game, and not the rest of your browser/computer. If you would like something different (eg. a program that runs on your computer instead of within the site) then contact me on Discord and we can discuss it. As for "type" of script, we specialize in custom scripts. If you have a strategy in mind which is currently just words, tell it to us and we will put those words into code! We can also advise you on your strategies and run the numbers if you wish. If you'd like a sample script of a well known strategy, contact me on Discord.
legendary
Activity: 2016
Merit: 1107
out of curiocity:do you code any type of scripts?
only standalone or you can do dicebot scripts as well (https://bitcointalksearch.org/topic/seuntjies-dicebot-multi-site-multi-strategy-betting-bot-for-dice-with-charts-307425) ?
are there free simple strategies,like Martingale,script samples one could test?
newbie
Activity: 7
Merit: 3
StackGod, did you ever figure out how to do a good HMAC SHA3-256 in the script? If you did, I'm curious to know how

It seems like incorporating that would be very hard. I currently have a few pending orders to do myself, and I have to vet some work from the team, but after that I'll give it a proper think. I've been thinking of some other solutions, so stay tuned!
Pages:
Jump to: