Toaster Kitty, un crash scénario de jeu, est conçu pour ceux qui visent une récompense substantielle, potentiellement supérieure à 50 fois la mise initiale. Vous définissez votre paiement initial et pouvez ajuster les paramètres de pertes et de profit minimum. Le script automatise le processus à partir de là. Il a été tiré du BC.Game forums, et a été refactorisé pour le faire fonctionner.
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; } }
Essayons de l'analyser et tentons de maximiser son profit.
Configuration initiale
- Minimum de point de sortie (paiement): 88x (Il s'agit de votre multiplicateur cible. Vous visez à encaisser avant ce multiplicateur.)
- Augmenter le paiement: 0,05 (Chaque fois que vous perdez, vous augmentez votre multiplicateur cible de ce montant.)
- Bénéfice minimum sur victoire: 0,01 $ (Vous souhaitez assurer un profit minimum de 0,01 $ pour chaque gain.)
- Pièces perdues >: 1 (Arrêtez si le total des pièces perdues dépasse 1 $.)
- Victoires =: 1 (Arrêtez après 1 victoire.)
Compte tenu de cette configuration, passons à un exemple réel, appliquant la stratégie après une perte, comme le suggère le script.
Étape 1 : Calculer la mise initiale
- La mise de base est déterminée de manière à ce qu'un gain couvre le profit minimum souhaité. Étant donné que le paiement est de 88x et que vous souhaitez un bénéfice d'au moins 0,01 $ :
Pour plus de simplicité, arrondissons ce chiffre à 0,00011 $ pour notre exemple.
Étape 2 : Commencez à jouer
Vous commencez avec une mise de 0,00011 $ visant un multiplicateur de 88x.
Étape 3 : Ajuster après une perte
Le script calcule un nouveau pari après une perte pour garantir la couverture des pertes plus le profit minimum. Le calcul après une perte prend en compte le total des pièces perdues et le nouveau multiplicateur cible.
Si le dernier résultat était une perte, le script utilise la formule suivante pour ajuster la mise :
New Bet = (Coin Lost+Minimum Profit) / (Current Multiplier−1)
Décomposons à quoi ressemblent ces ajustements avec des chiffres réels, en tenant compte d'une perte initiale. En supposant que la pièce perdue jusqu'à présent soit de 0,00011 $ (le montant du premier pari), et nous ajustons notre multiplicateur cible à 88,05x en raison de l'augmentation après une perte.
Étape 4 : Calculer une nouvelle mise après la première perte
En supposant que le total de pièces perdu ne correspond qu'à la mise initiale (0,00011 $) et que vous souhaitiez non seulement le récupérer, mais également garantir le profit minimum sur le prochain gain, avec le multiplicateur augmenté désormais à 88,05 :
New Bet = (0.00011+0.01) / (88.05−1)
Calculons la nouvelle mise :
New Bet = 0.01011 / 87.05 ≈ 0.0001161
Ainsi, votre prochain pari devrait être d'environ 0,00012 $ (arrondi pour plus de simplicité) dans le but d'obtenir un multiplicateur de 88,05x.
Étape 5 : Poursuivre la stratégie
- Gagnant: Si le prochain jeu gagne au niveau ou au-dessus du multiplicateur cible, réinitialisez votre mise à la mise de base d'origine (0,00011 $) et au multiplicateur cible (88x).
- Pertes supplémentaires: Si vous perdez à nouveau, répétez le processus de calcul avec les totaux mis à jour pour les pièces perdues et ajustez à nouveau le multiplicateur cible de 0,05.
Logique précise
Cette stratégie consiste à augmenter votre mise juste assez après une perte pour couvrir le montant perdu plus un profit minimum, en ajustant légèrement le multiplicateur cible à la hausse à chaque fois pour viser des rendements légèrement plus élevés. Cela crée un équilibre entre la récupération des pertes et la réalisation de bénéfices constants, quoique modestes.
Même si le pari vise un multiplicateur important, la stratégie décrite dans le script vise un profit modéré.
Optimiser le profit
Pour optimiser la configuration en vue d'une stratégie équilibrée visant une meilleure durabilité et une chance raisonnable d'atteindre des multiplicateurs plus importants, tout en étant également attentif à la gestion des risques, ajustons la configuration :
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 };
Explication des ajustements
- Minimum de points de sortie (paiement) : Abaissé à
2.5x
depuis88x
. Cet objectif est plus réalisable, permettant des gains plus fréquents, ce qui est crucial pour une stratégie qui consiste à se remettre des pertes et à accumuler des bénéfices au fil du temps. - Augmenter le paiement : Ajusté à
0.02x
, en bas de0.05x
. Cette augmentation plus petite après chaque perte permet une approche plus progressive pour augmenter le multiplicateur cible. Cela aide à gérer la bankroll plus efficacement en n’augmentant pas trop rapidement l’objectif de gain requis après une perte. - Bénéfice minimum sur victoire : Reste à
$0.01
, en maintenant l'objectif d'assurer un profit minimum à chaque victoire. Cela garantit que la stratégie vise des gains progressifs constants. - Pièces perdues (Stop Loss) : Mis à
0.5
(en supposant qu'il s'agisse d'une partie raisonnable de la bankroll du joueur basée sur ses fonds totaux). Il s'agit d'un paramètre stop-loss plus conservateur qui aide à gérer le risque en évitant des pertes importantes. - Gains (prise de bénéfices) : Augmenté à
3 wins
avant de faire une pause ou de s'arrêter. Cela donne une stratégie claire de prise de bénéfices, permettant la collecte de gains et la réévaluation de la stratégie.
En vous concentrant sur le pire des cas où chaque partie entraîne une perte jusqu'à ce que la limite de perte totale de 0,5 soit atteinte, vous pourriez potentiellement jouer jusqu'à 64 parties avant d'atteindre la condition d'arrêt. Ce calcul suppose qu'après chaque perte, la mise est légèrement augmentée pour tenter de couvrir les pertes précédentes et d'obtenir un profit minimum, en suivant la logique de la stratégie mais sans recalculer explicitement la mise en fonction du résultat de chaque partie.
Ainsi, ajuster la configuration initiale est en effet recommandé pour optimiser les résultats. La configuration actuelle, tout en offrant une stratégie simple, indique un risque élevé pour la quantité de jeu possible avant d'atteindre le stop loss, ainsi qu'un gain maximum par partie relativement modeste. Équilibrer plus efficacement le potentiel de victoires et de défaites peut conduire à une stratégie plus durable, augmentant potentiellement à la fois le plaisir et la rentabilité du jeu.