• Просьба не публиковать сообщения с предложениями продажи модов или сборок!

    Мы против использования и перепродажи слитых модов и переделок на их основе. Остальное также сложно верифицировать, поэтому в целом пока что запрещаем эту тему на сайте.

Уникальный идентификатор автомобилей

Сообщения
11
Уже пару дней пытаюсь разобраться в этой теме и имею следующие понимание.
У всех автомобилей при создании есть свой уникальный ид, который содержится в vehicle.id. Но на вики нашел лишь пару косвенных упоминаний этого. Есть ли более подробная информация, к примеру, как мне при помощи vehicle.id получить ид определенной машины?
 
Ты про id который генерируешь в базе или при создание транспорта в целом ?
 
Не только у машин, у любой сущности есть id (https://wiki.rage.mp/index.php?title=Entity::id).


Не совсем понял что именно хочешь получить
Поменяю пример. К примеру хочу починить авто по его идентификатору, следственно мы берем аргумент который ввел игрок. Условно ввел ид 24, но я не могу понять как преобразовать это в ссылку на сущность, чтобы далее условно пополнить ХП автомобиля или уничтожить.
 
Вопрос решил при помощи вики. Если кому-то будет интересно.
Получаем от игрока в команду аргумент в виде id автомобиля
JavaScript:
mp.events.addCommand('fixcar', async (player, _, id) => {
Далее через .at (https://wiki.rage.mp/index.php?title=Pool::at) получаем объект в переменную
JavaScript:
const vehID = mp.vehicles.at(id)
После по этой переменной выполняем функцию починки .repair()
JavaScript:
vehID.repair();

Полный код починки авто (за качество написанного кода не отвечаю, только что методом тыка пытался найти решения.)
JavaScript:
mp.events.addCommand('fixcar', async (player, _, id) => {
    try{
        if(id == undefined || id == null) return console.log('Синтакс команды: /fixcar [ID veh]') //проверяем ввода идентификатора
        const vehID = mp.vehicles.at(id)
        if(vehID == null || undefined) return console.log('11') // проверяем существует ли такой объект на сервере
        vehID.repair();
    } catch (e) {
        console.log(e);
    }
});
 
Стоить уточнить, что mp.vehicles.at(id) скорее всего возвращает хэндлер самой машины, а не ее id, в честь чего названа переменная
 
Стоить уточнить, что mp.vehicles.at(id) скорее всего возвращает хэндлер самой машины, а не ее id, в честь чего названа переменная
скорее так и есть. Главное, что теперь начинающий сможет найти путь взаимодействия с машиной по ее идентификатору
 
Оборачивать все в try catch не обязательно кстати. Можно в любом месте на сервере добавить один обработчик и он будет ловить все такие исключения, а сервер не будет падать;)
JavaScript:
process.on('uncaughtException', (err) => {
    console.log('Caught exception: ' + err);
});
 
Оборачивать все в try catch не обязательно кстати. Можно в любом месте на сервере добавить один обработчик и он будет ловить все такие исключения, а сервер не будет падать;)
JavaScript:
process.on('uncaughtException', (err) => {
    console.log('Caught exception: ' + err);
});
спасибо за подсказку.
 
Назад
Верх