SHOW:
|
|
- or go back to the newest paste.
1 | var config = { | |
2 | n: { value: '1', type: 'text', label: 'Rounds since last game >= multiplier (n)'}, | |
3 | t: { value: 2, type: 'multiplier', label: 'Multiplier (t)'}, | |
4 | wager: { value: 0, type: 'balance', label: 'Wager'} | |
5 | }; | |
6 | - | |
6 | + | |
7 | // Globals | |
8 | const n = parseInt(config.n.value); | |
9 | const t = config.t.value; | |
10 | const wager = config.wager.value; | |
11 | let m = 0; | |
12 | - | |
12 | + | |
13 | // Ensure user input makes sense | |
14 | if(isNaN(n)) { | |
15 | stop('n must be an integer'); | |
16 | } else if(n < 0) { | |
17 | stop('n cannot be less than 0'); | |
18 | } else if(n === 0) { | |
19 | log('Warning: n is 0, the script will be betting on every game'); | |
20 | } else if(t > 1000) { | |
21 | log('Warning: You are using a very high multiplier'); | |
22 | log('Using large values can cause the script to freeze temporarily'); | |
23 | } | |
24 | - | |
24 | + | |
25 | // Recursive function to find the number of games since a multiplier | |
26 | function findM(m, hash) { | |
27 | return new Promise((resolve, reject) => { | |
28 | - | gameResultFromHash(hash).then((result) => { |
28 | + | let result = gameResultFromHash(hash); |
29 | if(result >= t) { | |
30 | resolve(m); | |
31 | } else { | |
32 | - | SHA256(hash).then((newHash) => { |
32 | + | let newHash = SHA256(hash); |
33 | findM(m + 1, newHash).then((m) => { | |
34 | resolve(m); | |
35 | }); | |
36 | - | }); |
36 | + | |
37 | }); | |
38 | - | }); |
38 | + | |
39 | ||
40 | // Place a bet with the specified options | |
41 | - | |
41 | + | |
42 | log('Placing bet'); | |
43 | checkBalance(); | |
44 | engine.bet(wager, t); | |
45 | } | |
46 | ||
47 | // Pre-check before betting | |
48 | - | |
48 | + | |
49 | if(userInfo.balance < config.wager.value) { | |
50 | stop('Insufficient balance'); | |
51 | } | |
52 | } | |
53 | ||
54 | // Happens after the initial "sync", and after every game ending | |
55 | - | |
55 | + | |
56 | if(engine.history.first().bust >= t && !initial) { | |
57 | log(`Multiplier for finished game was >= ${t}x, resetting count. `); | |
58 | m = 0; | |
59 | log(`${n-m} round(s) of multipliers < ${t}x before betting remaining`); | |
60 | } else { | |
61 | if(!initial) m++; | |
62 | if(m >= n) { | |
63 | placeBet(); | |
64 | m = 0; | |
65 | } else { | |
66 | log(`${n-m} round(s) of multipliers < ${t}x before betting remaining`); | |
67 | } | |
68 | } | |
69 | } | |
70 | ||
71 | findM(0, engine.history.first().hash).then((value) => { | |
72 | - | |
72 | + | |
73 | m = value; | |
74 | log(`${m} game(s) since multiplier of or at least ${t}x`); | |
75 | checkParams(true); | |
76 | // Set up event listeners to continue the script after the initial stage | |
77 | engine.on('GAME_ENDED', () => { | |
78 | checkParams(); | |
79 | }); | |
80 | }); |