После смерти Player проваливается под текстуры

Voldemor

Senior Developer
После смерти Player проваливается под текстуры и спавнится на стандартном месте .

Мой код:

Код:
pickPoint = [
    {x: 308.8486633300781, y: -586.7020263671875, z: 43.28403091430664},
    {x: 312.7198181152344, y: -586.4197998046875, z: 43.28403091430664},
    {x: 316.07781982421875, y: -586.6968383789062, z: 43.28403091430664},
    {x: 319.45159912109375, y: -586.6688232421875, z: 43.28403091430664},
    {x: 323.454345703125, y: -586.2321166992188, z: 43.28403091430664},
    {x: 312.3883056640625, y: -586.98583984375, z: 43.28403091430664}
];
mp.events.add("playerDeath", (player) => {
    player.spawn(new mp.Vector3(spawnDeath));
    player.health =  20;
});


function spawnDeath(){
    return pickPoint[Math.floor( Math.random()* pickPoint.lenght)];
}

Видео проблемы (В конце стоял так как показывал код а программа захватила только игру):
 

Voldemor

Senior Developer
Попробуй сделать координату Z больше на единицу
Пробивал,
координаты которые я получил
x: 308.8486633300781, y: -579.7020263671875, z: 43.28403091430664
x: 312.7198181152344, y: -583.4197998046875, z: 43.28403091430664
x: 316.07781982421875, y: -584.6968383789062, z: 43.28403091430664
x: 319.45159912109375, y: -585.6688232421875, z: 43.28403091430664
x: 323.454345703125, y: -585.2321166992188, z: 43.28403091430664
x: 312.3883056640625, y: -579.98583984375, z: 43.28403091430664
Вот такие я уже в код вставил:
{x: 308.8486633300781, y: -586.7020263671875, z: 43.28403091430664},
{x: 312.7198181152344, y: -586.4197998046875, z: 43.28403091430664},
{x: 316.07781982421875, y: -586.6968383789062, z: 43.28403091430664},
{x: 319.45159912109375, y: -586.6688232421875, z: 43.28403091430664},
{x: 323.454345703125, y: -586.2321166992188, z: 43.28403091430664},
{x: 312.3883056640625, y: -586.98583984375, z: 43.28403091430664}
 

Voldemor

Senior Developer
Пробивал,
координаты которые я получил
x: 308.8486633300781, y: -579.7020263671875, z: 43.28403091430664
x: 312.7198181152344, y: -583.4197998046875, z: 43.28403091430664
x: 316.07781982421875, y: -584.6968383789062, z: 43.28403091430664
x: 319.45159912109375, y: -585.6688232421875, z: 43.28403091430664
x: 323.454345703125, y: -585.2321166992188, z: 43.28403091430664
x: 312.3883056640625, y: -579.98583984375, z: 43.28403091430664
Вот такие я уже в код вставил:
{x: 308.8486633300781, y: -586.7020263671875, z: 43.28403091430664},
{x: 312.7198181152344, y: -586.4197998046875, z: 43.28403091430664},
{x: 316.07781982421875, y: -586.6968383789062, z: 43.28403091430664},
{x: 319.45159912109375, y: -586.6688232421875, z: 43.28403091430664},
{x: 323.454345703125, y: -586.2321166992188, z: 43.28403091430664},
{x: 312.3883056640625, y: -586.98583984375, z: 43.28403091430664}
А блин, я Y менял, щас попробую
 

Voldemor

Senior Developer
1608200374416.png

Вот событие сработало, но только без функции
Код:
Код:
/*pickPoint = [
   {x: 308.8486633300781,y: -579.7020263671875,z:41.28403091430664},
   {x: 312.7198181152344,y: -583.4197998046875,z: 41.28403091430664}
];*/

mp.events.add("playerDeath", (player) => {
    player.spawn(new mp.Vector3(312.3883056640625,-579.98583984375,43.28403091430664));
    player.health =  20;
});


/*function spawnDeath(){
  
    return pickPoint[Math.floor( Math.random()* pickPoint.lenght)];
}*/
может кто то знает как это исправить?
 

geneff

Junior Developer
Ну так оно плеер проваливается под карту и спавнится на стандартном месте
Ты только что проверил?
JavaScript:
player.spawn(new mp.Vector3(spawnDeath)); // spawnDeath - ссылка на метод
player.spawn(new mp.Vector3(spawnDeath())); // spawnDeath() - вызов метода, который возвращает обьект с координатами
 

Voldemor

Senior Developer
Нет, я сделал по простому. Сразу после смерти попадаю в больницу на одни координаты указаные в mp.Vector3, и так оно работает
 

Lev Angel

Developer
Команда форума
Так spawnDeath у тебя уже возвращает объект Vector3. По идее тебе не нужно создавать Vector3 и в него передавать spawnDeath().
JavaScript:
player.spawn( spawnDeath() );
 

Voldemor

Senior Developer
Так spawnDeath у тебя уже возвращает объект Vector3. По идее тебе не нужно создавать Vector3 и в него передавать spawnDeath().
JavaScript:
player.spawn( spawnDeath() );
Ну как то вот так.
 

Lev Angel

Developer
Команда форума
Хм, странно вроде код простой :) Получается у тебя spawnDeath() возвращает какую-то дичь и тебя спавнит в 0,0,0
В таком случае нужно посмотреть что реально возвращает функция:
JavaScript:
 console.log( spawnDeath() );
Что выводит в консоль?

Может быть еще проблема с областью видимости переменной pickPoint. Попробуй добавить при определении const
JavaScript:
const pickPoint = [
   {x: 308.8486633300781,y: -579.7020263671875,z:41.28403091430664},
   {x: 312.7198181152344,y: -583.4197998046875,z: 41.28403091430664}
];
 

Voldemor

Senior Developer
Хм, странно вроде код простой :) Получается у тебя spawnDeath() возвращает какую-то дичь и тебя спавнит в 0,0,0
В таком случае нужно посмотреть что реально возвращает функция:
JavaScript:
 console.log( spawnDeath() );
Что выводит в консоль?

Может быть еще проблема с областью видимости переменной pickPoint. Попробуй добавить при определении const
JavaScript:
const pickPoint = [
   {x: 308.8486633300781,y: -579.7020263671875,z:41.28403091430664},
   {x: 312.7198181152344,y: -583.4197998046875,z: 41.28403091430664}
];
Вот что говорит консоль: undefined
 

geneff

Junior Developer
Лол, кажется я понял в чем у тебя ошибка)
JavaScript:
У тебя: pickPoint.lenght
А должно быть: pickPoint.length

function spawnDeath(){
    return pickPoint[Math.floor( Math.random() * pickPoint.length)];
}
 

Voldemor

Senior Developer
Лол, кажется я понял в чем у тебя ошибка)
JavaScript:
У тебя: pickPoint.lenght
А должно быть: pickPoint.length

function spawnDeath(){
    return pickPoint[Math.floor( Math.random() * pickPoint.length)];
}
Чуваааааакккк)))) Ебать (простите за мат) спасибо что ты такой внимательный, заработало
 
Яндекс.Метрика
Верх