Курс для новичков: различия между версиями
Vorobey (обсуждение | вклад) |
Vorobey (обсуждение | вклад) м (Защитил страницу Курс для новичков ([Редактирование=Разрешено только администраторам] (бессрочно) [Переименование=Разрешено только администраторам] (бессрочно))) |
||
(не показано 45 промежуточных версий 2 участников) | |||
Строка 1: | Строка 1: | ||
− | «Курс для новичков» будет полезен людям, делающим первые шаги в Редакторе игр. Здесь собраны самые базовые темы, которые необходимы для создания самых примитивных | + | «Курс для новичков» будет полезен людям, делающим первые шаги в Редакторе игр. Здесь собраны самые базовые темы, которые необходимы для создания самых примитивных игр, к примеру: PvP-Parkour, MagmaBlock, Parkour, SkySurvival и прочее. |
== Внешний вид игры == | == Внешний вид игры == | ||
'''Внешний вид игры''' делится на 3 подпункта: | '''Внешний вид игры''' делится на 3 подпункта: | ||
Строка 18: | Строка 18: | ||
** Левый клик - установить точку возрождения на текущее местоположение | ** Левый клик - установить точку возрождения на текущее местоположение | ||
** Правый клик - сбросить на стандартное | ** Правый клик - сбросить на стандартное | ||
− | * Реклама игры - сообщение, которое | + | * Продвижение игры в Топ |
− | + | ** 10/110/1200 Баллов - покупка баллов за золото, от которых зависит место игры в Топе (узнать количество золота - /gold) | |
+ | ** Реклама игры - сообщение, которое выводится всем игрокам, находящимся в хабах или в других пользовательских играх | ||
* Строительство | * Строительство | ||
** Возможность разрешить/запретить строить определённым игрокам | ** Возможность разрешить/запретить строить определённым игрокам | ||
Строка 38: | Строка 39: | ||
** RolePlay команды | ** RolePlay команды | ||
***Включить/выключить доступ к командам /lay, /sit, /stay | ***Включить/выключить доступ к командам /lay, /sit, /stay | ||
− | **Компас игр - возможность зайти в другую игру | + | **Компас игр - возможность зайти в другую игру. По умолчанию компас находиться в девятом слоте |
***Включить/выключить выдачу компаса | ***Включить/выключить выдачу компаса | ||
** Флаги | ** Флаги | ||
Строка 44: | Строка 45: | ||
***Распространение огня на территории | ***Распространение огня на территории | ||
***Спавн плохих мобов на территории | ***Спавн плохих мобов на территории | ||
− | ***Взрывы на | + | ***Взрывы на территории |
*Настройки прав | *Настройки прав | ||
**Белый список | **Белый список | ||
Строка 58: | Строка 59: | ||
***Левый клик - разрешить/запретить игроку доступ к Режиму разработчика (/dev) | ***Левый клик - разрешить/запретить игроку доступ к Режиму разработчика (/dev) | ||
*Настройки разработчика | *Настройки разработчика | ||
− | **Добавить уровень для кода ( | + | **Добавить уровень для кода (максимальное количество уровней - 10) |
**Просмотреть все переменные в игре (/plot vars) | **Просмотреть все переменные в игре (/plot vars) | ||
**Удалить все переменные в игре | **Удалить все переменные в игре | ||
Строка 71: | Строка 72: | ||
**Количество лайков за всё время | **Количество лайков за всё время | ||
**ID игры | **ID игры | ||
− | ==Описание блоков-функций== | + | == Продвижение игры в топе == |
− | ===Категории=== | + | Главное условие популярности игры - её качество. Она должна быть хорошо оформлена, качественно сделана, оригинальна и проста в освоении. Без всех этих качеств, даже самый эффективный способ продвижения не сможет сделать игру популярной. Однако, если игра обладает всеми описанными качествами, но так и не сыскала популярности среди игроков, следующие способы могут помочь ей. |
+ | === '''Баллы''' === | ||
+ | От баллов зависит место игры в "Топ 1000 Игр". Они покупаются за золото с помощью команды /ad и сбрасываются через неделю после покупки. | ||
+ | === '''Реклама игры''' === | ||
+ | В момент рекламы игры, всем игрокам, находящимся в Лобби или в других пользовательских играх, отправляется сообщение с призывом посетить прорекламированную игру. Покупается командой /ad за 50 золота. Задержка рекламы - 5 минут, однако она индивидуальна. Каждый игрок может прорекламировать игру, вне зависимости от того, рекламировал ли другой игрок игру в течении 5-ти минут. | ||
+ | === '''Рекомендации''' === | ||
+ | Независимо от баллов, самые интересные и уникальные игры в Рекомендациях всегда находятся на первой строчке любой страницы. Рекомендованные игры заслужили своё место уважением от игроков и Администрации. Чтобы игра получила шанс попасть в Рекомендации, необходимо оставить [https://docs.google.com/forms/d/e/1FAIpQLSeFWC9arWoClfkeQPBOseph07UBe4j58NDSpxDakXQf1WMujg/viewform здесь] заявку. | ||
+ | |||
+ | В случае, если игра получила одобрение Администрации на попадание в Рекомендации, владелец получает 10.000 золота, а сама игра может попасть в дайджест, который публикуется в официальной группе VK и Discord сервере с кратким описанием игры. | ||
+ | === '''Сообщения в чате''' === | ||
+ | Рекламные сообщения в Креатив-чате являются бесплатным способом продвижения своей игры, однако могут не возыметь эффекта, подобному от команды /ad. Красивого оформления, указания основной сути игры и команды для посещения игры будет достаточно для этого способа, но при наличии доступа к цветному чату (/colors), рекомендовано использовать их в рекламе. | ||
+ | [[Файл:Реклама в CC.png|слева|безрамки|623x623пкс]] | ||
+ | |||
+ | |||
+ | Отправить сообщение в креатив-чат можно командой ''/cc <текст>'' | ||
+ | == Описание блоков-функций == | ||
+ | ==='''Категории'''=== | ||
<big>Событие</big> | <big>Событие</big> | ||
Строка 84: | Строка 101: | ||
Данную категорию имеют 5 блока-функций: ''Действие игрока'', ''Игровое действие'', ''Установить переменную'', ''Выбрать объект'', ''Вызвать функцию''. Данные блоки ставятся только на серое стекло. | Данную категорию имеют 5 блока-функций: ''Действие игрока'', ''Игровое действие'', ''Установить переменную'', ''Выбрать объект'', ''Вызвать функцию''. Данные блоки ставятся только на серое стекло. | ||
− | ===<big>Функционал</big>=== | + | ==='''<big>Функционал</big>'''=== |
− | ====<big>Событие игрока</big>==== | + | ===='''<big>Событие игрока</big>'''==== |
[[Файл:Событие игрока.png|безрамки|219x219px|альт=|справа]] | [[Файл:Событие игрока.png|безрамки|219x219px|альт=|справа]] | ||
Категория: Событие | Категория: Событие | ||
Строка 91: | Строка 108: | ||
При выполнении определённого события, которое можно указать в самом блоке, будет активироваться код, который идёт после Событие игрока. | При выполнении определённого события, которое можно указать в самом блоке, будет активироваться код, который идёт после Событие игрока. | ||
[[Файл:Если игрок.png|безрамки|275x275px|альт=|справа]] | [[Файл:Если игрок.png|безрамки|275x275px|альт=|справа]] | ||
− | ====<big>Если игрок</big>==== | + | ===='''<big>Если игрок</big>'''==== |
Категория: Условие | Категория: Условие | ||
− | Если игрок проверяет, выполнил ли игрок определённое условие, которое можно указать в самом блоке. В случае выполнения, код, который стоит между поршнями, будет активирован. | + | ''Если игрок'' проверяет, выполнил ли игрок определённое условие, которое можно указать в самом блоке. В случае выполнения, код, который стоит между поршнями, будет активирован. |
− | ====<big>Действие игрока</big>==== | + | ===='''<big>Действие игрока</big>'''==== |
[[Файл:Действие игрока.png|справа|безрамки|219x219px|альт=]] | [[Файл:Действие игрока.png|справа|безрамки|219x219px|альт=]] | ||
Категория: Действие | Категория: Действие | ||
− | Действие игрока позволяет манипулировать игроком - телепортировать, отправлять сообщения, менять здоровье, наносить урон и т.д. | + | ''Действие игрока'' позволяет манипулировать игроком - телепортировать, отправлять сообщения, менять здоровье, наносить урон и т.д. |
− | ====<big>Игровое действие</big>==== | + | ===='''<big>Игровое действие</big>'''==== |
[[Файл:Игровое действие.png|справа|безрамки|219x219пкс]] | [[Файл:Игровое действие.png|справа|безрамки|219x219пкс]] | ||
Категория: Действие | Категория: Действие | ||
− | Игровое действие ещё можно назвать ''Управление миром''. Оно позволяет создавать голограммы, менять игровое время, спавнить мобов/NPC/предметы, создавать эффекты, менять/создавать/убирать блоки и т.д. | + | ''Игровое действие'' ещё можно назвать ''Управление миром''. Оно позволяет создавать голограммы, менять игровое время, спавнить мобов/NPC/предметы, создавать эффекты, менять/создавать/убирать блоки и т.д. |
− | ====<big>Присвоить переменную</big>==== | + | ===='''<big>Присвоить переменную</big>'''==== |
[[Файл:Присв. переменную.png|справа|безрамки|219x219px|альт=]] | [[Файл:Присв. переменную.png|справа|безрамки|219x219px|альт=]] | ||
Категория: Действие | Категория: Действие | ||
− | Присвоить переменную позволяет менять значение Динамической переменной - установить определённое значение, изменить | + | ''Присвоить переменную'' позволяет менять значение Динамической переменной - установить определённое значение, изменить значение, перезаписать и т.д. |
− | ====<big>Если переменная</big>==== | + | ===='''<big>Если переменная</big>'''==== |
[[Файл:Если переменная.png|справа|безрамки|275x275px|альт=]] | [[Файл:Если переменная.png|справа|безрамки|275x275px|альт=]] | ||
Категория: Условие | Категория: Условие | ||
''Если переменная'' позволяет проверять значение Динамической переменной. Если Динамическая переменная имеет такое же значение, как и в Если переменная, то код, который стоит между поршнями, будет активирован. | ''Если переменная'' позволяет проверять значение Динамической переменной. Если Динамическая переменная имеет такое же значение, как и в Если переменная, то код, который стоит между поршнями, будет активирован. | ||
− | ====<big>Если существо</big>==== | + | ===='''<big>Если существо</big>'''==== |
[[Файл:Если существо.png|справа|безрамки|250x250пкс]] | [[Файл:Если существо.png|справа|безрамки|250x250пкс]] | ||
Категория: Условие | Категория: Условие | ||
− | ''Если существо'' позволяет узнать, где находится существо, какого типа является моб, на чём стоит существо, является ли он снарядом и т.д. Если существо выполнит определённые условия, указанные в ''Если существо'', то код, который стоит между поршнями, будет активирован. | + | ''Если существо'' позволяет узнать, где находится существо, какого типа является моб, на чём стоит существо, является ли он снарядом и т.д. ''Если существо'' выполнит определённые условия, указанные в ''Если существо'', то код, который стоит между поршнями, будет активирован. |
[[Файл:Выбрать объект.png|справа|безрамки|219x219пкс]] | [[Файл:Выбрать объект.png|справа|безрамки|219x219пкс]] | ||
− | ====<big>Выбрать объект</big>==== | + | ===='''<big>Выбрать объект</big>'''==== |
Категория: Действие | Категория: Действие | ||
− | ''Выбрать объект'' позволяет выбрать определённый объект и работать с ним. Выбирать можно игроков, мобов, NPC, снаряды, предметы, которые валяются на земле. Чтобы произвести какое-либо действие над объектом, сразу после Выбрать объект надо поставить само действие. К примеру, для телепортации выбранного игрока, после Выбрать объект надо поставить Действие игрока Телепортация. | + | ''Выбрать объект'' позволяет выбрать определённый объект и работать с ним. Выбирать можно игроков, мобов, NPC, снаряды, предметы, которые валяются на земле. Чтобы произвести какое-либо действие над объектом, сразу после ''Выбрать объект'' надо поставить само действие. К примеру, для телепортации выбранного игрока, после ''Выбрать объект'' надо поставить ''Действие игрока Телепортация''. |
− | ====<big>Если игра</big>==== | + | ===='''<big>Если игра</big>'''==== |
[[Файл:Если игра.png|справа|безрамки|275x275px|альт=]] | [[Файл:Если игра.png|справа|безрамки|275x275px|альт=]] | ||
Категория: Условие | Категория: Условие | ||
− | Если игра позволяет производить глобальные проверки, такие как: блок равен, контейнер содержит предмет, табличка содержит текст. Если условие, заданное в ''Если игра'' выполнилось, то код, который стоит между поршнями, будет активирован. | + | ''Если игра'' позволяет производить глобальные проверки, такие как: блок равен, контейнер содержит предмет, табличка содержит текст. Если условие, заданное в ''Если игра'', выполнилось, то код, который стоит между поршнями, будет активирован. |
− | ====<big>Иначе</big>==== | + | ===='''<big>Иначе</big>'''==== |
[[Файл:Иначе.png|справа|безрамки|275x275px|альт=]] | [[Файл:Иначе.png|справа|безрамки|275x275px|альт=]] | ||
Категория: Условие | Категория: Условие | ||
− | Если сущность не выполнила определённое условие, то код, который стоит между поршнями ''иначе'', будет активирован. К примеру: если в ''Если игрок Имя равно'' указать определённый Ник, а после ''Если игрок'' поставить ''иначе'', то если другой игрок попытается выполнить это действие, будет активирован код, который между поршнями ''Иначе''. | + | ''Если сущность'' не выполнила определённое условие, то код, который стоит между поршнями ''иначе'', будет активирован. К примеру: если в ''Если игрок Имя равно'' указать определённый Ник, а после ''Если игрок'' поставить ''иначе'', то если другой игрок попытается выполнить это действие, будет активирован код, который между поршнями ''Иначе''. |
− | ====<big>Вызвать функцию</big>==== | + | ===='''<big>Вызвать функцию</big>'''==== |
[[Файл:Вызвать функцию.gif|справа|безрамки|219x219пкс]] | [[Файл:Вызвать функцию.gif|справа|безрамки|219x219пкс]] | ||
Категория: Действие | Категория: Действие | ||
− | ''Вызвать функцию'' позволяет вызывать код, который есть в Функция. ''Вызвать функцию'' позволяет экономить место. Если в разных частях кода нужно использовать один и тот же код, то вместо дублирования кода в этих местах, достаточно написать код в Функция и затем поставить ''Вызвать функцию'' в месте, где нужен повторяющийся код. | + | ''Вызвать функцию'' позволяет вызывать код, который есть в Функция. ''Вызвать функцию'' позволяет экономить место. Если в разных частях кода нужно использовать один и тот же код, то, вместо дублирования кода в этих местах, достаточно написать код в ''Функция'' и затем поставить ''Вызвать функцию'' в месте, где нужен повторяющийся код. |
− | ====<big>Функция</big>==== | + | ===='''<big>Функция</big>'''==== |
[[Файл:Функция.png|справа|безрамки|219x219пкс]] | [[Файл:Функция.png|справа|безрамки|219x219пкс]] | ||
Категория: Событие | Категория: Событие | ||
− | Функция может хранить в себе код также, как и Событие игрока или Цикл, однако в неё нельзя поставить Событие игрока или Цикл. Код, написанный в Функция, может быть вызван с помощью Вызвать функцию. | + | ''Функция'' может хранить в себе код также, как и Событие игрока или Цикл, однако в неё нельзя поставить Событие игрока или Цикл. Код, написанный в Функция, может быть вызван с помощью Вызвать функцию. |
− | ====<big>Цикл</big>==== | + | ===='''<big>Цикл</big>'''==== |
Категория: Событие | Категория: Событие | ||
[[Файл:Цикл.png|справа|безрамки|219x219пкс]] | [[Файл:Цикл.png|справа|безрамки|219x219пкс]] | ||
''Цикл'' повторяет один и тот же код с определённым промежутком. Промежуток можно отрегулировать с помощью кликов по табличке. '''ПКМ''' по табличке - увеличивает промежуток на 1 тик; '''Шифт''' и '''ПКМ''' - уменьшает промежуток на 1 тик. | ''Цикл'' повторяет один и тот же код с определённым промежутком. Промежуток можно отрегулировать с помощью кликов по табличке. '''ПКМ''' по табличке - увеличивает промежуток на 1 тик; '''Шифт''' и '''ПКМ''' - уменьшает промежуток на 1 тик. | ||
− | 1 секунда = 20 тиков. Если взять | + | 1 секунда = 20 тиков. Если взять переменную Число, ввести в неё число и нажать по табличке, то промежуток станет идентичен числу переменной Число. Максимально минимальный промежуток - 5 тиков. |
==Синтаксис== | ==Синтаксис== | ||
Синтаксис это правильная расстановка блоков-функций, то-есть что за чем идёт и как оно идёт. | Синтаксис это правильная расстановка блоков-функций, то-есть что за чем идёт и как оно идёт. | ||
Строка 158: | Строка 175: | ||
2. Блоки-функции с категорией "Условие" и "Действие" ставятся только на светло-серое стекло; | 2. Блоки-функции с категорией "Условие" и "Действие" ставятся только на светло-серое стекло; | ||
− | 3. Поршни - пределы условия. Если Действие нужно выполнять только при достижении определённого условия, то Действие нужно поставить между поршнями; | + | 3. Поршни - пределы условия. Если Действие нужно выполнять только при достижении определённого условия, то Действие нужно поставить между поршнями условия; |
− | 4. Условий может быть много, главное, чтобы при установки Условия ставилось 2 поршня ( | + | 4. Условий может быть много, главное, чтобы при установки Условия ставилось 2 поршня (пределы условия); |
5. Код, который идёт после ''Выбрать объект'', будет выполняться над выбираемым объектом; | 5. Код, который идёт после ''Выбрать объект'', будет выполняться над выбираемым объектом; | ||
Строка 166: | Строка 183: | ||
6. Блок-функция ''Иначе'' ставится только после поршня Условия; | 6. Блок-функция ''Иначе'' ставится только после поршня Условия; | ||
==Вспомогательные функции== | ==Вспомогательные функции== | ||
− | ===Переменные=== | + | ==='''Переменные'''=== |
Название переменных Текст, Число, Динамическая переменная можно изменить, если взять их в руку и написать что-либо в чат. Когда переменная будет правильно названа, её можно положить в блок-функцию. | Название переменных Текст, Число, Динамическая переменная можно изменить, если взять их в руку и написать что-либо в чат. Когда переменная будет правильно названа, её можно положить в блок-функцию. | ||
Строка 172: | Строка 189: | ||
*'''Текст''' - переменная, позволяющая хранить текст. Ею можно называть предметы/сущности, выводить сообщения/титлы и прочее. | *'''Текст''' - переменная, позволяющая хранить текст. Ею можно называть предметы/сущности, выводить сообщения/титлы и прочее. | ||
− | *'''Число''' - данная переменная может хранить лишь числа (в том числе число ''Pi'' и ''e''). Если нужно установить в блок-функцию число, к примеру, в функцию Действие игрока Урон, то следует использовать переменную | + | *'''Число''' - данная переменная может хранить лишь числа (в том числе число ''Pi'' и ''e''). Если нужно установить в блок-функцию число, к примеру, в функцию Действие игрока Урон, то следует использовать переменную Число. Если положить переменную Текст, то код работать не будет. |
− | *'''Местоположение''' - позволяет хранить в себе местоположение чего-либо. Если нажать ПКМ по пустоте, то запишутся координаты, на которых Вы стоите. Если нажать ПКМ по блоку, то запишутся координаты блока. ЛКМ позволяет перемещаться между dev-миром и игровым миром. Шифт + ЛКМ телепортирует к | + | *'''Местоположение''' - позволяет хранить в себе местоположение чего-либо. Если нажать ПКМ по пустоте, то запишутся координаты, на которых Вы стоите. Если нажать ПКМ по блоку, то запишутся координаты блока. ЛКМ позволяет перемещаться между dev-миром и игровым миром. Шифт + ЛКМ телепортирует к записанному местоположению. |
*'''Эффекты зелья''' - позволяет выбрать зелье. Продолжительность зелья можно менять, если взять в руку выбранное зелье и написать в чат, к примеру, "'''4:30'''". Силу зелья можно изменить, если написать в чат число, к примеру, '''3'''. Таким образом можно получить зелье с продолжительностью в 4 минуты 30 секунд и силой 3. | *'''Эффекты зелья''' - позволяет выбрать зелье. Продолжительность зелья можно менять, если взять в руку выбранное зелье и написать в чат, к примеру, "'''4:30'''". Силу зелья можно изменить, если написать в чат число, к примеру, '''3'''. Таким образом можно получить зелье с продолжительностью в 4 минуты 30 секунд и силой 3. | ||
− | *'''Динамическая переменная''' - позволяет хранить в себе текстовые и числовые данные. Крайне часто | + | *'''Динамическая переменная''' - позволяет хранить в себе текстовые и числовые данные. Крайне часто используется с плейсхолдерами, благодаря чему позволяет хранить в себе количество смертей, убитых игроков, очков, деньги и прочее. Посмотреть на все переменные можно командой ''/plot vars''. Динамическую переменную можно разделить на 2 типа - глобальная и локальная. |
**Глобальная - единственная в своём роде. Позволяет хранить количество игроков онлайн, проголосовавших за игру, уникальных посетителей и прочее. | **Глобальная - единственная в своём роде. Позволяет хранить количество игроков онлайн, проголосовавших за игру, уникальных посетителей и прочее. | ||
**Локальная - используется с плейсхолдерами. Позволяет хранить количество смертей, убитых игроков, очков и т.д. | **Локальная - используется с плейсхолдерами. Позволяет хранить количество смертей, убитых игроков, очков и т.д. | ||
− | ***Одна из немало важных функций динамической переменной - возможность сохранить данные навсегда. Данная функция позволяет сохранить данные о игроке даже, если он выйдет из | + | ***Одна из немало важных функций динамической переменной - возможность сохранить данные навсегда. Данная функция позволяет сохранить данные о игроке даже, если он выйдет из игры. Благодаря этому можно хранить очки игрока, тем самым давая ему возможность продолжить игру в любое время. Для сохранения Динамической переменной её нужно взять в руки, нажать '''Shift''' и '''ПКМ'''. Под названием будет добавлено слово "СОХРАНЕНО". |
* | * | ||
− | *'''Игровое значение''' - тип переменной, которую нельзя изменить. Она изменяется в зависимости от параметров игры и игроков в ней. Игровое значение имеет 3 | + | *'''Игровое значение''' - тип переменной, которую нельзя изменить. Она изменяется в зависимости от параметров игры и игроков в ней. Игровое значение имеет 3 раздела - Значения сущности, Значения события, Значения игры. |
**Значения сущности - позволяет получить какие-либо данные об игроке - пинг, здоровье, уровень голода, местоположение, текущее значение опыта и т.д. | **Значения сущности - позволяет получить какие-либо данные об игроке - пинг, здоровье, уровень голода, местоположение, текущее значение опыта и т.д. | ||
− | ** | + | **Значения события - позволяет получить данные о событие дамага, сообщении игрока, локации блока, транзакции, товары, связанные с MineLand Studio и т.д. |
− | ** | + | **Значения игры - позволяет получить информацию о количестве игроков онлайн, лайков, уникальных посетителей, ID игры и т.д. |
*'''Эффект частиц''' - даёт возможность выбрать эффект для дальнейшего использования. | *'''Эффект частиц''' - даёт возможность выбрать эффект для дальнейшего использования. | ||
− | ===Утилиты разработки=== | + | ==='''Утилиты разработки'''=== |
* Стрелка НЕ - используется как дополнение ко всем блокам-функций с категорией Условие и с Выбрать объект. Позволяет изменить условие в противоположном направлении от его первоначальной формы. Применяется кликом по табличке. | * Стрелка НЕ - используется как дополнение ко всем блокам-функций с категорией Условие и с Выбрать объект. Позволяет изменить условие в противоположном направлении от его первоначальной формы. Применяется кликом по табличке. | ||
− | *Перемещатель кода 3000 - позволяет сдвинуть код | + | *Перемещатель кода 3000 - позволяет сдвинуть код. |
− | *Добавить уровень для кода - добавляет дополнительный этаж для кода ( | + | *Добавить уровень для кода - добавляет дополнительный этаж для кода (максимальное количество этажей - 10). |
*Настройки игры - позволяет изменить настройки самой игры (права, флаги, название, описание и т.д.). | *Настройки игры - позволяет изменить настройки самой игры (права, флаги, название, описание и т.д.). | ||
Строка 200: | Строка 217: | ||
Плейсхолдер (от англ. Placeholder «Заменитель») - функция, позволяющая держать определённую информацию об определённом игроке. Плейсхолдер используется для сохранения количества убийств, смертей, пройденных блоков, сделанных действий и т.д. | Плейсхолдер (от англ. Placeholder «Заменитель») - функция, позволяющая держать определённую информацию об определённом игроке. Плейсхолдер используется для сохранения количества убийств, смертей, пройденных блоков, сделанных действий и т.д. | ||
− | Плейсхолдеры можно | + | Плейсхолдеры можно разделить на 2 типа. |
#Интегрированный - вшит в саму блок-функцию. Достаточно зажать '''Shift''' и нажать '''ПКМ''' по табличке ''Действие игрока'' или ''Если игрок''. | #Интегрированный - вшит в саму блок-функцию. Достаточно зажать '''Shift''' и нажать '''ПКМ''' по табличке ''Действие игрока'' или ''Если игрок''. | ||
#Внешний - создаётся с помощью ''Динамической переменной'' или ''Текст''. Всего есть 10 плейсхолдеров: | #Внешний - создаётся с помощью ''Динамической переменной'' или ''Текст''. Всего есть 10 плейсхолдеров: | ||
Строка 210: | Строка 227: | ||
##%selection% - Работает как %selected%, но создаёт отдельную переменную с никами игроков в выборке | ##%selection% - Работает как %selected%, но создаёт отдельную переменную с никами игроков в выборке | ||
##%shooter% - Тот, кто выстрелил из лука в какую-либо сущность | ##%shooter% - Тот, кто выстрелил из лука в какую-либо сущность | ||
− | ##%default% - заменяется на имя игрока или моба, который стоит там | + | ##%default% - заменяется на имя игрока или моба, который стоит там ''по умолчанию'' |
##%entity% - выбирает имя энтити | ##%entity% - выбирает имя энтити | ||
## %random% - выбирает рандома | ## %random% - выбирает рандома | ||
− | Самые популярные и | + | Самые популярные и востребованные плейсхолдеры - %player% и %victim%. Другие же используются в более продвинутом кодинге или в определённых случаях. |
+ | |||
+ | Примеры использования плейсхолдера: | ||
+ | |||
+ | Сообщение "Вы ударили <ник жертвы>" должно выводиться тому, кто ударил; сообщение "Вас ударил <ник нападавшего>" должно выводиться тому, кого ударили. | ||
+ | |||
+ | Это можно сделать следующим образом: | ||
+ | |||
+ | <code>Событие игрока (Игрок нанёс урон игроку) ➞ Действие игрока (Отправить сообщение) {Жертва} ➞ Действие игрока (Отправить сообщение)</code> | ||
+ | |||
+ | Детальнее: | ||
+ | # Событие игрока (Игрок нанёс урон игроку) - запускает код, когда игрок наносит урон игроку | ||
+ | # Действие игрока (Отправить сообщение) {Жертва} | В сундук: Текст "Вас ударил %damager%" - отправляет в чат сообщение | ||
+ | # Действие игрока (Отправить сообщение) | В сундук: Текст "Вы ударили %victim%" - отправляет в чат сообщение | ||
+ | Итог: плейсхолдер - функция, позволяющая хранить в себе ник игрока из события. Теперь, если игрок ударит другого игрока, то ударившему игроку выведется сообщение "Вы ударили <ник жертвы>", а жертве отправится сообщение "Вас ударил <ник нападавшего>". | ||
== Динамическая переменная == | == Динамическая переменная == | ||
− | Динамическая переменная похожа на коробку. Она может хранить в себе различные предметы (в данном случае значения - тексты, числа, местоположения, игровые значения и т.д.) и в нужный момент доставать их (воспроизводить). Таким образом, можно сохранять количество убийств, смертей, прыжков, пройденных уровней, очков и т.д. Однако, помимо обычных предметов, есть и предметы, которые находятся в ещё одной маленькой коробке. Их название - плейсхолдеры. Таким образом, огромная коробка, Динамическая переменная, имеет маленькую коробку, | + | Динамическая переменная похожа на коробку. Она может хранить в себе различные предметы (в данном случае значения - тексты, числа, местоположения, игровые значения и т.д.) и в нужный момент доставать их (воспроизводить). Таким образом, можно сохранять количество убийств, смертей, прыжков, пройденных уровней, очков и т.д. Однако, помимо обычных предметов, есть и предметы, которые находятся в ещё одной маленькой коробке. Их название - плейсхолдеры. Таким образом, огромная коробка, Динамическая переменная, имеет в себе маленькую коробку, плейсхолдер, которая содержит в себе определённый предмет (значение), к примеру - конфету. Получается, что, к примеру, за убийство игрока, игрок, убивший его, будет получать конфету. Стоит отметить, что места в обоих коробках неограниченное пространство, их может быть сколько угодно. |
Допустим, если игрок убивает игрока, ему должно выдаваться 1 очко. | Допустим, если игрок убивает игрока, ему должно выдаваться 1 очко. | ||
− | <code>Событие игрока (Игрок убил игрока) ➞ Установить переменную (+)</code> | + | <code>Событие игрока (Игрок убил игрока) ➞ Установить переменную (Установить (+))</code> |
Детальнее: | Детальнее: | ||
#Событие игрока (Игрок убил игрока) - запускает код, когда игрок убивает игрока | #Событие игрока (Игрок убил игрока) - запускает код, когда игрок убивает игрока | ||
− | #Установить переменную (Установить +) | В сундук: Динамическую переменную %player%_kills и Число 1 - добавляет переменной число 1 | + | #Установить переменную (Установить (+)) | В сундук: Динамическую переменную %player%_kills и Число 1 - добавляет переменной число 1[[Файл:Динамическая переменная %player% kills 1.png|центр|безрамки|800x800пкс]] |
− | [[Файл:Динамическая переменная %player% kills.png|центр|безрамки|800x800пкс]] | + | Теперь, если игрок убьёт другого игрока, то значение Динамической переменной %player%_kills именно этого игрока увеличиться на единицу, однако, если игрок перезайдёт в игру, то переменная %player%_kills удалится. Это можно исправить, если взять в руки Динамическую переменную, нажать '''Shift''' и '''ПКМ'''. Под названием будет добавлено слово "СОХРАНЕНО". |
− | Теперь, если игрок убьёт другого игрока, то значение Динамической переменной | + | |
+ | Для воспроизведения значения Динамической переменной можно использовать любую коммуникационную функцию. К примеру, вывод количества убийств в чат после убийства игрока. | ||
+ | |||
+ | <code>Событие игрока (Игрок убил игрока) ➞ Действие игрока (Отправить сообщение)</code> | ||
+ | [[Файл:Разделение текста Пробел.png|справа|безрамки|285x285пкс]] | ||
+ | Детальнее: | ||
+ | # Событие игрока (Игрок убил игрока) - запускает код, когда игрок убивает игрока | ||
+ | # Действие игрока (Отправить сообщение) | В сундук: Текст "Количество убийств: &r" и Динамическую переменную %player%_kills - отправляет в чат сообщение | ||
+ | После двоеточия в "Количество убийств''':''' " следует написать ": '''&r'''" (или другой любой цвет - /colors) '''или''' в настройках Действие игрока Отправить сообщение выбрать параметр Разделение пробелом, иначе игроку напишет: Количество убийств:1 | ||
== Создание кодов== | == Создание кодов== | ||
− | После освоения базовых знаний о редакторе игры и синтаксисе, можно приступить к созданию самих кодов. Самое лёгкое обучение - смотреть на результат кода, а дальше попытаться воплотить это у себя в игре. Если код не удалось воссоздать | + | После освоения базовых знаний о редакторе игры и синтаксисе, можно приступить к созданию самих кодов. Самое лёгкое обучение - смотреть на результат кода, а дальше попытаться воплотить это у себя в игре. Если код не удалось воссоздать, то можно подсмотреть. |
− | Помощь по распознанию | + | Помощь по распознанию кода: |
− | Пример кода: <code>Событие игрока (Вход) ➞ Если игрок (Имя равно) ➞ Действие игрока ( | + | Пример кода: <code>Событие игрока (Вход) ➞ Если игрок (Имя равно) ➞ Действие игрока (Отправить сообщение) {ВСЕ}</code> |
*Вначале идёт название блок-функции, в примере это: ''Событие игрока'', ''Если игрок'' и ''Действие игрока''. | *Вначале идёт название блок-функции, в примере это: ''Событие игрока'', ''Если игрок'' и ''Действие игрока''. | ||
− | *После название блок-функции идёт выбранная функция (выбрать функцию можно нажав ПКМ по табличке). В примере это: ''(Вход)'', ''(Имя равно)'' и ''( | + | *После название блок-функции идёт выбранная функция (выбрать функцию можно нажав ПКМ по табличке). В примере это: ''(Вход)'', ''(Имя равно)'' и ''(Отправить сообщение)''. |
*В конце может присутствовать плейсхолдер. В примере это '''''{ВСЕ}'''''. Плейсхолдер можно выбрать зажав '''Shift''' и кликом '''ПКМ''' по табличке. | *В конце может присутствовать плейсхолдер. В примере это '''''{ВСЕ}'''''. Плейсхолдер можно выбрать зажав '''Shift''' и кликом '''ПКМ''' по табличке. | ||
− | *"Текст", "Число", "Местоположение", "Игровое значение", "Эффекты зелья", "Динамическая переменная", "Эффект частицы" '''(с большой буквы)''' подразумеваются как | + | *"Текст", "Число", "Местоположение", "Игровое значение", "Эффекты зелья", "Динамическая переменная", "Эффект частицы" '''(с большой буквы)''' подразумеваются как «переменная», которую можно получить из железного слитка (по умолчанию 9-й слот). |
− | ===PvP-Parkour=== | + | ==='''PvP-Parkour'''=== |
− | + | Одна из самых нашумевших игр. Её цель - пройти паркур и получить предметы, благодаря которым можно сражаться с игроками. | |
[[Файл:PvP-Parkour.png|центр|безрамки|800x800пкс]] | [[Файл:PvP-Parkour.png|центр|безрамки|800x800пкс]] | ||
− | ====Выдача предметов==== | + | ===='''Выдача предметов'''==== |
Для выдачи предметов игроку нужно задействовать 3 блока-функций - Событие игрока, Если игрок, Действие игрока. Сам код будет выглядеть следующем образом: | Для выдачи предметов игроку нужно задействовать 3 блока-функций - Событие игрока, Если игрок, Действие игрока. Сам код будет выглядеть следующем образом: | ||
− | <code>Событие игрока (Игрок кликает ) Если игрок (Смотрит на) ➞ Действие игрока (Выдать предметы)</code> | + | <code>Событие игрока (Игрок кликает правой кнопкой) ➞ Если игрок (Смотрит на блок) ➞ Действие игрока (Выдать предметы)</code> |
Детальнее: | Детальнее: | ||
− | #Событие игрока (Игрок кликает правой кнопкой) - запускает код, | + | #Событие игрока (Игрок кликает правой кнопкой) - запускает код, когда игрок нажимает ПКМ |
− | # Если игрок (Смотрит на) | В сундук: блок или Местоположение - данное условие будет проверять блок, на который нажал игрок | + | # Если игрок (Смотрит на блок) | В сундук: блок или Местоположение - данное условие будет проверять блок, на который нажал игрок |
#Действие игрока (Выдать предметы) | В сундук: предметы, которые игрок получит - выдаёт предметы | #Действие игрока (Выдать предметы) | В сундук: предметы, которые игрок получит - выдаёт предметы | ||
− | Важный момент, связанный с ''Если игрок Смотрит на''. | + | Важный момент, связанный с ''Если игрок Смотрит на блок''. |
− | #Блок-функция ''Действие игрока'' должна быть внутри ''Если игрок Смотрит на'', то-есть между поршнями, иначе игрок будет получать предметы при каждом нажатии ПКМ вне зависимости от блока | + | #Блок-функция ''Действие игрока'' должна быть внутри ''Если игрок Смотрит на блок'', то-есть между поршнями, иначе игрок будет получать предметы при каждом нажатии ПКМ вне зависимости от блока |
− | # В верхние слои сундука ''Если игрок Смотрит на'' можно положить только блоки, а в нижние только Местоположение. Если положить блок, то, вне зависимости от местонахождения блока (проще говоря - на любой блок одинакового типа), код будет срабатывать. Если положить Местоположение, то игрок будет получать предметы только, если нажмёт ПКМ на тот самый выделенный блок | + | # В верхние слои сундука ''Если игрок Смотрит на блок'' можно положить только блоки, а в нижние только Местоположение. Если положить блок, то, вне зависимости от местонахождения блока (проще говоря - на любой блок одинакового типа), код будет срабатывать. Если положить Местоположение, то игрок будет получать предметы только, если нажмёт ПКМ на тот самый выделенный блок |
Данный код является основой всех PvP-Parkour. | Данный код является основой всех PvP-Parkour. | ||
− | ====Выдача предметов определённым игрокам==== | + | ===='''Выдача предметов определённым игрокам'''==== |
Теперь надо сделать особенный блок, кликнув на который только владелец игры/выбранные им игроки смогут получать предметы. | Теперь надо сделать особенный блок, кликнув на который только владелец игры/выбранные им игроки смогут получать предметы. | ||
− | <code>Событие игрока (Игрок кликает правой кнопкой) ➞ Если игрок (Смотрит на) ➞ Если игрок (Имя равно) ➞ Действие игрока (Выдать предметы)</code> | + | <code>Событие игрока (Игрок кликает правой кнопкой) ➞ Если игрок (Смотрит на блок) ➞ Если игрок (Имя равно) ➞ Действие игрока (Выдать предметы)</code> |
Детальнее: | Детальнее: | ||
− | #Событие игрока (Игрок кликает правой кнопкой) - запускает код, | + | #Событие игрока (Игрок кликает правой кнопкой) - запускает код, когда игрок нажимает ПКМ |
− | # Если игрок (Смотрит на) | В сундук: блок или Местоположение - данное условие будет проверять блок, на который нажал игрок | + | # Если игрок (Смотрит на блок) | В сундук: блок или Местоположение - данное условие будет проверять блок, на который нажал игрок |
#Если игрок (Имя равно) | В сундук: Текст со своим ником/ником игрока, который будет иметь доступ - проверяет, кто именно выполняет действие. В случае совпадения ников - продолжает код, в случае несовпадения - ничего не делает | #Если игрок (Имя равно) | В сундук: Текст со своим ником/ником игрока, который будет иметь доступ - проверяет, кто именно выполняет действие. В случае совпадения ников - продолжает код, в случае несовпадения - ничего не делает | ||
#Действие игрока (Выдать предметы) | В сундук: предметы, которые игрок получит - выдаёт предметы | #Действие игрока (Выдать предметы) | В сундук: предметы, которые игрок получит - выдаёт предметы | ||
− | ====Вывод сообщения в чат==== | + | ===='''Вывод сообщения в чат'''==== |
Если игрок заходит в игру, то приятно будет сказать ему "Привет, приятной игры!". | Если игрок заходит в игру, то приятно будет сказать ему "Привет, приятной игры!". | ||
− | <code>Событие игрока (Вход) ➞ Действие игрока ( | + | <code>Событие игрока (Вход) ➞ Действие игрока (Отправить сообщение)</code> |
Детальнее: | Детальнее: | ||
#Событие игрока (Вход) - запускает код, когда игрок заходит в игру | #Событие игрока (Вход) - запускает код, когда игрок заходит в игру | ||
− | #Действие игрока ( | + | #Действие игрока (Отправить сообщение) | В сундук: Текст с названием "Привет, приятной игры!" - выводит сообщение в чат |
− | Данное сообщение увидит только тот игрок, который зашёл в | + | Данное сообщение увидит только тот игрок, который зашёл в игру. Также можно использовать разные цвета (список всех цветов: /colors). К примеру: "&6&lПривет, приятной игры!". |
− | ====Сохранение вещей при выходе из | + | ===='''Сохранение вещей при выходе из игры'''==== |
Будет крайне обидно, если игрок потеряет все предметы после перезахода в игру, однако, это можно исправить. | Будет крайне обидно, если игрок потеряет все предметы после перезахода в игру, однако, это можно исправить. | ||
Строка 283: | Строка 322: | ||
#Событие игрока (Вход) - запускает код, когда игрок заходит в игру | #Событие игрока (Вход) - запускает код, когда игрок заходит в игру | ||
− | #Действие игрока (Загрузить инвентарь) - выдаёт игроку предметы, которые у него были при выходе из | + | #Действие игрока (Загрузить инвентарь) - выдаёт игроку предметы, которые у него были при выходе из игры |
− | ====Сохранение вещей при смерти==== | + | ===='''Сохранение вещей при смерти'''==== |
− | + | После смерти предметы игрока выпадают из него и игрок их может потерять. Это можно решить следующим способом: | |
+ | <code>Событие игрока (Вход) ➞ Действие игрока (Сохранение инвентаря при смерти)</code> | ||
Детальнее: | Детальнее: | ||
#Событие игрока (Вход) - запускает код, когда игрок заходит в игру | #Событие игрока (Вход) - запускает код, когда игрок заходит в игру | ||
− | #Действие игрока ( | + | #Действие игрока (Сохранение инвентаря при смерти) - включает функцию сохранения инвентаря при смерти |
− | ====Выдача предметов за голосование==== | + | ===='''Выдача предметов за голосование'''==== |
− | Голосование (/like) позволяет | + | Голосование (/like) позволяет игроку выразить своё удовлетворение игрой. Владелец игры получит 1 золото, а игрок может получить бонус от владельца игры. |
''Если игрок написал /like:'' | ''Если игрок написал /like:'' | ||
− | <code>Событие игрока (Игрок лайкает игру) | + | <code>Событие игрока (Игрок лайкает за игру) ➞ Действие игрока (Выдать предметы)</code> |
Детальнее: | Детальнее: | ||
− | #Событие игрока (Игрок лайкает игру) - запускает код, когда игрок пишет команду /like | + | #Событие игрока (Игрок лайкает за игру) - запускает код, когда игрок пишет команду /like |
− | #Действие игрока (Выдать предметы) - выдаёт предметы в сундуке | + | #Действие игрока (Выдать предметы) - выдаёт предметы в сундуке |
− | ''Повторная выдача предметов за /like (игрок перезашёл в | + | ''Повторная выдача предметов за /like (игрок перезашёл в игру):'' |
− | <code>Событие игрока (Вход) | + | <code>Событие игрока (Вход) ➞ Если игрок (Голосовал) ➞ Действие игрока (Выдать предметы)</code> |
Детальнее: | Детальнее: | ||
− | #Событие игрока (Вход) - запускает код, когда игрок заходит в игру | + | #Событие игрока (Вход) - запускает код, когда игрок заходит в игру |
− | #Если игрок (Голосовал) - проверяет, голосовал ли уже игрок | + | #Если игрок (Голосовал) - проверяет, голосовал ли уже игрок |
− | #Действие игрока (Выдать предметы) - выдаёт предметы | + | #Действие игрока (Выдать предметы) - выдаёт предметы |
− | === MagmaBlock=== | + | ==='''MagmaBlock'''=== |
Не менее нашумевшая игра, которая собирала множество посетителей. Суть данной игры - ломать Магму и получать ресурсы, дальше уже сражаться/строить базу из полученных ресурсов. Аналоги MagmaBlock - LuckyBlock, Ломай землю, чтобы выжить и т.д. | Не менее нашумевшая игра, которая собирала множество посетителей. Суть данной игры - ломать Магму и получать ресурсы, дальше уже сражаться/строить базу из полученных ресурсов. Аналоги MagmaBlock - LuckyBlock, Ломай землю, чтобы выжить и т.д. | ||
[[Файл:Magma Block.png|центр|безрамки|800x800пкс]] | [[Файл:Magma Block.png|центр|безрамки|800x800пкс]] | ||
− | ====Выдача рандомных предметов==== | + | ===='''Выдача рандомных предметов'''==== |
Выдача рандомных предметов при ломании определённого блока (к примеру, магму) - основа сей игры. | Выдача рандомных предметов при ломании определённого блока (к примеру, магму) - основа сей игры. | ||
− | <code>Событие игрока ( | + | <code>Событие игрока (Игрок ломает блок) ➞ Если игрок (Смотрит на блок) ➞ Действие игрока (Выдать рандомные предметы)</code> |
Детальнее: | Детальнее: | ||
− | #Событие игрока ( | + | #Событие игрока (Игрок ломает блок) - запускает код, когда игрок ломает любой блок |
− | #Если игрок (Смотрит на) | В сундук: блок (к примеру, магму) или Местоположение(я) - данное условие будет проверять блок, | + | #Если игрок (Смотрит на блок) | В сундук: блок (к примеру, магму) или Местоположение(я) блока(ов) - данное условие будет проверять блок, который игрок сломал |
#Действие игрока (Выдать рандомный предмет) | В сундук: предметы, которые игрок будет получать при ломании блока - выдаёт рандомный предмет(ы) | #Действие игрока (Выдать рандомный предмет) | В сундук: предметы, которые игрок будет получать при ломании блока - выдаёт рандомный предмет(ы) | ||
− | ====Изменение игрового режима на Creative, Survival, Adventure, Spectating ==== | + | ===='''Изменение игрового режима на Creative, Survival, Adventure, Spectating'''==== |
Иногда игроки строят что-то, что следует немедля убрать, однако в режиме Выживание это проблематично. | Иногда игроки строят что-то, что следует немедля убрать, однако в режиме Выживание это проблематично. | ||
Строка 338: | Строка 378: | ||
Детальнее: | Детальнее: | ||
− | #Событие игрока ( | + | #Событие игрока (Игрок кликает правой кнопкой) - запускает код, когда игрок нажимает ПКМ |
#Если игрок (Держит предмет) | В сундук: предмет, нажав на который будет изменятся игровой режим - проверяет держащий в руке предмет | #Если игрок (Держит предмет) | В сундук: предмет, нажав на который будет изменятся игровой режим - проверяет держащий в руке предмет | ||
#Если игрок (Имя равно) | В сундук: Текст с никами игроков, у которых будет доступ к изменению игрового режима - проверяет, кто именно выполняет действие. В случае совпадения ников - продолжает код, в случае несовпадения - ничего не делает | #Если игрок (Имя равно) | В сундук: Текст с никами игроков, у которых будет доступ к изменению игрового режима - проверяет, кто именно выполняет действие. В случае совпадения ников - продолжает код, в случае несовпадения - ничего не делает | ||
Строка 345: | Строка 385: | ||
Событие игрока (Вход) ➞ Если игрок (Имя равно) | В сундук: Текст с никами игроков, у которых будет доступ к изменению игрового режима ➞ Действие игрока (Выдать предметы) | В сундук: предмет, изменяющий игровой режим. | Событие игрока (Вход) ➞ Если игрок (Имя равно) | В сундук: Текст с никами игроков, у которых будет доступ к изменению игрового режима ➞ Действие игрока (Выдать предметы) | В сундук: предмет, изменяющий игровой режим. | ||
− | ====Изменение игрового режима при входе в игру==== | + | ===='''Изменение игрового режима при входе в игру'''==== |
По умолчанию, когда игрок заходит в игру, то имеет игровой режим ''Приключение'', в котором нельзя ломать блоки. Однако, это можно исправить. | По умолчанию, когда игрок заходит в игру, то имеет игровой режим ''Приключение'', в котором нельзя ломать блоки. Однако, это можно исправить. | ||
Строка 353: | Строка 393: | ||
#Событие игрока (Вход) - запускает код, когда игрок заходит в игру | #Событие игрока (Вход) - запускает код, когда игрок заходит в игру | ||
#Действие игрока (Установить режим игры) | В сундуке: выбрать желаемый режим (Выживание) - меняет игровой режим | #Действие игрока (Установить режим игры) | В сундуке: выбрать желаемый режим (Выживание) - меняет игровой режим | ||
− | ====Отключение PvP на спавне==== | + | ===='''Отключение PvP на спавне'''==== |
− | Некоторые игроки любят показать своё "превосходство" над другими игроками (обычно новичками) | + | Некоторые игроки любят показать своё "превосходство" над другими игроками (обычно новичками) и убивают их на спавне. Запретить получение урона на спавне можно следующим способом: |
− | <code>Событие игрока ( | + | <code>Событие игрока (Игрок получает урон) ➞ Игровое действие (Отменить событие)</code> |
Детальнее: | Детальнее: | ||
− | #Событие игрока ( | + | #Событие игрока (Игрок получает урон) - запускает код, когда игрок получает любой урон |
#Игровое действие (Отменить событие) - отменяет событие | #Игровое действие (Отменить событие) - отменяет событие | ||
− | ===SkySurvival=== | + | ==='''SkySurvival'''=== |
SkySurvival - выживание в воздухе. Для выживания предоставляются все нужные блоки (дуб, камень, железо, алмазы и прочее). Цель игры - выживать, строить базы, веселиться, воевать. | SkySurvival - выживание в воздухе. Для выживания предоставляются все нужные блоки (дуб, камень, железо, алмазы и прочее). Цель игры - выживать, строить базы, веселиться, воевать. | ||
[[Файл:SkySurvival.png|центр|безрамки|800x800пкс]] | [[Файл:SkySurvival.png|центр|безрамки|800x800пкс]] | ||
− | ====Бесконечная добыча ресурсов==== | + | ===='''Бесконечная добыча ресурсов'''==== |
− | В основе этой игры лежит код, позволяющий ломать блоки | + | В основе этой игры лежит код, позволяющий ломать блоки и получать с них ресурсы, однако, блок не будет ломаться (исчезать) и его можно будет сломать повторно, получив ещё раз ресурсы. |
− | <code>Событие игрока ( | + | <code>Событие игрока (Игрок ломает блок) ➞ Если игрок (Смотрит на блок) ➞ Игровое действие (Отменить событие) ➞ Действие игрока (Выдать предметы)</code> |
Детальнее: | Детальнее: | ||
− | #Событие игрока ( | + | #Событие игрока (Игрок ломает блок) - запускает код, когда игрок сломал любой блок |
− | #Если игрок (Смотрит на) | В сундук положить блок, при ломании которого будут выдаваться предметы. К примеру: дуб - данное условие проверяет, какой блок сломал игрок | + | #Если игрок (Смотрит на блок) | В сундук положить блок, при ломании которого будут выдаваться предметы. К примеру: дуб - данное условие проверяет, какой блок сломал игрок |
#Игровое действие (Отменить событие) - отменяет событие (блок никаким образом не сломается) | #Игровое действие (Отменить событие) - отменяет событие (блок никаким образом не сломается) | ||
# Действие игрока (Выдать предметы) | В сундук: положить предметы, которые будут выдаваться. К примеру: 1 дуб - выдаёт предметы | # Действие игрока (Выдать предметы) | В сундук: положить предметы, которые будут выдаваться. К примеру: 1 дуб - выдаёт предметы | ||
− | =====<big>Выдача рандомного количества предметов</big>===== | + | ====='''<big>Выдача рандомного количества предметов</big>'''===== |
Дополнение к ''Бесконечная добыча ресурсов''. Данный код будет особенно полезен для Алмазов, Редстоуна, Лазурита, Эмеральдов. | Дополнение к ''Бесконечная добыча ресурсов''. Данный код будет особенно полезен для Алмазов, Редстоуна, Лазурита, Эмеральдов. | ||
− | <code>Событие игрока ( | + | <code>Событие игрока (Игрок ломает блок) ➞ Если игрок (Смотрит на блок) ➞ Игровое действие (Отменить событие) ➞ Действие игрока (Выдать рандомный предмет)</code> |
Детальнее: | Детальнее: | ||
− | #Событие игрока ( | + | #Событие игрока (Игрок ломает блок) - запускает код, когда игрок сломал любой блок |
− | #Если игрок (Смотрит на) | В сундук: положить блок, при ломании которого будут выдаваться предметы. К примеру: лазурит - данное условие проверяет, какой блок сломал игрок | + | #Если игрок (Смотрит на блок) | В сундук: положить блок, при ломании которого будут выдаваться предметы. К примеру: лазурит - данное условие проверяет, какой блок сломал игрок |
− | #Игровое действие (Отменить событие) - отменяет событие (блок никаком образом не сломается | + | #Игровое действие (Отменить событие) - отменяет событие (блок никаком образом не сломается/исчезнет) |
− | #Действие игрока (Выдать рандомный предмет) | В сундук: положить разное количество предметов, то-есть в первый слот, к примеру, 1 лазурит, во второй слот 2 лазурита, в третий 3 лазурит и так далее. Шансы выпадения можно регулировать | + | #Действие игрока (Выдать рандомный предмет) | В сундук: положить разное количество предметов, то-есть в первый слот, к примеру, 1 лазурит, во второй слот 2 лазурита, в третий 3 лазурит и так далее. Шансы выпадения можно регулировать, если положить одинаковое количество лазурита, к примеру 3 лазурита, в разные слоты, то шанс выпадения трёх лазуритов будет выше, чем у других |
На первом скрине шанс выпадения одинаковый. На втором скрине шанс выпадения трёх лазуритов выше, чем у других. | На первом скрине шанс выпадения одинаковый. На втором скрине шанс выпадения трёх лазуритов выше, чем у других. | ||
[[Файл:Лазурит Стандарт рандом.png|слева|безрамки]] | [[Файл:Лазурит Стандарт рандом.png|слева|безрамки]] | ||
[[Файл:Лазурит Не стандарт рандом.png|центр|безрамки|]] | [[Файл:Лазурит Не стандарт рандом.png|центр|безрамки|]] | ||
− | ====Префикс==== | + | ===='''Префикс'''==== |
Префикс позволяет выделить игрока словом перед его ником. Обычно подобное выдают сами себе владельцы игр или донатеры, которые купили привилегию в игре. Донаты Gamer, Skilled, Expert ... тоже являются префиксами и отлично выделяют игроков. | Префикс позволяет выделить игрока словом перед его ником. Обычно подобное выдают сами себе владельцы игр или донатеры, которые купили привилегию в игре. Донаты Gamer, Skilled, Expert ... тоже являются префиксами и отлично выделяют игроков. | ||
− | <code>Событие игрока (Событие чата) ➞ Если игрок (Имя равно) ➞ Игровое действие (Отменить событие) ➞ Действие игрока ( | + | <code>Событие игрока (Событие чата) ➞ Если игрок (Имя равно) ➞ Игровое действие (Отменить событие) ➞ Действие игрока (Отправить сообщение) {ВСЕ}</code> |
Детальнее: | Детальнее: | ||
#Событие игрока (Событие чата) - запускает код, когда игрок написал что-либо в чат | #Событие игрока (Событие чата) - запускает код, когда игрок написал что-либо в чат | ||
− | #Если игрок (Имя равно) | В сундук: ник(и), у кого будет префикс | + | #Если игрок (Имя равно) | В сундук: ник(и), у кого будет префикс - сверяет ники |
#Игровое действие (Отменить событие) - отменяет событие (сообщение не отправиться в чат) | #Игровое действие (Отменить событие) - отменяет событие (сообщение не отправиться в чат) | ||
− | #Действие игрока ( | + | #Действие игрока (Отправить сообщение) {ВСЕ} | В сундук: Текст с префиксом и ником, к примеру, ''Owner SwiftAdviser »'' и Игровое значение Сообщение игрока. Рекомендуется использовать цвета для префикса и ника (/colors), таким образом можно достичь следующего результата: ''&c&lOwner &6SwiftAdviser &8» &f'' [[Файл:SwiftAdviser Prefix.png|слева|безрамки|388x388пкс]] |
'''''&f''''' с пробелом после ''&8»'' нужно для того, чтобы текст сообщения был белого цвета и был отступ между ''&8»'' и текстом. | '''''&f''''' с пробелом после ''&8»'' нужно для того, чтобы текст сообщения был белого цвета и был отступ между ''&8»'' и текстом. | ||
− | ===Parkour=== | + | ==='''Parkour'''=== |
− | ====Возвращение игрока на место после перезахода в игру==== | + | Паркур - одна из немногих игр, которая всегда находится в топе. Цель паркура - прыгать с блока на блок и пройти препятствия. Паркур может быть как и маленьким, но очень сложным, так и большим, но не совсем сложным. |
+ | [[Файл:Parkour 1 Sunny.png|центр|безрамки|800x800пкс]] | ||
+ | ===='''Возвращение игрока на место после перезахода в игру'''==== | ||
Если игрок прошёл не малую часть Вашего паркура, то оказавшись после перезахода в игру на спавне, вероятнее всего, игрок обидеться и выйдет из игры, так и не пройдя её полностью. | Если игрок прошёл не малую часть Вашего паркура, то оказавшись после перезахода в игру на спавне, вероятнее всего, игрок обидеться и выйдет из игры, так и не пройдя её полностью. | ||
− | <code>Событие игрока (Выход) ➞ Установить переменную (=)</code> | + | <code>Событие игрока (Выход) ➞ Установить переменную (Установить (=))</code> |
<code>Событие игрока (Вход) ➞ Действие игрока (Телепортация)</code> | <code>Событие игрока (Вход) ➞ Действие игрока (Телепортация)</code> | ||
Строка 408: | Строка 450: | ||
Детальнее: | Детальнее: | ||
#Событие игрока (Выход) - запускает код, когда игрок выходит из игры | #Событие игрока (Выход) - запускает код, когда игрок выходит из игры | ||
− | # Установить переменную (=) | В сундук: '''сохранённая''' Динамическая переменная с названием %player%_location и Игровое значение Текущее местоположение - присваивает значение Динамической переменной | + | # Установить переменную (Установить (=)) | В сундук: '''сохранённая''' Динамическая переменная с названием %player%_location и Игровое значение Текущее местоположение - присваивает значение Динамической переменной |
#Событие игрока (Вход) - запускает код, когда игрок заходит в игру | #Событие игрока (Вход) - запускает код, когда игрок заходит в игру | ||
#Действие игрока (Телепортация) | В сундук: Динамическая переменная с названием %player%_location - телепортирует игрока в указанное место | #Действие игрока (Телепортация) | В сундук: Динамическая переменная с названием %player%_location - телепортирует игрока в указанное место | ||
− | ====Чекпоинты==== | + | ===='''Чекпоинты'''==== |
− | Чекпоинт (от англ. CheckPoint «Контрольная точка») - место сохранения перед каким-либо испытанием (в паркуре уровнем). | + | Чекпоинт (от англ. CheckPoint «Контрольная точка») - место сохранения перед каким-либо испытанием (в паркуре - уровнем). |
Один из возможных вариантов создания Чекпоинтов: | Один из возможных вариантов создания Чекпоинтов: | ||
− | <code>Событие игрока (Передвижение) ➞ Если игрок (Стоит на блоке) ➞ Установить переменную (=)</code> | + | <code>Событие игрока (Передвижение) ➞ Если игрок (Стоит на блоке) ➞ Установить переменную (Установить (=))</code> |
<code>Событие игрока (Игрок кликает правой кнопкой) ➞ Если игрок (Держит предмет) ➞ Действие игрока (Телепортация)</code> | <code>Событие игрока (Игрок кликает правой кнопкой) ➞ Если игрок (Держит предмет) ➞ Действие игрока (Телепортация)</code> | ||
Строка 423: | Строка 465: | ||
Детальнее: | Детальнее: | ||
#Событие игрока (Передвижение) - запускает код, когда игрок двигается | #Событие игрока (Передвижение) - запускает код, когда игрок двигается | ||
− | #Если игрок (Стоит на блоке) | В сундук: блок, обозначающий чекпоинт (блок, на который будет телепортироваться | + | #Если игрок (Стоит на блоке) | В сундук: блок, обозначающий чекпоинт (блок, на который будет телепортироваться игрок) - проверяет блок |
− | #Установить переменную (=) | В сундук: Динамическую переменную с названием %player%_checkpoint и Игровое значение Текущее местоположение - присваивает значение Динамической переменной | + | #Установить переменную (Установить (=)) | В сундук: Динамическую переменную с названием %player%_checkpoint и Игровое значение Текущее местоположение - присваивает значение Динамической переменной |
#Событие игрока (Игрок кликает правой кнопкой) - запускает код, если игрок нажмёт ПКМ | #Событие игрока (Игрок кликает правой кнопкой) - запускает код, если игрок нажмёт ПКМ | ||
# Если игрок (Держит предмет) | В сундук: предмет, благодаря которому игрок будет телепортироваться на чекпоинт (к примеру, палка) - проверяет предмет | # Если игрок (Держит предмет) | В сундук: предмет, благодаря которому игрок будет телепортироваться на чекпоинт (к примеру, палка) - проверяет предмет | ||
#Действие игрока (Телепортация) | В сундук: Динамическую переменную %player%_checkpoint - телепортирует игрока в указанное место | #Действие игрока (Телепортация) | В сундук: Динамическую переменную %player%_checkpoint - телепортирует игрока в указанное место | ||
− | === Бесконечный полёт === | + | ==== '''Бесконечный полёт''' ==== |
Наградой за пройденный паркур может быть что угодно, но полёт одно из самых прикольных. | Наградой за пройденный паркур может быть что угодно, но полёт одно из самых прикольных. | ||
− | <code>Событие игрока (Игрок кликает правой кнопкой) ➞ Если игрок (Смотрит на) ➞ Установить переменную (=) ➞ Действие игрока (Полёт)</code> | + | <code>Событие игрока (Игрок кликает правой кнопкой) ➞ Если игрок (Смотрит на блок) ➞ Установить переменную (Установить (=)) ➞ Действие игрока (Полёт)</code> |
− | <code>Событие игрока (Вход) ➞ Если переменная (=) ➞ Действие игрока (Полёт)</code> | + | <code>Событие игрока (Вход) ➞ Если переменная (Установить (=)) ➞ Действие игрока (Полёт)</code> |
Детальнее: | Детальнее: | ||
# Событие игрока (Игрок кликает правой кнопкой) - запускает код, если игрок нажмёт ПКМ | # Событие игрока (Игрок кликает правой кнопкой) - запускает код, если игрок нажмёт ПКМ | ||
− | # Если игрок (Смотрит на) | В сундук: положить блок, кликнув на который игрок получит Полёт - данное условие проверяет, на какой блок нажал игрок | + | # Если игрок (Смотрит на блок) | В сундук: положить блок, кликнув на который игрок получит Полёт - данное условие проверяет, на какой блок нажал игрок |
− | # Установить переменную (=) | В сундук: сохранённую Динамическую переменную с названием %player%_fly и Число с названием 1 - присваивает значение Динамической переменной | + | # Установить переменную (Установить (=)) | В сундук: сохранённую Динамическую переменную с названием %player%_fly и Число с названием 1 - присваивает значение Динамической переменной |
# Действие игрока (Полёт) | В сундуке: выбрать Доступ к полёту '''Может''' - выдаёт полёт | # Действие игрока (Полёт) | В сундуке: выбрать Доступ к полёту '''Может''' - выдаёт полёт | ||
# Событие игрока (Вход) - запускает код, когда игрок заходит в игру | # Событие игрока (Вход) - запускает код, когда игрок заходит в игру | ||
− | # Если переменная (=) | В сундук: Динамическую переменную с названием %player%_fly и Число с названием 1 - сверяет значение Динамической переменной. В случае совпадения чисел - продолжает код, в случае несовпадения - ничего не делает | + | # Если переменная (Установить (=)) | В сундук: Динамическую переменную с названием %player%_fly и Число с названием 1 - сверяет значение Динамической переменной. В случае совпадения чисел - продолжает код, в случае несовпадения - ничего не делает |
#Действие игрока (Полёт) | В сундуке: выбрать Доступ к полёту '''Может''' - выдаёт полёт | #Действие игрока (Полёт) | В сундуке: выбрать Доступ к полёту '''Может''' - выдаёт полёт | ||
Теперь, если игрок пройдёт паркур и нажмёт на определённый блок, то он будет иметь возможность летать всегда, даже после перезахода в игру. | Теперь, если игрок пройдёт паркур и нажмёт на определённый блок, то он будет иметь возможность летать всегда, даже после перезахода в игру. |
Текущая версия на 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 - сверяет значение Динамической переменной. В случае совпадения чисел - продолжает код, в случае несовпадения - ничего не делает
- Действие игрока (Полёт) | В сундуке: выбрать Доступ к полёту Может - выдаёт полёт
Теперь, если игрок пройдёт паркур и нажмёт на определённый блок, то он будет иметь возможность летать всегда, даже после перезахода в игру.