Здесь показаны различия между двумя версиями данной страницы.
| Both sides previous revision Предыдущая версия | |||
|
help:txt2gam_manual [2026/03/22 19:30] aleks_versus [Пишем QSP-игру в текстовом редакторе] |
help:txt2gam_manual [2026/04/07 12:29] (текущий) aleks_versus |
||
|---|---|---|---|
| Строка 15: | Строка 15: | ||
| ===== Урок 1. Локации, Действия, Переходы ===== | ===== Урок 1. Локации, Действия, Переходы ===== | ||
| - | Текстовый квест в QSP состоит из отдельных локаций (кадров, сцен, эпизодов), на которых могут выполняться различные игровые действия. Каждая локация имеет начало (тут же указывается имя локации), код локации (середину) и конец (знак ''-'', минус). | + | Текстовый квест в QSP состоит из отдельных локаций (кадров, сцен, эпизодов), на которых могут выполняться различные игровые действия. Каждая локация имеет начало (тут же указывается имя локации), код локации (середину) и конец (два знака минус ''%%--%%'', дефис). |
| Пример: | Пример: | ||
| Строка 22: | Строка 22: | ||
| # Имя_локации | # Имя_локации | ||
| ! тут идёт код локации | ! тут идёт код локации | ||
| - | - | + | -- |
| </sxh> | </sxh> | ||
| Строка 32: | Строка 32: | ||
| # Начало | # Начало | ||
| 'Привет мир!' | 'Привет мир!' | ||
| - | - | + | -- |
| </sxh> | </sxh> | ||
| Строка 50: | Строка 50: | ||
| GOTO 'Вторая_локация' | GOTO 'Вторая_локация' | ||
| END | END | ||
| - | - | + | -- |
| # Вторая_локация | # Вторая_локация | ||
| 'Вы только что совершили переход в другую локацию.' | 'Вы только что совершили переход в другую локацию.' | ||
| 'Этот текст начинается с новой строки.' | 'Этот текст начинается с новой строки.' | ||
| ACT 'Вернуться обратно': GOTO 'Начало' | ACT 'Вернуться обратно': GOTO 'Начало' | ||
| - | - | + | -- |
| </sxh> | </sxh> | ||
| Строка 81: | Строка 81: | ||
| ' Ваша цель - зарабатывать деньги, покупать на них подарки и дарить своим близким.' | ' Ваша цель - зарабатывать деньги, покупать на них подарки и дарить своим близким.' | ||
| ACT 'Начать игру': GOTO 'Дом' | ACT 'Начать игру': GOTO 'Дом' | ||
| - | - | + | -- |
| # Работа | # Работа | ||
| ' Порт находится на самой южной окраине города. Здесь постоянно загружаются и разгружаются различные суда. Рабочих рук не хватает и складской бригадир всегда рад заплатить деньги за помощь.' | ' Порт находится на самой южной окраине города. Здесь постоянно загружаются и разгружаются различные суда. Рабочих рук не хватает и складской бригадир всегда рад заплатить деньги за помощь.' | ||
| ACT 'Идти домой': GOTO 'Дом' | ACT 'Идти домой': GOTO 'Дом' | ||
| ACT 'Идти в магазин': GOTO 'Магазин' | ACT 'Идти в магазин': GOTO 'Магазин' | ||
| - | - | + | -- |
| # Магазин | # Магазин | ||
| ' Магазин небольшой, но тут обычно есть всё, что нужно простому горожанину. Витрины заставлены различными товарами. У кассы стоит полная женщина и хмуро смотрит на вас.' | ' Магазин небольшой, но тут обычно есть всё, что нужно простому горожанину. Витрины заставлены различными товарами. У кассы стоит полная женщина и хмуро смотрит на вас.' | ||
| ACT 'Идти домой': GOTO 'Дом' | ACT 'Идти домой': GOTO 'Дом' | ||
| ACT 'Идти в порт': GOTO 'Работа' | ACT 'Идти в порт': GOTO 'Работа' | ||
| - | - | + | -- |
| # Дом | # Дом | ||
| ' Дома всегда очень уютно. И вкусно пахнет едой. Мама, сидя в кресле, вяжет носки. Отец с вашим братом чинит скворечник. Сестра хлопочет на кухне. Дома всегда хорошо.' | ' Дома всегда очень уютно. И вкусно пахнет едой. Мама, сидя в кресле, вяжет носки. Отец с вашим братом чинит скворечник. Сестра хлопочет на кухне. Дома всегда хорошо.' | ||
| ACT 'Идти в порт': GOTO 'Работа' | ACT 'Идти в порт': GOTO 'Работа' | ||
| ACT 'Идти в магазин': GOTO 'Магазин' | ACT 'Идти в магазин': GOTO 'Магазин' | ||
| - | - | + | -- |
| </sxh> | </sxh> | ||
| Строка 117: | Строка 117: | ||
| ' Ваша цель - зарабатывать деньги, покупать на них подарки и дарить своим близким.' | ' Ваша цель - зарабатывать деньги, покупать на них подарки и дарить своим близким.' | ||
| ACT 'Начать игру': GOTO 'Дом' | ACT 'Начать игру': GOTO 'Дом' | ||
| - | - | + | -- |
| # Работа | # Работа | ||
| ' Порт находится на самой южной окраине города. Здесь постоянно загружаются и разгружаются различные суда. Рабочих рук не хватает и складской бригадир всегда рад заплатить деньги за помощь.' | ' Порт находится на самой южной окраине города. Здесь постоянно загружаются и разгружаются различные суда. Рабочих рук не хватает и складской бригадир всегда рад заплатить деньги за помощь.' | ||
| Строка 132: | Строка 132: | ||
| GOTO 'Работа' | GOTO 'Работа' | ||
| END | END | ||
| - | - | + | -- |
| # Магазин | # Магазин | ||
| ' Магазин небольшой, но тут обычно есть всё, что нужно простому горожанину. Витрины заставлены различными товарами. У кассы стоит полная женщина и хмуро смотрит на вас.' | ' Магазин небольшой, но тут обычно есть всё, что нужно простому горожанину. Витрины заставлены различными товарами. У кассы стоит полная женщина и хмуро смотрит на вас.' | ||
| Строка 144: | Строка 144: | ||
| ACT 'Идти в порт': GOTO 'Работа' | ACT 'Идти в порт': GOTO 'Работа' | ||
| ACT 'Идти в магазин': GOTO 'Магазин' | ACT 'Идти в магазин': GOTO 'Магазин' | ||
| - | - | + | -- |
| </sxh> | </sxh> | ||
| Строка 169: | Строка 169: | ||
| ' Ваша цель - зарабатывать деньги, покупать на них подарки и дарить своим близким.' | ' Ваша цель - зарабатывать деньги, покупать на них подарки и дарить своим близким.' | ||
| ACT 'Начать игру': GOTO 'Дом' | ACT 'Начать игру': GOTO 'Дом' | ||
| - | - | + | -- |
| # Работа | # Работа | ||
| ' Порт находится на самой южной окраине города. Здесь постоянно загружаются и разгружаются различные суда. Рабочих рук не хватает и складской бригадир всегда рад заплатить деньги за помощь.' | ' Порт находится на самой южной окраине города. Здесь постоянно загружаются и разгружаются различные суда. Рабочих рук не хватает и складской бригадир всегда рад заплатить деньги за помощь.' | ||
| Строка 184: | Строка 184: | ||
| GOTO 'Работа' | GOTO 'Работа' | ||
| END | END | ||
| - | - | + | -- |
| # Магазин | # Магазин | ||
| ' Магазин небольшой, но тут обычно есть всё, что нужно простому горожанину. Витрины заставлены различными товарами. У кассы стоит полная женщина и хмуро смотрит на вас.' | ' Магазин небольшой, но тут обычно есть всё, что нужно простому горожанину. Витрины заставлены различными товарами. У кассы стоит полная женщина и хмуро смотрит на вас.' | ||
| Строка 216: | Строка 216: | ||
| ACT 'Идти домой': GOTO 'Дом' | ACT 'Идти домой': GOTO 'Дом' | ||
| ACT 'Идти в порт': GOTO 'Работа' | ACT 'Идти в порт': GOTO 'Работа' | ||
| - | - | + | -- |
| # Дом | # Дом | ||
| ' Дома всегда очень уютно. И вкусно пахнет едой. Мама, сидя в кресле, вяжет носки. Отец с вашим братом чинит скворечник. Сестра хлопочет на кухне. Дома всегда хорошо.' | ' Дома всегда очень уютно. И вкусно пахнет едой. Мама, сидя в кресле, вяжет носки. Отец с вашим братом чинит скворечник. Сестра хлопочет на кухне. Дома всегда хорошо.' | ||
| Строка 222: | Строка 222: | ||
| ACT 'Идти в порт': GOTO 'Работа' | ACT 'Идти в порт': GOTO 'Работа' | ||
| ACT 'Идти в магазин': GOTO 'Магазин' | ACT 'Идти в магазин': GOTO 'Магазин' | ||
| - | - | + | -- |
| </sxh> | </sxh> | ||
| Строка 235: | Строка 235: | ||
| ' Ваша цель - зарабатывать деньги, покупать на них подарки и дарить своим близким.' | ' Ваша цель - зарабатывать деньги, покупать на них подарки и дарить своим близким.' | ||
| ACT 'Начать игру': GOTO 'Дом' | ACT 'Начать игру': GOTO 'Дом' | ||
| - | - | + | -- |
| # Работа | # Работа | ||
| ' Порт находится на самой южной окраине города. Здесь постоянно загружаются и разгружаются различные суда. Рабочих рук не хватает и складской бригадир всегда рад заплатить деньги за помощь.' | ' Порт находится на самой южной окраине города. Здесь постоянно загружаются и разгружаются различные суда. Рабочих рук не хватает и складской бригадир всегда рад заплатить деньги за помощь.' | ||
| Строка 250: | Строка 250: | ||
| GOTO 'Работа' | GOTO 'Работа' | ||
| END | END | ||
| - | - | + | -- |
| # Магазин | # Магазин | ||
| ' Магазин небольшой, но тут обычно есть всё, что нужно простому горожанину. Витрины заставлены различными товарами. У кассы стоит полная женщина и хмуро смотрит на вас.' | ' Магазин небольшой, но тут обычно есть всё, что нужно простому горожанину. Витрины заставлены различными товарами. У кассы стоит полная женщина и хмуро смотрит на вас.' | ||
| Строка 282: | Строка 282: | ||
| ACT 'Идти домой': GOTO 'Дом' | ACT 'Идти домой': GOTO 'Дом' | ||
| ACT 'Идти в порт': GOTO 'Работа' | ACT 'Идти в порт': GOTO 'Работа' | ||
| - | - | + | -- |
| # Дом | # Дом | ||
| ' Дома всегда очень уютно. И вкусно пахнет едой. Мама, сидя в кресле, вяжет носки. Отец с вашим братом чинит скворечник. Сестра хлопочет на кухне. Дома всегда хорошо.' | ' Дома всегда очень уютно. И вкусно пахнет едой. Мама, сидя в кресле, вяжет носки. Отец с вашим братом чинит скворечник. Сестра хлопочет на кухне. Дома всегда хорошо.' | ||
| Строка 320: | Строка 320: | ||
| ACT 'Идти в порт': GOTO 'Работа' | ACT 'Идти в порт': GOTO 'Работа' | ||
| ACT 'Идти в магазин': GOTO 'Магазин' | ACT 'Идти в магазин': GOTO 'Магазин' | ||
| - | - | + | -- |
| </sxh> | </sxh> | ||
| Конструкция **IF OBJ 'имя_предмета'** проверяет, есть ли у игрока в инвентаре указанный предмет. В нашем случае мы проверяем наличие тех предметов, которые мы можем купить в магазине. И если у игрока есть такие предметы - создаём действие «дарения» этих предметов. Когда игрок совершит действие, мы заберем у него тот предмет, который он хочет подарить и выводим диалог благодарности за подарок. К тому же, мы используем команду ''**DELACT**'', которой удаляем действие, указанное после этой команды. | Конструкция **IF OBJ 'имя_предмета'** проверяет, есть ли у игрока в инвентаре указанный предмет. В нашем случае мы проверяем наличие тех предметов, которые мы можем купить в магазине. И если у игрока есть такие предметы - создаём действие «дарения» этих предметов. Когда игрок совершит действие, мы заберем у него тот предмет, который он хочет подарить и выводим диалог благодарности за подарок. К тому же, мы используем команду ''**DELACT**'', которой удаляем действие, указанное после этой команды. | ||
| Строка 334: | Строка 334: | ||
| SHOWSTAT 0 | SHOWSTAT 0 | ||
| SHOWINPUT 0 | SHOWINPUT 0 | ||
| - | - | + | -- |
| </sxh> | </sxh> | ||
| Строка 350: | Строка 350: | ||
| $FNAME = 'Arial' | $FNAME = 'Arial' | ||
| 'Этот текст написан красным цветом, четырнадцатым размером и шрифтом Arial на чёрном фоне.' | 'Этот текст написан красным цветом, четырнадцатым размером и шрифтом Arial на чёрном фоне.' | ||
| - | - | + | -- |
| </sxh> | </sxh> | ||
| Строка 374: | Строка 374: | ||
| ' <b>Ваша цель</b> - зарабатывать <i>деньги</i>, покупать на них <i>подарки</i> и дарить своим <i>близким</i>.' | ' <b>Ваша цель</b> - зарабатывать <i>деньги</i>, покупать на них <i>подарки</i> и дарить своим <i>близким</i>.' | ||
| ACT '<b>Начать игру</b>': GOTO 'Дом' | ACT '<b>Начать игру</b>': GOTO 'Дом' | ||
| - | - | + | -- |
| # Работа | # Работа | ||
| '<center><b>Порт</b></center><br>' | '<center><b>Порт</b></center><br>' | ||
| Строка 390: | Строка 390: | ||
| GOTO 'Работа' | GOTO 'Работа' | ||
| END | END | ||
| - | - | + | -- |
| # Магазин | # Магазин | ||
| '<center><b>Магазин</b></center><br>' | '<center><b>Магазин</b></center><br>' | ||
| Строка 423: | Строка 423: | ||
| ACT 'Идти домой': GOTO 'Дом' | ACT 'Идти домой': GOTO 'Дом' | ||
| ACT 'Идти в порт': GOTO 'Работа' | ACT 'Идти в порт': GOTO 'Работа' | ||
| - | - | + | -- |
| # Дом | # Дом | ||
| '<center><b>Дом</b></center><br>' | '<center><b>Дом</b></center><br>' | ||
| Строка 462: | Строка 462: | ||
| ACT 'Идти в порт': GOTO 'Работа' | ACT 'Идти в порт': GOTO 'Работа' | ||
| ACT 'Идти в магазин': GOTO 'Магазин' | ACT 'Идти в магазин': GOTO 'Магазин' | ||
| - | - | + | -- |
| </sxh> | </sxh> | ||