Инструменты пользователя

Инструменты сайта


help:txt2gam_manual

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Следущая версия
Предыдущая версия
help:txt2gam_manual [2023/01/03 15:11]
aleks_versus создано
help:txt2gam_manual [2026/04/07 12:29] (текущий)
aleks_versus
Строка 3: Строка 3:
 ====== Пишем QSP-игру в текстовом редакторе ====== ====== Пишем QSP-игру в текстовом редакторе ======
  
-Для того, чтобы написать свой текстовый квест, понадобится любой текстовый редактор и программа [[#​informarch_txt2gam_manual|TXT2GAM]]. Для более удобного использования этой программы существует специальная оболочка [[https://​qsp.org/​index.php?​option=com_content&​task=view&​id=53&​Itemid=56|GAMConv]],​ которой можно пользоваться для конвертирования кода уроков. Для проигрывания квеста понадобится [[https://​qsp.org/​index.php?​option=com_content&​view=article&​id=64&​Itemid=56|QSP-плеер]].+Для того, чтобы написать свой текстовый квест, понадобится любой текстовый редактор и программа [[https://​qsp.org/​index.php?​option=com_content&​task=view&​id=52&​Itemid=56l|TXT2GAM]]. Для более удобного использования этой программы существует специальная оболочка [[https://​qsp.org/​index.php?​option=com_content&​task=view&​id=53&​Itemid=56|GAMConv]],​ которой можно пользоваться для конвертирования кода уроков. Для проигрывания квеста понадобится [[https://​qsp.org/​articles/​2-pleery-igr|QSP-плеер]].
  
 В примерах будут использоваться комментарии - строки,​ которые игрок не увидит и которые служат для того, чтобы можно было делать в коде игры различные заметки. Комментарий начинается с восклицательного знака ''​!''​. В примерах будут использоваться комментарии - строки,​ которые игрок не увидит и которые служат для того, чтобы можно было делать в коде игры различные заметки. Комментарий начинается с восклицательного знака ''​!''​.
Строка 15: Строка 15:
 ===== Урок 1. Локации,​ Действия,​ Переходы ===== ===== Урок 1. Локации,​ Действия,​ Переходы =====
  
-Текстовый квест в QSP состоит из отдельных локаций (кадров,​ сцен, эпизодов),​ на которых могут выполняться различные игровые действия. Каждая локация имеет начало (тут же указывается имя локации),​ код локации (середину) и конец (знак ​«-», ​минус).+Текстовый квест в QSP состоит из отдельных локаций (кадров,​ сцен, эпизодов),​ на которых могут выполняться различные игровые действия. Каждая локация имеет начало (тут же указывается имя локации),​ код локации (середину) и конец (два ​знака минус ''​%%--%%'',​ дефис).
  
 Пример:​ Пример:​
Строка 22: Строка 22:
 # Имя_локации # Имя_локации
 ! тут идёт код локации ! тут идёт код локации
--+--
 </​sxh>​ </​sxh>​
  
-Проигрывание квеста начинается с самой первой локации. Традиционно эта локация называется "​Начало"​. Для того, чтобы вывести в игре текст, вы просто пишете строку в коде локации,​ заключённую в кавычки (''​ или ""​).+Проигрывание квеста начинается с самой первой локации. Традиционно эта локация называется "​Начало"​. Для того, чтобы вывести в игре текст, вы просто пишете строку в коде локации,​ заключённую в кавычки (''​%%''​%%''​ или ​''​""​''​).
  
 Пример ("''​1.txt''"​):​ Пример ("''​1.txt''"​):​
Строка 32: Строка 32:
 # Начало # Начало
 '​Привет мир!'​ '​Привет мир!'​
--+--
 </​sxh>​ </​sxh>​
  
Строка 50: Строка 50:
  GOTO '​Вторая_локация'​  GOTO '​Вторая_локация'​
 END END
--+--
 # Вторая_локация # Вторая_локация
 'Вы только что совершили переход в другую локацию.'​ 'Вы только что совершили переход в другую локацию.'​
 '​Этот текст начинается с новой строки.'​ '​Этот текст начинается с новой строки.'​
 ACT '​Вернуться обратно':​ GOTO '​Начало'​ ACT '​Вернуться обратно':​ GOTO '​Начало'​
--+--
 </​sxh>​ </​sxh>​
  
Строка 62: Строка 62:
 Если инструкция одна, то мы можем писать её сразу после двоеточия,​ на той же строке,​ в этом случае «END» ставить не обязательно (см. Вторая_локация). Если инструкция одна, то мы можем писать её сразу после двоеточия,​ на той же строке,​ в этом случае «END» ставить не обязательно (см. Вторая_локация).
  
-В нашем случае инструкциями является переход на другую локацию. Он осуществляется командой «GOTO», после которой идёт имя новой локации,​ заключённой в кавычки. Как вы уже заметили,​ все строки в QSP заключены в кавычки (''​ или ""​),​ это специфика синтаксиса,​ которую необходимо соблюдать.+В нашем случае инструкциями является переход на другую локацию. Он осуществляется командой «GOTO», после которой идёт имя новой локации,​ заключённой в кавычки. Как вы уже заметили,​ все строки в QSP заключены в кавычки (''​%%''​%%''​ или ​''​""​''​), это специфика синтаксиса,​ которую необходимо соблюдать.
  
 Отконвертировав этот пример,​ вы сможете походить по двум локациям. Отконвертировав этот пример,​ вы сможете походить по двум локациям.
Строка 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>​
  
help/txt2gam_manual.1672758699.txt.gz · Последние изменения: 2023/01/03 15:11 — aleks_versus