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

Материал из ML WIKI

«Курс для новичков» будет полезен людям, делающим первые шаги в Редакторе игр. Здесь собраны самые базовые темы, которые необходимы для создания самых примитивных игр, к примеру: 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 - позволяет сдвинуть код на 1 единицу.
  • Добавить уровень для кода - добавляет дополнительный этаж для кода (максимально количество этажей - 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. Действие игрока (Полёт) | В сундуке: выбрать Доступ к полёту Может - выдаёт полёт

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