Система рахунку ігрових подій

Матеріал з Minecraft Wiki
Перейти до: навігація, пошук
Java Edition.pngMclogo.svg

Тільки для Java Edition і Bedrock Edition
Скріншот з системою рахунку ігрових подій на бічній панелі.

Система рахунку ігрових подій (англ. Scoreboard) — складна система ігрової механіки, що дозволяє відстежувати статистику гравців. В основному призначена для розробників карт і операторів серверів.

Завдання

Завдання складаються з трьох основних параметрів: назви, типу та відображуваного назви. Рахунок в завданню — ціле число від -2 147 483 648 до 2 147 483 647.

Назва використовується всередині команд в якості посилання. Повинно бути унікальним і містити тільки певні символи. Отображаемое назва використовується при відображенні на екрані. Може бути не унікальним і складатися з різних символів. Тип визначає, що відстежує завдання.

Рахунок може бути змінений за допомогою команд, якщо зазначена завдання не є завданням лише для читання. При зміні рахунку завдання, що відстежує статистику, відстежуємо статистика не зміниться — рахунок завдання зміниться при оновленні статистики.

Параметр селектора scores={завдання=діапазон} дозволяє зробити пошук сутностей з рахунком певного діапазону в зазначеній задачі.

Типи

Тип Опис Можна змінити значення?
dummy Рахунок може бути змінений тільки командами. Може бути корисно, наприклад, при математичних обчисленнях. Так
trigger Рахунок може бути змінений тільки командами. Гравець може використовувати команду /trigger, щоб змінити свій рахунок в завданні з цим типом, якщо це завдання «включена» для даного гравця. Після виконання команди, завдання «відключається» для гравця, який виконав цю команду. Так
deathCount Рахунок гравця збільшується з його смертю. Так
playerKillCount Рахунок гравця збільшується з вбивством іншого гравця. Так
totalKillCount Рахунок гравця збільшується з вбивством мобу або іншого гравця. Так
health Рахунок гравця відповідає кількості його од. здоров'я. Ні
food Рахунок гравця відповідає кількості його од. ситості. Ні
xp Рахунок гравця відповідає кількості його од. досвіду. Ні
level Рахунок гравця відповідає його рівню досвіду. Ні
air Рахунок гравця відповідає кількості його кисню. Ні
armor Рахунок гравця відповідає кількості його [[Броня# Бали міцності|бали міцності]]. Ні

Складові типи — типи, що розділяються точками. Рахунок всіх складових типів може бути змінений командами. На початку і після двокрапки у складних типів, що використовують систему статистики, може вказуватися простір імен; якщо воно не зазначено, буде використано простір імен minecraft. Наприклад, custom:jump відповідає minecraft.custom: minecraft.jump.

Список складових типів: Список складових типів:

Основа Підтипи Опис
custom: Ідентифікатор основної статистики. Список ідентифікаторів див. в цій таблиці. Рахунок збільшується, коли відбувається, вказана статистикою, подія.
crafted: Ідентифікатор блоку або предмета, який можливо створити/виплавити. Рахунок гравця збільшується на кількість блоків/предметів, взятих ним з пічі, верстака або слота створення в інвентарі.
used: Ідентифікатор блоку або предмета. Більшість ідентифікаторів доступні, за винятком деяких. Рахунок гравця збільшується з використанням блоку/предмета. «Використанням» є наступне:

В інших випадках рахунок гравця не збільшується.

broken: Ідентифікатор предмета, що має міцність. Рахунок гравця збільшується з поломкою предмета.
mined: Ідентифікатор блоку. Більшість ідентифікаторів доступні, за винятком ідентифікаторів непорушних або технічних блоков. Рахунок гравця збільшується з руйнуванням зазначеного блоку. Якщо гравець в творчому режимі, рахунок не збільшується.
killed: Ідентифікатор сутності. Рахунок гравця збільшується з вбивством зазначеної сутності.
picked_up: Ідентифікатор блоку/предмета. Рахунок гравця збільшується з підбиранням зазначеного предмета/блоку.
dropped: Ідентифікатор блоку/предмета. Рахунок гравця збільшується з викиданням зазначеного предмета/блоку.
killed_by: Ідентифікатор сутності. Рахунок гравця збільшується, коли його вбиває зазначена сутність.
teamkill. Колір команди. Список доступних кольорів див. в цій таблиці. Рахунок гравця збільшується з вбивством учасника команди зазначеного кольору.
killedByTeam. Колір команди. Список доступних кольорів див. в цій таблиці. Рахунок гравця збільшується з вбивством учасника команди зазначеного кольору.

Слоти відображення

Різна відображення завдань: завдання, що відслідковує здоров'я, встановлена в слоті відображення «list»; задача «Подолане пішки» — в слоті відображення «sidebar»; задача «смертей» — в «belowName».

За допомогою команди /scoreboard objectives setdisplay, рахунок різних сутностей у зазначеній задачі може бути відображений в певному слоті відображення. Слоти відображення здатні відображати лише одну задачу.

Слот Опис
list Відображає рахунок гравця у вигляді сердечок або жовтого числа після його імені в списку гравців. За замовчуванням у вигляді сердечок відображається тільки завдання з типом «health».
sidebar Відображає рахунок сутностей на бічній панелі. Тема панелі — відображається назва завдання. Максимальна кількість записів на панелі — 15. Записи з великим рахунком відображаються всі. Записи, що починаються на знак решітки (#), не відображаються на панелі.
sidebar.team.колір Відображає рахунок так само, як sidebar, але тільки гравцеві, що складається в команді з зазначеним коліром (наприклад, «sidebar.team.green» відображати панель тільки гравцям зеленої команди). Список доступних колірів див. в цій таблиці.
belowName Відображає рахунок гравця під його ім'ям у вигляді «счёт_гравця отображаемое_названіе_задачі». Ховається, якщо гравець знаходиться більш ніж в 10-ти блоках від спостерігача або крадеться.

Формат NBT

Файл scoreboard.dat, що знаходиться в папка_світу\data, зберігає дані про СРІП даного світу. є стислим GZip-файлом.

  • Корінь.
    •  data: Дані СРІП.
      •  Objectives: Список складових тегів, що зберігають дані про завдання.
          •  CriteriaName: Тип завдання. Якщо це тип, який використовує систему статистики, має бути вказано простір імен.
          •  DisplayName: Відображення назви завдання в форматі JSON. Приймає значення {"text":"назва завдання"}, якщо при створенні завдання не вказується її відображається назва.
          •  Name: Назва завдання.
          •  RenderType: Режим перегляду завдання. Може бути integer або hearts. За замовчуванням integer.
      •  PlayerScores: Список основних тегів, що зберігають дані про рахунках сутностей.
          •  Score: Рахунок.
          •  Name: UUID сутності або ім'я гравця.
          •  Objective: Завдання, в якій все це зберігається.
          •  Locked: 1 — завдання вимкнена, 0 — включена (тільки для завдань-тригерів).
      •  Teams: Список складових тегів, що зберігають дані про командах сутностей.
          •  AllowFriendlyFire: 1 — учасники команди можуть завдавати шкоди один одному, 0 — ні.
          •  SeeFriendlyInvisibles: 1 — учасник команди здатний бачити невидимих союзників. 0 — ні.
          •  NameTagVisibility: Значення параметру «nametagVisibility»: never, hideForOtherTeams, hideForOwnTeam або always.
          •  DeathMessageVisibility: Значення параметру «deathMessageVisibility»: never, hideForOtherTeams, hideForOwnTeam або always.
          •  CollisionRule: Значення параметру «collisionrule»: always, pushOwnTeam, never або pushOtherTeams.
          •  DisplayName: Відображення назви команди в форматі JSON. Приймає значення {"text":"назва команди"}, якщо при створенні команди не вказується її відображається назва.
          •  Name: Назва команди.
          •  MemberNamePrefix: Префікс перед іменами учасників команди в форматі JSON.
          •  MemberNameSuffix: Постфікс після імен учасників команди в форматі JSON.
          •  TeamColor: Колір, що використовується для слотів відображення «sidebar.team.колір», задач з типом «killedByTeam.колір» і «teamkill.колір», кольори підсвічування учасника і для іншого.
          •  Players: Список учасників команди.
            • Учасник команди.
      •  DisplaySlots: Слоти, що відображають певні завдання.
        •  slot_0: Назва завдання, яка відображається в слоті «list».
        •  slot_1: Назва завдання, яка відображається в слоті «sidebar».
        •  slot_2: Назва завдання, яка відображається в слотіе «belowName».
        •  slot_3: Назва завдання, яка відображається в слоті «sidebar.team.black».
        •  slot_4: Назва завдання, яка відображається в слоті «sidebar.team.dark_blue».
        •  slot_5: Назва завдання, яка відображається в слоті «sidebar.team.dark_green».
        •  slot_6: Назва завдання, яка відображається в слоті «sidebar.team.dark_aqua».
        •  slot_7: Назва завдання, яка відображається в слоті «sidebar.team.dark_red».
        •  slot_8: Назва завдання, яка відображається в слоті «sidebar.team.dark_purple».
        •  slot_9: Назва завдання, яка відображається в слоті «sidebar.team.gold».
        •  slot_10: Назва завдання, яка відображається в слоті «sidebar.team.gray».
        •  slot_11: Назва завдання, яка відображається в слоті «sidebar.team.dark_gray».
        •  slot_12: Назва завдання, яка відображається в слоті «sidebar.team.blue».
        •  slot_13: Назва завдання, яка відображається в слоті «sidebar.team.green».
        •  slot_14: Назва завдання, яка відображається в слоті «sidebar.team.aqua».
        •  slot_15: Назва завдання, яка відображається в слоті «sidebar.team.red».
        •  slot_16: Назва завдання, яка відображається в слоті «sidebar.team.light_purple».
        •  slot_17: Назва завдання, яка відображається в слоті «sidebar.team.yellow».
        •  slot_18: Назва завдання, яка відображається в слоті «sidebar.team.white».

Історія

Java Edition
1.5 13w04a СРІП додана до гри.
13w05a Додано управління командами.
1.7.2 13w36a Додані типи завдань, засновані на статистиці.
1.8 14w02a Крім гравців в СРІП стає можливим включати сутності.
14w06a Додані типи завдань: trigger, killedByTeam.колір і teamkill.колір.
Додана команда /scoreboard players enable.
Стає можливим використання * в якості імені гравця, щоб вказати всіх відслідковуються сутностей.
Новый аргумент [завдання] у команди /scoreboard players reset.
Типи завдань, засновані на статистиці, використовують іменні ID замість числових.
Доданий тип завдання achievement.overpowered.
14w07a Додані: /scoreboard players operation і /scoreboard players test.
Рахунок гравців, імена яких починаються на # не відображаються на бічній панелі.
Додані слоти відображення: sidebar.team.колір.
Доданий параметр команд nametagVisibility.
14w10a Доданий параметр команд deathMessageVisibility.
Новий аргумент [тегДаних] у команд /scoreboard players set, /scoreboard players add і /scoreboard players remove.
Додані типи завдань: stat.crouchOneCm, stat.sprintOneCm і stat.timeSinceDeath
14w25a Додані арифметичні операції: =, < і >.
14w29a Записи на бічній панелі вдруге сортуються за алфавітом.
14w30a Додані типи завдань: stat.talkedToVillager і stat.tradedWithVillager
?Додана арифметична операція ><.
1.8.2 Додані типи завдань: stat.cauldronFilled, stat.cauldronUsed, stat.armorCleaned, stat.bannerCleaned, stat.brewingstandInteraction, stat.beaconInteraction, stat.dropperInspected, stat.hopperInspected, stat.dispenserInspected, stat.noteblockPlayed, stat.noteblockTuned, stat.flowerPotted, stat.trappedChestTriggered, stat.enderchestOpened, stat.itemEnchanted, stat.recordPlayed, stat.furnaceInteraction, stat.craftingTableInteraction і stat.chestOpened.
1.9 15w32a Додані типи завдань stat.sneakTime.
15w32b Додана команда /scoreboard players tag.
Додані типи завдань: xp, food і air.
15w33a Додані типи завдань: stat.pickup, stat.drop, armor і level.
Додані типи завдань: armor і level.
15w36a Доданий параметр команд collisionRule.
15w49a Додані типи завдань stat.aviateOneCm.
1.13 pre7 додана команда /scoreboard objectives modify.
1.13.1 18w31a Оператор %= тепер використовує метод Math.floorMod замість оператора % в Java.
Bedrock Edition
1.7 beta 1.7.0.2 Додані основні функції СРІП.

Помилки

Питання, що стосуються «Система рахунку ігрових подій», ведуться в сховищі звітів про помилки. Повідомте про проблеми там.

Див. також