Greasy Fork镜像 支持简体中文。

Surviv.io | Custom map - Change classic map into others.

Change classic map into others.

  1. // ==UserScript==
  2. // @name Surviv.io | Custom map - Change classic map into others.
  3. // @namespace http://tampermonkey.net/
  4. // @version 1.0.4
  5. // @icon https://surviv.io/img/map/map-bush-13b.svg
  6. // @description Change classic map into others.
  7. // @author sk
  8. // @license MIT
  9. // @match https://surviv.io/*
  10. // @match https://surviv2.io/*
  11. // @match https://2dbattleroyale.com/*
  12. // @match https://2dbattleroyale.org/*
  13. // @match https://piearesquared.info/*
  14. // @match https://thecircleisclosing.com/*
  15. // @match https://secantsecant.com/*
  16. // @match https://parmainitiative.com/*
  17. // @match https://ot38.club/*
  18. // @match https://drchandlertallow.com/*
  19. // @match https://rarepotato.com/*
  20. // @match https://archimedesofsyracuse.info/*
  21. // @match https://nevelskoygroup.com/*
  22. // @match https://kugahi.com/*
  23. // @match https://kugaheavyindustry.com/*
  24. // @match https://chandlertallowmd.com/*
  25. // @grant none
  26. // ==/UserScript==
  27.  
  28. // Contributors: alliumnsk, preacher
  29. /*
  30.  
  31. [PREACHER'S CODE]
  32. let normalMap = webpackR("d5ec3c16");
  33. let cobaltMap = webpackR("6df31f9c");
  34. let infernoMap = webpackR("d5ec3c16");
  35. let savannahMap = webpackR("6a4e7802");
  36. let obstacles = webpackR("03f4982a");
  37.  
  38. // add for each mode whatever assets need to change
  39. let modeAssets = {
  40. savannah: {
  41. tree_01: 'map-tree-03sv.img',
  42. stone_01: 'map-stone-01.img',
  43. crate_01: 'map-crate-01.img',
  44. crate_02: 'map-crate-02sv.img',
  45. },
  46. colbat: {
  47. tree_01: 'map-tree-03cb.img',
  48. stone_01: 'map-stone-01cb.img',
  49. crate_01: 'map-crate-01.img',
  50. crate_02: 'map-crate-02.img',
  51. }
  52. }
  53.  
  54.  
  55. function applyMap(map, assets) {
  56. normalMap.biome = {...map.biome}
  57. obstacles.tree_01.img.sprite = imgToUrl(assets.tree_01)
  58. obstacles.stone_01.img.sprite = imgToUrl(assets.stone_01)
  59. obstacles.crate_01.img.sprite = imgToUrl(assets.crate_01)
  60. obstacles.crate_02.img.sprite = imgToUrl(assets.crate_02)
  61.  
  62. }
  63.  
  64. function imgToUrl(img) {
  65. return `https://surviv.io/img/map/${img.slice(0, -4)}.svg`
  66. }
  67. */
  68.  
  69. window.webpackR;
  70. var func = {
  71. webpack_inject: (w, e, get) => {
  72. window.webpackR = get.bind(this)
  73. },
  74. };
  75. if (typeof window.webpackJsonp === 'function') {
  76. window.webpackJsonp([0], func, ["webpack_inject"]);
  77. } else {
  78. window.webpackJsonp.push([
  79. ["webpack_inject"],
  80. func,
  81. [["webpack_inject"]]
  82. ]);
  83. }
  84. let x = webpackR
  85. let classicMap = x("d5ec3c16"), //0
  86. desertMap = x("ef7c973f"), //1
  87. woodsMap = x("45f86a38"), //2
  88. factionMap = x("903f46c9"), //3
  89. savannahMap = x("6a4e7802"), //5
  90. halloweenMap = x("9d3c0d8b"), //6
  91. cobaltMap = x("6df31f9c"), //7
  92. snowMap = x("4e269062"), //8
  93. valentineMap = x("eaa3b3bf"), //9
  94. stPatrickMap = x("781b6146"), //10
  95. mayFourthMap = x("b47bd76c"), //13
  96. beachMap = x("7565b14b"), //16
  97. contactMap = x("89933e10"), //17
  98. infernoMap = x("28e7ad85"), //18
  99. obstacles = x("03f4982a"),
  100. throwable = x("035f2ecb");
  101.  
  102. // add for each mode whatever assets need to change
  103. let modeAssets = {
  104. classic: {tree_01: {img: {sprite: "map-tree-03.img",residue: "map-tree-res-01.img",scale: 0.7},map: {color: 4083758}},stone_01: {img: {sprite: "map-stone-01.img",residue: "map-stone-res-01.img",scale: 0.4},map: {color: 11776947}},stone_03: {img: {sprite: "map-stone-03.img",residue: "map-stone-res-02.img",scale: 0.4},map: {color: 5197647}},crate_01: {img: {sprite: "map-crate-01.img",residue: "map-crate-res-01.img",scale: 0.5},map: {color: 6697728}},crate_02: {img: {sprite: "map-crate-02.img",residue: "map-crate-res-01.img",scale: 0.5},map: {color: 6697728}},bush_01: {img: {sprite: "map-bush-01.img",residue: "map-bush-res-01.img",scale: 0.5},map: {color: 24320}},bush_04: {img: {sprite: "map-bush-04.img",residue: "map-bush-res-04.img",scale: 0.5},map: {color: 24320}},bush_07: {img: {sprite: "map-bush-07.img",residue: "map-bush-res-01.img",scale: 0.5},map: {color: 24320}},frag: {lootImg: {sprite: "loot-throwable-frag.img",},worldImg: {sprite: 'https://surviv.io/img/proj/proj-frag-nopin-nolever-01.svg',},handImg: {equip: {right: {sprite: 'https://surviv.io/img/proj/proj-frag-pin-01.svg',},},cook: {right: {sprite: 'https://surviv.io/img/proj/proj-frag-nopin-01.svg',},left: {sprite: 'https://surviv.io/img/proj/proj-frag-pin-part.svg',}},},},mirv_mini: {worldImg: {sprite: "https://surviv.io/img/proj/proj-mirv-mini-01.svg"}}},
  105. desert: {tree_01: {img: {sprite: "map-tree-06.img",residue: "map-tree-res-01.img",scale: 0.7},map: {color: 7700520}},stone_01: {img: {sprite: "map-stone-01.img",residue: "map-stone-res-01b.img",scale: 0.4},map: {color: 11776947}},stone_03: {img: {sprite: "map-stone-03b.img",residue: "map-stone-res-01.img",scale: 0.4},map: {color: 5197647}},crate_01: {img: {sprite: "map-crate-01.img",residue: "map-crate-res-01.img",scale: 0.5},map: {color: 6697728}},crate_02: {img: {sprite: "map-crate-18.img",residue: "map-crate-res-01.img",scale: 0.5},map: {color: 12867840}},bush_01: {img: {sprite: "map-bush-05.img",residue: "map-bush-res-05.img",scale: 0.5},map: {color: 6971965}},bush_04: {img: {sprite: "map-bush-04.img",residue: "map-bush-res-04.img",scale: 0.5},map: {color: 24320}},bush_07: {img: {sprite: "map-bush-05.img",residue: "map-bush-res-05.img",scale: 0.5},map: {color: 6971965}},frag: {lootImg: {sprite: "loot-throwable-frag.img",},worldImg: {sprite: 'https://surviv.io/img/proj/proj-frag-nopin-nolever-01.svg',},handImg: {equip: {right: {sprite: 'https://surviv.io/img/proj/proj-frag-pin-01.svg',},},cook: {right: {sprite: 'https://surviv.io/img/proj/proj-frag-nopin-01.svg',},left: {sprite: 'https://surviv.io/img/proj/proj-frag-pin-part.svg',}},},},mirv_mini: {worldImg: {sprite: "https://surviv.io/img/proj/proj-mirv-mini-01.svg"}}},
  106. woods: {tree_01: {img: {sprite: "map-tree-07.img",residue: "map-tree-res-01.img",scale: 0.7},map: {color: 5199637}},stone_01: {img: {sprite: "map-stone-01.img",residue: "map-stone-res-01.img",scale: 0.4},map: {color: 11776947}},stone_03: {img: {sprite: "map-stone-03.img",residue: "map-stone-res-02.img",scale: 0.4},map: {color: 5197647}},crate_01: {img: {sprite: "map-crate-01.img",residue: "map-crate-res-01.img",scale: 0.5},map: {color: 6697728}},crate_02: {img: {sprite: "map-crate-19.img",residue: "map-crate-res-01.img",scale: 0.5},map: {color: 4500224}},bush_01: {img: {sprite: "map-bush-01.img",residue: "map-bush-res-01.img",scale: 0.5},map: {color: 6971965}},bush_04: {img: {sprite: "map-bush-04.img",residue: "map-bush-res-04.img",scale: 0.5},map: {color: 24320}},bush_07: {img: {sprite: "map-bush-06.img",residue: "map-bush-res-06.img",scale: 0.5},map: {color: 6971965}},frag: {lootImg: {sprite: "loot-throwable-frag.img",},worldImg: {sprite: 'https://surviv.io/img/proj/proj-frag-nopin-nolever-01.svg',},handImg: {equip: {right: {sprite: 'https://surviv.io/img/proj/proj-frag-pin-01.svg',},},cook: {right: {sprite: 'https://surviv.io/img/proj/proj-frag-nopin-01.svg',},left: {sprite: 'https://surviv.io/img/proj/proj-frag-pin-part.svg',}},},},mirv_mini: {worldImg: {sprite: "https://surviv.io/img/proj/proj-mirv-mini-01.svg"}}},
  107. faction: {tree_01: {img: {sprite: "map-tree-08f.img",residue: "map-tree-res-01.img",scale: 0.35},map: {color: 995844}},stone_01: {img: {sprite: "map-stone-01.img",residue: "map-stone-res-01.img",scale: 0.4},map: {color: 8224125}},stone_03: {img: {sprite: "map-stone-03f.img",residue: "map-stone-res-02f.img",scale: 0.4},map: {color: 5197647}},crate_01: {img: {sprite: "map-crate-01.img",residue: "map-crate-res-01.img",scale: 0.5},map: {color: 6697728}},crate_02: {img: {sprite: "map-crate-02f.img",residue: "map-crate-res-01.img",scale: 0.5},map: {color: 13369344}},bush_01: {img: {sprite: "map-bush-01f.img",residue: "map-bush-res-01.img",scale: 0.5},map: {color: 1793032}},bush_04: {img: {sprite: "map-bush-04.img",residue: "map-bush-res-04.img",scale: 0.5},map: {color: 24320}},bush_07: {img: {sprite: "map-bush-01f.img",residue: "map-bush-res-01.img",scale: 0.5},map: {color: 1793032}},frag: {lootImg: {sprite: "loot-throwable-frag.img",},worldImg: {sprite: 'https://surviv.io/img/proj/proj-frag-nopin-nolever-01.svg',},handImg: {equip: {right: {sprite: 'https://surviv.io/img/proj/proj-frag-pin-01.svg',},},cook: {right: {sprite: 'https://surviv.io/img/proj/proj-frag-nopin-01.svg',},left: {sprite: 'https://surviv.io/img/proj/proj-frag-pin-part.svg',}},},},mirv_mini: {worldImg: {sprite: "https://surviv.io/img/proj/proj-mirv-mini-01.svg"}}},
  108. savannah: {tree_01: {img: {sprite: "map-tree-03sv.img",residue: "map-tree-res-01.img",scale: 0.7},map: {color: 4411673}},stone_01: {img: {sprite: "map-stone-01.img",residue: "map-stone-res-01.img",scale: 0.4},map: {color: 11776947}},stone_03: {img: {sprite: "map-stone-03.img",residue: "map-stone-res-02.img",scale: 0.4},map: {color: 5197647}},crate_01: {img: {sprite: "map-crate-01.img",residue: "map-crate-res-01.img",scale: 0.5},map: {color: 6697728}},crate_02: {img: {sprite: "map-crate-21.img",residue: "map-crate-res-01.img",scale: 0.5},map: {color: 18799}},bush_01: {img: {sprite: "map-bush-01sv.img",residue: "map-bush-res-01sv.img",scale: 0.5},map: {color: 7569455}},bush_04: {img: {sprite: "map-bush-04.img",residue: "map-bush-res-04.img",scale: 0.5},map: {color: 24320}},bush_07: {img: {sprite: "map-bush-01sv.img",residue: "map-bush-res-01sv.img",scale: 0.5},map: {color: 24320}},frag: {lootImg: {sprite: "loot-throwable-frag.img",},worldImg: {sprite: 'https://surviv.io/img/proj/proj-frag-nopin-nolever-01.svg',},handImg: {equip: {right: {sprite: 'https://surviv.io/img/proj/proj-frag-pin-01.svg',},},cook: {right: {sprite: 'https://surviv.io/img/proj/proj-frag-nopin-01.svg',},left: {sprite: 'https://surviv.io/img/proj/proj-frag-pin-part.svg',}},},},mirv_mini: {worldImg: {sprite: "https://surviv.io/img/proj/proj-mirv-mini-01.svg"}}},
  109. halloween: {tree_01: {img: {sprite: "map-tree-07.img",residue: "map-tree-res-01.img",scale: 0.7},map: {color: 5199637}},stone_01: {img: {sprite: "map-stone-01.img",residue: "map-stone-res-01.img",scale: 0.4},map: {color: 11776947}},stone_03: {img: {sprite: "map-stone-01.img",residue: "map-stone-res-01.img",scale: 0.9},map: {color: 11776947}},crate_01: {img: {sprite: "map-crate-01.img",residue: "map-crate-res-01.img",scale: 0.5},map: {color: 6697728}},crate_02: {img: {sprite: "map-crate-02.img",residue: "map-crate-res-01.img",scale: 0.5},map: {color: 6697728}},bush_01: {img: {sprite: "map-bush-01.img",residue: "map-bush-res-01.img",scale: 0.5},map: {color: 6971965}},bush_04: {img: {sprite: "map-bush-04.img",residue: "map-bush-res-04.img",scale: 0.5},map: {color: 24320}},bush_07: {img: {sprite: "map-bush-06.img",residue: "map-bush-res-06.img",scale: 0.5},map: {color: 6971965}},frag: {lootImg: {sprite: "loot-throwable-frag.img",},worldImg: {sprite: 'https://surviv.io/img/proj/proj-frag-nopin-nolever-02.svg',},handImg: {equip: {right: {sprite: 'https://surviv.io/img/proj/proj-frag-pin-02.svg',},},cook: {right: {sprite: 'https://surviv.io/img/proj/proj-frag-nopin-02.svg',},left: {sprite: 'https://surviv.io/img/proj/proj-frag-pin-part.svg',}},},},mirv_mini: {worldImg: {sprite: "https://surviv.io/img/proj/proj-mirv-mini-02.svg"}}},
  110. cobalt: {tree_01: {img: {sprite: "map-tree-03cb.img",residue: "map-tree-res-01.img",scale: 1},map: {color: 2900834}},stone_01: {img: {sprite: "map-stone-01cb.img",residue: "map-stone-res-01cb.img",scale: 0.4},map: {color: 10265256}},stone_03: {img: {sprite: "map-stone-03cb.img",residue: "map-stone-res-02cb.img",scale: 0.4},map: {color: 5197647}},crate_01: {img: {sprite: "map-crate-01.img",residue: "map-crate-res-01.img",scale: 0.5},map: {color: 6697728}},crate_02: {img: {sprite: "map-crate-02.img",residue: "map-crate-res-01.img",scale: 0.5},map: {color: 6697728}},bush_01: {img: {sprite: "map-bush-01cb.img",residue: "map-bush-res-01.img",scale: 0.5},map: {color: 2518873}},bush_04: {img: {sprite: "map-bush-04cb.img",residue: "map-bush-res-04.img",scale: 0.5},map: {color: 2784099}},bush_07: {img: {sprite: "map-bush-01cb.img",residue: "map-bush-res-01.img",scale: 0.5},map: {color: 2518873}},frag: {lootImg: {sprite: "loot-throwable-frag.img",},worldImg: {sprite: 'https://surviv.io/img/proj/proj-frag-nopin-nolever-01.svg',},handImg: {equip: {right: {sprite: 'https://surviv.io/img/proj/proj-frag-pin-01.svg',},},cook: {right: {sprite: 'https://surviv.io/img/proj/proj-frag-nopin-01.svg',},left: {sprite: 'https://surviv.io/img/proj/proj-frag-pin-part.svg',}},},},mirv_mini: {worldImg: {sprite: "https://surviv.io/img/proj/proj-mirv-mini-01.svg"}}},
  111. snow: {tree_01: {img: {sprite: "map-tree-10.img",residue: "map-tree-res-01.img",scale: 0.7},map: {color: 7571807}},stone_01: {img: {sprite: "map-stone-01x.img",residue: "map-stone-res-01.img",scale: 0.4},map: {color: 6052956}},stone_03: {img: {sprite: "map-stone-03x.img",residue: "map-stone-res-02x.img",scale: 0.4},map: {color: 5197647}},crate_01: {img: {sprite: "map-crate-01x.img",residue: "map-crate-res-01.img",scale: 0.5},map: {color: 6697728}},crate_02: {img: {sprite: "map-crate-02a.img",residue: "map-crate-res-01.img",scale: 0.5},map: {color: 6697728}},bush_01: {img: {sprite: "map-bush-01x.img",residue: "map-bush-res-01.img",scale: 0.5},map: {color: 4545840}},bush_04: {img: {sprite: "map-bush-04.img",residue: "map-bush-res-04.img",scale: 0.5},map: {color: 24320}},bush_07: {img: {sprite: "map-bush-07x.img",residue: "map-bush-res-01.img",scale: 0.5},map: {color: 24320}},frag: {lootImg: {sprite: "loot-throwable-frag.img",},worldImg: {sprite: 'https://surviv.io/img/proj/proj-frag-nopin-nolever-01.svg',},handImg: {equip: {right: {sprite: 'https://surviv.io/img/proj/proj-frag-pin-01.svg',},},cook: {right: {sprite: 'https://surviv.io/img/proj/proj-frag-nopin-01.svg',},left: {sprite: 'https://surviv.io/img/proj/proj-frag-pin-part.svg',}},},},mirv_mini: {worldImg: {sprite: "https://surviv.io/img/proj/proj-mirv-mini-01.svg"}}},
  112. valentine: {tree_01: {img: {sprite: "map-tree-13.img",residue: "map-tree-res-01.img",scale: 0.7},map: {color: 4083758}},stone_01: {img: {sprite: "map-stone-01.img",residue: "map-stone-res-01.img",scale: 0.4},map: {color: 11776947}},stone_03: {img: {sprite: "map-stone-03.img",residue: "map-stone-res-02.img",scale: 0.4},map: {color: 5197647}},crate_01: {img: {sprite: "map-crate-01.img",residue: "map-crate-res-01.img",scale: 0.5},map: {color: 6697728}},crate_02: {img: {sprite: "map-crate-02b.img",residue: "map-crate-res-01.img",scale: 0.5},map: {color: 6697728}},bush_01: {img: {sprite: "map-bush-01.img",residue: "map-bush-res-01.img",scale: 0.5},map: {color: 24320}},bush_04: {img: {sprite: "map-bush-04.img",residue: "map-bush-res-04.img",scale: 0.5},map: {color: 24320}},bush_07: {img: {sprite: "bush-rose.img",residue: "bush-res-rose.img",scale: 0.5},map: {color: 24320}},frag: {lootImg: {sprite: "loot-throwable-heart.img",},worldImg: {sprite: 'https://surviv.io/img/proj/proj-frag-nopin-nolever-03.svg',},handImg: {equip: {right: {sprite: 'https://surviv.io/img/proj/proj-frag-pin-03.svg',},},cook: {right: {sprite: 'https://surviv.io/img/proj/proj-frag-nopin-03.svg',},left: {sprite: 'https://surviv.io/img/proj/proj-frag-pin-part-03.svg',}},},},mirv_mini: {worldImg: {sprite: "https://surviv.io/img/proj/proj-mirv-mini-01.svg"}}},
  113. stPatrick: {tree_01: {img: {sprite: "map-tree-14.img",residue: "map-tree-res-01.img",scale: 0.7},map: {color: 1980462}},stone_01: {img: {sprite: "map-stone-01.img",residue: "map-stone-res-01.img",scale: 0.4},map: {color: 11776947}},stone_03: {img: {sprite: "map-stone-08.img",residue: "map-stone-res-08.img",scale: 0.4},map: {color: 5197647}},crate_01: {img: {sprite: "map-crate-01.img",residue: "map-crate-res-01.img",scale: 0.5},map: {color: 6697728}},crate_02: {img: {sprite: "map-crate-02.img",residue: "map-crate-res-01.img",scale: 0.5},map: {color: 6697728}},bush_01: {img: {sprite: "map-bush-09a.img",residue: "map-bush-res-01.img",scale: 0.5},map: {color: 24320}},bush_04: {img: {sprite: "map-bush-04.img",residue: "map-bush-res-04.img",scale: 0.5},map: {color: 24320}},bush_07: {img: {sprite: "map-bush-09a.img",residue: "map-bush-res-01.img",scale: 0.5},map: {color: 24320}},frag: {lootImg: {sprite: "loot-throwable-frag.img",},worldImg: {sprite: 'https://surviv.io/img/proj/proj-frag-nopin-nolever-01.svg',},handImg: {equip: {right: {sprite: 'https://surviv.io/img/proj/proj-frag-pin-01.svg',},},cook: {right: {sprite: 'https://surviv.io/img/proj/proj-frag-nopin-01.svg',},left: {sprite: 'https://surviv.io/img/proj/proj-frag-pin-part.svg',}},},},mirv_mini: {worldImg: {sprite: "https://surviv.io/img/proj/proj-mirv-mini-01.svg"}}},
  114. mayFourth: {tree_01: {img: {sprite: "map-tree-16.img",residue: "map-tree-res-01.img",scale: 0.7},map: {color: 4272231}},stone_01: {img: {sprite: "map-stone-01.img",residue: "map-stone-res-01.img",scale: 0.4},map: {color: 11776947}},stone_03: {img: {sprite: "map-stone-09.img",residue: "map-stone-res-09.img",scale: 0.4},map: {color: 5197647}},crate_01: {img: {sprite: "map-crate-24.img",residue: "map-crate-24-res.img",scale: 0.5},map: {color: 6697728}},crate_02: {img: {sprite: "map-crate-23.img",residue: "map-crate-23-res.img",scale: 0.5},map: {color: 6697728}},bush_01: {img: {sprite: "map-bush-11.img",residue: "map-bush-res-01.img",scale: 0.5},map: {color: 113393}},bush_04: {img: {sprite: "map-bush-04.img",residue: "map-bush-res-04.img",scale: 0.5},map: {color: 24320}},bush_07: {img: {sprite: "map-bush-07.img",residue: "map-bush-res-01.img",scale: 0.5},map: {color: 24320}},frag: {lootImg: {sprite: "loot-throwable-frag.img",},worldImg: {sprite: 'https://surviv.io/img/proj/proj-frag-nopin-nolever-01.svg',},handImg: {equip: {right: {sprite: 'https://surviv.io/img/proj/proj-frag-pin-01.svg',},},cook: {right: {sprite: 'https://surviv.io/img/proj/proj-frag-nopin-01.svg',},left: {sprite: 'https://surviv.io/img/proj/proj-frag-pin-part.svg',}},},},mirv_mini: {worldImg: {sprite: "https://surviv.io/img/proj/proj-mirv-mini-01.svg"}}},
  115. beach: {tree_01: {img: {sprite: "map-tree-18.img",residue: "map-tree-res-01.img",scale: 0.7},map: {color: 3050805}},stone_01: {img: {sprite: "map-stone-01.img",residue: "map-stone-res-01.img",scale: 0.4},map: {color: 11776947}},stone_03: {img: {sprite: "map-stone-03.img",residue: "map-stone-res-02.img",scale: 0.4},map: {color: 5197647}},crate_01: {img: {sprite: "map-crate-01.img",residue: "map-crate-res-01.img",scale: 0.5},map: {color: 6697728}},crate_02: {img: {sprite: "map-crate-02.img",residue: "map-crate-res-01.img",scale: 0.5},map: {color: 6697728}},bush_01: {img: {sprite: "map-bush-12.img",residue: "map-bush-res-01.img",scale: 0.5},map: {color: 3959104}},bush_04: {img: {sprite: "map-bush-04.img",residue: "map-bush-res-04.img",scale: 0.5},map: {color: 24320}},bush_07: {img: {sprite: "map-bush-07.img",residue: "map-bush-res-01.img",scale: 0.5},map: {color: 24320}},frag: {lootImg: {sprite: "loot-throwable-frag.img",},worldImg: {sprite: 'https://surviv.io/img/proj/proj-frag-nopin-nolever-01.svg',},handImg: {equip: {right: {sprite: 'https://surviv.io/img/proj/proj-frag-pin-01.svg',},},cook: {right: {sprite: 'https://surviv.io/img/proj/proj-frag-nopin-01.svg',},left: {sprite: 'https://surviv.io/img/proj/proj-frag-pin-part.svg',}},},},mirv_mini: {worldImg: {sprite: "https://surviv.io/img/proj/proj-mirv-mini-01.svg"}}},
  116. contact: {tree_01: {img: {sprite: "map-tree-19.img",residue: "map-tree-res-01.img",scale: 0.7},map: {color: 2367516}},stone_01: {img: {sprite: "map-stone-01.img",residue: "map-stone-res-01.img",scale: 0.4},map: {color: 11776947}},stone_03: {img: {sprite: "map-stone-11.img",residue: "map-stone-res-11.img",scale: 0.4},map: {color: 5197647}},crate_01: {img: {sprite: "map-crate-01.img",residue: "map-crate-res-01.img",scale: 0.5},map: {color: 6697728}},crate_02: {img: {sprite: "map-crate-02.img",residue: "map-crate-res-01.img",scale: 0.5},map: {color: 6697728}},bush_01: {img: {sprite: "map-bush-13.img",residue: "map-bush-res-01.img",scale: 0.5},map: {color: 2367516}},bush_04: {img: {sprite: "map-bush-13b.img",residue: "map-bush-res-01.img",scale: 0.5},map: {color: 2367516}},bush_07: {img: {sprite: "map-bush-13c.img",residue: "map-bush-res-01.img",scale: 0.5},map: {color: 2367516}},frag: {lootImg: {sprite: "loot-throwable-frag.img",},worldImg: {sprite: 'https://surviv.io/img/proj/proj-frag-nopin-nolever-01.svg',},handImg: {equip: {right: {sprite: 'https://surviv.io/img/proj/proj-frag-pin-01.svg',},},cook: {right: {sprite: 'https://surviv.io/img/proj/proj-frag-nopin-01.svg',},left: {sprite: 'https://surviv.io/img/proj/proj-frag-pin-part.svg',}},},},mirv_mini: {worldImg: {sprite: "https://surviv.io/img/proj/proj-mirv-mini-01.svg"}}},
  117. inferno: {tree_01: {img: {sprite: "map-tree-20.img",residue: "map-tree-res-01.img",scale: 0.7},map: {color: 6905681}},stone_01: {img: {sprite: "map-stone-01.img",residue: "map-stone-res-01.img",scale: 0.4},map: {color: 11776947}},stone_03: {img: {sprite: "map-stone-12.img",residue: "map-stone-res-02.img",scale: 0.4},map: {color: 5197647}},crate_01: {img: {sprite: "map-crate-01.img",residue: "map-crate-res-01.img",scale: 0.5},map: {color: 6697728}},crate_02: {img: {sprite: "map-pyre-01.img",residue: "map-crate-pyre-res.img",scale: 0.5},map: {color: 6697728}},bush_01: {img: {sprite: "map-bush-14b.img",residue: "map-bush-res-01.img",scale: 0.5},map: {color: 6905681}},bush_04: {img: {sprite: "map-bush-04.img",residue: "map-bush-res-04.img",scale: 0.5},map: {color: 24320}},bush_07: {img: {sprite: "map-bush-14a.img",residue: "map-bush-res-01.img",scale: 0.5},map: {color: 6905681}},frag: {lootImg: {sprite: "loot-throwable-frag.img",},worldImg: {sprite: 'https://surviv.io/img/proj/proj-frag-nopin-nolever-01.svg',},handImg: {equip: {right: {sprite: 'https://surviv.io/img/proj/proj-frag-pin-01.svg',},},cook: {right: {sprite: 'https://surviv.io/img/proj/proj-frag-nopin-01.svg',},left: {sprite: 'https://surviv.io/img/proj/proj-frag-pin-part.svg',}},},},mirv_mini: {worldImg: {sprite: "https://surviv.io/img/proj/proj-mirv-mini-01.svg"}}},
  118. }
  119.  
  120. function applyMap(map, assets) {
  121. classicMap.biome = {...map.biome}
  122. classicMap.desc = {...map.desc}
  123.  
  124. obstacles.tree_01.img.sprite = imgToUrl(assets.tree_01.img.sprite)
  125. obstacles.stone_01.img.sprite = imgToUrl(assets.stone_01.img.sprite)
  126. obstacles.stone_03.img.sprite = imgToUrl(assets.stone_03.img.sprite)
  127. obstacles.crate_01.img.sprite = imgToUrl(assets.crate_01.img.sprite)
  128. obstacles.crate_02.img.sprite = imgToUrl(assets.crate_02.img.sprite)
  129. obstacles.bush_01.img.sprite = imgToUrl(assets.bush_01.img.sprite)
  130. obstacles.bush_04.img.sprite = imgToUrl(assets.bush_04.img.sprite)
  131. obstacles.bush_07.img.sprite = imgToUrl(assets.bush_07.img.sprite)
  132.  
  133. obstacles.tree_01.img.residue = imgToUrl(assets.tree_01.img.residue)
  134. obstacles.stone_01.img.residue = imgToUrl(assets.stone_01.img.residue)
  135. obstacles.stone_03.img.residue = imgToUrl(assets.stone_03.img.residue)
  136. obstacles.crate_01.img.residue = imgToUrl(assets.crate_01.img.residue)
  137. obstacles.crate_02.img.residue = imgToUrl(assets.crate_02.img.residue)
  138. obstacles.bush_01.img.residue = imgToUrl(assets.bush_01.img.residue)
  139. obstacles.bush_04.img.residue = imgToUrl(assets.bush_04.img.residue)
  140. obstacles.bush_07.img.residue = imgToUrl(assets.bush_07.img.residue)
  141.  
  142. obstacles.tree_01.img.scale = assets.tree_01.img.scale
  143. obstacles.stone_01.img.scale = assets.stone_01.img.scale
  144. obstacles.stone_03.img.scale = assets.stone_03.img.scale
  145. obstacles.crate_01.img.scale = assets.crate_01.img.scale
  146. obstacles.crate_02.img.scale = assets.crate_02.img.scale
  147. obstacles.bush_01.img.scale = assets.bush_01.img.scale
  148. obstacles.bush_04.img.scale = assets.bush_04.img.scale
  149. obstacles.bush_07.img.scale = assets.bush_07.img.scale
  150.  
  151. obstacles.tree_01.map.color = assets.tree_01.map.color
  152. obstacles.stone_01.map.color = assets.stone_01.map.color
  153. obstacles.stone_03.map.color = assets.stone_03.map.color
  154. obstacles.crate_01.map.color = assets.crate_01.map.color
  155. obstacles.crate_02.map.color = assets.crate_02.map.color
  156. obstacles.bush_01.map.color = assets.bush_01.map.color
  157. obstacles.bush_04.map.color = assets.bush_04.map.color
  158. obstacles.bush_07.map.color = assets.bush_07.map.color
  159.  
  160. throwable.frag.lootImg.sprite = assets.frag.lootImg.sprite
  161. throwable.frag.worldImg.sprite = assets.frag.worldImg.sprite
  162. throwable.frag.handImg.equip.right.sprite = assets.frag.handImg.equip.right.sprite
  163. throwable.frag.handImg.cook.right.sprite = assets.frag.handImg.cook.right.sprite
  164. throwable.frag.handImg.cook.left.sprite = assets.frag.handImg.cook.left.sprite
  165.  
  166. throwable.mirv_mini.worldImg.sprite = assets.mirv_mini.worldImg.sprite
  167. }
  168. function imgToUrl(img) {
  169. return `https://surviv.io/img/map/${img.slice(0, -4)}.svg`
  170. }
  171.  
  172. document.getElementById('background').style = "background-image:url('https://raw.githubusercontent.com/Samer-Kizi/survivio-mods/main/scripts/img/re-classic.png')!important; filter:brightness(80%)"
  173. document.getElementById('free-gp-offer').style = "padding:40px;height:auto;"
  174. document.getElementById('free-gp-offer').querySelector('.pass-xp-buy-btn').remove();
  175. document.getElementById('free-gp-offer').querySelector('.btn-offerwall-container').remove();
  176. var changeMapButton = document.createElement('select');
  177. changeMapButton.id = 'changeMapButton'
  178. changeMapButton.style = `
  179. color: #fff;
  180. cursor: pointer;
  181. text-shadow: rgb(0 0 0 / 50%) 0px 1px 2px;
  182. font-weight: 700;
  183. width: 100%;
  184. border: none;
  185. border-radius: 5px;
  186. padding: 12px 20px;
  187. font-size: 18px;
  188. background-color: #83af50;
  189. `
  190. changeMapButton.onchange = function() {
  191. document.getElementById('0').click()
  192. var y = document.getElementById("changeMapButton").value
  193. if (y === "classic") {
  194. classicMap.biome = {"colors": {"background": 2118510,"water": 3310251,"waterRipple": 11792639,"beach": 13480795,"riverbank": 9461284,"grass": 8433481,"underground": 1772803,"playerSubmerge": 2854052,"playerGhillie": 8630096},"valueAdjust": 1,"sound": {"riverShore": "sand"},"particles": {"camera": ""},"tracerColors": {},"airdrop": {"planeImg": "map-plane-01.img","planeSound": "plane_01","airdropImg": "map-chute-01.img"}};
  195. classicMap.desc = {"name": "Normal","icon": "img/gui/emote.svg","buttonCss": "","buttonText": "index-play-mode-main"}
  196. applyMap(classicMap, modeAssets.classic)
  197. document.getElementById('background').style = "background-image:url('https://raw.githubusercontent.com/Samer-Kizi/survivio-mods/main/scripts/img/re-classic.png')!important; filter:brightness(80%)"
  198. document.getElementById('changeMapButton').style = `
  199. color: #fff;
  200. cursor: pointer;
  201. text-shadow: rgb(0 0 0 / 50%) 0px 1px 2px;
  202. font-weight: 700;
  203. width: 100%;
  204. border: none;
  205. border-radius: 5px;
  206. padding: 12px 20px;
  207. font-size: 22px;
  208. background-color: #83af50;
  209. `
  210. } else if (y === "desert") {
  211. applyMap(desertMap, modeAssets.desert)
  212. document.getElementById('background').style = "background-image:url('https://raw.githubusercontent.com/Samer-Kizi/survivio-mods/main/scripts/img/desert-01.png')!important; filter:brightness(80%)"
  213. document.getElementById('changeMapButton').style = `
  214. -webkit-animation-name: desert-pulse;
  215. -webkit-animation-iteration-count: infinite;
  216. -webkit-animation-duration: 4s!important;
  217.  
  218. color: #fff;
  219. cursor: pointer;
  220. text-shadow: rgb(0 0 0 / 50%) 0px 1px 2px;
  221. font-weight: 700;
  222. width: 100%;
  223. border: none;
  224. border-radius: 5px;
  225. padding: 12px 20px;
  226. font-size: 22px;
  227. `
  228. } else if (y === "woods") {
  229. applyMap(woodsMap, modeAssets.woods)
  230. document.getElementById('changeMapButton').style = `
  231. -webkit-animation-name: woods-pulse;
  232. -webkit-animation-iteration-count: infinite;
  233. -webkit-animation-duration: 4s!important;
  234.  
  235. color: #fff;
  236. cursor: pointer;
  237. text-shadow: rgb(0 0 0 / 50%) 0px 1px 2px;
  238. font-weight: 700;
  239. width: 100%;
  240. border: none;
  241. border-radius: 5px;
  242. padding: 12px 20px;
  243. font-size: 22px;
  244. `
  245. } else if (y === "faction") {
  246. applyMap(factionMap, modeAssets.faction)
  247. document.getElementById('changeMapButton').style = `
  248. -webkit-animation-name: faction-pulse;
  249. -webkit-animation-iteration-count: infinite;
  250. -webkit-animation-duration: 4s!important;
  251.  
  252. color: #fff;
  253. cursor: pointer;
  254. text-shadow: rgb(0 0 0 / 50%) 0px 1px 2px;
  255. font-weight: 700;
  256. width: 100%;
  257. border: none;
  258. border-radius: 5px;
  259. padding: 12px 20px;
  260. font-size: 22px;
  261. `
  262. } else if (y === "savannah") {
  263. applyMap(savannahMap, modeAssets.savannah)
  264. document.getElementById('changeMapButton').style = `
  265. -webkit-animation-name: savannah-pulse;
  266. -webkit-animation-iteration-count: infinite;
  267. -webkit-animation-duration: 4s!important;
  268.  
  269. color: #fff;
  270. cursor: pointer;
  271. text-shadow: rgb(0 0 0 / 50%) 0px 1px 2px;
  272. font-weight: 700;
  273. width: 100%;
  274. border: none;
  275. border-radius: 5px;
  276. padding: 12px 20px;
  277. font-size: 22px;
  278. `
  279. } else if (y === "halloween") {
  280. applyMap(halloweenMap, modeAssets.halloween)
  281. document.getElementById('changeMapButton').style = `
  282. -webkit-animation-name: bloodPulse;
  283. -webkit-animation-iteration-count: infinite;
  284. -webkit-animation-duration: 4s!important;
  285.  
  286. color: #fff;
  287. cursor: pointer;
  288. text-shadow: rgb(0 0 0 / 50%) 0px 1px 2px;
  289. font-weight: 700;
  290. width: 100%;
  291. border: none;
  292. border-radius: 5px;
  293. padding: 12px 20px;
  294. font-size: 22px;
  295. `
  296. } else if (y === "cobalt") {
  297. applyMap(cobaltMap, modeAssets.cobalt)
  298. document.getElementById('changeMapButton').style = `
  299. -webkit-animation-name: cobaltPulse;
  300. -webkit-animation-iteration-count: infinite;
  301. -webkit-animation-duration: 4s!important;
  302.  
  303. color: #fff;
  304. cursor: pointer;
  305. text-shadow: rgb(0 0 0 / 50%) 0px 1px 2px;
  306. font-weight: 700;
  307. width: 100%;
  308. border: none;
  309. border-radius: 5px;
  310. padding: 12px 20px;
  311. font-size: 22px;
  312. `
  313. } else if (y === "snow") {
  314. applyMap(snowMap, modeAssets.snow)
  315. document.getElementById('background').style = "background-image:url('https://raw.githubusercontent.com/Samer-Kizi/survivio-mods/main/scripts/img/re-winter.png')!important; filter:brightness(80%)"
  316. document.getElementById('changeMapButton').style = `
  317. -webkit-animation-name: winterPulse;
  318. -webkit-animation-iteration-count: infinite;
  319. -webkit-animation-duration: 4s!important;
  320.  
  321. color: #fff;
  322. cursor: pointer;
  323. text-shadow: rgb(0 0 0 / 50%) 0px 1px 2px;
  324. font-weight: 700;
  325. width: 100%;
  326. border: none;
  327. border-radius: 5px;
  328. padding: 12px 20px;
  329. font-size: 22px;
  330. `
  331. } else if (y === "valentine") {
  332. applyMap(valentineMap, modeAssets.valentine)
  333. document.getElementById('changeMapButton').style = `
  334. -webkit-animation-name: valentinePulse;
  335. -webkit-animation-iteration-count: infinite;
  336. -webkit-animation-duration: 4s!important;
  337.  
  338. color: #fff;
  339. cursor: pointer;
  340. text-shadow: rgb(0 0 0 / 50%) 0px 1px 2px;
  341. font-weight: 700;
  342. width: 100%;
  343. border: none;
  344. border-radius: 5px;
  345. padding: 12px 20px;
  346. font-size: 22px;
  347. `
  348. } else if (y === "stPatrick") {
  349. document.getElementById('background').style = "background-image:url('https://raw.githubusercontent.com/Samer-Kizi/survivio-mods/main/scripts/img/leprechauns.png')!important; filter:brightness(80%)"
  350. applyMap(stPatrickMap, modeAssets.stPatrick)
  351. document.getElementById('changeMapButton').style = `
  352. -webkit-animation-name: stPatrickPulse;
  353. -webkit-animation-iteration-count: infinite;
  354. -webkit-animation-duration: 4s!important;
  355.  
  356. color: #fff;
  357. cursor: pointer;
  358. text-shadow: rgb(0 0 0 / 50%) 0px 1px 2px;
  359. font-weight: 700;
  360. width: 100%;
  361. border: none;
  362. border-radius: 5px;
  363. padding: 12px 20px;
  364. font-size: 22px;
  365. `
  366. } else if (y === "mayFourth") {
  367. applyMap(mayFourthMap, modeAssets.mayFourth)
  368. document.getElementById('changeMapButton').style = `
  369. background-color: #01baf1!important;
  370.  
  371. color: #fff;
  372. cursor: pointer;
  373. text-shadow: rgb(0 0 0 / 50%) 0px 1px 2px;
  374. font-weight: 700;
  375. width: 100%;
  376. border: none;
  377. border-radius: 5px;
  378. padding: 12px 20px;
  379. font-size: 22px;
  380. `
  381. } else if (y === "beach") {
  382. applyMap(beachMap, modeAssets.beach)
  383. document.getElementById('changeMapButton').style = `
  384. -webkit-animation-name: beach-pulse;
  385. -webkit-animation-iteration-count: infinite;
  386. -webkit-animation-duration: 4s!important;
  387.  
  388. color: #fff;
  389. cursor: pointer;
  390. text-shadow: rgb(0 0 0 / 50%) 0px 1px 2px;
  391. font-weight: 700;
  392. width: 100%;
  393. border: none;
  394. border-radius: 5px;
  395. padding: 12px 20px;
  396. font-size: 22px;
  397. `
  398. } else if (y === "contact") {
  399. applyMap(contactMap, modeAssets.contact)
  400. document.getElementById('changeMapButton').style = `
  401. -webkit-animation-name: contact-pulse;
  402. -webkit-animation-iteration-count: infinite;
  403. -webkit-animation-duration: 4s!important;
  404.  
  405. color: #fff;
  406. cursor: pointer;
  407. text-shadow: rgb(0 0 0 / 50%) 0px 1px 2px;
  408. font-weight: 700;
  409. width: 100%;
  410. border: none;
  411. border-radius: 5px;
  412. padding: 12px 20px;
  413. font-size: 22px;
  414. `
  415. } else if (y === "inferno") {
  416. applyMap(infernoMap, modeAssets.inferno)
  417. document.getElementById('background').style = "background-image:url('https://raw.githubusercontent.com/Samer-Kizi/survivio-mods/main/scripts/img/inferno-02.png')!important; filter:brightness(80%)"
  418. document.getElementById('changeMapButton').style = `
  419. -webkit-animation-name: infernoPulse;
  420. -webkit-animation-iteration-count: infinite;
  421. -webkit-animation-duration: 4s!important;
  422.  
  423. color: #fff;
  424. cursor: pointer;
  425. text-shadow: rgb(0 0 0 / 50%) 0px 1px 2px;
  426. font-weight: 700;
  427. width: 100%;
  428. border: none;
  429. border-radius: 5px;
  430. padding: 12px 20px;
  431. font-size: 22px;
  432. `
  433. }
  434. }
  435. changeMapButton.innerHTML =
  436. `<option value="classic">Classic</option>
  437. <option value="desert">Desert</option>
  438. <option value="woods">Woods</option>
  439. <option value="faction">50v50</option>
  440. <option value="savannah">Savannah</option>
  441. <option value="halloween">Halloween</option>
  442. <option value="cobalt">Cobalt</option>
  443. <option value="snow">Snow</option>
  444. <option value="valentine">Valentine</option>
  445. <option value="stPatrick">Saint Patrick</option>
  446. <option value="mayFourth">May 4th</option>
  447. <option value="beach">Beach</option>
  448. <option value="contact">Contact</option>
  449. <option value="inferno">Inferno</option>`
  450. document.getElementById('free-gp-offer').appendChild(changeMapButton);
  451.  
  452. setInterval(function () {
  453. document.getElementById('1').onclick = function() {
  454. document.getElementById("changeMapButton").value = "classic"
  455. webpackR('d5ec3c16').biome = {"colors": {"background": 2118510,"water": 3310251,"waterRipple": 11792639,"beach": 13480795,"riverbank": 9461284,"grass": 8433481,"underground": 1772803,"playerSubmerge": 2854052,"playerGhillie": 8630096},"valueAdjust": 1,"sound": {"riverShore": "sand"},"particles": {"camera": ""},"tracerColors": {},"airdrop": {"planeImg": "map-plane-01.img","planeSound": "plane_01","airdropImg": "map-chute-01.img"}};
  456. webpackR('d5ec3c16').desc = {"name": "Normal","icon": "img/gui/emote.svg","buttonCss": "","buttonText": "index-play-mode-main"}
  457.  
  458. function applyMap(map, assets) {
  459. classicMap.biome = {...map.biome}
  460. classicMap.desc = {...map.desc}
  461.  
  462. obstacles.tree_01.img.sprite = imgToUrl(assets.tree_01.img.sprite)
  463. obstacles.stone_01.img.sprite = imgToUrl(assets.stone_01.img.sprite)
  464. obstacles.stone_03.img.sprite = imgToUrl(assets.stone_03.img.sprite)
  465. obstacles.crate_01.img.sprite = imgToUrl(assets.crate_01.img.sprite)
  466. obstacles.crate_02.img.sprite = imgToUrl(assets.crate_02.img.sprite)
  467. obstacles.bush_01.img.sprite = imgToUrl(assets.bush_01.img.sprite)
  468. obstacles.bush_04.img.sprite = imgToUrl(assets.bush_04.img.sprite)
  469. obstacles.bush_07.img.sprite = imgToUrl(assets.bush_07.img.sprite)
  470.  
  471. obstacles.tree_01.img.residue = imgToUrl(assets.tree_01.img.residue)
  472. obstacles.stone_01.img.residue = imgToUrl(assets.stone_01.img.residue)
  473. obstacles.stone_03.img.residue = imgToUrl(assets.stone_03.img.residue)
  474. obstacles.crate_01.img.residue = imgToUrl(assets.crate_01.img.residue)
  475. obstacles.crate_02.img.residue = imgToUrl(assets.crate_02.img.residue)
  476. obstacles.bush_01.img.residue = imgToUrl(assets.bush_01.img.residue)
  477. obstacles.bush_04.img.residue = imgToUrl(assets.bush_04.img.residue)
  478. obstacles.bush_07.img.residue = imgToUrl(assets.bush_07.img.residue)
  479.  
  480. obstacles.tree_01.img.scale = assets.tree_01.img.scale
  481. obstacles.stone_01.img.scale = assets.stone_01.img.scale
  482. obstacles.stone_03.img.scale = assets.stone_03.img.scale
  483. obstacles.crate_01.img.scale = assets.crate_01.img.scale
  484. obstacles.crate_02.img.scale = assets.crate_02.img.scale
  485. obstacles.bush_01.img.scale = assets.bush_01.img.scale
  486. obstacles.bush_04.img.scale = assets.bush_04.img.scale
  487. obstacles.bush_07.img.scale = assets.bush_07.img.scale
  488.  
  489. obstacles.tree_01.map.color = assets.tree_01.map.color
  490. obstacles.stone_01.map.color = assets.stone_01.map.color
  491. obstacles.stone_03.map.color = assets.stone_03.map.color
  492. obstacles.crate_01.map.color = assets.crate_01.map.color
  493. obstacles.crate_02.map.color = assets.crate_02.map.color
  494. obstacles.bush_01.map.color = assets.bush_01.map.color
  495. obstacles.bush_04.map.color = assets.bush_04.map.color
  496. obstacles.bush_07.map.color = assets.bush_07.map.color
  497.  
  498. throwable.frag.lootImg.sprite = assets.frag.lootImg.sprite
  499. throwable.frag.worldImg.sprite = assets.frag.worldImg.sprite
  500. throwable.frag.handImg.equip.right.sprite = assets.frag.handImg.equip.right.sprite
  501. throwable.frag.handImg.cook.right.sprite = assets.frag.handImg.cook.right.sprite
  502. throwable.frag.handImg.cook.left.sprite = assets.frag.handImg.cook.left.sprite
  503.  
  504. throwable.mirv_mini.worldImg.sprite = assets.mirv_mini.worldImg.sprite
  505. }
  506. function imgToUrl(img) {
  507. return `https://surviv.io/img/map/${img.slice(0, -4)}.svg`
  508. }
  509. document.getElementById('background').style = "background-image:url('https://raw.githubusercontent.com/Samer-Kizi/survivio-mods/main/scripts/img/re-classic.png')!important; filter:brightness(80%)"
  510. document.getElementById('changeMapButton').style = `
  511. color: #fff;
  512. cursor: pointer;
  513. text-shadow: rgb(0 0 0 / 50%) 0px 1px 2px;
  514. font-weight: 700;
  515. width: 100%;
  516. border: none;
  517. border-radius: 5px;
  518. padding: 12px 20px;
  519. font-size: 22px;
  520. background-color: #83af50;
  521. `
  522. }
  523. },0)

QingJ © 2025

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