feat: 50 игр на Lua + импорт Roblox для всех + поддержка Lua в плеере #39
@ -4357,19 +4357,29 @@ export class GameRuntime {
|
|||||||
// Lua-вызов hrp.Position = ... — телепорт игрока
|
// Lua-вызов hrp.Position = ... — телепорт игрока
|
||||||
try {
|
try {
|
||||||
const v = payload.value || {};
|
const v = payload.value || {};
|
||||||
if (player.body && player.body.position) {
|
const halfH = player.HALF_H ?? 0.9;
|
||||||
|
if (player._pos) {
|
||||||
|
player._pos.set(v.x || 0, (v.y || 0) + halfH, v.z || 0);
|
||||||
|
if (player._vy != null) player._vy = 0;
|
||||||
|
} else if (player.body?.position?.set) {
|
||||||
player.body.position.set(v.x || 0, v.y || 0, v.z || 0);
|
player.body.position.set(v.x || 0, v.y || 0, v.z || 0);
|
||||||
}
|
}
|
||||||
} catch (_) {}
|
} catch (_) {}
|
||||||
} else if (payload.prop === 'respawn') {
|
} else if (payload.prop === 'respawn') {
|
||||||
// Lua-вызов player:LoadCharacter() — телепорт к spawn и сброс HP
|
// Lua-вызов player:LoadCharacter() — телепорт к spawn и сброс HP
|
||||||
try {
|
try {
|
||||||
if (typeof player.respawn === 'function') player.respawn();
|
if (typeof player.respawn === 'function') {
|
||||||
else {
|
player.respawn();
|
||||||
|
} else {
|
||||||
const sp = this.scene3d?.projectData?.scene?.spawnPoint
|
const sp = this.scene3d?.projectData?.scene?.spawnPoint
|
||||||
|| this.projectData?.scene?.spawnPoint
|
|| this.projectData?.scene?.spawnPoint
|
||||||
|| { x: 0, y: 5, z: 0 };
|
|| { x: 0, y: 5, z: 0 };
|
||||||
if (player.body && player.body.position) {
|
// PlayerController хранит позицию в player._pos.
|
||||||
|
const halfH = player.HALF_H ?? 0.9;
|
||||||
|
if (player._pos) {
|
||||||
|
player._pos.set(sp.x, sp.y + halfH, sp.z);
|
||||||
|
if (player._vy != null) player._vy = 0;
|
||||||
|
} else if (player.body?.position?.set) {
|
||||||
player.body.position.set(sp.x, sp.y, sp.z);
|
player.body.position.set(sp.x, sp.y, sp.z);
|
||||||
}
|
}
|
||||||
player.hp = player.maxHp || 100;
|
player.hp = player.maxHp || 100;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user