Toaster Kitty、 crash ゲームスクリプトは、最初の賭け金の50倍以上の大きな報酬を狙う人向けに設計されています。最初の支払い額を設定し、損失と最小利益の設定を調整できます。スクリプトはそこからプロセスを自動化します。 BC.Game フォーラム、動作するようにリファクタリングされました。
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; } }
それを分析して利益を最大化できるようにしてみましょう。
初期設定
- 終了ポイント最小値(支払い): 88 倍 (これが目標乗数です。この乗数に達する前にキャッシュアウトすることを目指します。)
- 支払いを増やす: 0.05 (負けるたびに、目標乗数がこの量だけ増加します。)
- 勝利時の最低利益: $0.01 (勝利ごとに最低 $0.01 の利益を確保します。)
- 紛失したコイン >: 1 (失われたコインの合計が 1 ドルを超えると停止します。)
- 勝利 =: 1 (1勝したら終了)
この設定を踏まえて、スクリプトが示唆するように、損失後に戦略を適用する実際の例に進みましょう。
ステップ1: 初期ベットを計算する
- 基本ベットは、勝利で最低限必要な利益をカバーできるように決定されます。配当が 88 倍で、少なくとも $0.01 の利益が欲しい場合:
わかりやすくするために、この例ではこれを 0.00011 ドルに丸めます。
ステップ2: プレイを開始する
88 倍の乗数を目指して、$0.00011 の賭けから始めます。
ステップ3: 損失後の調整
スクリプトは、損失後に新しい賭け金を計算し、損失と最小利益を確実にカバーします。損失後の計算では、失われたコインの合計と新しい目標乗数が考慮されます。
最後の結果が負けだった場合、スクリプトは次の式を使用して賭け金を調整します。
New Bet = (Coin Lost+Minimum Profit) / (Current Multiplier−1)
最初の損失を考慮して、これらの調整が実際の数値でどのように見えるかを分析してみましょう。これまでに失ったコインが $0.00011 (最初の賭け金の金額) であると仮定し、損失後の増加により目標乗数を 88.05 倍に調整します。
ステップ4: 最初の損失後の新しい賭け金の計算
失ったコインの合計がまだ最初の賭け金($0.00011)だけであると仮定し、それを取り戻すだけでなく、次の勝利で最低限の利益を確保したいとします。この場合、乗数は 88.05 に増加します。
New Bet = (0.00011+0.01) / (88.05−1)
新しい賭け金を計算してみましょう:
New Bet = 0.01011 / 87.05 ≈ 0.0001161
したがって、次の賭け金はおよそ $0.00012 (簡単にするために切り上げ) となり、乗数は 88.05 倍になります。
ステップ5: 戦略の継続
- 勝利次のゲームで目標乗数以上で勝った場合は、賭け金を元の基本賭け金 ($0.00011) と目標乗数 (88 倍) にリセットします。
- さらなる損失: 再度負けた場合は、失ったコインの合計を更新して計算プロセスを繰り返し、目標乗数を再度 0.05 調整します。
正確なロジック
この戦略は、負けた後に、損失額と最低限の利益をカバーできる程度に賭け金を増やし、毎回目標乗数を少しずつ上方修正して、わずかに高いリターンを目指すというものです。これにより、損失からの回復と、小さいながらも一貫した利益の達成との間でバランスを取ることができます。
賭け金の大きな乗数を目標としているにもかかわらず、スクリプトに概説されている戦略は適度な利益を目指しています。
利益を最適化する
リスク管理に留意しながら、持続可能性の向上とより大きな乗数を達成する合理的なチャンスを目指すバランスの取れた戦略の構成を最適化するには、構成を調整しましょう。
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 };
調整の説明
- 終了ポイントの最小値(支払い): 引き下げ
2.5x
から88x
この目標は達成しやすく、より頻繁に勝利を収めることができるため、損失から回復し、時間をかけて利益を蓄積する戦略にとって非常に重要です。 - 支払いを増やす: 調整済み
0.02x
、から下0.05x
負けた後の増分が小さくなるため、目標乗数を増やすためのアプローチが緩やかになります。負けた後に必要な勝利目標を急激に増やさないことで、資金をより効果的に管理するのに役立ちます。 - 勝利時の最低利益: 残りは
$0.01
、勝つたびに最低限の利益を確保するという目標を維持します。これにより、戦略は一貫した増分利益を目指すことを保証します。 - 失われたコイン(ストップロス): に設定
0.5
(これはプレイヤーの総資金に基づくプレイヤーの資金の妥当な部分であると仮定します)。これは、大きな損失を防ぐことでリスクを管理するのに役立つ、より保守的なストップロス設定です。 - 勝利(利益確定): 増加
3 wins
一時停止または停止する前に、明確な利益確定戦略を立て、利益の回収と戦略の再評価が可能になります。
最悪のシナリオ、つまり、合計損失限度の 0.5 に達するまですべてのゲームで負けるというシナリオに着目すると、停止条件に達するまでに最大 64 ゲームをプレイできる可能性があります。この計算では、各負けの後に、以前の損失を補填して最低限の利益を確保するために賭け金をわずかに増やすことを想定しています。戦略のロジックに従いますが、各ゲームの結果に基づいて賭け金を明示的に再計算することはありません。
したがって、結果を最適化するには、初期設定を調整することが推奨されます。現在の設定は、単純な戦略を提供する一方で、ストップロスに達する前にプレイできる量のリスクが高く、ゲームあたりの最大勝利額が比較的控えめであることを示しています。勝ちと負けの両方の可能性をより効果的にバランスさせることで、より持続可能な戦略につながり、ゲームの楽しさと収益性の両方が向上する可能性があります。