您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Adding perspective view to Nexus.
// ==UserScript== // @name 3DNexus // @namespace https://duelingnexus.com/ // @version 0.7 // @description Adding perspective view to Nexus. // @author part-time roadman#1456 // @include https://duelingnexus.com/game/* // @grant GM_addStyle // ==/UserScript== (function() { 'use strict'; // CSS GM_addStyle(` #game-field > tbody { transform: perspective(30rem) rotateX( 22deg ) scaleX(1.2) translate(0%, -12%); } #game-field-opponent-hand { transform: translate(39%, -680%) scale(0.6) rotate(180deg); position: absolute; } #game-field-player-hand { transform: translate(39%, -136%); position: absolute; } #game-field-player-deck { transform: translate(500%, 0) scaley(0.8); } #game-field-player-extra { transform: scaley(0.8); } #game-field-opponent-extra { transform: translate(490%, 0); } #phase-container { width: 30px; transform: translate(-30%,-50%); position: absolute; bottom: -4%; right: 2%; } .game-avatar-area.game-avatar-left { position: absolute; top: 0; right: 4%; width: 93px; } .game-avatar-area.game-avatar-right { position: absolute; top: 12%; right: 4%; width: 93px; } #game-player-name, #game-opponent-name { position: absolute; top: -14%; right: 0; transform: translate(-74px, 120%); text-align: center; width: 150px; z-index: -2; background: #9d4fb7; border: 2px solid black; border-radius: 5px; white-space: nowrap; } #game-avatar-player-image, #game-avatar-opponent-image { border-radius: 50%; border: 4px solid #9d4fb7; } #game-life-player { position: absolute; display: block; transform: translate(-63px, -63px); font-family: math; font-weight: bold; } #game-life-opponent { position: absolute; display: block; transform: translate(-63px, -63px); font-family: math; font-weight: bold; } .game-life-bar { margin-top: 8px; background-color: gray; height: 15px; border-radius: 5px; z-index: -1; border: none; position: absolute; top: -14%; right: 0; transform: translate(-110%, 300%) scaleX(1.3); } .game-life-bar-part { background-color: #c03030; border-radius: 5px; height: 100%; } div#game-timer-bar-player, #game-timer-bar-opponent { display: none !important; } #game-timer-player, #game-timer-opponent { position: fixed; margin-left: -13px; } .game-field-zone:hover { border-radius: 0; box-shadow: none; } .game-field-zone{ background: none !important; } } @-webkit-keyframes glow { to { -webkit-box-shadow: 0 0 2px #ff8400; -moz-box-shadow: 0 0 2px #ff8400; box-shadow: 0 0 2px #ff8400; } } @-webkit-keyframes glow2 { to { background-color: #5d259026; } } #game-field > tbody > tr > td > .game-field-zone-content:hover{ background: #63348e8c; -webkit-animation: glow2 0.55s infinite alternate; } #game-field > tbody > tr > td > .game-field-zone-content{ background: #21112f82; -webkit-transition: all 0s linear 1s; -moz-transition: all 0s linear 1s; -ms-transition: all 0s linear 1s; transition: all 0s linear 1s; outline: #ffffff solid 2px; } #game-field-player-spell1 > div > img, #game-field-player-spell2 > div > img, #game-field-player-spell3 > div > img, #game-field-player-spell4 > div > img, #game-field-player-spell5 > div > img, #game-field-player-monster1 > div > img, #game-field-player-monster2 > div > img, #game-field-player-monster3 > div > img, #game-field-player-monster4 > div > img, #game-field-player-monster5 > div > img, #game-field-opponent-spell1 > div > img, #game-field-opponent-spell2 > div > img, #game-field-opponent-spell3 > div > img, #game-field-opponent-spell4 > div > img, #game-field-opponent-spell5 > div > img, #game-field-opponent-monster1 > div > img, #game-field-opponent-monster2 > div > img, #game-field-opponent-monster3 > div > img, #game-field-opponent-monster4 > div > img, #game-field-opponent-monster5 > div > img, #game-field-opponent-graveyard > div > img, #game-field-opponent-banished > div > img, #game-field-opponent-spell6 > div > img, #game-field-player-graveyard > div > img, #game-field-player-banished > div > img, #game-field-player-spell6 > div > img, #game-field-player-deck > div > img, #game-field-opponent-deck > div > img, #game-field-player-extra > div > img, #game-field-opponent-extra > div > img, #game-field-extra-monster1 > div > img, #game-field-extra-monster2 > div > img { width: 50%; height: 70% !important; margin-top: 15%; } #game-field-player-spell1, #game-field-player-spell2, #game-field-player-spell3, #game-field-player-spell4, #game-field-player-spell5 { transform: translateY(-7px); } #game-field-opponent-spell5 { transform: translateY(7px); } #game-field-opponent-spell4, #game-field-opponent-spell3, #game-field-opponent-spell2, #game-field-opponent-spell1 { transform: translate(-102%, 7px); } #game-field-player-graveyard { transform: scaleX(0.6) translate(-24%, 38%); } #game-field-player-banished { transform: scaleX(0.59) translate(-192%, -63%); } #game-field-player-deck { transform: scaleX(0.59) scaleY(1) translate(811%, -65%); } #game-field-player-extra { transform: scaleX(0.6) translate(21%, -65%); } #game-field-player-spell6 { transform: scaleX(0.6) translate(21%, 37%); } #game-field-opponent-graveyard { transform: scaleX(0.6) translate(21%, -45%); } #game-field-opponent-banished { transform: scaleX(0.6) translate(182%, 53%); } #game-field-opponent-deck { transform: scaleX(0.6) translate(20%, 58%); } #game-field-opponent-extra { transform: scaleX(0.6) translate(798%, 58%); } td#game-field-opponent-spell6 { transform: scaleX(0.6) translate(-25%, -44%); } #game-field-player-graveyard > div > img, #game-field-player-banished > div > img, #game-field-player-deck > div > img, #game-field-player-spell6 > div > img, #game-field-player-extra > div > img, #game-field-opponent-graveyard > div > img, #game-field-opponent-banished > div > img, #game-field-opponent-deck > div > img, #game-field-opponent-spell6 > div > img, #game-field-opponent-extra > div > img{ width: 80%; } button, .engine-text-box, .engine-text-box:focus, #card-description-box { border: none !important; outline: none !important; } `); // 3D Exclusions const game = document.getElementById("game-field"); const divExclusions = document.createElement("div"); const handPlr = document.getElementById("game-field-player-hand"); const handOpp = document.getElementById("game-field-opponent-hand"); const btnDP = document.getElementById("game-dp-button"); const btnSP = document.getElementById("game-sp-button"); const btnMP1 = document.getElementById("game-mp1-button"); const btnBP = document.getElementById("game-bp-button"); const btnMP2 = document.getElementById("game-mp2-button"); const btnEP = document.getElementById("game-ep-button"); const btnCancel = document.getElementById("game-cancel-button"); const btnForce = document.getElementById("game-force-chain-button"); const stats = document.getElementsByClassName("game-avatar-area"); const Exclusions = [handPlr, handOpp]; const options = document.getElementById("options-area"); const phaseContainer = document.createElement("div"); const phaseBtns = [btnDP, btnSP, btnMP1, btnBP, btnMP2, btnEP]; divExclusions.setAttribute("id", "Exclusions"); game.appendChild(divExclusions); Exclusions.forEach(item => divExclusions.appendChild(item)); for (let i = 0; i < stats.length; i++) { Exclusions.forEach(item => divExclusions.appendChild(stats[i])); } options.appendChild(btnCancel); options.appendChild(btnForce); phaseContainer.setAttribute("id", "phase-container"); divExclusions.appendChild(phaseContainer); phaseBtns.forEach(item => phaseContainer.appendChild(item)); })();