Переменные: различия между версиями
Quasari (обсуждение | вклад) |
Quasari (обсуждение | вклад) м (Quasari переименовал страницу Участник:Quasari/Переменные в Переменные) |
||
(не показано 9 промежуточных версий этого же участника) | |||
Строка 17: | Строка 17: | ||
== Список переменных == | == Список переменных == | ||
=== <big>Текстовая переменная</big> === | === <big>Текстовая переменная</big> === | ||
− | Текст поддерживает все текстовые символы и цветовые кода. Текст невозможно использовать как Число, однако текстовое значение можно превратить в числовое, используя | + | Текст поддерживает все текстовые символы и цветовые кода. Текст невозможно использовать как Число, однако текстовое значение можно превратить в числовое, используя действие "Парсить число". |
− | Также этой переменной можно установить звуковой ID, который можно воспроизвести | + | Также этой переменной можно установить звуковой ID, который можно воспроизвести Действием игрока "Воспроизвести звук". |
==== Примеры использования ==== | ==== Примеры использования ==== | ||
*Создание обучающего сообщения, голограммы или скорборда; | *Создание обучающего сообщения, голограммы или скорборда; | ||
Строка 27: | Строка 27: | ||
Числовая переменная поддерживает только цифры и используется для настройки числовых параметров, типа времени в мира или установки урона игроку. При написании "P" или "E", числовая переменная принимает значение соответствующих чисел '''π''' и '''e'''. | Числовая переменная поддерживает только цифры и используется для настройки числовых параметров, типа времени в мира или установки урона игроку. При написании "P" или "E", числовая переменная принимает значение соответствующих чисел '''π''' и '''e'''. | ||
− | В настройках времени чаще всего используются не секунды, а тики (1 секунда = 20 тиков). Для экономии времени, числовая переменная поддерживает использование "число+s-m-h (second-minute-hour)", что сразу конвертирует указанное время в тики. | + | В настройках времени чаще всего используются не секунды, а тики (1 секунда = 20 тиков). Для экономии времени, числовая переменная поддерживает использование "число+s-m-h (second-minute-hour)", что сразу конвертирует указанное время в тики. Пример: 1m = 1200 тиков. |
==== Примеры использования ==== | ==== Примеры использования ==== | ||
*Настройка числовых параметров игрока и мира; | *Настройка числовых параметров игрока и мира; | ||
Строка 39: | Строка 39: | ||
*Проверка местонахождения игрока, ломаемого блока, блока на месте взгляда и т.п. | *Проверка местонахождения игрока, ломаемого блока, блока на месте взгляда и т.п. | ||
=== <big>Зелье</big> === | === <big>Зелье</big> === | ||
− | Данная переменная способна хранить в себе любые зелья, даже не создаваемые. Присутствует возможность настраивать силу и длительность эффекта. Чтобы указать длительность, необходимо взять переменную в руки и написать в чат "m+s (4:20), а чтобы указать силу, нужно сделать то же самое, но уже написав обычное число, которое и будет обозначать силу эффекта. | + | Данная переменная способна хранить в себе любые зелья, даже не создаваемые. Присутствует возможность настраивать силу и длительность эффекта. Чтобы указать длительность, необходимо взять переменную в руки и написать в чат "m+s (4:20)", а чтобы указать силу, нужно сделать то же самое, но уже написав обычное число, которое и будет обозначать силу эффекта. |
==== Примеры использования ==== | ==== Примеры использования ==== | ||
*Достижение эффекта моргания с помощью установки Слепоты; | *Достижение эффекта моргания с помощью установки Слепоты; | ||
Строка 56: | Строка 56: | ||
*Обозначение снаряда в векторном оружии; | *Обозначение снаряда в векторном оружии; | ||
*Использование как косметику. | *Использование как косметику. | ||
+ | |||
== Динамическая переменная == | == Динамическая переменная == | ||
− | '''Динамическая переменная''' - переменная, которая является не просто заранее указанным значением, а условной "коробкой", содержимое (значение) которого можно оперативно менять | + | '''Динамическая переменная''' - переменная, которая является не просто заранее указанным значением, а условной "коробкой", содержимое (значение) которого можно оперативно менять. |
=== <big>Изменение значения динамической переменной</big> === | === <big>Изменение значения динамической переменной</big> === | ||
Динамической переменной в игре изначально не существует, и чтобы она появилась, необходимо присвоить ей значение с помощью блока-функции "Присвоить переменную". Только после получения значения, динамическая переменная появится в игре и будет служить хранилищем данных. | Динамической переменной в игре изначально не существует, и чтобы она появилась, необходимо присвоить ей значение с помощью блока-функции "Присвоить переменную". Только после получения значения, динамическая переменная появится в игре и будет служить хранилищем данных. | ||
Строка 69: | Строка 70: | ||
**Умножить, поделить, вычесть, сложить; | **Умножить, поделить, вычесть, сложить; | ||
**Прибавить или убавить; | **Прибавить или убавить; | ||
− | ** | + | **Сгенерировать случайное число между двумя числами. |
*Действия с текстом: | *Действия с текстом: | ||
**Объединить тексты; | **Объединить тексты; | ||
**Узнать длину строки в символах; | **Узнать длину строки в символах; | ||
− | **Парсить число | + | **Парсить число. (Превратить текст с числовым значением в числовую переменную) |
− | |||
*Действия с координатами: | *Действия с координатами: | ||
**Узнать расстояние между двумя координатами; | **Узнать расстояние между двумя координатами; | ||
Строка 80: | Строка 80: | ||
**Изменить одно из значений координаты. | **Изменить одно из значений координаты. | ||
Чтобы динамическая переменная не потеряла своё значение после остановки игры, её необходимо сохранить. Для этого нужно взять динамическую переменную в руки и нажать '''ШИФТ + ПКМ''', после чего, у динамической переменной появится статус "'''СОХРАНЕНО'''" | Чтобы динамическая переменная не потеряла своё значение после остановки игры, её необходимо сохранить. Для этого нужно взять динамическую переменную в руки и нажать '''ШИФТ + ПКМ''', после чего, у динамической переменной появится статус "'''СОХРАНЕНО'''" | ||
+ | |||
+ | [[Файл:Сохр. динамическая переменная.png|безрамки|396x396пкс]] | ||
=== <big>Типы динамических переменных</big> === | === <big>Типы динамических переменных</big> === | ||
В зависимости от наличия плейсхолдера и его типа, динамическая переменная получит один из двух типов: | В зависимости от наличия плейсхолдера и его типа, динамическая переменная получит один из двух типов: | ||
Строка 90: | Строка 92: | ||
Использование динамических переменных обязательно в профессионально созданной игре, поскольку без неё не могут работать такие интересные механики, как статистика игрока, лидерборд, таймер, списки и другие, более сложные и интересные коды. | Использование динамических переменных обязательно в профессионально созданной игре, поскольку без неё не могут работать такие интересные механики, как статистика игрока, лидерборд, таймер, списки и другие, более сложные и интересные коды. | ||
====Статистика игрока==== | ====Статистика игрока==== | ||
− | Когда игрок совершает какое-либо действие, например, убийство, к его локальной динамической переменной "'''%player% kills'''" прибавляется единица, которая | + | Когда игрок совершает какое-либо действие, например, убийство, к его локальной динамической переменной "'''%player% kills'''" прибавляется единица, которая означает одно совершённое действие. Подобную статистику можно отобразить разными способами коммуникации, но самым распространённым является скорборд. |
− | <code>Событие игрока — | + | <code>Событие игрока — Убийство игрока -> Присвоить переменную — Прибавить (+=) - %player%_kills += 1 (Число)</code> |
− | |||
− | |||
− | + | После обновления лидера по убийствам, можно спавнить NPC, имя которого будет обозначать никнейм лидера, а созданная голограмма под именем - количество убийств. | |
+ | == Массив == | ||
+ | '''Массив''' простыми словами - список с уникальным именем, в котором у каждого значения свой номер, именуемый индексом, по которому можно брать из массива значение и использовать его в коде. | ||
− | После | + | У массива есть два типа сохранения: |
+ | * '''Временный''' - массив, который пропадает после остановки мира. | ||
+ | * '''Постоянный''' - массив, который не пропадает после остановки мира. | ||
+ | === Изменение и использование массива === | ||
+ | Изменить массив можно действием создания с заранее заданными значениями или действиями добавления новых: | ||
+ | * Очистить / Создать массив; | ||
+ | * Вставить / Заменить элемент массива; | ||
+ | * Добавить в конец массива. | ||
+ | После создания или изменения массива, в последующим необходимым будет использование его значений. Чтобы взять из массива значение, необходимо знать его индекс и использовать действие "Получить элемент массива". Взятое значение будет сохранено в отдельную динамическую переменную. | ||
+ | === Примеры использования массива в коде === | ||
+ | ==== Лидерборд ==== | ||
+ | Используя добавление в массив, его сортировку и выборку по количество убийств. | ||
+ | ==== Очистка мира ==== | ||
+ | Используя добавление координат в массив, а позже рекурсивной фунцией устанавить пустой блок на каждую координату в массиве. |
Текущая версия на 23:13, 23 апреля 2022
Переменная — значение, которым настраиваются блоки-функции путём установки переменных в нужные слоты.
Установка значения в переменную
Чтобы установить значение переменной, необходимо:
- Держать переменную в руке и написать нужное значение в чат. (Книга и Число)
- Кликнуть переменной ПКМ и выбрать из данных. (Зелье, Игровое значение и Частица)
Значение таким переменным, как Местоположение и Динамическая переменная, устанавливаются иначе:
- С помощью блока-функции "Присвоить переменную", можно установить значение Динамической переменной:
- Общие действия установки значения;
- Математические действия;
- Действия с текстами;
- Действия с координатами.
- Чтобы установить значение переменной "Местоположение", необходимо перейти в основной мир:
- ЛКМ - Телепортироваться в обычный мир/Телепортироваться в код.
- ПКМ - Сохранить в переменную текущую координату игрока.
- Шифт + ЛКМ - Телепортироваться к сохранённой координате.
- ПКМ по блоку - Сохранить в переменную координату кликнутого блока.
Список переменных
Текстовая переменная
Текст поддерживает все текстовые символы и цветовые кода. Текст невозможно использовать как Число, однако текстовое значение можно превратить в числовое, используя действие "Парсить число".
Также этой переменной можно установить звуковой ID, который можно воспроизвести Действием игрока "Воспроизвести звук".
Примеры использования
- Создание обучающего сообщения, голограммы или скорборда;
- Проверка имён, сообщений и других текстовых значений;
- Установка в текстовую переменную звуковых ID для дальнейшего воспроизведения.
Числовая переменная
Числовая переменная поддерживает только цифры и используется для настройки числовых параметров, типа времени в мира или установки урона игроку. При написании "P" или "E", числовая переменная принимает значение соответствующих чисел π и e.
В настройках времени чаще всего используются не секунды, а тики (1 секунда = 20 тиков). Для экономии времени, числовая переменная поддерживает использование "число+s-m-h (second-minute-hour)", что сразу конвертирует указанное время в тики. Пример: 1m = 1200 тиков.
Примеры использования
- Настройка числовых параметров игрока и мира;
- Установка счёта строки в скорборде;
- Установка задержки в действиях "Ждать", "Отправить диалог" и других.
Местоположение
Местоположение способно хранить в себе координаты и направление взгляда. Необходимая вещь в действиях с блоками, а также для создания GUI.
Примеры использования
- Установка двух координат для выделения и последующего заполнения, копирования и т.д;
- Установка координаты для создания GUI;
- Проверка местонахождения игрока, ломаемого блока, блока на месте взгляда и т.п.
Зелье
Данная переменная способна хранить в себе любые зелья, даже не создаваемые. Присутствует возможность настраивать силу и длительность эффекта. Чтобы указать длительность, необходимо взять переменную в руки и написать в чат "m+s (4:20)", а чтобы указать силу, нужно сделать то же самое, но уже написав обычное число, которое и будет обозначать силу эффекта.
Примеры использования
- Достижение эффекта моргания с помощью установки Слепоты;
- Увеличение или уменьшение скорости копания, скорости, урона и т.д;
- Возможность избежать использование нелогичных источников света с помощью Ночного зрения.
Игровое значение
Игровое значение поддерживает значения сущности, события и игры. Подобная информация может пригодится в различных статистиках, потому что содержит всегда актуальную информацию.
Примеры использования
- Информационный скорборд со статистикой игры;
- Кастомный чат со значением "Сообщение игрока";
- Наблюдение за нагрузкой кода с помощью "Счётчика выполненных действий".
Эффект частицы
Более 50 частиц помогут разнообразить игру, добавив следы убийства, ходьбы и т.д.
Примеры использования
- Следы различных действий игрока;
- Обозначение снаряда в векторном оружии;
- Использование как косметику.
Динамическая переменная
Динамическая переменная - переменная, которая является не просто заранее указанным значением, а условной "коробкой", содержимое (значение) которого можно оперативно менять.
Изменение значения динамической переменной
Динамической переменной в игре изначально не существует, и чтобы она появилась, необходимо присвоить ей значение с помощью блока-функции "Присвоить переменную". Только после получения значения, динамическая переменная появится в игре и будет служить хранилищем данных.
На данный момент, у динамической переменной 4 вида присвоения значения:
- Общая (прямая) установка значения:
- "Установить" (=) и "Установить предмет";
- "Установить количество/количество/название...";
- "Установить случайное значение" из заранее заготовленных.
- Математические действия:
- Умножить, поделить, вычесть, сложить;
- Прибавить или убавить;
- Сгенерировать случайное число между двумя числами.
- Действия с текстом:
- Объединить тексты;
- Узнать длину строки в символах;
- Парсить число. (Превратить текст с числовым значением в числовую переменную)
- Действия с координатами:
- Узнать расстояние между двумя координатами;
- Взять одно из трёх значений указанной координаты;
- Изменить одно из значений координаты.
Чтобы динамическая переменная не потеряла своё значение после остановки игры, её необходимо сохранить. Для этого нужно взять динамическую переменную в руки и нажать ШИФТ + ПКМ, после чего, у динамической переменной появится статус "СОХРАНЕНО"
Типы динамических переменных
В зависимости от наличия плейсхолдера и его типа, динамическая переменная получит один из двух типов:
- Глобальная переменная - динамическая переменная, в названии которой отсутствует плейсхолдер и которая существует одна на весь мир.
- Локальная переменная - динамическая переменная, в названии которой присутсвует плейсхолдер и значение которой зависит от него. Возьмём три разных плейсхолдера: %player%, %victim% и %selected%:
- %player% - чаще всего используется в строчках кода без выборки, в которых присвоить переменную надо обычному игроку, от лица которого сработало событие кода. При изменении динамической переменной "%player% var", изменится динамическая переменная 'Player1 var'.
- %victim% - плейсхолдер меняется в зависимости от того, кого бьёт игрок в событиях нанесения урона. Если взять событие "Игрок нанёс игроку урон" и в нём присваивать значение переменной "%victim% var", то будет меняться значение динамической переменной жертвы.
- %selected% - плейсхолдер, который может хранить в себе не только 1 сущность. Если выбрать всех игроков с помощью блока-функции "Выбрать объект", то при присваивании значения переменной "%selected% var", у переменных всех выбранных игроков поменяется значение.
Использование динамических переменных
Использование динамических переменных обязательно в профессионально созданной игре, поскольку без неё не могут работать такие интересные механики, как статистика игрока, лидерборд, таймер, списки и другие, более сложные и интересные коды.
Статистика игрока
Когда игрок совершает какое-либо действие, например, убийство, к его локальной динамической переменной "%player% kills" прибавляется единица, которая означает одно совершённое действие. Подобную статистику можно отобразить разными способами коммуникации, но самым распространённым является скорборд.
Событие игрока — Убийство игрока -> Присвоить переменную — Прибавить (+=) - %player%_kills += 1 (Число)
После обновления лидера по убийствам, можно спавнить NPC, имя которого будет обозначать никнейм лидера, а созданная голограмма под именем - количество убийств.
Массив
Массив простыми словами - список с уникальным именем, в котором у каждого значения свой номер, именуемый индексом, по которому можно брать из массива значение и использовать его в коде.
У массива есть два типа сохранения:
- Временный - массив, который пропадает после остановки мира.
- Постоянный - массив, который не пропадает после остановки мира.
Изменение и использование массива
Изменить массив можно действием создания с заранее заданными значениями или действиями добавления новых:
- Очистить / Создать массив;
- Вставить / Заменить элемент массива;
- Добавить в конец массива.
После создания или изменения массива, в последующим необходимым будет использование его значений. Чтобы взять из массива значение, необходимо знать его индекс и использовать действие "Получить элемент массива". Взятое значение будет сохранено в отдельную динамическую переменную.
Примеры использования массива в коде
Лидерборд
Используя добавление в массив, его сортировку и выборку по количество убийств.
Очистка мира
Используя добавление координат в массив, а позже рекурсивной фунцией устанавить пустой блок на каждую координату в массиве.