For some reason the MCForum code does not like me and I'm having some problem with the code. Please forgive me, I hope it is fixed soon.
SCOREBOARD
This topic has been created to help people of all types understand and use scoreboards. The OP is planned to contain all information about the scoreboard command, and the comments are planned to be used for help. If there is anything you do not understand or need help with I will be happy to help.
Most people think scoreboard is just a way to keep track of kills for a mob map, or a PvP game. While this is true, scoreboard can be used for so much more.
The Scoreboard can keep track of any score, and can be used to keep track of lots of things. One of the most common uses is money. But in order to use it you must understand it.
Some people wish scoreboard was easier, but when you use it enough, you realize it's already quite
easy. But you need to learn the basics somewhere, and I hope this post will help you learn.
Branches:
There are three branches of the scoreboard: Objectives, players, and teams. This spoiler will talk about objectives branch
The objectives branch is the command that handles objectives, creating, deleting, and setting the display.
The first command you want to know is:
[code]/scoreboard objectives list[/code]
This command simply displays all the objectives that currently exist. This is useful if you have forgotten the name of an objective.
The {code name} is the name which you will use in commands to target this exact objective. No two objectives can have the same code name
The {criteria type} tells the objective how players earn points, and is discussed in another spoiler.
The {display name} is the name that is displayed if the scoreboard is set to show either in the sidebar, or below name. If no {display name} is used, it defaults to the code name.
There are currently 3 {slot}s in which to display objectives
The {code name} is the code name of the objective you want to display display.
Using the 'list' slot will display the number of points a player has in the player list (Press tab during game) next to that players name, but will not list the name of the objective.
Using the 'sideBar' slot will display the objective name to the right of all players screens, and on it the names of any players with points on that scoreboard, along with their points.
Using the 'belowName' slot will display the objective name under a player name in Multiplayer, and the number points they have. This does however make it impossible to know how many points you have, as you cannot see your own name tag.
Okay so let's do some examples! We'll create two objectives. One to display on the sidebar and show how many kills we have, and one to display below our name and show how much health we have.
Let's start by creating the objectives
[code]/scoreboard objectives add kills totalKillCount Kills[/code]
and
[code]/scoreboard objectives add health health Health[/code]
The first 'health'; represents the code name, and the name we will use in commands. The second 'health' represents the criteria type so our objective will represent the players health. The third 'Heath' is the name players will see when looking at other players for the health score.
The {action} can be three different things: set, add, or remove. It will {set/add/remove} the {amount} from the {player}
The {player} is the player being targeted. You can use their name, or a player argument: @p for closest player, @a for all players, and @r for random player.
The {code name} is the code name of the objective you want to tamper with.
The {score} is the score you want to be set to/added/removed.
The last one is:
[code]/scoreboard players reset {Player}[/code]
The command removes the {player} selected from all scoreboards
The last branch is teams. This branch does just what it implies, and plays with teams. The commands are hard to remember at first, but easy to understand.
The first command is:
[code]/scoreboard teams list[/code]
This list all the teams, along with how many players are in them. If you add the team name into the command [code]/scoreboard teams list {Team name}[/code] it will list the players on that specific team.
To create a team:
[code]/scoreboard teams add {code team name} {display name}[/code]
The {code team name} is the name used in commands, to modify the team.
The {display name} is the name seen by players. I'm not sure, but I think if no display name is used, it defaults to the code name.
To remove a team:
[code]/scoreboard teams remove {code team name}[/code]
The {code team name} is the code name of a team already created.
To add a player to a team:
[code]/scoreboard teams join {code team name} {player}[/code]
The {code team name} is the team you want the player(s) to join
The {player} is the player joining. You can join multiple player with one commands, and you can use player arguments: @p for closest player, @a for all players, and @r for random player.
To remove a player from a team:
[code]/scoreboard teams leave {player}[/code]
The {player} is then removed from whatever team he is in.
There are also certain options that have to be decided in order to have a functional team
There are three options for teams, which are useful for controlling the teams
Color:
The color of the team effect the color of all players in that team in all places: Above their head, in chat, on the side bar, and in the tab menu.
[code]/scoreboard teams options {code team name} color {color}[/code]
The {code team name} is the code name of the team to color
The {color} is any valid color
You can also use: obfuscated, bold, strikethrough, underline, and italic.
Friendly Fire
Friendly Fire turns PvP between team members on and off:
[code]/scoreboard teams options {code team name} friendlyfire {true or false}[/code]
{true} sets PvP off between members of the {code team name}, and {false} vice versa.
See Friendly Invisibles
See Friendly Invisibles turns the ability to see other members of your team, even though they are invisible, on and off
[code]/scoreboard teams options {code team name} seeFriendlyInisibles {true or false}[/code]
{true} sets the ability on for the members of the {code team name}, and {false} vice versa.
Criteria Types tell an objective when to give a player points. There 5 main criterias. There are also 7 base criterias that have multiple branches.
dummy:
When the 'dummy' criteria is used, the objective it is used for can only be changed by commands. This criteria works well for money and memory.
deathCount:
When the 'deathCount' criteria is used, it gives player a point for every time they die. Useful for keeping track of deaths, or subtracting points per death.
playerKillCount:
When the 'playerKillCount' criteria is used, players get points for killing players. Useful for PvP or Team PvP maps
totalKillCount:
When the 'totalKillCount' criteria is used, players get points for killing both players and mobs.
health:
The 'health' criteria is the only one that can not be changed with commands. It displays how much health a player has (Normal max: 20). Useful for letting others know your health bar.
achievement:
The 'achievement' base criteria gives players a point whenever a certain achievement is earned. However they get a point EVERY time they earn it, not just once. When creating the objective, the 'achievement' must be followed by a (.) then a valid achievement.
stat:
The 'stat' base criteria gives a point every time a player earns one stat of the stat description that follows. When creating the objective, the 'stat' must be followed by a (.) then a valid stat.
stat.craftItem
The 'stat.craftItem' is followed by a (.) then the ID of a craftable or smeltable item. Players get a point every time they craft the item.
stat.useItem
The 'stat.useItem' is similar to the 'stat.craftItem'. Instead of crafting however, it adds a point when a tool is used, or a block is placed.
stat.mineBlock
The 'stat.mineBlock' is again similar to the 'stat.craftItem' and the 'stat.useItem'. Instead of crafting or using however, it adds a point whenever the block specified is broken by the player.
stat.killEntity
The 'stat.killEntity' is followed by a (.) then a valid entity name. The player gets a point for each one of the specific mobs he kills.
stat.entityKilledBy
The 'stat.entityKilledBy' is followed by a (.) then a valid entity name. Players get a point when killed by the mob listed. If you use a passive mob name the player will never get a point.
Testfor is a command that is only done in a command block, with a comparator coming out of the block. When a command block 'testfor's something, it tests for a player with certain values. If such a player is found, the comparator turns on. The comparator will not turn off until there is no longer such a player AND the command block is updated again. Values are Xp levels, where you are in the world, etc. But what we will be talking about is how to testfor someone with a certain score on the scoreboard.
The testfor syntax itself is easy:
[code]testfor @p(or @a) [values][/code]
I will not be using '/' in the commands, as this command is command block only and command blocks do not need '/'s.
Here we see [values] represent what values the players we are testing for should have.
We also see the setup syntax is pretty easy, it's the score testing that gets a little harder.
For the sake of examples I will use '@p' for now. '@p' finds the closest player with values that match those of the command. If one is found the comparator turns on. If not, it stays/turns off.
In order to test for scores, we use the syntax 'score_{code name}', {code name} being the objective we want to testfor. When testing for scores we either test for a minimum score (The set score or higher), or a maximum score (The set score or lower). Let's assume we created an objective named Money with the code
This would test to see if Anyone in the world had a Money score of 100 or less. Wait.. less?? That's right. the syntax we used tests for 100 or less. We tested for a maximum of 100 Money. To do minimum, a '_min' must be added:
[code]testfor @p[score_Money_min=100][/code]
This would test to see if anyone in the world had a Money score of 100 or more.
If we want to see if anyone has an amount of money within a certain range, we can use use both maximum and minimum:
This will test to see if anyone in the world has a money level between 10 and 20. We could also test to see if a 'member' has a certain amount of money. Assuming we have created a 'member' team we could say:
[code]testfor @p[team=member,score_Money_min=20]
Would see if anyone in the world was a member, and had a money score of 20+.
As shown by these two examples, when inserting multiple values, the command block tests for a player with ALL those values.
Next we'll quickly sum up the '@a'. '@a' simply tests to see how many players in a world have the variables in the testfor command. When using '@p' the comparator will always output a signal of 1 signal strength, but when using '@a' the signal strength is equal to the number of players with the variables being tested for, but the max signal strength is still 15. There are ways around this, and I would be happy to discuss them in the comments if needed, but it is slightly irrelevant to the current topic so I will leave it out for now.
Remember this is a work in progress, so I'm open to things I need to add, and will explain anything that isn't understood. I'm also happy to help you with problems, so post any questions. I will be adding a collection of my understanding of 1.8 scoreboard additions later today after I have player with it a little bit.
Rollback Post to RevisionRollBack
Quote me to get a quicker response! If I helped you in any way, please click the reputation square!
Because i saw ur post in the 1.7 data tag thread, u do not need to combine objectives so they will work in 1 command block, testfor can check for multiple scores within 1 command, which is a far better method of doing it to, because it means u have to get atleast the score of one type and cant mash out a score of an easier one
for example: you say Currently the only way to view scoreboard scores is to display them:
/scoreboard objectives setdisplay {slot} {Code name} There are 3 {slot}s in which to display objectives The {Code name} is the code name of the objective to display.
Because i saw ur post in the 1.7 data tag thread, u do not need to combine objectives so they will work in 1 command block, testfor can check for multiple scores within 1 command, which is a far better method of doing it to, because it means u have to get atleast the score of one type and cant mash out a score of an easier one
for example: you say Currently the only way to view scoreboard scores is to display them:
/scoreboard objectives setdisplay {slot} {Code name} There are 3 {slot}s in which to display objectives The {Code name} is the code name of the objective to display.
What is code name? what is slot.
If you read through my post, you will find code name is one of the three variables of creating an objective
Right but this guy wanted one objective with three different mob kill types in it. The testfor would testfor ex. 20 mob kills, but only of those three mobs. Testfor can't add numbers, so you would have to compile time into one objective for testfor.
Rollback Post to RevisionRollBack
Quote me to get a quicker response! If I helped you in any way, please click the reputation square!
Don't have time right now but I will add some pictures later today
Thanks
Right but this guy wanted one objective with three different mob kill types in it. The testfor would testfor ex. 20 mob kills, but only of those three mobs. Testfor can't add numbers, so you would have to compile time into one objective for testfor.
no u would have 3 different objectives that the game would keep track of and the testfor command would then check for all 3 to have passed
It would testfor 10 Zombie kills OR 10 Skeleton kills OR 10 Spider kills. I want it to activate when I kill 10 Zombies/Skeletons/Spiders, so if I kill 3 Zombies, 5 Skeletons, and 2 Spiders I want it to activate, but it will only activate if I get 10 of a certain one. That's why I compiled them.
Rollback Post to RevisionRollBack
Quote me to get a quicker response! If I helped you in any way, please click the reputation square!
Fails when i have 55 kills, but waves is on 14, its AND not OR
which for boss fights where u want specific mobs to be counted and not hordes is better
if ur just doing a general check for amount of mobs killed the compiling would work marginally better
Fails when i have 55 kills, but waves is on 14, its AND not OR
which for boss fights where u want specific mobs to be counted and not hordes is better
if ur just doing a general check for amount of mobs killed the compiling would work marginally better
Okay then it's AND, but the code I provided still wouldn't activate when I kill 3 Zombies, 5 Skeletons, and 2 Spiders,
Rollback Post to RevisionRollBack
Quote me to get a quicker response! If I helped you in any way, please click the reputation square!
would only succeed when u have killed at least 3 zombies, 5 skeletons and 2 spiders
Im not saying ur method was wrong, simply that it had extra steps which are not always needed
Right but what he wanted was it to activate when he had 10 total kills of those three mobs. This code wouldn't activate when I have 2 Zombie Kills, 7 Skeleton Kills, and 1 Spider Kills, whereas the compiling one would. I do see what your saying, and I think I'll add it to my testfor spoiler when I get in there again, I'm just compiling was the only way in that case.
I don't know if the comparator has the ability to output more than 15, even if there are 15 people. If someone could tell me, that would be great!
I'm pretty sure the comparator is limited to fifteen, like every redstonish thing. I once tried messing around with a command blocks NBT file, setting the 'sucsessCount' (cant remember the exact name) to 17. The SucsessCount tag keeps track of how strong a comparators signal should be. The comparator still had a signal sthrenght of 15. Of course the limit is anoying, but it shouldnt be a problem unless you're working on some massive project wich needs at least 15 players to start, for example.
EDIT: I just saw the pool, i think you create a new section explaining how to use players that don't exist, and how to show team scores. It's kind of complicated, but really nice if you get it working! Nice post anyways! Keep it up
I'm pretty sure the comparator is limited to fifteen, like every redstonish thing. I once tried messing around with a command blocks NBT file, setting the 'sucsessCount' (cant remember the exact name) to 17. The SucsessCount tag keeps track of how strong a comparators signal should be. The comparator still had a signal sthrenght of 15. Of course the limit is anoying, but it shouldnt be a problem unless you're working on some massive project wich needs at least 15 players to start, for example.
EDIT: I just saw the pool, i think you create a new section explaining how to use players that don't exist, and how to show team scores. It's kind of complicated, but really nice if you get it working! Nice post anyways! Keep it up
Yea that's what I thought.. Thanks I'll change that!
Rollback Post to RevisionRollBack
Quote me to get a quicker response! If I helped you in any way, please click the reputation square!
This topic has been created to help people of all types understand and use scoreboards. The OP is planned to contain all information about the scoreboard command, and the comments are planned to be used for help. If there is anything you do not understand or need help with I will be happy to help.
Most people think scoreboard is just a way to keep track of kills for a mob map, or a PvP game. While this is true, scoreboard can be used for so much more.
The Scoreboard can keep track of any score, and can be used to keep track of lots of things. One of the most common uses is money. But in order to use it you must understand it.
Some people wish scoreboard was easier, but when you use it enough, you realize it's already quite
easy. But you need to learn the basics somewhere, and I hope this post will help you learn.
There are three branches of the scoreboard: Objectives, players, and teams. This spoiler will talk about objectives branch
The objectives branch is the command that handles objectives, creating, deleting, and setting the display.
The first command you want to know is:
[code]/scoreboard objectives list[/code]
This command simply displays all the objectives that currently exist. This is useful if you have forgotten the name of an objective.
To add an objective:
[code]/scoreboard objectives add {code name} {criteria type} {display name}[/code]
The {code name} is the name which you will use in commands to target this exact objective. No two objectives can have the same code name
The {criteria type} tells the objective how players earn points, and is discussed in another spoiler.
The {display name} is the name that is displayed if the scoreboard is set to show either in the sidebar, or below name. If no {display name} is used, it defaults to the code name.
To remove an objective:
[code]/scoreboard objectives remove {code name}[/code]
The {code name} is the code name of an objective that has already been created. Removing an objective
will erase it and all scores on it.
Currently, the only way to view scoreboard scores is to display them:
[code]/scoreboard objectives setdisplay {slot} {code name}[/code]
There are currently 3 {slot}s in which to display objectives
The {code name} is the code name of the objective you want to display display.
Using the 'list' slot will display the number of points a player has in the player list (Press tab during game) next to that players name, but will not list the name of the objective.
//i.imgur.com/q25aIZs.png" target="" data-ensure-absolute>http://i.imgur.com/q25aIZs.png" />
//i.imgur.com/GGLHm7m.png" target="" data-ensure-absolute>http://i.imgur.com/GGLHm7m.png" />
Using the 'sideBar' slot will display the objective name to the right of all players screens, and on it the names of any players with points on that scoreboard, along with their points.
//i.imgur.com/xYSFoeI.png" target="" data-ensure-absolute>http://i.imgur.com/xYSFoeI.png" />
//i.imgur.com/rVJHxF0.png" target="" data-ensure-absolute>http://i.imgur.com/rVJHxF0.png" />
Using the 'belowName' slot will display the objective name under a player name in Multiplayer, and the number points they have. This does however make it impossible to know how many points you have, as you cannot see your own name tag.
//i.imgur.com/EMa0LpP.png" target="" data-ensure-absolute>http://i.imgur.com/EMa0LpP.png" />
//i.imgur.com/cV0hFdi.png" target="" data-ensure-absolute>http://i.imgur.com/cV0hFdi.png" />
Okay so let's do some examples! We'll create two objectives. One to display on the sidebar and show how many kills we have, and one to display below our name and show how much health we have.
Let's start by creating the objectives
[code]/scoreboard objectives add kills totalKillCount Kills[/code]
and
[code]/scoreboard objectives add health health Health[/code]
The first 'health'; represents the code name, and the name we will use in commands. The second 'health' represents the criteria type so our objective will represent the players health. The third 'Heath' is the name players will see when looking at other players for the health score.
Now let's set them to display:
[code]/scoreboard objectives setdisplay sidebar kills[/code]
Remember: We use sidebar because that's where we want it to display, and kills because that's the code name we gave out kills objective.
//i.imgur.com/hYoUrC8.png" target="" data-ensure-absolute>http://i.imgur.com/hYoUrC8.png" />
[code]/scoreboard objectives setdisplay belowName health[/code]
Now the sidebar will show us how many kills everyone has, and we will be able to see how much health other people have just by looking at them!
//i.imgur.com/0IYU7hz.png" target="" data-ensure-absolute>http://i.imgur.com/0IYU7hz.png" />
Note: Remember that 1 heart = 2 health.
The players branch of the scoreboard is what you use to manually set scores of players, or remove them from a scoreboard entirely.
The first command you want to know is:
[code]/scoreboard players list[/code]
This will tell you which players are being tracked by the scoreboard.
The next command is important:
[code]/scoreboard players {action} {player} {code name} {amount}[/code]
The {action} can be three different things: set, add, or remove. It will {set/add/remove} the {amount} from the {player}
The {player} is the player being targeted. You can use their name, or a player argument: @p for closest player, @a for all players, and @r for random player.
The {code name} is the code name of the objective you want to tamper with.
The {score} is the score you want to be set to/added/removed.
The last one is:
[code]/scoreboard players reset {Player}[/code]
The command removes the {player} selected from all scoreboards
The last branch is teams. This branch does just what it implies, and plays with teams. The commands are hard to remember at first, but easy to understand.
The first command is:
[code]/scoreboard teams list[/code]
This list all the teams, along with how many players are in them. If you add the team name into the command [code]/scoreboard teams list {Team name}[/code] it will list the players on that specific team.
To create a team:
[code]/scoreboard teams add {code team name} {display name}[/code]
The {code team name} is the name used in commands, to modify the team.
The {display name} is the name seen by players. I'm not sure, but I think if no display name is used, it defaults to the code name.
To remove a team:
[code]/scoreboard teams remove {code team name}[/code]
The {code team name} is the code name of a team already created.
To add a player to a team:
[code]/scoreboard teams join {code team name} {player}[/code]
The {code team name} is the team you want the player(s) to join
The {player} is the player joining. You can join multiple player with one commands, and you can use player arguments: @p for closest player, @a for all players, and @r for random player.
To remove a player from a team:
[code]/scoreboard teams leave {player}[/code]
The {player} is then removed from whatever team he is in.
There are also certain options that have to be decided in order to have a functional team
There are three options for teams, which are useful for controlling the teams
Color:
The color of the team effect the color of all players in that team in all places: Above their head, in chat, on the side bar, and in the tab menu.
[code]/scoreboard teams options {code team name} color {color}[/code]
The {code team name} is the code name of the team to color
The {color} is any valid color
The valid {Color}s are: black, dark_blue, dark_green, dark_aqua, dark_red, dark_purple, gold, gray, dark_gray, blue, green, aqua, red, light_purple, yellow, and white.
You can also use: obfuscated, bold, strikethrough, underline, and italic.
Friendly Fire
Friendly Fire turns PvP between team members on and off:
[code]/scoreboard teams options {code team name} friendlyfire {true or false}[/code]
{true} sets PvP off between members of the {code team name}, and {false} vice versa.
See Friendly Invisibles
See Friendly Invisibles turns the ability to see other members of your team, even though they are invisible, on and off
[code]/scoreboard teams options {code team name} seeFriendlyInisibles {true or false}[/code]
{true} sets the ability on for the members of the {code team name}, and {false} vice versa.
Criteria Types tell an objective when to give a player points. There 5 main criterias. There are also 7 base criterias that have multiple branches.
dummy:
When the 'dummy' criteria is used, the objective it is used for can only be changed by commands. This criteria works well for money and memory.
deathCount:
When the 'deathCount' criteria is used, it gives player a point for every time they die. Useful for keeping track of deaths, or subtracting points per death.
playerKillCount:
When the 'playerKillCount' criteria is used, players get points for killing players. Useful for PvP or Team PvP maps
totalKillCount:
When the 'totalKillCount' criteria is used, players get points for killing both players and mobs.
health:
The 'health' criteria is the only one that can not be changed with commands. It displays how much health a player has (Normal max: 20). Useful for letting others know your health bar.
achievement:
The 'achievement' base criteria gives players a point whenever a certain achievement is earned. However they get a point EVERY time they earn it, not just once. When creating the objective, the 'achievement' must be followed by a (.) then a valid achievement.
.makeBread, .bakeCake, .killCow, .portal, .buildFurnace, .buildSword, .cookFish, .enchantments, .mineWood, .openInventory, .exploreAllBiomes, .buildWorkBench, .theEnd, .blazeRod, .spawnWither, .buildBetterPickaxe, .aquireIron, .theEnd2, .bookcase, .flyPig, .ghast, .snipeSkeleton, .diamonds, .killWither, .fullBeacon, .buildHoe, .breedCow, .onARail, .overkill, .killEnemy, .potion, .buildPickaxe, .diamondsToYou
stat:
The 'stat' base criteria gives a point every time a player earns one stat of the stat description that follows. When creating the objective, the 'stat' must be followed by a (.) then a valid stat.
.damageDealt, .damageTaken, .leaveGame, .minecartOneCm, .swimOneCm, .walkOneCm, .horseOneCm, .pigOneCm, .flyOneCm, .boatOneCm, .fallOneCm, .climbOneCm, .diveOneCm, .fishCaught, .junkFished, .treasuerFished, .playOneMinute, .playerKills, .mobKills, .animalsBred, .jump, .drop
stat.craftItem
The 'stat.craftItem' is followed by a (.) then the ID of a craftable or smeltable item. Players get a point every time they craft the item.
stat.useItem
The 'stat.useItem' is similar to the 'stat.craftItem'. Instead of crafting however, it adds a point when a tool is used, or a block is placed.
stat.mineBlock
The 'stat.mineBlock' is again similar to the 'stat.craftItem' and the 'stat.useItem'. Instead of crafting or using however, it adds a point whenever the block specified is broken by the player.
Block/Item IDs can be found here: http://minecraft.gam...com/Data_values
stat.killEntity
The 'stat.killEntity' is followed by a (.) then a valid entity name. The player gets a point for each one of the specific mobs he kills.
stat.entityKilledBy
The 'stat.entityKilledBy' is followed by a (.) then a valid entity name. Players get a point when killed by the mob listed. If you use a passive mob name the player will never get a point.
.Wolf, .Ozelot, .Enderman, .Slime, .LavaSlime, .Spider, .CaveSpider, .Creeper, .Bat, .Squid, .PigZombie, .Silverfish,.Skeleton, .Witch, .EntityHorse, .Pig, .Blaze, .Sheep, .MushroomCow, .Villager, .Zombie, .Chicken, .Cow, .Ghast
Testfor is a command that is only done in a command block, with a comparator coming out of the block. When a command block 'testfor's something, it tests for a player with certain values. If such a player is found, the comparator turns on. The comparator will not turn off until there is no longer such a player AND the command block is updated again. Values are Xp levels, where you are in the world, etc. But what we will be talking about is how to testfor someone with a certain score on the scoreboard.
The testfor syntax itself is easy:
[code]testfor @p(or @a) [values][/code]
I will not be using '/' in the commands, as this command is command block only and command blocks do not need '/'s.
Here we see [values] represent what values the players we are testing for should have.
We also see the setup syntax is pretty easy, it's the score testing that gets a little harder.
For the sake of examples I will use '@p' for now. '@p' finds the closest player with values that match those of the command. If one is found the comparator turns on. If not, it stays/turns off.
In order to test for scores, we use the syntax 'score_{code name}', {code name} being the objective we want to testfor. When testing for scores we either test for a minimum score (The set score or higher), or a maximum score (The set score or lower). Let's assume we created an objective named Money with the code
[code]/scoreboard objectives add Money dummy[/code]
In the command block we will write:
[code]testfor @p[score_Money=100][/code]
This would test to see if Anyone in the world had a Money score of 100 or less. Wait.. less?? That's right. the syntax we used tests for 100 or less. We tested for a maximum of 100 Money. To do minimum, a '_min' must be added:
[code]testfor @p[score_Money_min=100][/code]
This would test to see if anyone in the world had a Money score of 100 or more.
If we want to see if anyone has an amount of money within a certain range, we can use use both maximum and minimum:
[code]testfor @p[score_Money_min=10,score_Money=20][/code]
This will test to see if anyone in the world has a money level between 10 and 20. We could also test to see if a 'member' has a certain amount of money. Assuming we have created a 'member' team we could say:
[code]testfor @p[team=member,score_Money_min=20]
Would see if anyone in the world was a member, and had a money score of 20+.
As shown by these two examples, when inserting multiple values, the command block tests for a player with ALL those values.
Next we'll quickly sum up the '@a'. '@a' simply tests to see how many players in a world have the variables in the testfor command. When using '@p' the comparator will always output a signal of 1 signal strength, but when using '@a' the signal strength is equal to the number of players with the variables being tested for, but the max signal strength is still 15. There are ways around this, and I would be happy to discuss them in the comments if needed, but it is slightly irrelevant to the current topic so I will leave it out for now.
Remember this is a work in progress, so I'm open to things I need to add, and will explain anything that isn't understood. I'm also happy to help you with problems, so post any questions. I will be adding a collection of my understanding of 1.8 scoreboard additions later today after I have player with it a little bit.
EDIT: Added a display example, anything else you need?
/scoreboard objectives setdisplay {slot} {Code name}
There are 3 {slot}s in which to display objectives
The {Code name} is the code name of the objective to display.
What is code name? what is slot.
Really? How?
If you read through my post, you will find code name is one of the three variables of creating an objective
That's why you need to remember the code name
The three slots are the three different places to display an objective, and are explained in the slot spoiler. I think I'll add some pictures too.
etc
Thanks
Right but this guy wanted one objective with three different mob kill types in it. The testfor would testfor ex. 20 mob kills, but only of those three mobs. Testfor can't add numbers, so you would have to compile time into one objective for testfor.
no u would have 3 different objectives that the game would keep track of and the testfor command would then check for all 3 to have passed
after setting up ur scoreboard objectives:
that will only succeed if all 3 of the scores are at least the value defined
It would testfor 10 Zombie kills OR 10 Skeleton kills OR 10 Spider kills. I want it to activate when I kill 10 Zombies/Skeletons/Spiders, so if I kill 3 Zombies, 5 Skeletons, and 2 Spiders I want it to activate, but it will only activate if I get 10 of a certain one. That's why I compiled them.
Fails when i have 55 kills, but waves is on 14, its AND not OR
which for boss fights where u want specific mobs to be counted and not hordes is better
if ur just doing a general check for amount of mobs killed the compiling would work marginally better
would only succeed when u have killed at least 3 zombies, 5 skeletons and 2 spiders
Im not saying ur method was wrong, simply that it had extra steps which are not always needed
I'm pretty sure the comparator is limited to fifteen, like every redstonish thing. I once tried messing around with a command blocks NBT file, setting the 'sucsessCount' (cant remember the exact name) to 17. The SucsessCount tag keeps track of how strong a comparators signal should be. The comparator still had a signal sthrenght of 15. Of course the limit is anoying, but it shouldnt be a problem unless you're working on some massive project wich needs at least 15 players to start, for example.
EDIT: I just saw the pool, i think you create a new section explaining how to use players that don't exist, and how to show team scores. It's kind of complicated, but really nice if you get it working! Nice post anyways! Keep it up