您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Add a button in market to buy maximum stats points at once, so you don't have to click over 9000 times
// ==UserScript== // @name HaremHeroes Buy max stats // @version 1.31 // @description Add a button in market to buy maximum stats points at once, so you don't have to click over 9000 times // @author Spychopat // @match http*://nutaku.haremheroes.com/* // @match http*://*.hentaiheroes.com/* // @namespace JDscripts // ==/UserScript== //$("#equiped plus")[0].click() var sheet = (function() { var style = document.createElement('style'); document.head.appendChild(style); return style.sheet; })(); function marketCss(){ sheet.insertRule('plus_buy_all{' +'display:block;' +'position:static;' +'top:0;right:0;' +'color:#fff;' +'text-decoration:none;' +'margin:0;' +'padding-left: 5px;' +'padding-right: 5px;' +'-webkit-border-radius:10%;' +'-moz-border-radius:10%;' +'border-radius:10%;' +'cursor:pointer;' +'text-align:center;' +'background:#057;' +'background:-webkit-linear-gradient(-90deg,#0af 0,#068 50%,#057 51%,#0af 100%);' +'background:-moz-linear-gradient(180deg,#0af 0,#068 50%,#057 51%,#0af 100%);' +'border: 1px solid #000!important;' +'box-shadow: 0 3px 0 rgba(13,22,25,.6), inset 0 3px 0 #6df0ff;'); sheet.insertRule('plus_buy_all[disabled]{' +'background-image:linear-gradient(to top,#9f9296 0,#847c85 100%)!important;' +'box-shadow: 0 3px 0 rgba(13,22,25,.6),inset 0 3px 0 #b6a6ab!important;'); sheet.insertRule('#shops #equiped div.sub_block .hero_stats>div>[cur]{' +'display: none;'); sheet.insertRule('.BuyMax:hover + div {' + 'opacity: 1;' + 'visibility: visible; }'); sheet.insertRule('.BuyMaxTooltip {' + 'position: absolute;' + 'z-index: 11;' + 'min-width: 85;' + 'border: 1px solid rgb(255, 255, 255,.73);' + 'border-radius: 7px;' + 'background: #ccd7dd;' + 'padding: 4px 8px 6px;' + 'font-size: 13px;' + 'color: #057;' + 'text-align: left;' + 'pointer-events: none;' + 'visibility: hidden;'); sheet.insertRule('.BuyMaxIcon{' + 'margin-left: 5px;' + 'width: 20px;' + 'height: 20px;}'); } function calculateStatPrice(points){ var cost = 0; if(points < 2001){ cost = 3 + points * 2; }else if(points < 4001){ cost = 4005+(points-2001)*4; }else if(points < 6001){ cost = 12005+(points-4001)*6; }else if(points < 8001){ cost = 24005+(points-6001)*8; }else if(points < 10001){ cost = 40005+(points-8001)*10; }else if(points < 12001){ cost = 60005+(points-10001)*12; }else if(points < 14001){ cost = 84005+(points-12001)*14; }else if(points < 16001){ cost = 112005+(points-14001)*16; } return cost; } function calculateTotalPrice(points){ var last_price = calculateStatPrice(points); var price = 0; if(points < 2001) { price = (5+last_price)/2*(points); } else if(points < 4001){ price = 4012005+(4009+last_price)/2*(points-2001); }else if(points < 6001){ price = 20026005+(12011+last_price)/2*(points-4001); }else if(points < 8001){ price = 56042005+(24013+last_price)/2*(points-6001); }else if(points < 10001){ price = 120060005+(40015+last_price)/2*(points-8001); }else if(points < 12001){ price = 220080005+(60017+last_price)/2*(points-10001); }else if(points < 14001){ price = 364102005+(84019+last_price)/2*(points-12001); }else if(points < 16001){ price = 560126005+(112021+last_price)/2*(points-14001); } return price; } function ModifyMarket() { var last_cost = 0, levelPoints = 0, levelMoney = 0, level = Hero.infos.level; /* if(level <=25){ levelPoints = level *40; } else { levelPoints = 1000 + (level-25)*19; } */ levelPoints = level * 30; levelMoney = calculateTotalPrice(levelPoints); var loc2 = $('.hero_stats').children(); loc2.each(function() { var stat = $(this).attr("hero"); if(stat == "carac1" || stat == "carac2" || stat == "carac3"){ var disabled = 'disabled="disabled"'; if(stat == "carac1" && !$("#equiped plus")[0].getAttribute("disabled")) disabled = ""; if(stat == "carac2" && !$("#equiped plus")[1].getAttribute("disabled")) disabled = ""; if(stat == "carac3" && !$("#equiped plus")[2].getAttribute("disabled")) disabled = ""; var statNumber; if(stat == "carac1") statNumber = 1; if(stat == "carac2") statNumber = 2; if(stat == "carac3") statNumber = 3; var currentStatPoints = Hero.infos[stat], remainingPoints = levelPoints - currentStatPoints, currentMoney = calculateTotalPrice(currentStatPoints), remainingMoney = levelMoney - currentMoney; $(this).append('<plus_buy_all class="BuyMax" for_carac="'+stat+'" '+disabled+'><span>Buy max</span></plus_all>'); $(this).append('<div id="BuyMax' + stat +'" class="BuyMaxTooltip">' + 'Buy '+remainingPoints.toLocaleString() + '<img class="BuyMaxIcon" src="https://hh.hh-content.com/pictures/misc/items_icons/'+statNumber+'.png"><br>' + 'For '+remainingMoney.toLocaleString() + '<img class="BuyMaxIcon" src="https://hh.hh-content.com/design/ic_menu-SC.png"><br>' +'</div>'); } }); } function clickFunction(){ $("#equiped plus_buy_all").click(function() { var carac_num; var $me = $(this); if ($me.attr("disabled")) return; var carac = $me.attr("for_carac"); if(carac == "carac1") carac_num = 0; if(carac == "carac2") carac_num = 1; if(carac == "carac3") carac_num = 2; var button_plus_stat = $("#equiped plus")[carac_num]; var auto_click = setInterval(function() { //console.log("achat stat"); //console.log($("#equiped plus").next()[carac_num].getAttribute("value")); if(!button_plus_stat ){//|| !$("#equiped plus").next()[carac_num].getAttribute("value") || $("#equiped plus").next()[carac_num].getAttribute("value") == 'MAXED') { //console.log("time to stop"); //$me[0].setAttribute("disabled","disabled"); clearInterval(auto_click); return; } button_plus_stat.click(); }, 100); $me[0].setAttribute("disabled","disabled"); }); } (function() { 'use strict'; marketCss(); ModifyMarket(); clickFunction(); })();