• Из-за обновления 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) последний раз были обновлены:

Проблема Проблема при прорисовке текстур веревок

Vermilion

Высший разум
High developer
BackEnd developer
FrontEnd developer
29 Сен 2021
1,299
765
181
34
Приветствую, после обновления RAGE возникла проблема с прорисовкой текстур веревок, кто то сталкивался?
Код, который до обновления был рабочий:
JavaScript:
public attachRopeEntityToEntity(player: PlayerMp, vehicle: VehicleMp) {
        // Загружаем текстуры веревок
        mp.game.invoke('0x9B9039DBF2D258C1')
       
        // Создаем веревку
        const rope = mp.game.invoke(
            '0xE832D760399EB220',
            player.position.x,
            player.position.y,
            player.position.z,
            0,
            0,
            0,
            15,
            4,
            5,
            0.1,
            0.5,
            false,
            false,
            true,
            1.0,
            false,
            0,
        )
       
        // Аттачим веревку между игроком и транспортом
        mp.game.rope.attachEntitiesToRope(
            rope,
            vehicle.handle,
            player.handle,
            vehicle.position.x,
            vehicle.position.y,
            vehicle.position.z,
            player.position.x,
            player.position.y,
            player.position.z,
            15,
            false,
            false,
        )
   
        // Физика веревок
        mp.game.invoke('0x710311ADF0E20730', rope)
}

Сама веревка создается и аттачится, физика работает, то есть игрок не может отойти от транспорта дальше чем длинна веревки, но текстуры не видно. В чем может быть проблема?
 

Jerry (ChatGPT)

AI-powered language model
VIP
helper
17 Окт 2023
2,257
233
5
Здравствуйте! Возможно, проблема связана с обновлением RAGE, которое повлияло на прорисовку текстур веревок. Рекомендую обратиться к разработчикам RAGE или на форуме сообщества для получения подробной информации о том, как исправить данную проблему.
 
  • Durka
Реакции: fivepkost

Dmitry_V

Гений
23 Июн 2023
2,118
346
131
27
Хз, попробуй так, мб с прямой подгрузкой словаря заработает.
Код:
public attachRopeEntityToEntity(player: PlayerMp, vehicle: VehicleMp) {
    mp.game.streaming.requestStreamedTextureDict("ROPE", true);
    
    let interval = setInterval(() => {
        if (mp.game.graphics.hasStreamedTextureDictLoaded("ROPE")) {
            clearInterval(interval);
 

Swayze

Активный участник
BackEnd developer
6 Окт 2022
78
39
55
Приветствую, после обновления RAGE возникла проблема с прорисовкой текстур веревок, кто то сталкивался?
Код, который до обновления был рабочий:
JavaScript:
public attachRopeEntityToEntity(player: PlayerMp, vehicle: VehicleMp) {
        // Загружаем текстуры веревок
        mp.game.invoke('0x9B9039DBF2D258C1')
      
        // Создаем веревку
        const rope = mp.game.invoke(
            '0xE832D760399EB220',
            player.position.x,
            player.position.y,
            player.position.z,
            0,
            0,
            0,
            15,
            4,
            5,
            0.1,
            0.5,
            false,
            false,
            true,
            1.0,
            false,
            0,
        )
      
        // Аттачим веревку между игроком и транспортом
        mp.game.rope.attachEntitiesToRope(
            rope,
            vehicle.handle,
            player.handle,
            vehicle.position.x,
            vehicle.position.y,
            vehicle.position.z,
            player.position.x,
            player.position.y,
            player.position.z,
            15,
            false,
            false,
        )
  
        // Физика веревок
        mp.game.invoke('0x710311ADF0E20730', rope)
}

Сама веревка создается и аттачится, физика работает, то есть игрок не может отойти от транспорта дальше чем длинна веревки, но текстуры не видно. В чем может быть проблема?
Таймаут в 200 милисекунд к аттачу поставь, должно работать
 

Vermilion

Высший разум
High developer
BackEnd developer
FrontEnd developer
29 Сен 2021
1,299
765
181
34

Swayze

Активный участник
BackEnd developer
6 Окт 2022
78
39
55
Я не уверен что нативка сработает так как нужно тебе, но попробуй мб загрузит текстуры.
"0x9B9039DBF2D258C1"

1722958926944.png
 

Vermilion

Высший разум
High developer
BackEnd developer
FrontEnd developer
29 Сен 2021
1,299
765
181
34
Я не уверен что нативка сработает так как нужно тебе, но попробуй мб загрузит текстуры.
"0x9B9039DBF2D258C1"

Посмотреть вложение 15459
Этот вариант тоже пробовал. Нативка возвращает true, как будто текстуры загружены, но их не видно

UPD: речь идет про эту нативку
Код:
0xF2D0E6A75CC05597
BOOL ROPE_ARE_TEXTURES_LOADED()
 

Swayze

Активный участник
BackEnd developer
6 Окт 2022
78
39
55
Идея конечно так себе у меня, но не пробовал подгрузку текстуры в рендер впихнуть для теста?
 

Vermilion

Высший разум
High developer
BackEnd developer
FrontEnd developer
29 Сен 2021
1,299
765
181
34

Robert_Easter

Участник портала
17 Июл 2024
103
13
28
Проверил, не работает
Код:
public attachRopeEntityToEntity(player: PlayerMp, vehicle: VehicleMp) {
    mp.game.invoke('0x9B9039DBF2D258C1');
    setTimeout(() => {
        mp.game.invoke('0x6CE36C35C1AC8163');
        setTimeout(() => {
            mp.game.invoke('0x9B9039DBF2D258C1');
            setTimeout(() => {
                mp.game.invoke('0x6CE36C35C1AC8163');
                setTimeout(() => {
                    mp.game.invoke('0x9B9039DBF2D258C1');
                    const rope = mp.game.invoke(
                        '0xE832D760399EB220',
                        player.position.x,
                        player.position.y,
                        player.position.z,
                        0,
                        0,
                        0,
                        15,
                        4,
                        5,
                        0.1,
                        0.5,
                        false,
                        false,
                        true,
                        1.0,
                        false,
                        0
                    );


                    mp.game.rope.attachEntitiesToRope(
                        rope,
                        vehicle.handle,
                        player.handle,
                        vehicle.position.x,
                        vehicle.position.y,
                        vehicle.position.z,
                        player.position.x,
                        player.position.y,
                        player.position.z,
                        15,
                        false,
                        false
                    );


                    mp.game.invoke('0x710311ADF0E20730', rope);
                }, 2000);
            }, 2000);
        }, 2000);
    }, 2000);
}
Я не знаю но иногда такие вещи могут выручать. Если не сработает скажи что нибудь другое найдём
 

youngBeaver

Покинул форум.
BackEnd developer
24 Янв 2023
1,173
463
171
0xE832D760399EB220 возвращает int, вероятнее всего мы можем инициализировать переменную result, как -1, после выполнения метода проверять изменяется ли переменная result. Если не изменяется, то выполняем метод сначала. Вероятнее всего с 2-3 раза отработает при цикле.