04.06.2014 09:24
0 31 0
Анализ протоколов. Защиты, скрипт.
Выложить на юзерсскриптс возможности нет, поэтому ограничусь блогом.
Скрипт делает следующее. При заходе в протокол клана и указании страницы протокола -1, он собирает информацию по защитам с первых 5-ти страниц протокола.
Вывод происходит в следующем виде::
03-06-14 20:55;Wolf Dale-З1; bes1976 [17], grec [18], адская_тьма [14] vs #782: проиграно 6%
03-06-14 20:55;Wolf Dale-З1; atomUA [15], MURHIK [16], AKVANAVT [15] vs #782: получено героями 4,600 золота
03-06-14 20:55;Wolf Dale-З1; вельзеул113 [13], Mak_1805 [13], janjak [15]: получено героями 4,100 золота
03-06-14 20:55;Wolf Dale-З1; DNEPROVEC [16], STRONGMAN [15], blok18 [16]: получено героями 4,700 золота
03-06-14 20:55;Wolf Dale-З1; паняша [16], fisher_09 [16], -тигрица-- [16]: получено героями 4,800 золота
03-06-14 20:55;Wolf Dale-З1; димондимон [17], Bizonholod [17], Эллада_09 [17]: получено героями 5,100 золота
03-06-14 20:55;Wolf Dale-З1; DR2D [18], Ордан [18], XxBlooDxX [16]: получено героями 5,200 золота
03-06-14 18:45;Wolf Dale-З2; DR2D [18], slav007 [15]: получено героями 3,300 золота
Собственно, сам скрипт:
// ==UserScript==
// @name hvm_klan_def_protokol
// @author FireSwarm
// @version 1.0
// @description hvm_klan_def_protokol
// @unwrap
// @run-at document-end
// @include http://my.lordswm.com/*
// @match http://my.lordswm.com/*
// @grant none
// ==/UserScript==
(function(){
var count = 5;
if (window.location.toString().indexOf("http://my.lordswm.com/clan_log.php?id=") > -1
&& window.location.toString().indexOf("&page=-1") > -1) {
var klanlog = window.location.toString().substring(0, window.location.toString().indexOf("=-1") + 1);
var messages = document.querySelectorAll("td");
for (i = 1; i < count; i++) {
var request=new XMLHttpRequest();
request.open("GET", klanlog, false);
request.overrideMimeType("text/plain;charset=windows-1251");
request.send(null);
var t = request.responseText.substring(request.responseText.indexOf(' '));
t = t.substring(0, t.indexOf("</td></tr>"))
messages[messages.length - 1].innerHTML = messages[messages.length - 1].innerHTML + t;
}
var t = messages[messages.length - 1].innerHTML.split(" ");
var s = "";
for (i = 1; i < t.length; i++) {
if (t.indexOf("Нападение Сурвилургов") > 0) {
var link = t.substring(t.indexOf("clan_mwlog.php?key"));
link = link.substring(0, link.indexOf('история') - 2);
link = link.replace("amp;", "");
var request=new XMLHttpRequest();
request.open("GET", link, false);
request.overrideMimeType("text/plain;charset=windows-1251");
request.send(null);
var result = request.responseText;
result = result.substring(result.indexOf("1) "))
var lt = result.split(") (");
for (j = 1; j < lt.length; j++) {
lt[j] = lt[j].substring(lt[j].indexOf("бой") + 8);
lt[j] = lt[j].substring(0, lt[j].indexOf("<BR>"));
s = s + t.substring(0, t.indexOf(" с предприятием")).replace(": Нападение Сурвилургов на ", ";") + ";";
s = s + lt[j] + "<br>";
}
}
}
messages[messages.length - 1].innerHTML = s;
}
})();
Скрипт делает следующее. При заходе в протокол клана и указании страницы протокола -1, он собирает информацию по защитам с первых 5-ти страниц протокола.
Вывод происходит в следующем виде::
03-06-14 20:55;Wolf Dale-З1; bes1976 [17], grec [18], адская_тьма [14] vs #782: проиграно 6%
03-06-14 20:55;Wolf Dale-З1; atomUA [15], MURHIK [16], AKVANAVT [15] vs #782: получено героями 4,600 золота
03-06-14 20:55;Wolf Dale-З1; вельзеул113 [13], Mak_1805 [13], janjak [15]: получено героями 4,100 золота
03-06-14 20:55;Wolf Dale-З1; DNEPROVEC [16], STRONGMAN [15], blok18 [16]: получено героями 4,700 золота
03-06-14 20:55;Wolf Dale-З1; паняша [16], fisher_09 [16], -тигрица-- [16]: получено героями 4,800 золота
03-06-14 20:55;Wolf Dale-З1; димондимон [17], Bizonholod [17], Эллада_09 [17]: получено героями 5,100 золота
03-06-14 20:55;Wolf Dale-З1; DR2D [18], Ордан [18], XxBlooDxX [16]: получено героями 5,200 золота
03-06-14 18:45;Wolf Dale-З2; DR2D [18], slav007 [15]: получено героями 3,300 золота
Собственно, сам скрипт:
// ==UserScript==
// @name hvm_klan_def_protokol
// @author FireSwarm
// @version 1.0
// @description hvm_klan_def_protokol
// @unwrap
// @run-at document-end
// @include http://my.lordswm.com/*
// @match http://my.lordswm.com/*
// @grant none
// ==/UserScript==
(function(){
var count = 5;
if (window.location.toString().indexOf("http://my.lordswm.com/clan_log.php?id=") > -1
&& window.location.toString().indexOf("&page=-1") > -1) {
var klanlog = window.location.toString().substring(0, window.location.toString().indexOf("=-1") + 1);
var messages = document.querySelectorAll("td");
for (i = 1; i < count; i++) {
var request=new XMLHttpRequest();
request.open("GET", klanlog, false);
request.overrideMimeType("text/plain;charset=windows-1251");
request.send(null);
var t = request.responseText.substring(request.responseText.indexOf(' '));
t = t.substring(0, t.indexOf("</td></tr>"))
messages[messages.length - 1].innerHTML = messages[messages.length - 1].innerHTML + t;
}
var t = messages[messages.length - 1].innerHTML.split(" ");
var s = "";
for (i = 1; i < t.length; i++) {
if (t.indexOf("Нападение Сурвилургов") > 0) {
var link = t.substring(t.indexOf("clan_mwlog.php?key"));
link = link.substring(0, link.indexOf('история') - 2);
link = link.replace("amp;", "");
var request=new XMLHttpRequest();
request.open("GET", link, false);
request.overrideMimeType("text/plain;charset=windows-1251");
request.send(null);
var result = request.responseText;
result = result.substring(result.indexOf("1) "))
var lt = result.split(") (");
for (j = 1; j < lt.length; j++) {
lt[j] = lt[j].substring(lt[j].indexOf("бой") + 8);
lt[j] = lt[j].substring(0, lt[j].indexOf("<BR>"));
s = s + t.substring(0, t.indexOf(" с предприятием")).replace(": Нападение Сурвилургов на ", ";") + ";";
s = s + lt[j] + "<br>";
}
}
}
messages[messages.length - 1].innerHTML = s;
}
})();