Возможно когда-нибудь @_Mr_ded_ вас попросит скинуть "в какой период сколько уников у тебя было", а ты такой "эыээ..."
Это важно для крупных игр (поскольку в нашем комьюнити есть люди, которые ценят историю популярности режимов), по этому сегодня покажу простенькую систему логирования уников для вашей игры
Код добавляет лог с униками.
В событии входа мы проверяем день в году, равен ли он прошлой записи, если нет - создаётся в массиве запись в формате "дата+уники".
В событии чата создан инструмент для поиска записей по айди, и по содержанию записи
Код нереально простой, всего 3 строки, а добавляет интересную особенность
По простым подсчётам в /build'е код занимает мало сохранённых переменных, 1 в любом случае, и +1 за каждую запись
Можно добавить новые инструменты, вот вам идея: крд принимает 2 аргумента, где указывается минимальныое и максимальное допустимое значение уников, чтобы оно попало в сообщение. Кто напишет как это делается получит 5к золота, жду точный код
кароче езз код, делал цвета с телефона 2 часа, пж оценку
Это важно для крупных игр (поскольку в нашем комьюнити есть люди, которые ценят историю популярности режимов), по этому сегодня покажу простенькую систему логирования уников для вашей игры
Форматирование (BB-код):
Событие игрока - Вход
Присв переменную - Установить вр. в в. даты (date) // Вернёт значение 'гггг-мм-дд чч:мин:сек.мс'
Присв переменную - Разделить текст на элементы (date.split, date, пусто) // Разделяем дату на пробел
Если переменная - Не равно (^date.save != date.splitඞ0) // Проверяем совпадение сохранённой даты
Если переменная - Не существует (date.array ⎘ඞ499) // После "ඞ" ставим ваш лимит записей, можно не делать
Присв переменную - Установить (^date.save = date.splitඞ0)
Присв переменную - Объединить текст (date.formated = date.splitඞ0 + ЯБЛОКО@уник.посетители $разделение_пробелом)
Массивы - Добавить в конец (^date.array ⎘ .положить date.formated)
// Добавлена запись, пример: '2024-07-26 1599'
// Где слева - дата, справа - уники
// Проверка логов
Событие игрока - Событие чата
Если переменная - Текст содержит (ЯБЛОКО@сообщение .содержит "@uniqlog")
Игровое действие - Отменить событие
Если игрок - Имеет права ($Белый_список)
Присв переменную - Разделить текст (%player%_message, ЯБЛОКО@сообщение, пусто)
// Поиск записи по айди
Если переменная - Равно (%player%_messageඞ1 == "id")
Присв переменную - Парсить число (%player%_uniqlog.id .из %player%_messageඞ2)
Массивы - Получить элемент (^date.array ⎘, %player%_uniqlog.id, %player%_uniqlog.log)
Действие игрока - Отправить ("Запись под id ", %player%_uniqlog.id, ": ", %player%_uniqlog.log)
// Использование: '@uniqlog id 10' - поиск с айди 10
// Поиск записей по содержанию текста, например по дате, или месяцу
Если переменная - Равно (%player%_messageඞ1 == "date")
Присв переменную - Установить (%player%_uniqlog.target = %player%_messageඞ2)
Присв переменную - Установить (%player%_uniqlog.index = 0)
Присв переменную - Установить (%player%_uniqlog.result = "&f") // Пустой текст
Массивы - Получить размер (^date.array ⎘, %player%_uniqlog.len)
Вызвать функцию (uniqlog.date.for $синхронный_запуск)
// Использование: `@uniglog date 2024-07-` - поиск за июль 2024
Функция (uniqlog.date.for)
Присв переменную - Прибавить (%player%_uniqlog.index += 1)
Если переменная - Сравнить число (%player%_uniqlog.index <= %player%_uniqlog.len)
Массивы - Получить элемент (^date.array ⎘, %player%_uniqlog.index, %player%_uniqlog.elem)
Если переменная - Текст содержит (%player%_uniqlog.elem .содержит %player%_uniqlog.target $все_переключатели_нажать)
Присв переменную - Объединить ($новые_строки %player%_uniqlog.result = %player%_uniqlog.result + %player%_uniqlog.elem)
Иначе
Действие игрока - Отправить сообщение ("Найденные записи: ", %player%_uniqlog.result)
]"Абв" | текст |
123 | число |
ЯБЛОКО@абв | игровое значение |
^ | Сохр. массив или переменная (ставить его в коде НЕ НУЖНО!) |
Абв | динамическая переменная |
^Абв | сохр. динамическая переменная |
Абв | массив |
Абвඞ123 | несохр. переменная, с элементом несохр. массива |
^Абв ⎘ | сохр. массив |
Абв⎘ඞ123 | несохр. переменная с элементом сохр. массива |
.контекст | контекст некоторых действий (Например: абв .объединить вба -> абввба) |
Пусто | пустой параметр |
$Абв | параметр, переключатель |
// Абв. Абв | комментарий |
Код добавляет лог с униками.
В событии входа мы проверяем день в году, равен ли он прошлой записи, если нет - создаётся в массиве запись в формате "дата+уники".
В событии чата создан инструмент для поиска записей по айди, и по содержанию записи
Код нереально простой, всего 3 строки, а добавляет интересную особенность
По простым подсчётам в /build'е код занимает мало сохранённых переменных, 1 в любом случае, и +1 за каждую запись
Можно добавить новые инструменты, вот вам идея: крд принимает 2 аргумента, где указывается минимальныое и максимальное допустимое значение уников, чтобы оно попало в сообщение. Кто напишет как это делается получит 5к золота, жду точный код
кароче езз код, делал цвета с телефона 2 часа, пж оценку