Базовые функции языка QSP |
Содержание Previous Next |
CURLOC - возвращает название текущей локации.
RAND([#выражение 1],[#выражение 2]) - возвращает случайное число между числами [#выражение 1] и [#выражение 2]. Параметр [#выражение 2] может отсутствовать, при этом он принимается равным 0.
RND - возвращает случайное значение от 1 до 1000.
INPUT([$выражение]) - выводит окно ввода с приглашением [$выражение]. Возвращает введённый играющим текст, либо '' (пустая строка), если была нажата кнопка "Отмена".
USER_TEXT и USRTXT - возвращают текст, находящийся в строке ввода.
MAX([выражение 1],[выражение 2], ...) - возвращает максимальное из значений выражений-аргументов. Если передан один аргумент, то считается, что указано имя массива - в этом случае поиск максимального элемента происходит среди строковых (если название массива указано со знаком "$") или среди числовых значений элементов массива. Например:
MAX(1,2,5,2,0) - вернёт 5 MAX(a,b,c) - вернёт максимальное из значений переменных MAX('aa','ab','zz') - вернёт 'zz' MAX('a') - вернёт максимальное из числовых значений элементов массива "A" MAX('$b') - вернёт максимальное из строковых значений элементов массива "B"
MIN([выражение 1],[выражение 2], ...) - возвращает минимальное из значений выражений-аргументов. Если передан один аргумент, то считается, что указано имя массива - в этом случае поиск минимального элемента происходит среди строковых (если название массива указано со знаком "$") или среди числовых значений элементов массива.
IIF([#выражение],[выражение_да],[выражение_нет]) - возвращает значение выражения [выражение_да], если [#выражение] верно, иначе значение выражения [выражение_нет].
RGB([#выражение 1],[#выражение 2],[#выражение 3]) - возвращает код цвета на основе 3-х числовых аргументов. [#выражение 1], [#выражение 2] и [#выражение 3] определяют соответственно уровни красного, зелёного и синего цветов. Все значения аргументов должны быть в отрезке [0, 255]. Данная функция используется совместно с системными переменными "BCOLOR, FCOLOR, LCOLOR".
ISPLAY([$выражение]) - проверяет, проигрывается ли файл с заданным названием в текущий момент времени и возвращает -1, если файл воспроизводится, иначе 0.
MSECSCOUNT - возвращает количество миллисекунд, прошедших с момента начала игры.
DESC([$выражение]) - возвращает текст базового описания локации с заданным в [$выражение] названием.
MAINTXT - возвращает текст, находящийся в основном окне описаний.
STATTXT - возвращает текст, находящийся в окне пользователя.
QSPVER - возвращает версию интерпретатора в формате "X.Y.Z".
FUNC([$выражение],[параметр 1],[параметр 2], ...) - обработка локации с названием [$выражение]. Указанные параметры передаются в массиве ARGS. Результат функции равен значению $RESULT при возврате строкового значения или RESULT при возврате числового значения. Если при обработке локации были установлены и RESULT, и $RESULT, то предпочтение отдаётся строковому значению. После обработки локации предыдущие значения ARGS и RESULT восстанавливаются. Примеры:
PL 4 + FUNC('функция') - обработка локации "функция" как функции. Массив ARGS пуст. Результат передается через $RESULT или RESULT, в зависимости от кода обрабатываемой локации. PL FUNC($name, 1) * 78 - обработка локации с названием в $name как функции. ARGS[0] равен 1. MSG "text" + FUNC($name, "строка", 2) - обработка локации с названием в $name как функции. $ARGS[0] содержит строку "строка", ARGS[1] равен 2.
DYNEVAL([$выражение],[параметр 1],[параметр 2], ...) - возвращает значение указанного выражения. Функция позволяет вычислять значения динамически сгенерированных выражений. Указанные параметры передаются в массиве ARGS, а после вычисления выражения предыдущие значения ARGS восстанавливаются. Примеры:
DYNEVAL('3+4') PL DYNEVAL('mid("abcd",2,1)+"qwerty"') PL DYNEVAL($test + ' + val("<<$test>>")') проход=DYNEVAL(" $args[0] <> 'текст' ", 'строка') |