feat: 50 игр на Lua + импорт Roblox для всех + поддержка Lua в плеере #39

Merged
min merged 215 commits from feat/lua-50-games-bundle into main 2026-06-09 21:59:25 +00:00
Showing only changes of commit b5ba62cca8 - Show all commits

View File

@ -2321,7 +2321,7 @@ game.self.onTouch(() => {
<h3 className="lessonH">Шаг 3. Главный скрипт</h3>
<ScriptKind kind="global" />
<Code>{`// === ИГРА «КЛЮЧ И СУНДУК» — главный скрипт ===
<CodeBoth game="key-chest" script="g17_main">{`// === ИГРА «КЛЮЧ И СУНДУК» — главный скрипт ===
game.ui.showText('Найди ключ и открой сундук!', 3);
@ -2346,7 +2346,7 @@ game.onMessage('openChest', () => {
const p = game.player.position;
game.scene.spawnParticles('confetti',
{ x: p.x, y: p.y + 3, z: p.z }, { duration: 3, count: 3 });
});`}</Code>
});`}</CodeBoth>
<p>Здесь два обработчика сообщений:</p>
<ul>
<li><code>game.onMessage('takeKey', ...)</code> игрок
@ -2370,11 +2370,11 @@ game.onMessage('openChest', () => {
<h3 className="lessonH">Шаг 4. Скрипт ключа</h3>
<ScriptKind kind="object" on="ключ" />
<Code>{`// === Скрипт ключа ===
<CodeBoth game="key-chest" script="g17_key">{`// === Скрипт ключа ===
game.self.onTouch(() => {
game.broadcast('takeKey'); // сообщаем главному скрипту: ключ найден
game.self.delete(); // ключ подобран
});`}</Code>
});`}</CodeBoth>
<p>
Игрок коснулся ключа скрипт шлёт сообщение
<code> game.broadcast('takeKey')</code> (главный скрипт
@ -2384,10 +2384,10 @@ game.self.onTouch(() => {
<h3 className="lessonH">Шаг 5. Скрипт сундука</h3>
<ScriptKind kind="object" on="сундук" />
<Code>{`// === Скрипт сундука ===
<CodeBoth game="key-chest" script="g17_chest">{`// === Скрипт сундука ===
game.self.onInteract(() => {
game.broadcast('openChest'); // сообщаем главному скрипту: открыть сундук
}, { text: 'Открыть сундук', distance: 4 });`}</Code>
}, { text: 'Открыть сундук', distance: 4 });`}</CodeBoth>
<p>
Когда игрок подходит ближе чем на 4 метра, над сундуком
появляется подсказка «Открыть сундук». Нажатие