Salary Style Mod

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

当前为 2018-11-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.3
  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. // @require https://greasemonkey.github.io/gm4-polyfill/gm4-polyfill.js
  18. // @grant GM_addStyle
  19. // @grant GM_xmlhttpRequest
  20. // @grant GM_info
  21. // @grant GM_getMetadata
  22. // @grant GM_getValue
  23. // @grant GM_setValue
  24. // @grant GM_deleteValue
  25. // @grant GM_registerMenuCommand
  26. // @homeURL https://openuserjs.org/scripts/chesheerk/Salary_Style_Mod
  27. // @copyright 2014-15, code:Tamozhnya1; style: sw.East; modifications: Alena17
  28. // @license MIT
  29. // @namespace https://greasyfork.org/users/3065
  30. // ==/UserScript==
  31.  
  32. /**
  33. * ============= Style =============
  34. */
  35. GM_addStyle ( `
  36.  
  37. .salary {
  38. display: inline-block;
  39. text-align: center;
  40. padding: 3px 6px;
  41. margin: 0;
  42. font-size: 11px;
  43. font-weight: bold;
  44. line-height: 14px;
  45. color: #ffffff;
  46. vertical-align: baseline;
  47. white-space: nowrap;
  48. background-color: #666666;
  49. border: 1px solid #fff;
  50. text-decoration: none;
  51. box-shadow: 1px 1px 2px rgba(0,0,0,0.1);
  52. }
  53. .salary:hover,.salary:focus {
  54. color: #ffffff;
  55. opacity:0.85;
  56. text-decoration: none;
  57. cursor: help;
  58. }
  59. .salary-light_blue {background-color: #719DAB;}
  60. .salary-blue {background-color: #7189AB;}
  61. .tt-wrapper{
  62. padding: 0;
  63. width: 435px;
  64. height: 20px;
  65. margin: 0 auto 0 auto;}
  66. ul.tt-wrapper {list-style:none !important;}
  67. .tt-wrapper li{float: left;}
  68. .tt-wrapper li a{
  69. display: block;
  70. width: 24px;
  71. height: 14.5px;
  72. margin: 0;
  73. outline: none;
  74. position: relative;
  75. z-index: 2;
  76. }
  77. .tt-wrapper li a span{
  78. width: 115px;
  79. height: auto;
  80. padding: 5px;
  81. left: 50%;
  82. margin-left: -32px;
  83. font-family: Georgia, serif;
  84. font-weight: 400;
  85. font-style: italic;
  86. font-size: 14px;
  87. color: #fff;
  88. text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1);
  89. text-align: center;
  90. border: 4px solid #fff;
  91. background: rgba(113,156,171,0.85);
  92. text-indent: 0px;
  93. position: absolute;
  94. pointer-events: none;
  95. bottom: 30px;
  96. opacity: 0;
  97. box-shadow: 0px 3px 8px rgba(0,0,0,0.2);
  98. -webkit-transition: all 0.3s ease-in-out;
  99. -moz-transition: all 0.3s ease-in-out;
  100. -o-transition: all 0.3s ease-in-out;
  101. -ms-transition: all 0.3s ease-in-out;
  102. transition: all 0.3s ease-in-out;
  103. -webkit-transform: rotate(0deg) scale(0.2);
  104. -moz-transform: rotate(0deg) scale(0.2);
  105. -o-transform: rotate(0deg) scale(0.2);
  106. -ms-transform: rotate(0deg) scale(0.2);
  107. transform: rotate(0deg) scale(0.2);
  108. }
  109. .tt-wrapper li a:hover span{
  110. opacity: 0.9;
  111. bottom: 55px;
  112. -webkit-transform: rotate(-45deg) scale(1);
  113. -moz-transform: rotate(-45deg) scale(1);
  114. -o-transform: rotate(-45deg) scale(1);
  115. -ms-transform: rotate(-45deg) scale(1);
  116. transform: rotate(-45deg) scale(1);
  117. }
  118. .tt-wrapper li a:hover span.tt-blue {background-color: #7189AB;}
  119.  
  120. ` );
  121.  
  122. /* Style End */
  123.  
  124.  
  125. main();
  126. function main() {
  127. setK();
  128. if(/object-info.php/.test(location.href)) {
  129. var strSalary = ustring("Зарплата: ");
  130. var tds = document.getElementsByTagName("td");
  131. for (var i = 0; i < tds.length; i++) {
  132. var td = tds[i];
  133. if(td.innerHTML == strSalary) {
  134. var tdSalary = td;
  135. break;
  136. }
  137. }
  138. var b = tdSalary.nextSibling.firstChild.firstChild.firstChild.firstChild.lastChild.firstChild;
  139. var salary = "";
  140. salary = parseInt(b.innerHTML);
  141. var k = parseFloat(GM_getValue(getNick(), "1.0"));
  142. b.innerHTML = "<ul class=\"tt-wrapper\">"+
  143. "<li><a class=\"salary salary-light_blue\" href=\"#\">" + b.innerHTML + "<span>Зарплата</span></a></li>"+
  144. "<li><a class=\"salary\" href=\"#\"> х </a></li>"+
  145. "<li><a class=\"salary salary-light_blue\" href=\"#\">" + k + "<span>Коэф. ГР</span></a></li>"+
  146. "<li><a class=\"salary\" href=\"#\"> = </a></li>"+
  147. "<li><a class=\"salary salary-blue\" style=\"width: auto;\" href=\"#\">" + Math.round(salary * k) + "<span class=\"tt-blue\">Итоговая сумма</span></a></li>"+
  148. "</ul>";
  149. }
  150. }
  151. function setK(){
  152. if(/home.php$/.test(location.href)) {
  153. var guildWorkersString = ustring("Гильдия Рабочих:");
  154. var indexOfGuildWorkers = document.body.innerHTML.indexOf(guildWorkersString);
  155. var guildWorkersValue = parseInt(trim(document.body.innerHTML.substr(indexOfGuildWorkers + 17, 2)));
  156. var k = parseFloat(GM_getValue(getNick(), "1.0"));
  157. 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"];
  158. GM_setValue(getNick(), k[guildWorkersValue]);
  159. }
  160. }
  161. function getNick() {
  162. var els = document.getElementsByTagName('embed');
  163. var nick = "";
  164. for( var i = 0; i < els.length; i++ ) {
  165. var el = els[i];
  166. if( el.src.match(/heart.swf/) ) {
  167. var vs = el.getAttribute("FlashVars").split('|') ;
  168. if (vs[3]) {
  169. nick = vs[3];
  170. break;
  171. }
  172. }
  173. }
  174. return nick;
  175. }
  176. function uchar(s) {
  177. 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];}}
  178. function ustring(s) {
  179. s = String(s);
  180. var result = "";
  181. for (var i = 0; i < s.length; i++)
  182. result += uchar(s[i]);
  183. return result;
  184. }
  185. function trim(string) {
  186. return string.replace(/(^\s+)|(\s+$)/g, "");
  187. }