您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
show hosp timer
// ==UserScript== // @name Hosp timer // @namespace namespace // @version 1.3 // @description show hosp timer // @author mingho // @match https://www.torn.com/loader.php* // @license MIT // @grant none // ==/UserScript== (function() { 'use strict'; let api = '' //enter your API let countdownElement; // New element for the countdown let url = window.location.href; let id = url.slice(url.indexOf("ID=") + 3); let apiUrl = `https://api.torn.com/user/${id}?selections=profile&key=${api}`; let countdownInterval; async function getData() { try { const res = await fetch(apiUrl); const data = await res.json(); let hospTime = data.states.hospital_timestamp; let currentTime = new Date().getTime(); let adjustedHospTime = (hospTime * 1000); let timeLeft = (adjustedHospTime - currentTime); console.log(timeLeft); startCountdown(timeLeft); } catch (error) { console.error('An error occurred:', error); } } function createCountdownElement() { const countdownDiv = document.createElement('div'); countdownDiv.id = 'countdown-element'; // Set an ID for the countdown element // Find the div element with the specific class name const targetDiv = document.querySelector('.titleContainer___QrlWP'); // Insert the h4 element and countdown div into the target div targetDiv.appendChild(countdownDiv); return countdownDiv; } function updateCountdownElement(content) { if (!countdownElement) { countdownElement = createCountdownElement(); } countdownElement.textContent = content; } function startCountdown(timeLeft) { countdownInterval = setInterval(() => { if (timeLeft > 0) { let hours = Math.floor(timeLeft / (1000 * 60 * 60)); let minutes = Math.floor((timeLeft % (1000 * 60 * 60)) / (1000 * 60)); let seconds = Math.floor((timeLeft % (1000 * 60)) / 1000); const countdownText = `Out in: ${hours}h ${minutes}m ${seconds}s`; updateCountdownElement(countdownText); timeLeft -= 1000; } else { clearInterval(countdownInterval); updateCountdownElement('Attack!'); } }, 1000); } getData(); })();