Team Create (���������� ��������������) + ���������� ���� + ������ 16/17/20/40/44/05 #34

Merged
min merged 69 commits from restore/all-tasks into main 2026-06-08 01:13:01 +00:00
Showing only changes of commit 4906c82792 - Show all commits

View File

@ -233,14 +233,16 @@ game.self.onTouch(() => {
{ type: 'cylinder', x: 8, y: 1.5, z: 0, sx: 0.4, sy: 3, sz: 3, color: '#4dffd6', material: 'neon', name: 'Портал B', canCollide: false },
],
scripts: [{ attachTo: 'on-target', code:
`// Портал A: касание → телепорт к порталу B (стоит правее на +8 по X).
// Передвинь «Портал B» куда нужно и поправь координаты ниже.
`// Портал A: касание → телепорт к «Портал B» (ищем его по имени в момент входа).
// Передвигай «Портал B» куда угодно — телепорт всегда попадёт к нему.
let cd = false;
game.self.onTouch(() => {
if (cd) return; cd = true;
const p = game.self.position;
game.player.teleport(p.x + 8, p.y + 1, p.z); // к месту портала B
game.after(1, () => { cd = false; });
if (cd) return;
const b = game.scene.findOne('Портал B'); // ищем второй портал
if (!b || !b.position) return;
cd = true;
game.player.teleport(b.position.x, b.position.y + 1, b.position.z);
game.after(1.2, () => { cd = false; }); // защита от повторного входа
});` }],
},
{
@ -265,14 +267,15 @@ game.self.onTouch(() => {
icon: 'door', category: 'world',
prims: [{ type: 'cube', x: 0, y: 2, z: 0, sx: 1, sy: 4, sz: 3, color: '#8a5a3c', material: 'matte', name: 'Дверь' }],
scripts: [{ attachTo: 'on-target', code:
`// Дверь по E: открыта/закрыта — уезжает вниз и возвращается.
`// Дверь по E: уезжает В СТОРОНУ (вбок) и возвращается. Ширина двери sx=1,
// сдвигаем на 3 единицы вбок — проход открывается.
let open = false;
const p0 = game.self.position; // закрытое положение
game.self.onInteract(() => {
open = !open;
if (open) game.self.move(p0.x, p0.y - 4.2, p0.z); // уехала вниз (открыта)
else game.self.move(p0.x, p0.y, p0.z); // вернулась (закрыта)
}, { text: open ? 'Закрыть' : 'Открыть', key: 'e', distance: 5 });` }],
if (open) game.self.move(p0.x + 3, p0.y, p0.z); // уехала вбок (открыта)
else game.self.move(p0.x, p0.y, p0.z); // вернулась (закрыта)
}, { text: 'Открыть / закрыть', key: 'e', distance: 5 });` }],
},
];