hwm_trans_nick

Передача золота и ресурсов игроку со страницы перса игрока-получателя. События игрока

Verzia zo dňa 02.06.2022. Pozri najnovšiu verziu.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, Greasemonkey alebo Violentmonkey.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie, ako napríklad Tampermonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, % alebo Violentmonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey alebo Userscripts.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie, ako napríklad Tampermonkey.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie správcu používateľských skriptov.

(Už mám správcu používateľských skriptov, nechajte ma ho nainštalovať!)

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

(Už mám správcu používateľských štýlov, nechajte ma ho nainštalovať!)

// ==UserScript==
// @name           hwm_trans_nick
// @namespace      Demin
// @description    Передача золота и ресурсов игроку со страницы перса игрока-получателя. События игрока
// @version        3.3
// @include      /https:\/\/(www.heroeswm.ru|www.lordswm.com|my.lordswm.com)\/(pl_info.php|transfer.php|el_transfer.php).*/
// @license MIT
// ==/UserScript==

// (c) 2011-2013, demin  ( http://www.heroeswm.ru/pl_info.php?id=15091 )
// 2022 Zeleax
var version = '3.2';

if (!this.GM_getValue || (this.GM_getValue.toString && this.GM_getValue.toString().indexOf("not supported")>-1)) {
    this.GM_getValue=function (key,def) {
        return localStorage[key] || def;
    };
    this.GM_setValue=function (key,value) {
        return localStorage[key]=value;
    };
    this.GM_deleteValue=function (key) {
        return delete localStorage[key];
    };
}

var script_num = 95550;
var script_name = "HWM mod - Set link & nick for transfer (by Demin)";
var url_cur = location.href;
var url = 'https://'+location.hostname+'/';

var string, string2, string3, res, el;

if ( url_cur.match('pl_info.php') )
{

    if ( url.match('www.lordswm') ) {
        string = '->Resources';
        string2 = '->Elements';
        string3 = 'Events';
    } else {
        string = '->Ресурсы';
        string2 = '->Элементы';
        string3 = 'События';
    }

    if(res=/pl_info.php\?id=(\d+)/.exec(location.href)){
        var plID = res[1];
        var t = getE( "//a[contains(@href, 'sms-create.php')]" );

        if((t) && (res= /mailto_id=(\d+)/.exec(t.getAttribute("href"))) && (res[1])) {
            el=getE('//img[contains(@src,"male.gif")]');
            el= el.parentNode.parentNode.parentNode.parentNode.parentNode.previousSibling;
            el=getE('./b[contains(text(),"[")]', el);
            var txt=el?.innerText;
            var plName=/(\S+.+\S)\s+\[\d+\]/.exec(txt)[1];

            var span = document.createElement('span');
            span.innerHTML = '<br>&nbsp;&nbsp;<a href=transfer.php?nick=' + plName + ' title="Передать ресурсы" style="text-decoration: none;">' + string + '</a>/'+
                '<a href=el_transfer.php?nick=' + plName + ' title="Передать элементы" style="text-decoration: none;">' + string2 + '</a>/'+
                '<a href="https://daily.heroeswm.ru/event.php?lvl=0&f=-1&id='+plID+'&clan=0" title="События игрока" target="_blank" style="text-decoration: none;">'+string3+'</a>';

            t.parentNode.insertBefore( span, t.nextSibling );
        }
    }
}

if ( url_cur.match('transfer.php') )
{
    var item_name = /nick=([^&]+)/.exec( url_cur );
    if ( item_name ) {
        plName=item_name[1].replace(/\s/g, " ");

        var gold_trans = /gold=(\d+)/.exec( url_cur );
        var desc_trans = /desc=([^&]+)/.exec( url_cur );
        var els = document.getElementsByTagName('input');
        for( var i = 0; i < els.length; i++ ) {
            el = els[i];
            if( el.name == 'nick' && el.type == 'text' ) {
                el.value = urlDecode( plName );
            }
            else if( el.name == 'gold' && el.type == 'text' ) {
                if ( gold_trans ) el.value = gold_trans[1];
            }
            else if( el.name == 'desc' && el.type == 'text' ) {
                if ( desc_trans ) el.value = urlDecode( desc_trans[1] );
            }
        }

        var all_a = document.querySelector("a[href='el_transfer.php']");
        if ( all_a ) {
            all_a.href += '?nick=' + plName;
        }
    }
}


function urlDecode(string) {
    var codes = '%E0%E1%E2%E3%E4%E5%B8%E6%E7%E8%E9%EA%EB%EC%ED%EE%EF%F0%F1%F2%F3%F4%F5%F6%F7%F8%F9%FA%FB%FC%FD%FE%FF'+
        '%C0%C1%C2%C3%C4%C5%A8%C6%C7%C8%C9%CA%CB%CC%CD%CE%CF%D0%D1%D2%D3%D4%D5%D6%D7%D8%D9%DA%DB%DC%DD%DE%DF%20%A0';
    codes = codes.split('%');
    var chars = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя'+
        'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ  ';
    for (var i=0; i<codes.length; i++) string = string.split('%'+codes[i+1]).join(chars[i]);
    return string;
}

function $(id) { return document.querySelector("#"+id); }

function addEvent(elem, evType, fn) {
    if (elem.addEventListener) {
        elem.addEventListener(evType, fn, false);
    }
    else if (elem.attachEvent) {
        elem.attachEvent("on" + evType, fn);
    }
    else {
        elem["on" + evType] = fn;
    }
}

function getE(xpath,el,docObj){return (docObj?docObj:document).evaluate(xpath,(el?el:(docObj?docObj.body:document.body)),null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;}