а что именно тебе непонятно?Вообщем, есть 5 координат для спавна транспорта, я хочу спавнить по этим координатам транспорт в зависимости заспавнен ли уже транспорт на этой позиции если да то спавним на другой позиции. Я просто не понимаю как это можно сделать проще.
так если транспорт уже есть на позиции то получается новый объект будет спавнится на нем жеа что именно тебе непонятно?
ты же буквально описал как это сделать
зачем только проверять заспавнен ли уже транспорт на какой-то позиции не очень понятно
ты просто создаёшь список координат и циклом спавнишь машину по каждому элементу списка
я понял, сорян я тупанул немного ибо усложнил сам для себя функционала что именно тебе непонятно?
ты же буквально описал как это сделать
зачем только проверять заспавнен ли уже транспорт на какой-то позиции не очень понятно
ты просто создаёшь список координат и циклом спавнишь машину по каждому элементу списка
а с чего он должен там быть, если ты один раз проходишься по циклу?так если транспорт уже есть на позиции то получается новый объект будет спавнится на нем же
я не уточнил ибо транспорт спавнится при нажатии на кнопку игрокома с чего он должен там быть, если ты один раз проходишься по циклу?
2 массива, один имеет уже загруженные авто, второй информацию о них (или берешь из бд/json). При нажатии кнопки перебираешь созданные и сравниваешь их позицию с позицией по дефолту. Если совпадает, то return и следующей строкой перемещаешь машину на дефолтную позицию.я не уточнил ибо транспорт спавнится при нажатии на кнопку игроком
ну вариантов много в целомя не уточнил ибо транспорт спавнится при нажатии на кнопку игроком
var position; // твои координаты в этой переменной
// Если мы нашли какую-то другую машину на нужных координатах (и 6 "метров" рядом) - пропускаем..
let vehicle = methods.getNearestVehicleWithCoords(position, 6);
if(vehicle && mp.vehicles.exists(vehicle))
return;
methods.getNearestVehicleWithCoords = function(pos, r, dimension = 0) {
let nearest = undefined, dist;
let min = r;
methods.getListOfVehicleInRadius(pos, r).forEach(vehicle => {
dist = methods.distanceToPos(pos, vehicle.position);
if (dist < min) {
if (dimension == vehicle.dimension) {
nearest = vehicle;
min = dist;
}
}
});
return nearest;
};
methods.getListOfVehicleInRadius = function(pos, r) {
let returnVehicles = [];
mp.vehicles.forEachInRange(pos, r,
(vehicle) => {
if (!vehicles.exists(vehicle))
return;
returnVehicles.push(vehicle);
}
);
return returnVehicles;
};
methods.distanceToPos = function (v1, v2) {
return Math.abs(Math.sqrt(Math.pow((v2.x - v1.x),2) +
Math.pow((v2.y - v1.y),2)+
Math.pow((v2.z - v1.z),2)));
};