您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Помощник по апгрейду оборудования
// ==UserScript== // @name Virtonomica: Апгрейд оборудования // @namespace virtonomica // @description Помощник по апгрейду оборудования // @version 2.0 // @include http*://*virtonomic*.*/*/window/unit/equipment/* // ==/UserScript== var run = function() { var total; // всего установлено оборудования var cQ; // текущее качество var rQ; // требуемое качество var min = 1000000000; var minname; var minneed; var mincell; var notfarm=1; var notsu=1; var win = (typeof(unsafeWindow) != 'undefined' ? unsafeWindow : top.window); $ = win.$; // проверка $( 'img[src="/img/unit_types/animalfarm.gif"]' ).each( function( ) // это животноводческая ферма { // таки да notfarm = 0; }); $( 'img[src="/img/unit_types/restaurant.gif"]' ).each( function( ) // это ресторан { // таки да notsu = 0; }); $( 'img[src="/img/unit_types/medicine.gif"]' ).each( function( ) // это МЦ { // таки да notsu = 0; }); $( 'img[src="/img/unit_types/service_light.gif"]' ).each( function( ) // это СУ { // таки да notsu = 0; }); // if ( !notfarm ) return; // возврат для исключения животноводческих ферм var firsttext=$('div.header h3').text() var newbut = document.createElement('div') newbut.innerHTML = "Апгрейд до кача: " newbut.setAttribute('class','header_up') var newinput = document.createElement('input') newinput.setAttribute('type','text') newinput.setAttribute('value','') newinput.setAttribute('style','width:34px') newinput.setAttribute('id','header_inp') var newbut2 = document.createElement('button') newbut2.innerHTML = "Расчитать" newbut2.setAttribute('id','header_but') var newinp = $( 'div.content') newinp.prepend(newbut) newinp = $( 'div.header_up') newinp.append(newinput) newinp.append(newbut2) $('#header_but').css('cursor', 'pointer').click(function() { var tQ= parseFloat($( '#header_inp' ).prop('value')) if (isNaN(tQ)) tQ = 0 print_text (''); if (tQ <= cQ ) { print_text (' --> <font color="red"> Запрашиваемое качество ниже текущего</font>'); return; } print_text (' --> <font color="red"> Вариантов нет</font>'); get_var (tQ); }) $( 'div.recommended_quality' ).each( function( ) { var spans = $( 'span', this ); cQ = parseFloat( $( spans[0] ).text() ); // текущее качество rQ = parseFloat( $( spans[1] ).text() ) + 0.01; // требуемое качество total = parseInt( $( spans[2] ).text().replace(' ', '').replace(' ', '') ); // всего установлено оборудования if ( !notsu||!notfarm ) total = parseInt( $( spans[1] ).text().replace(' ', '').replace(' ', '') ); }); if ( !notsu||!notfarm ) rQ=cQ; // корректировка начальных данных для жив. ферм и СУ get_var (rQ) //------------------------------------------------------------------------------------------------------------------------------------ function get_var (qQ) { if (qQ <= cQ ) { print_text (' --> <font color="red"> Вариантов нет или апгрейд не требуется</font>'); return; } get_nul () // очищаем изменения при повторном расчете min=1000000000 $( '#mainTable tr[class]' ).each( function() { if ($( this ).attr( 'id' )[0] != 'r') return; var cells = $( 'td', this ); var offer = parseInt( $(cells[2]).text().trim().replace( ' ', '' ).replace(' ', '') ); var price = parseFloat( $( cells[6] ).text().replace(/[^\d\.]/g,'') ); //replace(' ', '' ).replace(' ', '') ); var qual = parseFloat( $( cells[7] ).text() ); if ( isNaN(price) || isNaN(qual) ) return; if ( qual < qQ ) return; var need = Math.ceil( total * ( qQ - cQ )/( qual - cQ ) ); if ( offer < need ) return; var cost = Math.round( need * price ); if ( cost < min ) { min = cost; minname = $( cells[0] ).text(); mincell = cells[0]; minneed = need; } cells[0].innerHTML = cells[0].innerHTML + '<div class=upgrade style="color: grey"><nobr>' + NumFormat( need ) + ' (' + NumFormat( cost ) + '$)</nobr></div>'; }); if ( min < 1000000000 ) { mincell.innerHTML = '<img src="/img/supplier_add.gif"> ' + mincell.innerHTML; print_text (' --> <font color="green">' + minname + ' --> ' + NumFormat( minneed ) + 'шт (' + NumFormat( min ) + '$)</font>'); } } //------------------------------------------------------------------------------------------------------------------------------------ function get_nul () { $( 'div.upgrade').each( function () { $( this).detach() // удаляем данные предыдущего расчета }) $( 'td.text_to_left > img').each( function () { $( this).detach() // удаляем машинку из предыдущего расчета }) } //------------------------------------------------------------------------------------------------------------------------------------ function print_text (ttext) { $( 'div.header h3').each( function() { this.innerHTML = firsttext + ttext; }); } //------------------------------------------------------------------------------------------------------------------------------------ function NumFormat( N ) { var res = ''; N = N.toString(); for (var i=0, j=N.length; i<j; i++) { if (i%3 == 0 && i != 0) res = ' ' + res; res = N.substr(j-1-i, 1) + res; } return res; } } var script = document.createElement("script"); script.textContent = '(' + run.toString() + ')();'; document.documentElement.appendChild(script);
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址