Advertisement
Guest User

Untitled

a guest
Feb 24th, 2020
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.05 KB | None | 0 0
  1. var config = {
  2. dontLoseThan: { type: "balance", label: "StopLoss", value: 500000 },
  3. TargetProfit: { type: "balance", label: "StopProfit", value: 3000000 },
  4. ResetBetAtWin: { type: "checkbox", label: "Reset bet after hitting bet", value: true },
  5. autoStop: { type: "checkbox", label: "Auto stopping", value: true },
  6. //CONFIG 1(fast profit): bet max 3, target base 3 max 31, boost bet 5.4 boost target 7.9 place static 10
  7. //CONFIG 2(safer): bet max 7, target base 5 max 20, boost bet 0.2 boost target 0.75 place static 1
  8.  
  9. increasePercent: { label: "Multiplier", type: "multiplier", value: 1.13 },
  10. percentAfterBet: { type: "number", label: "When bet above start multiply", value: 0 },
  11. increasePercentStop: { label: "If above, stop multiplier", type: "number", value: 340 },
  12.  
  13. resetBetAtX: { label: "Bet Maximal (bm)", type: "balance", value: 33000 },
  14.  
  15. baseTarget: { type: "multiplier", label: "Target Base (tb)", value: 20 },
  16. targetMax: { type: "multiplier", label: "Target Maximal (tm)", value: 5 },
  17.  
  18. increaseOnAmount: { type: "balance", label: "Boost Bet (bb)", value: 20 },
  19. targetIncrease: { type: "multiplier", label: "Boost Target (bt)", value: -1 },
  20.  
  21. increaseMaxWager: { type: "checkbox", label: "After win, increase max wager", value: false },
  22. resetMaxWager: { type: "checkbox", label: "After cycle end, reset max wager", value: false },
  23. increaseMaxBetAtWin: { type: "checkbox", label: "Increase Bet on win", value: false },
  24.  
  25. increaseOnBetWith: { label: "Place static bet", type: "balance", value: 100 },
  26.  
  27. baseBet: { label: "Base bet", type: "balance", value: 100 },
  28. resetBetTo: { label: "Bet Reset To", type: "balance", value: 300 },
  29. increaseTargetEveryX: { type: "multiplier", label: "increaseTargetEveryX", value: 5 },
  30. multiplierTargetX: { type: "multiplier", label: "multiplierTargetX", value: 0 },
  31. increaseBaseTargetAtWin: { type: "checkbox", label: "Increase Target after you have won", value: false },
  32.  
  33.  
  34. increaseBaseBetAtWin: { type: "checkbox", label: "After win, increase baseBet on 1 bit", value: false },
  35.  
  36. increaseAfterX: { type: "number", label: "Increase after 14 times of placed bet (in total iteration, not more than baseTarget)", value: 14 },
  37.  
  38. onWinVariationAdd: { type: "number", label: "Power of variation add", value: 1 },
  39.  
  40. };
  41.  
  42. /* AntiScript Evolved! 2.0v */
  43. /* Author of this script Ruzli#7111, my email is ruzli999@gmail.com */
  44.  
  45. /* SECTOR - 1 - Betting */
  46. const baseBet = config.baseBet.value; // Starting Bet, in satoshi. 100 = 1 BITS
  47. const increaseOnBetWith = config.increaseOnBetWith.value; // Also in satoshi to specified on how much add bits (100 satoshi = 1 bits), after reach increaseAfterX iteration.
  48.  
  49. const increasePercent = config.increasePercent.value; // Increase by multiply bet * increasePercent after reach maximum value specified in percentAfterBet.
  50. var resetBetAtX = config.resetBetAtX.value; // Limit Wager and bet (in BITS), divisions multiplier apply to resetBetAtX too
  51. if (config.increaseOnBetWith.value > config.resetBetAtX.value){
  52. resetBetAtX = config.increaseOnBetWith.value
  53. }
  54. const increasePercentStop = config.increasePercentStop.value; // After what bet should percent stop increase next bet
  55.  
  56. var resetBetTo = config.resetBetTo.value; // After skipping and resetting bet, set bet in satoshi(100 = 1 bits)
  57.  
  58. if (config.resetBetTo.value == 100 && config.baseBet.value == 100){
  59. if (resetBetTo == config.baseBet.value){ resetBetTo = baseBet }
  60. }
  61.  
  62. /* SECTOR - 2 - Target */
  63.  
  64. var baseTarget = config.baseTarget.value; // Target multiplier
  65. var targetMax = config.targetMax.value
  66.  
  67. if (config.baseTarget.value > config.targetMax.value){
  68. //targetMax = config.baseTarget.value;
  69. //baseTarget = config.targetMax.value
  70. }
  71.  
  72. const increaseAfterX = config.increaseAfterX.value; // Increase after 14 times of placed bet (in total iteration, not more than baseTarget)
  73. const percentAfterBet = config.percentAfterBet.value; // Start multiply percent after reach bet
  74. const targetIncrease = config.targetIncrease.value; // Increase multiplier at loss conditions, can be set to 0 to disable feature
  75.  
  76. /* SECTOR - 3 - Mods */
  77.  
  78. const pausePerBetMilliseconds = 1
  79.  
  80. const increaseBaseBetAtWin = config.increaseBaseBetAtWin.value; // After win, increase baseBet on 1 bit
  81. const increaseBaseTargetAtWin = config.increaseBaseTargetAtWin.value; // Increase Target after you have won
  82. const dividerWinTarget = 1 // Divide multiplier for target after win conditions
  83. const divisions = 1; // Bet multiplier with same count to 15x
  84. const ResetBetAtWin = config.ResetBetAtWin.value; // Reset bet after hitting bet
  85.  
  86. /* SECTOR - 6 - Random bets */
  87.  
  88. const rndBets = false;
  89. const rndBaseBet = 1000;
  90. const rndPlaceEveryX = 14;
  91. const rndBaseTarget = 1.5;
  92.  
  93. /* SECTOR - 7 - Seed Management */
  94.  
  95. const NewSeedAtWin = false;
  96. const changeSeedAfterY = 9000;
  97. const placeSeed = 2000;
  98. const consecutiveWinReset = false
  99.  
  100. var engine = this;
  101.  
  102. let _increaseAfterX = increaseAfterX, _increasePercent = increasePercent;
  103. let consecutiveLosses = 0, target = baseTarget, net_profit = 0, bet = baseBet, betCount = 0, rndCount = 0, flagged = 0;
  104. let profit = 0, targetCount = 0, isX = 0, added_winning_bet = 0;
  105.  
  106. var current_balance = this.balance
  107.  
  108. while (true) { // Starts main game loop
  109. betCount++;
  110. rndCount++;
  111. targetCount++;
  112.  
  113. if (config.autoStop.value){
  114. if (this.balance <= current_balance - config.dontLoseThan.value || this.balance > current_balance + config.TargetProfit.value) {
  115. this.log(`Auto stopping triggered!`)
  116. this.stop()
  117. }
  118. }
  119. if (betCount % changeSeedAfterY == 0 && betCount != 0) {
  120. if (changeSeedAfterY != 0) { if (flagged == 0) await generateSeed(); }
  121. }
  122.  
  123. if (targetCount == config.increaseTargetEveryX.value && config.multiplierTargetX.value != 0) {
  124. target = target * config.multiplierTargetX.value;
  125. targetCount = 0;
  126. }
  127.  
  128. if (bet / 100 > percentAfterBet) { // Checking if our bet has reached point to start multiply process.
  129. if (bet / 100 < increasePercentStop) {
  130. bet = Math.round((bet / 100) * _increasePercent) * 100;
  131. }
  132. }
  133.  
  134. let tbet = 0;
  135. if (divisions > 1) {
  136. tbet = bet * divisions;
  137. };
  138.  
  139. if (tbet == 0) { tbet = bet }
  140.  
  141. if (tbet > resetBetAtX) { tbet = resetBetAtX; }
  142.  
  143. if (rndBets == true && rndCount == rndPlaceEveryX) {
  144. await this.bet(betSize(rndBaseBet), rndBaseTarget);
  145. rndCount = 0;
  146. }
  147.  
  148. const { multiplier } = await this.bet(betSize(tbet), target); // Place bet, can be used in parallex mode with threadings.
  149. this.clearLog();
  150. //this.log(`Current balance ${this.balance / 100} bits`);
  151. this.log(`Auto Stop: LOSS: ${(current_balance - config.dontLoseThan.value) / 100} bits | PROFIT: ${(current_balance + config.TargetProfit.value) / 100} bits`)
  152. await checkConditions(this.balance);
  153.  
  154. if (pausePerBetMilliseconds != 0) await sleep(pausePerBetMilliseconds) // Slow down script if necessary.
  155.  
  156. if (multiplier < target) { // LOSS
  157. consecutiveLosses++;
  158.  
  159. if (targetIncrease != 0) {
  160. target += targetIncrease
  161.  
  162. if (config.baseTarget.value > config.targetMax.value){
  163. if (config.baseTarget.value <= target || config.targetMax.value > target) {
  164. target = config.baseTarget.value
  165. }
  166. } else {
  167. if (target >= targetMax) {
  168. target = baseTarget
  169. }
  170. }
  171.  
  172. } else {
  173. target = config.baseTarget.value;
  174. }
  175.  
  176. profit = profit + bet; // Fix value to do in future calculations on profit.
  177. //await this.log(`Stats: ${profit / 100} bits lost at the moment.`);
  178. //await this.log(`Lost consecutive bet #${consecutiveLosses}`);
  179.  
  180. if (consecutiveLosses > _increaseAfterX) { consecutiveLosses++;
  181. if (bet / 100 == 1) { consecutiveLosses = 0; }
  182. }
  183.  
  184. if (consecutiveLosses * (bet / 100) >= target) {
  185. bet += increaseOnBetWith;
  186. switch (bet / 100) {
  187. case 1:
  188. _increaseAfterX = 13 // 14 times
  189. break;
  190. case 2:
  191. _increaseAfterX = 7 // 7 times
  192. break;
  193. case 3:
  194. _increaseAfterX = 5 // 5 times
  195. break;
  196. case 4:
  197. _increaseAfterX = 4 // 4 times
  198. break;
  199. case 5:
  200. _increaseAfterX = 3 // 3 times
  201. break;
  202. case 6:
  203. _increaseAfterX = 2 // 2 times
  204. break;
  205. case 7:
  206. _increaseAfterX = 2 // 2 times
  207. break;
  208. case 8:
  209. _increaseAfterX = 2 // 2 times
  210. break;
  211. case 9:
  212. _increaseAfterX = 2 // 2 times
  213. break;
  214. case 10:
  215. _increaseAfterX = 2 // 1 times
  216. break;
  217. case 11:
  218. _increaseAfterX = 2 // 2 times
  219. default:
  220. await this.log("Multiplier calculation enabled");
  221. }
  222.  
  223. if (toBits(bet) > 10) { _increaseAfterX = 2 }
  224. if (toBits(bet) > 26) { _increaseAfterX = 2 }
  225. if (toBits(bet) > 30) { _increaseAfterX = 2 }
  226. if (toBits(bet) > 40) { _increaseAfterX = 2 }
  227. if (toBits(bet) > 15) { _increaseAfterX = 2 }
  228.  
  229. if (bet / 100 > placeSeed && flagged == 0) { // TRIGGER placeSeed
  230. _increaseAfterX = 1;
  231. flagged = 1;
  232. await generateSeed();
  233. }
  234.  
  235. if (bet > resetBetAtX) { // TRIGGER resetBetAtX
  236. bet = resetBetTo;
  237. consecutiveLosses = 0;
  238.  
  239. isX = 0;
  240.  
  241. if (config.resetMaxWager.value){
  242. resetBetAtX = config.resetBetAtX.value
  243.  
  244. }
  245. }
  246.  
  247. if (bet != 100) {
  248. consecutiveLosses = 0;
  249. } else {
  250. consecutiveLosses++
  251. }
  252. }
  253.  
  254. } else { // WIN - conditions when we win.
  255. if (consecutiveWinReset == true) consecutiveLosses = 0;
  256. if (NewSeedAtWin) await generateSeed()
  257. if (config.increaseMaxBetAtWin.value){
  258. added_winning_bet = getRandomNumber(1, 3); // default was 1, 3
  259. bet += added_winning_bet * 100
  260. }
  261. sound_loop(8);
  262.  
  263. if (config.increaseMaxWager.value){ resetBetAtX += config.increaseOnAmount.value }
  264.  
  265. net_profit = net_profit + profit;
  266. profit = 0;
  267. betCount = 0;
  268. flagged = 0;
  269. _increasePercent = increasePercent;
  270.  
  271. if (increaseBaseBetAtWin) {
  272. isX++
  273. bet = isX * baseBet;
  274. } else {
  275. if (ResetBetAtWin) {
  276. bet = baseBet;
  277. consecutiveLosses = 0;
  278. }
  279. }
  280.  
  281.  
  282. if (increaseBaseTargetAtWin) {
  283. target = target + (baseTarget / dividerWinTarget);
  284. } else {
  285. target = baseTarget;
  286. }
  287.  
  288. this.log(`Net profit ${Math.round(net_profit) / 100}`);
  289. _increaseAfterX = increaseAfterX;
  290. }
  291. };
  292.  
  293. function betSize(bet) {
  294. return Math.max(100, Math.round((bet) / 100) * 100)
  295. }
  296.  
  297. async function sleep(ms = 0) { return new Promise(resolve => setTimeout(resolve, ms)) };
  298.  
  299. async function generateSeed() {
  300. try {
  301. const { server_seed_hash } = await engine.newSeedPair();
  302. await engine.setClientSeed(server_seed_hash);
  303. }
  304. catch (e) {
  305. engine.log(`Client seed already was reset and not used`);
  306. }
  307. };
  308.  
  309. async function sound_loop(sound_number, name) {
  310. let sound_track = [ `cl_hihat`, `claves`, `conga1`, `cowbell`, `hi_conga`, `hightom`, `rimshot`, `snare`, `tom1`, `sc` ];
  311. let url = `https://raw.githubusercontent.com/ruzli/misc/master/`;
  312. let format = `.wav`;
  313. let full_string = url + name + format;
  314.  
  315. if (name != undefined) {
  316. full_string = url + name + format;
  317. } else if (sound_number != undefined) {
  318. full_string = url + sound_track[ sound_number ] + format;
  319. } else {
  320. engine.log(`Sound not found.`);
  321. };
  322. const audio = new Audio(full_string);
  323. await audio.play();
  324. return new Promise(resolve => audio.onended = resolve);
  325. };
  326.  
  327. async function checkConditions(balance) {
  328. if (balance >= config.TargetProfit.value && !config.autoStop.value) {
  329. engine.log(`You reached target profit of ${config.TargetProfit.value / 100}!`);
  330. await engine.stop();
  331. };
  332. if (balance <= config.dontLoseThan.value && !config.autoStop.value) {
  333. engine.log(`Your balance lose limit ${config.dontLoseThan.value / 100}, was reached. Stopping script`);
  334. await engine.stop();
  335. };
  336. };
  337.  
  338. function getRandomNumber(min, max) {
  339. let rnd = Math.ceil((Math.random() * (max - min)) + min) * config.onWinVariationAdd.value
  340. engine.log(rnd)
  341. return rnd
  342. };
  343.  
  344. function toBits(satoshi) {
  345. return satoshi / 100;
  346. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement