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

Вопрос [JS] Не срабатывает код

0def1x

Участник портала
Автор темы
13 Июн 2023
15
0
13
У меня в index.html, который отвечает за спидометр есть код на джаваскрипт:

Код:
    <script>
        function test()
        {
            let browser = mp.browsers.new('package://browser/Speedmetrs/index.html');
        }
        
        function getspeed() {
            let vehicle = mp.players.local.vehicle
            let speed = vehicle.getSpeed();

            speed = speed * 3.6; // Transform the speed into KM/H
            // If you want a realistic calculation for the vehicle speed use: speed = Math.ceil(speed * (speed / 20) * 2); <- this will raise up to 300 km/h for a T20, but you can still easily cruise around with 60 km/h

            return speed; // returns the speed in KM/H
        }

        function isCar(player)
        {
            let vehicle = mp.players.local.vehicle
            while(vehicle > 0)
            {
                test();
                var element = document.getElementById("speed");
                element.innerHTML = getspeed() + " км/ч";
            }
        }

        mp.events.add("playerStartEnterVehicle", isCar);
    </script>

Код должен работать, пока игрок в автомобиле, но что то не так. Может кто подсказать, что не так?
 

Mi-Zaft

Гуру
VIP
9 Окт 2020
1,188
412
145
Код:
function test()
        {
            let browser = mp.browsers.new('package://browser/Speedmetrs/index.html');
        }


Это у тебя тоже в index.html?
 

0def1x

Участник портала
Автор темы
13 Июн 2023
15
0
13
Код:
function test()
        {
            let browser = mp.browsers.new('package://browser/Speedmetrs/index.html');
        }


Это у тебя тоже в index.html?
Да, я делал в index.js, которая в директории с index.html, но решил перенести в index.html под <script>, дабы выполнять код не в разных частях и в нужной мне последовательности
 

stage

Специалист
14 Сен 2020
229
106
96
очень, очень странный код mp.events.add("playerStartEnterVehicle", isCar); разве есть такой ивент?
 

Mi-Zaft

Гуру
VIP
9 Окт 2020
1,188
412
145
Реакции: kenz

Mi-Zaft

Гуру
VIP
9 Окт 2020
1,188
412
145
Автор, учи основы. Твой вопрос входит в топ 10 кринжовых вопросов данного форума, поздравляю с занятием топа
 

0def1x

Участник портала
Автор темы
13 Июн 2023
15
0
13
Раздел то и создан для помощи таким, как я . Если тебе в западло помочь людям - тогда вообще зачем открыть данный раздел, ради того чтобы писать, мол говнокод?
 

kirillzver

Гуру
2 Ноя 2020
156
117
104
Ты должен код писать не в html файле, и не в браузере.
У тебя есть основной файл (index.js), так называемая точка вхождения, в client_packages.
Пиши в нём свой код (в идеале подключи в нём отдельный файл, который помести рядом), который должен относиться к работе с клиентской частью.
 

Mi-Zaft

Гуру
VIP
9 Окт 2020
1,188
412
145
Представь, что ты включил на телефоне фонарик и пытаешься в темной комнате найти телефон.
Ты мозг то включи и посмотри, что ты сам то делаешь. Как у тебя вообще что-то будет работать, если ты внутри файла создаешь переменную с браузером ЭТОГО же файла?
Не надо тут плакаться про то, что раздел создан для помощи. Я прекрасно знаю, для чего он создан. И я понимаю, когда человек потратил львиную долю своего времени на изучение ХОТЯ БЫ основ, а потом уже делает и у него не получается. Тогда да, базару 0, можно и нужно помочь.
Но когда очередной балбес скачал готовую сборку, потом пытается там что-то делать, не понимая абсолютно ничего - это смех. Тут либо учиться, либо не лезть.
 

0def1x

Участник портала
Автор темы
13 Июн 2023
15
0
13
Тогда вопрос в другом, в интернете не могу найти информации по поводу получения document для выполнения DOM-запросов.
Если же перенести код в index.js в этой же директории, тогда как получить данный элемент без всяких onclick, форм ввода и тд, как это делают часто в качестве примеров показа?
 

0def1x

Участник портала
Автор темы
13 Июн 2023
15
0
13
"Но когда очередной балбес скачал готовую сборку, потом пытается там что-то делать, не понимая абсолютно ничего - это смех. Тут либо учиться, либо не лезть."
Смешно это слышать, ты где то видел готовую сборку без спидометра и тд? Я не спорю, готовая сборка у меня есть, но на данный момент я пишу код для своей сборки параллельно изучая JS.
 

stage

Специалист
14 Сен 2020
229
106
96
Иерархия примерного кода:

client_packages/index.js

Открываем index.js

Код:
require('./events/speedo');

browser = mp.browsers.new('package://browser/index.html');

В папке client_packages создаешь папку browser, в ней помещаешь index.html

Возвращаешься обратно в client_package, заходишь в events, открываешь speedo.js и в ней оставляешь нужный код
 

Mi-Zaft

Гуру
VIP
9 Окт 2020
1,188
412
145
Вообще, в идеале использовать JS фреймворк (VueJS или React, кому как удобнее). Тогда работа с CEF будет намного удобнее, но естественно, для этого надо научиться работать с этим фреймворком.
 

Mi-Zaft

Гуру
VIP
9 Окт 2020
1,188
412
145
Смешно видеть такие вопросы. А причем тут готовая сборка без спидометра?
У меня в index.html, который отвечает за спидометр есть код на джаваскрипт:
Ты написал, что у тебя есть код, который отвечает за спидометр. Вполне логично, что он взят из готовой сборки.
Вообще, сборка с 0 - это конечно хорошо и круто, но я боюсь представить себе, что ты напишешь, учитывая такие вопросы
 
Реакции: Inoi

0def1x

Участник портала
Автор темы
13 Июн 2023
15
0
13
"Ты написал, что у тебя есть код, который отвечает за спидометр."
Тоесть простое считывание скорости автомобиля уже является недостигаемым для новичика?
 

Mi-Zaft

Гуру
VIP
9 Окт 2020
1,188
412
145
Да ты определись уже, у тебя там спидометр или просто "считывание скорости"
Кстати, хочу заметить, что получить скорость сложнее, чем создать переменную с браузером.
 

stage

Специалист
14 Сен 2020
229
106
96
да не особо то и сложно))
 
Реакции: PATRIOT