|
Данный материал является собственностью сайта "Клуб Адвантюристов" и не может быть использован на других ресурсах без указания авторства и ссылки на этот сайт!
© Larisalisa
Добавляем в игру календарь.
01. Создаем переменные (если не знаете, что это такое см. предыдущие уроки): минута, час, сутки, месяц, год=2007, день. Устанавливаем начальные значения.
02. Создаем задачи: "#минута", "#час", "#сутки", "#месяц", "#год", "#день", "#ночь".
03. Все они должны протекать во всех локациях: вкладка "Description", поле "Task can be complited in --> All rooms".
Все они должны быть повторяемыми: на вкладке "Reversible" ставим галочку в графе "Repeatable task". И далее в каждой:
04. Окно задачи "#минута": на вкладке "Actions" выводим результат:
Change минута BY exact value 1
05. Окно задачи "#час": на вкладке "Restrictions" ставим условия выполнения (зависит от того, сколько Вы хотите выделить ходов для Вашей минуты, у нас это будет 6):
минута must be greater than or equal to 7
На вкладке "Actions" выводим результат:
Change час BY exact value 1
Change минута TO exact value 0
06. Окно задачи "#сутки": на вкладке "Restrictions" ставим условия выполнения:
час must be greater than or equal to 25
На вкладке "Actions" выводим результат:
Change час TO exact value 1
Change сутки BY exact value 1
07. Условимся, что у нас будет Лунный календарь, по 28 дней. Иначе слишком сложная календарная модель получится. Окно задачи "#месяц": на вкладке "Restrictions" ставим условия выполнения:
сутки must be greater than or equal to 29
На вкладке "Actions" выводим результат:
Change сутки TO exact value 1
Change месяц BY exact value 1
08. Окно задачи "#год": на вкладке "Restrictions" ставим условия выполнения:
месяц must be greater than or equal to 13
На вкладке "Actions" выводим результат:
Change месяц TO exact value 1
Change год BY exact value 1
09. Окно задачи "#день": на вкладке "Restrictions" ставим условия выполнения:
час must be greater than or equal to 7
На вкладке "Actions" выводим результат:
Change день TO exact value 1
(что у нас соответствует понятию "день")
10. Окно задачи "#ночь": на вкладке "Restrictions" ставим условия выполнения:
час must be less than or equal to 6
На вкладке "Actions" выводим результат:
Change день TO exact value 0
(что у нас соответствует понятию "ночь")
11. Для каждой из этих задач создаем по одноименному событию (чтобы не запутаться): "минута", "час", "сутки", "месяц", "год", "день", "ночь".
Запускаем каждую немедленно: отмечаем графу "Immediately".
Зацикливаем все: ставим галочку в графе "Restart this event as soon as it finishes".
На вкладке "Advanced" в нижней графе выбираем для каждого события задачу с его именем: "Execute task --> #минута" (для события "минута").
12. Открываем словарь (если не знаете, как, см. предыдущие уроки) и вставляем:
[месяц=1]|Января
[месяц=2]|Февраля
[месяц=3]|Марта
[месяц=4]|Апреля
[месяц=5]|Мая
[месяц=6]|Июня
[месяц=7]|Июля
[месяц=8]|Августа
[месяц=9]|Сентября
[месяц=10]|Октября
[месяц=11]|Ноября
[месяц=12]|Декабря
13. Создаем задачу, которую будет вводить игрок, чтобы узнать время, например: "время" или "дата". Отмечаем ее для ВСЕХ локаций и делаем повторяемой (см. выше). В поле сообщения пишем:
Время %час%.0%минута%. Сегодня [сутки=%сутки%]-е [месяц=%месяц%] %год% года.
Что выведет на экран фразу:
"Время 8.01. Сегодня 1-е января 2007 года."
Или так:
Время %час%.0%минута%. Сегодня [сутки=%сутки%]-е [месяц=%месяц%] %год% года.
На экране будет фраза:
"Время 8.01. Сегодня 1 января 2007 года."
Понятие "день-ночь" добавлено в качестве "расширителя". Если переменная "день"="0", у нас: =ТАКОЕ-ТО= описание локации, события происходят =ТАК-ТО=, появляются-пропадают объекты, персонажи совершают те или иные действия - все зависит только от полета Вашей фантазии! Можно много чего придумать.
|
|
|