Курс для новичков: различия между версиями
Quasari (обсуждение | вклад) (Выделение подзаголовков для более ясного разделения текста.) |
Vorobey (обсуждение | вклад) м (Защитил страницу Курс для новичков ([Редактирование=Разрешено только администраторам] (бессрочно) [Переименование=Разрешено только администраторам] (бессрочно))) |
(нет различий)
|
Текущая версия на 23:43, 31 марта 2022
«Курс для новичков» будет полезен людям, делающим первые шаги в Редакторе игр. Здесь собраны самые базовые темы, которые необходимы для создания самых примитивных игр, к примеру: PvP-Parkour, MagmaBlock, Parkour, SkySurvival и прочее.
Внешний вид игры
Внешний вид игры делится на 3 подпункта:
- Название игры должно вкратце описывать саму игру. Чем индивидуальнее и красочнее название игры, тем больше внимания она будет привлекать. Для украшения игры можно использовать Unicode символы и различные цвета (посмотреть список всех доступных цветов можно командой /colors)
- Описание игры должно описывать игру. Отфильтруйте слова-паразиты и оставьте только самое важное. Создать вторую, третью... строку можно с помощью \n в конце предложения.
- Иконка игры играет немаловажную роль. Чем ярче и необычнее иконка, тем больше внимания она будет привлекать.
Настройка игры
- Описание игры - текст под Названием игры
- Разрешено использовать различные цвета для описания
- Создание мультистрочного описания осуществляется с помощью \n в конце строки
- Лимит описания 256 символов
- Лимит в высоту 9 строк
- Название игры
- Разрешено использовать различные цвета для названия игры
- Длина до 40 символов
- Лимит 1 строка
- Точка возрождения - место, в котором будут оказываться игроки при входе в игру
- Левый клик - установить точку возрождения на текущее местоположение
- Правый клик - сбросить на стандартное
- Продвижение игры в Топ
- 10/110/1200 Баллов - покупка баллов за золото, от которых зависит место игры в Топе (узнать количество золота - /gold)
- Реклама игры - сообщение, которое выводится всем игрокам, находящимся в хабах или в других пользовательских играх
- Строительство
- Возможность разрешить/запретить строить определённым игрокам
- Возможность разрешить/запретить строить всем игрокам
- Доступность игры - возможность зайти в игру
- В закрытую игру могут войти только владелец игры и игроки, находящиеся в белом списке игры
- ID игры
- Возможность сменить ID игры
- Общая информация о ID игры, а именно:
- Текущий ID игры
- Числовой начальный ID игры
- IP игры
- Иконка игры
- Возможность сменить иконку игры (каталог всех голов выводиться командой /headdb)
- Монетизация
- Возможность зарабатывать золото/реальные деньги. Условие: 1000 уникальных посетителей
- Настройки игры
- RolePlay команды
- Включить/выключить доступ к командам /lay, /sit, /stay
- Компас игр - возможность зайти в другую игру. По умолчанию компас находиться в девятом слоте
- Включить/выключить выдачу компаса
- Флаги
- Разрешить использовать кнопки/двери/люки
- Распространение огня на территории
- Спавн плохих мобов на территории
- Взрывы на территории
- RolePlay команды
- Настройки прав
- Белый список
- Левый клик - добавить игрока в белый список
- Правый клик - удалить игрока из белого списка
- Чёрный список
- Левый клик - добавить игрока в чёрный список
- Правый клик - удалить игрока из чёрного списка
- Полёт
- Левый клик - разрешить/запретить летать игроку
- Правый клик - разрешить/запретить летать новым игрокам
- Режим разработчика
- Левый клик - разрешить/запретить игроку доступ к Режиму разработчика (/dev)
- Белый список
- Настройки разработчика
- Добавить уровень для кода (максимальное количество уровней - 10)
- Просмотреть все переменные в игре (/plot vars)
- Удалить все переменные в игре
- Перейти в режим разработчика
- ЛКМ/ПКМ для перехода (/dev)
- Перейти в режим строительства
- ЛКМ/ПКМ для перехода (/build)
- Перейти в режим игры
- ЛКМ/ПКМ для перехода (/run)
- Общая информация (листок бумаги)
- Название игры
- Количество лайков за всё время
- ID игры
Продвижение игры в топе
Главное условие популярности игры - её качество. Она должна быть хорошо оформлена, качественно сделана, оригинальна и проста в освоении. Без всех этих качеств, даже самый эффективный способ продвижения не сможет сделать игру популярной. Однако, если игра обладает всеми описанными качествами, но так и не сыскала популярности среди игроков, следующие способы могут помочь ей.
Баллы
От баллов зависит место игры в "Топ 1000 Игр". Они покупаются за золото с помощью команды /ad и сбрасываются через неделю после покупки.
Реклама игры
В момент рекламы игры, всем игрокам, находящимся в Лобби или в других пользовательских играх, отправляется сообщение с призывом посетить прорекламированную игру. Покупается командой /ad за 50 золота. Задержка рекламы - 5 минут, однако она индивидуальна. Каждый игрок может прорекламировать игру, вне зависимости от того, рекламировал ли другой игрок игру в течении 5-ти минут.
Рекомендации
Независимо от баллов, самые интересные и уникальные игры в Рекомендациях всегда находятся на первой строчке любой страницы. Рекомендованные игры заслужили своё место уважением от игроков и Администрации. Чтобы игра получила шанс попасть в Рекомендации, необходимо оставить здесь заявку.
В случае, если игра получила одобрение Администрации на попадание в Рекомендации, владелец получает 10.000 золота, а сама игра может попасть в дайджест, который публикуется в официальной группе VK и Discord сервере с кратким описанием игры.
Сообщения в чате
Рекламные сообщения в Креатив-чате являются бесплатным способом продвижения своей игры, однако могут не возыметь эффекта, подобному от команды /ad. Красивого оформления, указания основной сути игры и команды для посещения игры будет достаточно для этого способа, но при наличии доступа к цветному чату (/colors), рекомендовано использовать их в рекламе.
Отправить сообщение в креатив-чат можно командой /cc <текст>
Описание блоков-функций
Категории
Событие
Данную категорию имеют 3 блока-функций: Событие игрока, Блок цикла, Функция. Важная особенность этих блоков в том, что они ставятся только вначале строки, т. е. исключительно на голубое стекло.
Условие
Данную категорию имеют 5 блока-функций: Если игрок, Если переменная, Если существо, Если игра, Иначе. Данные блоки ставятся только на серое стекло.
Действие
Данную категорию имеют 5 блока-функций: Действие игрока, Игровое действие, Установить переменную, Выбрать объект, Вызвать функцию. Данные блоки ставятся только на серое стекло.
Функционал
Событие игрока
Категория: Событие
При выполнении определённого события, которое можно указать в самом блоке, будет активироваться код, который идёт после Событие игрока.
Если игрок
Категория: Условие
Если игрок проверяет, выполнил ли игрок определённое условие, которое можно указать в самом блоке. В случае выполнения, код, который стоит между поршнями, будет активирован.
Действие игрока
Категория: Действие
Действие игрока позволяет манипулировать игроком - телепортировать, отправлять сообщения, менять здоровье, наносить урон и т.д.
Игровое действие
Категория: Действие
Игровое действие ещё можно назвать Управление миром. Оно позволяет создавать голограммы, менять игровое время, спавнить мобов/NPC/предметы, создавать эффекты, менять/создавать/убирать блоки и т.д.
Присвоить переменную
Категория: Действие
Присвоить переменную позволяет менять значение Динамической переменной - установить определённое значение, изменить значение, перезаписать и т.д.
Если переменная
Категория: Условие
Если переменная позволяет проверять значение Динамической переменной. Если Динамическая переменная имеет такое же значение, как и в Если переменная, то код, который стоит между поршнями, будет активирован.
Если существо
Категория: Условие
Если существо позволяет узнать, где находится существо, какого типа является моб, на чём стоит существо, является ли он снарядом и т.д. Если существо выполнит определённые условия, указанные в Если существо, то код, который стоит между поршнями, будет активирован.
Выбрать объект
Категория: Действие
Выбрать объект позволяет выбрать определённый объект и работать с ним. Выбирать можно игроков, мобов, NPC, снаряды, предметы, которые валяются на земле. Чтобы произвести какое-либо действие над объектом, сразу после Выбрать объект надо поставить само действие. К примеру, для телепортации выбранного игрока, после Выбрать объект надо поставить Действие игрока Телепортация.
Если игра
Категория: Условие
Если игра позволяет производить глобальные проверки, такие как: блок равен, контейнер содержит предмет, табличка содержит текст. Если условие, заданное в Если игра, выполнилось, то код, который стоит между поршнями, будет активирован.
Иначе
Категория: Условие
Если сущность не выполнила определённое условие, то код, который стоит между поршнями иначе, будет активирован. К примеру: если в Если игрок Имя равно указать определённый Ник, а после Если игрок поставить иначе, то если другой игрок попытается выполнить это действие, будет активирован код, который между поршнями Иначе.
Вызвать функцию
Категория: Действие
Вызвать функцию позволяет вызывать код, который есть в Функция. Вызвать функцию позволяет экономить место. Если в разных частях кода нужно использовать один и тот же код, то, вместо дублирования кода в этих местах, достаточно написать код в Функция и затем поставить Вызвать функцию в месте, где нужен повторяющийся код.
Функция
Категория: Событие
Функция может хранить в себе код также, как и Событие игрока или Цикл, однако в неё нельзя поставить Событие игрока или Цикл. Код, написанный в Функция, может быть вызван с помощью Вызвать функцию.
Цикл
Категория: Событие
Цикл повторяет один и тот же код с определённым промежутком. Промежуток можно отрегулировать с помощью кликов по табличке. ПКМ по табличке - увеличивает промежуток на 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 типа.
- Интегрированный - вшит в саму блок-функцию. Достаточно зажать Shift и нажать ПКМ по табличке Действие игрока или Если игрок.
- Внешний - создаётся с помощью Динамической переменной или Текст. Всего есть 10 плейсхолдеров:
- %player% - Выбор игрока от которого исполняется код
- %damager% - Выбор игрока, который ударил какую либо сущность
- %victim% - Жертва, кого ударил %damager%
- %killer% - Убийца из события
- %selected% - Выборка, которая выбирает сущностей по отдельности и выполняет код для каждого игрока отдельно
- %selection% - Работает как %selected%, но создаёт отдельную переменную с никами игроков в выборке
- %shooter% - Тот, кто выстрелил из лука в какую-либо сущность
- %default% - заменяется на имя игрока или моба, который стоит там по умолчанию
- %entity% - выбирает имя энтити
- %random% - выбирает рандома
Самые популярные и востребованные плейсхолдеры - %player% и %victim%. Другие же используются в более продвинутом кодинге или в определённых случаях.
Примеры использования плейсхолдера:
Сообщение "Вы ударили <ник жертвы>" должно выводиться тому, кто ударил; сообщение "Вас ударил <ник нападавшего>" должно выводиться тому, кого ударили.
Это можно сделать следующим образом:
Событие игрока (Игрок нанёс урон игроку) ➞ Действие игрока (Отправить сообщение) {Жертва} ➞ Действие игрока (Отправить сообщение)
Детальнее:
- Событие игрока (Игрок нанёс урон игроку) - запускает код, когда игрок наносит урон игроку
- Действие игрока (Отправить сообщение) {Жертва} | В сундук: Текст "Вас ударил %damager%" - отправляет в чат сообщение
- Действие игрока (Отправить сообщение) | В сундук: Текст "Вы ударили %victim%" - отправляет в чат сообщение
Итог: плейсхолдер - функция, позволяющая хранить в себе ник игрока из события. Теперь, если игрок ударит другого игрока, то ударившему игроку выведется сообщение "Вы ударили <ник жертвы>", а жертве отправится сообщение "Вас ударил <ник нападавшего>".
Динамическая переменная
Динамическая переменная похожа на коробку. Она может хранить в себе различные предметы (в данном случае значения - тексты, числа, местоположения, игровые значения и т.д.) и в нужный момент доставать их (воспроизводить). Таким образом, можно сохранять количество убийств, смертей, прыжков, пройденных уровней, очков и т.д. Однако, помимо обычных предметов, есть и предметы, которые находятся в ещё одной маленькой коробке. Их название - плейсхолдеры. Таким образом, огромная коробка, Динамическая переменная, имеет в себе маленькую коробку, плейсхолдер, которая содержит в себе определённый предмет (значение), к примеру - конфету. Получается, что, к примеру, за убийство игрока, игрок, убивший его, будет получать конфету. Стоит отметить, что места в обоих коробках неограниченное пространство, их может быть сколько угодно.
Допустим, если игрок убивает игрока, ему должно выдаваться 1 очко.
Событие игрока (Игрок убил игрока) ➞ Установить переменную (Установить (+))
Детальнее:
- Событие игрока (Игрок убил игрока) - запускает код, когда игрок убивает игрока
- Установить переменную (Установить (+)) | В сундук: Динамическую переменную %player%_kills и Число 1 - добавляет переменной число 1
Теперь, если игрок убьёт другого игрока, то значение Динамической переменной %player%_kills именно этого игрока увеличиться на единицу, однако, если игрок перезайдёт в игру, то переменная %player%_kills удалится. Это можно исправить, если взять в руки Динамическую переменную, нажать Shift и ПКМ. Под названием будет добавлено слово "СОХРАНЕНО".
Для воспроизведения значения Динамической переменной можно использовать любую коммуникационную функцию. К примеру, вывод количества убийств в чат после убийства игрока.
Событие игрока (Игрок убил игрока) ➞ Действие игрока (Отправить сообщение)
Детальнее:
- Событие игрока (Игрок убил игрока) - запускает код, когда игрок убивает игрока
- Действие игрока (Отправить сообщение) | В сундук: Текст "Количество убийств: &r" и Динамическую переменную %player%_kills - отправляет в чат сообщение
После двоеточия в "Количество убийств: " следует написать ": &r" (или другой любой цвет - /colors) или в настройках Действие игрока Отправить сообщение выбрать параметр Разделение пробелом, иначе игроку напишет: Количество убийств:1
Создание кодов
После освоения базовых знаний о редакторе игры и синтаксисе, можно приступить к созданию самих кодов. Самое лёгкое обучение - смотреть на результат кода, а дальше попытаться воплотить это у себя в игре. Если код не удалось воссоздать, то можно подсмотреть.
Помощь по распознанию кода:
Пример кода: Событие игрока (Вход) ➞ Если игрок (Имя равно) ➞ Действие игрока (Отправить сообщение) {ВСЕ}
- Вначале идёт название блок-функции, в примере это: Событие игрока, Если игрок и Действие игрока.
- После название блок-функции идёт выбранная функция (выбрать функцию можно нажав ПКМ по табличке). В примере это: (Вход), (Имя равно) и (Отправить сообщение).
- В конце может присутствовать плейсхолдер. В примере это {ВСЕ}. Плейсхолдер можно выбрать зажав Shift и кликом ПКМ по табличке.
- "Текст", "Число", "Местоположение", "Игровое значение", "Эффекты зелья", "Динамическая переменная", "Эффект частицы" (с большой буквы) подразумеваются как «переменная», которую можно получить из железного слитка (по умолчанию 9-й слот).
PvP-Parkour
Одна из самых нашумевших игр. Её цель - пройти паркур и получить предметы, благодаря которым можно сражаться с игроками.
Выдача предметов
Для выдачи предметов игроку нужно задействовать 3 блока-функций - Событие игрока, Если игрок, Действие игрока. Сам код будет выглядеть следующем образом:
Событие игрока (Игрок кликает правой кнопкой) ➞ Если игрок (Смотрит на блок) ➞ Действие игрока (Выдать предметы)
Детальнее:
- Событие игрока (Игрок кликает правой кнопкой) - запускает код, когда игрок нажимает ПКМ
- Если игрок (Смотрит на блок) | В сундук: блок или Местоположение - данное условие будет проверять блок, на который нажал игрок
- Действие игрока (Выдать предметы) | В сундук: предметы, которые игрок получит - выдаёт предметы
Важный момент, связанный с Если игрок Смотрит на блок.
- Блок-функция Действие игрока должна быть внутри Если игрок Смотрит на блок, то-есть между поршнями, иначе игрок будет получать предметы при каждом нажатии ПКМ вне зависимости от блока
- В верхние слои сундука Если игрок Смотрит на блок можно положить только блоки, а в нижние только Местоположение. Если положить блок, то, вне зависимости от местонахождения блока (проще говоря - на любой блок одинакового типа), код будет срабатывать. Если положить Местоположение, то игрок будет получать предметы только, если нажмёт ПКМ на тот самый выделенный блок
Данный код является основой всех PvP-Parkour.
Выдача предметов определённым игрокам
Теперь надо сделать особенный блок, кликнув на который только владелец игры/выбранные им игроки смогут получать предметы.
Событие игрока (Игрок кликает правой кнопкой) ➞ Если игрок (Смотрит на блок) ➞ Если игрок (Имя равно) ➞ Действие игрока (Выдать предметы)
Детальнее:
- Событие игрока (Игрок кликает правой кнопкой) - запускает код, когда игрок нажимает ПКМ
- Если игрок (Смотрит на блок) | В сундук: блок или Местоположение - данное условие будет проверять блок, на который нажал игрок
- Если игрок (Имя равно) | В сундук: Текст со своим ником/ником игрока, который будет иметь доступ - проверяет, кто именно выполняет действие. В случае совпадения ников - продолжает код, в случае несовпадения - ничего не делает
- Действие игрока (Выдать предметы) | В сундук: предметы, которые игрок получит - выдаёт предметы
Вывод сообщения в чат
Если игрок заходит в игру, то приятно будет сказать ему "Привет, приятной игры!".
Событие игрока (Вход) ➞ Действие игрока (Отправить сообщение)
Детальнее:
- Событие игрока (Вход) - запускает код, когда игрок заходит в игру
- Действие игрока (Отправить сообщение) | В сундук: Текст с названием "Привет, приятной игры!" - выводит сообщение в чат
Данное сообщение увидит только тот игрок, который зашёл в игру. Также можно использовать разные цвета (список всех цветов: /colors). К примеру: "&6&lПривет, приятной игры!".
Сохранение вещей при выходе из игры
Будет крайне обидно, если игрок потеряет все предметы после перезахода в игру, однако, это можно исправить.
Событие игрока (Выход) ➞ Действие игрока (Сохранить инвентарь)
Событие игрока (Вход) ➞ Действие игрока (Загрузить инвентарь)
Детальнее:
- Событие игрока (Выход) - запускает код, когда игрок выходит из игры
- Действие игрока (Сохранить инвентарь) - сохраняет нынешние предметы, которые находятся у игрока в инвентаре
- Событие игрока (Вход) - запускает код, когда игрок заходит в игру
- Действие игрока (Загрузить инвентарь) - выдаёт игроку предметы, которые у него были при выходе из игры
Сохранение вещей при смерти
После смерти предметы игрока выпадают из него и игрок их может потерять. Это можно решить следующим способом:
Событие игрока (Вход) ➞ Действие игрока (Сохранение инвентаря при смерти)
Детальнее:
- Событие игрока (Вход) - запускает код, когда игрок заходит в игру
- Действие игрока (Сохранение инвентаря при смерти) - включает функцию сохранения инвентаря при смерти
Выдача предметов за голосование
Голосование (/like) позволяет игроку выразить своё удовлетворение игрой. Владелец игры получит 1 золото, а игрок может получить бонус от владельца игры.
Если игрок написал /like:
Событие игрока (Игрок лайкает за игру) ➞ Действие игрока (Выдать предметы)
Детальнее:
- Событие игрока (Игрок лайкает за игру) - запускает код, когда игрок пишет команду /like
- Действие игрока (Выдать предметы) - выдаёт предметы в сундуке
Повторная выдача предметов за /like (игрок перезашёл в игру):
Событие игрока (Вход) ➞ Если игрок (Голосовал) ➞ Действие игрока (Выдать предметы)
Детальнее:
- Событие игрока (Вход) - запускает код, когда игрок заходит в игру
- Если игрок (Голосовал) - проверяет, голосовал ли уже игрок
- Действие игрока (Выдать предметы) - выдаёт предметы
MagmaBlock
Не менее нашумевшая игра, которая собирала множество посетителей. Суть данной игры - ломать Магму и получать ресурсы, дальше уже сражаться/строить базу из полученных ресурсов. Аналоги MagmaBlock - LuckyBlock, Ломай землю, чтобы выжить и т.д.
Выдача рандомных предметов
Выдача рандомных предметов при ломании определённого блока (к примеру, магму) - основа сей игры.
Событие игрока (Игрок ломает блок) ➞ Если игрок (Смотрит на блок) ➞ Действие игрока (Выдать рандомные предметы)
Детальнее:
- Событие игрока (Игрок ломает блок) - запускает код, когда игрок ломает любой блок
- Если игрок (Смотрит на блок) | В сундук: блок (к примеру, магму) или Местоположение(я) блока(ов) - данное условие будет проверять блок, который игрок сломал
- Действие игрока (Выдать рандомный предмет) | В сундук: предметы, которые игрок будет получать при ломании блока - выдаёт рандомный предмет(ы)
Изменение игрового режима на Creative, Survival, Adventure, Spectating
Иногда игроки строят что-то, что следует немедля убрать, однако в режиме Выживание это проблематично.
Данный код можно сделать различными путями, однако одни из популярных способов - через чат и с помощью предмета.
Через чат:
Событие игрока (Событие чата) ➞ Если игрок (Сообщение равно) ➞ Действие игрока (Установить режим игры)
Детальнее:
- Событие игрока (Событие чата) - запускает код, когда игрок отправляет любое сообщение в чат
- Если игрок (Сообщение равно) | В сундук: Текст с любым названием, после которого будет изменятся игровой режим (обычно используют @gm 1, @gm 0, @gm 2, @gm 3. Собачка ( @ ) обязательно должна присутствовать вначале) - проверяет содержимое сообщения
- Действие игрока (Установить режим игры) | В сундуке: выбрать желаемый режим (Выживание, Творческий, Приключенческий, Наблюдательный) - меняет игровой режим
Через предмет:
Событие игрока (Игрок кликает правой кнопкой) ➞ Если игрок (Держит предмет) ➞ Если игрок (Имя равно) ➞ Действие игрока (Установить режим игры)
Детальнее:
- Событие игрока (Игрок кликает правой кнопкой) - запускает код, когда игрок нажимает ПКМ
- Если игрок (Держит предмет) | В сундук: предмет, нажав на который будет изменятся игровой режим - проверяет держащий в руке предмет
- Если игрок (Имя равно) | В сундук: Текст с никами игроков, у которых будет доступ к изменению игрового режима - проверяет, кто именно выполняет действие. В случае совпадения ников - продолжает код, в случае несовпадения - ничего не делает
- Действие игрока (Установить режим игры) | В сундуке: выбрать желаемый режим (Выживание, Творческий, Приключенческий, Наблюдательный) - меняет игровой режим
Для удобства можно создать дополнительный код, который будет выдавать предмет смены игрового режима определённым игрокам.
Событие игрока (Вход) ➞ Если игрок (Имя равно) | В сундук: Текст с никами игроков, у которых будет доступ к изменению игрового режима ➞ Действие игрока (Выдать предметы) | В сундук: предмет, изменяющий игровой режим.
Изменение игрового режима при входе в игру
По умолчанию, когда игрок заходит в игру, то имеет игровой режим Приключение, в котором нельзя ломать блоки. Однако, это можно исправить.
Событие игрока (Вход) ➞ Действие игрока (Установить режим игры)
Детальнее:
- Событие игрока (Вход) - запускает код, когда игрок заходит в игру
- Действие игрока (Установить режим игры) | В сундуке: выбрать желаемый режим (Выживание) - меняет игровой режим
Отключение PvP на спавне
Некоторые игроки любят показать своё "превосходство" над другими игроками (обычно новичками) и убивают их на спавне. Запретить получение урона на спавне можно следующим способом:
Событие игрока (Игрок получает урон) ➞ Игровое действие (Отменить событие)
Детальнее:
- Событие игрока (Игрок получает урон) - запускает код, когда игрок получает любой урон
- Игровое действие (Отменить событие) - отменяет событие
SkySurvival
SkySurvival - выживание в воздухе. Для выживания предоставляются все нужные блоки (дуб, камень, железо, алмазы и прочее). Цель игры - выживать, строить базы, веселиться, воевать.
Бесконечная добыча ресурсов
В основе этой игры лежит код, позволяющий ломать блоки и получать с них ресурсы, однако, блок не будет ломаться (исчезать) и его можно будет сломать повторно, получив ещё раз ресурсы.
Событие игрока (Игрок ломает блок) ➞ Если игрок (Смотрит на блок) ➞ Игровое действие (Отменить событие) ➞ Действие игрока (Выдать предметы)
Детальнее:
- Событие игрока (Игрок ломает блок) - запускает код, когда игрок сломал любой блок
- Если игрок (Смотрит на блок) | В сундук положить блок, при ломании которого будут выдаваться предметы. К примеру: дуб - данное условие проверяет, какой блок сломал игрок
- Игровое действие (Отменить событие) - отменяет событие (блок никаким образом не сломается)
- Действие игрока (Выдать предметы) | В сундук: положить предметы, которые будут выдаваться. К примеру: 1 дуб - выдаёт предметы
Выдача рандомного количества предметов
Дополнение к Бесконечная добыча ресурсов. Данный код будет особенно полезен для Алмазов, Редстоуна, Лазурита, Эмеральдов.
Событие игрока (Игрок ломает блок) ➞ Если игрок (Смотрит на блок) ➞ Игровое действие (Отменить событие) ➞ Действие игрока (Выдать рандомный предмет)
Детальнее:
- Событие игрока (Игрок ломает блок) - запускает код, когда игрок сломал любой блок
- Если игрок (Смотрит на блок) | В сундук: положить блок, при ломании которого будут выдаваться предметы. К примеру: лазурит - данное условие проверяет, какой блок сломал игрок
- Игровое действие (Отменить событие) - отменяет событие (блок никаком образом не сломается/исчезнет)
- Действие игрока (Выдать рандомный предмет) | В сундук: положить разное количество предметов, то-есть в первый слот, к примеру, 1 лазурит, во второй слот 2 лазурита, в третий 3 лазурит и так далее. Шансы выпадения можно регулировать, если положить одинаковое количество лазурита, к примеру 3 лазурита, в разные слоты, то шанс выпадения трёх лазуритов будет выше, чем у других
На первом скрине шанс выпадения одинаковый. На втором скрине шанс выпадения трёх лазуритов выше, чем у других.
Префикс
Префикс позволяет выделить игрока словом перед его ником. Обычно подобное выдают сами себе владельцы игр или донатеры, которые купили привилегию в игре. Донаты Gamer, Skilled, Expert ... тоже являются префиксами и отлично выделяют игроков.
Событие игрока (Событие чата) ➞ Если игрок (Имя равно) ➞ Игровое действие (Отменить событие) ➞ Действие игрока (Отправить сообщение) {ВСЕ}
Детальнее:
- Событие игрока (Событие чата) - запускает код, когда игрок написал что-либо в чат
- Если игрок (Имя равно) | В сундук: ник(и), у кого будет префикс - сверяет ники
- Игровое действие (Отменить событие) - отменяет событие (сообщение не отправиться в чат)
- Действие игрока (Отправить сообщение) {ВСЕ} | В сундук: Текст с префиксом и ником, к примеру, Owner SwiftAdviser » и Игровое значение Сообщение игрока. Рекомендуется использовать цвета для префикса и ника (/colors), таким образом можно достичь следующего результата: &c&lOwner &6SwiftAdviser &8» &f
&f с пробелом после &8» нужно для того, чтобы текст сообщения был белого цвета и был отступ между &8» и текстом.
Parkour
Паркур - одна из немногих игр, которая всегда находится в топе. Цель паркура - прыгать с блока на блок и пройти препятствия. Паркур может быть как и маленьким, но очень сложным, так и большим, но не совсем сложным.
Возвращение игрока на место после перезахода в игру
Если игрок прошёл не малую часть Вашего паркура, то оказавшись после перезахода в игру на спавне, вероятнее всего, игрок обидеться и выйдет из игры, так и не пройдя её полностью.
Событие игрока (Выход) ➞ Установить переменную (Установить (=))
Событие игрока (Вход) ➞ Действие игрока (Телепортация)
Детальнее:
- Событие игрока (Выход) - запускает код, когда игрок выходит из игры
- Установить переменную (Установить (=)) | В сундук: сохранённая Динамическая переменная с названием %player%_location и Игровое значение Текущее местоположение - присваивает значение Динамической переменной
- Событие игрока (Вход) - запускает код, когда игрок заходит в игру
- Действие игрока (Телепортация) | В сундук: Динамическая переменная с названием %player%_location - телепортирует игрока в указанное место
Чекпоинты
Чекпоинт (от англ. CheckPoint «Контрольная точка») - место сохранения перед каким-либо испытанием (в паркуре - уровнем).
Один из возможных вариантов создания Чекпоинтов:
Событие игрока (Передвижение) ➞ Если игрок (Стоит на блоке) ➞ Установить переменную (Установить (=))
Событие игрока (Игрок кликает правой кнопкой) ➞ Если игрок (Держит предмет) ➞ Действие игрока (Телепортация)
Детальнее:
- Событие игрока (Передвижение) - запускает код, когда игрок двигается
- Если игрок (Стоит на блоке) | В сундук: блок, обозначающий чекпоинт (блок, на который будет телепортироваться игрок) - проверяет блок
- Установить переменную (Установить (=)) | В сундук: Динамическую переменную с названием %player%_checkpoint и Игровое значение Текущее местоположение - присваивает значение Динамической переменной
- Событие игрока (Игрок кликает правой кнопкой) - запускает код, если игрок нажмёт ПКМ
- Если игрок (Держит предмет) | В сундук: предмет, благодаря которому игрок будет телепортироваться на чекпоинт (к примеру, палка) - проверяет предмет
- Действие игрока (Телепортация) | В сундук: Динамическую переменную %player%_checkpoint - телепортирует игрока в указанное место
Бесконечный полёт
Наградой за пройденный паркур может быть что угодно, но полёт одно из самых прикольных.
Событие игрока (Игрок кликает правой кнопкой) ➞ Если игрок (Смотрит на блок) ➞ Установить переменную (Установить (=)) ➞ Действие игрока (Полёт)
Событие игрока (Вход) ➞ Если переменная (Установить (=)) ➞ Действие игрока (Полёт)
Детальнее:
- Событие игрока (Игрок кликает правой кнопкой) - запускает код, если игрок нажмёт ПКМ
- Если игрок (Смотрит на блок) | В сундук: положить блок, кликнув на который игрок получит Полёт - данное условие проверяет, на какой блок нажал игрок
- Установить переменную (Установить (=)) | В сундук: сохранённую Динамическую переменную с названием %player%_fly и Число с названием 1 - присваивает значение Динамической переменной
- Действие игрока (Полёт) | В сундуке: выбрать Доступ к полёту Может - выдаёт полёт
- Событие игрока (Вход) - запускает код, когда игрок заходит в игру
- Если переменная (Установить (=)) | В сундук: Динамическую переменную с названием %player%_fly и Число с названием 1 - сверяет значение Динамической переменной. В случае совпадения чисел - продолжает код, в случае несовпадения - ничего не делает
- Действие игрока (Полёт) | В сундуке: выбрать Доступ к полёту Может - выдаёт полёт
Теперь, если игрок пройдёт паркур и нажмёт на определённый блок, то он будет иметь возможность летать всегда, даже после перезахода в игру.