Курс для новичков: различия между версиями

Материал из ML WIKI
Строка 223: Строка 223:
 
#Событие игрока (Игрок убил игрока) - запускает код, когда игрок убивает игрока
 
#Событие игрока (Игрок убил игрока) - запускает код, когда игрок убивает игрока
 
#Установить переменную (Установить +) | В сундук: Динамическую переменную %player%_kills и Число 1 - добавляет переменной число 1
 
#Установить переменную (Установить +) | В сундук: Динамическую переменную %player%_kills и Число 1 - добавляет переменной число 1
[[Файл:Динамическая переменная %player% kills.png|центр|безрамки|800x800пкс]]  
+
#[[Файл:Без имени-2.png|центр|безрамки|800x800пкс]]
 +
[[Файл:Динамическая переменная %player% kills.png|центр|безрамки|800x800пкс]]
 
Теперь, если игрок убьёт другого игрока, то значение Динамической переменной именно этого игрока %player%_kills увеличиться на единицу, однако, если игрок перезайдёт в игру, то переменная %player%_kills удалится. Это можно исправить, если взять в руки Динамическую переменную, нажать '''Shift''' и '''ПКМ'''. Под названием будет добавлено слово "СОХРАНЕНО".  
 
Теперь, если игрок убьёт другого игрока, то значение Динамической переменной именно этого игрока %player%_kills увеличиться на единицу, однако, если игрок перезайдёт в игру, то переменная %player%_kills удалится. Это можно исправить, если взять в руки Динамическую переменную, нажать '''Shift''' и '''ПКМ'''. Под названием будет добавлено слово "СОХРАНЕНО".  
 
== Создание кодов==
 
== Создание кодов==

Версия 16:56, 24 марта 2022

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

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

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

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

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

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

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

Категории

Событие

Данную категорию имеют 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 очко.

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

Детальнее:

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

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

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

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

Помощь по распознанию функций:

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

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

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

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

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

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

Детальнее:

  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. Действие игрока (Полёт) | В сундуке: выбрать Доступ к полёту Может - выдаёт полёт

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