Advertisement
Guest User

AdBlock Simulator

a guest
Sep 22nd, 2016
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name        Adblock Sim
  3. // @namespace   http://www.neopets.com/objects.phtml?*
  4. // @include     http://www.neopets.com/objects.phtml?*
  5. // @version     1
  6. // @grant   GM_getValue
  7. // @grant   GM_setValue
  8. // ==/UserScript==
  9. var _0xa7da = [
  10.   'type=shop',
  11.   'match',
  12.   'href',
  13.   'location',
  14.   'obj_type=',
  15.   'value',
  16.   'obj_type',
  17.   'getElementsByName',
  18.   'div',
  19.   'createElement',
  20.   'innerHTML',
  21.   '<textarea wrap=\'off\' style=\'border: solid 1px; overflow:auto; background-color: #FFFFFF; width: 150px; height: 200px; \'id=\'restockList\'>',
  22.   'restockList_',
  23.   '',
  24.   '</textarea>',
  25.   '<input type=\'button\' id=\'saveButton\' value=\'Save as Adblock list\'>',
  26.   'style',
  27.   'position: relative; text-align: center',
  28.   'setAttribute',
  29.   'singleNodeValue',
  30.   '//div[contains(@class,"sidebarModule") and descendant::a[contains(@href,"quickref.phtml")]]',
  31.   'evaluate',
  32.   '<div class="sidebarModule" style="margin-bottom: 7px;"><table width="160" cellpadding="2" cellspacing="0" border="0" class="sidebarTable"><tr><td valign="middle" class="sidebarHeader medText">AdBlock Simulator<br>by Peentje @DZ</td></tr><td class="neofriend" align="center">',
  33.   '<br>',
  34.   '</div>',
  35.   'insertBefore',
  36.   'parentNode',
  37.   'click',
  38.   '\n',
  39.   'split',
  40.   'restockList',
  41.   'getElementById',
  42.   'addEventListener',
  43.   'saveButton',
  44.   '//table[@align = \'center\' and @cellpadding = \'4\']/tbody//td',
  45.   'snapshotLength',
  46.   'snapshotItem',
  47.   '//table[@align = \'center\' and @cellpadding = \'4\']',
  48.   'onclick',
  49.   'getAttribute',
  50.   'a',
  51.   'getElementsByTagName',
  52.   'you wish to purchase ',
  53.   ' at ',
  54.   'length',
  55.   'toLowerCase',
  56.   'push',
  57.   'removeChild',
  58.   '//table[@align = \'center\' and @cellpadding = \'4\']/tbody/tr',
  59.   'undefined',
  60.   'appendChild',
  61.   'splice',
  62.   '//td[@class = \'contentModuleHeader\']/b',
  63.   'Shop Inventory currently contains <b><font color=#3BB9FF>',
  64.   '</font></b> items (click <u><div style=\'cursor:pointer; display:inline;\' id=\'hiddenItems\'>here</div></u> to view full shop stock)',
  65.   'hiddenItems',
  66.   'replace',
  67.   'join',
  68.   'indexOf',
  69.   'substring'
  70. ];
  71. if (document[_0xa7da[3]][_0xa7da[2]][_0xa7da[1]](_0xa7da[0]) && document[_0xa7da[3]][_0xa7da[2]][_0xa7da[1]](_0xa7da[4])) {
  72.   shopID = document[_0xa7da[7]](_0xa7da[6]) [0][_0xa7da[5]];
  73.   var restockList = document[_0xa7da[9]](_0xa7da[8]);
  74.   restockList[_0xa7da[10]] = _0xa7da[11] + GM_getValue(_0xa7da[12] + shopID, _0xa7da[13]) + _0xa7da[14];
  75.   var saveButton = document[_0xa7da[9]](_0xa7da[8]);
  76.   saveButton[_0xa7da[10]] = _0xa7da[15];
  77.   saveButton[_0xa7da[18]](_0xa7da[16], _0xa7da[17]);
  78.   var insertbox = document[_0xa7da[21]](_0xa7da[20], document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null) [_0xa7da[19]];
  79.   if (insertbox) {
  80.     var GUI = document[_0xa7da[9]](_0xa7da[8]);
  81.     GUI[_0xa7da[10]] = _0xa7da[22] + restockList[_0xa7da[10]] + _0xa7da[23] + saveButton[_0xa7da[10]] + _0xa7da[24];
  82.     insertbox[_0xa7da[26]][_0xa7da[25]](GUI, insertbox);
  83.   };
  84.   document[_0xa7da[31]](_0xa7da[33]) [_0xa7da[32]](_0xa7da[27], function () {
  85.     GM_setValue(_0xa7da[12] + shopID, cleanList(document[_0xa7da[31]](_0xa7da[30]) [_0xa7da[5]][_0xa7da[29]](_0xa7da[28])));
  86.     document[_0xa7da[31]](_0xa7da[30]) [_0xa7da[5]] = GM_getValue(_0xa7da[12] + shopID, _0xa7da[13]);
  87.   }, false);
  88.   AdBlock();
  89. };
  90. function AdBlock() {
  91.   c = GM_getValue(_0xa7da[12] + shopID, _0xa7da[13]) [_0xa7da[29]](_0xa7da[28]);
  92.   a = document[_0xa7da[21]](_0xa7da[34], document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
  93.   b = a[_0xa7da[35]];
  94.   h = new Array();
  95.   if (b > 0) {
  96.     hiddenItems = document[_0xa7da[21]](_0xa7da[37], document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null) [_0xa7da[36]](0) [_0xa7da[10]];
  97.     for (i = 0; i < b; i++) {
  98.       if (a[_0xa7da[36]](i) [_0xa7da[41]](_0xa7da[40]) [0][_0xa7da[39]](_0xa7da[38]) != null) {
  99.         itemName = GetBetween(a[_0xa7da[36]](i) [_0xa7da[41]](_0xa7da[40]) [0][_0xa7da[39]](_0xa7da[38]), _0xa7da[42], _0xa7da[43]);
  100.         for (j = 0; j < c[_0xa7da[44]]; j++) {
  101.           if (c[j][_0xa7da[45]]() == itemName[_0xa7da[45]]()) {
  102.             h[_0xa7da[46]](a[_0xa7da[36]](i));
  103.             break;
  104.           };
  105.         };
  106.         a[_0xa7da[36]](i) [_0xa7da[26]][_0xa7da[47]](a[_0xa7da[36]](i));
  107.       };
  108.     };
  109.     if (h[_0xa7da[44]] > 0) {
  110.       for (i = 0; i < (h[_0xa7da[44]] / 6) + 1; i++) {
  111.         f = document[_0xa7da[21]](_0xa7da[48], document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null) [_0xa7da[36]](i);
  112.         for (j = 0; j < 6; j++) {
  113.           if (typeof h[0] != _0xa7da[49]) {
  114.             f[_0xa7da[50]](h[0]);
  115.             h[_0xa7da[51]](0, 1);
  116.           };
  117.         };
  118.       };
  119.     };
  120.     document[_0xa7da[21]](_0xa7da[52], document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null) [_0xa7da[36]](0) [_0xa7da[10]] = _0xa7da[53] + b + _0xa7da[54];
  121.     document[_0xa7da[31]](_0xa7da[55]) [_0xa7da[32]](_0xa7da[27], function () {
  122.       document[_0xa7da[21]](_0xa7da[37], document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null) [_0xa7da[36]](0) [_0xa7da[10]] = hiddenItems;
  123.     }, false);
  124.   };
  125. };
  126. function cleanList(_0xaca9x7) {
  127.   b = new Array();
  128.   for (i = 0; i < _0xaca9x7[_0xa7da[44]]; i++) {
  129.     _0xaca9x7[i] = _0xaca9x7[i][_0xa7da[56]](/^[ \t]+|[ \t]+$/g, _0xa7da[13]);
  130.     if (_0xaca9x7[i] != _0xa7da[13]) {
  131.       b[_0xa7da[46]](_0xaca9x7[i]);
  132.     };
  133.   };
  134.   return b[_0xa7da[57]](_0xa7da[28]);
  135. };
  136. function GetBetween(_0xaca9x7, _0xaca9x9, _0xaca9xa) {
  137.   var _0xaca9x7 = _0xaca9x7;
  138.   var _0xaca9x9 = _0xaca9x9;
  139.   var _0xaca9xa = _0xaca9xa;
  140.   var _0xaca9xb = _0xaca9x7[_0xa7da[58]](_0xaca9x9);
  141.   var _0xaca9xc = _0xaca9x7[_0xa7da[58]](_0xaca9xa, _0xaca9xb);
  142.   if (_0xaca9xc > _0xaca9xb && _0xaca9xb > - 1) {
  143.     return _0xaca9x7[_0xa7da[59]](_0xaca9xb + _0xaca9x9[_0xa7da[44]], _0xaca9xc);
  144.   } else {
  145.     return _0xa7da[13];
  146.   };
  147. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement