Author

Topic: bustascript - Custom and designer scripts for bitcoin gambling sites (Read 736 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!
hero member
Activity: 854
Merit: 658
rgbkey.github.io/pgp.txt
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
newbie
Activity: 7
Merit: 3
I think Butascript brings in all smarter features revealing the true importance of gambling. Here, you can place multiple bets that doubles the chances to win.


Smarter features? Arguably, yes. "Doubles the chances to win"? Definitely not. Using a script does not (mathematically, at least) give you significantly better odds - but there are other advantages. Let me paste in something from our FAQ:

Scripts are programs that connect to the game engine and make wagers on behalf of the player. For a player with a clear-cut strategy, they can offer some very significant advantages to manual betting.

  • Scripts automate the betting process. This means you no longer have to be at your screen all the time - you can bet all day, all night, and also have a life!
  • Scripts can analyze data much faster and more efficiently than humans. If you want to calculate the prorated differential of the median and compute it with the matrix of the last 50 bet results (don't do this), you would probably last two games before burning out (whilst doing so manually). A script can do that and much more without even breaking a sweat.
  • Scripts also help to incorporate your strategy and/or replicate your personal betting style. Even if you don't want to analyze past bet data, scripts can still help: a very basic (and bad) example is Martingale or anti-Martingale, where a script can place bets without you having to make manual calculations.
  • Even if you have taken months to come up with an extremely complex and sophisticated gambling method, putting it into practice manually will be very taxing due to the fast-paced nature of the games. A script can condense months of work and implement your genius (cough) strategy in miliseconds.
  • Scripts are not only able to connect to the outside world (you can pull any data into your bets, be it past wagers or the day's lottery numbers), they can even store lookup tables, which can be handy in recovery betting (you no longer need to memorize strings of numbers and quickly change the number before every bet).
  • Scripts mitigate what we call "emotional risk". When you're having a, one way or the other, extraordinary betting run, emotions tend to get the better of us, and rationality often goes out the window. Scripts will never be overcome with emotion and will always stick to the plan, which can be a great boon.

We will be the first to admit that scripts can never replicate intuition or that magical feeling in your balls that tells you to go all in. But, the benefits that scripts provide are very hard to ignore!
member
Activity: 70
Merit: 10
I think Butascript brings in all smarter features revealing the true importance of gambling. Here, you can place multiple bets that doubles the chances to win.
legendary
Activity: 1463
Merit: 1886
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
hero member
Activity: 854
Merit: 658
rgbkey.github.io/pgp.txt
one would need to place multiple bets and thus recording past data comes at a risk


Sorry, I wasn't being clear. I mean just looking at the past games  (but not the times you played in the past). You can actually offline generate all the past games like this: https://jsfiddle.net/Dexon95/2fmuxLza/embedded/result/  where the only input is the game hash (which you can grab from the engine).  So when the script first runs, it can generate the past n games, and then keep that list incrementally up to date after each game bust event.


It's definitely an annoying and challenging script to write, but thought it'd be good to see how you guys do  Grin


Good luck!

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).
legendary
Activity: 1463
Merit: 1886
one would need to place multiple bets and thus recording past data comes at a risk


Sorry, I wasn't being clear. I mean just looking at the past games  (but not the times you played in the past). You can actually offline generate all the past games like this: https://jsfiddle.net/Dexon95/2fmuxLza/embedded/result/  where the only input is the game hash (which you can grab from the engine).  So when the script first runs, it can generate the past n games, and then keep that list incrementally up to date after each game bust event.


It's definitely an annoying and challenging script to write, but thought it'd be good to see how you guys do  Grin


Good luck!
newbie
Activity: 7
Merit: 3
Interesting service, I like the no-bullshit style of you use =)


To kick it off, I'll offer $125 (payable in bits on bustabit) if you can write a script that (through the gui) takes:
* n  -- integer
* t -- multiplier
* wager

And bets in all games if and only if multiplier t hasn't happened in the last n games. When the script starts, it should use the provably fair system [1] to generate the last n games, so it can check when the last time t multiplier was hit.



[1] Which is unfortunately a pain in the ass now, as there's no exported function to make it easy.


(and the script should be made public, and free for anyone to use Cheesy)

Hey, Ryan! Thanks for dropping a post - we here at bustascript really respect you for all you've done for and accomplished within the bitcoin gambling community. As I'm sure you're aware, your request is very difficult (dare I say impossible), but never say never! Unlike bustadice, there is no skip() function on bustabit (the lowest cashout possible is 1.01x, which means to record multipliers, one would need to place multiple bets and thus recording past data comes at a risk). Once we're done coding scripts for all our paid customers, I'll be sure to think of a solution to your very interesting problem. I think I might host a 24/7 web scraper, but the sandboxed script area on bustabit won't be able to access it... hmm. You've given me some food for thought. Thanks for dropping by!

Edit: That gives me an idea! If any member as trusted as RHavar would like to take a vouch copy, we would greatly appreciate it (preferably someone on the DT list). You may request a script and we will code it free of charge, and if you wish to make it public, we will do so. This way, our abilities will be vouched for Wink
legendary
Activity: 1463
Merit: 1886
Interesting service, I like the no-bullshit style of you use =)


To kick it off, I'll offer $125 (payable in bits on bustabit) if you can write a script that (through the gui) takes:
* n  -- integer
* t -- multiplier
* wager

And bets in all games if and only if multiplier t hasn't happened in the last n games. When the script starts, it should use the provably fair system [1] to generate the last n games, so it can check when the last time t multiplier was hit.



[1] Which is unfortunately a pain in the ass now, as there's no exported function to make it easy.


(and the script should be made public, and free for anyone to use Cheesy)
newbie
Activity: 7
Merit: 3
Hello, I am StackGod and I am the head coder for bustascript, a script coding service. Users can provide their specifications and create a custom script based on their needs, or they can purchase premade designer scripts.

Sometimes, gamblers would like to step away from the screen and automate their betting. Other times, gamblers have ideas for potentially profitable systems and would like to try it out, but manually doing so may prove to be time-consuming or problematic. That's where bustascript steps in! All customers have to do is provide the specifications, and we will code up the script for them within 48 hours. (Please remember that we do not endorse the usage of any script - users have given us some very stupid requests in the past, and our job is to comply - everything you do with the scripts is at your own risk.) Please do read the disclaimer on our site as well as the gambling site of your choice.

https://www.bustascript.com
Jump to: