// ==UserScript==
// @name CS2 Lining Grabber
// @namespace
http://black-beach.net
// @version 0.1g
// @description Extract detail from Terminal pages
// @include http://*.chosenspace.com/index.php?go=planet_terminal*
// @exclude http://*.chosenspace.com/*/*
// version 0.1f - Uploads data without iframes
// version 0.1g - uses localstorage
// ==/UserScript==
function CommaFormatted(amount){
var i=parseInt(amount);var n=new String(i);var a=[];
while(n.length > 3){var nn=n.substr(n.length-3);a.unshift(nn);n=n.substr(0,n.length-3);}
if(n.length > 0){a.unshift(n);}
n=a.join(',');return n;}
function getTile2D(ArrayPosition){
var X = ArrayPosition % 20;var Y = ( (ArrayPosition - X) / 20 ) + 1;
var Coordinate = {"x":X, "y":Y};
return(Coordinate);}
function checkTime(i) {if(i<10){i="0"+i;};return i;}
var nd = new Date();
d=checkTime(nd.getUTCDate());
m=checkTime(nd.getUTCMonth()+1);
y=nd.getUTCFullYear();
h=checkTime(nd.getUTCHours());
n=checkTime(nd.getUTCMinutes());
s=checkTime(nd.getUTCSeconds());
ms=checkTime(nd.getUTCMilliseconds());
rtime=y+'/'+m+'/'+d+' '+h+':'+n+':'+s+':'+ms;
function roundNumber(num, dec) {
var result = String(Math.floor(num*Math.pow(10,dec))/Math.pow(10,dec));
if(result.indexOf('.')<0) {result+= '.';}
while(result.length- result.indexOf('.')<=dec) {result+= '0';}
return result;
}
function DaysBetweenDateAndNow(yr, mo, dy, hr, mi, se)
{
// Determine the milliseconds per day.
var MinMilli = 1000 * 60
var HrMilli = MinMilli * 60
var DyMilli = HrMilli * 24
// Determine today's UTC year, month, and day.
var d = new Date();
var yeartoday = d.getUTCFullYear();
var monthtoday = d.getUTCMonth();
var dayofmonthtoday = d.getUTCDate();
var houroftoday = d.getUTCHours();
var minuteoftoday = d.getUTCMinutes();
var secondoftoday = d.getUTCSeconds();
// Get the milliseconds since 1/1/1970 UTC.
var t1 = Date.UTC(yr, mo - 1, dy, hr, mi, se)
var t2 = Date.UTC(yeartoday, monthtoday, dayofmonthtoday, houroftoday, minuteoftoday, secondoftoday);
// Determine the difference in minutes.
var mins = (t2 - t1) / MinMilli;
return(mins);
}
var nocetime = roundNumber(DaysBetweenDateAndNow(2006,03,16,17,27,20)/100,2);
var fromplanet = document.evaluate("//a[@href=('index.php')]", document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
var fromplanetgrab=fromplanet.snapshotItem(0);
var fromp=fromplanetgrab.textContent;
// alert(fromp);
uploader = localStorage.getItem("cpt");
var csyseval = document.evaluate("//input[@value='Galaxy']", document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
var csysgrab=csyseval.snapshotItem(0);
var csysid=csysgrab.getAttribute("onclick").split("system_id=")[1].split("'")[0];
var csys=getTile2D(csysid);
function xpath(query){return document.evaluate(query, document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);}
allTags=xpath("//input[@value='Galaxy']");
thisTag=allTags.snapshotItem(0);
if(thisTag){
var CurrentGalaxy=thisTag.getAttribute("onclick").split("system_id=")[1].split("'")[0];
var startSys=getTile2D(CurrentGalaxy);
var endSys,targetGalaxy,dist,target,tprice,tresult,ttext;
allTags=xpath("//a[contains(text(),'System')]");
lining:for(var i=0;i < allTags.snapshotLength;i++){
thisTag=allTags.snapshotItem(i);
if(thisTag.offsetParent.offsetParent.offsetParent.childNodes[0].textContent=="\nPassengers looking to Travel"){
targetGalaxy=thisTag.getAttribute("href").split("system_id=")[1];
endSys=getTile2D(targetGalaxy);
dist= Math.max( Math.abs(endSys.x - startSys.x), Math.abs(endSys.y - startSys.y) );
target=thisTag.parentNode.parentNode.childNodes[16];
tprice=target.textContent.split('for $')[1].split(',').join('');
if(dist!=0){
tresult=(tprice*1/dist);
ttext='PJ-'+dist+' for $ '+CommaFormatted(tprice);
}
else{
ttext='LS for $ '+CommaFormatted(tprice);
}
target.setAttribute('title', CommaFormatted(tresult) + ' per jump');
target.textContent=ttext;
}
else{
break lining;
}
}
}
var systemNumber=["133", "147", "148", "149", "150", "151", "152", "153", "168", "169", "170", "171", "172", "173", "188", "189", "190", "191", "192", "193", "208", "209", "210", "211", "212", "213", "228", "229", "230", "231", "232", "233", "248", "249", "250", "251", "252", "253", "254", "268"];
var systemName= ["Arcas Expanse","Asterion Expanse","Regulus Expanse","Hathor Expanse","Nespian System","Newhope Expanse","Polaris Expanse","Basian System","Tyrian System","Memorial Expanse","Midway Expanse","Perennis Expanse","Raxian System","Ursa Expanse","Iota Expanse","Altian System","Solian System","Atra Expanse","Jexian System","Antares Expanse","Zarian System","Allansia Expanse","Veranza Expanse","Casian System","Wartorn Expanse","Farian System","Lyrian System","Pulsar Expanse","Genian System","Exile Expanse","Volian System","Imperial Expanse","Meridian Expanse","Omnian System","Darkened Expanse","Adarian System","Cephalus Expanse","Desian System","Heavenly Expanse","Utopian Expanse"];
for(i=0;i < systemNumber.length;i++){
if(systemNumber[i]==CurrentGalaxy)
{
system=systemName[i];
break;
}}
var froms=system;
var ideval = document.evaluate("//form[@action[contains(.,'terminal_id')]] ", document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
for(var i = 0;i < ideval.snapshotLength; i++){
var idgrab=ideval.snapshotItem(i);
var id=idgrab.getAttribute("action").split("=")[1];
var top=idgrab.nextSibling.nextSibling.nextSibling.nextSibling.textContent;
var tos=idgrab.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.textContent;
var dsyseval=document.evaluate("//a[@href[contains(.,'system_id')]] ", document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
dsysgrab=dsyseval.snapshotItem(i);
dsysid=dsysgrab.getAttribute("href").split("system_id=")[1];
var dsys=getTile2D(dsysid);
var jumps=Math.max( Math.abs(dsys.x - csys.x), Math.abs(dsys.y - csys.y) );
var passegrab=idgrab.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.textContent;
passe=passegrab.split('X ')[1].split(',').join('');
var pricegrab=idgrab.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.textContent;
price=pricegrab.split('$')[1].split(',').join('');
var profit=passe*price;
var Link= id + "&jumps=" + jumps +
"&top=" + top + "&tos=" + tos + "&passe=" + passe + "&profit=" + profit +
"&fromp=" + fromp + "&froms=" + froms + "&price=" + price + "&rtime=" + rtime + "&cetime=" + nocetime +
" CE&up=" + uploader;
// alert(Link);
GM_xmlhttpRequest({
method: "GET",
url: "
http://black-beach.net/db/liningimport.php?id=" + Link,
headers: {
"Content-Type": "application/x-www-form-urlencoded"
},
});
}