hwm_banlist_60

Добавляет смотрителям #60 ссылку "Банлист" на страницу персонажа (by omne & Pauk-prizrak & Cassiel & Demin)

  1. // ==UserScript==
  2. // @name hwm_banlist_60
  3. // @author omne
  4. // @namespace omne & Pauk-prizrak & Cassiel & Demin
  5. // @description Добавляет смотрителям #60 ссылку "Банлист" на страницу персонажа (by omne & Pauk-prizrak & Cassiel & Demin)
  6. // @version 1.2
  7. // @include /^https{0,1}:\/\/((www|qrator|my)\.(heroeswm|lordswm)\.(ru|com)|178\.248\.235\.15)\/.+/
  8. // @exclude /^https{0,1}:\/\/((www|qrator|my)\.(heroeswm|lordswm)\.(ru|com)|178\.248\.235\.15)\/(login|war|cgame|frames|chat|chatonline |ch_box|chat_line|ticker|chatpost|rightcol|brd|frames)\.php.*/
  9. // ==/UserScript==
  10.  
  11. // (c) 2022, omne
  12.  
  13. (function() {
  14.  
  15. var version = '1.0';
  16.  
  17. if (!this.GM_getValue || (this.GM_getValue.toString && this.GM_getValue.toString().indexOf("not supported")>-1)) {
  18. this.GM_getValue=function (key,def) {
  19. return localStorage[key] || def;
  20. };
  21. this.GM_setValue=function (key,value) {
  22. return localStorage[key]=value;
  23. };
  24. this.GM_deleteValue=function (key) {
  25. return delete localStorage[key];
  26. };
  27. }
  28.  
  29. var script_name = "HWM mod - Set banlist for (by omne & Pauk-prizrak & Cassiel & Demin)";
  30. var url_cur = location.href;
  31. var url = 'http://'+location.hostname+'/';
  32.  
  33.  
  34. if ( url_cur.match('pl_info.php') )
  35. {
  36. var el = document.querySelector("a[href^='sms-create.php']");
  37. var el2 = document.querySelector(".wblight").querySelector("a[href^='pl_warlog.php?id=']");
  38. pid = (/\d+/).exec( el2.href );
  39. item_name = document.querySelector('.wb').innerHTML.match(/>([а-яА-Яa-zA-Z0-9ёЁ_\-\*&\;]+)  \[/)[1].replaceAll(" ", " ");
  40. if ( item_name ) {
  41. span = document.createElement('span');
  42. span.innerHTML = "<p style='margin-top:0px; margin-left:8px;'><a style='text-decoration:none;'target='_blank' href='chat_pl_ban.php?"+"id="+pid+"'><b><font style='color:red;'>Банлист</font></b></a></p>";
  43. el.parentNode.insertBefore( span, el.nextSibling );
  44. }
  45. }
  46.  
  47.  
  48.  
  49.  
  50.  
  51. function urlDecode(string) {
  52. var codes = '%E0%E1%E2%E3%E4%E5%B8%E6%E7%E8%E9%EA%EB%EC%ED%EE%EF%F0%F1%F2%F3%F4%F5%F6%F7%F8%F9%FA%FB%FC%FD%FE%FF';
  53. codes += '%C0%C1%C2%C3%C4%C5%A8%C6%C7%C8%C9%CA%CB%CC%CD%CE%CF%D0%D1%D2%D3%D4%D5%D6%D7%D8%D9%DA%DB%DC%DD%DE%DF%20';
  54. codes = codes.split('%');
  55. var chars = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя';
  56. chars += 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ ';
  57. for (var i=0; i<codes.length; i++) string = string.split('%'+codes[i+1]).join(chars[i]);
  58. return string;
  59. }
  60.  
  61. function $(id) { return document.querySelector("#"+id); }
  62.  
  63. function addEvent(elem, evType, fn) {
  64. if (elem.addEventListener) {
  65. elem.addEventListener(evType, fn, false);
  66. }
  67. else if (elem.attachEvent) {
  68. elem.attachEvent("on" + evType, fn);
  69. }
  70. else {
  71. elem["on" + evType] = fn;
  72. }
  73. }
  74.  
  75. })();