( +5.95 5,95 0.00 )

[Гайд] Ограничение времени на прохождение уровня. Часть 2

Автор: TDEDETD
Всем привет! Сегодня я хочу представить вам продолжение гайда по созданию механизма для ограничения времени на прохождения. Если вы еще не видели первую часть гайда, то настоятельно рекомендую прочитать (Часть 1), потому что без ознакомления с первой частью читать вторую будет практически бессмысленно. Материала слишком много, поэтому объединять все в одну статью было бы не самой лучшей идеей. Ну чтож, поехали!

Прерывание по нажатию кнопки
Как было сказано в краткой, прерывание механизма требуется для того, чтобы можно было остановить прохождение по желанию, либо когда дальнейшее прохождение заведомо безуспешно (например, если вы провалились в яму). Так можно без всяких промедлений начать прохождение заново.
Для начала создадим scoreboard под названием “break”, с помощью которого мы будем обнаруживать нажатие кнопки. Для этого в том месте, где происходит инициализация механизма, ставим командный блок с командой: “ /scoreboard objectives add break dummy”. К таймеру подключаем командный блок и генератор коротких импульсов к нему для проверки на активацию прерывания (команда “testfor @p[score_break_min=1]”).

[Гайд] Ограничение времени на прохождение уровня. Часть 2


Теперь осталось установить кнопку, на которую и будет нажимать игрок. У меня на треке, например, есть провал, из которого не выбраться (если вы не в креативе конечно). Поставим кнопку там! Воспользуемся нажимной плитой, а под нее установим командный блок с командой: “ /scoreboard players set @a break 1”.

[Гайд] Ограничение времени на прохождение уровня. Часть 2
[Гайд] Ограничение времени на прохождение уровня. Часть 2

Теперь вам не придется сидеть в этой яме и дожидаться, пока закончится время. Удобно, не правда ли! И такие кнопки можно ставить где угодно и сколько угодно!

[Гайд] Ограничение времени на прохождение уровня. Часть 2

Прерывание по вхождению в зону
Хоть кнопками и можно обойтись, есть еще один замечательный способ прервать прохождение. Все, что потребуется, это координаты и радиус целевой зоны. Эти зоны, как вы понимаете, будут иметь форму шара. На скриншоте ниже я с помощью железных блоков наглядно показал выбранную место, где мы будем создавать зону прерывания.

[Гайд] Ограничение времени на прохождение уровня. Часть 2

Не обращайте внимания на то, что верхняя точка зоны будет чуть выше трека. Просто я хотел сделать как можно больший радиус (в данном случае это 2). При успешном прыжке игрока не заденет, так как если он и попадет в зону, то только краешком и на слишком короткий промежуток времени, чтобы testfor его засек. На такие мелочи я рекомендую обращать внимание.
Теперь запишем координаты центра зоны.

[Гайд] Ограничение времени на прохождение уровня. Часть 2

Координаты есть, осталось добавить их в командный блок, к которому мы в свою очередь подключаем к генератору коротких импульсов (testfor @p[-210,9,-1692,2]).

[Гайд] Ограничение времени на прохождение уровня. Часть 2

Готово! Если с этим прыжком мы не справимся, механизм прервется автоматически, и нас телепортирует на старт. Таким образом можно создавать столько зон, сколько вам понадобиться. Получается что-то типа полки для книг, на которую мы можем класть новые книги и создавать свои библиотеки!

[Гайд] Ограничение времени на прохождение уровня. Часть 2

Частный случай зон прерывания
Теперь пройдемся по частному случаю, например, когда мы имеем дело с пустотой. Конечно, мы можем оставить все, как есть: игрок будет падать в пропасть, а потом возрождаться и снова проходить. Но это так нудно! В этом случае мы можем создать одну огромную зону. Ознакомимся с примером.

[Гайд] Ограничение времени на прохождение уровня. Часть 2
[Гайд] Ограничение времени на прохождение уровня. Часть 2

Движок уровня абсолютно ничем не отличается, просто по-другому расположены элементы. Все, что осталось сделать, это просто снять координаты примерно центра трассы и вбить в командный блок.

[Гайд] Ограничение времени на прохождение уровня. Часть 2

Возьмем какой-нибудь большой радиус, с помощью которого можно обхватить площадь всей трассы. 500, я думаю, сойдет. Теперь получим координату y. Для этого из текущей координаты (62) вычтем радиус зоны (500) и еще парочку блоков для перестраховки. Для моего примера получилось -440. Это все.

[Гайд] Ограничение времени на прохождение уровня. Часть 2

Эффект неуязвимости длиной в одну секунду (/effect @a 11 1 5) нужен для того, чтобы нас не размазало в лепешку о старт, когда нас туда телепортирует.

Пример
Ну а теперь самое интересное, разберем один интересный пример. Наверняка многие знают замечательный режим на серверах под названием tnt-run. Кто не знает, сейчас все поймете.

[Гайд] Ограничение времени на прохождение уровня. Часть 2

Предположим, мы хотим сделать задание: продержаться 60 секунд на этом поле. Если мы упадем вниз, то проиграем, и мы заспавнимся на старте, а если выиграем – тоже телепортирует на старт, но с поздравительной надписью. Механизм от предыдущих почти ничем не отличается, поэтому я просто приведу список параметров для 3-х этапов работы по отдельности.
1. Инициализация
/spawnpoint @a 493 4 -251
/scoreboard objectives add death deathCount
/scoreboard objectives add time dummy Time
/effect @a 1 1000 2

2. Работа
/scoreboard players remove @a time 1
testfor @p[score_death_min=1]
testfor @p[score_time=0]

3. Завершение
/clone 457 4 -306 488 6 -274 456 2 -268 masked (восстанавливаем игровое поле)
/scoreboard objectives remove time
/effect @a 1 0
/scoreboard objectives remove death

Также выкладываю архив со всеми мирами из гайда, чтобы вы по желанию смогли скачать и изучить механизм еще лучше.
Скачать:
Внимание! Гости не имеют прав для просмотра скрытого текста, зарегистрируйтесь.

На этом все! Если у вас есть вопросы по гайду, то добро пожаловать в комментарии! Всем удачи!
  1. ТруЪ Олдфаги-с

    20 апреля 2015 22:08

    -1

    Самолайк. Ну за старание поставлю всё же 4 мем
  2. Посетители

    20 апреля 2015 22:14

    0

    KillerHard, да, самолайк. А кто запрещал?)
  3. Посетители

    20 апреля 2015 23:50

    +1

    TDEDETD,
    Злые Алтфаги и дядьки мадыраки, внучок из пятого поколения
  4. Посетители

    21 апреля 2015 00:05

    0

    frp_MASTER, не слыхал о таком. Ну в конце концов, если в правилах не запрещено, а возможности сайта позволяют, то с какой стати я не должен этим пользоваться?
  5. ТруЪ Олдфаги-с

    21 апреля 2015 02:51

    +1

    Концепт неплохой. В плане оформления мне тоже всё понравилось. Также, понравилось подробное описание механизма и команд, задающих его работу. Да, неплохое продолжение моих старых начинаний. В общем, всё замечательно. Пятёрка.
  6. Дедушки

    21 апреля 2015 07:37

    -2

    ArtemkaFominLive,
    чо, не сдох еще? жаль
  7. Посетители

    21 апреля 2015 08:42

    0

    пятка
  8. Олдфаги

    21 апреля 2015 10:12

    +3

    5
    Внимание! Гости не имеют прав для просмотра скрытого текста, зарегистрируйтесь.
  9. ТруЪ Олдфаги-с

    22 апреля 2015 02:30

    +1

    Неплохо
  10. Дедушки

    30 апреля 2015 09:56

    +4

    Пять.
  11. Посетители

    25 мая 2015 19:30

    +1

    Хорошо,5 мем
Для написания комментария зарегистрируйся на сайте, это займет всего пару минут, голосуй за новости, зарабатывай репутацию.

Последние сообщения с форума

Название темы
Статистика
Последнее сообщение

Просмотров: 764

Ответов: 7

Просмотров: 139633

Ответов: 671

Ошибка генерации.

Тема в разделе: Моддинг

Просмотров: 44

Ответов: 0