Faction Drug Debts

Track faction drug debts and allow reset

目前為 2025-09-14 提交的版本,檢視 最新版本

// ==UserScript==
// @name         Faction Drug Debts
// @namespace    http://tampermonkey.net/
// @version      1.4
// @description  Track faction drug debts and allow reset
// @author       Nova
// @match        https://www.torn.com/*
// @grant        GM_getValue
// @grant        GM_setValue
// ==/UserScript==

(function() {
    'use strict';

    // Drug prices
    const drugPrices = {
        "Xanax": 760000,
        "Vicodin": 800,
        "Ketamine": 2000,
        "Shrooms": 2000,
        "Cannabis": 4500,
        "Speed": 6000,
        "PCP": 7500,
        "Opium": 23000,
        "LSD": 32000,
        "Ecstasy": 40000
    };

    // Load stored debts
    let debts = GM_getValue("factionDebts", {});

    // Create panel
    const panel = document.createElement("div");
    panel.style.position = "fixed";
    panel.style.bottom = "20px";
    panel.style.right = "20px";
    panel.style.background = "rgba(0,0,0,0.85)";
    panel.style.color = "white";
    panel.style.padding = "10px";
    panel.style.borderRadius = "8px";
    panel.style.zIndex = "9999";
    panel.innerHTML = "<b>Faction Drugs Debts</b><br><div id='debtsList'>Loading...</div>";
    document.body.appendChild(panel);

    // Fetch and process logs
    async function loadLogs() {
        try {
            const apiKey = GM_getValue("tornApiKey", null);
            if (!apiKey) {
                document.getElementById("debtsList").innerHTML = "No API key set!";
                return;
            }

            const resp = await fetch(`https://api.torn.com/faction/?selections=armory&key=${apiKey}`);
            const data = await resp.json();

            if (data.armory && data.armory.logs) {
                for (let logId in data.armory.logs) {
                    const log = data.armory.logs[logId];
                    if (log.type === "drugs") {
                        const name = log.user;
                        const drug = log.item;
                        if (drugPrices[drug]) {
                            debts[name] = (debts[name] || 0) + drugPrices[drug];
                        }
                    }
                }
                GM_setValue("factionDebts", debts);
            }

            renderDebts();
        } catch (e) {
            console.error("Error fetching logs", e);
        }
    }

    // Render debts panel
    function renderDebts() {
        const list = document.getElementById("debtsList");
        list.innerHTML = "";
        for (let name in debts) {
            if (debts[name] > 0) {
                const div = document.createElement("div");
                div.textContent = `${name}: ${debts[name]} `;
                const btn = document.createElement("button");
                btn.textContent = "✅";
                btn.style.marginLeft = "5px";
                btn.style.cursor = "pointer";

                btn.addEventListener("click", (e) => {
                    e.preventDefault();
                    e.stopPropagation();
                    delete debts[name]; // remove entry completely
                    GM_setValue("factionDebts", debts);
                    renderDebts();
                });

                div.appendChild(btn);
                list.appendChild(div);
            }
        }
    }

    // First load
    loadLogs();

    // Refresh every 30s
    setInterval(loadLogs, 30000);

})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址