Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Плагин [INFO/MISC] rscFirstJoinDemo v0.8.0b — потасканные игроки [1.5.x-1.8.x]

Тема в разделе "Релизы плагинов", создана пользователем Reality_SC, 10 июл 2014.

?

Пригодился ли?

  1. Лайк!

    84 голосов
    83,2%
  2. Не лайк :(

    17 голосов
    16,8%
  1. Автор темы
    Reality_SC

    Reality_SC Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Плагин позволяет создавать траектории, по которым будут принудительно двигаться игроки (проигрывание траекторий).


    Описание.
    Изначально предназначен для того, чтобы показать подключающимся игрокам, если они не заходили ранее на сервер, что есть что — я называю это "потаскать по пути". Траектория (путь) представляет собой набор точек с характеристиками:
    • Координаты (по сути — Location, т.е. название мира, координаты x, y, z и углы поворота pitch и yaw).
    • Число тиков, на которое нужно заморозить игрока на этой точке.
    • Скорость после неё до следующей точки, в блоках/сек. Если равно нулю, то произойдёт мгновенная телепортация.
    • Сообщение, которое будет выведено игроку в чат при достижении этой точки.
    • Опционально: обновление времени и погоды (вкл/выкл): сброс, установка значения и блокировка.
    Движение между двумя соседними точками при известных их координатах и скорости между ними вычисляется по понятным всем знакомым с элементарной физикой формулам.

    Игроки, которых несёт по такому пути, скрыты от всех и не могут писать команды и текст.

    Конфигурационный файл config.yml.
    Код:
    settings:
      # Настройки траектории для игроков, которые впервые зашли на сервер
      first-join-trajectory: 'firstjoin'
      first-join-enable: true
      first-join-delay: 20
      # Требовать ли от игроков права на использование табличек?
      require-permissions-for-signs: false
      # Настройки логирования в консоль
      logging:
        player-start-stop: true
        player-point-reached: false
    Список команд.
    upload_2016-1-20_12-16-14.png

    И ещё немного информации есть в посте ниже...

    Список прав.
    • rscfjd.admin — право использовать все команды плагина (/rscfjd ...).
    • Для использования полёта через таблички по умолчанию никакие права не требуются, но можно сделать, чтобы требовались:
      1. Включить config.yml/settings.require-permissions-for-signs, тогда будет требоваться rscfjd.sign.<название траектории>, можно дать * если кому-то можно летать везде.
      2. /rscfjd permission <право> устанавливает свойство редактируемой траектории, которая тоже требуется игроку для её использования.
        Если включить требование пермишена обоими способами, любой один из них уже даёт право на полёт.
    Траектории хранятся в папке плагина в .json файлах с любыми именами, так что их тоже весьма просто редактировать руками.

    Кроме того, в мире можно устанавливать таблички, ПКМ по которым потащит игроков по указанным на них путям. Формат табличек: первая строка — [rscfjd], вторая строка — название траектории.
    Я у себя на сервере сделал красивые телепорты со спавна за границы города и быстрые эскалаторы вниз к станциям метро.

    История изменений.
    • v0.8.0b — проверка обновлений и их автоматическая установка; новые команды pause и resume; очередной фикс команды play; много других фиксов поведения плагина; добавлена метрика.
    • v0.7.0b — изменения в конфиге, в синтаксисе команд play и info, новые команды time и permission. Можно включить требование пермишенов для табличек. При настройке чуть более удобен в использовании совместно с плагинами оффлайн-регистрации. Подробности об этом обновлении.
    • v0.6.7b — незначительные исправления.
    • v0.6.5b — улучшенная работа с /rscfjd load и /rscfjd save + их автоматическая отработка при выходе/перезаходе игрока. Управление погодой при достижении точки (/rscfjd weather). Исправления мелких недочётов.
    • v0.6.3b — добавлены подкоманды delete, merge, select (без указания id точки), next, prev. Изменена стилистика чата, исправления ошибок.
    • v0.6.1b — изменены команды плагина. Теперь они позволяют почти полноценно и нелинейно редактировать точки траекторий (кроме времени и погоды).
    • v0.6.0b — поддержка показа Title и Subtitle на серверах 1.8+ (с помощью ProtocolLib 3.6.4+). Поддержка текстовых замен PlaceholderAPI в строках messageOnReach, showTitle, showSubtitle каждой точки. Убил несколько багов, но угол зрения всё ещё иногда дёргается при пролёте какой-то точки.
    • v0.5.11b — мелкие исправления багов; улучшения в обработке команд; первые попытки выделить из кода отдельно API.
    • v0.5.8b — начато ведение истории изменений; возможность выключения режима SPECTATOR на серверах старых версий, которые его не поддерживают.
     
    Последнее редактирование: 4 июл 2016
  2. Хостинг MineCraft
    <
  3. FirePoint

    FirePoint Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    Just_Andrew
    Чем-то напомнило Mineplex, ну а все же плагин хороший.
     
  4. NaparNIK

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

    Баллы:
    78
    Интересный плагин. :good:
     
  5. Gamer3455

    Gamer3455 Старожил Пользователь

    Баллы:
    103
    Гайд по работе с плагином не помешал бы.. Например как создавать эти самые json'ы, как активировать и т.д.
     
  6. teraboss

    teraboss Старожил Пользователь

    Баллы:
    103
    Имя в Minecraft:
    teraboss
    Даа, гайд бы не помешал.
    Полезный плагин. Поставлю себе.
     
  7. Gamer3455

    Gamer3455 Старожил Пользователь

    Баллы:
    103
    Я уже поставил, но вот как его заставить работать.. там ни одной полезной команды нету..
    Ждем гайд))
     
  8. teraboss

    teraboss Старожил Пользователь

    Баллы:
    103
    Имя в Minecraft:
    teraboss
    Сейчас возможно напишу)
     
  9. Автор темы
    Reality_SC

    Reality_SC Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Описание файлов траекторий.

    Каждая траектория это JSON-файл следующего вида:
    Код:
    {
       "points": [
       точка1,
       точка2,
       ...,
       ]
    }
    Каждая точка на траектории описывается так:
    Код:
    {
       # Координаты точки
       "world": "Starland",
       "x": 2073.345884658478,
       "y": 88.62833813602307,
       "z": -2983.552883507182,
       # Направление взгляда
       "yaw": 48.578983,
       "pitch": 1.8016635,
       # Число тиков заморозки
       "freezeTicks": 20,
       # Скорость до следующей точки
       "speedAfter": 7.0,
       # Сообщение игроку
       "messageOnReach": "{_NL}{_NL}{_I}Загрузка...",
       # Кастомизация времени
       "timeUpdate": false,
       "timeReset": false,
       "timeUpdateValue": 0,
       "timeUpdateLock": false,
       # Кастомизация погоды
       "weatherUpdate": false,
       "weatherUpdateStormy": false,
       "weatherReset": false,
       # Титры (будут работать только на серверах 1.8+)
       "showTitle" : "<текст титров>",
       "showSubtitle" : "<текст субтитров>",
       "showTitleTicks" : 60
    }
    Рассмотрим основные элементы:
    • world, x, y, z — координаты точки на сервере
    • yaw, pitch — направление взгляда игрока в этой точке
    • freezeTicks — число тиков, на которые игрок должен "зависнуть" на этой точке при её достижении
    • speedAfter — новая скорость, которую получит игрок при движении между этой точкой и следующей.
      • Если скорость равна нулю, происходит телепортация (а также, если новая точка находится в другом мире)!
      • Время полёта от этой точки до следующей считается как в школе: t = distance / speedAfter.
    • messageOnReach — сообщение, которое будет выведено игроку при достижении этой точки.
    • timeReset — если равно true, тогда сброс времени для игрока (имеет смысл если оно менялось ранее); если равно false, тогда:
      • timeUpdate — нужно ли как-то повлиять на время в этой точке? Если true, тогда:
        • timeUpdateValue — новое значение времени (см. майнвики).
        • timeUpdateLock — заблокировать на указанном значении.
    • weatherReset — если равно true, тогда сбросить погоду для игрока на фактическую в его местоположении (имеет смысл если погода для игрока менялась ранее); если равно false, тогда:
      • weatherUpdate — установить игроку кастомную погоду? Если true, тогда:
        • weatherUpdateStormy — штормовая (true) или ясная (false).
    • showTitle — текст титров для серверов 1.8+.
      • Поскольку текст в этом поле — JSON-строка, следует всё конкретно заэкранировать!
    • showSubtitle — тоже самое, только под титрами.
      • Поскольку текст в этом поле — JSON-строка, следует всё конкретно заэкранировать!
    • showTitleTicks — сколько тиков показывать титры и субтитры. Скорость появления и угасания константна и равна 20 тикам (1 сек).

    Таблички.

    Чтобы поставить табличку с нужным путём: на верхней строке пишите [rscfjd], на второй — название пути. Регистр, кстати, никогда не имеет значения, файл будет именован всегда в нижнем.

    Интересные факты о плагине.
    • Перед полётом плагин сохраняет значения allowFlight и flying, временно заменяя своими. При окончании полёта восстанавливает. Окончание пути всегда означает восстановление прежних значений некоторых внутренних переменных и телепортацию на конечную точку.
    • Дисконнект игрока тоже корректно оканчивает ему путь.
    • Во время полёта нельзя писать и выполнять команды.
    • Иногда сервер не грузит чанки во время полёта, но только если игрок движется. Сделайте небольшую паузу на какой-нибудь точке (freezeTicks > 0), чтобы чанки настигли игрока.
    • Плагин выставляет игроку на время проигрывания визуально хорошую погоду. Погоду можно сменять на любой точке. Можно выставлять и кастомное время, и даже заблокировать его, но только руками в .json-файле. Кстати, там же можно выключить режим fly на точке, но я никогда этого не пробовал, ибо бред немного.
    Интересно посмотреть, что получается у других. Заливайте свои видео и постите ссылки в этой теме.
     
    Последнее редактирование: 14 янв 2016
  10. Linkinkov

    Linkinkov Старожил Пользователь

    Баллы:
    173
    Skype:
    linkinkov1
    Имя в Minecraft:
    linkinkov
    Будет ли обновление для поддержки последних версий worldguard?
     
  11. Автор темы
    Reality_SC

    Reality_SC Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Я ещё не установил его на свой сервер, руки не доходят, пользуюсь последним из 5.9, соответственно меня оно ещё не пнуло к обновлению :)
    А что, не работает? :( Я предполагал, но не проверял ... Попробую сегодня что-нибудь сделать.[DOUBLEPOST=1417153370,1417145445][/DOUBLEPOST]Обновил на своём сервере WorldGuard до 6.0 beta 02: rscFJD работает без проблем!
    Мне в голову и не пришло, что, по факту, он никак и не взаимодействует с WG!
    Также отпишись, какие именно ошибки возникали(ют) у тебя, мне интересно.
     
    Последнее редактирование: 9 июн 2015
  12. Aizark

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

    Баллы:
    88
    Респект создателю и уважуха! Плагин мне ну очень поможет, но одно уточнее...работает на 1.5.2?
    Протестить смогу не скоро прост.
     
  13. Linkinkov

    Linkinkov Старожил Пользователь

    Баллы:
    173
    Skype:
    linkinkov1
    Имя в Minecraft:
    linkinkov
    Работает.

    Кстати, а с Essentials Chat будет ли работать, vault установлен?
     
    Последнее редактирование: 28 ноя 2014
  14. Aizark

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

    Баллы:
    88
    Спасибо за ответ, пошел тестить.
     
  15. ql_Nik_lp

    ql_Nik_lp Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    Дам небольшой совет:
    У вас в плагине в полном объеме лежит либа GSON, которая и так доступна в двух экземплярах
    (Из Bukkit и из Minecraft Server)
    Не очень хорошо

    А так плагин отличный, спасибо :)
     
  16. Автор темы
    Reality_SC

    Reality_SC Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Спасибо, возможно уберу её в будущем :)

    Ребят, все, извините, но я не в курсе вообще на чём оно способно идти, я делал это чисто для себя, и пытаюсь не нести ответственности за этот выкидыш :) Скоро выкину на GitHub.
     
  17. CheeseDooDoop

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

    Баллы:
    63
    Подскажите как сделать, чтобы автоматически воспроизводило какой-то маршрут при заходе нового игрока. Возможно ли это?!
     
  18. Автор темы
    Reality_SC

    Reality_SC Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Спасибо, возможно уберу её в будущем :) Хотя есть рассмотреть вопрос детально, в разных версиях серверов могут быть разные версии Gson, а я хочу, чтобы плагин работал вообще всегда → лучше зашейдить в .jar.
    P.S. Вообще-то Gson не идёт ни с Minecraft, ни с Bukkit. так есть json-simple, она немного другая.

    Ребят, извините, но я не в курсе вообще на чём оно способно идти, я делал это чисто для себя, и пытаюсь не нести ответственности за этот выкидыш :)
    Плагин изначально именно для этого и был создан.
    Когда игрок впервые (определяется через Bukkit API, фактически наличием у него .dat файла в папке с игровым миром) заходит на сервер, ему будет автоматически проиграна указанная в конфиге траектория:
    Код:
    settings:
      trajectory: public
     
    Последнее редактирование: 20 июл 2015
  19. Wolfys

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

    Баллы:
    78
    Имя в Minecraft:
    wolfysge
    Спасибо, за шикарный плагин.
    Последняя версия не работает на 1.7.10 ругается на SPECTATOR поставил предыдущий. Полет пока нормальный.
    Вопрос: Можно ли как-то сделать для каждой таблички индивидуальное название ??
    На счёт новой версии можно сделать так что если 1.7.10 правило SPECTATOR игнорировалось ( к примеру меняется в конфиге с true на false )
     
  20. SinBan

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

    Баллы:
    88
    Имя в Minecraft:
    FSka
    SPECTATOR -=> Работает на 1.8
     
  21. Wolfys

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

    Баллы:
    78
    Имя в Minecraft:
    wolfysge
    @SinBan, Я в курсе. По этому я и написал решение которое можно сделать для 1.7.10 и других версий.
     

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