docs(49) + feat(g50): «Своя игра» (песочница)

g49 docs: CodeBoth main+finish.

g50 паритет:
- Комментарии-инструкция как начать свою игру (5 шагов)
- __rbxl_show_text 'Твоя песочница! Создай свою игру'
This commit is contained in:
min 2026-06-09 23:21:39 +03:00
parent 3a95cd148a
commit ddeb8ff93f
2 changed files with 24 additions and 6 deletions

View File

@ -4544,8 +4544,26 @@ end)`,
}, },
// ═══════════════════════════════════════════════════════════════ // ═══════════════════════════════════════════════════════════════
// ИГРА 50: явных Lua-версий пока нет. // ИГРА 50 — «Своя игра» (песочница)
// buildGameProject в docsGamesBuilders.js использует generateFallbackLua. // ═══════════════════════════════════════════════════════════════
'make-your-own': {
g50_main: `-- === «СВОЯ ИГРА» — твоя песочница (Lua) ===
--
-- Это пустая площадка. Здесь ты придумываешь и собираешь
-- СВОЮ игру с нуля. Удали этот текст и пиши свой код.
--
-- С чего начать:
-- 1. Реши, КАКАЯ это игра (паркур / гонка / стрелялка / квест).
-- 2. Построй сцену из блоков и примитивов.
-- 3. Поставь точку спавна.
-- 4. Добавь цель финиш, счёт или врагов.
-- 5. Напиши скрипты, оживляющие игру.
--
-- Всё, что нужно, ты уже знаешь из уроков 1-49. Удачи!
__rbxl_show_text("Твоя песочница! Создай свою игру", 4)`,
},
'clicker': { 'clicker': {
g46_main: `-- === ИГРА «КЛИКЕР» — главный скрипт (Lua) === g46_main: `-- === ИГРА «КЛИКЕР» — главный скрипт (Lua) ===
${SNIPPET_BROADCAST} ${SNIPPET_BROADCAST}

View File

@ -7097,7 +7097,7 @@ game.room.onChange('tagger', (taggerId) => {
<h3 className="lessonH">Шаг 2. Главный скрипт</h3> <h3 className="lessonH">Шаг 2. Главный скрипт</h3>
<ScriptKind kind="global" /> <ScriptKind kind="global" />
<Code>{`// === ИГРА «МУЛЬТИПЛЕЕР: ГОНКА» — главный скрипт === <CodeBoth game="mp-race" script="g49_main">{`// === ИГРА «МУЛЬТИПЛЕЕР: ГОНКА» — главный скрипт ===
// //
// Мультиплеерная гонка. Чтобы соревноваться с друзьями опубликуй // Мультиплеерная гонка. Чтобы соревноваться с друзьями опубликуй
// игру с галочкой «Мультиплеер». // игру с галочкой «Мультиплеер».
@ -7137,7 +7137,7 @@ game.onMessage('finish', () => {
} else { } else {
game.ui.showText('Финиш! Но кто-то был быстрее.', 4); game.ui.showText('Финиш! Но кто-то был быстрее.', 4);
} }
});`}</Code> });`}</CodeBoth>
<p>Разберём:</p> <p>Разберём:</p>
<ul> <ul>
<li><code>game.room.get('winner')</code> читаем общую <li><code>game.room.get('winner')</code> читаем общую
@ -7157,10 +7157,10 @@ game.onMessage('finish', () => {
<h3 className="lessonH">Шаг 3. Скрипт финиша</h3> <h3 className="lessonH">Шаг 3. Скрипт финиша</h3>
<ScriptKind kind="object" on="зелёный финиш" /> <ScriptKind kind="object" on="зелёный финиш" />
<Code>{`// === Скрипт финиша === <CodeBoth game="mp-race" script="g49_finish">{`// === Скрипт финиша ===
game.self.onTouch(() => { game.self.onTouch(() => {
game.broadcast('finish'); game.broadcast('finish');
});`}</Code> });`}</CodeBoth>
<p> <p>
Когда любой игрок касается финиша, скрипт шлёт сообщение Когда любой игрок касается финиша, скрипт шлёт сообщение
<code> game.broadcast('finish')</code> а главный скрипт <code> game.broadcast('finish')</code> а главный скрипт