• Из-за обновления GTA 5 (был добавлен новый патч) может временно не работать вход в RAGE Multiplayer.

    Ошибка: Ваша версия Grand Theft Auto V не поддерживается RAGE Multiplayer.
    ERROR: Your game version is not supported by RAGE Multiplayer.

    Данная ошибка говорит о том, что GTA V обновилась до новой версии (GTA Online тоже). Вам необходимо обновить саму игру в главном меню вашего приложения (Steam / Epic Games / Rockstar Games).
    Если после этого RAGE:MP все равно не работает - вам нужно дождаться выхода патча для самого мультиплеера (обычно это занимает от нескольких часов до нескольких дней).

    Новости и апдейты Rockstar Games - https://www.rockstargames.com/newswire/
    Статус всех служб для Rockstar Games Launcher и поддерживаемых игр: https://support.rockstargames.com/ru/servicestatus


    Grand Theft Auto 5 (+ GTA Online) последний раз были обновлены:

Проблема Синхронизация hp игрока

Vermilion

Мастер
29 Сен 2021
972
748
151
34
Ты полный код покажи свой, а то не понятно что ты там добавляешь кусками
 

Robert_Easter

Активный участник
17 Июл 2024
103
13
28
Ты полный код покажи свой, а то не понятно что ты там добавляешь кусками
Брат копировал вот этот твой код ставил в место моего одна и та же проблема, приезжаешь к игроку в машине/ или резко тпхаешся к нему, понадобится некоторое время что бы правильно хп и армор показать(а то всё фулл показывает).
Код:
const localPlayer = mp.players.local

mp.events.add('render', () => {
    // Проходим по всем игрокам в радиусе 50 метров
    mp.players.forEachInRange(localPlayer.position, 50, (player) => {
        if (player.handle !== localPlayer.handle) {
            const health = player.getHealth()
            const armour = player.getArmour()

            // Получаем позицию игрока
            const { x, y, z } = player.position

            // Смещаем текст немного выше головы игрока
            const textPositionZ = z + 1.2

            // Форматируем текст для отображения HP и брони
            const displayText = `HP: ${health} | Armour: ${armour}`

            // Рендерим текст над игроком
            mp.game.graphics.drawText(displayText, [x, y, textPositionZ], {
                font: 4, // шрифт
                color: [255, 255, 255, 185], // цвет белый с прозрачностью
                scale: [0.4, 0.4], // размер текста
                outline: true, // добавляем обводку, чтобы текст был лучше виден
            })
        }
    })
})
 

Vermilion

Мастер
29 Сен 2021
972
748
151
34
JavaScript:
const localPlayer = mp.players.local;
const drawDistance = 50; // Все игроки в радиусе
const drawPosition = 1.2; // Высота текста над головой

mp.events.add("render", () => {
      mp.players.forEachInRange(
        localPlayer.position,
        drawDistance,
        (target) => {
          if (target !== localPlayer || target.vehicle) return;
          const health = target.getHealth();
          const armour = target.getArmour();

          const { x, y, z } = target.position;
          const textPositionZ = z + drawPosition;
          const displayText = `HP: ${health} | Armour: ${armour}`;

          mp.game.graphics.drawText(displayText, [x, y, textPositionZ], {
            centre: true,
            font: 4,
            color: [255, 255, 255, 185],
            scale: [0.4, 0.4],
            outline: true,
          });
        }
      );
});

@enotit правки учтены :)
 
  • RoflanEbalo
Реакции: THEMOD

Robert_Easter

Активный участник
17 Июл 2024
103
13
28
JavaScript:
const localPlayer = mp.players.local;
const drawDistance = 50; // Все игроки в радиусе
const drawPosition = 1.2; // Высота текста над головой

mp.events.add("render", () => {
      mp.players.forEachInRange(
        localPlayer.position,
        drawDistance,
        (target) => {
          if (target !== localPlayer || target.vehicle) return;
          const health = target.getHealth();
          const armour = target.getArmour();

          const { x, y, z } = target.position;
          const textPositionZ = z + drawPosition;
          const displayText = `HP: ${health} | Armour: ${armour}`;

          mp.game.graphics.drawText(displayText, [x, y, textPositionZ], {
            centre: true,
            font: 4,
            color: [255, 255, 255, 185],
            scale: [0.4, 0.4],
            outline: true,
          });
        }
      );
});

@enotit правки учтены :)
Молниносно тестил. Заходил через 1ый акк зашёл в машину возле спавна хп 52 должно было быть
Зашёл через второй акк подошёл и показывает фулл хп фулл арм; вытащил из тачки показывает правильно 52.

Итог : проблема не решена xDD
 
Последнее редактирование:
  • Like
Реакции: enotit

enotit

Гуру
13 Ноя 2020
1,091
493
147
21
JavaScript:
const localPlayer = mp.players.local;
const drawDistance = 50; // Все игроки в радиусе
const drawPosition = 1.2; // Высота текста над головой

mp.events.add("render", () => {
      mp.players.forEachInRange(
        localPlayer.position,
        drawDistance,
        (target) => {
          if (target !== localPlayer || target.vehicle) return;
          const health = target.getHealth();
          const armour = target.getArmour();

          const { x, y, z } = target.position;
          const textPositionZ = z + drawPosition;
          const displayText = `HP: ${health} | Armour: ${armour}`;

          mp.game.graphics.drawText(displayText, [x, y, textPositionZ], {
            centre: true,
            font: 4,
            color: [255, 255, 255, 185],
            scale: [0.4, 0.4],
            outline: true,
          });
        }
      );
});

@enotit правки учтены :)
Можно ил тогда считать, что это славянско-народный код?
 

Vermilion

Мастер
29 Сен 2021
972
748
151
34
Молниносно тестил. Заходил через 1ый акк зашёл в машину возле спавна хп 52 должно было быть
Зашёл через второй акк подошёл и показывает фулл хп фулл арм; вытащил из тачки показывает правильно 52.

Итог : проблема не решена xDD
Если в машине то показывать не должно вообще. Ты что то не правильно делаешь
 

Robert_Easter

Активный участник
17 Июл 2024
103
13
28
Если в машине то показывать не должно вообще. Ты что то не правильно делаешь
Копировал ставил добавил только mp.nametags.enabled = false; и всё.
Этот код показывает хп не у других игроков а у тебя над головой которое не видно других.

Я тестил и это проблема с синхрой есть у оригинального рейджа с mp.nametags.enabled = true;
Это значит что его не исправить ?
 

Vermilion

Мастер
29 Сен 2021
972
748
151
34
Копировал ставил добавил только mp.nametags.enabled = false; и всё.
Этот код показывает хп не у других игроков а у тебя над головой которое не видно других.

Я тестил и это проблема с синхрой есть у оригинального рейджа с mp.nametags.enabled = true;
Это значит что его не исправить ?
JavaScript:
const localPlayer = mp.players.local;
const drawDistance = 50; // Все игроки в радиусе
const drawPosition = 1.2; // Высота текста над головой

mp.events.add("render", () => {
    mp.players.forEachInRange(
        localPlayer.position,
        drawDistance,
        (target) => {
            if (target === localPlayer || target.vehicle) return;

            const health = target.getHealth();
            const armour = target.getArmour();

            const { x, y, z } = target.position;
            const textPositionZ = z + drawPosition;

            const distance = mp.game.system.vdist(localPlayer.position.x, localPlayer.position.y, localPlayer.position.z, x, y, z);
            if (distance > drawDistance) return;

            const screenCoords = mp.game.graphics.world3dToScreen2d(x, y, textPositionZ);
            if (screenCoords) {
                const [screenX, screenY] = screenCoords;
                const displayText = `HP: ${health} | Armour: ${armour}`;

                mp.game.graphics.drawText(displayText, [screenX, screenY], {
                    centre: true,
                    font: 4,
                    color: [255, 255, 255, 185],
                    scale: [0.4, 0.4],
                    outline: true,
                });
            }
        }
    );
});
 
  • Like
Реакции: Robert_Easter

Robert_Easter

Активный участник
17 Июл 2024
103
13
28
JavaScript:
const localPlayer = mp.players.local;
const drawDistance = 50; // Все игроки в радиусе
const drawPosition = 1.2; // Высота текста над головой

mp.events.add("render", () => {
    mp.players.forEachInRange(
        localPlayer.position,
        drawDistance,
        (target) => {
            if (target === localPlayer || target.vehicle) return;

            const health = target.getHealth();
            const armour = target.getArmour();

            const { x, y, z } = target.position;
            const textPositionZ = z + drawPosition;

            const distance = mp.game.system.vdist(localPlayer.position.x, localPlayer.position.y, localPlayer.position.z, x, y, z);
            if (distance > drawDistance) return;

            const screenCoords = mp.game.graphics.world3dToScreen2d(x, y, textPositionZ);
            if (screenCoords) {
                const [screenX, screenY] = screenCoords;
                const displayText = `HP: ${health} | Armour: ${armour}`;

                mp.game.graphics.drawText(displayText, [screenX, screenY], {
                    centre: true,
                    font: 4,
                    color: [255, 255, 255, 185],
                    scale: [0.4, 0.4],
                    outline: true,
                });
            }
        }
    );
});
Спасибо за твои ответы. К сожалению так и не исправил проблему. Но всё нормально это не критично
 

enotit

Гуру
13 Ноя 2020
1,091
493
147
21
JavaScript:
const localPlayer = mp.players.local;
const drawDistance = 50; // Все игроки в радиусе
const drawPosition = 1.2; // Высота текста над головой

mp.events.add("render", () => {
    mp.players.forEachInRange(
        localPlayer.position,
        drawDistance,
        (target) => {
            if (target === localPlayer || target.vehicle) return;

            const health = target.getHealth();
            const armour = target.getArmour();

            const { x, y, z } = target.position;
            const textPositionZ = z + drawPosition;

            const distance = mp.game.system.vdist(localPlayer.position.x, localPlayer.position.y, localPlayer.position.z, x, y, z);
            if (distance > drawDistance) return;

            const screenCoords = mp.game.graphics.world3dToScreen2d(x, y, textPositionZ);
            if (screenCoords) {
                const [screenX, screenY] = screenCoords;
                const displayText = `HP: ${health} | Armour: ${armour}`;

                mp.game.graphics.drawText(displayText, [screenX, screenY], {
                    centre: true,
                    font: 4,
                    color: [255, 255, 255, 185],
                    scale: [0.4, 0.4],
                    outline: true,
                });
            }
        }
    );
});
попробуй подебажить, почему в машине / не машине не меняется отобраение