DeletedUser194696
Guest
Siemka, posiada ktoś może skrypt dzięki któremu utworzymy tabelkę dziennej farmy każdej osoby w plemieniu na jego forum?
// ==UserScript==
// @name Ranking Rabusia
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match https://*.plemiona.pl/*screen=info_member*
// @grant none
// ==/UserScript==
if(game_data.screen!='info_member'){
UI.InfoMessage('Przejdz do listy graczy', 3000, true);
end();
}
function logData(a, b) {
console.log("p ", b), $(".row_a, .row_b, .row_c")
.find('a:contains("' + b + '")')
.parent()
.siblings()
.filter(".f")
.text($(a)
.find("#in_a_day_ranking_table tr td")
.eq(3)
.text()), $(".row_a, .row_b")
.find('a:contains("' + b + '")')
.parent()
.siblings()
.filter(".d")
.text($(a)
.find("#in_a_day_ranking_table tr td")
.eq(0)
.text()), "" == $(".row_a, .row_b")
.find('a:contains("' + b + '")')
.parent()
.siblings()
.filter(".l")
.text($(a)
.find("#in_a_day_ranking_table tr td")
.eq(2)
.text()), "" == $(".row_a, .row_b")
.find('a:contains("' + b + '")')
.parent()
.siblings()
.filter(".i")
.text($(a)
.find("#in_a_day_ranking_table tr td")
.eq(4)
.text()), "" == $(".row_a, .row_b")
.find('a:contains("' + b + '")')
.parent()
.siblings()
.filter(".d")
.text() && logError(b, !0)
}
function logError(a, b) {
$(".row_a, .row_b, .row_c, .row_t")
.find('a:contains("' + a + '")')
.parent()
.siblings()
.filter(".d, .f, .l, .i")
.html('<span style="color:' + (b ? "black" : "red") + ';">' + (b ? "N%C3%A3o h%C3%A1 dados" : "Erro no carregamento de dados") + "</span>")
}
"undefined" == typeof window.$.twAjax && (window.$.twAjax = function () {
var a = function (a, b) {
this.options = a, this.promise = b
}
, b = function () {
var a = []
, b = !1
, c = function () {
var b = a[0];
$.ajax(b.options)
.done(function () {
b.promise.resolve.apply(null, arguments), a.splice(b, 1), d()
})
.fail(function () {
b.promise.reject.apply(null, arguments), d()
})
}
, d = function () {
a.length ? (b = !0, c()) : b = !1
}
, e = function (c) {
a.push(c), b || d()
};
return {
push: e
}
}();
return function (c) {
var d = $.Deferred();
return b.push(new a(c, d)), d
}
}()), $("#content_value table.vis tr")
.eq(0)
.append("<th>Rabuś</th><th>Ranking</th><th>Plemię</th><th>Data</th>"), $("tr.row_a, tr.row_b, tr.row_c, tr.row_t")
.each(function () {
var a = $(this)
.find("a:first")
.text()
.trim();
console.log(a);
var b = game_data.link_base_pure + "ranking&mode=in_a_day&type=loot_res&name=" + a;
$(this)
.append('<td class="f"></td><td class="d"></td><td class="l"></td><td class="i"></td>'), $.twAjax({
url: b
})
.fail(function () {
logError(a, !1)
})
.done(function (b) {
logData(b, a)
})
});
Cześć, a pomógł byś z ogarnięciem tego skryptu. Tzn. nie działa mi jak go wklejam w pasek skrótów. Z góry dziękuję.albo łap to
https://pastebin.com/HQD2DkKP
javascript:
// ==UserScript==
// @name Dodatkowe rankingi w liście plemienia
// @version 2.0.7
// @author Filip Klich
// @match *://*.plemiona.pl/game.php?*&screen=ally&mode=members*
// @match *://*.plemiona.pl/game.php?*&screen=info_member*
// ==/UserScript==
//LICENCJA FREE SOFTWARE - drogi Supporcie <3 wyrażam zgodę na użytkowanie i publikowanie tego skryptu przez każdą osobę
//CONFIG - ustaw domyślne wartości - 1 to zaznacz; 0 to nie zaznaczaj
var farmaC = 1;
var agresorC = 0;
var obroncaC = 0;
var wsparcieC = 0;
var rank = 0;//ranking obok wartosci
///////ODZNACZENIA
var rabusC = 0;
var grabiezcaC = 0;
var hetmanC = 0;
var taranyC = 0;
var katapultyC = 0;
var pewnydowodcaC = 0;
var smiercbohateraC = 0;
var pogszlachtaC = 0;
var pogzwiadC = 0;
var przywodcaC = 0;
var rzeznikC = 0;
var towarzyszC = 0;
var rynekC = 0;
var rekruC = 0;
var krezusC = 0;
var lataC = 0;
var lvlAward = 1; //odznaczenia w formie cyfry zamiast medalu (brąz, srebro, złoto)
//CONFIG
var awards = [];
var awardsB = [];
addAwards();
addCheckboxs();
setChecked();
var t;
var my_tribal;
function main() {
var farma = Number(document.getElementById("farma").checked);
var agresor = Number(document.getElementById("agresor").checked);
var obronca = Number(document.getElementById("obronca").checked);
var wsparcie = Number(document.getElementById("wsparcie").checked);
for(var i=0;i<awards.length;i++){
awardsB[awardsB[awards[i]]] = Number(document.getElementById(awards[i]).checked);
}
var url=[];
if(location.href.match('mode=members')&&location.href.match('screen=ally')) my_tribal=2;
else my_tribal = 0;
console.log(my_tribal);
t=document.getElementsByClassName("vis")[my_tribal].getElementsByTagName("tbody")[0].getElementsByTagName("tr");
if (farma) addColumn('Rekord \nfarmy',t.length);
if (agresor) addColumn('Punkty \nagresora',t.length);
if (obronca) addColumn('Punkty \nobrońcy',t.length);
if (wsparcie) addColumn('Punkty \nwsparcia',t.length);
for(i=0;i<awards.length;i++){
if (awardsB[awardsB[awards[i]]]) addColumn('Odznaczenie \n'+awardsB[awards[i]],t.length);
}
var j = farma+agresor+obronca+wsparcie;
for(i=0;i<awards.length;i++){
j+= awardsB[awardsB[awards[i]]];
}
//console.log(j);
const length = setLength();
url[0]='game.php?screen=ranking&mode=in_a_day&type=loot_res&name=';
url[1]='game.php?screen=ranking&mode=kill_player&type=att&name=';
url[2]='game.php?screen=ranking&mode=kill_player&type=def&name=';
url[3]='game.php?screen=ranking&mode=kill_player&type=support&name=';
var l=1;
if (farma) setPoints(takeNick(1),1,t.length+1,url[0],l++,length-j);
if (agresor) setPoints(takeNick(1),1,t.length+1,url[1],l++,length-j);
if (obronca) setPoints(takeNick(1),1,t.length+1,url[2],l++,length-j);
if (wsparcie) setPoints(takeNick(1),1,t.length+1,url[3],l++,length-j);
for(i=0;i<awards.length;i++){
if (awardsB[awardsB[awards[i]]]) setAwards(takeId(1),1,t.length+1,awardsB[awards[i]],l++,length-j);
}
}
function setLength(){
return $(".row_a")[0].getElementsByTagName("td").length;
}
function addColumn(text,players){
players -= my_tribal-2;
var th=[];
th[0] = document.createElement('th');
th[0].innerHTML = text;
t[0].appendChild(th[0]);
for (var i=1;i<players;i++){
th[i] = document.createElement('td');
th[i].innerHTML = '';
t[i].appendChild(th[i]);
}
}
function setPoints(nick,k,players,url,possition,length){
var x=0;
$.ajax({
async: true,
url: url+nick,
type: 'GET',
success: function(test) {
var l = $(test).find('.lit-item');
if (l[3]!=undefined){
var t = l[3].innerHTML;
var m = l[0].innerHTML;
console.log(t);
t=t.split(`<span class="grey">.</span>`);
x=t[0];
for (var i=1;i<t.length;i++) {x+=","; x+=t[i];}
x=x.replace(".",",");
if (rank) x=x+" ("+m+".)";
}
addValue(x,k,possition,length);
setPoints(takeNick(k+1),k+1,players,url,possition,length);
},
error: function (error){
setTimeout(function() {
setPoints(nick,k,players,url,possition,length);
}, 150);
}
});
}
function setAwards(id,k,players,award,possition,length){
var x;
var y;
$.ajax({
async: true,
url: "game.php?screen=info_player&id="+id,
type: 'GET',
success: function(test) {
var a = $(test).find(".main")[3].getElementsByClassName("award-desc");
// console.log(a);
for(var i=0;i<a.length;i++){
y=a[i].getElementsByTagName("strong")[0].innerText.split(" - ");
if(y[0].split(" (")[0]===award){
if(lvlAward === 0) x = y[0].split(" (")[1];
else x= y[1].split(")")[0];
x="<b><center>"+x;
if(y[0].split(" (")[1]==="Brąz") x="<font color=#815f3a>"+x;
else if(y[0].split(" (")[1]==="Drewno") x="<font color=#492414>"+x;
else if(y[0].split(" (")[1]==="Srebro") x="<font color=#9ea7b3>"+x;
else if(y[0].split(" (")[1]==="Złoto") x="<font color=#d79f30>"+x;
}
}
if(x===undefined){x="<center>Brak danych";}
addValue(x,k,possition,length);
setAwards(takeId(k+1),k+1,players,award,possition,length);
},
error: function (error){
setTimeout(function() {
setAwards(id,k,players,award,possition,length);
}, 150);
}
});
}
function takeId(i){
return document.getElementsByClassName("vis")[my_tribal].getElementsByTagName("tbody")[0].getElementsByTagName("tr")[i].getElementsByTagName("td")[0].innerHTML.split("id=")[1].split("\"")[0];
}
function takeNick(i){
var g=document.getElementsByClassName("vis")[my_tribal].getElementsByTagName("tbody")[0].getElementsByTagName("tr")[i];
var d=g.getElementsByTagName("td")[0].getElementsByTagName("a")[0].innerHTML;
return d;
}
function addValue(loot,i,possition,length){
//console.log(possition+length-1);
// console.log(i);
t[i].getElementsByTagName('td')[possition+length-1].innerHTML=loot;
}
function addCheckboxs(){
var div = document.createElement('div');
div.className = " topbar";
div.innerHTML = '<label> <input type="checkbox" id="farma"/> Farma</label> \
<label> <input type="checkbox" id="agresor"/> Agresor</label> \
<label> <input type="checkbox" id="obronca" /> Obrońca</label> \
<label> <input type="checkbox" id="wsparcie" > Wsparcie</label><br>'
for(var i=0;i<awards.length;i++){
div.innerHTML+='<label> <input type="checkbox" id="'+awards[i]+'" /> '+awardsB[awards[i]]+'</label> '
if(i===5) div.innerHTML+="<br>"
if(i===10) div.innerHTML+="<br>"
}
div.innerHTML+='<br><input type="button" id="clickMe" value="Minecraft" class="btn " onclick="main()">';
$("#content_value").find('h2')[0].innerHTML="<br>"+$("#content_value").find('h2')[0].innerHTML;
document.getElementById('content_value').prepend(div);
document.getElementById("clickMe").onclick = main;
}
function setChecked(){
if(farmaC===1) {document.getElementById("farma").checked=true;}
if(agresorC===1) {document.getElementById("agresor").checked=true;}
if(obroncaC===1) {document.getElementById("obronca").checked=true;}
if(wsparcieC===1) {document.getElementById("wsparcie").checked=true;}
for(var i=0;i<awards.length;i++){
if(eval(awards[i]+"C")===1) {document.getElementById(awards[i]).checked=true;}
}
}
function addAwards(){
var j=0;
awards[j]="rabus";
awardsB[awards[j++]]="Rabuś";
awards[j]="grabiezca";
awardsB[awards[j++]]="Grabieżca";
awards[j]="hetman";
awardsB[awards[j++]]="Hetman";
awards[j]="tarany";
awardsB[awards[j++]]="Nisczyciel murów";
awards[j]="katapulty";
awardsB[awards[j++]]="Człowiek demolka";
awards[j]="pewnydowodca";
awardsB[awards[j++]]="Pewny dowódca";
awards[j]="smiercbohatera";
awardsB[awards[j++]]="Śmierć bohatera";
awards[j]="pogszlachta";
awardsB[awards[j++]]="Pogromca szlachty";
awards[j]="pogzwiad";
awardsB[awards[j++]]="Pogromca zwiadowców";
awards[j]="przywodca";
awardsB[awards[j++]]="Przywódca";
awards[j]="rzeznik";
awardsB[awards[j++]]="Rzeźnik";
awards[j]="towarzysz";
awardsB[awards[j++]]="Towarzysz broni";
awards[j]="rynek";
awardsB[awards[j++]]="Człowiek interesu";
awards[j]="rekru";
awardsB[awards[j++]]="Mistrz rekrutacji";
awards[j]="krezus";
awardsB[awards[j++]]="Krezus";
awards[j]="lata";
awardsB[awards[j++]]="Lata gry";
}
javascript:
class UrlBuilder
{
constructor(template)
{
this.template = template;
}
build(args)
{
let result = this.template;
let keys = Object.keys(args);
keys.forEach((e) => {
result = result.replace("{{" + e + "}}", args[e]);
});
return result;
}
}
class App
{
constructor(config)
{
this.config = config;
}
load()
{
// Set local members
this.iterator = 0;
this.members = $('#content_value table').eq(3).find('tr').splice(1);
this.interval = setInterval($.proxy(this.update, this), 600);
// Add headers
let header = $('#content_value table').eq(3).find('tr').eq(0);
header.find('th:last').after('<th class="nowrap"><a href="#">Rekord farmy</a></th> <th class="nowrap"><a href="#">Rekord zbieractwa</a></th> <th class="nowrap"><a href="#">Odznaczenia</a></th>');
}
unload()
{
if (this.interval != undefined && this.interval != null)
{
clearInterval(this.interval);
}
}
update()
{
if (this.iterator >= this.members.length)
{
this.unload();
return;
}
this.getData(this.members[this.iterator++]);
}
getData(input)
{
let player = $(input).find('td:first').text().trim().split('(')[0].trim();
let url = new UrlBuilder('https://{{world}}.plemiona.pl/game.php?screen=ranking&mode=in_a_day&type={{type}}&name={{name}}');
// Ask server for data
// Looted resources
this.askServer(url.build({ world: game_data.world, type: 'loot_res', name: player }), function (response) {
response = $(response);
let score = response.find('#in_a_day_ranking_table tr').eq(1).find('td').eq(3).text();
$(input).find('td:last').after('<td class="lit-item"><b>' + (score.length <= 0 ? "-" : score) + '</b></td>');
// Scavenge
app.askServer(url.build({ world: game_data.world, type: 'scavenge', name: player }), function (response) {
response = $(response);
let score = response.find('#in_a_day_ranking_table tr').eq(1).find('td').eq(3).text();
$(input).find('td:last').after('<td class="lit-item"><b>' + (score.length <= 0 ? "-" : score) + '</b></td>');
// Awards
url = new UrlBuilder('https://{{world}}.plemiona.pl/game.php?screen=ranking&mode=awards&name={{name}}')
app.askServer(url.build({ world: game_data.world, name: player }), function (response) {
response = $(response);
let result = response.find('#award_ranking_table tr.lit');
if (result.size() > 0)
{
$(input).find('td:last').after('<td class="lit-item">' + result.eq(0).find('td:last').html().trim() + '</td>');
return;
}
$(input).find('td:last').after('<td class="lit-item"><i>Ukryto odznaczenia</i></td>');
});
});
});
}
askServer(url, callback)
{
$.ajax({
url: url,
dataType: 'html',
success: function (d) {
callback(d);
}
});
}
}
let app = new App({});
app.load();