您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Send notifications about event npcs
// ==UserScript== // @name Essowe Grzyby Margonem // @namespace http://tampermonkey.net/ // @version 1.0.3 // @description Send notifications about event npcs // @icon https://cdn-icons-png.flaticon.com/512/3656/3656824.png // @connect discordapp.com // @match https://arkantes.margonem.pl/ // @exclude https://www.margonem.pl/* // @exclude https://forum.margonem.pl/* // @grant GM_xmlhttpRequest // @run-at document-idle // @license MIT // ==/UserScript== (async function() { "use strict"; function wait(resolve) { if (Engine?.allInit) { resolve(); } else { setTimeout(() => wait(resolve), 100); } } async function sendDiscordMessage({ npc, map, hero }) { const npcIcon = await fetch(`https://micc.garmory-cdn.cloud/obrazki/npc/${npc.icon}`); const file = new File([await npcIcon.blob()], "npc.gif"); const data = new FormData(); data.append("files[0]", file); data.append("payload_json", JSON.stringify({ username: npc.nick, avatar_url: "https://images-wixmp-ed30a86b8c4ca887773594c2.wixmp.com/f/5e56605d-fd1b-4ef1-8cc2-e222421d4538/dedbyyw-ff7564ae-08d4-4b5e-be06-91852714ba4b.png/v1/fill/w_1280,h_1411/mushroom_icon_by_eudai_dedbyyw-fullview.png?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1cm46YXBwOjdlMGQxODg5ODIyNjQzNzNhNWYwZDQxNWVhMGQyNmUwIiwiaXNzIjoidXJuOmFwcDo3ZTBkMTg4OTgyMjY0MzczYTVmMGQ0MTVlYTBkMjZlMCIsIm9iaiI6W1t7ImhlaWdodCI6Ijw9MTQxMSIsInBhdGgiOiJcL2ZcLzVlNTY2MDVkLWZkMWItNGVmMS04Y2MyLWUyMjI0MjFkNDUzOFwvZGVkYnl5dy1mZjc1NjRhZS0wOGQ0LTRiNWUtYmUwNi05MTg1MjcxNGJhNGIucG5nIiwid2lkdGgiOiI8PTEyODAifV1dLCJhdWQiOlsidXJuOnNlcnZpY2U6aW1hZ2Uub3BlcmF0aW9ucyJdfQ.XY6FpCeTnDY0oLFL6ffqhufH6ifS7AzFYiEYp6JK0-c", content: `<@&1424685832467513376>`, embeds: [{ color: 8388736, title: `${hero.nick} (${hero.lvl} lvl) znalazł GRZIBUNA!`, description: `${npc.nick} (${npc.lvl})\n${map.name} (${npc.x}, ${npc.y}) Aktualny czas: <t:${unix_time()}:T> Czas zamknięcia: <t:${unix_time() + (npc.killSeconds ?? 15 * 61)}:T> **Koniec: <t:${unix_time() + (npc.killSeconds ?? 15 * 61)}:R>**`, thumbnail: { url: `attachment://npc.gif` }, }], })); GM_xmlhttpRequest({ method: "POST", url: "https://discordapp.com/api/webhooks/1424789062832885840/Fty9Gc3eU4QSAqxLy0BvkHCaK-XUHzJxBrjZWYEEsafDrtn4tohddovKgP8-6DbEjim1", data, }); } function notify({ map, hero, npc }) { sendDiscordMessage({ map, hero, npc }); } await new Promise(wait); API.addCallbackToEvent(Engine.apiData.NEW_NPC, (npc) => { const allowedNpcs = ["Ogromna płomiennica tląca", "Ogromna dzwonkówka tarczowata", "Ogromny szpicak ponury", "Ogromny bulwiak pospolity", "Ogromny mroźlarz"]; if (allowedNpcs.includes(npc.d.nick)) { const messages = Array.from(document.querySelectorAll(".LOCAL-message-wrapper > .chat-LOCAL-message"), (message) => message.innerText); const lastMessageIndex = messages.findLastIndex((message) => message.includes(`${npc.d.nick} (${npc.d.lvl} lvl), ${Engine.map.d.name} (${npc.d.x}, ${npc.d. y})`)); if (lastMessageIndex !== -1) { const lastMessageTime = Object.values(Engine.chatController.getMessageList()["LOCAL"]).map(message => message.getTs())[lastMessageIndex]; const timeSinceLastMessage = Date.now() / 1000 - lastMessageTime; if (timeSinceLastMessage < 15 * 60) { return; } } notify({ map: Engine.map.d, hero: Engine.hero.d, npc: npc.d }); } }); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址