dino

-

  1. // ==UserScript==
  2. // @name dino
  3. // @namespace -
  4. // @description -
  5. // @include http://en.dinorpg.com/clan/*
  6. // @include http://en.dinorpg.com/dojo/*/defis?defis=*
  7. // @exclude http://en.dinorpg.com/clan/61#league
  8. // @version 2.1
  9. // @require http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js
  10. // @require https://greasyfork.org/scripts/5392-waitforkeyelements/code/WaitForKeyElements.js?version=115012
  11. // @grant GM_addStyle
  12. // @grant GM_xmlhttpRequest
  13. // @grant GM_info
  14. // @grant GM_getResourceText
  15. // ==/UserScript==
  16.  
  17.  
  18. if(!('contains' in String.prototype)){String.prototype.contains = function(str, startIndex){return -1 !== String.prototype.indexOf.call(this, str, startIndex);};}
  19.  
  20.  
  21. function membros(){ //.table > tbody:nth-child(1) > tr:nth-child(1) > th:nth-child(1)
  22. $(".help").append($('<a class="tinyButton" id="botaaom" style="left:30px;bottom:5px;position:relative"><img src="http://imgup.motion-twin.com/dinorpg/4/f/f8ce16b2_183942.jpg"></img> Mensagem Twin</a>'));
  23. document.getElementById("botaaom").onclick = function (){
  24. location.assign("javascript:i=[],$('a.tid_user').each(function(){i=i.concat($(this).attr('tid_id'))}),_tid.askDiscuss(i.join(','))");
  25. };
  26. }
  27.  
  28. function defesa () {
  29. $("#swf_fight").remove();
  30. $("#defendersList").remove();
  31. $("#repairersList").remove();
  32. }
  33.  
  34. function luta () {
  35. $("#debrief").css("display","");
  36. }
  37.  
  38. function dojo (){
  39. $(".help").append($('<a class="tinyButton" id="dojob" style="left:30px;bottom:5px;position:relative"><img src="http://data.en.dinorpg.com/img/icons/twin_dojo.gif"></img> Ver grupos IDT</a>'));
  40. document.getElementById("dojob").onclick = function () {
  41. var tabela = document.getElementsByClassName("table")[0];
  42. var lugar;
  43. var coless = [];
  44. for (var page = 0; page<=15;page++){
  45. var url ="http://en.dinorpg.com/dojo/tournament?page="+page;
  46. var xhr = new XMLHttpRequest();
  47. xhr.open('GET', url, false);
  48. xhr.setRequestHeader('X-Handler', 'js.XmlHttp');
  49. xhr.send();
  50. coless.push(xhr.response);
  51. }
  52. for (var i = 2, row; i<=tabela.rows.length; i++) {
  53. row = tabela.rows[i];
  54. var pessoa = $(".table > tbody:nth-child(1) > tr:nth-child("+i+") > td:nth-child(1) > a").clone().children().remove().end().text().trim();
  55. for (var pagei = 0; pagei<=15;pagei++){
  56. if(coless[pagei].contains(pessoa)=== true){
  57. lugar = pagei;
  58. pagei =16;
  59. }
  60. else {
  61. lugar = null;
  62. }
  63. }
  64. if (lugar!=null){
  65. $(".table > tbody:nth-child(1) > tr:nth-child("+i+")").append("<td><a href='http://en.dinorpg.com/dojo/tournament?page="+lugar+"'>Grupo "+lugar+"</a></td>");
  66. }
  67. else {$(".table > tbody:nth-child(1) > tr:nth-child("+i+")").append("<td>Não qualificou</td>");}
  68. }};
  69. }
  70.  
  71. waitForKeyElements (".help > a:nth-child(1)",membros);
  72. waitForKeyElements ("#botaaom", dojo);
  73. waitForKeyElements ("div.help:nth-child(3):contains(The castle is currently located at)", defesa);
  74. //waitForKeyElements ("#swf_fight",luta);