get paid to paste

CUnleash

// ==UserScript==
// @name         CUnleash
// @namespace    http://tampermonkey.net/
// @version      7.2
// @description  Unleash your cookie potential.
// @author       petar105
// @match        https://orteil.dashnet.org/cookieclicker/
// @icon         https://www.google.com/s2/favicons?domain=dashnet.org
// @grant        none
// ==/UserScript==


// If editing the script, ignore any "Game is not defined" warnings
// Script is a mix of original code and other addons

function tapNews() { if (Game.TickerEffect && Game.TickerEffect.type == 'fortune') { Game.tickerL.click(); } }

setInterval(function () { tapNews(); }, 3000);
(function() {
  'use strict';

  let state = true; // initial state is ON
  let intervalId;

  document.addEventListener('keydown', function(event) {
    if (event.code === 'KeyX') {
      state = !state; // toggle state
      if (state) {
        // code to run when state is ON
        console.log('State is ON');
        startAutoClicker();
      } else {
        // code to run when state is OFF
        console.log('State is OFF');
        stopAutoClicker();
      }
    }
  });

  function startAutoClicker() {
    console.log('Auto-clicker started');
    Game.Notify(`Auto clicker ON`,`Press X to toggle`,[0,35],false);
    intervalId = setInterval(function() { Game.ClickCookie(); }, 4);
  }

  function stopAutoClicker() {
    console.log('Auto-clicker stopped');
    Game.Notify(`Auto clicker OFF`,`Press X to toggle`,[0,35],false);
    clearInterval(intervalId);
  }

  // Wait for the Game object to be defined, then start the auto-clicker
  const waitIntervalId = setInterval(function() {
    if (typeof Game !== 'undefined') {
      clearInterval(waitIntervalId);
      startAutoClicker();
    }
  }, 1000);
})();


setInterval(function() {
    Game.shimmers.forEach(function(shimmer)
    {
        if(shimmer.type == "golden" && shimmer.wrath == 0)
        {
            shimmer.pop()
        }
    })
}, 500);

var autoReindeer = setInterval(function() { for (var h in Game.shimmers){if(Game.shimmers[h].type=="reindeer"){Game.shimmers[h].pop();}} }, 100);



var autoPopTwelveth = setInterval(function() {
    var wrinkCount = 0,
        wrinkEaten = 0,
        wrinkIndex = 10; // value for 10 shinies test

    for (var i in Game.wrinklers) {
        // count number of eating wrinks
        if (Game.wrinklers[i].sucked > 0) {
            wrinkCount += 1;
        }
        // find top wrink index, ignoring shiny wrinklers
        if (Game.wrinklers[i].sucked > wrinkEaten && Game.wrinklers[i].type == 0) {
            wrinkEaten = Game.wrinklers[i].sucked;
            wrinkIndex = i;
        }
    }
    // pop top wrinkler if 10 eating, unless all 12 are shiny
    if (wrinkCount == 10 && wrinkIndex != 10) {
        Game.wrinklers[wrinkIndex].hp = 0;
    }
}, 60000);

setTimeout(function() {
  Game.LoadMod("https://cookiemonsterteam.github.io/CookieMonster/dist/CookieMonster.js");
}, 200); // Don't load Cookie Monster parallel with the game, CM loads but the game gets stuck

setTimeout(function() {
  Game.LoadMod("https://rawgit.com/yannprada/cookie-garden-helper/master/cookie-garden-helper.js");
}, 400); // Same goes for Cookie Garden Helper


setTimeout(function() {


        // Announce transactions in game notifications
        const stockerTransactionNotifications = true

        // Make regular profit reports
        const stockerActivityReport = true
            // How often to make regular reports in ms (one hour by default)
            const stockerActivityReportFrequency = 1000 * 60 * 60

        // Make game notifications fade away on their own
        const stockerFastNotifications = false

        // Use console.log for more detailed info on trends
        const stockerConsoleAnnouncements = true

        // Logic loop frequency; do not touch it unless you are cheating.
        const stockerLoopFrequency = 1000 * 30

        // The cheat itself. Rolls the cycle every time logic loop triggers
        const stockerForceLoopUpdates = false

        const stockerGreeting = 'click clack you are now in debt'

// ===================================================================================



if (!stockList) {
    var stockList = {
        check: 'dump eet',
        goods: [],
        sessionStart: new Date(),
        sessionProfits: 0,
        sessionPurchases: 0,
        sessionSales: 0,
        stocksRising: 0
    }
}

var modeDecoder = ['stable','slowly rising','slowly falling','rapidly rising','rapidly falling','fluctuating'] // meanings of each market trend (good.mode)
var goodIcons = [[2,33],[3,33],[4,33],[15,33],[16,33],[17,33],[5,33],[6,33],[7,33],[8,33],[13,33],[14,33],[19,33],[20,33],[32,33],[33,33],[34,33]];

function stockerTimeBeautifier(duration) {
    var milliseconds = Math.floor((duration % 1000) / 100),
      //seconds = Math.floor((duration / 1000) % 60),
      minutes = Math.floor((duration / (1000 * 60)) % 60),
      hours = Math.floor((duration / (1000 * 60 * 60))); //% 24),
      //days = Math.floor((duration / (1000 * 60 * 60 * 24)));

    if (hours > 0) {
        if (hours == 1) {
            hours = hours + ' hour'
        }
        else hours = hours + ' hours'
    }
    else hours = -1;

    if (minutes >= 1) {
        minutes = (minutes == 1) ? minutes + ' minute' : minutes + ' minutes';
    }
    else minutes = -1;

    if ((hours != -1) && (minutes != -1)) { return hours + ' and ' + minutes;   }
    else if ((hours == -1) && (minutes != -1)) {    return minutes; }
    else if ((hours != -1) && (minutes == -1)) {    return hours;   }
    else if ((hours == -1) && (minutes == -1)) {    return 'not that long actually';    }
}


setTimeout(function waitForGame() {
    if (typeof Game === 'object' && Game.ready) {


Game.registerMod("gincookistocker",{
    init:function(){

        this.startStocking();
    },
    startStocking:function(){
        if (!Game.ObjectsById[5].minigame) {
            console.log('=====$$$== Stock Market minigame has not initialised yet! Will try again in 500ms.');
            setTimeout(() => {
                this.startStocking();
            },500);
            return
        }
        else {
            console.log('=====$$$== CookiStocker logic loop initialised at ' + new Date());
            console.log('=====$$$== With main options as follows:')
            console.log('=====$$$== Logic loop frequency: ' + stockerTimeBeautifier(stockerLoopFrequency))
            console.log('=====$$$== Report frequency: ' + stockerTimeBeautifier(stockerActivityReportFrequency))
            console.log('=====$$$== Cheating: ' + stockerForceLoopUpdates)
            Game.Notify(`CookiStocker is ready`,stockerGreeting,[1,33],false);
            console.log(stockList.check);
        }

        var market = Game.ObjectsById[5].minigame.goodsById;    // read market
        console.log('Reading the market:');
        stockList.startingProfits = Game.ObjectsById[5].minigame.profit;
        for (let i = 0; i < market.length; i++){
            stockList.goods.push({
                name: market[i].name,
                stock: market[i].stock,
                restingPrice: 10*(i+1) + Game.ObjectsById[i].level - 1,
                currentPrice: market[i].val,
                mode: market[i].mode,
                lastMode: market[i].mode,
                priceBought: -1,
            });
            console.log('Stock: ' + market[i].name + ' Status: ' + modeDecoder[market[i].mode]);
        }

        if (stockerActivityReport) {
            var stockerReportInterval = setInterval(function() {
                var stockerUptime = new Date() - stockList.sessionStart;
                if ((stockList.sessionPurchases + stockList.sessionSales) == 0) {
                    Game.Notify(
                        'CookiStocker report',
                        'This session has been running for ' + stockerTimeBeautifier(stockerUptime) +
                        ', but no good investment opportunities were detected! Luck is not on our side, yet.'
                        ,[26,7],stockerFastNotifications
                    );
                } else {
                    Game.Notify(
                        'CookiStocker report',
                        'This session has been running for ' + stockerTimeBeautifier(stockerUptime) +
                        ', and has made ' + stockList.sessionProfits.toFixed(0) +
                        '$ in ' + stockList.sessionPurchases + ' purchases and ' + stockList.sessionSales + ' sales.'
                        ,[26,7],stockerFastNotifications
                    );
                }
            },stockerActivityReportFrequency);
        }

        var stockerLoop = setInterval(function() {

            if (stockerForceLoopUpdates) Game.ObjectsById[5].minigame.tick();
                // setting stockerForceLoopUpdates to true will make the logic loop force the market to tick every time it triggers,
                // making this an obvious cheat, and i will personally resent you.

                // but
                // if you backup your save and set stockerLoopFrequency to like 10 milliseconds it looks very fun and effective.
                // yes, this is how i made the gif on the steam guide page.


            stockList.stocksRising = 0;

            market = Game.ObjectsById[5].minigame.goodsById;    // update market
            for (let i = 0; i < market.length; i++){
                //let i = 3;

                // update stockList
                stockList.goods[i].stock = market[i].stock;
                stockList.goods[i].currentPrice = market[i].val;
                stockList.goods[i].mode = market[i].mode;

                let md = stockList.goods[i].mode;
                let lmd = stockList.goods[i].lastMode;

                if (
                    (md != lmd) && (Game.ObjectsById[i+2].amount > 0)   // new trend detected in a stock that is active
                )
                {
                    if (stockerConsoleAnnouncements) {
                        console.log(stockList.goods[i].name + ' has changed the mode from [' + modeDecoder[lmd] + '] to [' + modeDecoder[md] + ']');
                    }

                    if (lmd != 5 && md == 5) {  // ignore unstable stocks
                        if (stockerTransactionNotifications) Game.Notify(stockList.goods[i].name + ' went unstable','Ignoring the stock for a time',[1,33],stockerFastNotifications);
                    }

                    if (    // buy conditions
                        (
                            (lmd == 2) && ((md !=4) && (md!=5)) ||  // slow fall stopped
                            (lmd == 4) && ((md !=2) && (md!=5)) ||  // fast fall stopped
                            (lmd == 5) && ((md !=2) && (md!=4))     // chaotic stopped
                        )
                        &&
                        (stockList.goods[i].currentPrice < stockList.goods[i].restingPrice) // only if the price is lower than resting price
                    )
                    {
                        // buying
                        stockList.goods[i].priceBought = stockList.goods[i].currentPrice;
                        Game.ObjectsById[5].minigame.buyGood(i,10000);
                        stockList.sessionPurchases++;
                        if (stockerTransactionNotifications) Game.Notify('Buying ' + stockList.goods[i].name,'The price has stopped ' + modeDecoder[stockList.goods[i].lastMode] + ' at ' + Math.floor(stockList.goods[i].priceBought) + '$ per unit, and is ' + modeDecoder[stockList.goods[i].mode] + ' now.',goodIcons[i],stockerFastNotifications);
                        if (stockerConsoleAnnouncements) console.log('=====$$$== Buying '+ stockList.goods[i].name);
                    }

                    if (    // sell conditions
                        (stockList.goods[i].stock > 0)  // only if the stock is present
                        &&
                        (
                            (lmd == 1) && ((md !=3) && (md!=5)) ||  // slow rise stopped
                            (lmd == 3) && ((md !=1) && (md!=5)) ||  // fast rise stopped
                            (lmd == 5) && ((md !=1) && (md!=3))     // chaotic stopped
                        )
                        && (stockList.goods[i].currentPrice > stockList.goods[i].priceBought)   // only if the price is higher than the price it was bought at
                    )
                    {
                        // selling
                        stockList.goods[i].priceBought = -1;
                        Game.ObjectsById[5].minigame.sellGood(i,10000);
                        stockList.sessionSales++;
                        if (stockerTransactionNotifications) Game.Notify('Selling ' + stockList.goods[i].name,'At a profit of ' + Math.floor(stockList.goods[i].currentPrice - stockList.goods[i].priceBought) + '$ per unit (total ' + Math.floor(stockList.goods[i].currentPrice - stockList.goods[i].priceBought)*stockList.goods[i].stock + '$ profit), and is ' + modeDecoder[stockList.goods[i].mode] + ' now.',goodIcons[i],stockerFastNotifications);
                        if (stockerConsoleAnnouncements) ('=====$$$== Selling '+ stockList.goods[i].name +' at a profit of ' + (stockList.goods[i].currentPrice - stockList.goods[i].priceBought).toFixed(2));

                    }

                    stockList.sessionProfits = Game.ObjectsById[5].minigame.profit - stockList.startingProfits;
                    stockList.goods[i].lastMode = stockList.goods[i].mode   // update last mode
                }
            }
        },stockerLoopFrequency);
    },
});

}
else setTimeout(waitForGame,100)
})
}, 700); // CookiStocker is really fucking glitchy, I don't know why

Pasted: Feb 3, 2024, 11:55:15 am
Views: 1,820