1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите автоматический бан за отыгранное время

Тема в разделе "Помощь", создана пользователем flekssty553, 15 июл 2024.

  1. Автор темы
    flekssty553

    flekssty553 Новичок Пользователь

    Баллы:
    6
    Всем привет, есть ли плагины для того, чтоьы игрока забанило за игру на сервере около 10 минут? Либо такое можно провернуть с помощью skript или похожего плагина? Нужно также чтобы если я например отыграл 5 минут и вышел с сервера, то система запомнит и при следующем входе если я отыграю еще 5 минут, система ссумирует и меня забанит за общее колво 10 минут.
     
    Последнее редактирование: 15 июл 2024
  2. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Ничего не нужно дополнительно запоминать, информация о наигранном времени хранится в статистике. Если skript умеет работать со статистикой - значит можно сделать через него. Раз в 5 секунд, допустим, проверять наигранное время у всех игроков
     
  3. Автор темы
    flekssty553

    flekssty553 Новичок Пользователь

    Баллы:
    6
    так это возможно сделать или нет?
     
  4. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Так я уже ответил:
    Читай в документации, умеет ли он работать со статистикой, и если умеет, то как это делать.

    Никто вместо тебя скрипты писать не будет
     
  5. CioLay

    CioLay Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    NordNM
    Код:
    variables:
        {playtime::%uuid of player%} = 0
    
    on join:
        if {playtime::%uuid of player%} is not set:
            set {playtime::%uuid of player%} to 0
    
    on quit:
        add difference between {session start::%uuid of player%} and now to {playtime::%uuid of player%}
    
    on first join:
        set {session start::%uuid of player%} to now
    
    on join:
        set {session start::%uuid of player%} to now
    
    every 1 minute:
        loop all players:
            add 1 minute to {playtime::%uuid of loop-player%}
            if {playtime::%uuid of loop-player%} >= 10 minutes:
                ban loop-player due to "10 минут прошло"
                clear {playtime::%uuid of loop-player%}
     
  6. MythicGuy_

    MythicGuy_ Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    MythicGuy_
    Люди дают награды за отыгранное время на сервере а тут....
     
  7. M1chael

    M1chael Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    M1fanyaKyn
    Кажется нашел плагин, что вы ищите - ConditionalCommands, но он работает не на всех версиях. Вот ссылка - тык. Там же можете найти документацию. С плагином ранее не работал, но постарался накидать примерный конфиг:

    conditions:
    ban_playtime:
    # Условие, при котором команда выполняется
    if: "%time_online% > 10"
    # Команда, которая будет выполнена
    commands:
    - "ban %player_name% Превышение времени игры более 10 минут"

    Не уверен, что это будет работать тк мой сервер работает на более новой версии и я не тестировал этот конфиг. Там можно использовать команды вместо конфига, но можно использовать только заполнители, которые описаны в документации. Отпишите если будет результат, иначе, найдем другой способ :)
     
    Последнее редактирование: 2 авг 2024

Поделиться этой страницей