// ==UserScript== // @name 网易BUFF价格比例插件---CSGO版 // @namespace http://pronax.wtf/ // @version 2020.10.26 // @description try to take over the world! --Written by Pronax // @copyright 2020, Pronax // @author Pronax // @license MIT // @match https://buff.163.com/market/goods* // @match https://buff.163.com/market/?game=csgo* // @grant GM_addStyle // @downloadURL none // ==/UserScript== (function() { 'use strict'; // 市场页面的渐变色 var market_color_high = "80,39,255"; // 最大值渐变色,比例越接近最大值(默认是1)会越趋近这个颜色,格式:['r','g','b'] 或者 "r,g,b" var market_color_low = "255,30,30"; // 最小值渐变色,比例越接近最小值(默认是0.63)会越趋近这个颜色,格式:['r','g','b'] 或者 "r,g,b" // 饰品页面的渐变色 var goods_color_high = "160,255,197"; var goods_color_low = "255,45,73"; const min_range = 0.63; // 比例取值最小范围,小于等于这个值的比例会直接渲染成最小值渐变色 const needSort = false; // 是否自动按比例从低到高排序 需要:true 不需要:false if(!Array.isArray(market_color_high))market_color_high = market_color_high.split(","); if(!Array.isArray(market_color_low))market_color_low = market_color_low.split(","); if(!Array.isArray(goods_color_high))goods_color_high = goods_color_high.split(","); if(!Array.isArray(goods_color_low))goods_color_low = goods_color_low.split(","); function roundToTwo(num,status){ return status?Math.round((num*100)+0.5)/100:Math.round((num*100))/100; } function gradient(max,min,f){ if(typeof max==="string"){ max *= 1; } if(typeof min==="string"){ min *= 1; } if(f>=1||f<=min_range){ f = f>=1?1:0; }else{ f = (f-min_range)/(1-min_range); } return max>=min?f*(max-min)+min:(1-f)*(min-max)+max; } window.buff_goods_scale_plugin_load = function (){ // 检测商品是否加载完成 if ($("#market-selling-list").length == 0) { setTimeout(buff_goods_scale_plugin_load, 100); return; } let price_list = $(".f_Strong"); let isLogined = price_list[0].getAttribute("id")=="navbar-cash-amount"; let temp_price = $(price_list[isLogined?1:0]).text().split("(")[0].slice(1); console.log(temp_price); let basic_price = roundToTwo(temp_price/1.15,true); for (let i = isLogined?2:1; i < price_list.length; i++) { let seller_price = price_list[i].innerText.slice(1); let scale = roundToTwo(seller_price/basic_price); if(i==(isLogined?2:1)){ $(".f_Strong .hide-usd")[0].innerText = basic_price; let red = gradient(goods_color_high[0],goods_color_low[0],scale); let green = gradient(goods_color_high[1],goods_color_low[1],scale); let blue = gradient(goods_color_high[2],goods_color_low[2],scale); if($(".good_scale").length==0){ $(price_list[isLogined?1:0]).append($(""+scale+"")); }else{ $(".good_scale").text(scale); } } $(price_list[i].parentNode).next().append($(""+scale+"")); } } window.buff_list_scale_plugin_load = function (){ // 检测商品是否加载完成 if ($("#j_list_card>.card_csgo>li").length == 0) { setTimeout(buff_list_scale_plugin_load, 100); return; } $(".list_card li>p>span.l_Right").removeClass("l_Right").addClass("l_Left"); var goods = $("#j_list_card>.card_csgo>li"); var status = goods.length; for(let i=0;istrong.f_Strong")[0]; let buff_price = target.innerText.slice(2); let url = $(goods[i]).children("a")[0].href; $.ajax({ url: url, method: "get", success: function (data) { status--; let steam_price = $(data).find(".detail-summ .f_Strong>span.custom-currency")[0].getAttribute('data-price'); let scale = roundToTwo(buff_price/(steam_price/1.15),true); let red = gradient(market_color_high[0],market_color_low[0],scale); let green = gradient(market_color_high[1],market_color_low[1],scale); let blue = gradient(market_color_high[2],market_color_low[2],scale); $(target).append($(''+scale+'')); $(goods[i]).attr("data-sort",scale); if(needSort&&status==0){ $("#sort_scale").click(); } }, error: function (msg) { console.log(msg); } }); } } if(location.pathname === "/market/goods"){ $(document).ajaxSuccess(function (event,status,header,result){ if(header.url.slice(0,28)==="/api/market/goods/sell_order"){ $("#sort_scale").removeClass(); buff_goods_scale_plugin_load(); } }); }else if(location.pathname === "/market/"){ // 样式 GM_addStyle("#sort_scale{display:inline-block;padding:0 6px 0 16px;cursor:pointer;height:32px;margin-left:5px;line-height:32px;text-align:center;border-radius:4px;min-width:60px;border:1px solid #45536c;color:#63779b;vertical-align:middle}#sort_scale.enabled{background:#45536c;color:#fff}.list_card li h3{margin: 8px 12px 9px;}.list_card li>p>span.l_Left{margin-top:inherit}.list_card li>p>strong.f_Strong{display:block;font-size:20px;min-height:20px;}"); // 下一页按钮 $(".floatbar>ul").prepend("
  • 下一页

  • "); $("#buff_tool_nextpage").click(function () { $(".page-link.next").click(); }).parent().css("cursor", "pointer"); // 排序按钮 $(".w-OrderGroup").after($('
    比例
    ')); $("#sort_scale").click(function(){ let btn = this; let flag = $(this).hasClass("w-Order_asc"); if($(this).hasClass("enabled")){ $(this).toggleClass("w-Order_asc w-Order_des"); }else{ $(this).addClass("enabled").addClass("w-Order_asc"); } $(".card_csgo>li").sort(function(a, b) { let av = $(a).attr("data-sort")-0; let bv = $(b).attr("data-sort")-0; if (av>bv) { return flag?-1:1; } else if (av