您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Adds a mini-map below the standard map view which can be clicked to toggle a full-sized plane map
- // ==UserScript==
- // @name Nexus Clash Mini-Map (B4)
- // @namespace https://roadha.us
- // @author haliphax
- // @version 1.1
- // @description Adds a mini-map below the standard map view which can be clicked to toggle a full-sized plane map
- // @include https://www.nexusclash.com/modules.php?name=Game*
- // ==/UserScript==
- (function () {
- 'use strict';
- const mapheading = document.getElementById('mapheading');
- if (mapheading === null) return;
- const txt = document.querySelector('.tile_description b u').innerText.trim().replace(/\s+/g, ' '),
- coords = /\(([0-9]+), ([0-9]+) ([^,]+),(?:.+\bNeighborhood: ([^)]+))?/i.exec(txt);
- if (!coords) return;
- let mapName = coords[3].toLowerCase(),
- x = parseInt(coords[1]),
- y = parseInt(coords[2]);
- if (mapName == 'laurentia') {
- mapName = 'valhalla';
- }
- else if (coords[4] == 'Amaravati') {
- mapName = 'amaravati';
- x -= 19;
- }
- const offsetX = (x * 24 - 144) * -1,
- offsetY = (y * 24 - 144) * -1,
- offsetBigX = 24 * (x - 1),
- offsetBigY = 24 * (y - 1),
- row = document.createElement('tr'),
- hypermap = document.createElement('div'),
- styles = document.createElement('style');
- styles.innerHTML = `
- #minimap {
- background-repeat: no-repeat;
- height: 312px;
- margin: 0 auto;
- position: relative;
- width: 312px;
- }
- #hypermap {
- background-position: top left !important;
- bottom: 0;
- left: 0;
- overflow: auto;
- position: absolute;
- right: 0;
- top: 0;
- z-index: 98;
- }
- .hidden {
- display: none;
- }
- .position {
- background: url(https://plscks.github.io/testHYPERMAP/icons/you.png);
- height: 72px;
- left: 120px;
- position: absolute;
- top: 120px;
- width: 72px;
- z-index: 99;
- }`;
- document.head.appendChild(styles);
- hypermap.classList.add('hidden');
- hypermap.id = 'hypermap';
- hypermap.innerHTML = `
- <div class="position" style="left: ${offsetBigX}px; top: ${offsetBigY}px;"></div>
- <img src="https://plscks.github.io/testHYPERMAP/${mapName}.png" />
- `;
- document.body.appendChild(hypermap);
- row.innerHTML = `
- <td>
- <div id="minimap" style="
- background-image: url(https://plscks.github.io/testHYPERMAP/${mapName}.png);
- background-position: ${offsetX}px ${offsetY}px;">
- <div class="position"></div>
- </div>
- </td>
- `;
- mapheading.parentNode.parentNode.appendChild(row);
- const minimap = document.getElementById('minimap'),
- maps = [minimap, hypermap];
- maps.forEach(
- v => v.addEventListener('click',
- () => maps.forEach(
- m => m.classList.toggle('hidden'))));
- }());