Bestmoba_FastBattle

Ускорение боев без благославленя валькирий (доната) в игре Хроники Хаоса

  1. // ==UserScript==
  2. // @name Bestmoba_FastBattle
  3. // @namespace Bestmoba_FastBattle
  4. // @version 0.16
  5. // @description Ускорение боев без благославленя валькирий (доната) в игре Хроники Хаоса
  6. // @author ZingerY
  7. // @homepage http://ilovemycomp.narod.ru/Bestmoba_FastBattle.user.js
  8. // @icon http://ilovemycomp.narod.ru/VaultBoyIco16.ico
  9. // @icon64 http://ilovemycomp.narod.ru/VaultBoyIco64.png
  10. // @encoding utf-8
  11. // @include https://*.nextersglobal.com/*
  12. // @include https://*.hero-wars.com/*
  13. // ==/UserScript==
  14.  
  15. (function() {
  16. /** Стартуем скрипт */
  17. console.log('Start ' + GM_info.script.name + ', v' + GM_info.script.version);
  18.  
  19. const originalOpen = XMLHttpRequest.prototype.open;
  20. const originalSend = XMLHttpRequest.prototype.send;
  21.  
  22. let apiUrl = '';
  23. let sNetwork = '';
  24. let socials = {
  25. vk: 1, // vk.com
  26. ok: 2, // ok.ru
  27. mm: 3, // my.mail.ru
  28. mg: 5, // store.my.games
  29. fb: 4, // apps.facebook.com
  30. wb: 6, // hero-wars.com
  31. }
  32.  
  33. XMLHttpRequest.prototype.open = function (method, url, async, user, password) {
  34. this.checkOn = false;
  35. if (url.includes('.nextersglobal.com/api/')) {
  36. this.checkOn = true;
  37. if (!apiUrl) {
  38. apiUrl = url;
  39. socialInfo = /heroes-(.+?)\./.exec(apiUrl);
  40. sNetwork = socialInfo ? socialInfo[1] : 'vk';
  41. }
  42. }
  43. return originalOpen.call(this, method, url, async, user, password);
  44. };
  45.  
  46. XMLHttpRequest.prototype.send = function (data) {
  47. if (this.checkOn) {
  48. var oldReady = this.onreadystatechange;
  49. this.onreadystatechange = function (e) {
  50. if(this.readyState == 4) {
  51. var responseText = this.responseText;
  52. Object.defineProperty(this, 'responseText', {writable: true});
  53. var ctime = Math.round(Date.now()/1000);
  54. var renewTime = ctime + 100 * 24 * 60 * 60;
  55. var endTime = ctime + 100 * 24 * 60 * 60;
  56. var seach = /{"ident":"subscriptionGetInfo","result":{"response":{.+?(}}}})/;
  57. var replace ='{"ident":"subscriptionGetInfo","result":{"response":{"subscription":{"level":1,"status":1,"type":'+socials[sNetwork]+',"endTime":'+endTime+',"lastFarm":"20214","ctime":'+ctime+',"daysLeft":100,"mayRenew":false,"renewTime":'+renewTime+',"pendingCancel":0,"endLoginTime":0,"vkSubscriptionId":"715870"},"dailyReward":{"availableFarm":false,"currentReward":{"coin":{"14":"400"}},"notFarmedDays":0}}}}';
  58. // Активируем вальку
  59. responseText = responseText.replace(seach, replace);
  60. // Фикс экспедиции вальки
  61. responseText = responseText.replace(/("id":5.+?status":)0/, '$13');
  62. this.responseText = responseText;
  63. }
  64. if (oldReady) {
  65. return oldReady.apply(this, arguments);
  66. }
  67. }
  68. }
  69. return originalSend.call(this, data);
  70. };
  71. })();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址