Torn Race Creating

Autofills the race form and moves the start button for easier custom race creation.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey, Greasemonkey или Violentmonkey.

Для установки этого скрипта вам необходимо установить расширение, такое как Tampermonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Violentmonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Userscripts.

Чтобы установить этот скрипт, сначала вы должны установить расширение браузера, например Tampermonkey.

Чтобы установить этот скрипт, вы должны установить расширение — менеджер скриптов.

(у меня уже есть менеджер скриптов, дайте мне установить скрипт!)

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

(у меня уже есть менеджер стилей, дайте мне установить скрипт!)

// ==UserScript==
// @name         Torn Race Creating
// @version      1.0
// @description  Autofills the race form and moves the start button for easier custom race creation.
// @author       K1rbs
// @match        *www.torn.com/loader.php?sid=racing*
// @grant        GM_addStyle
// @namespace    https://greatest.deepsurf.us/de/users/1517997
// ==/UserScript==

(function() {
    'use strict';

    // === CONFIGURATION ===
    const numberOfLaps = "1"; // Change this value to set the number of laps.
    const maxDrivers = "2"; // Change this value to set the number of maximum drivers.
    const trackName = "Speedway"; // Change to the desired track name.
    const raceName = "1 Lap Speedway"; // Change to the desired race name.
    // =====================

    GM_addStyle(`
        /* Hide the original separator line from the button's old position */
        .cont-black > form > .sep {
            display: none !important;
        }

        /* Adjust the title bar to act as a container for the button */
        .title-black.top-round {
            padding: 2px 8px !important;
            display: flex !important;
            justify-content: flex-start !important;
            align-items: center !important;
            height: 40px;
        }
    `);

    $('body').ajaxComplete(function(e, xhr, settings) {
        if (settings.url.includes("section=createCustomRace")) {
            setTimeout(function() {
                const buttonContainer = $('.custom-btn-wrap');
                const titleContainer = $('.title-black.top-round');
                const submitButton = buttonContainer.find('input[type="submit"]');

                if (buttonContainer.length && titleContainer.length) {
                    titleContainer.empty().append(buttonContainer);
                    submitButton.attr('form', 'createCustomRace');
                }
                $('#racename').val(raceName).trigger('change');
                $('.laps-wrap > .input-wrap > input').val(numberOfLaps).trigger('change');
                $('.drivers-max-wrap div.input-wrap input').val(maxDrivers).trigger('change');
                $('#select-racing-track').selectmenu();
                $('#select-racing-track-menu > li:contains(' + trackName + ')').mouseup();

            }, 200);
        }
    });
})();