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

Вопрос Получение объекта из dlc

Vermilion

Высший разум
High developer
BackEnd developer
FrontEnd developer
29 Сен 2021
1,465
872
181
34
Приветствую. Пытаюсь получить объект из dlc для дальнейшего взаимодействия с ним.
В dlc.rpf он находится по пути x64/von_trip_hotel.rpf/gn_vonpack_lift.ydr

Пробую поиск по хэшу но результатов нет. Возможно есть другие варинты?

Код:
const checkObject = () => {
    const object = mp.game.object.getClosestObjectOfType(mp.players.local.position.x, mp.players.local.position.y, mp.players.local.position.z, 3.0, mp.game.joaat('gn_vonpack_lift'), true, true, true);
        if(object != 0) {
            mp.console.logInfo('found')
        }  
    }
mp.events.add("render", checkObject);
 
Последнее редактирование:

Jerry (ChatGPT)

AI-powered language model
VIP
helper
17 Окт 2023
2,490
239
100
Привет! Возможно, объект из DLC не может быть найден из-за неправильного пути внутри DLC.rpf. Попробуй указать полный путь к объекту в функции getClosestObjectOfType, включая путь внутри dlc.rpf. Например, попробуй так:

JavaScript:
const checkObject = () => {
    const object = mp.game.object.getClosestObjectOfType(mp.players.local.position.x, mp.players.local.position.y, mp.players.local.position.z, 3.0, mp.game.joaat('x64/von_trip_hotel.rpf/gn_vonpack_lift.ydr'), true, true, true);
        if(object != 0) {
            mp.console.logInfo('found')
        }   
    }
mp.events.add("render", checkObject);

Попробуй так и посмотри результат.
 

Inoi

/dev/null
Команда форума
Moderator
VIP
15 Окт 2020
4,242
2,088
208
35
ты точно правильно понимаешь нативку?
она не "получает объект из длс", она ищет его рядом с тобой, в твоём случае в ренже 3
то есть ну, он должен быть заспавнен рядом с тобой прям, чтобы ты получил "found"
просто иначе не оч понятна зачем ты пишешь про путь

бтв зачем в измиссион - тру?
 

Vermilion

Высший разум
High developer
BackEnd developer
FrontEnd developer
29 Сен 2021
1,465
872
181
34
Да, но как мне узнать хэш объекта из dlc?
название.ydt это и есть хэш?
 

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
3,012
1,742
211
28
Да, но как мне узнать хэш объекта из dlc?
название.ydt это и есть хэш?
Хэш это название сконвертированное в цифры, даже OpenIV предоставляет возможность такой конвертации.
Либо используешь mp.game.joaat('name'), где name - название без .ytd, эта функция получает такой же хэш конвертируя название (текст).
 

Vermilion

Высший разум
High developer
BackEnd developer
FrontEnd developer
29 Сен 2021
1,465
872
181
34
Почему то объект не найден
 

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
3,012
1,742
211
28

Vermilion

Высший разум
High developer
BackEnd developer
FrontEnd developer
29 Сен 2021
1,465
872
181
34
Да, я использую его находясь вблизи от объекта который хочу найти. Но консоль пустая
 

kirillzver

Гуру
BackEnd developer
2 Ноя 2020
190
118
104
Попробуй для начала просто создать объект с этим названием при помощи mp.objects.new.
Если он не появится, то копай в сторону того, что ты используешь неправильное название.
 

Vermilion

Высший разум
High developer
BackEnd developer
FrontEnd developer
29 Сен 2021
1,465
872
181
34
Да, это я уже проверял. Если я сам создаю этот объект, то я могу с ним взаимодействовать. Мне интересно, почему не видно объекты из dlc через
mp.objects.forEachInRange
 

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
3,012
1,742
211
28
Полагаю потому, что там объекты, которые создаются системой - mp.objects.new, иначе ты бы вокруг себя обрабатывал 1239120312309 объектов, т.к. мир гта наполнен бесконечным количеством отдельных объектов, такие как пустые банки из под напитков на дороге, листочки и т.д.
 
Реакции: kirillzver

Inoi

/dev/null
Команда форума
Moderator
VIP
15 Окт 2020
4,242
2,088
208
35
да должен почти всё обрабатывать на самом деле


мне кажется ты с хэшем проёбываешься, и то что ты хочешь чтобы тебе пингануло - это другой объект
захуярь в рендер, и посмотри на свой gn_vonpack_lift

JavaScript:
const objectsInRange = mp.game.object.getAllInRange(mp.players.local.position,5, true);
    if(objectsInRange && objectsInRange.length > 0) {
            objectsInRange.forEach((object) => {
                const color = [255, 255, 255, 255];
                mp.game.graphics.drawText(${object[0]}, [object[1].x, object[1].y, object[1].z],{color, font: 4, scale: [0.35, 0.35], outline: true});
            });
   }
 

Vermilion

Высший разум
High developer
BackEnd developer
FrontEnd developer
29 Сен 2021
1,465
872
181
34
В рендере его не видно. Смотри в чём прикол. Когда я создаю точно такое же объект после инициализации сервера, в рендере я его вижу.
 

Inoi

/dev/null
Команда форума
Moderator
VIP
15 Окт 2020
4,242
2,088
208
35
сысли даже этим скриптом не подсвечивает?
он мне подсвечивает даже объекты в интерьерах вплоть до клумб с цветочками и знаков

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

удали из интерьера, создай на клиенте и потом работай с ним, получается
 

Vermilion

Высший разум
High developer
BackEnd developer
FrontEnd developer
29 Сен 2021
1,465
872
181
34
Да, была такая мысль. Но синхронизировать это всё дело нужно. Была мысль создать на стороне сервера, но и здесь проблема. При инициализации сервера он не видит dlc и создаёт мусорный мешок. Можно конечно попробовать создавать этот объект через какое то время, когда сервер прогружен, но это какой то костыль получается.
 

Inoi

/dev/null
Команда форума
Moderator
VIP
15 Окт 2020
4,242
2,088
208
35
а что именно тебе нужно синхронизировать, ты планируешь его потом убирать как-то клиентом?
типа объект, который можно будет переместить?
 

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
3,012
1,742
211
28
да должен почти всё обрабатывать на самом деле
Ты представляешь какое количество объектов скрипт перебирал бы каждый кадр, если бы они там были?
Можно было бы тогда mp.objects.forEach прогнать и посмотреть, но их там просто нет, т.к. они туда не помещаются, насколько я знаю. Но могу ошибаться, пробуйте.
 

Inoi

/dev/null
Команда форума
Moderator
VIP
15 Окт 2020
4,242
2,088
208
35
да офк справедливо, я понимаю что не все
но не оч понятно по какому принципу тогда - пушо ну вот строчки которые я скидывал выше - перебирают буквально клумбы с цветочками на улице даже
но не прям совсем всё, конечно, да, базара ноль
 

Vermilion

Высший разум
High developer
BackEnd developer
FrontEnd developer
29 Сен 2021
1,465
872
181
34
Да, делаю лифт который будет перемещаться между этажами. На клиенте его убирать нет смысла
 

Dmitry_V

Гений
23 Июн 2023
2,626
444
131
28
Вот что говорит ИИ.