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

Помогите Одно место - разный взгляд

Тема в разделе "Разработка плагинов для новичков", создана пользователем veggas, 30 янв 2016.

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

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

    Баллы:
    63
    Skype:
    stas-76644
    Имя в Minecraft:
    Veggas
    Создал плагин на подземелья (данжи), после убийства первого босса за группой игроков присваивается определенный код (кд), который сбрасывается через время. Пока у этой группы кд и они снова заходят в подземелье, но не начинают проходить его заново, а проходят дальше, т.к. первый бос убит. Полностью подземелье восстанавливается после сбрасывания кд. Но сталкнулся с проблемой: если в одно и то же подземелье (данж) заходять две разные группы людей, а одна из них только первый раз заходит и никого не убивала, то картину видят они одинаковую(убитые боссы и треш). Вопрос! Как сделать так, чтобы в одном и том же месте разные игроки видели разных монстров. Создавать для каждой группы новое подземелье - не вариант (нагрузка + всю карту забьёт). То есть нужно чтобы само подземелье было одинаковое, но игроки не видели никого кроме своей группы и монстров,боссов, которые привязаны именно к группе, то есть одна группа прошла данж наполовину, а друная этого видеть не должна. Подскажите идеи... заранее благодарю
     
  2. Хостинг MineCraft
    <
  3. Sonicxd2

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

    Баллы:
    76
    Нужно перехватывать пакет, и редактировать его.
     
  4. Автор темы
    veggas

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

    Баллы:
    63
    Skype:
    stas-76644
    Имя в Minecraft:
    Veggas
    Не до конца понимаю как это сделать?
     
  5. Den_Abr

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

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Как вариант - слушать через ProtocolLib.

    Ну и не забывать о последствиях такого подхода.
     
  6. Автор темы
    veggas

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

    Баллы:
    63
    Skype:
    stas-76644
    Имя в Minecraft:
    Veggas
    Каких посоедствиях?
     
  7. Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Может быть правда копировать исходный мир (например Dangeon) в какой-то очередной (d_###) и т.п. игроков туда?
     
  8. Автор темы
    veggas

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

    Баллы:
    63
    Skype:
    stas-76644
    Имя в Minecraft:
    Veggas
    Слишком много построек необходимо будет ставить...
     
  9. Den_Abr

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

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Придётся как минимум проверять каждого ударенного моба, нужный ли игрок его бьёт.
    И ещё придётся лезть в AI моба, чтобы он атаковал только игроков из своей сессии.
    Куда легче сделать несколько данжей.
     
  10. Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Зачем построек, написать генератор мира который копипастит указанный мир.
     
  11. Автор темы
    veggas

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

    Баллы:
    63
    Skype:
    stas-76644
    Имя в Minecraft:
    Veggas
    Подробнее можно, к сожалению я с таким не сталкивался. Какой метод?[DOUBLEPOST=1454309092,1454298790][/DOUBLEPOST]
    Это отличный и лучший вариант. И нагрузки не будет большой ведь миры не будут использоваться всегда а генерироваться и удаляться после прохождения подземелья или же спустя время за которое игрок не успел пройти подземелте (кд). Остался вопрос как начать? Какой метод используется для генерации создания копии мира исходного. Заранее спасибо. Уже некие надежды и идеи выхода появились.
     
  12. Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Как я себе вижу это:

    • Создать исходный мир, ну фактически построить его, твоё подземелье. Я бы для уменьшения числа блоков сразу создавал его с помощью генератора EmptyWorldGenerator (создаёт просто пустой мир, опционально — с 1 блоком бедрока в центре мира). Например, у него название d_source.
    • Написать свой генератор, который фактически будет по требованию у него нового чанка требовать его у мира d_source (ну или сделать 1 параметр в config.yml с названием). То есть фактически это всего-лишь прокси-класс к другому миру.
    • Подглядеть код у Multiverse-Core / Multiworld / т.п. как вообще создать на сервере ещё один мир. И когда образуется новая party для путешествия в него, открываешь на сервере новый мир, и телепортируешь игроков туда. В общем где-то хранить надо кто с кем где и когда ) Это уже твоя несложная задача.
    • Если по какому-то триггеру игроки "проходят" подземелье, телепортируешь их оттуда, выгружаешь, по желанию — удаляешь.
    Извини, в деталях придётся разобраться самому.
     
    Последнее редактирование: 1 фев 2016
  13. Автор темы
    veggas

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

    Баллы:
    63
    Skype:
    stas-76644
    Имя в Minecraft:
    Veggas
    Примерно это же и я себе представил и сразу в голову пришла идея спереть часть кода из multiword. Спасибо за помощь.
     

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