Документация к Universal RipSoft Quest©

для версии 1.32 от May 22, 2001 под редакцией Etev'a

Оглавление

Лицензионое соглашение
Вступление и историческая справка
Общие описание движка. Техгология EasyVision©
Список операторов и системных переменных
Работа с инвентарём
Советы начинающим
Типичные ошибки
Часто возникающие вопросы
Хронология версий

Лицензионое соглашение

Universal Ripsoft Quest© v1.xx, далее "программный продукт", изготовлен компанией Ripsoft corporation™ и не является лицензионно защищенным программным продуктом. Распространяется на правах "freeware" и "as is", то есть абсолютно свободно. Компания не отвечает за какой-либо ущерб, либо упущенную выгоду, полученные в следствии использования программного продукта. Если вы по каким-либо причинам не согласны с этим лицензионным соглашением, то вы должны стереть со всех хранителей информации дистрибутивные пакеты программного продукта и прекратить использование программного продукта. Со всеми жалобами, претензиями и предложениями просьба обращаться по адресу ripos@mail.ru либо в гостевую книгу на официальном сайте компании в глобальной сети Internet по адресу www.ripsoft.narod.ru.

Вступление и историческая справка

Жанр IF-литературы или "текстовых квестов" зародился на заре компьютеростроения. Строго говоря, это прародитель таких игровых направлений, как: современный квест, адвентюра и РПГ. Каждый из вас слышал названия "Fallout 2", "Larry 7", "Grim Fandango" или "Blade Runner". И не многие знают, что зародились они все из классической текстовой игры "Adventure". С тех пор прошло немало лет, появлялись более совершенные компьютеры, изменялась мода, но if-квест не умер. Сейчас это обширное и разнообразное альтернативное направление в компьютерных играх. К сожалению, в нашей стране данный жанр не получил широкого развития из-за очень простой причины: все платформы и игры были написаны на иностраных языках. Русскоязычные попытки тоже имели место, но они были так эпизодичны или откровенно слабы, что не заслужили пристального внимания широких масс. С выходом нашего свободно распространяемого и универсального редактора вам выпала удивительная возможность стать свидетелем возрождения if-жанра в нашей стране.

Мы с гордостью представляем Universal Ripsoft Quest© - многофункциональный комплект программ и скриптового языка в одном. Новая передовая технология поддерживает текстовой, графический и аудио выводы информации, полностью демонстрируя возможности кооперации человеческого воображения и точности компьютера. Продукт Universal Ripsoft Quest© легок в использовании и работе. Вам не обязательно уметь программировать на труднопостижимых языках C++, Delphi или Visual Basic. Наша технология RipSoft EasyVision© распознавания ключевых слов все сделает за вас. Вам нет надобности долго набирать в точной последовательности, и в строгой соответствии с правилами грамматики, длинные команды в скучном текстовом окне. Благодаря современному графическому интерфейсу RipSoft ConsolMaker© с вашей стороны требуется минимум усилий мышкой. Дополнительная анимация и различные музыкальные сопровождения помогут опытным пользователям создавать более объемные и красочные миры.

Продукт Universal Ripsoft Quest© не нуждается ни в каких дополнительных программах и интернет-технологиях. На данный момент он является лучшим решением для разработчиков и игроков IF-игр.

команда RipSoft

Общие описание движка. Технология EasyVision©

Файлы обрабатываемые движком должны иметь расширением qst или qs1. Файлы qst являются обычными текстовыми документами, а файлы qs1 являются зашифрованной копией файлов qst. Опишем подробнее формат файлов qst: это текстовый скриптовый документ, который выполняется построчно.

  1. Вначале отбрасываются комментарии (символы после служебного знака ";").
  2. Строка разбивается на части служебным знаком "&" и для каждой части выполняются следующие операции.

    Исключение: если встречается оператор "if", то последующая за ним строка на предмет "&" не обрабатывается, эти операторы будут обрабатываться как "then" часть.

  3. В выводе информации на экран сочетание символов "#$" заменяется на пробел. Сочетания "#<имя числовой переменной>$" заменяется на их целое значение без дробной части. Сочетание "#%<имя строковой переменной>$" заменяется на текст. Все сочетания символов "#/$" заменяются на перенос строки.

    Примечание: предметы инвентаря прямо не выводятся на экран в позициях #$ и не участвуют в арифметических операциях. При необходимости используйте, доступную в версии 1.3, системную переменную Inv_<Target>.
    Пример:
    Mana=13.456
    InStr HeroName=Себастьян

    p #%HeroName$ чувствует,#$что сталось #Mana$ маны в#/$резерве.
    Вывод на экран: Себастьян чувствует, что осталось 13 маны в
    резерве.

  4. Рассматривается первое слово (группа символов до первого пробела), если это оператор, то он выполняется. Если это не оператор печати ("p" "pln" "print" "println") или "if" и встречается символ "=", то выполняется присвоение правой части левой.

    Примечание: если это не оператор (например метка) не делается ничего.
    Исключение: комментарии ":"и метки с символом "=" недопустимы.

  5. Рассматривается следующая строка и для неё выполняются аналогичные процедуры.

Теперь рассмотрим операторы:
Параметры операторов разделены запятыми, то есть в качестве параметра берется строка от пробела после оператора до запятой, не включительно, а в качестве второго параметра от запятой до конца, кроме последнего пробела.

Исключение: "if" имеет особый формат
Пример: "btn RipOsHive,войти в логово RipOs'a" создаст кнопку с переходом на локацию "RipOsHive" и надписью "войти в логово RipOs'a"

<переменная>=<выражение>. Значению <выражение> присваивается <переменная>, где <выражение> - комбинация + - * / , переменных.

В версии 1.32 введён новый тип переменных: строковые. Эти

Все переменные - вещественные числа. Если переменная не инициализирована, то ее значение принимается равным 0.

Работа с инвентарём

При клике мышкой на строку инвентаря активизируется ниспадающее меню действий, состоящие из переменных-действий action, связанных с данным предметом. Т.е. локация Use_<TargetInv>_<action> отвечает за действия, выбранные из меню к данному предмету, где <TargetInv> - имя предмета, а <action> - пункт меню. Если <action> не назначен (используется просто Use_<TargetInv>), то по умолчанию используется пункт в меню "Осмотреть". За последнюю строку "Инвентарь" отвечает локация Use_Inv_<action>.

Системная переменная Inv_<TargetInv> дает вам возможность напрямую общаться с инвентарем. Она доступна как и для чтения, так и для записи. Где <TargetInv> - имя предмета.

Пример:
:1
Inv_монет=77
temp=Inv_монет
pln В кошельке персонажа точно #Inv_монет$ монет.
end
:Use_монет
pln Ну что ты там всё шаришь? Денег от этого не прибавится. Как было #gold#, так и останется #gold$ монет!
end
:Use_монет_выбросить
pln Вы выбрасываете все деньги! Не очень умный поступок.
invkill монет
end
:Use_Inv_Время
p Московское время #CurrentTime$.
if CurrentTime>0.00 and CurrentTime<7.00 then pln Ночь еще. Спи, суслик!
end
:Use_inv_Реклама
pln Здесь могла бы быть ваша реклама. Звоните 222-111-555
end

Вывод: После появления в инвентаре 77 предметов "монет" доступны два действия: осмотреть, выбросить. Для всегда присутствующей строки "Инвентарь" назначены действия "Время" и "Реклама".

Советы начинающим

Типичные ошибки

Файлы OCX надо класть в директорию WINDOWS\SYSTEM либо в каталог к программе затем запустить "Regsvr32.exe Имя_Файла.OCX"

E: "COMDLG32" not correctly registred.
A:
Скачайте COMDLG32.ocx

E: "MCI32" not correctly registred.
A:
Скачайте MCI32.ocx

E: "MSDXM.OCX" not correctly registred
A:
Скачайте MSDXM.OCX

E: Я не знаю, что случилось, но она заглючила и\или вылетела
А: Хмм, попытайтесь расслабиться и заняться чем-то другим

Часто возникающие вопросы

Q: Как нормально сделать голод в квесте?
A: Используйте локацию Common, например, так:

:Common
Сытость=Сытость-1
if Сытость<=0 then PrintLn Вы голодны!!!
if Хлеб then Сытость=Сытость+10 & Inv- Хлеб
end

Q: Я пишу "<TAB>P Начало!" , а в квесте нет ничего подобного???
A: Символы <TAB> перед и после команды (вплотную) недопустимы! Но можно писать например P<пробел><TAB>... и это будет работать.

Q: Я пишу ":ккк & p ккк" , а в квесте нет ничего подобного???
A: Команда ":<метка> &" недопустима, для меток надо отдельные строки.

Q: Я пишу "save & p ккк" , а в сохранении нет ничего подобного???
A: Сохранение идёт на текущий момент а "p ккк" идёт уже после

Q: Почему вопросов и советов так мало и они такие ... ?
A: Пишите свои вопросы и советы по адресу ripos@mail.ru

Хронология версий

v1.32

- оператор println добавляет перед переносом строки пробел
- новый класс строковых пременных

v1.31

- документированы скрытые системные локации Use_<target>_<action> и переменная Inv_<target>
- исправлен баг со смещением вывода картинок

v1.3 Final Relise

- невозможны = в комментариях
- исправлен таймер на "как у Victor Korianov"
- обработка кликов на инвентарь
- фоновая музыка
- сделан механизм Мульти-Common
- включена работа с любыми звуковыми файлами поддерживаемые системой
- работа с командной строкой
- полноценная работа с нецелыми числами
- возможность постановки любых пробелов и их комбинаций с запятыми
- включена поддержка картинок (показ)
- возможность печати нескольких строк одновременно одним оператором
- убрана возможность Save на метку

Hosted by uCoz