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 662d0d06e4 - Show all commits

View File

@ -2034,7 +2034,7 @@ game.self.onTouch(() => {
<h3 className="lessonH">Шаг 3. Главный скрипт</h3> <h3 className="lessonH">Шаг 3. Главный скрипт</h3>
<ScriptKind kind="global" /> <ScriptKind kind="global" />
<Code>{`// === ИГРА «ТИР» — главный скрипт === <CodeBoth game="shooting-range" script="g15_main">{`// === ИГРА «ТИР» — главный скрипт ===
let score = 0; let score = 0;
const TOTAL = 8; const TOTAL = 8;
@ -2055,7 +2055,7 @@ game.onMessage('hit', () => {
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> <p>Здесь всё знакомо:</p>
<ul> <ul>
<li><code>score</code> счётчик попаданий;</li> <li><code>score</code> счётчик попаданий;</li>
@ -2072,7 +2072,7 @@ game.onMessage('hit', () => {
мишень-сферу. мишень-сферу.
</p> </p>
<ScriptKind kind="object" on="каждую мишень" /> <ScriptKind kind="object" on="каждую мишень" />
<Code>{`// === Скрипт мишени === <CodeBoth game="shooting-range" script="g15_target_2">{`// === Скрипт мишени ===
// Клик по 3D-объекту = выстрел в него. // Клик по 3D-объекту = выстрел в него.
game.self.onClick(() => { game.self.onClick(() => {
@ -2081,7 +2081,7 @@ game.self.onClick(() => {
{ count: 1, color: '#ff6633' }); { count: 1, color: '#ff6633' });
game.self.delete(); // мишень сбита game.self.delete(); // мишень сбита
game.broadcast('hit'); // сообщаем главному скрипту о попадании game.broadcast('hit'); // сообщаем главному скрипту о попадании
});`}</Code> });`}</CodeBoth>
<p>Разберём:</p> <p>Разберём:</p>
<ul> <ul>
<li><code>game.self.onClick(() =&gt; {'{...}'})</code> <li><code>game.self.onClick(() =&gt; {'{...}'})</code>