您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Server time display for Dragonrip.com
- // ==UserScript==
- // @name Dragonrip Server Time
- // @namespace http://tampermonkey.net/
- // @version 1.0.0
- // @description Server time display for Dragonrip.com
- // @author Kronos1
- // @match *://*.dragonrip.com/*
- // @icon https://i.imgur.com/Vn0ku7D.png
- // @grant none
- // @license GPLv3
- // ==/UserScript==
- (() => {
- 'use strict';
- const settings = {
- runningClock: true, // Keep updating clock time (updates every second)
- enableSeconds: false, // Include seconds in the time
- use24HourClock: true, // Toggle between 12h/24h time format
- fancyBox: false, // Additional styling for the time box element
- }
- const mainCss = `
- .dragonrip-server-time-cont > * {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- user-select:none;
- }
- .dragonrip-server-time-cont {
- border-radius:3px;
- float:right;
- display:flex;
- flex-direction:row;
- align-items:center;
- justify-content:space-between;
- background-repeat:repeat;
- background-size:contain;
- padding:3px 5px 3px 5px;
- font-size:0.8em;
- font-family:consolas,monospace;
- color:grey;
- text-shadow:
- 0px 0px 3px black,
- 0px 0px 3px black,
- 0px 0px 3px black,
- 0px 0px 3px black,
- 0px 0px 3px black,
- 0px 0px 3px black,
- 0px 0px 3px black
- ;
- position:absolute;
- bottom:0;
- right:0;
- }
- .dragonrip-server-time-cont > .label {
- margin-right:10px;
- }
- .dragonrip-server-time-cont > .time {
- color:#de6c09;
- }
- body > .logo {
- position:relative;
- }
- `;
- const fancyBoxCss = `
- .dragonrip-server-time-cont {
- border:2px solid rgba(255,255,255,0.15);
- background-image: url('https://i.imgur.com/vjJ8ugC.jpeg');
- box-shadow:0px 0px 5px 0px rgba(0,0,0,0.5);
- }
- `;
- const getTime = () => {
- let options = {
- timeZone: 'UTC',
- hour: 'numeric',
- minute: 'numeric',
- hour12: true,
- }
- if (settings.enableSeconds) { options.second = 'numeric'; }
- if (settings.use24HourClock) { options.hour12 = false; }
- const currentLocalDate = new Date (Date.now());
- const time = new Intl.DateTimeFormat([], options).format(currentLocalDate);
- return time;
- }
- const createClock = () => {
- const target = document.querySelector('body > div.logo');
- const elem = document.createElement('div');
- elem.classList.add('dragonrip-server-time-cont');
- // Create text label
- const label = document.createElement('div');
- label.classList.add('label');
- label.innerHTML = 'Server time';
- // Create time
- const time = document.createElement('div');
- time.classList.add('time');
- elem.append(label);
- elem.append(time);
- target.append(elem);
- updateClock();
- if (settings.runningClock) {
- setInterval( () => {
- updateClock();
- }, 1000);
- }
- }
- const updateClock = () => {
- const elem = document.querySelector('body > .logo > .dragonrip-server-time-cont > .time');
- elem.innerText = getTime();
- }
- // Wait for game UI to load, then insert custom element
- const waitForElem = () => {
- const checkElem = setInterval( () => {
- if (document.querySelector('ul.navbar') !== null) {
- clearInterval(checkElem);
- createClock();
- }
- }, 5);
- }
- const setCustomCss = str => {
- const styleElem = document.createElement("style");
- styleElem.textContent = str;
- document.body.appendChild(styleElem);
- }
- setCustomCss(mainCss);
- if (settings.fancyBox) { setCustomCss(fancyBoxCss); }
- waitForElem();
- })();