������ 14/16/20/40/44: vehicle, ����, ����������, damage floaters, ��������� #20
@ -5480,7 +5480,17 @@ export class BabylonScene {
|
|||||||
});
|
});
|
||||||
if (this._onPlayerHpChange) this.player.setOnHpChange(this._onPlayerHpChange);
|
if (this._onPlayerHpChange) this.player.setOnHpChange(this._onPlayerHpChange);
|
||||||
if (this._onPlayerDeath) this.player.setOnDeath(this._onPlayerDeath);
|
if (this._onPlayerDeath) this.player.setOnDeath(this._onPlayerDeath);
|
||||||
this.player.start(this._spawnPoint);
|
// Точка спавна удалена → игрок появляется в (0, безопасная высота, 0).
|
||||||
|
let startPoint = this._spawnPoint;
|
||||||
|
if (this._spawnEnabled === false) {
|
||||||
|
let sy = 3;
|
||||||
|
try {
|
||||||
|
const surf = this.physics?._sampleRobloxSurface?.(0, 0);
|
||||||
|
if (surf !== null && surf !== undefined) sy = surf + 2;
|
||||||
|
} catch (e) { /* ignore */ }
|
||||||
|
startPoint = { x: 0, y: sy, z: 0 };
|
||||||
|
}
|
||||||
|
this.player.start(startPoint);
|
||||||
|
|
||||||
// Запускаем пользовательские скрипты (этап 2.1).
|
// Запускаем пользовательские скрипты (этап 2.1).
|
||||||
// Async PlayerController.start даёт нам тик чтобы дать ему собрать сцену,
|
// Async PlayerController.start даёт нам тик чтобы дать ему собрать сцену,
|
||||||
@ -7460,8 +7470,10 @@ export class BabylonScene {
|
|||||||
// Точка спавна
|
// Точка спавна
|
||||||
if (state.scene.spawnPoint) {
|
if (state.scene.spawnPoint) {
|
||||||
this._spawnPoint = { ...state.scene.spawnPoint };
|
this._spawnPoint = { ...state.scene.spawnPoint };
|
||||||
this._updateSpawnMarker();
|
this._updateSpawnMarker?.();
|
||||||
}
|
}
|
||||||
|
// Удалена ли точка спавна (плеер: спавн в 0,0 при отсутствии).
|
||||||
|
this._spawnEnabled = state.scene.spawnEnabled !== false;
|
||||||
// === Авто-fix спавна для smooth terrain ===
|
// === Авто-fix спавна для smooth terrain ===
|
||||||
// Если есть RobloxTerrain и spawnPoint оказался НИЖЕ поверхности —
|
// Если есть RobloxTerrain и spawnPoint оказался НИЖЕ поверхности —
|
||||||
// поднимаем его, чтобы игрок не провалился в момент нажатия "Запустить".
|
// поднимаем его, чтобы игрок не провалился в момент нажатия "Запустить".
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user