Gimkit Modded File Copier

Adds a button to download and modify game files before saving

目前為 2024-08-20 提交的版本,檢視 最新版本

// ==UserScript==
// @name        Gimkit Modded File Copier
// @namespace    http://tampermonkey.net/
// @version      0.2
// @description  Adds a button to download and modify game files before saving
// @author       You
// @match        *://*/*
// @grant        GM_download
// @grant        GM_info
// @require      https://cdnjs.cloudflare.com/ajax/libs/jszip/3.7.1/jszip.min.js
// @require      https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/2.0.5/FileSaver.min.js
// ==/UserScript==

(function() {
    'use strict';

    // Function to modify file contents (example for JSON files)
    function modifyFileContent(fileName, fileContent) {
        if (fileName.endsWith('.json')) {
            let json = JSON.parse(fileContent);
            // Example modification: add a new property
            json.modified = true;
            return JSON.stringify(json, null, 2);
        }
        return fileContent; // No modification for other file types
    }

    // Function to download and modify files
    function downloadAndModifyFiles() {
        // List of file URLs (replace with actual URLs if needed)
        let files = [
            { url: 'https://example.com/game-file1.json', name: 'game-file1.json' },
            { url: 'https://example.com/game-file2.txt', name: 'game-file2.txt' }
        ];

        const zip = new JSZip();
        let fetchPromises = [];

        files.forEach(file => {
            let fetchPromise = fetch(file.url)
                .then(response => response.text()) // Use text() to handle JSON and text files
                .then(content => {
                    let modifiedContent = modifyFileContent(file.name, content);
                    zip.file(file.name, modifiedContent);
                });
            fetchPromises.push(fetchPromise);
        });

        // Wait for all fetch requests to complete
        Promise.all(fetchPromises).then(() => {
            // Generate the ZIP file and save it
            zip.generateAsync({ type: "blob" })
                .then(content => {
                    saveAs(content, "modded-files.zip");
                });
        });
    }

    // Add a button to trigger file download and modification
    let button = document.createElement('button');
    button.textContent = 'Download and Modify Files';
    button.style.position = 'fixed';
    button.style.top = '10px';
    button.style.right = '10px';
    button.style.zIndex = '9999';
    button.style.padding = '10px';
    button.style.backgroundColor = '#007BFF';
    button.style.color = '#FFFFFF';
    button.style.border = 'none';
    button.style.borderRadius = '5px';
    button.style.cursor = 'pointer';
    document.body.appendChild(button);

    button.addEventListener('click', downloadAndModifyFiles);
})();

QingJ © 2025

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