Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name Neopets Auto Haggle
- // @namespace http://www.neofriends.net/
- // @description Auto haggle in main shops
- // @include http://neopets.com/haggle.phtml*
- // @include http://www.neopets.com/haggle.phtml*
- // @include www.neopets.com/haggle.phtml*
- // @include neopets.com/haggle.phtml*
- // ==/UserScript==
- function run_cap()
- {
- if (document.location.href.match('haggle.phtml') && (document.body.innerHTML.indexOf('captcha_show.phtml') > -1))
- {
- if(document.body.innerHTML.indexOf("I wont take less than ") > -1)
- {
- start_pos = document.body.innerHTML.indexOf("I wont take less than ") + 22;
- end_pos = document.body.innerHTML.indexOf(" Neopoints for it");
- raw_price = document.body.innerHTML.substr(start_pos,end_pos-start_pos);
- raw_price = raw_price.replace(",","");
- document.body.innerHTML = document.body.innerHTML.replace("value=\"0\"","value=\""+haggle_price(raw_price)+"\"");
- }
- if(document.body.innerHTML.indexOf("I want at least ") > -1)
- {
- start_pos = document.body.innerHTML.indexOf("I want at least ") + 16;
- end_pos = document.body.innerHTML.indexOf(" Neopoints for this great item");
- raw_price = document.body.innerHTML.substr(start_pos,end_pos-start_pos);
- raw_price = raw_price.replace(",","");
- document.body.innerHTML = document.body.innerHTML.replace("value=\"0\"","value=\""+haggle_price(raw_price)+"\"");
- }
- const baseUrl = "http://www.neopets.com"
- var image = document.getElementsByTagName('input')[12].getAttribute("src");
- var newImg = new Image();
- var combined = new Image()
- combined.src = baseUrl + image;
- combined.onload = function(){
- newImg = combined;
- var canvas = document.createElement('canvas');
- canvas.width = newImg.width;
- canvas.height = newImg.height;
- console.log(newImg.width);
- var context = canvas.getContext("2d");
- context.drawImage(newImg, 0, 0);
- var image_data = context.getImageData(0, 0, newImg.width, newImg.height);
- var pix = image_data.data;
- var pixel = 0;
- var darkest_pixel_lightness = 100;
- var darkest_pixel_location = 0;
- for (var k = 0; k < pix.length; k += 4, pixel++)
- {
- red = pix[k];
- green = pix[k+1];
- blue = pix[k+2];
- alpha = pix[k+3];
- if (alpha === 0) {
- continue;
- }
- // console.log(Math.floor(pixel / canvas.width) + " ", k % canvas.width);
- var hsl = rgbToHsl(red, green, blue);
- var lightness = hsl.l;
- if (lightness < darkest_pixel_lightness) {
- darkest_pixel_lightness = lightness;
- darkest_pixel_location = pixel;
- }
- }
- var y = Math.floor(darkest_pixel_location / canvas.width);
- var x = darkest_pixel_location % canvas.width;
- }
- }
- alert('x: '+x+' y: '+y);
- }
- function rgbToHsl(r, g, b) {
- r /= 255, g /= 255, b /= 255;
- var max = Math.max(r, g, b),
- min = Math.min(r, g, b);
- var h, s, l = (max + min) / 2;
- if (max == min) {
- h = s = 0;
- } else {
- var d = max - min;
- s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
- switch (max) {
- case r:
- h = (g - b) / d + (g < b ? 6 : 0);
- break;
- case g:
- h = (b - r) / d + 2;
- break;
- case b:
- h = (r - g) / d + 4;
- break;
- }
- h /= 6;
- }
- return ({
- h: h,
- s: s,
- l: l,
- });
- }
- function haggle_price(raw_price)
- {
- var iVal = new Array(2);
- iVal[0] = raw_price.substr(0,1);
- iVal[1] = raw_price.substr(1,1);
- var x = 0;
- var end_price = "";
- for(x=0; x<raw_price.length; x++)
- {
- end_price += iVal[(x%2)];
- }
- return end_price;
- }
- window.addEventListener('load', run_cap, false);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement