Изменения

Перейти к навигации Перейти к поиску

QSP Уроки

10 243 байта добавлено, 14:17, 29 января 2008
новый урок
Конструкция «IF OBJ 'имя_предмета'» проверяет, есть ли у игрока в инвентаре указанный предмет. В нашем случае мы проверяем наличие тех предметов, которые мы можем купить в магазине. И если у игрока есть такие предметы - создаём действие «дарения» этих предметов. Когда игрок совершит действие, мы заберем у него тот предмет, который он хочет подарить и выводим диалог благодарности за подарок. К тому же, мы используем команду «DELACT», которой удаляем действие, указанное после этой команды.
==Урок 4. Настройки, Форматирование==
 
В это уроке мы рассмотрим, как сделать наш квест более привлекательным. В первую очередь следует настроить интерфейс так, чтобы в нём не оставалось ничего лишнего, отвлекающего от игры. Если вы сейчас запустить наш пример, то увидите, что мы не используем "поле дополнительного описания" (справа внизу) и "командную строку" (внизу). Чтобы они нам не мешали их нужно отключить. Делается это следующим образом:
 
''Пример (7.txt):''
<pre>#Начало
SHOWSTAT 0
SHOWINPUT 0
-</pre>
Мы передаём в функцию «SHOWSTAT» значение 0 для того, чтобы отключить "поле дополнительного описания". Если бы мы передали что-либо отличное от 0, то поле было бы видимым. То же самое и с «SHOWINPUT». Так же мы можем отключить инвентарь - «SHOWOBJS», и список действий - «SHOWACTS».
 
Теперь нам нужно сделать так, чтобы наш текст был более подходящим для нашего квеста. Для этого есть 4 переменные.
 
''Пример (8.txt):''
<pre>#Начало
BCOLOR = RGB(1, 1, 1)
FCOLOR = RGB(255, 1, 1)
FSIZE = 14
$FNAME = "Arial"
'Этот текст написан красным цветом, четырнадцатым размером и шрифтом Arial на чёрном фоне.'
-</pre>
Цвет в QSP задаётся с помощью функции «RGB», в которую мы передаём значения его отдельных компонент - красного (Red), зелёного (Green) и синего (Blue). Отсюда и название функции.<br>
Если вы не знакомы с таким способом задания цветов, то вам может помочь программа '''MS Paint''', которая входит в стандартную поставку Windows. Для этого запустите программу, щёлкните два раза по любому цвету в политре (внизу) и затем нажмите кнопку "Определить цвет". Появится расширенная палитра, на которой можно выбрать нужный вам цвет. Под палитрой снизу будет 3 поля (Красный, Зелёный, Синий), значениями из этих полей вам и нужно заполнить функцию RGB.<br>
Следует учесть, что если все компоненты цвета будут равны 0, то проигрыватель квестов заменит указанный цвет на цвет из настроект самого плеера. Поэтому если вы хотите установить чёрный цвет, то следует сделать его "немного серым", т.е. установить значения всех компонент в 1. Визуально это ничем не будет отличаться от чёрного цвета, который имеет значения компонент 0.<br>
Переменная «BCOLOR» устанавливает цвет заднего фона, «FCOLOR» - цвет текста.<br>
Чтобы изменить размер текста используется переменная «FSIZE», шрифт текста задётся строковой переменной «$FNAME».
 
Многие игроки не любят, когда автор задаёт свои визуальные параметры для текстовых квестов. "На вкус и цвет фломастеры разные", кто-то привык читать зелёные буквы на чёрном фоне, а кто-то предпочитает классический вариант чёрного на белом. У кого-то большой монитор и маленькие буквы читать на нём неудобно. И т.д. Проигрыватель квестов [[QSP]] позволяет настроить такие параметры индивидуально для каждого игрока, но только в том случае, если автор игры не заменил их на свои. Поэтому я рекомендовал бы вам не менять эти настройки для вашего квеста.
 
Есть ещё один, наилучший, на мой взгляд, способ сделать ваш текст внешне более привлекательным. Использование HTML. Язык гипертекстовой разметки документов очень хорошё подходит для этой цели. С помощью него можно не только завать цвет, размер и шрифт текста, но и делать это для отдельных слов, фраз или даже букв, а так же позиционировать текст на экране. Например можно расположить заголовки по-центру строки, или справа. Для этого нужно переменной USEHTML задать значение, отличное от 0, например 1. В следующем примере я приведу лишь небольшую часть возможностей, которых, впрочем, будет достаточно для оформления игры.
 
''Пример (9.txt):''
<pre>#Начало
USEHTML=1
BCOLOR = RGB(255, 255, 255)
'<center><font size="20" color="#FF0000" face="Times New Roman"><b>Текстовый квест</b></font></center><br>'
' <b>Ваша цель</b> - зарабатывать <i>деньги</i>, покупать на них <i>подарки</i> и дарить своим <i>близким</i>.'
ACT '<b>Начать игру</b>':GOTO 'Дом'
-
#Работа
'<center><b>Порт</b></center><br>'
' Порт находится на самой южной окраине города. Здесь постоянно загружаются и разгружаются различные суда. Рабочих рук не хватает и складской бригадир всегда рад заплатить <i>деньги</i> за помощь.'
' У вас <font size="16"><b><<Деньги>></b></font> монет.'
' Вам нужно перенести <font size="16" color="#00AA00"><b><<3-Ящик>></b></font> ящика.'
ACT 'Идти домой':GOTO 'Дом'
ACT 'Идти в магазин':GOTO 'Магазин'
ACT 'Перенести ящик':
Ящик = Ящик + 1
IF Ящик = 3:
Деньги = Деньги + 5
Ящик = 0
END
GOTO 'Работа'
END
-
#Магазин
'<center><b>Магазин</b></center><br>'
' Магазин небольшой, но тут обычно есть всё, что нужно простому горожанину. Витрины заставлены различными товарами. У кассы стоит полная женщина и хмуро смотрит на вас.'
' У вас <font size="16"><b><<Деньги>></b></font> монет.'
IF Деньги >= 3:
ACT 'Купить конструктор':
Деньги = Деньги - 3
ADDOBJ 'Конструктор'
GOTO 'Магазин'
END
END
IF Деньги >= 5:
ACT 'Купить плюшевого медведя':
Деньги = Деньги - 5
ADDOBJ 'Плюшевый медведь'
GOTO 'Магазин'
END
ACT 'Купить вязальный набор':
Деньги = Деньги - 5
ADDOBJ 'Вязальный набор'
GOTO 'Магазин'
END
END
IF Деньги >= 7:
ACT 'Купить инструменты':
Деньги = Деньги - 7
ADDOBJ 'Инструменты'
GOTO 'Магазин'
END
END
ACT 'Идти домой':GOTO 'Дом'
ACT 'Идти в порт':GOTO 'Работа'
-
#Дом
'<center><b>Дом</b></center><br>'
' Дома всегда очень уютно. И вкусно пахнет едой. Мама, сидя в кресле, вяжет носки. Отец с вашим братом чинит скворечник. Сестра хлопочит на кухне. Дома всегда хорошё.'
' У вас <font size="16"><b><<Деньги>></b></font> монет.'
IF OBJ 'Конструктор':
ACT 'Подарить конструктор брату':
DELOBJ 'Конструктор'
' - Вот тебе конструктор.'
' - Спасибо, брат.'
DELACT 'Подарить конструктор брату'
END
END
IF OBJ 'Плюшевый медведь':
ACT 'Подарить медведя сестре':
DELOBJ 'Плюшевый медведь'
' - Вот тебе плюшевый медведь.'
' - Спасибо, брат.'
DELACT 'Подарить медведя сестре'
END
END
IF OBJ 'Вязальный набор':
ACT 'Подарить набор маме':
DELOBJ 'Вязальный набор'
' - Вот тебе вязальный набор.'
' - Спасибо, сынок.'
DELACT 'Подарить набор маме'
END
END
IF OBJ 'Инструменты':
ACT 'Подарить инструменты отцу':
DELOBJ 'Инструменты'
' - Вот тебе инструменты.'
' - Спасибо, сын.'
DELACT 'Подарить инструменты отцу'
END
END
ACT 'Идти в порт':GOTO 'Работа'
ACT 'Идти в магазин':GOTO 'Магазин'
-</pre>
'''''Продолжение следует...'''''
[[Категория:Для разработчиков игр]]
51
правка

Навигация