Ir para conteúdo

Solitario

Membros
  • Total de itens

    304
  • Registro em

  • Última visita

Tudo que Solitario postou

  1. Bom ... esta funcional o code e tal ... porém o servidor para de responder ... alguém poderia me ajudar evitar isso ???? URGENTE Code que estou usando: public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { if(label.equalsIgnoreCase("importmysql")){ for(String Player : Main.instance.status.getKeys(false)){ OfflinePlayer p = Bukkit.getOfflinePlayer(Player); int Kills = getKills(Player); int Deaths = getDeaths(Player); int XP = getXp(Player); int Caixas = getCaixa(Player); Main.mysql.importing(p, Kills, Deaths, XP, Caixas); sender.sendMessage("§c[Import] Player: " + p.getName() + " Importado! Kills:" + Kills + " Deaths:" + Deaths + " XP:" + XP + " Caixas:" + Caixas); } sender.sendMessage("§aImport terminado!"); } return false; }
  2. Não exatamente mais foi isso mesmo quase kk "status.getKeys(false)" @edit Obrigado :3
  3. Bom, gostaria de fazer um sistema de import para mysql só que não sei como pegar todos os nickname ... No caso no status.yml (Arquivo onde foi armazenado) esta assim: ArthurGUI: XP: 15703 Matou: 500 Morreu: 100 Caixa: 0 KomboHG: XP: 4 Morreu: 1 Matou: 1 Queria saber como pegar todos para fazer o for funcionar para pegar todos os dados e tal... (Só preciso pegar todos os nickname que nem uma arraylist que nem tipo faz for(String p : Arraylist)
  4. nametagedit '-' o de baixo (laranja porém quando abre ta uma barrinha pequena) E também agora que eu fechei o servidor também ... meio que sumiu '-' Mais... apareceu esses 2 laranja @edit e.e fiz do projeto (Acho que deu certo não sei ...)
  5. jprofiler não entendi como selecionar um servidor '-' mais mesmo assim segui tipo os passos e deu nisso: O outro (yourkit não sei usar também '-' mais consegui ums resultados e.e)
  6. Alguém poderia me dizer como posso optimizar e saber que parte esta gerando muito gasto de memoria do servidor (Memoria ram) Quero saber até por que tem um servidor que eu conheço o servidor fica 100/100 1 GB fica sem lagg e sem travar .... agora o meu fica 100% de uso de memoria e dando umas travadas .... (Personalizei um pouco o plugin (Não decompilei, é src) então quem sabe pode ser isso também ...) Bom ... como já disse gostaria de saber como resolver isso ^^ desde já agradeço se alguém poder me ajudar ^^
  7. bom ... usei sem o thread deslagou + '-' (Acho que o jeito que eu tava usando tava meio ruim kk)
  8. Também não deu certo ;-; Bom ... consegui resolver verificando o nome do item ver se continha no hashmap '-' deu certo pelo menos
  9. Já tentei com e.getCurrentItem() instanceof Skull e e.getCurrentItem().getType() == Material.SKULL Code: public void Aoescolher(InventoryClickEvent e){ final Player p = (Player)e.getWhoClicked(); if (e.getInventory().getTitle().equalsIgnoreCase("§cJogadores reportados") && e.getCurrentItem() != null && e.getCurrentItem().getTypeId() != 0) { e.setCancelled(true); if (e.getCurrentItem().getType() == Material.SKULL_ITEM) { Skull skull = (Skull) e.getCurrentItem(); String owner = skull.getOwner(); p.performCommand("resolverr " + owner); p.closeInventory(); return; } } } espero que alguém saiba resolver '-' tou tentando até agora nada .-.
  10. n tou conseguindo colocar os blocos '-' via Block achei um pouco na internet sobre o bloco em ItemStack porém não encontrei como pego o (short)
  11. Tentei tipo ... getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable() { @Override public void run() { atualizarscores(); } }, 0, 20*5); } public void atualizarscores(){ new Thread(){ public void run() { if(Bukkit.getOnlinePlayers().length == 0){ return; } for(Player p : Bukkit.getOnlinePlayers()){ if (Score.ntemscore.contains(p.getName())) { if (p.getScoreboard() != null && p.getScoreboard().getObjective("scoreboardutils") != null) { final String cash = Main.instance.obterinfo.cash(p); final Team a2 = p.getScoreboard().getTeam("a2"); final Team a3 = p.getScoreboard().getTeam("a3"); final Team a4 = p.getScoreboard().getTeam("a4"); final Team a6 = p.getScoreboard().getTeam("a6"); final Team a7 = p.getScoreboard().getTeam("a7"); final Team a9 = p.getScoreboard().getTeam("a9"); final Team a10 = p.getScoreboard().getTeam("a10"); final Team a11 = p.getScoreboard().getTeam("a11"); a11.setSuffix(KillsDeathsRankXp.getRank(p)); a10.setSuffix(Integer.valueOf(KillsDeathsRankXp.getXp(p)).toString()); a9.setSuffix(Integer.valueOf(KillsDeathsRankXp.getCaixa(p)).toString()); a7.setSuffix(API.getKit(p)); a6.setSuffix(CombatLog.statuscombat(p)); a4.setSuffix(Integer.valueOf(KillsDeathsRankXp.getKills(p)).toString()); a3.setSuffix(Integer.valueOf(KillsDeathsRankXp.getDeaths(p)).toString()); a2.setSuffix(cash); } } } } }.start(); Só que ainda dava umas travadas (Creio que era quando atualizava) 30+ players '-' (Bem que no lobby uso assim e não da lagg porém no sv diferente deu '-')
  12. tipo ... ambos dão lagg ... porém pelo que tou vendo quando tem o ultimo code que usei (O que postei) ele termina dando 1 travada a cada atualizada e o bukkit runnable a cada player é umas lagadas em diferentes tempos
  13. Então para cada player um bukkit runnable ? (Literalmente o que eu fiz de começo)
  14. Bom ... o scoreboard creio que seja o que mais provoque o lagg pelos metodos que já usei e tudo o que aconteceu sempre foi o scoreboard... Queria saber como optimizar ao atualizar os dados do scoreboard (Kills,Deaths, etc...) Code atual: (Esta no onEnable()) new BukkitRunnable() { @SuppressWarnings("deprecation") @Override public void run() { if(Bukkit.getOnlinePlayers().length == 0){ return; } for(Player p : Bukkit.getOnlinePlayers()){ if (Score.ntemscore.contains(p.getName())) { if (p.getScoreboard() != null && p.getScoreboard().getObjective("scoreboardutils") != null) { final String cash = Main.instance.obterinfo.cash(p); final Team a2 = p.getScoreboard().getTeam("a2"); final Team a3 = p.getScoreboard().getTeam("a3"); final Team a4 = p.getScoreboard().getTeam("a4"); final Team a6 = p.getScoreboard().getTeam("a6"); final Team a7 = p.getScoreboard().getTeam("a7"); final Team a9 = p.getScoreboard().getTeam("a9"); final Team a10 = p.getScoreboard().getTeam("a10"); final Team a11 = p.getScoreboard().getTeam("a11"); a11.setSuffix(KillsDeathsRankXp.getRank(p)); a10.setSuffix(Integer.valueOf(KillsDeathsRankXp.getXp(p)).toString()); a9.setSuffix(Integer.valueOf(KillsDeathsRankXp.getCaixa(p)).toString()); a7.setSuffix(API.getKit(p)); a6.setSuffix(CombatLog.statuscombat(p)); a4.setSuffix(Integer.valueOf(KillsDeathsRankXp.getKills(p)).toString()); a3.setSuffix(Integer.valueOf(KillsDeathsRankXp.getDeaths(p)).toString()); a2.setSuffix(cash); } } if (Score.temscore.contains(p.getName())) { p.getScoreboard().clearSlot(DisplaySlot.SIDEBAR); } } } }.runTaskTimer(Main.getPlugin(), 60l, 20l); Antes eu usava no playerjoinevent ou seja para cada player ele gerava 1 atualizador ... Gostaria de saber o melhor metodo para evitar o lagg e atualizar todos os scoreboard
  15. ok ... mais para colocar o bloco seria como para especificar (Citei que uso arraylist só que errei é hashmap) for(Location bloco : base.keySet()){ Main.instance.getServer().getWorld(bloco.getWorld().getName()).getBlockAt(bloco).setTypeId(base.get(bloco).getType().getId()); } não ta funcionando e.e ... como ficaria para colocar o bloco ? (To salvando via <location, block>) itemstack não é apenas para item ? (e.e tentei não apareceu nada sobre itemstack)
  16. Tou usando uma ArrayList simples de apenas <Material, Location> como iria ficar (É minha primeira vez fzd coisas desse tipo e.e (salvando blocos ...))
  17. Tou com problema ao salvar não ta funcional do jeito certo com alguns blocos (Lã, slab, vidro)
  18. public void onEnable(){ instance = this; saveDefaultConfig(); servidor = getConfig().getString("Servidor"); carregareventos(); carregarcomandos(); Bukkit.getConsoleSender().sendMessage("§e["+ this.getName() +"] §aPlugin carregado com sucesso!"); } private void carregareventos(){ getServer().getPluginManager().registerEvents(new Gui3(), this); getServer().getPluginManager().registerEvents(new Gui2(), this); getServer().getPluginManager().registerEvents(new Gui(), this); } private void carregarcomandos(){ getCommand("lojadecash").setExecutor(new lojadecash()); } não ;-; @EDIT kkkkk tendi ... ta todos os registerevent funcional e todos tem o mesmo code no inventoryclickevent ^^
  19. Galera eu tenho esse code aqui (Feito por mim) e tipo testei no meu servidor primeira versão e tava funcional ... agora do nada começou que ao clickar no item da gui ele faz o player executar 2 vezes o comando (Já testei o comando por si e ta funcionando normal) Code:
  20. se a pessoa quisesse colocar 1 bloco então daria erro ? OBS: O code que eu coloquei: public void SalvarArea(Player player, Location l1, Location l2){ int mix, max, miy, may, miz, maz; int blockCounter = 0; if(l1.getBlockX() < l2.getBlockX()){ mix = l1.getBlockX(); max = l2.getBlockX(); }else{ mix = l2.getBlockX(); max = l1.getBlockX(); } if(l1.getBlockY() < l2.getBlockY()){ miy = l1.getBlockY(); may = l2.getBlockY(); }else{ miy = l2.getBlockY(); may = l1.getBlockY(); } if(l1.getBlockZ() < l2.getBlockZ()){ miz = l1.getBlockZ(); maz = l2.getBlockZ(); }else{ miz = l2.getBlockZ(); maz = l1.getBlockZ(); } for(int x = mix; x<=max;x++){ for(int y = miy; y<=may;y++){ for(int z = miz; z<=maz;z++){ Location location = new Location(player.getWorld(), x,y,z); base.put(location, location.getBlock().getType()); blockCounter++; } } } if(pos1.get(player) != null && pos2.get(player) != null){ pos1.remove(player); pos2.remove(player); } player.sendMessage(Main.Prefix + blockCounter + " Blocos salvos!"); } esta com um problema de salvar o bloco tipo slab (Ele salva outro tipo) ou na lã e acho que no vidro também
  21. O problema que tou vendo só ta no verificar se ele ta no selectmode (Mudei para salvar o nome) if(event.getAction() == Action.LEFT_CLICK_BLOCK && selectmode.contains(player.getName())){ }
  22. HashMap<Player, Location> pos1 = new HashMap<Player, Location>(); HashMap<Player, Location> pos2 = new HashMap<Player, Location>(); @EventHandler public void onPlayerInteractEvent(PlayerInteractEvent event){ Player player = event.getPlayer(); if(event.getAction()==Action.LEFT_CLICK_BLOCK && selectmode.contains(player) && player.getItemInHand().getType() == Material.GOLD_NUGGET){ pos1.put(player, event.getClickedBlock().getLocation()); player.sendMessage(Main.Prefix + "§bPos 1: " + event.getClickedBlock().getLocation()); event.setCancelled(true); if(event.getAction() == Action.RIGHT_CLICK_BLOCK && selectmode.contains(player) && player.getItemInHand().getType() == Material.GOLD_NUGGET){ pos2.put(player, event.getClickedBlock().getLocation()); player.sendMessage(Main.Prefix + "§bPos 2: " + event.getClickedBlock().getLocation()); event.setCancelled(true); } } } Não quer funcionar
  23. para setar do local x até local y '-' que nem o worldedit seta Esse é o select mode '-' ele não deixa quebrar porém não seta ;-; Interessante ... mais estou com problemas no select mode (codigo acima)
×
×
  • Criar Novo...