Toaster Kitty Script for Crash

Toaster Kitty, A crash spelscript, is bedoeld voor mensen die streven naar een substantiële beloning, mogelijk meer dan 50 keer de initiële inzet. U bepaalt uw initiële uitbetaling en kunt de instellingen aanpassen voor verliezen en minimale winst. Het script automatiseert het proces vanaf daar. Het is afkomstig uit de BC.Game forums, en is opnieuw bewerkt om het te laten werken.

var config = {
  mainTitle: { label: "*** Nubs27's Toaster Kitty ***", type: "title" },
  payout: { label: "Exit Point Minimum", value: 88, type: "number" },
  increase: { label: "Increase Payout", value: 0.05, type: "number" },
  losses: { label: "Minimum Profit on Win", value: 0.01, type: "number" },
  stopTitle: { label: "Stop When", type: "title" },
  stop: { label: "Coins Lost >", value: 1, type: "number" },
  wins: { label: "wins =", value: 1, type: "number" },
};
function main() {
  var isPlaying = false;
  var gamesPlayed = 0;
  var currentGameID = 0;
  var lastResult = "Not Played";
  var lastCrash = 2;
  var prevCashOut = lastCrash;
  var baseBet = config.losses.value / config.payout.value;
  var currentBet = baseBet;
  var lastBet = currentBet;
  var didBet = false;
  var gameInfoLogged = false;
  var scriptHistory = [];
  var updateConsole = false;
  var currentMultiplier = config.payout.value;
  var lastMultiplier = config.payout.value - 0.05;
  var coinLost = 0;
  var wins = 0;
  var losses = 0;
  game.on("GAME_STARTING", function () {
    // set base bet and show initial data log
    if (gamesPlayed < 1) {
      log.info("     Toaster Kitty");
      log.info("     by Nubs27");
      log.info("    ****************");
      baseBet = config.losses.value / config.payout.value;
      if (!Number.isInteger(config.wins.value)) {
        log.info("***** Attention *****");
        log.info("wins = " + config.wins.value + " is NOT valid");
        log.info("Integers ONLY");
        log.info(
          "I could have the script auto round the number, but you like being funny too :)"
        );
        game.stop();
      }
    }
    checkForStops();
    // adjust current bet and multiplier
    if (gamesPlayed < 2 || lastResult === "Won") {
      currentBet = baseBet;
      currentMultiplier = config.payout.value;
      isPlaying = true;
      if (gamesPlayed < 2) {
        log.info(`Played < 2 games`);
      }
      if (lastResult === "Won") {
        log.success(`Won!`);
      }
      log.info(`Current bet: ${currentBet}`);
      log.info(`Current Multiplier: ${currentMultiplier}`);
    }
    // adjust current bet and multiplier
    if (lastResult === "Lost") {
      currentBet = (coinLost + config.losses.value) / (currentMultiplier - 1);
      currentMultiplier = lastMultiplier + config.increase.value;
      log.error(`Lost`);
      log.info(`Current bet: ${currentBet}`);
      log.info(`Current Multiplier: ${currentMultiplier}`);
    }
    // adjust current bet
    if (currentBet < currency.minAmount) {
      currentBet = currency.minAmount;
      log.info(`Current Bet < Min Bet`);
      log.info(`Current bet: ${currentBet}`);
    }
  });
  function checkForStops() {
    if (coinLost > config.stop.value) {
      log.info("Maximum Coin Loss Reached. Script Stopped");
      game.stop();
    }
    if (wins === config.wins.value) {
      log.info("Congratulations");
      log.info("wins goal reached. Script Stopped");
      game.stop();
    }
    currentMultiplier = currentMultiplier * 100;
    currentMultiplier = Math.round(currentMultiplier);
    currentMultiplier = currentMultiplier / 100;
    gamesPlayed++;
    setTimeout(placeBet, 0);
  }
  function placeBet() {
    if (!didBet) {
      game.bet(currentBet, currentMultiplier);
      isPlaying = true;
      didBet = true;
      log.info("    ***********");
    }
    gameInfoLogged = false;
  }
  game.on("GAME_ENDED", function () {
    var lastGame = game.history[0];
    var lastCrash = lastGame.crash / 100;
    currentGameID = lastGame.gameId;
    prevCashOut = lastCrash;
    lastBet = currentBet;
    lastMultiplier = currentMultiplier;
    didBet = false;
    if (!gameInfoLogged) {
      logAllInfo();
    }
  });
  function logAllInfo() {
    if (scriptHistory.push(prevCashOut) > 999) {
      scriptHistory.shift();
    }
    if (isPlaying === true && prevCashOut >= currentMultiplier) {
      var wonAmount = lastBet * currentMultiplier - coinLost;
      lastResult = "Won";
      wins++;
      losses = 0;
      coinLost = config.losses.value;
      log.info("[Game Won] " + wonAmount + " " + currencyName);
    } else if (isPlaying && prevCashOut < currentMultiplier) {
      lastResult = "Lost";
      losses++;
      coinLost = coinLost + lastBet;
    }
    currentGameID = currentGameID.toString();
    if (currentGameID.endsWith("0")) {
      updateConsole = true;
    }
    if (updateConsole) {
      log.info(
        "Amount Lost in search of this Kitty " +
          (coinLost - config.losses.value) +
          " " +
          currency.currencyName
      );
      updateConsole = false;
    }
    gameInfoLogged = true;
  }
}

Laten we proberen het te analyseren en proberen de winst ervan te maximaliseren.

Initiële configuratie

  • Minimum exitpunt (uitbetaling): 88x (Dit is uw doelvermenigvuldiger. Het is de bedoeling dat u vóór deze vermenigvuldiger uitbetaalt.)
  • Verhoog de uitbetaling: 0,05 (Elke keer dat u verliest, verhoogt u uw doelvermenigvuldiger met dit bedrag.)
  • Minimale winst bij winst: $0,01 (U wilt voor elke overwinning een minimale winst van $0,01 garanderen.)
  • Munten verloren >: 1 (Stop als het totale aantal verloren munten hoger is dan $ 1.)
  • Wint =: 1 (Stop na 1 overwinning.)

Laten we, gegeven deze opzet, doorgaan met een echt voorbeeld, waarbij we de strategie toepassen na een verlies, zoals het script suggereert.

Stap 1: Bereken de initiële inzet

  • De basisinzet wordt zo bepaald dat een winst de minimaal gewenste winst dekt. Aangezien de uitbetaling 88x is en u minimaal $ 0,01 winst wilt: Basisinzet=Minimale winstuitbetaling=0.0188

Laten we dit voor het gemak afronden naar $ 0,00011 voor ons voorbeeld.

Stap 2: Begin met spelen

Je begint met een inzet van €0,00011, waarbij je streeft naar een vermenigvuldiger van 88x.

Stap 3: Aanpassen na een verlies

Het script berekent een nieuwe weddenschap na een verlies om ervoor te zorgen dat de verliezen plus de minimale winst worden gedekt. Bij de berekening na verlies wordt rekening gehouden met het totale aantal verloren munten en de nieuwe doelvermenigvuldiger.

Als het laatste resultaat een verlies was, gebruikt het script de volgende formule om de weddenschap aan te passen:

New Bet = (Coin Lost+Minimum Profit) / (Current Multiplier−1)

Laten we eens kijken hoe deze aanpassingen eruit zien met reële cijfers, rekening houdend met een aanvankelijk verlies. Ervan uitgaande dat de tot nu toe verloren munt $ 0,00011 is (het bedrag van de eerste weddenschap), en we passen onze doelvermenigvuldiger aan naar 88,05x vanwege de verhoging na verlies.

Stap 4: Nieuwe weddenschap berekenen na eerste verlies

Ervan uitgaande dat de totale verloren munt nog steeds slechts de initiële inzet is ($0,00011), en je wilt die niet alleen terugkrijgen, maar ook de minimale winst bij de volgende overwinning garanderen, met de verhoogde vermenigvuldiger nu op 88,05:

New Bet = (0.00011+0.01) / (88.05−1) 

Laten we de nieuwe weddenschap berekenen:

New Bet = 0.01011 / 87.05 ≈ 0.0001161

Uw volgende weddenschap zou dus ongeveer $ 0,00012 moeten bedragen (voor de eenvoud naar boven afgerond), waarbij u streeft naar een vermenigvuldiger van 88,05x.

Stap 5: De strategie voortzetten

  • Winnen: Als het volgende spel op of boven de doelvermenigvuldiger wint, reset dan uw inzet naar de oorspronkelijke basisinzet ($0,00011) en doelvermenigvuldiger (88x).
  • Verdere verliezen: Als u opnieuw verliest, herhaalt u het berekeningsproces met bijgewerkte totalen voor verloren munten en past u de doelvermenigvuldiger opnieuw aan met 0,05.

Nauwkeurige logica

Deze strategie is gebaseerd op het verhogen van uw inzet na een verlies, net genoeg om het verloren bedrag plus een minimale winst te dekken, waarbij de doelvermenigvuldiger elke keer iets naar boven wordt aangepast om een ​​iets hoger rendement te behalen. Hierdoor ontstaat er een evenwichtsoefening tussen het herstellen van verliezen en het behalen van consistente, zij het kleine, winsten.

Ondanks dat er een grote vermenigvuldiger voor de weddenschap wordt nagestreefd, streeft de in het script geschetste strategie naar een gematigde winst.

Optimaliseer de winst

Laten we de configuratie aanpassen om de configuratie te optimaliseren voor een evenwichtige strategie die streeft naar betere duurzaamheid en een redelijke kans op het bereiken van grotere multiplicatoren, terwijl we ook rekening houden met risicobeheer:

var config = {
  mainTitle: { label: "*** Nubs27's Toaster Kitty ***", type: "title" },
  payout: { label: "Exit Point Minimum", value: 2.5, type: "number" }, // Adjusted for more achievable targets
  increase: { label: "Increase Payout", value: 0.02, type: "number" }, // Slight increase after each loss for gradual recovery
  losses: { label: "Minimum Profit on Win", value: 0.01, type: "number" }, // Keeping the minimum profit target realistic
  stopTitle: { label: "Stop When", type: "title" },
  stop: { label: "Coins Lost >", value: 0.5, type: "number" }, // Adjusted to a more cautious stop loss value
  wins: { label: "wins =", value: 3, type: "number" }, // Setting a win target for taking profits and pausing
};

Uitleg van aanpassingen

  1. Minimum exitpunt (uitbetaling): Verlaagd tot 2.5x van 88x. Dit doel is beter haalbaar, waardoor er vaker winsten kunnen worden geboekt, wat cruciaal is voor een strategie waarbij het gaat om het herstellen van verliezen en het accumuleren van winsten in de loop van de tijd.
  2. Verhoog de uitbetaling: Aangepast naar 0.02x, naar beneden van 0.05x. Deze kleinere stap na elk verlies maakt een meer geleidelijke aanpak mogelijk om de doelvermenigvuldiger te verhogen. Het helpt bij het effectiever beheren van de bankroll door het vereiste winstdoel na een verlies niet te snel te laten escaleren.
  3. Minimale winst bij winst: Blijft bij $0.01, waarbij het doel wordt gehandhaafd om bij elke overwinning een minimale winst te behalen. Dit zorgt ervoor dat de strategie streeft naar consistente incrementele winsten.
  4. Munten verloren (stopverlies): Instellen op 0.5 (ervan uitgaande dat dit een redelijk deel van de bankroll van de speler is, gebaseerd op zijn totale saldo). Het is een meer conservatieve stop-loss-instelling die helpt risico's te beheersen door grote verliezen te voorkomen.
  5. Overwinningen (winstneming): Toegenomen tot 3 wins voordat u pauzeert of stopt. Dit levert een duidelijke winstnemingsstrategie op, die het verzamelen van winsten en herbeoordeling van de strategie mogelijk maakt.

Als u zich concentreert op een worstcasescenario waarbij elke game resulteert in een verlies totdat de totale verlieslimiet van 0,5 is bereikt, kunt u mogelijk tot 64 games spelen voordat u aan de stopvoorwaarde komt. Bij deze berekening wordt ervan uitgegaan dat na elk verlies de inzet lichtjes wordt verhoogd in een poging de eerdere verliezen te dekken en een minimale winst veilig te stellen, volgens de logica van de strategie, maar zonder de inzet expliciet te herberekenen op basis van de uitkomst van elk spel.


Het aanpassen van de initiële configuratie wordt dus inderdaad aanbevolen om de resultaten te optimaliseren. De huidige opzet biedt weliswaar een eenvoudige strategie, maar duidt op een hoog risico voor de hoeveelheid spel die mogelijk is voordat de stop loss wordt bereikt, naast een relatief bescheiden maximale winst per spel. Door het potentieel voor zowel winst als verlies effectiever in evenwicht te brengen, kan dit leiden tot een duurzamere strategie, waardoor mogelijk zowel het plezier als de winstgevendheid van het spel worden vergroot.