Stone hack 5.00

Tribals.io で Compound および column_02 の当たり判定をON/OFF切り替えするスクリプト(画面ボタン)

スクリプトをインストールするには、Tampermonkey, GreasemonkeyViolentmonkey のような拡張機能のインストールが必要です。

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

スクリプトをインストールするには、TampermonkeyViolentmonkey のような拡張機能のインストールが必要です。

スクリプトをインストールするには、TampermonkeyUserscripts のような拡張機能のインストールが必要です。

このスクリプトをインストールするには、Tampermonkeyなどの拡張機能をインストールする必要があります。

このスクリプトをインストールするには、ユーザースクリプト管理ツールの拡張機能をインストールする必要があります。

(ユーザースクリプト管理ツールは設定済みなのでインストール!)

このスタイルをインストールするには、Stylusなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus などの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus tなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

(ユーザースタイル管理ツールは設定済みなのでインストール!)

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください
// ==UserScript==
// @name         Stone hack 5.00
// @namespace    http://tampermonkey.net/
// @version      0.5
// @description  Tribals.io で Compound および column_02 の当たり判定をON/OFF切り替えするスクリプト(画面ボタン)
// @author       You
// @match        https://tribals.io/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    const button = document.createElement('button');
    button.textContent = ' OFF';
    button.style.position = 'fixed';
    button.style.top = '15%'; // 画面の縦方向中央
    button.style.left = '20px'; // 左から20px
    button.style.transform = 'translateY(-50%)'; // 真ん中揃え
    button.style.zIndex = '1000';
    button.style.padding = '10px 20px';
    button.style.backgroundColor = '#3498db';
    button.style.color = '#fff';
    button.style.border = 'none';
    button.style.borderRadius = '5px';
    button.style.fontSize = '14px';
    button.style.cursor = 'pointer';
    document.body.appendChild(button);

    let collisionEnabled = true;

    button.addEventListener('click', () => {
        collisionEnabled = !collisionEnabled;

        const app = tribals.localPlayer.app;
        const entities = app.root.findComponents('collision');

        entities.forEach(collisionComponent => {
            const entity = collisionComponent.entity;
            const name = entity.name;

            if (name === "Compound" || name === "column_02") {
                if (collisionEnabled) {
                    if (!entity.collision) {
                        entity.addComponent('collision', {
                            type: 'box',
                            halfExtents: new pc.Vec3(1, 1, 1)
                        });
                        console.log("✅ 当たり判定を復元:", name);
                    }
                } else {
                    entity.removeComponent('collision');
                    console.log("🛑 当たり判定を削除:", name);
                }
            }
        });

        button.textContent = collisionEnabled ? ' OFF' : ' ON';
        button.style.backgroundColor = collisionEnabled ? '#3498db' : '#e74c3c';
    });
})();