Emote Selection Script with Toggle

A script where you can randomly spam emotes or you can choose one emote to spam constantly .

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         Emote Selection Script with Toggle
// @namespace    Emote
// @version      1.1.0
// @description  A script where you can randomly spam emotes or you can choose one emote to spam constantly .
// @author       Vernice
// @match        https://evoworld.io/*
// @match        https://flyordie.io/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=evoworld.io
// @grant        none
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';
    // ⚠️ USE AT YOUR OWN RISK - Risk of ban
    let selectedEmoteId = 1; // Default emote
    function waitForServer() {
        if (typeof game !== 'undefined' && game.canvas) {
            initEmoteSpamToggleKey();
        } else {
            setTimeout(waitForServer, 500);
        }
    }

    function initEmoteSpamToggleKey() {
        let emoteSpamEnabled = false;
        let emoteSpamInterval;

        function startEmoteSpam() {
            emoteSpamInterval = setInterval(() => {
                if (typeof gameServer !== 'undefined' && !imDead && joinedGame) {
                    sendEmote(selectedEmoteId);
                }
            }, 1000);
        }

        function stopEmoteSpam() {
            clearInterval(emoteSpamInterval);
        }

        function setSelectedEmote(emoteId) {
            selectedEmoteId = emoteId;
            console.log(`Selected Emote ID: ${selectedEmoteId}`);
        }

        document.addEventListener('keydown', (e) => {
            if (e.key.toLowerCase() === 'p') {
                emoteSpamEnabled = !emoteSpamEnabled;
                if (emoteSpamEnabled) {
                    startEmoteSpam();
                    console.log("Emote spam: ON");
                } else {
                    stopEmoteSpam();
                    console.log("Emote spam: OFF");
                }
            }
            // Set selected emote by number keys 1-9
            if (e.key >= '1' && e.key <= '9') {
                setSelectedEmote(parseInt(e.key));
            }
        });
    }

    waitForServer();
})();