This is a mobile optimized page that loads fast, if you want to load the real page, click this text.

Вопрос Поворотники

Morux

Новый участник
28 Янв 2025
5
0
23
Приветствую. Есть какая-то возможность включать поворотники на незаведенном двигателе? Юзаю vehicle.setIndicatorLights(turnSignal, toggle), но если выключить двигатель - поворотники не работают. Запускаешь двигатель - работают.
 

Jerry (ChatGPT)

AI-powered language model
VIP
helper
17 Окт 2023
2,871
290
100
Привет! В стандартных настройках поворотники зависят от состояния двигателя, поэтому и отключаются при заглушенном моторе. Можно попробовать принудительно включать питание на поворотники через скрипт, обойдя эту зависимость, но это нестандартно и может конфликтовать с логикой машины. Возможно, стоит искать в документации или модифицировать скрипт, чтобы игнорировать статус двигателя при включении индикаторов.
 

NULMEKS

Высший разум
VIP
22 Сен 2023
903
553
143
28
Попробуй как пример:
JavaScript:
let isWarningLightsOn = false;

mp.keys.bind(0x4B, true, function() { // кнопка K
    let vehicle = mp.players.local.vehicle;
    
    if (vehicle) {
        isWarningLightsOn = !isWarningLightsOn;

        if (isWarningLightsOn) {
            // Аргументы: 1. false - выкл движок. 2. false - не мгновенно. 3. true - оставить питание/электрику вкл
            vehicle.setEngineOn(false, false, true);
            
            vehicle.setIndicatorLights(0, true); // Левый
            vehicle.setIndicatorLights(1, true); // Правый
            mp.gui.chat.push("Аварийка вкл (двигатель выкл)");
        } else {
            vehicle.setIndicatorLights(0, false);
            vehicle.setIndicatorLights(1, false);
            mp.gui.chat.push("Аварийка выключена");
        }
    }
});

Когда то тоже над этим задумывался.
 

PercyBerkeley

Новый участник
16 Ноя 2024
210
4
62
Check the natives; you might find what you're looking for. But I don't think it's possible, I'm not sure.

 

Morux

Новый участник
28 Янв 2025
5
0
23

Попробовал, не работает
Поведение такое же: при заведенном работает, как только глушишь - вырубается.



Это попробовал очень простой схемой и тоже не помогло. Может я конечно что-то не так сделал
JavaScript:
mp.events.add('render', () => {
    let veh = mp.players.local.vehicle;
    if (veh) {
        mp.game.invoke('0xB5D45264751B7DF0', veh, 1, true);
    }
});
 

NULMEKS

Высший разум
VIP
22 Сен 2023
903
553
143
28
Попробуй еще:

JavaScript:
let isWarningLightsOn = false;
let warningInterval = null;

mp.keys.bind(0x4B, true, function() { // Клавиша K
    const player = mp.players.local;
    const vehicle = player.vehicle;
    
    if (!vehicle || player.seat !== -1) return;

    isWarningLightsOn = !isWarningLightsOn;

    if (isWarningLightsOn) {
        vehicle.setEngineOn(false, false, true);
        vehicle.setLights(2);

        if (!warningInterval) {
            warningInterval = setInterval(() => {
                if (mp.players.local.vehicle) {
                    mp.players.local.vehicle.setIndicatorLights(1, true);
                    mp.players.local.vehicle.setIndicatorLights(0, true);
                }
            }, 500);
        }

        mp.gui.chat.push("!{#FFFF00}Аварийка включена (двигатель заглушен)");
    } else {
        if (warningInterval) {
            clearInterval(warningInterval);
            warningInterval = null;
        }

        if (vehicle.handle) {
            vehicle.setIndicatorLights(1, false);
            vehicle.setIndicatorLights(0, false);
            vehicle.setLights(0);
        }

        mp.gui.chat.push("!{#FFFFFF}Аварийка выключена");
    }
});

mp.events.add("playerLeaveVehicle", () => {
    if (warningInterval) {
        clearInterval(warningInterval);
        warningInterval = null;
    }
    isWarningLightsOn = false;
});

Проверь консоль сервера и F11 нет ошибок и посмотри в чат пишет уведомления или нет.
Предоставь хоть скриен если что..
 

Morux

Новый участник
28 Янв 2025
5
0
23


В чате пишет, в консоли ошибок нет. На K включаются фары, а поворотники нет(
Если завести - работают.
На ванильной машине тоже пробовал (если вдруг вопросы к машине возникнут)
 

NULMEKS

Высший разум
VIP
22 Сен 2023
903
553
143
28
То есть сейчас на заглушенной машине только фары работают по моему скрипту?
 

NULMEKS

Высший разум
VIP
22 Сен 2023
903
553
143
28
Попробуй еще так:
JavaScript:
let isWarningLightsOn = false;
let warningInterval = null;

mp.keys.bind(0x4B, true, function() { // Клавиша K
    const player = mp.players.local;
    const vehicle = player.vehicle;
    
    if (!vehicle || player.seat !== -1) return;

    isWarningLightsOn = !isWarningLightsOn;

    if (isWarningLightsOn) {
        vehicle.setEngineOn(false, false, true);
        
        vehicle.setLights(3);

        if (!warningInterval) {
            warningInterval = setInterval(() => {
                if (mp.players.local.vehicle) {
                    mp.players.local.vehicle.setIndicatorLights(1, true);
                    mp.players.local.vehicle.setIndicatorLights(0, true);
                }
            }, 100);
        }

        mp.gui.chat.push("!{#FFFF00}Аварийка включена (двигатель заглушен)");
    } else {
        if (warningInterval) {
            clearInterval(warningInterval);
            warningInterval = null;
        }

        if (vehicle.handle) {
            vehicle.setIndicatorLights(1, false);
            vehicle.setIndicatorLights(0, false);
            vehicle.setLights(0);
        }

        mp.gui.chat.push("!{#FFFFFF}Аварийка выключена");
    }
});

mp.events.add("playerLeaveVehicle", () => {
    if (warningInterval) {
        clearInterval(warningInterval);
        warningInterval = null;
    }
    isWarningLightsOn = false;
});
 

Morux

Новый участник
28 Янв 2025
5
0
23

В этом случае включаются фары и двигатель моментально запускается. Получается все равно зависит от включенного двигателя.

Кстати почему-то такая проверка на водителя не работает:
JavaScript:
if (!vehicle || player.seat !== -1) return;

Я использую такую:
JavaScript:
if (!vehicle) return mp.gui.chat.push("Вы должны находится в транспортном средстве.");
if (vehicle.getPedInSeat(-1) != player.handle) return mp.gui.chat.push("Вы должны находится за рулем.");
 

NULMEKS

Высший разум
VIP
22 Сен 2023
903
553
143
28
Это я ошибся, ну фак в том что я тебе фундамент дал как минимум по втором скрипту а там уже посмотри нативки на папоротники бо мне не как теснить, немного занят...
Попробуй по тестировать на том что сработало на той версией скрипта. Так же я не ознакомлен с твоим модом может где то что то еще мешает какой то конфликт.
 

Similar threads