Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name Margonem Klany Online
- // @version 1.0
- // @author adison wilkson
- // @include https://www.margonem.pl/?task=clanpage*
- // @include http://www.margonem.pl/?task=clanpage*
- // @require https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js
- // @grant GM_xmlhttpRequest
- // @connect margonem.pl
- // @run-at document-start
- // ==/UserScript==
- (function() {
- var characters = [];
- var $statsBody = null;
- var worldsOnline = {};
- var onlineReady = false;
- var charactersReady = false;
- GM_xmlhttpRequest({
- method: "GET",
- url: "http://margonem.pl/?task=stats",
- onload: function(response) {
- $statsBody = $(response.responseText);
- onlineReady = true;
- check();
- }
- });
- document.addEventListener('DOMContentLoaded', function() {
- loadCharacters();
- });
- function loadCharacters() {
- var table = document.getElementById("ranking").children[0]; //tbody element
- var members_length = document.getElementById("ranking").rows.length; //ilosc czlonkow + 1
- var world = window.location.href.substring(window.location.href.indexOf("&w=") + 3);
- for (var i = 1; i < members_length; i++) {
- characters.push({
- name: table.children[i].children[1].textContent,
- world: world
- });
- }
- charactersReady = true;
- check();
- }
- function check() {
- if (charactersReady && onlineReady) start();
- }
- function start() {
- var aktualnie_online = [];
- document.getElementById("ranking").children[0].children[0].innerHTML += "<th>Online</th>";
- var members_count = 0;
- for (var i in characters) {
- if (!worldsOnline[characters[i].world]) loadWorldOnline(characters[i].world);
- if (isCharacterOnline(characters[i].name, characters[i].world)) {
- i++;
- members_count++;
- aktualnie_online.push(characters[i].name);
- document.getElementById("ranking").children[0].children[i].innerHTML += '<td class="cen" bgcolor="#0d9b0d"></td>';
- } else {
- i++;
- document.getElementById("ranking").children[0].children[i].innerHTML += '<td class="cen"></td>';
- }
- }
- var members_leng = document.getElementById("ranking").rows.length-1;
- var content_to_div = "Klanowicze online: " + members_count + "/" + members_leng;
- $('<div style="width: 512px; display: block; position: fixed; top: 10px; color: gold; font: 18pxblood; background: #400; padding: 0px 20px border: 2px solid red; font-weight: bold; text-align: center; box-shadow: 0 0 2px 2px red;">' + content_to_div + '</div>').appendTo("#clancontent");
- if(aktualnie_online.length>0){
- var aktualnieonline = "Osoby online: ";
- for(var i=0; i<aktualnie_online.length; i++){
- if(i==aktualnie_online.length-1){
- aktualnieonline += aktualnie_online[i];
- }
- else {
- aktualnieonline += aktualnie_online[i] + ", ";
- }
- }
- console.log(aktualnieonline);
- }
- }
- function loadWorldOnline(world) {
- worldsOnline[world] = $statsBody.find('#online_' + world + ' p').text().trim().split(', ');
- }
- function isCharacterOnline(name, world) {
- return worldsOnline[world].indexOf(name) >= 0;
- }
- })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement