- Вывод текста
- Программирование
- Оформление
- Расширенные возможности
- Нюансы написания игр под разные плееры
-
- x AeroQSP
- Утилиты и средства разработки
Это старая версия документа.
MENU [$выражение] - вызов меню с заданным названием (см. раздел "Создание меню для предметов").
Меню - набор строковых значений массива, формат записи которых: [$название:название локации:путь к файлу иконки].
Поиск символов ":" начинается с конца строки, то есть название пункта меню может содержать двоеточия.
Если путь к файлу иконки не указан или указанный файл недоступен, то пункт меню отобразится без иконки.
Пример создания меню:
$stone[0]='Взять камень:takestone'
$stone[1]='Кинуть камень:throwstone'
$stone[2]='Осмотреть камень:' + $see_stone
Здесь название массива ("stone") - это название меню, а текстовые значения массива - действия, для которых указаны названия и названия локаций-обработчиков выбора пунктов меню. Т.е. при выборе пункта "Взять камень" произойдёт обработка локации с названием "takestone". Аналогично будет происходить с другими пунктами.
В локацию-обработчик выбора пункта меню передаётся аргумент (ARGS[0]) - позиция выбранного пункта. Позиции элементов меню индексируются с 1.
Вызов меню производится с помощью оператора "MENU" из любого места кода игры. Пример:
menu 'stone'
или
menu '$stone'
Этот оператор покажет меню с названием "stone".
Пример создания меню с иконками:
$usr_menu[0] = 'Взять предмет:take_item' & ! нет иконки
$usr_menu[1] = 'Положить предмет:put_item:images/put_item.gif' & ! иконка задана gif-файлом
$usr_menu[2] = 'Осмотреть предмет:look_item:«$icon_file»' & ! иконка задана значением $icon_file
$usr_menu[3] = '«$name»:«$loc»:«$file»' & ! пункт меню задан 3-мя переменными
menu 'usr_menu' - покажет меню из 4-х пунктов
PS:
1) Меню заканчивается на элементе массива со значением '' (пустая строка). Т.е. если массив меню состоит из элементов 'Взять','Осмотреть','','Бросить', то 2 последних пункта меню не будут созданы.
2) Чтобы вставить разделитель в меню, вместо соответствующего элемента массива напишите "-:-". Т.е. если нужно поставить разделитель вместо 2-го элемента меню "stone":
$stone[1]='-:-'