Как сделать счет в майнкрафт
Система счёта игровых событий
См. Scoreboard на английском языке.
Система счёта игровых событий (ССИС, англ. scoreboard) — сложная система игровой механики, позволяющая отслеживать статистику игроков. В основном предназначена для разработчиков карт и операторов серверов.
Содержание
Задачи [ править | править код ]
Задачи состоят из трёх основных параметров: название, тип и отображаемое название. Счёт в задаче — целое число от -2 147 483 648 до 2 147 483 647.
Название используется внутри команд в качестве ссылки. Должно быть уникальным и содержать только определённые символы.
Отображаемое название используется при отображении на экране. Может быть не уникальным и состоять из различных символов.
Тип определяет, что отслеживает задача.
Счёт может быть изменён с помощью команд, если указанная задача не является задачей только для чтения. При изменении счёта задачи, отслеживающей статистику, отслеживаемая статистика не изменится — счёт задачи изменится при обновлении статистики.
Параметр селектора scores=<задача=диапазон> позволяет произвести поиск сущностей с счётом определённого диапазона в указанной задаче.
Тип [ править | править код ]
Список составных типов:
В других случаях счёт игрока не увеличивается.
Доступные идентификаторы |
---|
bow, carrot_on_a_stick, chainmail_boots, chainmail_chestplate, chainmail_helmet, chainmail_leggings, diamond_axe, diamond_boots, diamond_chestplate, diamond_helmet, diamond_hoe, diamond_leggings, diamond_pickaxe, diamond_shovel, diamond_sword, elytra, fishing_rod, flint_and_steel, golden_axe, golden_boots, golden_chestplate, golden_helmet, golden_hoe, golden_leggings, golden_pickaxe, golden_shovel, golden_sword, iron_axe, iron_boots, iron_chestplate, iron_helmet, iron_hoe, iron_leggings, iron_pickaxe, iron_shovel, iron_sword, leather_boots, leather_chestplate, leather_helmet, leather_leggings, shears, shield, stone_axe, stone_hoe, stone_pickaxe, stone_shovel, stone_sword, wooden_axe, wooden_hoe, wooden_pickaxe, wooden_shovel и wooden_sword |
Доступные идентификаторы |
---|
acacia_fence, acacia_fence_gate, acacia_stairs, activator_rail, anvil, beacon, birch_fence, birch_fence_gate, birch_stairs, black_glazed_terracotta, black_shulker_box, blue_glazed_terracotta, blue_shulker_box, bone_block, bookshelf, brick_block, brick_stairs, brown_glazed_terracotta, brown_mushroom, brown_mushroom_block, brown_shulker_box, cactus, carpet, chain_command_block, chest, chorus_flower, chorus_plant, clay, coal_block, coal_ore, cobblestone, cobblestone_wall, command_block, concrete, concrete_powder, crafting_table, cyan_glazed_terracotta, cyan_shulker_box, dark_oak_fence, dark_oak_fence_gate, dark_oak_stairs, daylight_detector, deadbush, detector_rail, diamond_block, diamond_ore, dirt, dispenser, double_plant, dragon_egg, dropper, emerald_block, emerald_ore, enchanting_table, end_bricks, end_portal_frame, end_rod, end_stone, ender_chest, farmland, fence, fence_gate, furnace, glass, glass_pane, glowstone, gold_block, gold_ore, golden_rail, grass, gravel, gray_glazed_terracotta, gray_shulker_box, green_glazed_terracotta, green_shulker_box, hardened_clay, hay_block, heavy_weighted_pressure_plate, hopper, ice, iron_bars, iron_block, iron_ore, jukebox, jungle_fence, jungle_fence_gate, jungle_stairs, ladder, lapis_block, lapis_ore, leaves, leaves2, lever, light_blue_glazed_terracotta, light_blue_shulker_box, light_weighted_pressure_plate, lime_glazed_terracotta, lime_shulker_box, lit_pumpkin, log, log2, magenta_glazed_terracotta, magenta_shulker_box, magma, melon_block, monster_egg, mossy_cobblestone, mycelium, nether_brick, nether_brick_fence, nether_brick_stairs, nether_wart_block, netherrack, noteblock, oak_stairs, observer, obsidian, orange_glazed_terracotta, orange_shulker_box, packed_ice, pink_glazed_terracotta, pink_shulker_box, piston, planks, prismarine, pumpkin, purple_glazed_terracotta, purple_shulker_box, purpur_block, purpur_pillar, purpur_slab, purpur_stairs, quartz_block, quartz_ore, quartz_stairs, rail, red_flower, red_glazed_terracotta, red_mushroom, red_mushroom_block, red_nether_brick, red_sandstone, red_sandstone_stairs, red_shulker_box, redstone_block, redstone_lamp, redstone_ore, redstone_torch, repeating_command_block, sand, sandstone, sandstone_stairs, sapling, sea_lantern, silver_glazed_terracotta, silver_shulker_box, slime, snow, snow_layer, soul_sand, sponge, spruce_fence, spruce_fence_gate, spruce_stairs, stained_glass, stained_glass_pane, stained_hardened_clay, sticky_piston, stone, stone_brick_stairs, stone_button, stone_pressure_plate, stone_slab, stone_slab2, stone_stairs, stonebrick, structure_block, structure_void, tallgrass, tnt, torch, trapped_chest, tripwire_hook, vine, waterlily, web, white_glazed_terracotta, white_shulker_box, wooden_button, wooden_pressure_plate, wooden_slab, wool, yellow_flower, yellow_glazed_terracotta и yellow_shulker_box |
Слоты отображения [ править | править код ]
Формат NBT [ править | править код ]
История [ править | править код ]
Проблемы [ править | править код ]
Отчёты об ошибках, связанных с «Система счёта игровых событий», поддерживаются в системе отслеживания ошибок Mojira. Сообщайте о найденных ошибках там (на английском языке).
Основа создания Магазина Душ лежит на команде Scoreboard.
Логичным началом при работе с данной командой является создание событий,
счет которых будет отслеживаться Системой Счета Игровых Событий (ССИС).
вначале создаем событие, которое будет вести счет убитых игроком зомби
именно это событие является ключевым и от него будут зависеть
все очки остальных событий
/scoreboard objectives add kills stat.killEntity.Zombie
событие с название kills с соединенным критерием stat.killEntity.Zombie
в данной новости только этот критерий будет учитываться ССИС
далее создаем два фиктивных события с критерием dummy
1. /scoreboard objectives add board dummy
этой командой мы создаем фиктивное событие с именем board.
имя события может быть абсолютно любое, на ваш вкус,
но обязательно написано латиницей, так как название этого события
нам нужно будет вписать в тестовую команду при покупке вещей в магазине.
для чего нужно создание этого события?
именно это событие будет начислять и копить у игрока те очки, которыми
он будет расплачиваться в Магазине Душ за покупку вещей.
2. /scoreboard objectives add сундук dummy
второе фиктивное событие с названием сундук.
здесь также можно задать любое название даже на русском языке.
я задал это символичное название, будто убитые души будут складываться
в какой-то мистический сундук.
для чего нужно создание этого событие?
оно нужно только для визуализации и всё, счет этого события будет
отображаться на экране.
поэтому для этого события мы задаем еще одну команду
/scoreboard objectives setdisplay sidebar сундук
теперь как только в событие с названием сундук будут
начислены очки, у нас на экране появится панелька с заголовком «сундук».
/scoreboard players test @a kills 1 10
и к этому командному блоку подводим генератор импульсов
усилим повторителем выходной сигнал из компаратора
и разведем этот сигнал на три командных блока
1. В первом командном блоке задаем команду
/scoreboard players set @a kills 0
при выходе сигнала из компаратора эта команда будет устанавливать
ноль очков игроку для события kills, то есть теперь начисленные игроку
очки за убийства не будут попадать в диапазон теста от 1 до 10, поэтому
тест на очки в командном блоке будет отрицательным и сигнал на выходе
из компаратора будет гаситься. это нужно для того, чтоб в цепи после ком-
паратора не оставался сигнал, и при новом убийстве на командные блоки
под номерами 1,2 и 3 вновь подавался импульс.
2. Во втором командном блоке задаем команду на начисление очков
для события с названием board.
/scoreboard players add @a board 1
при каждой подаче сигнала на этот командный блок
игроку будет прибавляться одно очко в этом событии
3. В третьем командном блоке мы задаем команду для начисления очков
для события сундук и начисляться они будут фиктивному игроку
под названием «души».
разберем эту схему.
на стене магазина ставим кнопку, за стеной на один блок ниже блока,
где установлена кнопка ставим первый командный блок с командой
testfor @p[score_board_min=1,r=10]
эта команда будет проверять счет игрока, нажавшего кнопку
по событию с именем board.
В четвертом командом блоке задаем команду
/scoreboard players remove души сундук 1
эта команда будет минусовать из таблички на экране одну душу.
В третьем командом блоке задаем команду
/scoreboard players remove @p board 1
эта команда будет минусовать одно очко из счета
игрока по событию board.
Во втором командном блоке мы задаем предмет, который игрок покупает
/give @p[r=20,c=1] minecraft:rotten_flesh 1
в данном случае игрок купит за одну душу одну гнилую плоть
И в пятом командном блоке задаем команду, которая будет выводить на экран
сообщение, если у игрока не будет достаточно душ для покупки предмета
Так можно создать нужное количество кнопок в магазине
с покупкой абсолютно разных предметов за разную цену
Итак, при достаточном количестве душ мы сможем купить нужный предмет.
При недостаточном количестве мы получим сообщение на экран об этом
Книга рецептов
| “ |
Книга рецептов (англ. Recipe Book) — это функция ГИП, которая используется в качестве каталога рецептов и руководства по крафту. СодержаниеИнтерфейс [ править | править код ]
|