Salary Style Mod

Показывает зарплату на предприятии с учетом и отображением коэффициента ГР

当前为 2018-12-20 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @author code:Tamozhnya1; style: sw.East; modifications: Alena17
  3. // @collaborator style: sw.East
  4. // @collaborator modifications: Alena17
  5. // @name Salary Style Mod
  6. // @name:ru Подсчет зарплаты HWM
  7. // @description Показывает зарплату на предприятии с учетом и отображением коэффициента ГР
  8. // @icon http://i.imgur.com/GScgZzY.jpg
  9. // @version 1.1.4
  10. // @encoding utf-8
  11. // @include *//*heroeswm.*/home.php
  12. // @include *//*heroeswm.*/object-info.php*
  13. // @include *//178.248.235.15/home.php
  14. // @include *//178.248.235.15/object-info.php*
  15. // @include *//*lordswm.*/home.php
  16. // @include *//*lordswm.*/object-info.php*
  17. // @grant GM_addStyle
  18. // @grant GM_xmlhttpRequest
  19. // @grant GM_info
  20. // @grant GM_getMetadata
  21. // @grant GM_getValue
  22. // @grant GM_setValue
  23. // @grant GM_deleteValue
  24. // @grant GM_registerMenuCommand
  25. // @homeURL https://openuserjs.org/scripts/chesheerk/Salary_Style_Mod
  26. // @copyright 2014-15, code:Tamozhnya1; style: sw.East; modifications: Alena17
  27. // @license MIT
  28. // @namespace https://greasyfork.org/users/3065
  29. // ==/UserScript==
  30.  
  31. main();
  32. function main() {
  33. setK();
  34. if(/object-info.php/.test(location.href)) {
  35. var strSalary = ustring("Зарплата: ");
  36. var tds = document.getElementsByTagName("td");
  37. for (var i = 0; i < tds.length; i++) {
  38. var td = tds[i];
  39. if(td.innerHTML == strSalary) {
  40. var tdSalary = td;
  41. break;
  42. }
  43. }
  44. var b = tdSalary.nextSibling.firstChild.firstChild.firstChild.firstChild.lastChild.firstChild;
  45. var salary = "";
  46. salary = parseInt(b.innerHTML);
  47. var k = parseFloat(GM_getValue(getNick(), "1.0"));
  48. /* Style */
  49. var cssStyle = "";
  50. cssStyle += "body > center:nth-child(2) > table:nth-child(2) > tbody:nth-child(1) > tr:nth-child(1) > td:nth-child(1) > table:nth-child(1) > tbody:nth-child(1) > tr:nth-child(1) > td:nth-child(1) > table:nth-child(3) > tbody:nth-child(1) > tr:nth-child(1) > td:nth-child(1) > table:nth-child(11) > tbody:nth-child(1) > tr:nth-child(1) > td:nth-child(3){display: none;}.salary{display:inline-block;text-align:center;padding:3px 6px;margin:0;font-size:11px;font-weight:bold;line-height:14px;color:#fff;vertical-align:baseline;white-space:nowrap;background-color:#666;border:1px solid #fff;text-decoration:none;box-shadow:1px 1px 2px rgba(0,0,0,.1);}.salary:hover,.salary:focus{color:#fff;opacity:.85;text-decoration:none;cursor:help;}.salary-light_blue{background-color:#719DAB;}.salary-blue{background-color:#7189AB;}.tt-wrapper{padding:0;width:435px;height:20px;margin:0 auto 0 auto;}ul.tt-wrapper{list-style:none !important;}.tt-wrapper li{float:left;}.tt-wrapper li a{display:block;width:24px;height:14.5px;margin:0;outline:none;position:relative;z-index:2;}.tt-wrapper li a span{width:115px;height:auto;padding:5px;left:50%;margin-left:-32px;font-family:Georgia, serif;font-weight:400;font-style:italic;font-size:14px;color:#fff;text-shadow:1px 1px 1px rgba(0, 0, 0, .1);text-align:center;border:4px solid #fff;background:rgba(113,156,171,.85);text-indent:0;position:absolute;pointer-events:none;bottom:30px;opacity:0;box-shadow:0 3px 8px rgba(0,0,0,.2);-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;-ms-transition:all .3s ease-in-out;transition:all .3s ease-in-out;-webkit-transform:rotate(0deg) scale(.2);-moz-transform:rotate(0deg) scale(.2);-o-transform:rotate(0deg) scale(.2);-ms-transform:rotate(0deg) scale(.2);transform:rotate(0deg) scale(.2);}.tt-wrapper li a:hover span{opacity:.9;bottom:55px;-webkit-transform:rotate(-45deg) scale(1);-moz-transform:rotate(-45deg) scale(1);-o-transform:rotate(-45deg) scale(1);-ms-transform:rotate(-45deg) scale(1);transform:rotate(-45deg) scale(1);}.tt-wrapper li a:hover span.tt-blue{background-color:#7189AB;}";
  51. GM_addStyle(cssStyle);
  52. /* Style End */
  53. b.innerHTML = "<ul class=\"tt-wrapper\">"+
  54. "<li><a class=\"salary salary-light_blue\" href=\"#\">" + b.innerHTML + "<span>Зарплата</span></a></li>"+
  55. "<li><a class=\"salary\" href=\"#\"> х </a></li>"+
  56. "<li><a class=\"salary salary-light_blue\" href=\"#\">" + k + "<span>Коэф. ГР</span></a></li>"+
  57. "<li><a class=\"salary\" href=\"#\"> = </a></li>"+
  58. "<li><a class=\"salary salary-blue\" style=\"width: auto;\" href=\"#\">" + Math.round(salary * k) + "<span class=\"tt-blue\">Итоговая сумма</span></a></li>"+
  59. "</ul>";
  60. }
  61. }
  62. function setK(){
  63. if(/home.php$/.test(location.href)) {
  64. var guildWorkersString = ustring("Гильдия Рабочих:");
  65. var indexOfGuildWorkers = document.body.innerHTML.indexOf(guildWorkersString);
  66. var guildWorkersValue = parseInt(trim(document.body.innerHTML.substr(indexOfGuildWorkers + 17, 2)));
  67. var k = parseFloat(GM_getValue(getNick(), "1.0"));
  68. k = ["1.0", "1.1", "1.2", "1.4", "1.6", "1.8", "2.0", "2.2", "2.4", "2.6", "2.8", "3.0", "3.2"];
  69. GM_setValue(getNick(), k[guildWorkersValue]);
  70. }
  71. }
  72. function getNick() {
  73. var els = document.getElementsByTagName('embed');
  74. var nick = "";
  75. for( var i = 0; i < els.length; i++ ) {
  76. var el = els[i];
  77. if( el.src.match(/heart.swf/) ) {
  78. var vs = el.getAttribute("FlashVars").split('|') ;
  79. if (vs[3]) {
  80. nick = vs[3];
  81. break;
  82. }
  83. }
  84. }
  85. return nick;
  86. }
  87. function uchar(s) {
  88. switch (s[0]) {case "А": return "\u0410"; case "Б": return "\u0411"; case "В": return "\u0412"; case "Г": return "\u0413"; case "Д": return "\u0414"; case "Е": return "\u0415"; case "Ж": return "\u0416"; case "З": return "\u0417"; case "И": return "\u0418"; case "Й": return "\u0419"; case "К": return "\u041a"; case "Л": return "\u041b"; case "М": return "\u041c"; case "Н": return "\u041d"; case "О": return "\u041e"; case "П": return "\u041f"; case "Р": return "\u0420"; case "С": return "\u0421"; case "Т": return "\u0422"; case "У": return "\u0423"; case "Ф": return "\u0424"; case "Х": return "\u0425"; case "Ц": return "\u0426"; case "Ч": return "\u0427"; case "Ш": return "\u0428"; case "Щ": return "\u0429"; case "Ъ": return "\u042a"; case "Ы": return "\u042b"; case "Ь": return "\u042c"; case "Э": return "\u042d"; case "Ю": return "\u042e"; case "Я": return "\u042f"; case "а": return "\u0430"; case "б": return "\u0431"; case "в": return "\u0432"; case "г": return "\u0433"; case "д": return "\u0434"; case "е": return "\u0435"; case "ж": return "\u0436"; case "з": return "\u0437"; case "и": return "\u0438"; case "й": return "\u0439"; case "к": return "\u043a"; case "л": return "\u043b"; case "м": return "\u043c"; case "н": return "\u043d"; case "о": return "\u043e"; case "п": return "\u043f"; case "р": return "\u0440"; case "с": return "\u0441"; case "т": return "\u0442"; case "у": return "\u0443"; case "ф": return "\u0444"; case "х": return "\u0445"; case "ц": return "\u0446"; case "ч": return "\u0447"; case "ш": return "\u0448"; case "щ": return "\u0449"; case "ъ": return "\u044a"; case "ы": return "\u044b"; case "ь": return "\u044c"; case "э": return "\u044d"; case "ю": return "\u044e"; case "я": return "\u044f"; case "Ё": return "\u0401"; case "ё": return "\u0451"; default: return s[0];}}
  89. function ustring(s) {
  90. s = String(s);
  91. var result = "";
  92. for (var i = 0; i < s.length; i++)
  93. result += uchar(s[i]);
  94. return result;
  95. }
  96. function trim(string) {
  97. return string.replace(/(^\s+)|(\s+$)/g, "");
  98. }