[ГАЙД] Переключатели

Переключатель (простыми словами) - кнопка, хранящая состояние чего-либо. Простой пример - /settings, или настройки мира в /plot
Этот гайд покажет вам как делать свои переключатели в сундуке к+
Да, тут возможно много воды

Первым делом нужен сам сундук, в котором будет переключатель. В нём мы определённый слот меняем на предмет, при этом проверяя состояние переменной.

К примеру: у нас есть цикличное сообщение отправки сообщения рекламы твоего дискорд сервера, и, предположим, за /like его можно убрать, и это сообщение можно включить/Выключить благодаря переключателю в сундуке.

Для начала нужно учесть несколько моментов для кода:
1. Должна быть переменная, в которой отражается состояние переключателя и его действия
2. Должен код, который уже будет влиять от состояния переключателя
3. Для нашего переключателя должен быть скрипт, чтобы открывался сундук, и был предмет
4. Скрипт, меняющий состояние переключателя

Начнём разбирать все моменты:
1. Переменная
Из примера выше у нас есть некая переменная, которая значит "отправлять или не отправлять сообщение"

Для упрощения кода наше значение будет равно 0 или 1
0 - не отправлять
1 - отправлять
Её нужно сохранить, а при входе создавать, если она не существует

2. Сообщение
Теперь если у нас переключатель - 1, то мы отправляем сообщение
Достаточно сделать в цикле выборку объектов и отправлять выборке нужное сообщение

3. Сундук
Отныне сундук с переключателем мы открываем с помощью функции
Функция по состоянию переключателя поставит нужный предмет, и откроет сундук в режиме копии, чтобы у каждого игрока был свой сундук со своими переключателями. После каждого нажатия на переключатель так-же надо вызывать эту функцию

4. Смена состояния
Предположительно есть 2 предмета, которые при нажатии сделают противоположное действие (нажал на переключатель где состояние выключено - станет включённым)
Простыми словами:
1 предмет - включённое состояние
2 предмет - выключенное состояние

если нажал игрок на 1 предмет - ставим выключенное состояние, если нажал на 2 предмет - ставим на включённое состояние


Теперь код
Форматирование (BB-код):
СОБЫТИЕ ИГРОКА - ВХОД {{{

Если переменная - НЕ Существует (%player%_переключатель):

    Установить переменную (%player%_переключатель = 1)

Запустить цикл ("discord_ad")

}}}



ФУНКЦИЯ ("сундук с переключателем") {{{

Выбрать объект - игрок по умолчанию

Если игрок - Переменная равно (%player%_переключатель = 0):

       Установить предмет в сундук (координата сундука, слот, и предмет с состоянием "не отправлять")

Иначе:

        Установить предмет в сундук (координата сундука, слот, и предмет с состоянием "отправлять")

Открыть инвентарь КОПИЯ (сундук)

}}}



СОБЫТИЕ ИГРОКА - КЛИК ПО ИНВЕНТАРЮ {{{

Если игрок предмет равен (предмет: состояние включён):

    Установить переменную (%player%_переключатель = 0)

    Вызвать функцию ("сундук с переключателем")

Если игрок предмет равен (предме: состояние выключен):

    Установить переменную (%player%_переключатель = 1)

    Вызвать функцию ("сундук с переключателем")



}}}



СОБЫТИЕ ИГРОКА - СОБЫТИЕ ЧАТА {{{

Если игрок - Сообщение равно ("@settings", "#settings"):

    Вызвать функцию ("сундук с переключателем")



}}}



ЦИКЛ ("discord_ad", 200) {{{

Выбрать объект - Игроки по условию - Если переменная - Переменная равно (%selected%_переключатель == 1)

Действие игрока - Отправить сообщение ВЫБОРКЕ ("реклама та-та")

}}}
Мб потом задекорю
И из-за цвета таб слетел (пробелы) там где условия, ну ладно
 
Последнее редактирование:

onn512

Эксперт
Регистрация
2 Май 2023
Сообщения
152
И из-за цвета таб слетел (пробелы) там где условия, ну ладно
Исправляй!

Чтобы табы остались, используй "Вставить код":
IMG_20231231_121810.jpg
Если хочешь добавить цвета, то переключи "язык" на "форматирование (BB-код)":IMG_20231231_122111.jpg
P.S. Цвета можно добавить только после вставки кода.

И с наступающим Новым годом!
 
Последнее редактирование:

Mee8YT

Эксперт
Регистрация
3 Май 2023
Сообщения
357
Исправляй!

Чтобы табы остались, используй "Вставить код":
Посмотреть вложение 5462
Если хочешь добавить цвета, то переключи "язык" на "форматирование (BB-код)":Посмотреть вложение 5463
P.S. Цвета можно добавить только после вставки кода.

И с наступающим Новым годом!
done <3
 
Сверху