您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Trimps tools (visual)
当前为
// ==UserScript== // @name Trimps tools // @namespace trimps.github.io // @version 1.041 // @description Trimps tools (visual) // @author Anton // @match https://trimps.github.io // @require http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js // ==/UserScript== (function() { 'use strict'; var tAutoBuy, tStyleFix, tPassiveWatcher, $ = jQuery, isStarted = false; var _isPortal = function() { return ($('#portalWrapper:visible').length > 0); } var _getBarWidthPercent = function(barSelector) { return jQuery(barSelector).width() / jQuery(barSelector).parent().width() * 100; } var _log = function(mes, type) { if (typeof type === 'undefined') type = "Story"; message("BOT: " + mes, type); } var _start = function() { clearInterval(tPassiveWatcher); tAutoBuy = setInterval(function() { if (_isPortal()) return; var cnt = _autoUpgrade() + _autoBuy() + _autoJobs(); if (cnt > 0) { tooltip('hide'); } }, 1000); $('#botStart').text('Bot stop'); } var _passiveWatcher = function() { if (_isPortal()) return; if (game.global.buildingsQueue.length > 0 && game.global.autoCraftModifier < 1) { setGather('buildings'); return; } if (getPsString('food', true) < 1 && game.resources.food.owned < 30) { $('#foodCollectBtn').trigger('click'); return; } if (getPsString('wood', true) < 1 && game.resources.wood.owned < 30) { $('#woodCollectBtn').trigger('click'); return; } if (game.buildings.Trap.owned < 1 && game.resources.food.owned >= 10 && game.resources.wood.owned >= 10) { buyBuilding('Trap'); return; } var cnt = 0; var food = _getBarWidthPercent('#foodBar'); var wood = _getBarWidthPercent('#woodBar'); var metal = _getBarWidthPercent('#metalBar'); if (food > 95) { $('#Barn').trigger('click'); cnt++; } if (wood > 95) { $('#Shed').trigger('click'); cnt++; } if (metal > 95) { $('#Forge').trigger('click'); cnt++; } if (cnt > 0) { tooltip('hide'); } return cnt; } var _stop = function() { clearInterval(tAutoBuy); $('#botStart').text('Bot start'); tPassiveWatcher = setInterval(_passiveWatcher, 1000); _log('Passive watcher started'); } var _onStartButton = function() { if (isStarted) { _stop(); _log('Stop.'); } else { _start(); _log('Started!'); } } var _styleUpdate = function() { // remove counts $('head').append('<style type="text/css">.queueItem,.btn{padding:0}.thingColorCanNotAfford.upgradeThing{background-color:#530053;}</style>'); // remove tabs $('#buyTabs').hide(); filterTabs('all'); // remove captions $('#buildingsTitleDiv,#upgradesTitleDiv,#equipmentTitleDiv').hide(); // fix height $('#topRow,#queueContainer').css('margin-bottom', '0'); $('#jobsTitleDiv').css('padding', '0').css('font-size', 'smaller'); $('#buyHere').css('margin', '0').css('padding', '0').css('overflow-x', 'hidden'); $('#queueContainer').css('height', '70px'); $('#numTabs').css('margin', '0'); $('#buyContainer').css('height', 'calc(99vh - 20vw - 96px)'); // add button $('#settingsTable tr').append('<td class="btn btn-info" id="botStart">Bot start</td>'); $('#botStart').click(_onStartButton); } var _autoUpgrade = function() { var $item = $('#upgradesHere').find('.thingColorCanAfford').first(); if ($item.length > 0) { $item.trigger( "click" ); _log('Upgrading ' + $item.attr('id')); return 1; } else { return 0; } } var _autoBuy = function() { var $item = $('#buildingsHere').find('.thingColorCanAfford:not([id=Wormhole])').last(); if ($item.length > 0 && $item.attr('id') != 'Trap') { $item.trigger("click"); _log('Building ' + $item.attr('id')); return 1; } else { return 0; } } var _buyJobs = function($obj, unemployed, objName) { if ($obj.length > 0) { var cnt = 1; if (unemployed > 61*10) {numTab(4);cnt=100;} else if (unemployed > 61*2.5) {numTab(3);cnt=25;} else if (unemployed > 61) {numTab(2);cnt=10;} $obj.trigger("click"); if (unemployed > 61) numTab(1); // +1 _log('New ' + objName + (cnt > 1 ? " x" + cnt : ''), 'Combat'); return cnt; } else { return 0; } } var _autoJobs = function() { var cnt = 0; var $trainer = $('#jobsHere').find('.thingColorCanAfford[id=Trainer]'); if ($trainer.length > 0) { $trainer.trigger("click"); _log('New trainer'); cnt++; } var $explorer = $('#jobsHere').find('.thingColorCanAfford[id=Explorer]'); if ($explorer.length > 0) { $explorer.trigger("click"); _log('New explorer'); cnt++; } var farmer = parseInt($('#jobsHere').find('#FarmerOwned').text()); var lumber = parseInt($('#jobsHere').find('#LumberjackOwned').text()); var miner = parseInt($('#jobsHere').find('#MinerOwned').text()); var science = parseInt($('#jobsHere').find('#ScientistOwned').text()); var jobsTotal = farmer + lumber + miner + science; var unemployed = parseInt($('#jobsTitleUnemployed').text()); if (farmer < (jobsTotal / 3.05)) { var $farmer = $('#jobsHere').find('.thingColorCanAfford[id=Farmer]'); cnt += _buyJobs($farmer, unemployed, 'farmer'); } else if (lumber < (jobsTotal / 3.05)) { var $lumber = $('#jobsHere').find('.thingColorCanAfford[id=Lumberjack]'); cnt += _buyJobs($lumber, unemployed, 'lumberjack'); } else if (miner < (jobsTotal / 3.05)) { var $miner = $('#jobsHere').find('.thingColorCanAfford[id=Miner]'); cnt += _buyJobs($miner, unemployed, 'miner'); } else if (science < (jobsTotal / 61)) { var $science = $('#jobsHere').find('.thingColorCanAfford[id=Scientist]'); cnt += _buyJobs($science, unemployed, 'scientist'); } if (unemployed > 0 && cnt === 0) { $farmer = $('#jobsHere').find('.thingColorCanAfford[id=Farmer]'); cnt += _buyJobs($farmer, unemployed, 'farmer'); } return cnt; } var _styleFix = function() { $('.buyBox').find('.thing').find('br').remove(); $('.buyBox').find('.thing').find('.thingOwned').css('margin-left','4px'); $('#upgradesHere').find('.alert.badge').text(''); } setTimeout(function() { tStyleFix = setInterval(_styleFix, 2000); _styleUpdate(); _styleFix(); _stop(); // start passive watcher }, 1000); })();