Trilogy // Проблема с курсором

976h

Активный
Автор темы
271
88
Версия MoonLoader
Другое
Как курсор сделать? Если я включаю через sampToggleCursor, я не могу взаимодействовать со своим JavaScript скриптом, пока не открою настоящий диалог в игре.

Потипу код:
Lua:
require("ArizonaAPI")
function menu_script()
    return [[
    (function() {
        let menu = document.querySelector('#main-script-menu');
        const toggleVisibility = (isVisible) => {
            const menuEl = document.querySelector('#main-script-menu');
            if (menuEl) {
                if (isVisible) {
                    menuEl.classList.add('visible');
                } else {
                    menuEl.classList.remove('visible');
                }
            }
        };
        if (menu) {
            toggleVisibility(!menu.classList.contains('visible'));
            return;
        }
        const styles = `
            .menu-container {
                position: fixed;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%) scale(0.95);
                width: 500px;
                height: 400px;
                background: rgba(30, 30, 30, 0.95);
                border: 1px solid #444;
                border-radius: 8px;
                z-index: 10000;
                font-family: Arial, sans-serif;
                box-shadow: 0 5px 25px rgba(0, 0, 0, 0.5);
                opacity: 0;
                visibility: hidden;
                transition: opacity 0.25s ease, transform 0.25s ease;
            }
            .menu-container.visible {
                opacity: 1;
                visibility: visible;
                transform: translate(-50%, -50%) scale(1);
            }
            .menu-header {
                padding: 10px 15px;
                display: flex;
                justify-content: flex-end;
                align-items: center;
                border-bottom: 1px solid #444;
            }
            .close-button {
                cursor: pointer;
                font-size: 28px;
                color: #aaa;
                line-height: 1;
                transition: color 0.2s, transform 0.2s;
            }
            .close-button:hover {
                color: #ff4d4d;
                transform: rotate(90deg);
            }
            .menu-body {
                padding: 20px;
                height: calc(100% - 50px);
            }
        `;
        if (!document.getElementById('main-script-styles')) {
            const styleSheet = document.createElement("style");
            styleSheet.id = 'main-script-styles';
            styleSheet.innerText = styles;
            document.head.appendChild(styleSheet);
        }
        const menuContainer = document.createElement('div');
        menuContainer.id = 'main-script-menu';
        menuContainer.className = 'menu-container';
        menuContainer.innerHTML = `
            <div class="menu-header">
                <span class="close-button">&times;</span>
            </div>
            <div class="menu-body">
                </div>
        `;
        document.body.appendChild(menuContainer);
        const closeBtn = menuContainer.querySelector('.close-button');
        if (closeBtn) {
            closeBtn.addEventListener('click', () => {
                toggleVisibility(false);
            });
        }
        requestAnimationFrame(() => {
            toggleVisibility(true);
        });

    })();
    ]]
end

sampRegisterChatCommand('hoho', function()
    local js_to_run = menu_script()
    executeUIBrowserJSCode(js_to_run)
    sampToggleCursor(true)
end)