Ir para conteúdo
  • 0

[Resolvido] ScoreBoard, como criar?


Guest Smath

Pergunta

Bom pessoal, eu já olhei na internet, já assistir uns vídeo e queria saber como eu crio um ScoreBoard (Spigot-1.5.2)..

 

Eu queria colocar umas informações lá.. mais primeiro preciso saber sobre como criar o score.. :/

Eu assistir uns vídeo na internet de como criar mais quando eu entro no servidor não funciona.. ou não aparece, não sei exatamente nada de score.

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

vou tentar lá, qualquer coisa dou resolvido :D

 

Edit: Não funcionou..

Código:

package me.smath.score;

import java.util.HashMap;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scoreboard.DisplaySlot;
import org.bukkit.scoreboard.Objective;
import org.bukkit.scoreboard.Score;
import org.bukkit.scoreboard.Scoreboard;

public class Main extends JavaPlugin implements Listener {
	
	    private Scoreboard board;
	    private Objective o;
	    private HashMap<OfflinePlayer, Score> scores = new HashMap<OfflinePlayer, Score>();
	    
	    public void onEnable() {
            getServer().getPluginManager().registerEvents(this, this);
	    	board = Bukkit.getServer().getScoreboardManager().getNewScoreboard();
	    	o = board.registerNewObjective("steps", "dummy");
	    	o.setDisplayName("steps");
	    	o.setDisplaySlot(DisplaySlot.SIDEBAR);
	    }
	    
	    @EventHandler
	    public void onJoin(PlayerJoinEvent e) {
	    	Player p = e.getPlayer();
	    	
	    	p.setScoreboard(board);
	    	
	    	if(scores.get(p) == null) scores.put(p, o.getScore(Bukkit.getServer().getOfflinePlayer(ChatColor.GREEN + "Number:")));
	    }
	    
	    @EventHandler
	    public void onMove(PlayerMoveEvent e) {
	    	if(e.getFrom().getX() == e.getTo().getX() && e.getFrom().getY() == e.getTo().getY() && e.getFrom().getZ() == e.getTo().getZ());
	    	
	    	scores.get(e.getPlayer()).setScore(scores.get(e.getPlayer()).getScore() + 1);
	    }

}

plugin.yml:

name: Score
main: me.smath.score.Main
version: 1.0
Editado por Smath
Link para o comentário
Compartilhar em outros sites

 

vou tentar lá, qualquer coisa dou resolvido :D

 

Edit: Não funcionou..

Código:

package me.smath.score;

import java.util.HashMap;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scoreboard.DisplaySlot;
import org.bukkit.scoreboard.Objective;
import org.bukkit.scoreboard.Score;
import org.bukkit.scoreboard.Scoreboard;

public class Main extends JavaPlugin implements Listener {
	
	    private Scoreboard board;
	    private Objective o;
	    private HashMap<OfflinePlayer, Score> scores = new HashMap<OfflinePlayer, Score>();
	    
	    public void onEnable() {
            getServer().getPluginManager().registerEvents(this, this);
	    	board = Bukkit.getServer().getScoreboardManager().getNewScoreboard();
	    	o = board.registerNewObjective("steps", "dummy");
	    	o.setDisplayName("steps");
	    	o.setDisplaySlot(DisplaySlot.SIDEBAR);
	    }
	    
	    @EventHandler
	    public void onJoin(PlayerJoinEvent e) {
	    	Player p = e.getPlayer();
	    	
	    	p.setScoreboard(board);
	    	
	    	if(scores.get(p) == null) scores.put(p, o.getScore(Bukkit.getServer().getOfflinePlayer(ChatColor.GREEN + "Number:")));
	    }
	    
	    @EventHandler
	    public void onMove(PlayerMoveEvent e) {
	    	if(e.getFrom().getX() == e.getTo().getX() && e.getFrom().getY() == e.getTo().getY() && e.getFrom().getZ() == e.getTo().getZ());
	    	
	    	scores.get(e.getPlayer()).setScore(scores.get(e.getPlayer()).getScore() + 1);
	    }

}

plugin.yml:

name: Score
main: me.smath.score.Main
version: 1.0

Um objetivo n é visível sem scores '-'

Link para o comentário
Compartilhar em outros sites

Um objetivo n é visível sem scores '-'

Eu fiz baseado no tutorial do YouTube que o leonardo me recomendou, sabe como posso corrigir? no tutorial o Pogo consegue usar :/

Link para o comentário
Compartilhar em outros sites

Assim?

package me.smath.score;

import org.bukkit.Bukkit;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scoreboard.DisplaySlot;
import org.bukkit.scoreboard.Objective;
import org.bukkit.scoreboard.Score;
import org.bukkit.scoreboard.Scoreboard;
import org.bukkit.scoreboard.ScoreboardManager;

public class Main extends JavaPlugin implements Listener {
	
	    public void onEnable() {
            getServer().getPluginManager().registerEvents(this, this);
	    }
	    
	    @EventHandler
	    public void onJoin(PlayerJoinEvent e) {
	    	ScoreboardManager manager = Bukkit.getScoreboardManager();
	    	Scoreboard board = manager.getNewScoreboard();
	    	Objective objective = board.registerNewObjective("test", "dummy");
	    	
	    	//Setting where to display the scoreboard/objective (either SIDEBAR, PLAYER_LIST or BELOW_NAME)
	    	objective.setDisplaySlot(DisplaySlot.SIDEBAR);
	    	 
	    	//Setting the display name of the scoreboard/objective
	    	objective.setDisplayName("Display Name");
	    	
	    	Score score = objective.getScore(e.getPlayer());
	    	score.setScore(42);
	    }

}

Link para o comentário
Compartilhar em outros sites

 

Assim?

package me.smath.score;

import org.bukkit.Bukkit;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scoreboard.DisplaySlot;
import org.bukkit.scoreboard.Objective;
import org.bukkit.scoreboard.Score;
import org.bukkit.scoreboard.Scoreboard;
import org.bukkit.scoreboard.ScoreboardManager;

public class Main extends JavaPlugin implements Listener {
	
	    public void onEnable() {
            getServer().getPluginManager().registerEvents(this, this);
	    }
	    
	    @EventHandler
	    public void onJoin(PlayerJoinEvent e) {
	    	ScoreboardManager manager = Bukkit.getScoreboardManager();
	    	Scoreboard board = manager.getNewScoreboard();
	    	Objective objective = board.registerNewObjective("test", "dummy");
	    	
	    	//Setting where to display the scoreboard/objective (either SIDEBAR, PLAYER_LIST or BELOW_NAME)
	    	objective.setDisplaySlot(DisplaySlot.SIDEBAR);
	    	 
	    	//Setting the display name of the scoreboard/objective
	    	objective.setDisplayName("Display Name");
	    	
	    	Score score = objective.getScore(e.getPlayer());
	    	score.setScore(42);
	    }

}

Pique isso, porém acho que na segunda vez que alguém entrar vai dar um erro no qual já tem uma objective com esse nome :p

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...