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 19c475f132 - Show all commits

View File

@ -3621,7 +3621,7 @@ game.self.onTouch(() => {
<h3 className="lessonH">Шаг 2. Главный скрипт</h3> <h3 className="lessonH">Шаг 2. Главный скрипт</h3>
<ScriptKind kind="global" /> <ScriptKind kind="global" />
<Code>{`// === ИГРА «МАГНИТ МОНЕТ» — главный скрипт === <CodeBoth game="coin-magnet" script="g26_main">{`// === ИГРА «МАГНИТ МОНЕТ» — главный скрипт ===
let score = 0; let score = 0;
const TOTAL = 8; const TOTAL = 8;
@ -3641,7 +3641,7 @@ game.onMessage('coin', () => {
game.scene.spawnParticles('confetti', game.scene.spawnParticles('confetti',
{ x: p.x, y: p.y + 3, z: p.z }, { duration: 3, count: 3 }); { x: p.x, y: p.y + 3, z: p.z }, { duration: 3, count: 3 });
} }
});`}</Code> });`}</CodeBoth>
<p> <p>
Главный скрипт простой он только считает собранные Главный скрипт простой он только считает собранные
монетки и проверяет победу. Каждая монетка работает монетки и проверяет победу. Каждая монетка работает
@ -3654,7 +3654,7 @@ game.onMessage('coin', () => {
<h3 className="lessonH">Шаг 3. Скрипт магнитной монетки</h3> <h3 className="lessonH">Шаг 3. Скрипт магнитной монетки</h3>
<p>Этот скрипт вешается на <b>каждую</b> монетку.</p> <p>Этот скрипт вешается на <b>каждую</b> монетку.</p>
<ScriptKind kind="object" on="каждую монетку" /> <ScriptKind kind="object" on="каждую монетку" />
<Code>{`// === Скрипт магнитной монетки === <CodeBoth game="coin-magnet" script="g26_coin_1">{`// === Скрипт магнитной монетки ===
let flying = false; // монетка уже летит к игроку? let flying = false; // монетка уже летит к игроку?
let taken = false; let taken = false;
@ -3681,7 +3681,7 @@ game.onTick(() => {
{ x: p.x, y: p.y + 1, z: p.z }, { x: p.x, y: p.y + 1, z: p.z },
{ duration: 0.5, easing: 'ease' }); { duration: 0.5, easing: 'ease' });
} }
});`}</Code> });`}</CodeBoth>
<p>Разберём по частям:</p> <p>Разберём по частям:</p>
<ul> <ul>
<li>первые кадры <code>game.self.position</code> и <li>первые кадры <code>game.self.position</code> и