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

Вопрос Vehicle Spawn (heading)

Кликни, чтобы узнать больше!

TTox421

Участник портала
23 Май 2021
65
19
65
Подскажите почему когда спавнишь машину ее разворот определяется не правильно.

Например если воспользоваться примером на rage

Код:
mp.events.addCommand("spawnVehicle", (player, vehId) => {
  const vehicle = mp.vehicles.at(vehId);
  if (vehicle) {
    vehicle.spawn(player.position, player.heading);
  }
});

То машина спавнится вот так




А вот например мой код

Код:
mp.events.addCommand('spawnveh', (player) => {
    sheriffVehicle[0].spawn(new mp.Vector3(-461.884521484375, 6009.5087890625, 30.962833404541016), 86.9545669555664);
})

let sheriffVehicle = [];

sheriffVehicle[0] = mp.vehicles.new(mp.joaat("sheriff2"), new mp.Vector3(-461.884521484375, 6009.5087890625, 30.962833404541016), {
    numberPlate: "sheriff",
    heading: 86.9545669555664,
    locked: false,
    engine: true,
    dimension: 0,
    alpha: 259
})

И при таком раскладе машина спавнится вот так
до команды - https://ibb.co/k1Fnvfw
после команды - https://ibb.co/BsjMtY3



Так же поэкспериментировал и попробовал затестить и выдать им числа близкие к 0, потому что на 0 они спавнятся одинакого.

Код:
mp.events.addCommand('spawnveh', (player) => {
    sheriffVehicle[0].spawn(new mp.Vector3(-461.884521484375, 6009.5087890625, 30.962833404541016), 1);
})

let sheriffVehicle = [];

sheriffVehicle[0] = mp.vehicles.new(mp.joaat("sheriff2"), new mp.Vector3(-461.884521484375, 6009.5087890625, 30.962833404541016), {
    numberPlate: "sheriff",
    heading: 1,
    locked: false,
    engine: true,
    dimension: 0,
    alpha: 259
})

до команды - https://ibb.co/tQJptNY
после команды - https://ibb.co/8NW44c3
 
Последнее редактирование:

TTox421

Участник портала
23 Май 2021
65
19
65
Попробовал вариант первый который в Rage документации.

Поворачивался прописывал команду и заметил что иногда совпадает. Начал выводить при каких результатах совпадает.

-0.005313886795192957
13.04665756225586
6.262845993041992

При 1.6276203393936157 уже все, причем дернешься чучуть и все машина косит. При 3.7704827785491943 тоже не в ту сторону поворачивает. При 13.934746742248535 не правильно, за то на 5.98209810256958 повернулся как надо, но 4 уже все...
Кароче я пытался поймать логику, но не понимаю нихуя...
 

koltr

Гуру
BackEnd developer
14 Сен 2020
158
110
121
Написал в слепую, вроде должно работать

JavaScript:
class Fraction {
    constructor(name) {
        this.name = name;
        this.vehicles = [];
    }
}

class FractionVehicle {

  constructor(model, position, heading, fraction) {
    this.model = model;
    this.pos = position;
    this.rot = heading;
    this.frac = fraction:   
    this.spawn();
    this.frac.vehicles.push(this.entity);
  },

  spawn: function() {
    this.entity = mp.vehicles.new(mp.joaat(this.model), this.position, {
        numberPlate: "sheriff",
        heading: this.heading,
        locked: false,
        engine: true,
        dimension: 0,
        alpha: 259
    })
  }

  respawn() {
    this.entity.destroy();
    this.spawn();
  }
}

var sheriff = new Fraction("Шерифы");
new FractionVehicle("sheriff2", new mp.Vector3(-461.884, 6009.5, 30.96), 86.95, sheriff );

mp.events.addCommand('spawnveh', (player) => {
    sheriff.vehicles[0].respawn();
})
 

TTox421

Участник портала
23 Май 2021
65
19
65
Написал в слепую, вроде должно работать

JavaScript:
class Fraction {
    constructor(name) {
        this.name = name;
        this.vehicles = [];
    }
}

class FractionVehicle {

  constructor(model, position, heading, fraction) {
    this.model = model;
    this.pos = position;
    this.rot = heading;
    this.frac = fraction:  
    this.spawn();
    this.frac.vehicles.push(this.entity);
  },

  spawn: function() {
    this.entity = mp.vehicles.new(mp.joaat(this.model), this.position, {
        numberPlate: "sheriff",
        heading: this.heading,
        locked: false,
        engine: true,
        dimension: 0,
        alpha: 259
    })
  }

  respawn() {
    this.entity.destroy();
    this.spawn();
  }
}

var sheriff = new Fraction("Шерифы");
new FractionVehicle("sheriff2", new mp.Vector3(-461.884, 6009.5, 30.96), 86.95, sheriff );

mp.events.addCommand('spawnveh', (player) => {
    sheriff.vehicles[0].respawn();
})
как я понял суть в том, что вместо спавна мы удаляем машины и создаем их заного, а не спавним, верно?