Händlerscript: Unterschied zwischen den Versionen
Aus Horizon
WoF (Diskussion | Beiträge) |
WoF (Diskussion | Beiträge) |
||
Zeile 9: | Zeile 9: | ||
//Settings:(nur hier was verändern) | //Settings:(nur hier was verändern) | ||
+ | //Variablen | ||
+ | |||
+ | //Faktoren immer erz:mineral:teibstoff als ist basis ts | ||
+ | var erz = 4; | ||
+ | var mineral = 2; | ||
+ | var ts = 1; | ||
+ | |||
+ | // in welchen bereich das angebot noch den gleichteueren zugeordnet wird, Auschalten bei 0 | ||
+ | // Bsp: toleranz = 0.05 -> von 1:1.95 bis 2.05 (inkuive) ist der preis gleich! | ||
+ | var toleranz = 2; | ||
+ | |||
+ | //Farben der ausgewerteten Angebote | ||
+ | var gut = "#00FF00"; | ||
+ | var gleich = "#00FFFF"; | ||
+ | var schlecht = "#CC3333"; | ||
+ | |||
+ | //Script | ||
function my_parseNumber(n) { | function my_parseNumber(n) { | ||
if (n.length==undefined) n = "" + n; | if (n.length==undefined) n = "" + n; | ||
Zeile 49: | Zeile 66: | ||
} | } | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
var vergleichswerte = new Array(ts/erz,mineral/erz,erz/mineral,ts/mineral,erz/ts,mineral/ts); | var vergleichswerte = new Array(ts/erz,mineral/erz,erz/mineral,ts/mineral,erz/ts,mineral/ts); | ||
var toleranzplus = new Array(toleranz,toleranz,toleranz,toleranz,toleranz,toleranz); | var toleranzplus = new Array(toleranz,toleranz,toleranz,toleranz,toleranz,toleranz); |
Version vom 28. März 2013, 17:01 Uhr
Dieses Script ergänzt die Anzeige eines Händlerevents um Informationen wie gut oder schlecht die einzelnen Handelsvorschläge sind.
// ==UserScript== // @name Haendlerrechner_0.60 // @namespace goetterheimat // @include *game.horiversum.org/game/main/main.php?cmd=message&send=sent&subcmd=*&action=view* // Version: 0.2b // ==/UserScript== //Settings:(nur hier was verändern) //Variablen //Faktoren immer erz:mineral:teibstoff als ist basis ts var erz = 4; var mineral = 2; var ts = 1; // in welchen bereich das angebot noch den gleichteueren zugeordnet wird, Auschalten bei 0 // Bsp: toleranz = 0.05 -> von 1:1.95 bis 2.05 (inkuive) ist der preis gleich! var toleranz = 2; //Farben der ausgewerteten Angebote var gut = "#00FF00"; var gleich = "#00FFFF"; var schlecht = "#CC3333"; //Script function my_parseNumber(n) { if (n.length==undefined) n = "" + n; var val = 0; var div = 1; var komma = div; for(var i=0;i<n.length;i++) { var ch = n.charAt(i); if (ch.match(/^\d$/)) { val = val * 10 + (ch*1); div = div * komma; } else if (ch==','||ch=='.') { komma = 10; } else if (ch.toLowerCase()=='m') { return Math.floor(val * 1000000 / div); } else if (ch.toLowerCase()=='k') { return Math.floor(val * 1000 / div); } } return Math.floor(val/div); } function my_numberFormat(strObj){ // Formatierung hinzufügen, aber nur für Zahlen var sign=""; if (strObj<0) sign="-"; var strZahl = my_parseNumber(strObj); if(strZahl) { var integer = Math.abs(strZahl).toString(); if (integer.length>3) { // ab Tausenderwerten for (var i = integer.length - 3; i > 0; i -= 3) integer = integer.substring (0 , i) + "'" + integer.substring (i); return sign+integer; } else { return strZahl; } } else { return 0; } } var vergleichswerte = new Array(ts/erz,mineral/erz,erz/mineral,ts/mineral,erz/ts,mineral/ts); var toleranzplus = new Array(toleranz,toleranz,toleranz,toleranz,toleranz,toleranz); var toleranzminus = new Array(-toleranz,-toleranz,-toleranz,-toleranz,-toleranz,-toleranz); var td = null; // '//table[@class="MessageTable"]//td[@class="MessageTableCellLeft"]' // /html/body/div[5]/div[2]/div[2]/form/table[2]/tbody/tr/td var tab = document.evaluate('//form//td[@class="MessageTableCellLeft"]', document, null, XPathResult.ANY_TYPE, null ); tab.iterateNext(); td = tab.iterateNext(); if (td != null && td.innerHTML.match(/Fliegender H.ndler/) && td.childNodes.length >=17){ var i = 0; td.childNodes[3].innerHTML += " ... Verhältnis: [ " + my_numberFormat(erz) + " : " + my_numberFormat(mineral) + " : " + my_numberFormat(ts) + " ] Toleranz: " + toleranz; for (i = 0;i < 6; i += 1){ //alert(td.childNodes[(i*2+5)].innerHTML); var a = td.childNodes[((i+1)*2+5)].childNodes[1]; var nummer = a.innerHTML.split("nur"); nummer[0] = nummer[0].replace(/\D+/ig,""); var wert = nummer[1].replace(/\D+/ig,""); var soll = vergleichswerte[i]*nummer[0]; var sollplus = (1+toleranzplus[i]/100)*soll; var sollminus = (1+toleranzminus[i]/100)*soll; a.innerHTML = a.innerHTML + " " + my_numberFormat(soll) + " (" + my_numberFormat(soll-wert) + ")"; if (wert < sollminus) { a.setAttribute("style","color:"+ gut); } else { if (wert<sollplus) { a.setAttribute("style","color:"+ gleich); } else { a.setAttribute("style","color:"+ schlecht); } } } }