Инструкции управляющие ходом игры

Следующие инструкции управляют ходом игры и сменой уровней. Они не могут вызываться непосредственно внешними DLL-функциями.

save («name», var);
Сжимает, шифрует и сохраняет текущее состояние игры (в файле с именем name плюс число var) в папке игры (см. savedir). Чтобы эта инструкция работала должен быть загружен уровень. Файл будет записан через один фрейм после выполнения инструкции. Имя сохраненного файла составлено из первых пяти символов данной строки плюс число с тремя цифрами, заданное переменной var плюс расширение .sav. Следующие элементы игры будут сохранены:
— Текущая карта уровня,
— Все переменные кроме var_info и var_nsave,
— Все указатели,
— Все измененные строки,
— Все функции клавиш и кнопок (on_f1 и т.д.),
— Состояние всех в настоящее время выполняющихся функций,
— Все объекты view, panel, и text ,
— Все сущности, которые имеют назначенное им действие.

load («name», var);
Загружает, распаковывает и декодирует игру, которая была сохранена с именем name плюс число из трех цифр, данных в var. Файл будет загружен через один фрейм после инструкции.

save_info («name», var);
Подобно save; но сохраняет только информационные переменные, все bitmap’ы, измененные freeze_map, и все измененные строки.

load_info («name», var);
Подобно Load; но загружает только значения, сохраненные командой save_info.

level_load (string);
Смена уровня; загружает новую WMB-карту уровня, имя файла которого содержится в string. Палитра переключается в палитру этого уровня. Все текущие сущности в старом уровне удалены, все указатели на них больше не могут использоваться. Все действия, назначенные сущностям, или функции, вызванные локальными сущностями — (т.е. все функции, чей указатель my- не ноль) — автоматически прерываются при выполнении следующий инструкции wait. Однако сам скрипт продолжит выполняться и не будет изменен даже если в WED новому уровню был назначен другой скрипт. Через один фрейм после выполнения этой инструкции уровень будет загружен, через два фрейма после инструкции локальные сущности будут созданы на новой карте и их действия(action) начаты.

switch_video (varres, varbits, varscreen);
Меняет разрешение экрана в соответствии со значением varres (1.. 10), с глубиной цвета varbits (8, 16, или 32) в полноэкранном (varscreen = 1) или оконном (varscreen = 2) режиме. Значение 0 означает не изменять параметр. Максимальная цветовая глубина и разрешение зависят от редакции 3DGameStudio. Цветовая глубина не может быть изменена в процессе игры (см. video_depth). 16 и 32-битовые режимы используют аппаратные 3D-ускорения через Direct3D 7.0. 8-битовая глубина цвета, с другой стороны, использует быстрый программные renderer и будет работать даже на старых PC. В 16- и 32-битовых режимах переключение между полноэкранным и оконным режимами возможно только если разрешение рабочего стола тот же самое что в игре. Возможны следующие разрешения экрана:
320×200 — 1
320×240 — 2 (default mode for flythrough)
320×400 — 3 (not supported by some adapters)
400×300 — 4 (not supported by some adapters)
512×384 — 5 (won’t run on some laptops)
640×480 — 6
800×600 — 7
1024×768 — 8
1280×960 — 9
1600×1200 — 10
Если новый видео режим не доступен по кааим-то причинам, ничего не случится, но переменная result будет установлена в 0; иначе, после успешного переключения, она будет = 1. Переменные video_mode, video_depth, video_screen, и screen_size после выполнения инструкции получат новые значения.

exit;
Заканчивает игру и выключает движок.

Добавить комментарий