您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Trimps tools (visual)
当前为
- // ==UserScript==
- // @name Trimps tools
- // @namespace trimps.github.io
- // @version 1.033
- // @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 tMain, tAutoBuy, tStyleFix, tPassiveWatcher, $ = jQuery, isStarted = false;
- 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 _checkProgress = function() {
- var maxProgress = 0, maxResource = '';
- var food = _getBarWidthPercent('#foodBar');
- var wood = _getBarWidthPercent('#woodBar');
- var metal = _getBarWidthPercent('#metalBar');
- if (food > maxProgress) {maxProgress = food; maxResource = 'food';}
- if (wood > maxProgress) {maxProgress = wood; maxResource = 'wood';}
- if (metal > maxProgress) {maxProgress = metal; maxResource = 'metal';}
- document.title = '' + Math.floor(maxProgress) + '% ' + maxResource;
- };
- var _start = function() {
- clearInterval(tPassiveWatcher);
- tAutoBuy = setInterval(function() {
- var cnt = _autoUpgrade() + _autoBuy() + _autoJobs();
- if (cnt > 0) {
- tooltip('hide');
- }
- }, 1000);
- $('#botStart').text('Bot stop');
- }
- var _passiveWatcher = function() {
- var cnt = 0;
- var food = _getBarWidthPercent('#foodBar');
- var wood = _getBarWidthPercent('#woodBar');
- var metal = _getBarWidthPercent('#metalBar');
- if (food > 90) {
- $('#Barn').trigger('click');
- cnt++;
- }
- if (wood > 90) {
- $('#Shed').trigger('click');
- cnt++;
- }
- if (metal > 90) {
- $('#Forge').trigger('click');
- cnt++;
- }
- cnt += _autoJobs();
- 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() {
- tMain = setInterval(_checkProgress, 500);
- tStyleFix = setInterval(_styleFix, 2000);
- _styleUpdate();
- _styleFix();
- _stop(); // start passive watcher
- }, 1000);
- })();