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

Вопрос 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
157
108
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
как я понял суть в том, что вместо спавна мы удаляем машины и создаем их заного, а не спавним, верно?
 

Similar threads