Kampfwert in der Modt

Fehler beim Premiummodus behoben.

当前为 2014-06-23 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Kampfwert in der Modt
  3. // @description Fehler beim Premiummodus behoben.
  4. // @namespace http://userscripts.org/scripts/show/130577
  5. // @author - Pennereck.de -
  6. // @include http://*pennergame.de/gang/*
  7. // @include http://*pennergame.de/fight/
  8. // @include http://*pennergame.de/overview/
  9. // @version 1.7
  10.  
  11. // ==/UserScript==
  12.  
  13.  
  14. // ***********************************************************************************************
  15. // Version 1.7 Malle eingefügt
  16. // Version 1.6 Marken und Dex Anzeige für die neue Anzeige integriert. Zusätzlich wurde der Update Prozess geändert.
  17. // Version 1.5 Anpassungen Reloaded für das neue Design, instalation notwending
  18. // Version 1.5 Sylt integriert. Sollte mit Start alles laufen
  19. // Version 1.4 Das alte Design wurde über den Haufen geschmissen. Es wird nun ein Textlink in der Menuleiste eingeblendet über den das Script geladen wird. Damit sollte die Ausgabe auch bei kommenden Designänderungen bei PG laufen.
  20.  
  21. // Version 1.3 Weil das Anpassen solch einen Spaß macht! Erneut an neues Design angepasst.
  22. // Version 1.3 Anpassung an Halloween Spezial
  23. // Version 1.2 Fehler beim Namen behoben, überlange Namen wurden mit ... am Ende ausgelesen. Fehler beim senden behoben, es wurde bei aktivierter Homebase das senden blockiert.
  24. // Version 1.1 Anzeige der Booster wurde berichtigt. Es können nun auch die Werte des angelegten Booster übermittelt werden.
  25. // Anzeigefehler Wut auf der Startseite behoben. Buttongröße angepasst.
  26. // Version 1.0 Design angepasst, kleinere Bugs behoben die den Button ausgebremst haben.
  27. // Beta 0.02.6 Tempermonkey für Chrome nun möglich
  28. // Beta 0.02.5 Erste Stufe zur Anzeige der Booster eingefügt
  29. // Beta 0.02.4 München integriert
  30. // Beta 0.02.3 Anzeige für Wut integriert
  31. // Beta 0.02.2 manueller Eingabebereich inegriert
  32. // Beta 0.02.1 referer gesperrt,HHR hinzugefügt
  33. // Beta 0.02.0 angepasst
  34. // Beta 0.01.5 kleinre anzeigebugs behoben
  35. // Beta 0.01.5 Design angepasst, runden des Kampfwertes angepasst, ausgabe boost ist noch nicht aktiv.
  36. // Beta 0.01.4 Include Pennergame Koeln
  37. // Beta 0.01.3 Speed Pennersturm
  38.  
  39. //
  40. // ***********************************************************************************************
  41.  
  42. // ***********************************************************************************************
  43. // Überprüfe ob Update verfügbar
  44. // ***********************************************************************************************
  45. var version = "7"; // Updatecheck veriossangaben für prüfung
  46. var updatestatus = "Prüfung nicht erfolgt";
  47.  
  48. // Funktion in das DOM der Seite einbinden
  49. function embedFunction(s) {
  50. document.body.appendChild(document.createElement('script')).innerHTML=s.toString().replace(/([\s\S]*?return;){2}([\s\S]*)}/,'$2');
  51. }
  52.  
  53. // Funktion zur Steuerung des DIV ( ein/ausblenden )
  54. function KW_Anzeigen() {
  55. document.getElementById('heilung-container').style.display = 'inherit';
  56. }
  57. // Funktion zur Steuerung des DIV ( ein/ausblenden )
  58. function KW_Verbergen() {
  59. document.getElementById('heilung-container').style.display = 'none';
  60. }
  61.  
  62. // Textlink erzeugen und Linkadresse festlegen
  63. function insertLink() {
  64. var menu = document.getElementById('nav-2');
  65.  
  66. var newLink = document.createElement('a');
  67. newLink.onclick = KW_Anzeigen;
  68. newLink.href = '#';
  69. newLink.style.textDecoration = 'none';
  70. newLink.style.color = 'red';
  71.  
  72. var span1 = document.createElement('span');
  73. span1.className = 'btn-left';
  74. span1.appendChild(document.createTextNode('KW in der MotD'));
  75. var span2 = document.createElement('span');
  76. span2.className = 'btn-right';
  77. span2.appendChild(span1);
  78. newLink.appendChild(span2);
  79. var item = document.createElement('li');
  80. item.appendChild(newLink);
  81. menu.insertBefore(item, menu.firstChild);
  82. }
  83.  
  84.  
  85. // erzeugen und aussehen des overlay div
  86. function insertDiv() {
  87. var aExit = document.createElement('a');
  88. aExit.style.position = 'absolute';
  89. aExit.style.right = '0px';
  90. aExit.style.top = '0px';
  91. aExit.innerHTML = 'X';
  92. aExit.style.border = '1px solid #000000';
  93. aExit.style.backgroundColor = 'red';
  94. aExit.style.padding = '3px';
  95. aExit.style.fontWeight = 'bold';
  96. aExit.href = "javascript:KW_Verbergen();";
  97. var dContent = document.createElement('div');
  98. dContent.id = 'heilung-content';
  99. var dLink = document.createElement('div');
  100. dLink.style.position = 'relative';
  101. dLink.style.width = '300px';
  102. dLink.style.margin = 'auto';
  103. dLink.style.marginTop = '40px';
  104. dLink.style.marginBottom = '40px';
  105. dLink.style.color = '#FFFFFF';
  106. dLink.style.padding = '10px';
  107. dLink.appendChild(dContent);
  108. dLink.appendChild(aExit);
  109.  
  110. var dOp = document.createElement('div');
  111. dOp.style.position = 'absolute';
  112. dOp.style.left = '0px';
  113. dOp.style.top = '0px';
  114. dOp.style.width = '100%';
  115. dOp.style.height = '100%';
  116. dOp.style.backgroundColor = '#000000';
  117. dOp.style.opacity = '0.4';
  118. var dCon = document.createElement('div')
  119. dCon.id = 'heilung-container';;
  120. dCon.style.position = 'absolute';
  121. dCon.style.left = '0px';
  122. dCon.style.top = '0px';
  123. dCon.style.width = '100%';
  124. dCon.style.zIndex = '100';
  125. dCon.style.display = 'none';
  126. dCon.appendChild(dOp);
  127. dCon.appendChild(dLink);
  128. document.body.appendChild(dCon);
  129.  
  130. }
  131.  
  132.  
  133. // Initialisierung und Ausgabe vorbereiten
  134. function init() {
  135. embedFunction(KW_Anzeigen);
  136. embedFunction(KW_Verbergen);
  137. insertLink();
  138. insertDiv();
  139. }
  140. init();
  141.  
  142. // ***********************************************************************************************
  143. // Überprüfe die Stadt
  144. // ***********************************************************************************************
  145. // ***********************************************************************************************
  146. // Berlin
  147. // ***********************************************************************************************
  148. if (location.toString().indexOf("berlin") != -1 || location.toString().indexOf("berlin.pennergame.de") != -1) {
  149. var link = 'http://berlin.pennergame.de';
  150. var tabelle = 'http://www.pennereck.de/admin/berlin.php';
  151. var stadt = 'berlin';
  152.  
  153. // ***********************************************************************************************
  154. // Koeln
  155. // ***********************************************************************************************
  156. } else if (location.toString().indexOf("koeln") != -1 || location.toString().indexOf("koeln.pennergame.de") != -1) {
  157. var link = 'http://koeln.pennergame.de';
  158. var stadt = 'köln';
  159. var tabelle = 'http://www.pennereck.de/admin/koeln.php';
  160.  
  161.  
  162. // ***********************************************************************************************
  163. // HHR
  164. // ***********************************************************************************************
  165. } else if (location.toString().indexOf("reloaded") != -1 || location.toString().indexOf("reloaded.pennergame.de") != -1) {
  166. var link = 'http://reloaded.pennergame.de';
  167. var stadt = 'reloaded';
  168. var tabelle = 'http://www.pennereck.de/admin/hhr.php';
  169.  
  170.  
  171. // ***********************************************************************************************
  172. // Muenchen
  173. // ***********************************************************************************************
  174. } else if (location.toString().indexOf("muenchen") != -1|| location.toString().indexOf("muenchen.pennergame.de") != -1) {
  175. var link = 'http://muenchen.pennergame.de';
  176. var stadt = 'münchen';
  177. var tabelle = 'http://www.pennereck.de/admin/muenchen.php';
  178. // ***********************************************************************************************
  179. // Hamburg
  180. // ***********************************************************************************************
  181. } else if (location.toString().indexOf("www.pennergame.de") != -1 || location.toString().indexOf("hamburg.pennergame.de") != -1) {
  182. var link = 'http://www.pennergame.de';
  183. var stadt = 'hamburg';
  184. var tabelle = 'http://www.pennereck.de/admin/hamburg.php';
  185.  
  186.  
  187. }
  188. // ***********************************************************************************************
  189. // Sylt
  190. // ***********************************************************************************************
  191. else if (location.toString().indexOf("sylt") != -1 || location.toString().indexOf("sylt.pennergame.de") != -1) {
  192. var link = 'http://www.sylt.pennergame.de';
  193. var stadt = 'sylt';
  194. var tabelle = 'http://www.pennereck.de/admin/sylt.php';
  195.  
  196.  
  197. }
  198. // ***********************************************************************************************
  199. // Malle
  200. // ***********************************************************************************************
  201. else if (location.toString().indexOf("malle") != -1 || location.toString().indexOf("malle.pennergame.de") != -1) {
  202. var link = 'http://www.malle.pennergame.de';
  203. var stadt = 'malle';
  204. var tabelle = 'http://www.pennereck.de/admin/malle.php';
  205.  
  206.  
  207. }
  208. // ***********************************************************************************************
  209. // Att Deff Wert ermitteln
  210. // ***********************************************************************************************
  211. GM_xmlhttpRequest({
  212. method: 'GET',
  213. url: link+'/overview/',
  214. onload: function(att_def) {
  215. var content = att_def.responseText;
  216. var atton = content.split('<span class="att">')[1];
  217. var attoff = atton.split('</span>')[0];
  218. var defon = content.split('<span class="def">')[1];
  219. var defoff = defon.split('</span>')[0];
  220. // ***********************************************************************************************
  221. // Namen ermitteln
  222. // ***********************************************************************************************
  223. var nameon = content.split('\'CrackhousefranceRegular\'; font-size: 48px;">')[1];
  224. var nameoff = nameon.split('</span>')[0];
  225.  
  226. // ***********************************************************************************************
  227. // Ermittteln ob Wut aktiv ist.
  228. // ***********************************************************************************************
  229.  
  230. // ***********************************************************************************************
  231. GM_xmlhttpRequest({
  232. method: 'GET',
  233. url: link+'/fight/',
  234. onload: function(wut) {
  235. var contentstring_wut = wut.responseText;// wut wird überprüft
  236. var suchstring_wut = /(Wutentfachung)/g;// wut wird überprüft
  237. var suchergebnis = suchstring_wut.test( contentstring_wut );// wut wird überprüft
  238. // ##WUT## Verarbeitung der Prüfung und Belegung der passenden Variablen für ##WUT##
  239. if (suchergebnis != false){
  240. var wut = 'J';
  241. var wutstatus = '<img src="http://www.pennereck.de/kw_button/ja.gif" name="keine Wut" width="12" height="12" class="image" title="Eure Bande hat Wutentfachung aktiviert!" />';
  242. }
  243.  
  244. else
  245. {
  246. var wut = 'N';
  247. var wutstatus = '<img src="http://www.pennereck.de/kw_button/nein.png" width="12" height="12" class="image" title="Eure Bande hat keine Wutentfachung aktiviert!"/>';
  248. }
  249.  
  250. //
  251.  
  252. // ***********************************************************************************************
  253. // ##BOOST## Verarbeitung der Prüfung und Belegung der passenden Variablen für ##BOOST##
  254. // ***********************************************************************************************
  255.  
  256.  
  257. GM_xmlhttpRequest({
  258. method: 'GET',
  259. url: link+'/fight/',
  260. onload: function(responseDetails) {
  261. var contentstring = responseDetails.responseText;
  262. var suchstring = /(Stärkung)/g;
  263. var boost = '--';
  264. var boost2 = 'No';
  265. var booston = '';
  266. var boostoff = '<img src="http://www.pennereck.de/kw_button/nein.png" width="12" height="12" class="image" title="Du hast keinen Booster aktiviert!"/>';
  267. var suchergebnis = suchstring.test(contentstring);
  268. if(suchergebnis != false) {
  269. var content = responseDetails.responseText;
  270. booston = content.split('<span><b>Stärkung:</b><br />')[1];
  271. boostoff = booston.split('<br />')[0].trim(); // der 1. Boost
  272. boost2 = booston.split('<br />')[1].trim(); // der 2. Boost
  273. boost = boostoff.charAt(0) + boostoff.substring(5); // beschneiden auf 2 Zeichen Boost 1
  274. boost2 = boost2.charAt(0) + boost2.substring(5); // beschneiden auf 2 Zeichen Boost 2
  275.  
  276. }
  277. if (boost2 == 'D3') //prüfen ob boost A2+D3 angelegt
  278. {
  279. boost = 'X5'; // wenn A2+D3 dann Variable belegen für DB
  280. boostoff = 'A2 + D3' // Ausgabe Button
  281. }
  282. if (boostoff == 'ATT: 10') //prüfen ob Berserker benutzt wird
  283. {
  284. boost = '10'; // wenn Berserker benutzt dann Variable belegen für DB
  285. boostoff = 'Du Tier ;)' // Ausgabe Button
  286. }
  287. // ***********************************************************************************************
  288. // Skill
  289. // ***********************************************************************************************
  290. GM_xmlhttpRequest({
  291. method: 'GET',
  292. url: link+'/skills/',
  293. onload: function(gangid) {
  294. var content = gangid.responseText;
  295. var sOn = content.split('skill_progress_text">')[1];
  296. var sOff = !!sOn ? sOn.split('</')[0].trim() : '';
  297. // ***********************************************************************************************
  298. // /Skill
  299. // ***********************************************************************************************
  300.  
  301. // ***********************************************************************************************
  302. // KW berechnen
  303. // ***********************************************************************************************
  304. var kampfwert = attoff*1.1;
  305. var kampfwert3 = Number(kampfwert)+Number(defoff);
  306. var kampfwert2 = (Math.round(kampfwert3 * 10000) / 10000);
  307. var name = nameoff;
  308. GM_xmlhttpRequest({
  309. method: 'GET',
  310. url: link+'/gang/',
  311. onload: function(gangid) {
  312. var content = gangid.responseText;
  313. var gidon = content.split('<a href="/profil/bande:')[1];
  314. var gidoff = (gidon != undefined) ? gidon.split('/')[0].trim() : '';
  315. var right = '550px';
  316. var top = '92px';
  317. // ***********************************************************************************************
  318. // Anpassung neue Halloween Design
  319. // ***********************************************************************************************
  320.  
  321. GM_xmlhttpRequest({
  322. method: 'GET',
  323. url: link+'/overview/',
  324. onload: function(halloween) {
  325. var contentstring = halloween.responseText;
  326. var suchstring_halloween = /(http:\/\/static.pennergame.de\/styles\/pv4\/weather\/halloween.css)/g;
  327. var suchergebnis_halloween = suchstring_halloween.test( contentstring );
  328. if (suchergebnis != true){
  329. var right = '0px';
  330. var top = '92px';
  331. }
  332. // ***********************************************************************************************
  333. // Marken ermitteln
  334. // ***********************************************************************************************
  335. GM_xmlhttpRequest({
  336. method: 'GET',
  337. url: link+'/daily/rewards/',
  338. onload: function(marken) {
  339. var content = marken.responseText;
  340. var markenon = content.split('<span style="font-size:18px; color:#FFF; font-weight:bold">')[1];
  341. var markenoff = (markenon != undefined) ? markenon.split('<')[0].trim() : '';
  342.  
  343. // ***********************************************************************************************
  344. // DEX ermitteln
  345. // ***********************************************************************************************
  346. GM_xmlhttpRequest({
  347. method: 'GET',
  348. url: link+'/activities/',
  349. onload: function(dex) {
  350. var content = dex.responseText;
  351. var dexon = content.split('Deine Geschicklichkeit:')[1];
  352. var dexoff = (dexon != undefined) ? dexon.split('<')[0].trim() : '';
  353. // ***********************************************************************************************
  354. // Update ermitteln
  355. // ***********************************************************************************************
  356. GM_xmlhttpRequest({
  357. method: 'GET',
  358. url: 'http://www.pennereck.de/update.php',
  359. onload: function(update) {
  360. var content = update.responseText;
  361. var updateon = content.split('<div id="kw_in_der_modt_update">')[1];
  362. var updateoff = (updateon != undefined) ? updateon.split('<')[0].trim() : '';
  363.  
  364. if (updateoff > version)
  365. {
  366. var updatestatus = "<span style=\"font-size:12px; color:red;\">Update verfügbar! <a href=\"http://www.pennereck.de/gm_scripte/kampfwert.user.js\" target=\"_new\" title=\"Scipt installieren\"> Update installieren</a></span>";
  367. }
  368. else
  369. {
  370. var updatestatus = "<span style=\"font-size:12px; color:green;\">Version aktuell!</span>";
  371. }
  372.  
  373. // ***********************************************************************************************
  374. // Ausgabe in der Modt
  375. // ***********************************************************************************************
  376. document.getElementById('heilung-content').innerHTML='<table style="background-color: #292929;border: thin solid white;-moz-border-radius: 5px;border-radius: 5px " width="300px"><tr><td colspan="3" align="left">GM-Script &quot;Kampfwert&nbsp;in der MotD" (Version:1.7) </td></tr><tr><td width="150">&nbsp;</td><td>&nbsp;</td><td></td></tr><tr><td colspan="2" align="left">Folgende Werte werden übertragen:</td><td>&nbsp;</td></tr><tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td align="left">&nbsp;Name:</td><td align="left">'+name+'</td><td>&nbsp;</td></tr><tr><td align="left">&nbsp;Stadt:</td><td align="left">'+stadt+'</td><td>&nbsp;</td></tr><tr><td align="left">&nbsp;Kampfwert:</td><td align="left">'+kampfwert2+'</td><td>&nbsp;</td></tr><tr><td align="left">&nbsp;Att:</td><td align="left">'+attoff+'</td><td>&nbsp;</td></tr><tr><td align="left">&nbsp;Def:</td><td align="left">'+defoff+'</td><td>&nbsp;</td></tr><tr><td align="left">&nbsp;Wutstatus:</td><td align="left">'+wutstatus+'</td><td>&nbsp;</td></tr><tr><td align="left">&nbsp;Booststatus:</td><td align="left">'+boostoff+'</td><td>&nbsp;</td></tr><tr><td align="left">&nbsp;Sammelmarken:</td><td align="left">'+markenoff+'</td><td>&nbsp;</td></tr><tr><td align="left">&nbsp;Dex:</td><td align="left">'+dexoff+'</td><td>&nbsp;</td></tr><tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td align="left">&nbsp;<input target="_self" style="cursor: pointer;" name="kw_senden" type="button" id="kw_senden" value="KW übertragen"/></td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td></td><td>'+updatestatus+'</td><td>&nbsp;</td></tr></table>';
  377. // -----------------------------------------------------
  378. +'</div>'
  379.  
  380. // ***********************************************************************************************
  381. // Übermitteln der Daten
  382. // ***********************************************************************************************
  383.  
  384. document.getElementById('kw_senden').addEventListener('click', function kampfwert_senden(){
  385.  
  386.  
  387. GM_xmlhttpRequest({
  388. method: 'POST',
  389. url: tabelle,
  390. headers: {
  391. 'Content-type': 'application/x-www-form-urlencoded'
  392. },
  393. data: encodeURI('kw_name='+nameoff+'&kw_wert='+kampfwert2+'&kw_att='+attoff+'&kw_def='+defoff+'&kw_gangid='+gidoff+'&kw_stadt='+stadt+'&wut='+wut+'&boost='+boost+'&marken='+markenoff+'&dex='+dexoff),
  394. onload: function(responseDetails) {location.reload();
  395. }});
  396.  
  397.  
  398. },false);
  399. }});
  400.  
  401. }});
  402. }});
  403. }});
  404. }});
  405. }});
  406.  
  407. }});
  408. }});
  409.  
  410. }});
  411. // **************************************************************************************
  412. // Das bitterböse ENDE
  413. // **************************************************************************************
  414.  
  415. // copyright 2012 4D-ESIGN - Pennereck.de***********************************************
  416. // Scriptidee und Schnippselspender by JAVAN - Danke für die Freigabe********************
  417. // **************************************************************************************
  418. // Dieses Werk ist durch eine Creative Commons by-nc-sa Lizenz geschuetzt.
  419. // Bearbeiten oder Vervielfaeltigen ist nur nach Absprache mit dem Autor gestattet.
  420. // Bei Nichtbeachtung werden rechtliche Schritte eingeleitet.
  421. // JavaScript Document