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();
})();