WarCall.io Ultimate Hack

Bất tử, Vàng, Điểm nâng cấp, EXP vô hạn. Tự động áp dụng.

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         WarCall.io Ultimate Hack
// @namespace    https://warcall.io/
// @version      3.0
// @description  Bất tử, Vàng, Điểm nâng cấp, EXP vô hạn. Tự động áp dụng.
// @author       You
// @match        https://warcall.io/*
// @grant        none
// @license      MIT
// @run-at       document-end
// ==/UserScript==

(function() {
    'use strict';

    let rt = null;
    let hackIntervals = [];
    let hackEnabled = true;

    // Hàm lấy runtime
    function getRuntime() {
        if (typeof cr_getC2Runtime === 'function') {
            rt = cr_getC2Runtime();
            return !!rt;
        }
        return false;
    }

    // Áp dụng tất cả hack
    function applyHacks() {
        if (!rt || !hackEnabled) return;

        try {
            // 1. Vàng vô hạn (t60[0])
            const t60 = rt.types.t60;
            if (t60 && t60.instances.length > 0) {
                const gold = t60.instances[0].instance_vars;
                if (gold && typeof gold[0] === 'number' && gold[0] < 999000) {
                    gold[0] = 9999999999999999999999999999999999999999999999999999;
                }
            }

            // 2. Điểm nâng cấp vô hạn (t47[3])
            const t47 = rt.types.t47;
            if (t47 && t47.instances.length > 0) {
                const pts = t47.instances[0].instance_vars;
                if (pts && typeof pts[3] === 'number' && pts[3] < 99000) {
                    pts[3] = 99999;
                }
            }

            // 3. EXP / Điểm kỹ năng tướng (t62[0]) - nếu bạn muốn
            const t62 = rt.types.t62;
            if (t62 && t62.instances.length > 0) {
                const exp = t62.instances[0].instance_vars;
                if (exp && typeof exp[0] === 'number' && exp[0] < 999000) {
                    exp[0] = 999999;
                }
            }

            // 4. Bất tử (tắt va chạm)
            const t51 = rt.types.t51;
            if (t51 && t51.instances.length > 0) {
                t51.instances[0].collisionsEnabled = false;
            }

        } catch (e) {
            // Bỏ qua lỗi nhất thời khi chuyển layout
        }
    }

    // Dừng tất cả hack (nếu cần)
    function stopHacks() {
        if (rt && rt.types.t51 && rt.types.t51.instances.length > 0) {
            rt.types.t51.instances[0].collisionsEnabled = true;
        }
        hackIntervals.forEach(clearInterval);
        hackIntervals = [];
    }

    // Bắt đầu hack
    function startHacks() {
        if (!getRuntime()) {
            setTimeout(startHacks, 1000);
            return;
        }

        console.log('[WarCall Hack] Hệ thống đã sẵn sàng.');

        // Chạy hack mỗi 500ms
        hackIntervals.push(setInterval(applyHacks, 500));

        // Phím tắt F8: bật/tắt tất cả
        document.addEventListener('keydown', function(e) {
            if (e.key === 'F8') {
                hackEnabled = !hackEnabled;
                if (!hackEnabled) {
                    stopHacks();
                    console.log('[WarCall Hack] Đã TẮT.');
                } else {
                    startHacks();
                    console.log('[WarCall Hack] Đã BẬT.');
                }
            }
        });
    }

    // Khởi động
    if (document.readyState === 'complete' || document.readyState === 'interactive') {
        setTimeout(startHacks, 100);
    } else {
        window.addEventListener('load', () => setTimeout(startHacks, 100));
    }
})();