c5 extension

买买买

目前为 2018-10-20 提交的版本。查看 最新版本

// ==UserScript==
// @name         c5 extension
// @namespace
// @version      1.0
// @description  买买买
// @author       out
// @match        *://www.c5game.com/*
// @grant        GM_xmlhttpRequest
// @grant        GM_addStyle
// @require      https://cdn.bootcss.com/jquery/2.2.4/jquery.min.js
// @connect      steamcommunity.com
// @namespace out
// ==/UserScript==
(function() {
    'use strict';

    // Your code here...
    $(document).ready(function(){
        GM_addStyle(".price > div{margin:5px 0px;font-size:14px;}"
                    +".price > div:nth-child(1) span{color:#e46409;}"
                    +".price > div:nth-child(2) span{color:#7ccc35;}"
                    +".price > div:nth-child(3) span{color:#1ee44a;}"
                    +".price > div > span{ text-align:center;display:-moz-inline-box; display:inline-block; width:80px;}"
                    +".sb{font-size:14px;}"
                    +".sb > strong:nth-child(1){margin-left:70px;}"
                    +".sb > strong:nth-child(2){margin-left:50px;}"
                   );
        if($(".right_steam").length!==0){
            var href = $(".right_steam a").attr("href");
            GM_xmlhttpRequest({
                method: "GET",
                url: href,
                timeout:5000,
                onload: function(res){
                    if(res.status == "200" &&res.responseText!=="null"){
                        var g_sessionID = res.responseText.match(/g_sessionID = "([^"]+)"/)[1];
                        var g_walletCurrency = parseInt(res.responseText.match(/"wallet_currency":(\d+)/)[1]);
                        var g_strLanguage = res.responseText.match(/g_strLanguage = "([^"]+)"/)[1];
                        var g_strCountryCode = res.responseText.match(/g_strCountryCode = "([^"]+)"/)[1];
                        var nameid = res.responseText.match(/Market_LoadOrderSpread\( (\d+)/)[1];
                        if(!nameid)
                            return;
                        GM_xmlhttpRequest({
                            timeout:5000,
                            method: "GET",
                            url: "https://steamcommunity.com/market/itemordershistogram?country=" + g_strCountryCode + "&language=" + g_strLanguage + "&currency=" + g_walletCurrency + "&item_nameid=" + nameid,
                            responseType: "json",
                            onload: function(data){
                                var obj = data.response;
                                if(obj){
                                    if(!obj.lowest_sell_order&&!obj.highest_buy_order)
                                        return;
                                    $("div.hero > span:first").hide();
                                    $("div.hero > div.right_steam").css("float","none");
                                    var $pinfo = $("<div class=\"price\"><div><strong>价格:</strong><span></span><span></span></div><div><strong>税后:</strong><span></span><span></span></div><div><strong>比例:</strong><span></span><span></span></div>");

                                    if(obj.lowest_sell_order){
                                        var lowest_sell_order = parseInt(obj.lowest_sell_order);
                                        $pinfo.find("span:eq(0)").text(obj.price_prefix + " " + lowest_sell_order/100);
                                        var lsnofee = calcfee(lowest_sell_order);
                                        $pinfo.find("span:eq(2)").text(obj.price_prefix + " " + lsnofee/100);
                                    }

                                    if(obj.highest_buy_order){
                                        var highest_buy_order = parseInt(obj.highest_buy_order);
                                        $pinfo.find("span:eq(1)").text(obj.price_prefix + " " + highest_buy_order/100);
                                        var hbnofee = calcfee(highest_buy_order);
                                        $pinfo.find("span:eq(3)").text(obj.price_prefix + " " + hbnofee/100);
                                    }
                                    $("div.hero").css("margin","5px 0px");
                                    $("div.hero").parent().append($("<div class=\"sb\"><strong>出售</strong><strong>求购</strong></div>")).append($pinfo);
                                    calcratio(lsnofee,hbnofee);
                                }
                            },
                            ontimeout:steam302,
                            onerror: steam302
                        });
                    }
                },
                ontimeout:steam302,
                onerror: steam302
            });
        }

        function steam302(){
            $("div.hero").parent().append($("<div style=\"color:#FF0033;\"><strong>查询超时,建议使用<a href=\"https://steamcn.com/t339527-1-1\">Steam302</a></strong></div>"));
        }
        function getFloat(str){
            if(str.indexOf(".")!=-1){
                var xs = str.length-str.indexOf(".")-1;
                var price = parseFloat(str.replace(/[^0-9]/ig,""));
                while(xs){
                    price/=10;
                    xs--;
                }
                return price;
            }
            return parseFloat(str.replace(/[^0-9]/ig,""));
        }
        function calcfee(p){
            var pnofee = Math.max(Math.floor(p/1.15),1);
            var vfee = Math.max(Math.floor(pnofee*0.1),1);
            var pfee = Math.max(Math.floor(pnofee*0.05),1);
            while((pnofee + vfee + pfee) != p){
                if((pnofee + vfee + pfee) > p)
                    pnofee--;
                if((pnofee + vfee + pfee) < p)
                    pnofee++;
                vfee = Math.max(Math.floor(pnofee*0.1),1);
                pfee = Math.max(Math.floor(pnofee*0.05),1);
            }
            return pnofee;
        }
        function calcratio(l,h){
            var t = setInterval(function(){
                var c5_price = getFloat($(".sale-item-lists span.ft-orange:first").text());
                if(!c5_price){
                    c5_price = getFloat($(".sale-item-lists span.ft-gold:first").text());
                }
                if(c5_price){
                    var $pinfo = $("div.price");
                    if(l)
                        $pinfo.find("span:eq(4)").text((c5_price*100/l).toFixed(2));
                    if(h)
                        $pinfo.find("span:eq(5)").text((c5_price*100/h).toFixed(2));
                    clearInterval(t);
                }
            },500);
        }
    });
})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址