Курс для новичков

Материал из ML WIKI
Версия от 23:43, 31 марта 2022; Vorobey (обсуждение | вклад) (Защитил страницу Курс для новичков ([Редактирование=Разрешено только администраторам] (бессрочно) [Переименование=Разрешено только администраторам] (бессрочно)))
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)

«Курс для новичков» будет полезен людям, делающим первые шаги в Редакторе игр. Здесь собраны самые базовые темы, которые необходимы для создания самых примитивных игр, к примеру: PvP-Parkour, MagmaBlock, Parkour, SkySurvival и прочее.

Внешний вид игры

Внешний вид игры делится на 3 подпункта:

  • World example.png
    Название игры должно вкратце описывать саму игру. Чем индивидуальнее и красочнее название игры, тем больше внимания она будет привлекать. Для украшения игры можно использовать Unicode символы и различные цвета (посмотреть список всех доступных цветов можно командой /colors)
  • Описание игры должно описывать игру. Отфильтруйте слова-паразиты и оставьте только самое важное. Создать вторую, третью... строку можно с помощью \n в конце предложения.
  • Иконка игры играет немаловажную роль. Чем ярче и необычнее иконка, тем больше внимания она будет привлекать.

Настройка игры

  • Описание игры - текст под Названием игры
    • Разрешено использовать различные цвета для описания
    • Создание мультистрочного описания осуществляется с помощью \n в конце строки
    • Лимит описания 256 символов
    • Лимит в высоту 9 строк
  • Название игры
    • Разрешено использовать различные цвета для названия игры
    • Длина до 40 символов
    • Лимит 1 строка
  • Точка возрождения - место, в котором будут оказываться игроки при входе в игру
    • Левый клик - установить точку возрождения на текущее местоположение
    • Правый клик - сбросить на стандартное
  • Продвижение игры в Топ
    • 10/110/1200 Баллов - покупка баллов за золото, от которых зависит место игры в Топе (узнать количество золота - /gold)
    • Реклама игры - сообщение, которое выводится всем игрокам, находящимся в хабах или в других пользовательских играх
  • Строительство
    • Возможность разрешить/запретить строить определённым игрокам
    • Возможность разрешить/запретить строить всем игрокам
  • Доступность игры - возможность зайти в игру
    • В закрытую игру могут войти только владелец игры и игроки, находящиеся в белом списке игры
  • ID игры
    • Возможность сменить ID игры
    • Общая информация о ID игры, а именно:
      • Текущий ID игры
      • Числовой начальный ID игры
      • IP игры
  • Иконка игры
    • Возможность сменить иконку игры (каталог всех голов выводиться командой /headdb)
  • Монетизация
    • Возможность зарабатывать золото/реальные деньги. Условие: 1000 уникальных посетителей
  • Настройки игры
    • RolePlay команды
      • Включить/выключить доступ к командам /lay, /sit, /stay
    • Компас игр - возможность зайти в другую игру. По умолчанию компас находиться в девятом слоте
      • Включить/выключить выдачу компаса
    • Флаги
      • Разрешить использовать кнопки/двери/люки
      • Распространение огня на территории
      • Спавн плохих мобов на территории
      • Взрывы на территории
  • Настройки прав
    • Белый список
      • Левый клик - добавить игрока в белый список
      • Правый клик - удалить игрока из белого списка
    • Чёрный список
      • Левый клик - добавить игрока в чёрный список
      • Правый клик - удалить игрока из чёрного списка
    • Полёт
      • Левый клик - разрешить/запретить летать игроку
      • Правый клик - разрешить/запретить летать новым игрокам
    • Режим разработчика
      • Левый клик - разрешить/запретить игроку доступ к Режиму разработчика (/dev)
  • Настройки разработчика
    • Добавить уровень для кода (максимальное количество уровней - 10)
    • Просмотреть все переменные в игре (/plot vars)
    • Удалить все переменные в игре
  • Перейти в режим разработчика
    • ЛКМ/ПКМ для перехода (/dev)
  • Перейти в режим строительства
    • ЛКМ/ПКМ для перехода (/build)
  • Перейти в режим игры
    • ЛКМ/ПКМ для перехода (/run)
  • Общая информация (листок бумаги)
    • Название игры
    • Количество лайков за всё время
    • ID игры

Продвижение игры в топе

Главное условие популярности игры - её качество. Она должна быть хорошо оформлена, качественно сделана, оригинальна и проста в освоении. Без всех этих качеств, даже самый эффективный способ продвижения не сможет сделать игру популярной. Однако, если игра обладает всеми описанными качествами, но так и не сыскала популярности среди игроков, следующие способы могут помочь ей.

Баллы

От баллов зависит место игры в "Топ 1000 Игр". Они покупаются за золото с помощью команды /ad и сбрасываются через неделю после покупки.

Реклама игры

В момент рекламы игры, всем игрокам, находящимся в Лобби или в других пользовательских играх, отправляется сообщение с призывом посетить прорекламированную игру. Покупается командой /ad за 50 золота. Задержка рекламы - 5 минут, однако она индивидуальна. Каждый игрок может прорекламировать игру, вне зависимости от того, рекламировал ли другой игрок игру в течении 5-ти минут.

Рекомендации

Независимо от баллов, самые интересные и уникальные игры в Рекомендациях всегда находятся на первой строчке любой страницы. Рекомендованные игры заслужили своё место уважением от игроков и Администрации. Чтобы игра получила шанс попасть в Рекомендации, необходимо оставить здесь заявку.

В случае, если игра получила одобрение Администрации на попадание в Рекомендации, владелец получает 10.000 золота, а сама игра может попасть в дайджест, который публикуется в официальной группе VK и Discord сервере с кратким описанием игры.

Сообщения в чате

Рекламные сообщения в Креатив-чате являются бесплатным способом продвижения своей игры, однако могут не возыметь эффекта, подобному от команды /ad. Красивого оформления, указания основной сути игры и команды для посещения игры будет достаточно для этого способа, но при наличии доступа к цветному чату (/colors), рекомендовано использовать их в рекламе.

Реклама в CC.png


Отправить сообщение в креатив-чат можно командой /cc <текст>

Описание блоков-функций

Категории

Событие

Данную категорию имеют 3 блока-функций: Событие игрока, Блок цикла, Функция. Важная особенность этих блоков в том, что они ставятся только вначале строки, т. е. исключительно на голубое стекло.

Условие

Данную категорию имеют 5 блока-функций: Если игрок, Если переменная, Если существо, Если игра, Иначе. Данные блоки ставятся только на серое стекло.

Действие

Данную категорию имеют 5 блока-функций: Действие игрока, Игровое действие, Установить переменную, Выбрать объект, Вызвать функцию. Данные блоки ставятся только на серое стекло.

Функционал

Событие игрока

Категория: Событие

При выполнении определённого события, которое можно указать в самом блоке, будет активироваться код, который идёт после Событие игрока.

Если игрок

Категория: Условие

Если игрок проверяет, выполнил ли игрок определённое условие, которое можно указать в самом блоке. В случае выполнения, код, который стоит между поршнями, будет активирован.

Действие игрока

Категория: Действие

Действие игрока позволяет манипулировать игроком - телепортировать, отправлять сообщения, менять здоровье, наносить урон и т.д.

Игровое действие

Игровое действие.png

Категория: Действие

Игровое действие ещё можно назвать Управление миром. Оно позволяет создавать голограммы, менять игровое время, спавнить мобов/NPC/предметы, создавать эффекты, менять/создавать/убирать блоки и т.д.

Присвоить переменную

Категория: Действие

Присвоить переменную позволяет менять значение Динамической переменной - установить определённое значение, изменить значение, перезаписать и т.д.

Если переменная

Категория: Условие

Если переменная позволяет проверять значение Динамической переменной. Если Динамическая переменная имеет такое же значение, как и в Если переменная, то код, который стоит между поршнями, будет активирован.

Если существо

Если существо.png

Категория: Условие

Если существо позволяет узнать, где находится существо, какого типа является моб, на чём стоит существо, является ли он снарядом и т.д. Если существо выполнит определённые условия, указанные в Если существо, то код, который стоит между поршнями, будет активирован.

Выбрать объект.png

Выбрать объект

Категория: Действие

Выбрать объект позволяет выбрать определённый объект и работать с ним. Выбирать можно игроков, мобов, NPC, снаряды, предметы, которые валяются на земле. Чтобы произвести какое-либо действие над объектом, сразу после Выбрать объект надо поставить само действие. К примеру, для телепортации выбранного игрока, после Выбрать объект надо поставить Действие игрока Телепортация.

Если игра

Категория: Условие

Если игра позволяет производить глобальные проверки, такие как: блок равен, контейнер содержит предмет, табличка содержит текст. Если условие, заданное в Если игра, выполнилось, то код, который стоит между поршнями, будет активирован.

Иначе

Категория: Условие

Если сущность не выполнила определённое условие, то код, который стоит между поршнями иначе, будет активирован. К примеру: если в Если игрок Имя равно указать определённый Ник, а после Если игрок поставить иначе, то если другой игрок попытается выполнить это действие, будет активирован код, который между поршнями Иначе.

Вызвать функцию

Вызвать функцию.gif

Категория: Действие

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

Функция

Функция.png

Категория: Событие

Функция может хранить в себе код также, как и Событие игрока или Цикл, однако в неё нельзя поставить Событие игрока или Цикл. Код, написанный в Функция, может быть вызван с помощью Вызвать функцию.

Цикл

Категория: Событие

Цикл.png

Цикл повторяет один и тот же код с определённым промежутком. Промежуток можно отрегулировать с помощью кликов по табличке. ПКМ по табличке - увеличивает промежуток на 1 тик; Шифт и ПКМ - уменьшает промежуток на 1 тик.

1 секунда = 20 тиков. Если взять переменную Число, ввести в неё число и нажать по табличке, то промежуток станет идентичен числу переменной Число. Максимально минимальный промежуток - 5 тиков.

Синтаксис

Синтаксис это правильная расстановка блоков-функций, то-есть что за чем идёт и как оно идёт.

1. Блоки-функции с категорией "Событие" всегда ставятся только вначале (на голубое стекло);

2. Блоки-функции с категорией "Условие" и "Действие" ставятся только на светло-серое стекло;

3. Поршни - пределы условия. Если Действие нужно выполнять только при достижении определённого условия, то Действие нужно поставить между поршнями условия;

4. Условий может быть много, главное, чтобы при установки Условия ставилось 2 поршня (пределы условия);

5. Код, который идёт после Выбрать объект, будет выполняться над выбираемым объектом;

6. Блок-функция Иначе ставится только после поршня Условия;

Вспомогательные функции

Переменные

Название переменных Текст, Число, Динамическая переменная можно изменить, если взять их в руку и написать что-либо в чат. Когда переменная будет правильно названа, её можно положить в блок-функцию.

Переменную можно получить нажав по железному слитку (по умолчанию 9-й слот).

  • Текст - переменная, позволяющая хранить текст. Ею можно называть предметы/сущности, выводить сообщения/титлы и прочее.
  • Число - данная переменная может хранить лишь числа (в том числе число Pi и e). Если нужно установить в блок-функцию число, к примеру, в функцию Действие игрока Урон, то следует использовать переменную Число. Если положить переменную Текст, то код работать не будет.
  • Местоположение - позволяет хранить в себе местоположение чего-либо. Если нажать ПКМ по пустоте, то запишутся координаты, на которых Вы стоите. Если нажать ПКМ по блоку, то запишутся координаты блока. ЛКМ позволяет перемещаться между dev-миром и игровым миром. Шифт + ЛКМ телепортирует к записанному местоположению.
  • Эффекты зелья - позволяет выбрать зелье. Продолжительность зелья можно менять, если взять в руку выбранное зелье и написать в чат, к примеру, "4:30". Силу зелья можно изменить, если написать в чат число, к примеру, 3. Таким образом можно получить зелье с продолжительностью в 4 минуты 30 секунд и силой 3.
  • Динамическая переменная - позволяет хранить в себе текстовые и числовые данные. Крайне часто используется с плейсхолдерами, благодаря чему позволяет хранить в себе количество смертей, убитых игроков, очков, деньги и прочее. Посмотреть на все переменные можно командой /plot vars. Динамическую переменную можно разделить на 2 типа - глобальная и локальная.
    • Глобальная - единственная в своём роде. Позволяет хранить количество игроков онлайн, проголосовавших за игру, уникальных посетителей и прочее.
    • Локальная - используется с плейсхолдерами. Позволяет хранить количество смертей, убитых игроков, очков и т.д.
      • Одна из немало важных функций динамической переменной - возможность сохранить данные навсегда. Данная функция позволяет сохранить данные о игроке даже, если он выйдет из игры. Благодаря этому можно хранить очки игрока, тем самым давая ему возможность продолжить игру в любое время. Для сохранения Динамической переменной её нужно взять в руки, нажать Shift и ПКМ. Под названием будет добавлено слово "СОХРАНЕНО".
  • Игровое значение - тип переменной, которую нельзя изменить. Она изменяется в зависимости от параметров игры и игроков в ней. Игровое значение имеет 3 раздела - Значения сущности, Значения события, Значения игры.
    • Значения сущности - позволяет получить какие-либо данные об игроке - пинг, здоровье, уровень голода, местоположение, текущее значение опыта и т.д.
    • Значения события - позволяет получить данные о событие дамага, сообщении игрока, локации блока, транзакции, товары, связанные с MineLand Studio и т.д.
    • Значения игры - позволяет получить информацию о количестве игроков онлайн, лайков, уникальных посетителей, ID игры и т.д.
  • Эффект частиц - даёт возможность выбрать эффект для дальнейшего использования.

Утилиты разработки

  • Стрелка НЕ - используется как дополнение ко всем блокам-функций с категорией Условие и с Выбрать объект. Позволяет изменить условие в противоположном направлении от его первоначальной формы. Применяется кликом по табличке.
  • Перемещатель кода 3000 - позволяет сдвинуть код.
  • Добавить уровень для кода - добавляет дополнительный этаж для кода (максимальное количество этажей - 10).
  • Настройки игры - позволяет изменить настройки самой игры (права, флаги, название, описание и т.д.).

Плейсхолдеры

Плейсхолдер (от англ. Placeholder «Заменитель») - функция, позволяющая держать определённую информацию об определённом игроке. Плейсхолдер используется для сохранения количества убийств, смертей, пройденных блоков, сделанных действий и т.д.

Плейсхолдеры можно разделить на 2 типа.

  1. Интегрированный - вшит в саму блок-функцию. Достаточно зажать Shift и нажать ПКМ по табличке Действие игрока или Если игрок.
  2. Внешний - создаётся с помощью Динамической переменной или Текст. Всего есть 10 плейсхолдеров:
    1. %player% - Выбор игрока от которого исполняется код
    2. %damager% - Выбор игрока, который ударил какую либо сущность
    3. %victim% - Жертва, кого ударил %damager%
    4. %killer% - Убийца из события
    5. %selected% - Выборка, которая выбирает сущностей по отдельности и выполняет код для каждого игрока отдельно
    6. %selection% - Работает как %selected%, но создаёт отдельную переменную с никами игроков в выборке
    7. %shooter% - Тот, кто выстрелил из лука в какую-либо сущность
    8. %default% - заменяется на имя игрока или моба, который стоит там по умолчанию
    9. %entity% - выбирает имя энтити
    10. %random% - выбирает рандома

Самые популярные и востребованные плейсхолдеры - %player% и %victim%. Другие же используются в более продвинутом кодинге или в определённых случаях.

Примеры использования плейсхолдера:

Сообщение "Вы ударили <ник жертвы>" должно выводиться тому, кто ударил; сообщение "Вас ударил <ник нападавшего>" должно выводиться тому, кого ударили.

Это можно сделать следующим образом:

Событие игрока (Игрок нанёс урон игроку) ➞ Действие игрока (Отправить сообщение) {Жертва} ➞ Действие игрока (Отправить сообщение)

Детальнее:

  1. Событие игрока (Игрок нанёс урон игроку) - запускает код, когда игрок наносит урон игроку
  2. Действие игрока (Отправить сообщение) {Жертва} | В сундук: Текст "Вас ударил %damager%" - отправляет в чат сообщение
  3. Действие игрока (Отправить сообщение) | В сундук: Текст "Вы ударили %victim%" - отправляет в чат сообщение

Итог: плейсхолдер - функция, позволяющая хранить в себе ник игрока из события. Теперь, если игрок ударит другого игрока, то ударившему игроку выведется сообщение "Вы ударили <ник жертвы>", а жертве отправится сообщение "Вас ударил <ник нападавшего>".

Динамическая переменная

Динамическая переменная похожа на коробку. Она может хранить в себе различные предметы (в данном случае значения - тексты, числа, местоположения, игровые значения и т.д.) и в нужный момент доставать их (воспроизводить). Таким образом, можно сохранять количество убийств, смертей, прыжков, пройденных уровней, очков и т.д. Однако, помимо обычных предметов, есть и предметы, которые находятся в ещё одной маленькой коробке. Их название - плейсхолдеры. Таким образом, огромная коробка, Динамическая переменная, имеет в себе маленькую коробку, плейсхолдер, которая содержит в себе определённый предмет (значение), к примеру - конфету. Получается, что, к примеру, за убийство игрока, игрок, убивший его, будет получать конфету. Стоит отметить, что места в обоих коробках неограниченное пространство, их может быть сколько угодно.

Допустим, если игрок убивает игрока, ему должно выдаваться 1 очко.

Событие игрока (Игрок убил игрока) ➞ Установить переменную (Установить (+))

Детальнее:

  1. Событие игрока (Игрок убил игрока) - запускает код, когда игрок убивает игрока
  2. Установить переменную (Установить (+)) | В сундук: Динамическую переменную %player%_kills и Число 1 - добавляет переменной число 1
    Динамическая переменная %player% kills 1.png

Теперь, если игрок убьёт другого игрока, то значение Динамической переменной %player%_kills именно этого игрока увеличиться на единицу, однако, если игрок перезайдёт в игру, то переменная %player%_kills удалится. Это можно исправить, если взять в руки Динамическую переменную, нажать Shift и ПКМ. Под названием будет добавлено слово "СОХРАНЕНО".

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

Событие игрока (Игрок убил игрока) ➞ Действие игрока (Отправить сообщение)

Разделение текста Пробел.png

Детальнее:

  1. Событие игрока (Игрок убил игрока) - запускает код, когда игрок убивает игрока
  2. Действие игрока (Отправить сообщение) | В сундук: Текст "Количество убийств: &r" и Динамическую переменную %player%_kills - отправляет в чат сообщение

После двоеточия в "Количество убийств: " следует написать ": &r" (или другой любой цвет - /colors) или в настройках Действие игрока Отправить сообщение выбрать параметр Разделение пробелом, иначе игроку напишет: Количество убийств:1

Создание кодов

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

Помощь по распознанию кода:

Пример кода: Событие игрока (Вход) ➞ Если игрок (Имя равно) ➞ Действие игрока (Отправить сообщение) {ВСЕ}

  • Вначале идёт название блок-функции, в примере это: Событие игрока, Если игрок и Действие игрока.
  • После название блок-функции идёт выбранная функция (выбрать функцию можно нажав ПКМ по табличке). В примере это: (Вход), (Имя равно) и (Отправить сообщение).
  • В конце может присутствовать плейсхолдер. В примере это {ВСЕ}. Плейсхолдер можно выбрать зажав Shift и кликом ПКМ по табличке.
  • "Текст", "Число", "Местоположение", "Игровое значение", "Эффекты зелья", "Динамическая переменная", "Эффект частицы" (с большой буквы) подразумеваются как «переменная», которую можно получить из железного слитка (по умолчанию 9-й слот).

PvP-Parkour

Одна из самых нашумевших игр. Её цель - пройти паркур и получить предметы, благодаря которым можно сражаться с игроками.

PvP-Parkour.png

Выдача предметов

Для выдачи предметов игроку нужно задействовать 3 блока-функций - Событие игрока, Если игрок, Действие игрока. Сам код будет выглядеть следующем образом:

Событие игрока (Игрок кликает правой кнопкой) ➞ Если игрок (Смотрит на блок) ➞ Действие игрока (Выдать предметы)

Детальнее:

  1. Событие игрока (Игрок кликает правой кнопкой) - запускает код, когда игрок нажимает ПКМ
  2. Если игрок (Смотрит на блок) | В сундук: блок или Местоположение - данное условие будет проверять блок, на который нажал игрок
  3. Действие игрока (Выдать предметы) | В сундук: предметы, которые игрок получит - выдаёт предметы

Важный момент, связанный с Если игрок Смотрит на блок.

  1. Блок-функция Действие игрока должна быть внутри Если игрок Смотрит на блок, то-есть между поршнями, иначе игрок будет получать предметы при каждом нажатии ПКМ вне зависимости от блока
  2. В верхние слои сундука Если игрок Смотрит на блок можно положить только блоки, а в нижние только Местоположение. Если положить блок, то, вне зависимости от местонахождения блока (проще говоря - на любой блок одинакового типа), код будет срабатывать. Если положить Местоположение, то игрок будет получать предметы только, если нажмёт ПКМ на тот самый выделенный блок

Данный код является основой всех PvP-Parkour.

Выдача предметов определённым игрокам

Теперь надо сделать особенный блок, кликнув на который только владелец игры/выбранные им игроки смогут получать предметы.

Событие игрока (Игрок кликает правой кнопкой) ➞ Если игрок (Смотрит на блок) ➞ Если игрок (Имя равно) ➞ Действие игрока (Выдать предметы)

Детальнее:

  1. Событие игрока (Игрок кликает правой кнопкой) - запускает код, когда игрок нажимает ПКМ
  2. Если игрок (Смотрит на блок) | В сундук: блок или Местоположение - данное условие будет проверять блок, на который нажал игрок
  3. Если игрок (Имя равно) | В сундук: Текст со своим ником/ником игрока, который будет иметь доступ - проверяет, кто именно выполняет действие. В случае совпадения ников - продолжает код, в случае несовпадения - ничего не делает
  4. Действие игрока (Выдать предметы) | В сундук: предметы, которые игрок получит - выдаёт предметы

Вывод сообщения в чат

Если игрок заходит в игру, то приятно будет сказать ему "Привет, приятной игры!".

Событие игрока (Вход) ➞ Действие игрока (Отправить сообщение)

Детальнее:

  1. Событие игрока (Вход) - запускает код, когда игрок заходит в игру
  2. Действие игрока (Отправить сообщение) | В сундук: Текст с названием "Привет, приятной игры!" - выводит сообщение в чат

Данное сообщение увидит только тот игрок, который зашёл в игру. Также можно использовать разные цвета (список всех цветов: /colors). К примеру: "&6&lПривет, приятной игры!".

Сохранение вещей при выходе из игры

Будет крайне обидно, если игрок потеряет все предметы после перезахода в игру, однако, это можно исправить.

Событие игрока (Выход) ➞ Действие игрока (Сохранить инвентарь)

Событие игрока (Вход) ➞ Действие игрока (Загрузить инвентарь)

Детальнее:

  1. Событие игрока (Выход) - запускает код, когда игрок выходит из игры
  2. Действие игрока (Сохранить инвентарь) - сохраняет нынешние предметы, которые находятся у игрока в инвентаре
  1. Событие игрока (Вход) - запускает код, когда игрок заходит в игру
  2. Действие игрока (Загрузить инвентарь) - выдаёт игроку предметы, которые у него были при выходе из игры

Сохранение вещей при смерти

После смерти предметы игрока выпадают из него и игрок их может потерять. Это можно решить следующим способом:

Событие игрока (Вход) ➞ Действие игрока (Сохранение инвентаря при смерти) Детальнее:

  1. Событие игрока (Вход) - запускает код, когда игрок заходит в игру
  2. Действие игрока (Сохранение инвентаря при смерти) - включает функцию сохранения инвентаря при смерти

Выдача предметов за голосование

Голосование (/like) позволяет игроку выразить своё удовлетворение игрой. Владелец игры получит 1 золото, а игрок может получить бонус от владельца игры.

Если игрок написал /like:

Событие игрока (Игрок лайкает за игру) ➞ Действие игрока (Выдать предметы)

Детальнее:

  1. Событие игрока (Игрок лайкает за игру) - запускает код, когда игрок пишет команду /like
  2. Действие игрока (Выдать предметы) - выдаёт предметы в сундуке

Повторная выдача предметов за /like (игрок перезашёл в игру):

Событие игрока (Вход) ➞ Если игрок (Голосовал) ➞ Действие игрока (Выдать предметы)

Детальнее:

  1. Событие игрока (Вход) - запускает код, когда игрок заходит в игру
  2. Если игрок (Голосовал) - проверяет, голосовал ли уже игрок
  3. Действие игрока (Выдать предметы) - выдаёт предметы

MagmaBlock

Не менее нашумевшая игра, которая собирала множество посетителей. Суть данной игры - ломать Магму и получать ресурсы, дальше уже сражаться/строить базу из полученных ресурсов. Аналоги MagmaBlock - LuckyBlock, Ломай землю, чтобы выжить и т.д.

Magma Block.png

Выдача рандомных предметов

Выдача рандомных предметов при ломании определённого блока (к примеру, магму) - основа сей игры.

Событие игрока (Игрок ломает блок) ➞ Если игрок (Смотрит на блок) ➞ Действие игрока (Выдать рандомные предметы)

Детальнее:

  1. Событие игрока (Игрок ломает блок) - запускает код, когда игрок ломает любой блок
  2. Если игрок (Смотрит на блок) | В сундук: блок (к примеру, магму) или Местоположение(я) блока(ов) - данное условие будет проверять блок, который игрок сломал
  3. Действие игрока (Выдать рандомный предмет) | В сундук: предметы, которые игрок будет получать при ломании блока - выдаёт рандомный предмет(ы)

Изменение игрового режима на Creative, Survival, Adventure, Spectating

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

Данный код можно сделать различными путями, однако одни из популярных способов - через чат и с помощью предмета.

Через чат:

Событие игрока (Событие чата) ➞ Если игрок (Сообщение равно) ➞ Действие игрока (Установить режим игры)

Детальнее:

  1. Событие игрока (Событие чата) - запускает код, когда игрок отправляет любое сообщение в чат
  2. Если игрок (Сообщение равно) | В сундук: Текст с любым названием, после которого будет изменятся игровой режим (обычно используют @gm 1, @gm 0, @gm 2, @gm 3. Собачка ( @ ) обязательно должна присутствовать вначале) - проверяет содержимое сообщения
  3. Действие игрока (Установить режим игры) | В сундуке: выбрать желаемый режим (Выживание, Творческий, Приключенческий, Наблюдательный) - меняет игровой режим

Через предмет:

Событие игрока (Игрок кликает правой кнопкой) ➞ Если игрок (Держит предмет) ➞ Если игрок (Имя равно) ➞ Действие игрока (Установить режим игры)

Детальнее:

  1. Событие игрока (Игрок кликает правой кнопкой) - запускает код, когда игрок нажимает ПКМ
  2. Если игрок (Держит предмет) | В сундук: предмет, нажав на который будет изменятся игровой режим - проверяет держащий в руке предмет
  3. Если игрок (Имя равно) | В сундук: Текст с никами игроков, у которых будет доступ к изменению игрового режима - проверяет, кто именно выполняет действие. В случае совпадения ников - продолжает код, в случае несовпадения - ничего не делает
  4. Действие игрока (Установить режим игры) | В сундуке: выбрать желаемый режим (Выживание, Творческий, Приключенческий, Наблюдательный) - меняет игровой режим

Для удобства можно создать дополнительный код, который будет выдавать предмет смены игрового режима определённым игрокам.

Событие игрока (Вход) ➞ Если игрок (Имя равно) | В сундук: Текст с никами игроков, у которых будет доступ к изменению игрового режима ➞ Действие игрока (Выдать предметы) | В сундук: предмет, изменяющий игровой режим.

Изменение игрового режима при входе в игру

По умолчанию, когда игрок заходит в игру, то имеет игровой режим Приключение, в котором нельзя ломать блоки. Однако, это можно исправить.

Событие игрока (Вход) ➞ Действие игрока (Установить режим игры)

Детальнее:

  1. Событие игрока (Вход) - запускает код, когда игрок заходит в игру
  2. Действие игрока (Установить режим игры) | В сундуке: выбрать желаемый режим (Выживание) - меняет игровой режим

Отключение PvP на спавне

Некоторые игроки любят показать своё "превосходство" над другими игроками (обычно новичками) и убивают их на спавне. Запретить получение урона на спавне можно следующим способом:

Событие игрока (Игрок получает урон) ➞ Игровое действие (Отменить событие)

Детальнее:

  1. Событие игрока (Игрок получает урон) - запускает код, когда игрок получает любой урон
  2. Игровое действие (Отменить событие) - отменяет событие

SkySurvival

SkySurvival - выживание в воздухе. Для выживания предоставляются все нужные блоки (дуб, камень, железо, алмазы и прочее). Цель игры - выживать, строить базы, веселиться, воевать.

SkySurvival.png

Бесконечная добыча ресурсов

В основе этой игры лежит код, позволяющий ломать блоки и получать с них ресурсы, однако, блок не будет ломаться (исчезать) и его можно будет сломать повторно, получив ещё раз ресурсы.

Событие игрока (Игрок ломает блок) ➞ Если игрок (Смотрит на блок) ➞ Игровое действие (Отменить событие) ➞ Действие игрока (Выдать предметы)

Детальнее:

  1. Событие игрока (Игрок ломает блок) - запускает код, когда игрок сломал любой блок
  2. Если игрок (Смотрит на блок) | В сундук положить блок, при ломании которого будут выдаваться предметы. К примеру: дуб - данное условие проверяет, какой блок сломал игрок
  3. Игровое действие (Отменить событие) - отменяет событие (блок никаким образом не сломается)
  4. Действие игрока (Выдать предметы) | В сундук: положить предметы, которые будут выдаваться. К примеру: 1 дуб - выдаёт предметы
Выдача рандомного количества предметов

Дополнение к Бесконечная добыча ресурсов. Данный код будет особенно полезен для Алмазов, Редстоуна, Лазурита, Эмеральдов.

Событие игрока (Игрок ломает блок) ➞ Если игрок (Смотрит на блок) ➞ Игровое действие (Отменить событие) ➞ Действие игрока (Выдать рандомный предмет)

Детальнее:

  1. Событие игрока (Игрок ломает блок) - запускает код, когда игрок сломал любой блок
  2. Если игрок (Смотрит на блок) | В сундук: положить блок, при ломании которого будут выдаваться предметы. К примеру: лазурит - данное условие проверяет, какой блок сломал игрок
  3. Игровое действие (Отменить событие) - отменяет событие (блок никаком образом не сломается/исчезнет)
  4. Действие игрока (Выдать рандомный предмет) | В сундук: положить разное количество предметов, то-есть в первый слот, к примеру, 1 лазурит, во второй слот 2 лазурита, в третий 3 лазурит и так далее. Шансы выпадения можно регулировать, если положить одинаковое количество лазурита, к примеру 3 лазурита, в разные слоты, то шанс выпадения трёх лазуритов будет выше, чем у других

На первом скрине шанс выпадения одинаковый. На втором скрине шанс выпадения трёх лазуритов выше, чем у других.

Лазурит Стандарт рандом.png
Лазурит Не стандарт рандом.png

Префикс

Префикс позволяет выделить игрока словом перед его ником. Обычно подобное выдают сами себе владельцы игр или донатеры, которые купили привилегию в игре. Донаты Gamer, Skilled, Expert ... тоже являются префиксами и отлично выделяют игроков.

Событие игрока (Событие чата) ➞ Если игрок (Имя равно) ➞ Игровое действие (Отменить событие) ➞ Действие игрока (Отправить сообщение) {ВСЕ}

Детальнее:

  1. Событие игрока (Событие чата) - запускает код, когда игрок написал что-либо в чат
  2. Если игрок (Имя равно) | В сундук: ник(и), у кого будет префикс - сверяет ники
  3. Игровое действие (Отменить событие) - отменяет событие (сообщение не отправиться в чат)
  4. Действие игрока (Отправить сообщение) {ВСЕ} | В сундук: Текст с префиксом и ником, к примеру, Owner SwiftAdviser » и Игровое значение Сообщение игрока. Рекомендуется использовать цвета для префикса и ника (/colors), таким образом можно достичь следующего результата: &c&lOwner &6SwiftAdviser &8» &f
    SwiftAdviser Prefix.png

&f с пробелом после &8» нужно для того, чтобы текст сообщения был белого цвета и был отступ между &8» и текстом.

Parkour

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

Parkour 1 Sunny.png

Возвращение игрока на место после перезахода в игру

Если игрок прошёл не малую часть Вашего паркура, то оказавшись после перезахода в игру на спавне, вероятнее всего, игрок обидеться и выйдет из игры, так и не пройдя её полностью.

Событие игрока (Выход) ➞ Установить переменную (Установить (=))

Событие игрока (Вход) ➞ Действие игрока (Телепортация)

Детальнее:

  1. Событие игрока (Выход) - запускает код, когда игрок выходит из игры
  2. Установить переменную (Установить (=)) | В сундук: сохранённая Динамическая переменная с названием %player%_location и Игровое значение Текущее местоположение - присваивает значение Динамической переменной
  1. Событие игрока (Вход) - запускает код, когда игрок заходит в игру
  2. Действие игрока (Телепортация) | В сундук: Динамическая переменная с названием %player%_location - телепортирует игрока в указанное место

Чекпоинты

Чекпоинт (от англ. CheckPoint «Контрольная точка») - место сохранения перед каким-либо испытанием (в паркуре - уровнем).

Один из возможных вариантов создания Чекпоинтов:

Событие игрока (Передвижение) ➞ Если игрок (Стоит на блоке) ➞ Установить переменную (Установить (=))

Событие игрока (Игрок кликает правой кнопкой) ➞ Если игрок (Держит предмет) ➞ Действие игрока (Телепортация)

Детальнее:

  1. Событие игрока (Передвижение) - запускает код, когда игрок двигается
  2. Если игрок (Стоит на блоке) | В сундук: блок, обозначающий чекпоинт (блок, на который будет телепортироваться игрок) - проверяет блок
  3. Установить переменную (Установить (=)) | В сундук: Динамическую переменную с названием %player%_checkpoint и Игровое значение Текущее местоположение - присваивает значение Динамической переменной
  1. Событие игрока (Игрок кликает правой кнопкой) - запускает код, если игрок нажмёт ПКМ
  2. Если игрок (Держит предмет) | В сундук: предмет, благодаря которому игрок будет телепортироваться на чекпоинт (к примеру, палка) - проверяет предмет
  3. Действие игрока (Телепортация) | В сундук: Динамическую переменную %player%_checkpoint - телепортирует игрока в указанное место

Бесконечный полёт

Наградой за пройденный паркур может быть что угодно, но полёт одно из самых прикольных.

Событие игрока (Игрок кликает правой кнопкой) ➞ Если игрок (Смотрит на блок) ➞ Установить переменную (Установить (=)) ➞ Действие игрока (Полёт)

Событие игрока (Вход) ➞ Если переменная (Установить (=)) ➞ Действие игрока (Полёт)

Детальнее:

  1. Событие игрока (Игрок кликает правой кнопкой) - запускает код, если игрок нажмёт ПКМ
  2. Если игрок (Смотрит на блок) | В сундук: положить блок, кликнув на который игрок получит Полёт - данное условие проверяет, на какой блок нажал игрок
  3. Установить переменную (Установить (=)) | В сундук: сохранённую Динамическую переменную с названием %player%_fly и Число с названием 1 - присваивает значение Динамической переменной
  4. Действие игрока (Полёт) | В сундуке: выбрать Доступ к полёту Может - выдаёт полёт
  1. Событие игрока (Вход) - запускает код, когда игрок заходит в игру
  2. Если переменная (Установить (=)) | В сундук: Динамическую переменную с названием %player%_fly и Число с названием 1 - сверяет значение Динамической переменной. В случае совпадения чисел - продолжает код, в случае несовпадения - ничего не делает
  3. Действие игрока (Полёт) | В сундуке: выбрать Доступ к полёту Может - выдаёт полёт

Теперь, если игрок пройдёт паркур и нажмёт на определённый блок, то он будет иметь возможность летать всегда, даже после перезахода в игру.