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; } }
Давайте попробуем проанализировать его и попытаться максимизировать его прибыль.
Начальная конфигурация
- Минимальная точка выхода (выплата): 88x (Это ваш целевой множитель. Вы стремитесь обналичить деньги до достижения этого множителя.)
- Увеличение выплаты: 0,05 (Каждый раз, когда вы проигрываете, вы увеличиваете целевой множитель на эту сумму.)
- Минимальная прибыль от победы: 0,01 доллара США (вы хотите обеспечить минимальную прибыль в размере 0,01 доллара США за каждый выигрыш.)
- Потерянные монеты >: 1 (Остановитесь, если общая сумма потерянных монет превысит 1 доллар.)
- Победы =: 1 (Остановка после 1 победы.)
Учитывая эту настройку, давайте перейдем к реальному примеру, применив стратегию после проигрыша, как предполагает сценарий.
Шаг 1: Рассчитайте начальную ставку
- Базовая ставка определяется таким образом, чтобы выигрыш покрыл минимальную желаемую прибыль. Учитывая, что выплата составляет 88x, и вы хотите получить прибыль не менее 0,01 доллара:
Для простоты давайте округлим это значение до 0,00011 доллара США для нашего примера.
Шаг 2: Начните играть
Вы начинаете со ставки в размере 0,00011 доллара США с целью получения множителя 88x.
Шаг 3. Приспособьтесь после проигрыша
Скрипт рассчитывает новую ставку после проигрыша, чтобы обеспечить покрытие убытков плюс минимальную прибыль. При расчете после проигрыша учитывается общее количество потерянных монет и новый целевой множитель.
Если последний результат был проигрышным, скрипт использует следующую формулу для корректировки ставки:
New Bet = (Coin Lost+Minimum Profit) / (Current Multiplier−1)
Давайте разберем, как выглядят эти корректировки, на реальных цифрах, принимая во внимание первоначальные потери. Предположим, что потерянная монета на данный момент составляет 0,00011 доллара США (сумма первой ставки), и мы корректируем наш целевой множитель до 88,05x из-за увеличения после проигрыша.
Шаг 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,05x.
Шаг 5: Продолжение стратегии
- Победа: если в следующей игре выигрыш достигнет целевого множителя или превысит его, сбросьте свою ставку до исходной базовой ставки (0,00011 доллара США) и целевого множителя (88x).
- Дальнейшие потери: Если вы снова проиграете, повторите процесс расчета с обновленными общими суммами потерянных монет и снова скорректируйте целевой множитель на 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 игр, прежде чем достигнете условия остановки. Этот расчет предполагает, что после каждого проигрыша ставка немного увеличивается, пытаясь покрыть предыдущие потери и обеспечить минимальную прибыль, следуя логике стратегии, но без явного перерасчета ставки на основе результата каждой игры.
Таким образом, для оптимизации результатов действительно рекомендуется корректировать первоначальную конфигурацию. Текущая установка, хотя и обеспечивает простую стратегию, указывает на высокий риск возможного количества игры до достижения стоп-лосса, наряду с относительно скромным максимальным выигрышем за игру. Более эффективное балансирование потенциала побед и поражений может привести к более устойчивой стратегии, потенциально увеличивая как удовольствие, так и прибыльность игры.