diff --git a/src/editor/engine/GameRuntime.js b/src/editor/engine/GameRuntime.js index 3fd2fe2..bddaa0f 100644 --- a/src/editor/engine/GameRuntime.js +++ b/src/editor/engine/GameRuntime.js @@ -957,11 +957,12 @@ export class GameRuntime { } const state = this._collectState(); // Реальная позиция игрока для Lua __rbxl_player_pos() + // PlayerController хранит позицию в player._pos (Vector3). const player = this.scene3d?.player; let realPos = null; - if (player?.body?.position) { - const p = player.body.position; - realPos = { x: p.x, y: p.y, z: p.z }; + if (player?._pos) { + const halfH = player.HALF_H ?? 0.9; + realPos = { x: player._pos.x, y: player._pos.y - halfH, z: player._pos.z }; } else if (state?.player) { realPos = { x: state.player.x, y: state.player.y, z: state.player.z }; }