Greasy Fork

来自缓存

Greasy Fork is available in English.

Shop Shortcut

Fast & Convenient

当前为 2022-01-15 提交的版本,查看 最新版本

// ==UserScript==
// @name         Shop Shortcut
// @namespace    http://tampermonkey.net/
// @version      1.1
// @description  Fast & Convenient
// @author       Havy
// @match        http://zombs.io/*
// @grant        none
// ==/UserScript==

document.getElementsByClassName("hud-top-center")[0].innerHTML = `
<a id="tm1"><img src="http://zombs.io/asset/image/ui/inventory/inventory-pickaxe-t7.svg"></a>
<a id="tm2"><img src="http://zombs.io/asset/image/ui/inventory/inventory-spear-t7.svg"></a>
<a id="tm3"><img src="http://zombs.io/asset/image/ui/inventory/inventory-bow-t7.svg"></a>
<a id="tm4"><img src="http://zombs.io/asset/image/ui/inventory/inventory-bomb-t7.svg"></a>
<a id="tm5"><img src="http://zombs.io/asset/image/ui/inventory/inventory-health-potion.svg"></a>
<a id="tm6"><img src="http://zombs.io/asset/image/ui/inventory/inventory-pet-health-potion.svg"></a>
`;
document.getElementById('tm1').addEventListener('click', buyPickaxe);
document.getElementById('tm2').addEventListener('click', buySpear);
document.getElementById('tm3').addEventListener('click', buyBow);
document.getElementById('tm4').addEventListener('click', buyBomb);
document.getElementById('tm5').addEventListener('click', heal);
document.getElementById('tm6').addEventListener('click', petHeal);

function buyPickaxe() {
    var tier = document.querySelector(".hud-shop-item").childNodes[3].innerHTML.split(" ")[1] - 1;
    if (tier == 1 && game.ui.playerTick.gold >= 1000) {
        document.querySelector(".hud-shop-grid").childNodes[0].click()
        game.network.sendRpc({
            name: "EquipItem",
            itemName: "Pickaxe",
            tier: 2
        });
    }
    if (tier == 2 && game.ui.playerTick.gold >= 3000) {
        document.querySelector(".hud-shop-grid").childNodes[0].click()
        game.network.sendRpc({
            name: "EquipItem",
            itemName: "Pickaxe",
            tier: 3
        });
    }
    if (tier == 3 && game.ui.playerTick.gold >= 5000) {
        document.querySelector(".hud-shop-grid").childNodes[0].click()
        game.network.sendRpc({
            name: "EquipItem",
            itemName: "Pickaxe",
            tier: 4
        });
    }
    if (tier == 4 && game.ui.playerTick.gold >= 8000) {
        document.querySelector(".hud-shop-grid").childNodes[0].click()
        game.network.sendRpc({
            name: "EquipItem",
            itemName: "Pickaxe",
            tier: 5
        });
    }
    if (tier == 5 && game.ui.playerTick.gold >= 24000) {
        document.querySelector(".hud-shop-grid").childNodes[0].click()
        game.network.sendRpc({
            name: "EquipItem",
            itemName: "Pickaxe",
            tier: 6
        });
    }
    if (tier == 6 && game.ui.playerTick.gold >= 90000) {
        document.querySelector(".hud-shop-grid").childNodes[0].click()
        game.network.sendRpc({
            name: "EquipItem",
            itemName: "Pickaxe",
            tier: 7
        });
    } else {
        if (game.ui.playerWeaponName !== "Pickaxe") {
            game.network.sendRpc({
                name: "EquipItem",
                itemName: "Pickaxe",
                tier: tier
            });
        }
    }
}

function buySpear() {
    var tier = document.querySelector(".hud-shop-item").nextElementSibling.childNodes[3].innerHTML.split(" ")[1] - 1;
    if (tier == 0 && game.ui.playerTick.gold >= 1400) {
        document.querySelector(".hud-shop-grid").childNodes[1].click()
        game.network.sendRpc({
            name: "EquipItem",
            itemName: "Spear",
            tier: 1
        });
    }
    if (tier == 1 && game.ui.playerTick.gold >= 2800) {
        document.querySelector(".hud-shop-grid").childNodes[1].click()
        game.network.sendRpc({
            name: "EquipItem",
            itemName: "Spear",
            tier: 2
        });
    }
    if (tier == 2 && game.ui.playerTick.gold >= 5600) {
        document.querySelector(".hud-shop-grid").childNodes[1].click()
        game.network.sendRpc({
            name: "EquipItem",
            itemName: "Spear",
            tier: 3
        });
    }
    if (tier == 3 && game.ui.playerTick.gold >= 11200) {
        document.querySelector(".hud-shop-grid").childNodes[1].click()
        game.network.sendRpc({
            name: "EquipItem",
            itemName: "Spear",
            tier: 4
        });
    }
    if (tier == 4 && game.ui.playerTick.gold >= 22500) {
        document.querySelector(".hud-shop-grid").childNodes[1].click()
        game.network.sendRpc({
            name: "EquipItem",
            itemName: "Spear",
            tier: 5
        });
    }
    if (tier == 5 && game.ui.playerTick.gold >= 45000) {
        document.querySelector(".hud-shop-grid").childNodes[1].click()
        game.network.sendRpc({
            name: "EquipItem",
            itemName: "Spear",
            tier: 6
        });
    }
    if (tier == 6 && game.ui.playerTick.gold >= 90000) {
        document.querySelector(".hud-shop-grid").childNodes[1].click()
        game.network.sendRpc({
            name: "EquipItem",
            itemName: "Spear",
            tier: 7
        });
    } else {
        if (game.ui.playerWeaponName !== "Spear") {
            game.network.sendRpc({
                name: "EquipItem",
                itemName: "Spear",
                tier: tier
            });
        }
    }
}

function buyBow() {
    var tier = document.querySelector(".hud-shop-item").nextElementSibling.nextElementSibling.childNodes[3].innerHTML.split(" ")[1] - 1;
    if (tier == 0 && game.ui.playerTick.gold >= 100) {
        document.querySelector(".hud-shop-grid").childNodes[2].click()
        game.network.sendRpc({
            name: "EquipItem",
            itemName: "Bow",
            tier: 1
        });
    }
    if (tier == 1 && game.ui.playerTick.gold >= 400) {
        document.querySelector(".hud-shop-grid").childNodes[2].click()
        game.network.sendRpc({
            name: "EquipItem",
            itemName: "Bow",
            tier: 2
        });
    }
    if (tier == 2 && game.ui.playerTick.gold >= 2000) {
        document.querySelector(".hud-shop-grid").childNodes[2].click()
        game.network.sendRpc({
            name: "EquipItem",
            itemName: "Bow",
            tier: 3
        });
    }
    if (tier == 3 && game.ui.playerTick.gold >= 7000) {
        document.querySelector(".hud-shop-grid").childNodes[2].click()
        game.network.sendRpc({
            name: "EquipItem",
            itemName: "Bow",
            tier: 4
        });
    }
    if (tier == 4 && game.ui.playerTick.gold >= 24000) {
        document.querySelector(".hud-shop-grid").childNodes[2].click()
        game.network.sendRpc({
            name: "EquipItem",
            itemName: "Bow",
            tier: 5
        });
    }
    if (tier == 5 && game.ui.playerTick.gold >= 30000) {
        document.querySelector(".hud-shop-grid").childNodes[2].click()
        game.network.sendRpc({
            name: "EquipItem",
            itemName: "Bow",
            tier: 6
        });
    }
    if (tier == 6 && game.ui.playerTick.gold >= 90000) {
        document.querySelector(".hud-shop-grid").childNodes[2].click()
        game.network.sendRpc({
            name: "EquipItem",
            itemName: "Bow",
            tier: 7
        });
    } else {
        if (game.ui.playerWeaponName !== "Bow") {
            game.network.sendRpc({
                name: "EquipItem",
                itemName: "Bow",
                tier: tier
            });
        }
    }
}

function buyBomb() {
    var tier = document.querySelector(".hud-shop-item").nextElementSibling.nextElementSibling.nextElementSibling.childNodes[3].innerHTML.split(" ")[1] - 1;
    if (tier == 0 && game.ui.playerTick.gold >= 100) {
        document.querySelector(".hud-shop-grid").childNodes[3].click()
        game.network.sendRpc({
            name: "EquipItem",
            itemName: "Bomb",
            tier: 1
        });
    }
    if (tier == 1 && game.ui.playerTick.gold >= 400) {
        document.querySelector(".hud-shop-grid").childNodes[3].click()
        game.network.sendRpc({
            name: "EquipItem",
            itemName: "Bomb",
            tier: 2
        });
    }
    if (tier == 2 && game.ui.playerTick.gold >= 3000) {
        document.querySelector(".hud-shop-grid").childNodes[3].click()
        game.network.sendRpc({
            name: "EquipItem",
            itemName: "Bomb",
            tier: 3
        });
    }
    if (tier == 3 && game.ui.playerTick.gold >= 5000) {
        document.querySelector(".hud-shop-grid").childNodes[3].click()
        game.network.sendRpc({
            name: "EquipItem",
            itemName: "Bomb",
            tier: 4
        });
    }
    if (tier == 4 && game.ui.playerTick.gold >= 24000) {
        document.querySelector(".hud-shop-grid").childNodes[3].click()
        game.network.sendRpc({
            name: "EquipItem",
            itemName: "Bomb",
            tier: 5
        });
    }
    if (tier == 5 && game.ui.playerTick.gold >= 50000) {
        document.querySelector(".hud-shop-grid").childNodes[3].click()
        game.network.sendRpc({
            name: "EquipItem",
            itemName: "Bomb",
            tier: 6
        });
    }
    if (tier == 6 && game.ui.playerTick.gold >= 90000) {
        document.querySelector(".hud-shop-grid").childNodes[3].click()
        game.network.sendRpc({
            name: "EquipItem",
            itemName: "Bomb",
            tier: 7
        });
    } else {
        if (game.ui.playerWeaponName !== "Bomb") {
            game.network.sendRpc({
                name: "EquipItem",
                itemName: "Bomb",
                tier: tier
            });
        }
    }
}

function heal() {
    Game.currentGame.network.sendRpc({
        "name": "BuyItem",
        "itemName": "HealthPotion",
        "tier": 1
    })
    Game.currentGame.network.sendRpc({
        "name": "EquipItem",
        "itemName": "HealthPotion",
        "tier": 1
    })
}

function petHeal() {
    Game.currentGame.network.sendRpc({
        "name": "BuyItem",
        "itemName": "PetHealthPotion",
        "tier": 1
    })
    Game.currentGame.network.sendRpc({
        "name": "EquipItem",
        "itemName": "PetHealthPotion",
        "tier": 1
    })
}