- Регистрация
- 3 Май 2023
- Сообщения
- 95
Я еще подумала над этим. Оказалось, что добавить причину можно 2-умя блоками (Код с причиной написан таким текстом). Код:
Обработка команды (@ban <игрок> <время> <причина>):
Событие чата → [Если имя равно (ники игроков, кто может банить) → [Если текст содержит (Сообщение игрока) (@ban) → Разделить текст на элементы (ban_temp) (Сообщение игрока) () → Получить элемент массива (ban_temp) (2) (%player%_text) → Выбрать игроков по имя равно (%player%_text) → Кикнуть игрока {Выборка} → Выбрать игрок по умолчанию → Заспавнить моба (Предмет = Яйцо призыва зомби) (Местоположение = Текущее местоположение) (Имя сущности = %player%_text) → Выбрать мобов по имя равно (%player%_text) → Добавить в конец массива (banned) (%player%_text) → Получить элемент массива (ban_temp) (3) (%player%_text) → Узнать длину текста (%player%_high_time) (%player%_text) → Отнять (%player%_high_time) - (1) → Обрезать текст (%player%_str_time) (%player%_text) (0) (%player%_high_time) → Заменить символы (%player%_int_time) (%player%_text) (%player%_str_time) () → Парсить число (%player%_int_time) (%player%_int_time) → [Если значение (%player%_str_time) == (d) → Установить * (%selected%_ban_time) (%player%_int_time) (86 400) → Установить (%player%_str_time) = (&9д&f.) ] → [Если значение (%player%_str_time) == (h) → Установить * (%selected%_ban_time) (%player%_int_time) (3 600) → Установить (%player%_str_time) = (&9ч&f.) ] → [Если значение (%player%_str_time) == (m) → Установить * (%selected%_ban_time) (%player%_int_time) (60) → Установить (%player%_str_time) = (&9мин&f.) ] → [Если значение (%player%_str_time) == (s) → Установить (%selected%_ban_time) =(%player%_int_time) → Установить (%player%_str_time) = (&9с&f.) ] → Объединить текст (%player%_ban_rule) ("@ban %selected%"; %player%_text; "&f") <Разделение пробелом> → Заменить символы в тексте (%player%_ban_rule) (Сообщение игрока) (%player%_ban_rule) → Объединить текст (%player%_text) ("&6%player% &fзабанил игрока &6%selected% &fна &6"; %player%_int_time; "&f &6"; %player%_str_time; ''&f Причина: &6"; %player%_ban_rule; "&f.") → Удалить сущность {Выборка} → Отправить сообщение (%player%_text) {Все} ] ]
Обработка команды (@unban <игрок>):
Событие чата → [Если имя равно (ники игроков, кто может разбанить) → [Если текст содержит (Сообщение игрока) (@unban) → Заменить символы в тексте (%player%_text) (Сообщение игрока) (@unban &f) () → Заспавнить моба (Предмет = Яйцо призыва зомби) (Местоположение = Текущее местоположение) (Имя сущности = %player%_text) → Выбрать мобов по имя равно (%player%_text) → Присвоить (%selected%_ban_time) = (0) → Обеднить тексты (%player%_text) (&fИгрок &6%player% &fразбанил игрока &6%selected%&f.) → Удалить сущность {Выборка} → Отправить сообщение (%player%_text) {Все} ] ]
Вход игрока, запуск цикла:
Событие вход → [Если значение (%player%_ban_time) > (0) → Кикнуть игрока {Игрок по умолчанию}] → Начать цикл (ban_timer)
Цикл:
Цикл (ban_timer) (600) → Получить размер массива (banned) (ban_list_size) → Вызвать функцию (ban_iter) {Синхронно}
Функция перебора забаненых игроков:
Функция (ban_iter) → Выбрать случайного игрока → [Если значение (ban_list_size) > (0) → Получить элемент массива (banned) (ban_list_size) (ban_list_edit) → Заспавнить моба (Предмет = Яйцо призыва зомби) (Местоположение = Любая точка координат в вашей игре) (Имя сущности = ban_list_edit) → Выбрать мобов по имя равно (ban_list_edit) → Отнять (%selected%_ban_time) - (30) → [Если значение (%selected%_ban_time) <= (0) → Отнять (ban_list_size) - (1) → Удалить элемент массива (banned) (ban_list_size)] → Удалить сущность {Выборка} → Отнять (ban_list_size) - (1) → Выбрать случайного игрока → Ждать (1) {В тиках} → Вызвать функцию (ban_iter) {Синхронно}]
Дополнительная информация:
Если в мире не будет игроков, то и время у забаненых идти не будет.
Для установки блока "Разделить текст на элементы" требуется ранг "Hero".
Примеры бана (s - секунды, m - минуты, h - часы, d - дни):
- @ban SashaLab7 10s test
- @ban roman 15m Обход жизни
- @ban ban_me_pls 100h Сам попросил
- @ban w3ily 30d Чтобы жизнь малиной не казалась)
Значения:
- banned - Массив (Постоянный)
- %selected%_ban_time, %player%_ban_time - Динамические переменные (Сохраненные)
- ban_temp - Массив (Временный)
Скрины:
Скрин кода:
Пример бана:
Можете попросить меня перекопировать код в ваш мир (если у меня не будет дел), в нем можно применять префиксы 🙃
Пример бана + Префиксы через переменные:
Я могла чуть ошибиться, когда переписывала код в текст. Если тут есть те, кому не лень проверить, проверьтеВложения
Последнее редактирование: