您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
The first part to The GT UI+
当前为
// ==UserScript== // @name More UI // @namespace http://use.i.E.your.homepage/ // @version 0.3.2 // @description The first part to The GT UI+ // @match http://www.ghost-trappers.com/fb/camp.php* // @match http://www.ghost-trappers.com/fb/hunt.php* // @copyright 2015+, GTNoAPI // @grant GM_xmlhttpRequest // ==/UserScript== getSpecialItems(); getCompanionExpAndLike(); function getSpecialItems(){ GM_xmlhttpRequest({ method: 'GET', url: 'http://www.ghost-trappers.com/fb/setup.php?type=special', headers: { "Accept": "text/html", "Pragma": "no-cache", "Cache-Control": "no-cache" }, onload: function(rD) { var text = rD.responseText; var result = text.match(/<div class="itemHeadline">[A-Za-z0-9'`._%+-\s]+/ig); for(var x = 0; x< result.length; x++){ result[x] = result[x].substr(result[x].indexOf('>')+1, result[x].lastIndexOf(' ')); result[x] = result[x].trim(); } getAyumiShopItems(result); } }); }; function getAyumiShopItems(itemsInInventory){ GM_xmlhttpRequest({ method: 'GET', url: 'http://www.ghost-trappers.com/fb/scotch_ninth_floor.php?page=shop&filterItemType=souvenir_set', headers: { "Accept": "text/html", "Pragma": "no-cache", "Cache-Control": "no-cache" }, onload: function(rD) { var text = rD.responseText; var itemRGX = text.match(/<div class="itemInfo">(\n(.*?))*.?(<div class="seperatorLine">)/ig); var itemsHolder = []; for(var x = 0; x < itemRGX.length; x++){ var rgx = itemRGX[x]; var itemNameRGX = rgx.match(/<div class="itemHeadline">\n*.*<\/div>|<div class="itemSpecialText">[A-Za-z0-9'`._%+-\s]+/ig); var itemCostRGX = rgx.match(/<div class="itemCurrency">(\n(.*?)<\/div>)*/ig); var itemName = itemNameRGX[0].match(/\s[A-Z0-9.-_\s]*?</ig); var itemName = itemName[0].substr(1, itemName[0].length-2); var item; if(itemsInInventory.indexOf(itemName) == -1){ item = new Item(itemName); for(var y = 0; y < itemCostRGX.length; y++){ var currency_price = itemCostRGX[y].match(/"PRICE - in(.*?)"|<div class="itemPrice">(.*?)<\/div>/ig); var currency = currency_price[0].substr(currency_price[0].indexOf('In')+3); currency = currency.substr(0,currency.length-1); if(currency == 'Great British Pounds, that goes without saying'){ currency = "GBP" } var price = currency_price[1].match(/>[0-9,]*?</ig); price = price[0].substr(1,price[0].length-2); try{ price = parseInt(price.replace(/,/ig,'')); } catch(err) { console.log('error parse price'); } item.setCurrency(currency, price); } itemsHolder.push(item); } } constract_Table(itemsHolder); } }); } function constract_Table(array){ $('<div class="UserSricpt_container"></div>').appendTo('#header'); $('<div class="souvenirs_container"></div>').appendTo('.UserSricpt_container'); var container = $('.souvenirs_container'); $('.UserSricpt_container').css('position','absolute'); $('.UserSricpt_container').css('top','133%'); $('.UserSricpt_container').css('left','-45%'); $('.UserSricpt_container').css('color','#fff'); for(var x = 0; x < array.length; x++){ $('<a href="http://www.ghost-trappers.com/fb/scotch_ninth_floor.php?page=shop&filterItemType=souvenir_set" class="custom-item" id="item-'+x+'"></a>') .append($('<div class="itemName"></div>').html(array[x].getName())) .append($('<div class="itemCost"></div>').css('display', 'table')) .appendTo(container); var key = null; for(key in array[x].getItemCost()) { $('#item-'+x).find('.itemCost').append($('<div class="itemCurrencyType"></div>').html('- '+key + " " + array[x].getItemCost()[key])); } } $('.UserSricpt_container').find('.souvenirs_container').css({ 'display':'block', 'color':'white', 'position':'relative', 'padding':'10px', 'margin-top':'10px', 'border-radius':'15px', 'font-size':'14px', 'width':'607px', 'z-index': '9999', 'display': 'none' }); container.css({ 'position': 'absolute', 'left' : '297px', 'top': '-89px', 'background-color': 'rgba(0, 0, 0, 0.6)', 'z-index': '999' }); $('.UserSricpt_container').prepend($('<button>toggle souvenirs</button>')); var button = $('.UserSricpt_container').find('button'); button.css({ 'position':'absolute', 'left':'116px', 'color': 'white', 'font-weight':'bold', 'font-size': '16px', 'text-shadow': '1px 1px black', 'padding': '3px 8px', 'border': '1px solid rgb(206, 174, 7)', 'border-radius':'5px', 'background-color': 'gold', 'z-index': '99999999', 'min-width':'153px' }); button[0].addEventListener("click", function(){ if($('.UserSricpt_container').find('.souvenirs_container').css('display') == 'none'){ $('.UserSricpt_container').find('.souvenirs_container').css({ 'display': 'block' }); } else{ $('.UserSricpt_container').find('.souvenirs_container').css({ 'display': 'none' }); } }); getCurrency(array); } function insertCommas(string,text){ if(text){ var result = text.toString(); if (result.length > 3){ for(var x = result.length-3; x>0; x-=3){ result = result.substring(0, x) + string + result.substring(x, result.length); } } return result; } else{ return 0; } } function priceIn(dictionary, array){ var elements = $(".UserSricpt_container").find('.souvenirs_container')[0].childNodes; for(var x= 0; x < elements.length; x++){ var currencyHolder = elements[x]; var children = currencyHolder.childNodes; children = children[1].childNodes; var match = 0; for(var y = 0; y < children.length; y++){ var temp = children[y].innerHTML; var priceIn = temp.substr(temp.indexOf('-')+2, temp.lastIndexOf(' ')-2).trim(); var price = temp.substr(temp.lastIndexOf(' ')+1); try{ dictionary[priceIn] = parseInt(dictionary[priceIn].replace(/,/ig,'')); } catch(err) { // just skip this error!!! } children[y].innerHTML = ' - ' + priceIn +' '+ insertCommas(',',price) + '('+insertCommas(',',dictionary[priceIn])+')'; if(dictionary[priceIn] >= array[x].getCurrency(priceIn)){ if(match == children.length-1){ $(".UserSricpt_container").find('.souvenirs_container').find('#item-'+x).css({ 'background-color':'rgba(0, 128, 0, 0.2)', 'border':'1px solid green', 'box-shadow':'inset 0 1px 1px rgba(0,0,0,.075),0 0 6px green', '-webkit-box-shadow':'inset 0 1px 1px rgba(0,0,0,.075),0 0 6px green', 'display':'block', 'color':'white', 'position':'relative', 'padding':'10px', 'margin-top':'10px', 'border-radius':'15px' }); } match++; } else{ $(".UserSricpt_container").find('.souvenirs_container').find('#item-'+x).css({ 'background-color':'rgba(255, 0, 0, 0.2)', 'border':'1px solid red', 'box-shadow':'inset 0 1px 1px rgba(0,0,0,.075),0 0 6px red', '-webkit-box-shadow':'inset 0 1px 1px rgba(0,0,0,.075),0 0 6px red', 'display':'block', 'color':'white', 'position':'relative', 'padding':'10px', 'margin-top':'10px', 'border-radius':'15px' }); } } } } function getCurrency(array){ GM_xmlhttpRequest({ method: 'GET', url: 'http://www.ghost-trappers.com/fb/setup.php?type=currency', headers: { "Accept": "text/html", "Pragma": "no-cache", "Cache-Control": "no-cache" }, onload: function(rD) { var text = rD.responseText; var result = text.match(/<div class="itemInfo">\n*.*<\/div>|<div class="itemSpecialText">[A-Za-z0-9'`._%+-\s]+/ig); var gbpHolder = document.getElementById('profile_gbp').innerHTML; var dictionary = []; for(var x = 0; x < result.length-1; x+=2){ var temp = result[x].match(/[A-Z0-9.-_\s]+>/ig); var key = temp[0].substring(1, temp[0].indexOf('</')).trim(); var value = result[x+1].substring(result[x+1].indexOf('itemSpecialText'), result[x+1].indexOf('.')); value = value.match(/[0-9]+/ig); dictionary[key] = parseInt(value); } dictionary['GBP'] = gbpHolder; priceIn(dictionary, array); } }); }; var Item = function(name) { this.name = name; this.dictionary = []; }; Item.prototype.getName = function(){ return this.name; } Item.prototype.setCurrency = function(currency, value){ this.dictionary[currency] = value; }; Item.prototype.getCurrency = function(currency){ return this.dictionary[currency]; }; Item.prototype.getItemCost = function(){ return this.dictionary; } //<<<<>>> function getCompanionExpAndLike(){ GM_xmlhttpRequest({ method: 'GET', url: 'http://www.ghost-trappers.com/fb/setup.php?type=companion', headers: { "Accept": "text/html", "Pragma": "no-cache", "Cache-Control": "no-cache" }, onload: function(rD) { var text = rD.responseText; var rgx = text.match(/<div class="companionFullBar"*.*<\/div>|<div class=companionLikeFullBar*.*<\/div>/ig); var percent = []; for(var x= 0; x< rgx.length; x++){ var width = rgx[x].match(/width:[0-9]+/ig); width = width[0].substr(width[0].indexOf(':')+1); percent.push((width/200)*100); } var companionLVLRGX = text.match(/companion\/level*.*(jpg)/ig); var companionLVL = companionLVLRGX[0].substr(companionLVLRGX[0].indexOf('_')+1, 1); var container = $('#petRightContainer'); var likeValue = 0; if(percent[1]){ likeValue = percent[1]; } else{ if(companionLVL < 5){ likeValue = 0; } else if(companionLVL == 5){ likeValue = 100; } } $('<a href="http://www.ghost-trappers.com/fb/setup.php?type=companion" class="exp_like_display"></a>') .append($('<div class="expDisplay"></div>') .html(percent[0].toFixed(1) + '%') .css({ 'float': 'left', 'padding': '3px', 'font-weight': 'bold', 'background-color':'rgba(135, 206, 235, 0.6)', 'border-radius': '10px', 'border':'1px solid skyblue', 'box-shadow':'inset 0 1px 1px rgba(0,0,0,.075),0 0 6px skyblue', '-webkit-box-shadow':'inset 0 1px 1px rgba(0,0,0,.075),0 0 6px skyblue' })) .append($('<div class="likeDisplay"></div>') .html(likeValue.toFixed(1)+ '%') .css({ 'float': 'right', 'padding': '3px', 'font-weight': 'bold', 'background-color':'rgba(255, 192, 203, 0.6)', 'border-radius': '10px', 'border':'1px solid pink', 'box-shadow':'inset 0 1px 1px rgba(0,0,0,.075),0 0 6px pink', '-webkit-box-shadow':'inset 0 1px 1px rgba(0,0,0,.075),0 0 6px pink' })) .appendTo(container); $('.exp_like_display').css({ 'color': 'black', 'position':'absolute', 'top': '60px', 'left': '0px', 'width': '100%', 'z-index': '9999' }) } }); } //<<<<>>> exhibition(); function exhibition(){ GM_xmlhttpRequest({ method: 'GET', url: 'http://www.ghost-trappers.com/fb/scotch_ninth_floor.php?page=exhibition¤tPage=-2', headers: { "Accept": "text/html", "Pragma": "no-cache", "Cache-Control": "no-cache" }, onload: function(rD) { var text = rD.responseText; $('<div class="UserSricpt_exhibition_container"></div>').appendTo('#header'); $('<div class="exhibition_container"></div>').appendTo('.UserSricpt_exhibition_container'); var container = $('.exhibition_container'); $('.UserSricpt_exhibition_container').css('position','absolute'); $('.UserSricpt_exhibition_container').css('top','150%'); $('.UserSricpt_exhibition_container').css('left','-27%'); $('.UserSricpt_exhibition_container').css('color','#fff'); var rgx = text.match(/<div class="souvenirPartsLine " >[\s\nA-Za-z0-9<=>"'\/_.?!]*<\/div>/gi); var array = []; var temp = stringRep(text); for(var x = 0; x< rgx.length; x++){ var rgxImg = rgx[x].match(/src(.*)\w/gi); array[x] = []; var items = extractItems(rgxImg); ($('<a href="http://www.ghost-trappers.com/fb/scotch_ninth_floor.php?page=exhibition¤tPage=-2" class="exhibition-collection" id="exhibition-collection-'+x+'"></a>') .css('position', 'relative')) .appendTo(container); var item_container = $('#exhibition-collection-'+x); if(x < rgx.length-1){ for(var y=0; y < rgxImg.length-1; y++){ var ghost = getGhostByLoot(items[y]); ($('<img '+ rgxImg[y] + '" data-target="'+x+'_'+y+'"/>') .css('width', '10%')) .appendTo(item_container); if(ghost){ ($('<div id="'+x+'_'+y+'"></div>').css({ 'position': 'absolute', 'top': '-14px', 'right': '40px', 'z-index': '9999999', 'font-size': '14px', 'display': 'none', 'background-color': '#223341', 'border': '1px solid #222', 'border-radius': '7px', 'padding': '10px', 'min-width': '150px' }).html(ghost.name + ' ' + ghost.location)) .appendTo(item_container); } } } else{ for(var y=0; y < rgxImg.length; y++){ ($('<img '+ rgxImg[y] + '"/>').css('width', '10%')) .appendTo(item_container); } } } $('.UserSricpt_exhibition_container').find('.exhibition-collection').css({ 'display':'block', 'color':'white', 'position':'relative', 'padding':'10px', 'margin-top':'10px', 'border-radius':'15px', 'font-size':'14px', 'width':'607px', 'z-index': '9999', 'display': 'none' }); container.css({ 'position': 'absolute', 'left' : '183px', 'top': '-89px', 'background-color': 'rgba(0, 0, 0, 0.6)', 'z-index': '999' }); $('.UserSricpt_exhibition_container').prepend($('<button>toggle exhibition</button>')); var button = $('.UserSricpt_exhibition_container').find('button'); button.css({ 'position':'absolute', 'left':'0px', 'color': 'white', 'font-weight':'bold', 'font-size': '16px', 'text-shadow': '1px 1px black', 'padding': '3px 8px', 'border': '1px solid rgb(206, 174, 7)', 'border-radius':'5px', 'background-color': 'gold', 'z-index': '99999999', 'width': '153px' }); button[0].addEventListener("click", function(){ if($('.UserSricpt_exhibition_container').find('.exhibition-collection').css('display') == 'none'){ $('.UserSricpt_exhibition_container').find('.exhibition-collection').css({ 'display': 'block' }); } else{ $('.UserSricpt_exhibition_container').find('.exhibition-collection').css({ 'display': 'none' }); } }); } }); } function extractItems(array){ var result = []; for(var x = 0 ; x < array.length-1; x++){ var start = array[x].lastIndexOf('/')+1; var end = array[x].indexOf('.png'); var souvenir = array[x].substr(start,end-start); souvenir = souvenir.replace(/_/ig,' '); if(souvenir.lastIndexOf(' grey') > -1){ souvenir = souvenir.replace(/ grey/ig,' '); } if(souvenir.indexOf('04 ') > -1){ souvenir = souvenir.replace(/04 /ig,' '); } souvenir = souvenir.substr(0,1).toUpperCase() + souvenir.substr(1); result.push(souvenir); } return result; } function stringRep(text){ var rgx = text.match(/<div class="souvenirSetContainer" >(\n(.*?))*.?(<div class="seperatorLine">)/gi); var array = []; for(var x = 0; x < rgx.length; x++){ var name = rgx[x].match(/<div class="souvenirTopLeft">(\n(.*?))*.?(<\/img>)/gi); name = name[0].substr(name[0].indexOf('souvenirs')+'souvenirs'.length+1, (name[0].lastIndexOf('"')-(name[0].indexOf('souvenirs')+'souvenirs'.length+5))); if(name.indexOf('04_headline') > -1){ name = name.substr(name.indexOf('04_headline')+'04_headline'.length+1); } else if(name.indexOf('headline') > -1){ name = name.substr(name.indexOf('headline')+'headline'.length+1); } name = name.replace(/_/ig,' '); array.push(name); } return array; } function getGhostByLoot(loot){ var obj = jQuery.parseJSON($('.fakeDB').html()); var result = ''; for(var x = 0; x < obj.length; x++){ for(var y= 0; y < obj[x].loot.length; y++){ if(loot && obj[x].loot[y] == loot){ result = { name: obj[x].name, location: obj[x].location, type: obj[x].type } } } } return result; }