Jump to content

No longer posting strats


Penthesilea
 Share

Recommended Posts

I'm sorry guys, I am no longer going to post strats to help the community. I have no wish to deal with people who cry about their worthless scripts that have been used and amended over and over by different content creators. Good luck to everyone.

Link to comment
Share on other sites

@SkeleSir I have a Script can I update me This Script plz

var config = {
    betPercentage: {
        label: 'Total percentage of bankroll to bet',
        value: 0.00015,
        type: 'number'
    },
    lossesBeforeMinBet: {
        label: 'Losses before minimum bet (range)',
        value: '10-20',
        type: 'text'
    },
    payout: {
        label: 'Payout',
        value: 3,
        type: 'number'
    },
    bettingPattern: {
        label: 'Betting Pattern',
        value: 'HLHL',
        type: 'text'
    },
    onLoseTitle: {
        label: 'On Loss',
        type: 'title'
    },
    onLoss: {
        label: '',
        value: 'increase',
        type: 'radio',
        options: [{
                value: 1.2,
                label: 'Return to base bet'
            }, {
                value: 'increase',
                label: 'Increase bet by (loss multiplier)'
            }
        ]
    },
    lossMultiplier: {
        label: 'Loss multiplier',
        value: 1.5,
        type: 'number'
    },
    onWinTitle: {
        label: 'On Win',
        type: 'title'
    },
    onWin: {
        label: '',
        value: 'reset',
        type: 'radio',
        options: [{
                value: 'reset',
                label: 'Return to base bet'
            }, {
                value: 'increase',
                label: 'Increase bet by (win multiplier)'
            }
        ]
    },
    winMultiplier: {
        label: 'Win multiplier',
        value: 1.2,
        type: 'number'
    },
    otherConditionsTitle: {
        label: 'Stop Settings',
        type: 'title'
    },
    playOrStop: {
        label: 'Once loss stop reached, continue betting (Martingale counter reset) or stop betting?',
        value: 'reset',
        type: 'radio',
        options: [{
                value: 'stop',
                label: 'Stop betting'
            }, {
                value: 'continue',
                label: 'Continue betting'
            }
        ]
    },
    winGoalAmount: {
        label: 'Stop once you have made this much',
        value: 1000000000,
        type: 'number'
    },
    lossStopAmount: {
         label: 'Stop betting after losing this much without a win.',
        value: 4,
        type: 'number'
    },
    loggingLevel: {
        label: 'Logging level',
        value: 'compact',
        type: 'radio',
        options: [{
                value: 'info',
                label: 'info'
            }, {
                value: 'compact',
                label: 'compact'
            }, {
                value: 'verbose',
                label: 'verbose'
            }
        ]
    }
};

var stop = 0;
var lossesForBreak = 0;
var roundsToBreakFor = 0;
var totalWagers = 0;
var netProfit = 0;
var totalWins = 0;
var totalLoses = 0;
var longestWinStreak = 0;
var longestLoseStreak = 0;
var currentStreak = 0;
var loseStreak = 0;
var numberOfRoundsToSkip = 0;
var currentBet = GetNewBaseBet();
var totalNumberOfGames = 0;
var originalbalance = currency.amount;
var runningbalance = currency.amount;
var consequetiveLostBets = 0;
var lossStopAmountVar = config.lossStopAmount.value;

function main() {
    console.log('Starting martingale...');}

engine.on('GAME_STARTING', function() {
    if (stop) {
        return;
    }
    
    if (numberOfRoundsToSkip > 0) {
        numberOfRoundsToSkip--;
        return;
    }

    if (lossStopAmountVar > 0 && currency.amount < originalbalance - lossStopAmountVar) {
        console.log('You have reached the loss stop amount. Stopping...');
        stop = 1;
        return;
    }

    if (config.winGoalAmount.value && currency.amount >= originalbalance + config.winGoalAmount.value) {
        console.log('You have reached the win goal. Stopping...');
        stop = 1;
        return;
    }

    var bet = Math.round(currentBet / 100) * 100;
    engine.bet(bet, config.payout.value);

    console.log('Betting', bet / 100, 'on', config.payout.value, 'x');

    totalNumberOfGames++;
    totalWagers += currentBet;
});

engine.on('GAME_ENDED', function() {
    var lastGame = engine.history.first();

    if (lastGame.wager) {
        totalWagers -= lastGame.wager;
    }

    if (lastGame.cashedAt) {
        netProfit += lastGame.wager * (lastGame.cashedAt - 1);
        totalWins++;
        currentStreak++;
        loseStreak = 0;
        if (currentStreak > longestWinStreak) {
            longestWinStreak = currentStreak;
        }

        if (config.onWin.value === 'reset') {
            currentBet = GetNewBaseBet();
        } else {
            currentBet *= config.winMultiplier.value;
        }
    } else {
        totalLoses++;
        loseStreak++;
        currentStreak = 0;
        if (loseStreak > longestLoseStreak) {
            longestLoseStreak = loseStreak;
        }

        if (config.onLoss.value === 'reset') {
            currentBet = GetNewBaseBet();
        } else {
            currentBet *= config.lossMultiplier.value;
        }
    }

    runningbalance += (lastGame.cashedAt ? lastGame.wager * (lastGame.cashedAt - 1) : -lastGame.wager);
    engine.emit('TOTAL_WAGER_UPDATE');
});

engine.on('TOTAL_WAGER_UPDATE', function() {
    var averageBetSize = totalWagers / totalNumberOfGames;
    var averageProfit = netProfit / totalNumberOfGames;
    console.log('***', engine.getBalance() / 100, '***', 'Avg Bet:', Math.round(averageBetSize) / 100, 'Total Games:', totalNumberOfGames, 'Net Profit:', Math.round(netProfit) / 100, 'Avg Profit:', Math.round(averageProfit) / 100, '***');
});

function GetNewBaseBet() {
    var returnValue = 0;
    
    // Get the bet percentage based on the current position in the pattern
    var bettingPattern = config.bettingPattern.value.toUpperCase();
    var patternIndex = totalNumberOfGames % bettingPattern.length;
    var betPercentage = (bettingPattern[patternIndex] === 'H') ? config.betPercentage.value : (config.betPercentage.value / 2);
    
    returnValue = runningbalance * (betPercentage / 100);
    
    var percentage = Math.floor(lossesForBreak / roundsToBreakFor * 100);
    
    if (percentage < config.lossesBeforeMinBet.value.split('-')[0]) {
        return Math.max(Math.round(returnValue), 100);
    } else if (percentage >= config.lossesBeforeMinBet.value.split('-')[1]) {
        return Math.max(Math.round(returnValue), 1000);
    } else {
        var minBet = 100;
        var maxBet = 1000;
        var difference = maxBet - minBet;
        var adjustedPercentage = (percentage - config.lossesBeforeMinBet.value.split('-')[0]) / (config.lossesBeforeMinBet.value.split('-')[1] - config.lossesBeforeMinBet.value.split('-')[0]);
        var adjustedBet = Math.round(adjustedPercentage * difference);
        return minBet + adjustedBet;
    }
}

console.log('Starting martingale...');

engine.on('GAME_STARTING', function() {
    console.log('Betting', currentBet / 100, 'bits...');
});

engine.on('GAME_ENDED', function() {
    var lastGame = engine.history.first();
    if (lastGame.cashedAt) {
        console.log('You won', (lastGame.wager * (lastGame.cashedAt - 1)) / 100, 'bits!');
        if (config.playOrStop.value === 'reset') {
            console.log('Resetting losses...');
            lossesForBreak = 0;
            roundsToBreakFor = 0;
            currentStreak = 0;
            numberOfRoundsToSkip = 0;
        }
    } else {
        console.log('You lost', lastGame.wager / 100, 'bits...');
        lossesForBreak += lastGame.wager / 100;
        roundsToBreakFor++;
        if (consequetiveLostBets >= 5) {
            numberOfRoundsToSkip = 2;
        }
        if (consequetiveLostBets >= 10) {
            numberOfRoundsToSkip = 3;
        }
        consequetiveLostBets++;
    }
});

console.log('Betting on', config.payout.value, 'x...');

main();

Link to comment
Share on other sites

  • 2 weeks later...

Hey @Skele question for you man.  This was asked a while back but no one responded to the thread with an answer, but do you happen to know what happened to the limbo global object (lbg)?  It seems there was a breaking change months ago that hasn't been fixed as of today (maybe by design?).  Currently I'm stuck with scraping the UI which is a less than ideal way to capture results and interact with the app.

Link to comment
Share on other sites

You need to be a member in order to leave a comment

Sign up for a new account in our community. It's easy!

Register a new account

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...