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

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


Боковая панель

help:locations

Это старая версия документа.


Назад: Что такое QSP?

Локации и переходы

Локация - элементарная единица игрового мира. Это может быть пещера, дом, комната, улица и т.п.
С точки зрения игрока он исследует игровой мир перемещаясь по локациям, но с точки зрения создателя игры понятие локации гораздо шире.

Применения для локаций:

  • Игровые локации - локации, по которым ходит игрок, основа игрового мира.
  • Служебные локации - локации, на которые не попадает игрок:
    • Локации-обработчики - локации, обрабатывающие определенные события в игре (переходы между локациями, таймер, выбор предмета и т.п.).
    • Локации-данные - иногда удобно хранить игровые тексты в отдельных переменных, а переменные - в отдельной локации, чтобы не захламлять код.
    • Локации-функции - в QSP есть возможность сделать локацию-функцию.
    • Локации с кодом - иногда удобно вынести часть кода в отдельную локацию. Чаще всего это код, который используется в нескольких локациях.

Локация состоит из:

  • Базовое описание локации
  • Базовые действия
  • Код "Выполнить при посещении"

Именование локаций

Имя локации в процессе игры не отображается и может быть любым. Но есть общие рекомендации:

  • Имя локации должно соответствовать её смыслу - если локация описывает дом, то это может быть "Дом", "House", но никак не "Пещера".
  • Можно пользоваться префиксами в названии:
    • !название или $название - служебная локация (не с базой данных)
    • #название - локация с базой данных
    • ^название - локация, вложенная в предыдущую. Например, названия локаций через запятую: Северная площадь, ^Магазин игрушек, ^^Продавец игрушек, ^Магазин оружия, ^^Мечи, ^^Булавы, ^^Оружейник
  • Названия локаций из нескольких слов можно писать любым удобным способом, например:
    • Дом с трубой
    • Дом_с_трубой
    • ДомСТрубой
  • Регистр букв не важен: "Домструбой" и "ДомСТрубой" - одна и та же локация.

Переходы

  • GOTO [$локация],[параметр 1],[параметр 2], … или
  • GT [$локация],[параметр 1],[параметр 2], … - переход на локацию с названием [$локация].
    • Основное описание локации и список действий заменяются описанием и действиями новой локации.
    • Переданные параметры хранятся в массиве ARGS. Максимальное количество параметров - 91).
    • Примеры:
      GT 'локация'  &! переход на локацию "локация". Массив ARGS пуст.
      GT 'локация',1,'данные' &! переход с передачей 2-х параметров.
      !ARGS[0] равен 1, $ARGS[1] содержит строку "данные".
      
  • XGOTO [$локация],[параметр 1],[параметр 2], … или
  • XGT [$локация],[параметр 1],[параметр 2], … - переход на локацию с названием [$локация].
    • Не очищается поле основного описания локации.
    • Базовое описание новой локации добавляется к текущему основному описанию.
    • В остальном аналогично GT/GOTO:
      • Список действия заменяется действиями новой локации
      • Переданные параметры хранятся в массиве ARGS. Максимальное количество параметров - 92).
  • Смотри также:

Вперёд: переменные

1) , 2) 10 включая имя локации
help/locations.1384495490.txt.gz · Последние изменения: 2013/11/15 10:04 (внешнее изменение)