Heroes of User Scripts

  
: [1]

: Как можно создать скрипт!  ( 6517 )

0 1 .

ГУВ [14]

  • : 5

Добрый день уважаемые! С удовольствием пользуюсь скриптами, и хочу сказать огромное спасибо их создателям. Но меня интересует как можно было создать (либо уже создан) скрипт, который бы Комплекты в инвентаре

выводил в качестве списка, как в скрипте "Набор Армии"
.
Максимум что пока смог сделать, это добавить быстрые ссылки

Сделал чтоб можно было с любой страницы снимать арты и одевать перед переходом, но в этом есть минус после "переодевания" закидывает на страницу инвентаря.

P.S. Да и сильно не ругайте если чего не так в теме создал. Первый раз все же.

Tamozhnya1 [12]

  • : 13

// HWM Weapon Set
// (c) 2011, Tamozhnya1
//
// ==UserScript==
// @name          hwmWeaponset
// @version       1
// @description   Weapon Set
// @include       http://www.heroeswm.ru/*
// ==/UserScript==
var currentSet = GM_getValue("hwmCurrentWeaponSet");
if(currentSet == undefined) currentSet = -1;
var ofSet = 65;

var strWeapon = "\u041E\u0440\u0443\u0436\u0438\u0435"; //Оружие
var setNames = new Array ();

getSetNames(); // Если заходили на страничку инвентаря, прочитаем оттуда имена наборов

var imgs = document.getElementsByTagName( 'img' );
for( var i = 0; i < imgs.length; i++ ){
  if(imgs.src.indexOf( 'logob_eng.jpg' ) > -1) {
    var d = imgs.parentNode;
   break;
  }
}
d1 = document.createElement( 'div' );
d.appendChild( d1 ) ;

d1.id = 'weaponSets_d1' ;
addStyle( '#weaponSets_d1 { position:absolute;margin:0 0 0 ' + ofSet + 'px; }' );

d4 = document.createElement( 'div' );
d4.id = 'weaponSets_d4' ;
d4.innerHTML = strWeapon;
addStyle( '#weaponSets_d4 { float:left;text-align:left;background:#6b6b69;color:#f5c137;border: 1px solid #f5c137;padding: 2px 5px;font-weight:bold; }' );
addStyle( '#hwm_army_get_test1  { position:absolute;margin:0px 0 0 ' + (ofSet - 120) + 'px; }' );
addStyle( '#hwm_skill_get_test1 { position:absolute;margin:0px 0 0 ' + (ofSet - 65)  + 'px; }' );
addStyle( '#weaponSets_d4 A { color:#f5c137; }' );
d4.style.cursor = 'pointer' ;
d4.addEventListener( "click", toggleSets , false );
d1.appendChild( d4 ) ;

d5 = document.createElement( 'div' );
d4.appendChild( d5 ) ;

d5.id = 'weaponSets_d5' ;
addStyle( '#weaponSets_d5 { padding: 5px; display:none; }' );
for(var i = 0; i < setNames.length ; i++ ) {
  if(setNames) d5.appendChild(addMenuItem(i));
}


function toggleSets() {
   div_skill_sets = document.getElementById( 'weaponSets_d5' )
   div_skill_sets.style.display = div_skill_sets.style.display == 'block' ? 'none' : 'block' ;
}
function addMenuItem( i ) {
   var td = document.createElement( 'div' );
   var bt = document.createElement( 'a' );
   td.appendChild(bt) ;

   bt.href = 'javascript:void(0);' ;
   bt.addEventListener( "click", deressSet , false );
   bt.id = "weaponSet" + i;
   if(currentSet == i ) {
      bt.style.fontWeight = 'bold' ;
      bt.style.color = '#0f0' ;
   }
   bt.appendChild(document.createTextNode(setNames)) ;

   return td ;
}
function deressSet() {
   var setNumber = parseInt(this.id.substr(9));
   GM_setValue("hwmCurrentWeaponSet", setNumber);
    url = "http://www.heroeswm.ru/inventory.php?all_" + (setNumber == 0 ? "off=100" : "on=" + setNumber);
   GM_xmlhttpRequest
   ({
      method: "GET",
      url: url,
      onload:function(res) {document.location.reload();}
   });
   return false;
}
function getSetNames () {
  setNames[0] = "\u0421\u043D\u044F\u0442\u044C \u0432\u0441\u0451";

  if(window.location.href == "http://www.heroeswm.ru/inventory.php") {
    var a = document.getElementsByTagName("a");
   var setRefs = new Array();
   for (var i = 0; i < a.length; i++) {
      if(a.href.indexOf("inventory.php?all_off") >= 0) {
      a.addEventListener( "click", setSelect, false );
     }
      if(a.href.indexOf("inventory.php?all_on") >= 0) {
       setNumber = parseInt(a.href.substr(a.href.indexOf("all_on=") + 7, 1));
       setRefs[setNumber] = a;
      a.addEventListener( "click", setSelect, false );
     }
    }
   for (var i = 1; i < 6; i++) {
     if(setRefs) {
      setNames = setRefs.innerHTML;
      GM_setValue("weaponSet" + i, setNames);
     }
     else {
      GM_setValue("weaponSet" + i, "");
     }
   }
  }
  else {
    for (var i = 1; i < 6; i++) {
     curName = GM_getValue("weaponSet" + i);
     if(curName != undefined && curName != "") {
      setNames = curName;
     }
   }
  }
}
function setSelect () {
  if (this.href.indexOf("all_on=") > -1)
    setNumber = parseInt(this.href.substr(this.href.indexOf("all_on=") + 7, 1));
  else setNumber = 0;
  GM_setValue("hwmCurrentWeaponSet", setNumber);
}
function addStyle( css ){
   var h , style ;
   h = document.getElementsByTagName('head')[0];
   if( !h ) return;
   style = document.createElement( 'style' );
   style.type = 'text/css';
   style.innerHTML = css;
   h.appendChild( style );
}

Tamozhnya1 [12]

  • : 13

Установка пока ручная. Два варианта:
1) Сохранить текст в файле с расширением weaponset.js, а потом перетащить из проводника в окно мозиллы
2) В КрэзиМонкей создать новый пустой скрипт. Название / пространство имен / описание: WeaponSet.
Далее с управлении скриптами: правая кнопка мыши на скрипте: изменить. Вставить в открывшийся редактор текст скрипта. Сохранить.
У меня в win7 не находится путь, и я использую пкм: показать содержащую папку, и уже в проводнике пкм на файле: изменить. Вставляем текст, сохраняем.

Tamozhnya1 [12]

  • : 13

Съедаются при загрузке части скрипта.

Tamozhnya1 [12]

  • : 13

Не могу пока опубликовать скрипт, съедаются части

Tamozhnya1 [12]

  • : 13

demin выложил его здесь: http://userscripts.org/users/263230/scripts

ГУВ [14]

  • : 5

Спасибо то чего хотелось)

Tamozhnya1 [13]

  • : 13

Есть обновлённый доработанный скрипт, совмещающий все наборы от Хочухи и Таможни:
http://userscripts.org/scripts/show/121209
: [1]