PedroDev Postado Março 9, 2017 Denunciar Compartilhar Postado Março 9, 2017 (editado) Bom, estou fazendo um plugin de punir, mais quando eu vou punir um player offline, ele da aquele erro Internal erro .... Queria que podesse punir players offline. Alguem me ajuda? Código: if (sender instanceof Player) { Player p = (Player)sender; if (args.length == 0) { p.sendMessage("§cUse: /punir (jogador)"); } if (args.length != 0 && args.length == 1) { if (p.hasPermission("punir.use")) { Player k = Bukkit.getPlayer(args[0]); Editado Março 9, 2017 por zPedroRJ Link para o comentário Compartilhar em outros sites More sharing options...
bieel1503 Postado Março 9, 2017 Denunciar Compartilhar Postado Março 9, 2017 Ta mais aonde eu boto isso Desculpa, eu estava errado. Transforma o "Player k = Bukkit.getPlayer();" para "OfflinePlayer k = Bukkit.getOfflinePlayer();", depois você pode checar se o player estiver online assim: if(k.isOnline()) { Player on = k.getPlayer(); //code } else { // } 1 Link para o comentário Compartilhar em outros sites More sharing options...
bieel1503 Postado Março 9, 2017 Denunciar Compartilhar Postado Março 9, 2017 Checa se o player está online. Link para o comentário Compartilhar em outros sites More sharing options...
IZ44KPvP Postado Março 9, 2017 Denunciar Compartilhar Postado Março 9, 2017 Bom, estou fazendo um plugin de punir, mais quando eu vou punir um player offline, ele da aquele erro Internal erro .... Queria que podesse punir players offline. Alguem me ajuda? Código: if (sender instanceof Player) { Player p = (Player)sender; if (args.length == 0) { p.sendMessage("§cUse: /punir (jogador)"); } if (args.length != 0 && args.length == 1) { if (p.hasPermission("punir.use")) { Player k = Bukkit.getPlayer(args[0]); Poderia mandar o metodo completo? Link para o comentário Compartilhar em outros sites More sharing options...
PedroDev Postado Março 9, 2017 Autor Denunciar Compartilhar Postado Março 9, 2017 (editado) Poderia mandar o metodo completo? package Main; import org.bukkit.Bukkit; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.event.Listener; public class Punir implements CommandExecutor, Listener { Main main; public Punir(Main plugin) { plugin = this.main; } public Punir() { } public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { if (!(sender instanceof Player)) { sender.sendMessage("Voce nao e um jogador."); return true; } if (sender instanceof Player) { Player p = (Player)sender; if (args.length == 0) { p.sendMessage("§8[Punir] §cUse: /punir (Player)"); } if (args.length != 0 && args.length == 1) { if (p.hasPermission("punir.use")) { Player k = Bukkit.getPlayer(args[0]); p.sendMessage(""); p.sendMessage(" §cTipo De Punições "); p.sendMessage(""); APIClickChat hack = new APIClickChat("", "§eUso De Hack", "§fTipo De Punição: Ban \n§fTempo: Permanente"); hack.addComand("/ban " + k.getName() + " Uso De Hack"); hack.enviar(p); APIClickChat antijogo = new APIClickChat("", "§eAnti-Jogo", "§fTipo De Punição: Ban \n§fTempo: Permanente"); antijogo.addComand("/ban " + k.getName() + " Anti-Jogo"); antijogo.enviar(p); APIClickChat bug = new APIClickChat("", "§eAbuso De Bug", "§fTipo De Punição: Ban \n§fTempo: Permanente"); bug.addComand("/ban " + k.getName() + " Abuso De Bug"); bug.enviar(p); APIClickChat ofença = new APIClickChat("", "§eOfença a Staffer/Player", "§fTipo De Punição: Ban \n§fTempo: Permanente"); ofença.addComand("/ban " + k.getName() + " Ofença a Staffer/Player"); ofença.enviar(p); APIClickChat divulgação = new APIClickChat("", "§eDivulgação De Link/Ip", "§fTipo De Punição: Ban Temporario \n§fTempo: 8 Horas"); divulgação.addComand("/tempban " + k.getName() + " 8 hour Divulgação De Link/Ip"); divulgação.enviar(p); APIClickChat flood = new APIClickChat("", "§eFlood/Spam", "§fTipo De Punição: Ban Temporario \n§fTempo: 5 Horas"); flood.addComand("/tempban " + k.getName() + " 5 hour Flood/Spam"); flood.enviar(p); APIClickChat inadequadas = new APIClickChat("", "§eParavras Inadequadas", "§fTipo De Punição: Ban Temporario \n§fTempo: 4 Horas"); inadequadas.addComand("/tempban " + k.getName() + " 4 hour Palavras Inadequadas"); inadequadas.enviar(p); APIClickChat difarmação = new APIClickChat("", "§eDifarmação Ao Server", "§fTipo De Punição: Ban Temporario \n§fTempo: 10 Horas"); difarmação.addComand("/tempban " + k.getName() + " 10 hour Difarmação Ao Server"); difarmação.enviar(p); APIClickChat iniciativaflood = new APIClickChat("", "§eIniciativa De Flood", "§fTipo De Punição: Ban Temporario \n§fTempo: 10 Horas"); iniciativaflood.addComand("/kick " + k.getName() + " 10 hour Iniciativa De Flood"); iniciativaflood.enviar(p); APIClickChat modproibido = new APIClickChat("", "§eUso De Mod Proibido", "§fTipo De Punição: Ban Temporario \n§fTempo: 3 Dias"); modproibido.addComand("/kick " + k.getName() + " 3 day Uso De Mod Proibido"); modproibido.enviar(p); p.sendMessage(""); p.sendMessage(" §cTipo De Punições "); p.sendMessage(""); } else { p.sendMessage("§cSem Permissão Para Executar Isto!"); } } } return false; } } // Tipo eu queria que podesse punir player offline. Editado Março 9, 2017 por zPedroRJ Link para o comentário Compartilhar em outros sites More sharing options...
bieel1503 Postado Março 9, 2017 Denunciar Compartilhar Postado Março 9, 2017 Sério, checa se o player está online, se ele não estiver, você pega o OfflinePlayer off = Bukkit.getOfflinePlayer(k.getName()); Link para o comentário Compartilhar em outros sites More sharing options...
PedroDev Postado Março 9, 2017 Autor Denunciar Compartilhar Postado Março 9, 2017 Sério, checa se o player está online, se ele não estiver, você pega o OfflinePlayer off = Bukkit.getOfflinePlayer(k.getName()); Ta mais aonde eu boto isso Link para o comentário Compartilhar em outros sites More sharing options...
Arkasher Postado Março 9, 2017 Denunciar Compartilhar Postado Março 9, 2017 (editado) Na hora de instanciar a classe Player: Player banido = Bukkit.getPlayer(...); if(banido != null) { //Bane ele normalmente } else { OfflinePlayer banidooffline = Bukkit.getOfflinePlayer(...); if(banidooffline.hasPlayedBefore()) { //Bane baseado no banidooffline } else { //Envia msg que nunca entrou } Obs: Ofensa é com "s" '-' Editado Março 9, 2017 por Arkasher Link para o comentário Compartilhar em outros sites More sharing options...
PedroDev Postado Março 9, 2017 Autor Denunciar Compartilhar Postado Março 9, 2017 Na hora de instanciar a classe Player: Player banido = Bukkit.getPlayer(...); if(banido != null) { //Bane ele normalmente } else { OfflinePlayer banidooffline = Bukkit.getOfflinePlayer(...); if(banidooffline.hasPlayedBefore()) { //Bane baseado no banidooffline } else { //Envia msg que nunca entrou } Obs: Ofensa é com "s" '-' Imbuti isso no código pra mim to todo embolado aq kkkkkk Link para o comentário Compartilhar em outros sites More sharing options...
PedroDev Postado Março 9, 2017 Autor Denunciar Compartilhar Postado Março 9, 2017 Desculpa, eu estava errado. Transforma o "Player k = Bukkit.getPlayer();" para "OfflinePlayer k = Bukkit.getOfflinePlayer();", depois você pode checar se o player estiver online assim: if(k.isOnline()) { Player on = k.getPlayer(); //code } else { // } Vlw agr sim é nois , obrigado! 1 Link para o comentário Compartilhar em outros sites More sharing options...
leonardosc Postado Março 9, 2017 Denunciar Compartilhar Postado Março 9, 2017 Sua dúvida foi marcada como [Resolvido] e movido à área de dúvidas resolvidas. Atenciosamente, Gamer's Board Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
PedroDev
Bom, estou fazendo um plugin de punir, mais quando eu vou punir um player offline, ele da aquele erro Internal erro ....
Queria que podesse punir players offline.
Alguem me ajuda?
Código:
if (sender instanceof Player) {
Link para o comentário
Compartilhar em outros sites
10 respostass a esta questão
Posts Recomendados