Advertisement
megavolt82

Минусовалочка от megavolt для Кавиком

Sep 4th, 2017
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name         Батрхертомейкер
  3. // @namespace    kavikom.ru
  4. // @version      1.0
  5. // @description  Просто введи ник и нажми на кнопку
  6. // @author       megavolt
  7. // @include      http://www.kavicom.ru/*
  8. // @grant       GM_getValue
  9. // @grant       GM_setValue
  10. // @grant       GM_registerMenuCommand
  11. // ==/UserScript==
  12.  
  13. // [1] Оборачиваем скрипт в замыкание, для кроссбраузерности (opera, ie)
  14. (function (window, undefined) {  // [2] нормализуем window
  15.     var w;
  16.     if (typeof unsafeWindow !== undefined) {
  17.         w = unsafeWindow;
  18.     } else {
  19.         w = window;
  20.     }
  21.     // В юзерскрипты можно вставлять практически любые javascript-библиотеки.
  22.     // Код библиотеки копируется прямо в юзерскрипт.
  23.     // При подключении библиотеки нужно передать w в качестве параметра окна window
  24.     // Пример: подключение jquery.min.js
  25.     // (function(a,b){function ci(a) ... a.jQuery=a.$=d})(w);
  26.  
  27.     // [3] не запускаем скрипт во фреймах
  28.     // без этого условия скрипт будет запускаться несколько раз на странице с фреймами
  29.     if (w.self != w.top) {
  30.         return;
  31.     }
  32. //--------------------------------------------------------------------------------------------------
  33.     text =
  34.         "<div style='position: fixed; z-index: 1000;" +
  35.         "top: 1px; left: 1px; background: #fff;" +
  36.         "border: 1px solid #000; padding: 1px;'" +
  37.         "name='skip' id='skip'>"+
  38.         "<input type='button' id='gm_skipbtn' name='gm_skipbtn' value='X'>"+
  39.         "</div>";
  40.  
  41.     text = text+
  42.         "<div style='position: fixed; z-index: 1000; display: "+GM_getValue('displaywindows', 'none')+";" +
  43.         "top: 25px; left: 1px; background: #fff;" +
  44.         "border: 2px solid #000; padding: 10px;'" +
  45.         "name='opts' id='opts'>"+
  46.         "Имя пользователя"+
  47.         "<br><input type='text' id='gm_val' name='gm_val' value='"+GM_getValue('enemyuser', '')+"'>"+
  48.         "<br><input type='button' id='gm_save' name='gm_save' value='"+GM_getValue('buttontext', 'Минусим')+"'>"+
  49.         "</div>";
  50.  
  51.  
  52.     var opts = document.createElement("div");
  53.     var link1 = "http://www.kavicom.ru/publications-profile-";
  54.     var link2= "-comments-";
  55.     var link3= GM_getValue('pagenumber', 1);
  56.     var link4=".html";
  57.     var link = "";
  58.     var currentlink = decodeURI (window.location.href);
  59.     console.log ("currentlink = ",currentlink);
  60.     console.log ("targetlink = ",GM_getValue('targetlink',''));
  61.     console.log ("FIRE = ",GM_getValue('fire',0));
  62.  
  63.     opts.innerHTML = text;
  64.     if( document.getElementById('mceModalBlocker') ===undefined) alert();
  65.     document.body.insertBefore(opts, document.getElementsByTagName('body')[0].firstChild);
  66.     if( document.getElementById('mceModalBlocker') !==undefined)
  67.         document.addEventListener('click', function(event) {
  68.             if(event.target.getAttribute('name') == 'gm_skipbtn') {
  69.                 GM_setValue('val', document.getElementById('gm_val').value);
  70.                 if(document.getElementById('opts').style.display=='none')
  71.                 {
  72.                     document.getElementById('opts').style.display = '';
  73.                     GM_setValue('displaywindows', '');
  74.                 }
  75.                 else
  76.                 {
  77.                     document.getElementById('opts').style.display = 'none';
  78.                     GM_setValue('displaywindows', 'none');
  79.                 }
  80.             }
  81.             if(event.target.getAttribute('name') == 'gm_save') {
  82.                 if(GM_getValue('fire',1)===0) // если минусование не ведется
  83.                 {
  84.                     GM_setValue('fire', 1); // ведём минусование
  85.                     GM_setValue('enemyuser', document.getElementById('gm_val').value);
  86.                     link=link1+document.getElementById('gm_val').value+link2+link4;
  87.                     GM_setValue('pagenumber', 1);
  88.                     console.log ("link = ",link);
  89.                     GM_setValue('targetlink',link);
  90.                     GM_setValue('buttontext', 'Отставить');
  91.                     window.location = link;
  92.  
  93.                 }
  94.                 else
  95.                     if(GM_getValue('fire', 0)===1) // если минусование ведется
  96.                     {
  97.                         GM_setValue('fire', 0); // прекращаем минусование
  98.                         GM_setValue('pagenumber', 1);
  99.                         GM_setValue('buttontext', 'Минусим');
  100.                         GM_setValue('targetlink', '');
  101.                         window.location = "http://www.kavicom.ru/partners-intervals.html";
  102.  
  103.                     }
  104.             }
  105.         }, true);
  106.  
  107.     if(currentlink === GM_getValue('targetlink', '')&&GM_getValue('fire', 1)===1)
  108.     {
  109.         console.log ("мы на месте");
  110.         //    GM_setValue('fire', 1); // ведём минусование
  111.         console.log ("FIRE !!! ");
  112.         clickOne();
  113.         GM_setValue('pagenumber', ++link3);
  114.         setTimeout(next,30000);
  115.     }
  116.     else
  117.     {
  118.         GM_setValue('fire', 0); // отставить минусование
  119.         GM_setValue('pagenumber', 1);
  120.         GM_setValue('buttontext', 'Минусим');
  121.         GM_setValue('targetlink', '');
  122.         GM_setValue('pagenumber', 1);
  123.         document.getElementById('gm_save').value = 'Минусить';
  124.     }
  125.  
  126.  
  127. function clickOne()
  128. {
  129.     var spans = document.getElementsByClassName("vote-numbers minus");
  130.     if(GM_getValue('fire', 0)===1)
  131.         for(i=0;i<spans.length;i++)
  132.         {
  133.             var spansplus = spans[i].getElementsByTagName("span");
  134.             if(spansplus[spansplus.length-1]!==undefined)
  135.             {
  136.                 setTimeout(function(i,spansplus) {spansplus[spansplus.length-1].click();},1000+(Math.random()*1000) + (i+1)*1250,i,spansplus);
  137.             }
  138.         }
  139. }
  140.  
  141. function next()
  142. {
  143.     link=link1+GM_getValue('enemyuser')+link2+link3+link4;
  144.     GM_setValue('targetlink',link);
  145.     window.location = link;
  146. }
  147.  
  148. })(window);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement