1)Где писать скрипт? Есть два способа: через редактор скриптов (я им пользоваться не умею так что ничего сказать не могу), и собственно в саму карту. Открываем редактор, и открываем меню Инструменты - Спецификация карты. Выбираем вкладыш событие, и создадим новое (добавить). Вот тут то и пишутся скрипты. Начнём писать наш скрипт. Первым делом выбираем английскую раскладку и пишем: ZVSE
ZVSE? Это что ещё за ерунда? Это что то типа волшебного слова. Это даёт компу понять что это скрипт а не просто сообщение. Запомните его хорошенько. Без него ни один скрипт не пашет!
Идём дальше… Есть 3 вида команд.
!? – триггер
!! – реактор
!# - инструкция
Разбираем по порядку. Триггер – это условия выполнение команды. Реактор – сама команда. Всегда идёт после триггера. Инструкция – тот же реактор, но может стоять где угодно. Триггер для его использования не требуется. Действует с самого начала игры.
Идём дальше. Для создания нашего скрипта нам нужно условие выполнение команды. То есть телепортация будет выполняться только при выполнении этого условия. Одним из этих условий является посещение объекта. Добавим в наш скрипт это условие.
ZVSE
!?OB5/28/0;
Разбираемся … !? – условие выполнение команды. OB – приёмник объекта. Это значит что условие будет связано с объектом. 5/28/0 – точка расположения объекта где 5 число клеток сверху, а 28 слева. 0 означает то что объект на поверхности, а если было бы не 0 а 1 то под землёй. Точки 5, и 28 должны указывать точно в точку входа в объект. Чтобы узнать количество клеток с верху и с лева взгляните на разметку у вас в редакторе.
; - означает конец этой строчки.
Поставьте любой объект не имеющий свойств в эту точку (или в свою но тогда впишите в скрипт новые координаты объекта вместо старых. Например !?OB1/1/0. Не забудьте сохранить скрипт перед тем как выйти в редактор!
Вот и готово. Это означает то что при посещении объекта в точке 5/28/0 будет выполняться команда.
Пришло время написать саму команду. Пишем:
ZVSE
!?OB5/28/0;
!!IF:Q1^Хотите телепортироваться? ^;
Снова разбираемся. !! – реактор, или команда. IF – приёмник вывода сообщений. :Q1 – сообщение с вариантом «Да», «Нет». ^Хотите телепортироваться?^ - само сообщение. ; -конец строчки. Кстати если прописать так !!IF:^Текст^, то просто появиться сообщение без «да», и «нет».
Что у нас получилось теперь? Это означает то что при посещении объекта в точке 5/28/0 выдать сообщение с двумя вариантами «ДА», и «НЕТ»
Теперь нужно прописать саму телепортацию если ответ «ДА».
ZVSE
!?OB5/28/0;
!!IF:Q1^Хотите телепортироваться? ^;
!!HE-1&1:P48/58/0;
Разбираемся: !! – команда. HE-1 – приёмник героя. То есть команда связана с героем ( а -1 означает текущего героя. Тоесть команда произойдёт с тем героем который подошёл к объекту). &1 – сработает если объект «Да». Если нет то вроде 0 хотя не уверен. :P48/58/0; – Телепортация в точку 48/58/0; Вот и всё!
Что у на получилось? ? Это означает то что при посещении объекта в точке 5/28/0 выдать сообщение с двумя вариантами «ДА», и «НЕТ», и если ответ «да», то телепортировать героя в точку 48/58/0: Поставьте день выполнения события 600 внизу окна и нажмите окей. Зачем 600? Чтобы скрипт не появился в первый же день как простое сообщение с текстом. Не забудьте сохранить карту. Готово. Можете тестить. Если что не ясно пишите. Отвечу. Как видите всё очень просто!
Автор: Soul Reaver
Взято с df2.ru
Точная ссылка на материал:
ссылка