您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Allows you to quickly change your skills
当前为
- // ==UserScript==
- // @name Skillsetter
- // @namespace http://tampermonkey.net/
- // @version 0.2
- // @description Allows you to quickly change your skills
- // @author Daria
- // @license MIT
- // @match https://hordes.io/play
- // @icon https://www.google.com/s2/favicons?sz=64&domain=hordes.io
- // @grant none
- // ==/UserScript==
- window.addEventListener('load', function() {
- 'use strict';
- let interval = setInterval(function(){
- if(document.getElementsByClassName("flexer svelte-e2mar4").length > 0 && document.getElementsByClassName("flexer svelte-e2mar4")[0].id == ""){
- let skills = document.getElementsByClassName("panel-bright skillbox svelte-e2mar4")
- let flexer = document.getElementsByClassName("flexer svelte-e2mar4")[0]
- flexer.id = "taken"
- console.log(document.querySelector("#skilllist").childNodes.length)
- if(document.querySelector("#skilllist").childNodes.length % 2 == 0){
- document.querySelector("#skilllist").append(document.createElement("div"))
- }
- document.querySelector("#skilllist").append(document.createElement("div"))
- let char = localStorage.getItem("lastConnectedChar")
- let skillsets = []
- if(localStorage.getItem("skillsets") != null){
- if(JSON.parse(localStorage.getItem("skillsets"))[char] != null){
- skillsets = JSON.parse(localStorage.getItem("skillsets"))[char]
- }
- } else {
- localStorage.setItem("skillsets", JSON.stringify({}))
- }
- for(let i = 0; i < skillsets.length; i++){
- createButton2(i)
- }
- let apply = document.getElementById("tutapplyskills")
- flexer.addEventListener('click', (e) => {
- if(e.target.id.substring(1) == "skillset"){
- let index = parseInt(e.target.id.substring(0, 1))
- let btn = e.target
- if(e.shiftKey){
- skillsets.splice(index, 1)
- let charsets = JSON.parse(localStorage.getItem("skillsets"))
- charsets[char] = skillsets
- localStorage.setItem("skillsets", JSON.stringify(charsets))
- btn.remove()
- } else {
- for(let i = 0; i < skills.length; i++){
- let clicks = skills[i].getElementsByClassName("btn incbtn white svelte-e2mar4").length + skills[i].childNodes[1].getElementsByClassName("btn incbtn green svelte-e2mar4").length
- for(let j = 0; j < clicks; j++){
- skills[i].getElementsByClassName("btn incbtn grey svelte-e2mar4")[skills[i].getElementsByClassName("btn incbtn grey svelte-e2mar4").length - 1].click()
- }
- }
- let timeout = setTimeout(function(){
- for(let i = 0; i < skills.length; i++){
- for(let j = 0; j < skillsets[index][i + 1]; j++){
- let plus = skills[i].getElementsByClassName("btn incbtn green svelte-e2mar4")
- if (plus.length > 0){
- plus[skills[i].getElementsByClassName("btn incbtn green svelte-e2mar4").length - 1].click()
- }
- }
- }
- apply.click()
- }, 100)
- }
- }
- })
- apply.addEventListener('click', (e) => {
- if(e.shiftKey){
- createButton()
- skillsets = JSON.parse(localStorage.getItem("skillsets"))[char]
- }
- })
- }
- }, 10)
- function createButton(){
- let char = localStorage.getItem("lastConnectedChar")
- let skillsets = []
- if(localStorage.getItem("skillsets") != null){
- if(JSON.parse(localStorage.getItem("skillsets"))[char] != null){
- skillsets = JSON.parse(localStorage.getItem("skillsets"))[char]
- }
- } else {
- localStorage.setItem("skillsets", JSON.stringify({}))
- }
- let elem = document.createElement("div")
- elem.className = "l-upperLeftModal container uiscaled svelte-voya4q"
- let elem2 = document.createElement("div")
- elem2.className = "window panel-black svelte-yjs4p5"
- elem.append(elem2)
- let input = document.createElement("input")
- input.placeholder = "Choose name"
- let btn = document.createElement("div")
- btn.className = "btn purp"
- btn.textContent = "Create"
- elem2.append(input, btn)
- document.getElementsByClassName("container svelte-1j9lddf")[0].append(elem)
- btn.addEventListener('click', function(){
- elem2.remove()
- let skillset = []
- let name = input.value
- skillset.push(name)
- document.getElementsByClassName("container svelte-1j9lddf")[0].append(elem)
- let skills = document.getElementsByClassName("panel-bright skillbox svelte-e2mar4")
- for(let i = 0; i < skills.length; i++){
- skillset.push(skills[i].getElementsByClassName("btn incbtn white svelte-e2mar4").length)
- }
- btn = document.createElement("div")
- btn.className = "btn navbtn grey"
- btn.textContent = name
- btn.id = skillsets.length + "skillset"
- skillsets.push(skillset)
- let charsets = JSON.parse(localStorage.getItem("skillsets"))
- charsets[char] = skillsets
- localStorage.setItem("skillsets", JSON.stringify(charsets))
- console.log()
- document.getElementById("skilllist").insertBefore(btn, document.getElementById("skilllist").lastChild)
- })
- }
- function createButton2(n){
- let char = localStorage.getItem("lastConnectedChar")
- let skillsets = []
- if(localStorage.getItem("skillsets") != null){
- if(JSON.parse(localStorage.getItem("skillsets"))[char] != null){
- skillsets = JSON.parse(localStorage.getItem("skillsets"))[char]
- }
- } else {
- localStorage.setItem("skillsets", JSON.stringify({}))
- }
- let btn = document.createElement("div")
- btn.className = "btn navbtn grey"
- btn.textContent = skillsets[n][0]
- btn.id = n + "skillset"
- document.getElementsByClassName("scrollbar skilllist svelte-e2mar4")[0].insertBefore(btn, document.getElementsByClassName("scrollbar skilllist svelte-e2mar4")[0].lastChild)
- }
- });