您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
!ghost
// ==UserScript== // @name </> Kurt Mod - Bot Oluşturucu // @namespace http://tampermonkey.net/ // @version 89.3 // @description !ghost // @icon https://cdn.discordapp.com/emojis/823513307712454727.png?v=1 // @author Kurt // @match http://tc-mod.glitch.me/ // @match http://zombs.io/ // @grant Ryan Wolf // ==/UserScript== const _ = function(element) { return document.querySelector(element) } const __ = function(element) { return document.querySelectorAll(element) } window.Ultimate = {} const Ultimate = window.Ultimate __(".ad-unit").forEach(function(e) { e.remove() }), (function(t) { for (let i = 0; i < arguments.length; i++) { let e = document.createElement("script") e.src = arguments[i] document.body.appendChild(e) } })("https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js", "https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"), (function(t) { for (let i = 0; i < arguments.length; i++) { let e = document.createElement("link") e.rel = "stylesheet" e.href = arguments[i] document.head.appendChild(e) } })("https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.css", "https://cdn.jsdelivr.net/gh/demostanis/theme-jqueryui/theme.css") setTimeout(function() { $(document).ready(function() { const addScript = function(src) { let script = document.createElement("script") script.src = src document.body.appendChild(script) return script } addScript("https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.25.2/codemirror.js") setTimeout(function() { addScript("https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.7.0/mode/javascript/javascript.js") }, 2000) const addLink = function(href) { let link = document.createElement("link") link.rel = "stylesheet" link.href = href document.body.appendChild(link) return link } addLink("https://cdn.jsdelivr.net/gh/codemirror/CodeMirror/theme/lesser-dark.css") addLink("https://cdn.jsdelivr.net/codemirror/3.21.0/codemirror.css") const removeItem = function(array, item) { let i = item return array.slice(0, i - 1).concat(array.slice(i, array.length)) } const swap = function (array, x, y) { var b = array[x] array[x] = array[y] array[y] = b return array } const addStyle = function(css) { let style = document.createElement("style") style.innerHTML = css document.head.appendChild(style) } addStyle(` .menu { position: fixed; top: 50%; left: 50%; width: 600px; height: 420px; margin: -270px 0 0 -300px; padding: 20px; background: rgba(0, 0, 0, 0.6); color: #eee; border-radius: 4px; z-index: 15; } .menu-grid { position: relative; height: 340px; margin: 0 0 20px; padding: 10px; background: rgba(0, 0, 0, 0.2); overflow-y: auto; border-radius: 3px; } .menu-close { position: absolute; top: 15px; right: 30px; width: 30px; height: 30px; opacity: 0.2; transition: all 0.15s ease-in-out; } .menu-close::before, .menu-close::after { content: ' '; position: absolute; left: 25px; height: 30px; width: 2px; background: #eee; } .hud .hud-top-center { top: 0; } .hud-menu-shop { width: 600px; height: 420px; margin: -270px 0 0 -300px; padding: 20px; } .hud-menu-shop .hud-shop-grid { height: 310px; } .bot { line-height: 1.3; margin-left: 1ch; } .botTagRegular { background: #7289da; color: #fff; } .botTag { -ms-flex-negative: 0; border-radius: 3px; flex-shrink: 0; font-size: .625em; font-weight: 500; line-height: 1.3; padding: 1px 2px; text-transform: uppercase; vertical-align: middle; } .hud-chat .hud-chat-message { white-space: normal; } .hud-menu-profile { position: fixed; top: 50%; left: 50%; width: 600px; height: 420px; margin: -270px 0 0 -300px; padding: 20px; background: rgba(0, 0, 0, 0.6); color: #eee; border-radius: 4px; z-index: 15; overflow-y: auto; } .hud-profile-grid { display: block; position: relative; height: 340px; margin: 20px 0 0; padding: 10px; background: rgba(0, 0, 0, 0.2); overflow-y: auto; border-radius: 3px; } .hud-profile-pic { margin-left: auto; margin-right: auto; width: 20%; } .hud-profile-name { margin-left: auto; margin-right: auto; width: 13%; } .ultimate-button { outline: none; border: none; display: block; position: relative; width: 200px; height: 56px; margin: 0 0 1px; background: rgba(0, 0, 0, 0.2); color: rgba(255, 255, 255, 0.7); text-align: center; transition: all 0.15s ease-in-out; border-radius: 0 0 4px 4px; font-size: 20px; } .ultimate-button:hover, .ultimate-button:active { color: #fff; } .menu-close::before { transform: rotate(45deg); } .menu-close::after { transform: rotate(-45deg); } .cm-s-lesser-dark .CodeMirror-linenumber { left: -25px !important; } .save-bot { margin-top: 10px; } .save-changes { margin-top: 10px; } .switch { position: relative; display: inline-block; width: 60px; height: 34px; } .switch input { opacity: 0; width: 0; height: 0; } .slider { position: absolute; cursor: pointer; margin-top: -5px; margin-bottom: 5px; top: 0; left: 0; right: 0; bottom: 0; background-color: #ccc; -45deg-webkit-transition: .4s; transition: .4s; } .slider:before { position: absolute; content: ""; height: 26px; width: 26px; left: 4px; bottom: 4px; background-color: white; -webkit-transition: .4s; transition: .4s; } input:checked + .slider { background-color: #5c0148; } input:focus + .slider { box-shadow: 0 0 1px #050011; } input:checked + .slider:before { -webkit-transform: translateX(26px); -ms-transform: translateX(26px); transform: translateX(26px); } .slider.round { border-radius: 34px; } .slider.round:before { border-radius: 50%; } `) Ultimate.createMenu = function(menuHTML, menuCLASS) { if (!menuHTML || !menuCLASS) { throw new Error("HTML or CLASS wasn't gave.") return } else { let menu = document.createElement("div") menu.innerHTML = menuHTML + "<a class='menu-close'></a>" menu.classList.add(menuCLASS) document.body.appendChild(menu) menu.style.display = "none" menu.show = function() { this.style.display = "block" } menu.hide = function() { this.style.display = "none" } menu.hideOrShow = function() { if (this.style.display == "block") { this.hide() } else { this.show() } } __(".menu-close")[__(".menu-close").length - 1].addEventListener("click", function() { menu.hide() }) window.addEventListener("mouseup", e => { for (let i = 0; i < e.target.childNodes.length; i++) { if (e.target != menu && e.target.parentNode != menu) { menu.hide() } } }) let childs = menu.childNodes for (let i = 0; i < childs.length; i++) { if (childs[i].classList.value !== "menu-close") { childs[i].addEventListener("click", function() { menu.show() }) } } menu.observer = new MutationObserver(function(mutations) { mutations.forEach(function(mutation) { if (mutations[0].target.style.display == "block") { menu.style.display = "none" } }) }) menu.observer.observe(_(".hud-menu-party"), { attributes: true }) menu.observer.observe(_(".hud-menu-shop"), { attributes: true }) menu.observer.observe(_(".hud-menu-settings"), { attributes: true }) menu.observer.observe(_(".hud-respawn"), { attributes: true }) menu.observer.observe(_(".hud-reconnect"), { attributes: true }) if (_(".hud-menu-profile") !== null) { if (menuCLASS !== "hud-menu-profile") { menu.observer.observe(_(".hud-menu-profile"), { attributes: true }) } } new MutationObserver(function(mutations) { mutations.forEach(function(mutation) { if (mutations[0].target.style.display == "block") { if (__(".hud-menu-profile") !== null) { if (menuCLASS !== "hud-menu-profile") { for (let i = 0; i < __(".hud-menu-profile").length; i++) { __(".hud-menu-profile")[i].style.display = "none" } } } _(".hud-menu-shop").style.display = "none" _(".hud-menu-party").style.display = "none" _(".hud-menu-settings").style.display = "none" _(".hud-reconnect").style.display = "none" _(".hud-respawn").style.display = "none" } }) }).observe(menu, { attributes: true }) return menu } } Ultimate.menu = Ultimate.createMenu("<h3>Kurt Mod</h3><div class='menu-grid'><div class='bots'></div><button class='ui-button ui-widget ui-corner-all add-bot'>Bot Oluştur</button><button class='ui-button ui-widget ui-corner-all add-bot2'>Yenile</button></div>", "menu") _(".hud-top-center").innerHTML += "<button class='ultimate-button'>Kurt Mod</button>" _(".ultimate-button").addEventListener("click", function() { Ultimate.menu.hideOrShow() }) Ultimate.bots = {} const Bot = function(name, prefix, profile) { if (!name || !prefix || !profile) { throw new TypeError("Name, prefix or profile info wasn't gave") return } Ultimate.bots[name] = {} Ultimate.bots[name].botName = name Ultimate.bots[name].botPrefix = prefix Ultimate.bots[name].chatBotName = "<strong>" + Ultimate.bots[name].botName + "</strong><small> (" + Ultimate.bots[name].botPrefix + ')</small><span class="botTagRegular botTag bot">BOT</span>' Ultimate.bots[name].sendMessage = function(message) { Game.currentGame.ui.getComponent("Chat").onMessageReceived({ displayName: this.chatBotName, message: message }) var messages = document.getElementsByClassName("hud-chat-message") Ultimate.bots[name].messagesLength = messages.length var length = messages.length - 1 messages[length].innerHTML = messages[length].innerHTML.replace(/</g, "<").replace(/>/g, ">") } Ultimate.bots[name].onInWorld = function(doSomething) { var id = setInterval(function() { if (Game.currentGame.world.inWorld) { clearInterval(id) doSomething() } }) } Ultimate.bots[name].sendMessage("Botunuz Hazırlanıyor...") Ultimate.bots[name].messagesFound = [] Ultimate.bots[name].findMessage = function(message) { for (var i = 0; i < document.getElementsByClassName("hud-chat-message").length; i++) { if (document.getElementsByClassName("hud-chat-message")[i].childNodes[1].textContent.indexOf(": " + message) >= 0) { Ultimate.bots[name].messagesFound.push(document.getElementsByClassName("hud-chat-message")[i]) } } return Ultimate.bots[name].messagesFound } Ultimate.bots[name].messagesByAuthorFound = [] Ultimate.bots[name].findMessageByAuthor = function(author) { for (var i = 0; i < document.getElementsByClassName("hud-chat-message").length; i++) { if (document.getElementsByClassName("hud-chat-message")[i].childNodes[0].textContent.indexOf(author) >= 0) { Ultimate.bots[name].messagesByAuthorFound.push(document.getElementsByClassName("hud-chat-message")[i]) } } return Ultimate.bots[name].messagesByAuthorFound } Ultimate.bots[name].getLatest = function(element) { return document.getElementsByClassName(element)[document.getElementsByClassName(element).length - 1] } Ultimate.bots[name].getAfterCommand = function(command) { var a = document.getElementsByClassName("hud-chat-input")[0].value.substring(0, Ultimate.bots[name].botPrefix.length + command.length) a = document.getElementsByClassName("hud-chat-input")[0].value.replace(a, "") a = a.trim() return a } Ultimate.bots[name].getAfterMessage = function(message, afterWhat) { var a = message.childNodes[1].textContent.substring(0, afterWhat.length + 2) a = message.childNodes[1].textContent.replace(a, "") a = a.trim() return a } Ultimate.bots[name].showModal = function(title, html) { let m = document.createElement("div") m.classList.add("modal") m.title = title m.innerHTML = html document.body.appendChild(m) $(".modal").dialog({ autoOpen: true, show: { effect: "blind", duration: 1000 }, hide: { effect: "blind", duration: 1000 } }) } Ultimate.bots[name].botExists = function(bot) { for(let i in JSON.parse(localStorage.bots)) { let botcode = JSON.parse(localStorage.bots)[i].code if(code.startsWith("//#" + bot)) { return true } else { return false } } } Ultimate.bots[name].clearChatInput = function() { document.getElementsByClassName("hud-chat-input")[0].value = "" } Ultimate.bots[name].onCommand = function(command, doSomething) { document.getElementsByClassName("hud-chat-input")[0].addEventListener("input", function() { if (document.getElementsByClassName("hud-chat-input")[0].value === Ultimate.bots[name].botPrefix + command) { document.addEventListener("keydown", function waitForEnterKey(e) { switch (e.which) { case 13: doSomething() setTimeout(function() { document.removeEventListener("keydown", waitForEnterKey) }, 250) } }) } }) } Ultimate.bots[name].removeCommand = function(command) { document.getElementsByClassName("hud-chat-input")[0].removeEventListener("input", command) } Ultimate.bots[name].onMessageSent = function(doSomething) { var length = document.getElementsByClassName("hud-chat-message").length setInterval(function() { if (length < document.getElementsByClassName("hud-chat-message").length) { length = document.getElementsByClassName("hud-chat-message").length doSomething() } }, 250) } Ultimate.bots[name].onSomeoneSentMessage = function(message, doSomething) { var length = document.getElementsByClassName("hud-chat-message").length setInterval(function() { if (length < document.getElementsByClassName("hud-chat-message").length) { length = document.getElementsByClassName("hud-chat-message").length if (document.getElementsByClassName("hud-chat-message")[document.getElementsByClassName("hud-chat-message").length - 1].childNodes[1].textContent.indexOf(message) >= 0) { doSomething() } } }, 250) } Ultimate.bots[name].changeChatBotName = function(name) { if (name) { Ultimate.bots[name].chatBotName = name } else { throw new Error("Please give a chat name for the bot!") } } Ultimate.bots[name].profile = {} Ultimate.bots[name].profile.profilePic = profile.profilePic Ultimate.bots[name].profile.profileName = profile.profileName Ultimate.bots[name].profile.profileInfo = profile.profileInfo let profileMenu = Ultimate.createMenu("<img style='width: 100px; height: 100px;' src='" + profile.profilePic + "'></img><h3>" + profile.profileName + "</h3><p>" + profile.profileInfo + "</p>", "menu") Ultimate.bots[name].onMessageSent(function() { function checkMsg(i) { if (__(".hud-chat-message")[i].childNodes[0].innerHTML == Ultimate.bots[name].chatBotName) { profileMenu.show() } } for (let i = 0; i < __(".hud-chat-message").length; i++) { __(".hud-chat-message")[i].addEventListener("click", function() { checkMsg(i) }) } }) function checkMsg(i) { if (__(".hud-chat-message")[i].childNodes[0].innerHTML == Ultimate.bots[name].chatBotName) { profileMenu.show() } } for (let i = 0; i < __(".hud-chat-message").length; i++) { __(".hud-chat-message")[i].addEventListener("click", function() { checkMsg(i) }) } return Ultimate.bots[name] } let example = `//#Senin_Botun if(typeof unsafeWindow == "undefined" || "null") { window.myBot = new Bot("TC Developer", "2.5", { profileName: "TC Developer", profilePic: "-", profileInfo: "Görevüm Basenizi Ayakta Tutup En İyi Şekilde Savunmak" }) } else { unsafeWindow.myBot = new Bot("TC Developer", "2.5", { profileName: "TC Developer", profilePic: "-", profileInfo: "Görevim Basenizi Ayakta Tutup En İyi Şekilde Savunmak" }) } myBot.sendMessage("Merhaba, Ben TC Developer")` if (localStorage.bots) { function loadBots() { let storedBots = JSON.parse(localStorage.bots) for (let i = 0; i < storedBots.length; i++) { try { eval(storedBots[i].code) } catch(err) { Game.currentGame.ui.getComponent("Chat").onMessageReceived({ displayName: "[CONSOLE]", message: "Must delete bot number " + i + ", because it has an error. " + err + " Please reload your page.</br><button class='ui-button ui-widget ui-corner-all delete-notworking-bot'>Tıkla</button>" }) var messages = document.getElementsByClassName("hud-chat-message") var length = messages.length - 1 messages[length].innerHTML = messages[length].innerHTML.replace(/</g, "<").replace(/>/g, ">") __(".delete-notworking-bot")[0].addEventListener("click", function() { let bots = JSON.parse(localStorage.bots) if (i == 0) { bots.shift() } else if (i == bots.length - 1) { bots.pop() } else { bots = removeItem(bots, i) } localStorage.bots = JSON.stringify(bots) window.location.reload() }) } let botdiv = document.createElement("div") botdiv.innerHTML = `<div class='ultimate-bot'> <p style='display: inline-block;'>` + Ultimate.bots[Object.keys(Ultimate.bots)[Object.keys(Ultimate.bots).length - 1]].chatBotName + `</p> <button class="ui-button ui-widget ui-corner-all delete-bot" style="display: inline-block;"></button> <button class="ui-button ui-widget ui-corner-all edit-bot" style="display: inline-block;"></button> </div>` _(".bots").appendChild(botdiv) $(".edit-bot").button({ icon: "ui-icon-pencil" }) $(".delete-bot").button({ icon: "ui-icon-closethick" }) } } loadBots() } _(".add-bot").addEventListener("click", function() { let editorMenu = Ultimate.createMenu("<textarea class='editor'></textarea><button class='ui-button ui-widget ui-corner-all save-bot'>Kayıt</button>", "menu") editorMenu.show() let editor = CodeMirror.fromTextArea(__(".editor")[__(".editor").length - 1], { lineNumbers: true, mode: "javascript", theme: "lesser-dark" }) editor.getDoc().setValue(example) let childs = editorMenu.childNodes for (let i = 0; i < childs.length; i++) { if (childs[i].classList.value !== "menu-close") { childs[i].addEventListener("click", function() { editorMenu.show() Ultimate.menu.show() }) } } editor.on("change", e => { example = e.getValue() }) __(".save-bot")[__(".save-bot").length - 1].addEventListener("click", function() { let error = false try { eval(editor.getValue()) } catch (errors) { Game.currentGame.ui.getComponent("Chat").onMessageReceived({ displayName: "[CONSOLE]", message: errors }) error = true } if (error == false) { const bots = Ultimate.bots editorMenu.hide() let botdiv = document.createElement("div") botdiv.innerHTML = `<div class='ultimate-bot'> <p style='display: inline-block;'>` + Ultimate.bots[Object.keys(Ultimate.bots)[Object.keys(Ultimate.bots).length - 1]].chatBotName + `</p> <button class="ui-button ui-widget ui-corner-all delete-bot" style="display: inline-block;"></button> <button class="ui-button ui-widget ui-corner-all edit-bot" style="display: inline-block;"></button> </div>` _(".bots").appendChild(botdiv) ;(function(t) { for (let i = 0; i < arguments.length; i++) { let e = document.createElement("script") e.src = arguments[i] document.body.appendChild(e) } })("https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js") setTimeout(function() { $(".edit-bot").button({ icon: "ui-icon-pencil" }) $(".delete-bot").button({ icon: "ui-icon-closethick" }) }, 1000) if (!localStorage.bots) { localStorage.setItem("bots", "[]") storedBots = JSON.parse(localStorage.bots) } else { storedBots = JSON.parse(localStorage.bots) } storedBots.push({ code: editor.getValue() }) localStorage.bots = JSON.stringify(storedBots) } }) }) document.addEventListener("click", function(e) { if (e.target.classList[3] == "delete-bot") { let i = Array.prototype.slice.call(__(".delete-bot")).indexOf(e.target) e.target.parentNode.remove() let bots = JSON.parse(localStorage.bots) if (i == 0) { bots.shift() } else if (i == __(".delete-bot").length - 1) { bots.pop() } else { bots = removeItem(bots, i) } localStorage.bots = JSON.stringify(bots) } else if (e.target.classList[3] == "edit-bot") { let menu = Ultimate.createMenu('<textarea class="edit-bot-textarea"></textarea><button class="ui-button ui-widget ui-corner-all save-changes">Tekrar Kayıt</button>', "menu") menu.show() let editor = CodeMirror.fromTextArea(__(".edit-bot-textarea")[__(".edit-bot-textarea").length - 1], { mode: "text/javascript", theme: "lesser-dark", lineNumbers: true }) let editBtns = [] for (let i = 0; i < __(".edit-bot").length; i++) { editBtns.push(__(".edit-bot")[i]) } let i = Array.prototype.slice.call(editBtns).indexOf(e.target) editor.getDoc().setValue(JSON.parse(localStorage.bots)[i].code) let childs = menu.childNodes for (let i = 0; i < childs.length; i++) { if (childs[i].classList.value !== "menu-close") { childs[i].addEventListener("click", function() { menu.show() Ultimate.menu.show() }) } } __(".save-changes")[__(".save-changes").length - 1].addEventListener("click", function() { let errors = false try { eval(editor.getValue()) } catch (errors) { Game.currentGame.ui.getComponent("Chat").onMessageReceived({ displayName: "[CONSOLE]", message: errors }) errors = true } if (errors == false) { let bots = JSON.parse(localStorage.bots) bots[i].code = editor.getValue() localStorage.bots = JSON.stringify(bots) menu.hide() } }) } }) }) }, 500)
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址