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

Создание персонального ScoreBoard'a

Discussion in 'Разработка плагинов для новичков' started by Minecraftov LoL, Feb 9, 2014.

  1. Автор темы
    Minecraftov LoL

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

    Trophy Points:
    61
    Всем привет. Недавно появилась нужда создать свой плагин, а конкретно Табло статистики(ScoreBoard) и столкнулся с такой проблемой: Как каждому игроку задать персональный ScoreBoard, а не чтобы все игроки видели один ScoreBoard. Если кто знает, помогите пожалуйста^_^
     
  2. Хостинг MineCraft
    <
  3. ptnk

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

    Trophy Points:
    173
    Ну значит для каждого игрока нужно создать свой экземпляр SB, а не один на всех.
    Ваш К.О.
     
    ql_Nik_lp likes this.
  4. Den_Abr

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

    Trophy Points:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    player.setScoreboard(твой скореборд)
     
  5. Автор темы
    Minecraftov LoL

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

    Trophy Points:
    61
    Я так и сделал, но он присваивается всем игрокам и все получают один ScoreBoard, мне же не создавать 10000 ScoreBoard в коде, чтобы каждому свой присвоить, есть какой-нибудь альтернативный способ, например с помощью HashMap?
     
  6. ptnk

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

    Trophy Points:
    173
    Инициализируй каждый раз новый скорбоад и передавай.
     
  7. Автор темы
    Minecraftov LoL

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

    Trophy Points:
    61
    Например e.getPlayer().getScoreBoard(new ScoreBoard().getObjective("test")); ?
     
  8. ptnk

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

    Trophy Points:
    173
    начни изучать java вначале, а потом за плагины садись. ><
     
    Last edited: Feb 9, 2014
    Den_Abr and Hephest like this.
  9. Автор темы
    Minecraftov LoL

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

    Trophy Points:
    61
    Cпасибо за помощь
     
  10. Автор темы
    Minecraftov LoL

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

    Trophy Points:
    61
    всмысли?
     
  11. Автор темы
    Minecraftov LoL

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

    Trophy Points:
    61
    Я также, создавая плагины - изучаю java[DOUBLEPOST=1391963806,1391963776][/DOUBLEPOST]
    А собственно как решить мою проблему не знаешь?[DOUBLEPOST=1391963884][/DOUBLEPOST]
    Я считаю что делая плагины, ты изучаешь все операторы и сложные массивы, что потом поможет в изучении Swing библиотеки и воопще GUI
     
  12. ptnk

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

    Trophy Points:
    173
    только потом, когда декомпилируешь плагины и смотришь код - плакать хочется.
    ООП? - А что такое ООП? Я не буду лишний код в лишний класс сувать.
    Паттерны? - А что это? Мне и без них свой огород городить не плохо.
    В итоге получаются крайне весёлые творения, с крайне неоптимальной реализацией, что добавляет кучу ненужной нагрузки к серверу.[DOUBLEPOST=1391964040,1391963955][/DOUBLEPOST]
    Не бывает сложны операторов и сложных массивов - бывают только пробелы в изучении.
     
  13. Автор темы
    Minecraftov LoL

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

    Trophy Points:
    61
    и что, что нагрузка на сервер? главное изучить и научиться использовать много мерные и одномерные массивы, if, switch, do while и т.д[DOUBLEPOST=1391964117,1391964044][/DOUBLEPOST]
    Я выражаюсь "языком новичков", под сложными массивами я подозреваю такие массивы как HashMap, ArrayList.[DOUBLEPOST=1391964161][/DOUBLEPOST]
    И воопще, "Знаток", не надо засорять тему ненужным флудом.
     
  14. ptnk

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

    Trophy Points:
    173
    Да прочитай ты уже хотя бы одну книгу по JAVA, эти "сложные массивы" называются коллекциями или контейнерами.
     
  15. Автор темы
    Minecraftov LoL

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

    Trophy Points:
    61
    Кто знает решение моей проблемы, убедительная просьба отписаться
     
  16. ptnk

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

    Trophy Points:
    173
    Конечно - а что нагрузка на сервер? Потом в будущем вырастают такие недотёпы и маленькие приложения отрмозят большие системы.
    Лучший опыт - это тот опыт, который ты получаешь сам. Т.е. для этого нужно стараться самому решить свои проблемы, самому напороться на граблю, самому найти описание той или иной функции.
    Обучение - это более самостоятельный процесс.
    А тут на форуме задаются простые вещи, ответы на которые можно получить самому.[DOUBLEPOST=1391964574][/DOUBLEPOST]
    А что знать твою проблемы?

    Берёшь всех игроков и для каждого такого игрока инициализиурешь новый SB.
    p1.setScoreBoard(new ScoreBoard());
    p2.setScoreBoard(new ScoreBoard());
    И каждый такой игрок будет иметь свою собственную SB.
     
  17. Автор темы
    Minecraftov LoL

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

    Trophy Points:
    61
    Берёшь всех игроков и для каждого такого игрока инициализиурешь новый SB.
    p1.setScoreBoard(new ScoreBoard());
    p2.setScoreBoard(new ScoreBoard());
    И каждый такой игрок будет иметь свою собственную SB.[/quote]
    Дак каждому ScoreBoard не надо Objective прикреплять?
     
  18. ptnk

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

    Trophy Points:
    173
    Дак каждому ScoreBoard не надо Objective прикреплять?[/quote]

    Конечно нужно.
     
  19. Автор темы
    Minecraftov LoL

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

    Trophy Points:
    61
    [DOUBLEPOST=1391964783,1391964729][/DOUBLEPOST]
    Конечно нужно.[/quote]
    Тоесть получается такой код: player.setScoreBoard(new ScoreBoard().getObjective("Test"));[DOUBLEPOST=1391964817][/DOUBLEPOST]ну, getObjective за скобку вынести[DOUBLEPOST=1391965160][/DOUBLEPOST]
    Конечно нужно.[/quote]
    Не получается твой способ, ошибку выдает
     
  20. ptnk

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

    Trophy Points:
    173
    Конечно выдаёт, я тебе показал псевдокод, а то, что ты написал - бред безумца.
     
  21. Автор темы
    Minecraftov LoL

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

    Trophy Points:
    61
    А с помощью HashMap вроде можно както? нет?
     

Share This Page