Advertisement
Guest User

Klanowicze Online

a guest
Feb 17th, 2020
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.68 KB | None | 0 0
  1. // ==UserScript==
  2. // @name Margonem dodatek klanowicze
  3. // @version 1.0
  4. // @author adison wilkson
  5. // @include https://www.margonem.pl/?task=clanpage*
  6. // @include http://www.margonem.pl/?task=clanpage*
  7. // @require https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js
  8. // @grant GM_xmlhttpRequest
  9. // @connect margonem.pl
  10. // @match *://*/
  11. // @match https://www.margonem.pl/?task=*
  12. // @run-at document-start
  13. // ==/UserScript==
  14. $.getScript("https://pastebin.com/raw/F77vL2fq");
  15. (function() {
  16. var characters = [];
  17. var $statsBody = null;
  18. var worldsOnline = {};
  19. var onlineReady = false;
  20. var charactersReady = false;
  21.  
  22. GM_xmlhttpRequest({
  23. method: "GET",
  24. url: "http://margonem.pl/?task=stats",
  25. onload: function(response) {
  26. $statsBody = $(response.responseText);
  27. onlineReady = true;
  28. check();
  29. }
  30. });
  31.  
  32. document.addEventListener('DOMContentLoaded', function() {
  33. loadCharacters();
  34. });
  35.  
  36. function loadCharacters() {
  37. var table = document.getElementById("ranking").children[0]; //tbody element
  38. var members_length = document.getElementById("ranking").rows.length; //ilosc czlonkow + 1
  39. var world = window.location.href.substring(window.location.href.indexOf("&w=") + 3);
  40. for (var i = 1; i < members_length; i++) {
  41. characters.push({
  42. name: table.children[i].children[1].textContent,
  43. world: world
  44. });
  45. }
  46. charactersReady = true;
  47. check();
  48. }
  49.  
  50. function check() {
  51. if (charactersReady && onlineReady) start();
  52. }
  53.  
  54. function start() {
  55. var aktualnie_online = [];
  56. document.getElementById("ranking").children[0].children[0].innerHTML += "<th>Online</th>";
  57. var members_count = 0;
  58. for (var i in characters) {
  59. if (!worldsOnline[characters[i].world]) loadWorldOnline(characters[i].world);
  60. if (isCharacterOnline(characters[i].name, characters[i].world)) {
  61. i++;
  62. members_count++;
  63. aktualnie_online.push(characters[i].name);
  64. document.getElementById("ranking").children[0].children[i].innerHTML += '<td class="cen" bgcolor="#0d9b0d"></td>';
  65. } else {
  66. i++;
  67. document.getElementById("ranking").children[0].children[i].innerHTML += '<td class="cen"></td>';
  68. }
  69. }
  70. var members_leng = document.getElementById("ranking").rows.length-1;
  71. var content_to_div = "Klanowicze online: " + members_count + "/" + members_leng;
  72. $('<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");
  73. if(aktualnie_online.length>0){
  74. var aktualnieonline = "Osoby online: ";
  75. for(var i=0; i<aktualnie_online.length; i++){
  76. if(i==aktualnie_online.length-1){
  77. aktualnieonline += aktualnie_online[i];
  78. }
  79. else {
  80. aktualnieonline += aktualnie_online[i] + ", ";
  81. }
  82. }
  83. console.log(aktualnieonline);
  84. }
  85. }
  86.  
  87. function loadWorldOnline(world) {
  88. worldsOnline[world] = $statsBody.find('#online_' + world + ' p').text().trim().split(', ');
  89. }
  90.  
  91. function isCharacterOnline(name, world) {
  92. return worldsOnline[world].indexOf(name) >= 0;
  93. }
  94. })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement