Показ предыдущих заданий ГН
目前為
// ==UserScript==
// @name GN_ShowLastTask
// @namespace Gradient
// @description Показ предыдущих заданий ГН
// @include /.+(heroeswm|178\.248\.235\.15).+\/mercenary_guild\.php/
// @version 1.0.0
// ==/UserScript==
"use strict";
//----------------------------------------------------------------------------//
(function(){ // wrapper start
//----------------------------------------------------------------------------//
// UnifiedLibrary 1.4.0 start
//----------------------------------------------------------------------------//
//----------------------------------------------------------------------------//
// SysUtils
//----------------------------------------------------------------------------//
var GN_SysUtils = new SysUtils();
var SU = GN_SysUtils;
//----------------------------------------------------------------------------//
function SysUtils(){ // wrapper start
//----------------------------------------------------------------------------//
this.show_error = function(error_string){
throw new Error(error_string);
};
//----------------------------------------------------------------------------//
this.load_value = function(value, def){
var div = document.getElementById('GN_GM_Handler');
div.setAttribute('desc', value);
div.setAttribute('operation', 'load');
div.click();
if(div.getAttribute('state') != 'complete')
this.show_error('Ошибка при загрузке значения');
return (div.getAttribute('is_null') == 'true' ? def : div.getAttribute('value'));
};
//----------------------------------------------------------------------------//
this.check_login = function(){
var re = /.*?pl_id=\d+?.*?/gmi;
if(!re.test(document.cookie.toString()))
this.show_error('Пользователь не авторизован');
};
//----------------------------------------------------------------------------//
this.check_login();
//----------------------------------------------------------------------------//
} // wrapper end
//----------------------------------------------------------------------------//
// UnifiedLibrary end
//----------------------------------------------------------------------------//
var current_user_id = /.*?pl_id=(\d+)[^\d]*?/gmi.exec(document.cookie.toString())[1];
var mercenaries = JSON.parse(SU.load_value('GN_ShowLastTask_Tasks' + current_user_id, '[]'));
var merc_table = document.querySelector('table[width="970"] table.wbwhite td[valign="top"][align="left"]');
var b = merc_table.querySelectorAll('b');
var tasks = [];
for(var i = 0; i < b.length; ++i)
if(/(.+?)\s{(\d+)}/.test(b[i].innerHTML))
tasks.push(b[i]);
for(var i = 0; i < tasks.length; ++i){
var task = tasks[i];
var str = /(.+)\s{\d+}/.exec(task.innerHTML)[1];
for(var j = 0; j < mercenaries.length; ++j){
var merc = mercenaries[j];
if(merc.str == str){
var a = document.createElement('a');
a.href = '/war.php?lt=-1&warid=' + merc.battle;
a.textContent = ' (пред. бой, уровень ' + merc.lvl + ')';
task.parentNode.insertBefore(a, task.nextSibling);
}
}
}
//----------------------------------------------------------------------------//
}()); // wrapper end
//----------------------------------------------------------------------------//