Paperclips 游戏自动低价买矿 + 自动营销 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
zungmou
V2EX    分享创造

Paperclips 游戏自动低价买矿 + 自动营销

  •  
  •   zungmou 40 天前 1136 次点击
    这是一个创建于 40 天前的主题,其中的信息可能已经有所发展或是发生改变。

    今天在社区看到 V 友分享了 Paperclips 这个文本游戏网站,粗玩了一下就冲动写了一个外挂,能够实现:

    1. 在资源低于指定额度下,一旦矿价出现近期最低价格则不断买入直到达到额度。
    2. 一旦利润达到营销费用则自动点击营销按钮。

    欢迎增加新功能,这个游戏属于越玩越好玩。

    // 配置对象 const COnFIG= { WIRE_MAX: 100000, PRICE_HISTORY_LENGTH: 100, // 存储最近 100 个价格 PRICE_PREMIUM: 0, // 在最低价基础上加的溢价 INTERVAL: 500, STOP_ON_PROJECT: true }; // 环形缓冲区实现(高效存储历史数据) class PriceRingBuffer { constructor(size) { this.size = size; this.buffer = new Array(size); this.index = 0; this.count = 0; } push(price) { if (typeof price === 'number' && price > 0) { this.buffer[this.index] = price; this.index = (this.index + 1) % this.size; this.count = Math.min(this.count + 1, this.size); } } getMin() { if (this.count === 0) return 15; // 默认值 let min = Infinity; for (let i = 0; i < this.count; i++) { min = Math.min(min, this.buffer[i]); } return min; } getStats() { return { min: this.getMin(), count: this.count, ready: this.count >= 10 // 至少收集 10 个数据点才启用动态定价 }; } } // 初始化价格追踪器 const wirePriceHistory = new PriceRingBuffer(CONFIG.PRICE_HISTORY_LENGTH); // 缓存 DOM 元素 const elements = { wire: document.querySelector('#wire'), wireCost: document.querySelector('#wireCost'), btnBuyWire: document.querySelector('#btnBuyWire'), btnExpandMarketing: document.querySelector('#btnExpandMarketing'), btnMakePaperclip: document.querySelector('#btnMakePaperclip'), projectList: document.querySelector('#projectList'), processors: document.querySelector('#processors'), memory: document.querySelector('#memory'), btnAddProc: document.querySelector('#btnAddProc'), btnAddMem: document.querySelector('#btnAddMem') }; // 安全解析数字(处理各种格式) function parseGameNumber(element) { if (!element) return 0; const text = element.innerText || element.textContent || ''; // 移除逗号、货币符号、单位文字 const cleaned = text.replace(/[,$\s]/g, '').replace(/spool/i, ''); const num = parseFloat(cleaned); return isNaN(num) ? 0 : num; } // 安全点击 function safeClick(button) { if (button && !button.disabled && button.offsetParent !== null) { button.click(); return true; } return false; } // 获取动态价格阈值 function getDynamicPriceThreshold() { const currentPrice = parseGameNumber(elements.wireCost); if (currentPrice > 0) { wirePriceHistory.push(currentPrice); } const stats = wirePriceHistory.getStats(); // 数据不足时使用保守策略 if (!stats.ready) { return 15; } // 动态阈值 = 历史最低价 + 溢价 // 随着游戏进行,价格会上涨,这个策略会自动适应 return stats.min + CONFIG.PRICE_PREMIUM; } // 核心自动化逻辑 function runAI() { // 1. 制造回形针(最高优先级) safeClick(elements.btnMakePaperclip); // 2. 购买线材(动态定价策略) const wireStock = parseGameNumber(elements.wire); const wirePrice = parseGameNumber(elements.wireCost); const priceThreshold = getDynamicPriceThreshold(); if (wirePrice <= priceThreshold && wireStock < CONFIG.WIRE_MAX) { safeClick(elements.btnBuyWire); } // 3. 扩展营销 safeClick(elements.btnExpandMarketing); // 4. 自动购买 AutoClippers (前期核心) const btnBuyAutoclipper = document.querySelector('#btnBuyAutoclipper'); safeClick(btnBuyAutoclipper); // 5. 平衡升级 Processors 和 Memory const procCount = parseGameNumber(elements.processors); const memCount = parseGameNumber(elements.memory); if (memCount < procCount * 2) { safeClick(elements.btnAddMem); } else { safeClick(elements.btnAddProc); } // 6. 项目完成检测 if (CONFIG.STOP_ON_PROJECT && elements.projectList?.innerText.includes('Complete')) { console.log(`已制造 ${parseGameNumber(document.querySelector('#clips'))} 个回形针`); console.log('检测到项目完成,停止自动化'); clearInterval(autowire_int); } } // 启动自动化 const autowire_int = setInterval(runAI, CONFIG.INTERVAL); // 控制台工具函数 window.stopAutowire = () => clearInterval(autowire_int); window.getPriceStats = () => wirePriceHistory.getStats(); console.log('回形针自动化已启动'); console.log('命令:stopAutowire() 停止自动化'); console.log('命令:getPriceStats() 查看价格统计'); 
    目前尚无回复
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2343 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 02:00 PVG 10:00 LAX 18:00 JFK 21:00
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86