dino HACK >:3

Press F to toggle fly mode in Dino

スクリプトをインストールするには、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         dino HACK >:3
// @namespace    https://greasyfork.org/
// @version      1.2
// @description  Press F to toggle fly mode in Dino
// @match        *://chromedino.com/*
// @match        *://elgoog.im/*
// @grant        none
// ==/UserScript==

(function () {
    'use strict';

    let fly = false;
    let flyLoop = null;

    function getR() {
        return window.Runner && Runner.instance_;
    }

    function enableFly(r) {
        r.tRex.config.GRAVITY = 0;

        flyLoop = setInterval(() => {
            const r2 = getR();
            if(!r2) return;

            r2.tRex.yPos = 40;
        }, 10);
    }

    function disableFly(r) {
        clearInterval(flyLoop);
        if (r) r.tRex.config.GRAVITY = 0.6;
    }


    function enableGodMode(r) {
        if (!r._originalGameOver) {
            r._originalGameOver = r.gameOver;
        }

        r.gameOver = function () {

        };
    }

    function init() {
        const r = getR();
        if (!r) return requestAnimationFrame(init);

        enableGodMode(r);

        document.addEventListener("keydown", (e) => {
            if (e.key.toLowerCase() === "f") {
                fly = !fly;

                if (fly) {
                    enableFly(r);
                } else {
                    disableFly(r);
                                    }
            }
        });
    }

    init();
})();