Ir para conteúdo

_Kurimatzu_

Membros
  • Total de itens

    368
  • Registro em

  • Última visita

Tudo que _Kurimatzu_ postou

  1. E se eu quiser fazer com várias threads para ser mais rápido? Tem como?
  2. Eu tenho um for, que vai de 0 até 9999999, porém, como eu faço uma "thread" que processa esse for? (para não lagar na hora que ele tá processando o for).
  3. Legal, ele trava a Thread principal. Partiu fazer bot
  4. Vamos ver se eu entendi; No Cliente, fica um arquivo de uma Key. Feito isso, a mensagem é protegida e enviada para o servidor. No Servidor tem um arquivo de Key totalmente diferente do cliente, lá, e descriptografado. É isso?
  5. Já tenho uma classe que envia pacotes para o servidor. Porém, qual é o melhor método de criptografia entre pacotes? (para não enviar uma string pura que poder ser manipulada facilmente).
  6. #UP: - Alguém possuí alguma sugestão, ou reporte de bugs?
  7. #UP: - Em breve para novas versões. - Adicionado evento "ClienteConnectEvent".
  8. As novas versões, vai demorar um pouco. Eu vou focar na 1.5.2, quanto mais gente usando, melhor feedback / report de bugs. Para chegar nas versões atuais sem bugs. :)
  9. *LOGO* Há um tempo atrás, eu postei o kLockClient, porém, estava muito bugado e muito mal optimizado. Então, eu refiz ele, agora com suporte para jogadores originais (bem, eu acho, tava funcionando, testei mais com minecraft pirata, se alguém achar algum erro, me avise)! Uma explicação básica: A conexão entre Cliente -> Servidor, são enviados vários pacotes pelo cliente, e pelo servidor ao mesmo tempo. Existe um pacote chamado PacketCustomPayLoad (1.5/1.6 = Packet250CustomPayload), que envia informações para o servidor (MC|Beacon,MC|Book, etc). Oque o kLockClient faz, ele envia uma informação para o servidor, da sua .minecraft (Sua jar, e seus mods). É bem simples. Resumindo tudo: Com esse plugin você pode limitar o jogador a usar somente a jar que foi especificada pelo servidor! Configuração (não precisa explicar muito, é só olhar e ver): https://github.com/Kurimatzu/kLockClient/blob/master/Plugin/1.5.2/config.yml Como configurar um Cliente: 1: Baixe o plugin, e abra o servidor. 2: O Plugin irá gerar a pasta kLockClient, dentro dela haverá 3 pastas. (CoreMods,jar,mods). 3: Dentro da pasta jar, você coloca qual jar o cliente tem que entrar. (É tipo a minecraft.jar que fica dentro da bin, então, é só tacar ela dentro da pasta jar, lembrando que a jar tem que ser a mesma que está no cliente.) 4: Seguindo a teoria do exemplo 3, você faz a mesma coisa com os mods, e coremods. No Cliente, vem os seguinte mods (Forge + Optifine) No Download, bem duas pasta bin e lib, é só tacar na .minecraft. (Quem usa MinecraftSP) Quem usa minecraft original, é só tacar na pasta versions e selecionar o perfil kLockClient. Downloads: Cliente 1.5.2: https://github.com/Kurimatzu/kLockClient/raw/master/Release/Cliente/1.5.2/kLockClient.zip Cliente 1.5.2 (ORIGINAL): https://github.com/Kurimatzu/kLockClient/raw/master/Release/Cliente/1.5.2/kLockClient%20-%20Original.zip Plugin: https://github.com/Kurimatzu/kLockClient/raw/master/Release/Plugin/1.5.2/kLockClient.jar (Só tem para 1.5.2 por enquanto) Like
  10. 300000 / 1089 = 275.482093664 Isso é muito alto. A minha dúvida é. Tenho uma ArrayDeque, com vários blocos, TODOS esses blocos devem ser setados em 5 minutos.
  11. Eu tenho uma ArrayDeque, que contém 1089 blocos. Queria um calculo para fazer um Thread.sleep() EX: Um Thread.sleep() que vai setar todos os blocos em 5 minutos.
  12. Não não. Por exemplo, eu abro minha aplicação em console java -jar ForBar.jar Aí tem um console, eu queria verificar oque a pessoa digitou nesse "console".
  13. Queria um exemplo de scanner em segundo plano. (Tudo que eu digitar no console passa por esse scanner para ver oquê eu digitei).
  14. Quer estudar um código de um plugin? Ai você ver que está protegido. Com o Krakatau, isto é possível! (Quebra Proteção ProGuard/Allatori/Disassembler). Aqui está a página do github: https://github.com/Storyyeller/Krakatau O Método de uso está na página do Github. (Use algum tradutor). (precisa do python). The treta has been planted
  15. Eu já fiz uma sugestão antes: http://gamersboard.com.br/topic/28830-minelua/ Mas, sei lá, eu dei uma desanimada para continuar atualizando, mais em breve sai novas atualizações (usando minha fork.)
  16. Se você usa o servidor em offline-mode (pirata) as Skins não irá aparecer. Para corrigir, use o SkinsRestorer
  17. Aqui está um método que descobre portas abertas em um IP. Para que usar? Você quer quer o IP de testes que seu amigo (@@MrPowerGamerBR) nunca passa para você, isso serve para achar a porta do servidor de testes. public static void main(final String[] args) throws MalformedURLException, IOException { final boolean MineCraftServer = true; final String ip = "IP_DO_SERVIDOR"; if (!MineCraftServer) for (int i = 25565; i < 30000; i++) try { final URL u = new URL("http://" + ip + ":" + i); final HttpURLConnection huc = (HttpURLConnection) u .openConnection(); huc.connect(); System.out.println("A Porta " + i + " está aberta!"); } catch (final IOException e) { } else for (int i = 25565; i < 30000; i++) { final JSONObject obj = DescobrirPorta.readJsonFromUrl( "http://mcapi.ca/query/" + ip + ":" + i + "/info"); final boolean on = obj.getBoolean("status"); if (on) System.out.println( "O Servidor " + ip + ":" + i + " está online!"); } } private static String readAll(final Reader rd) throws IOException { final StringBuilder sb = new StringBuilder(); int cp; while ((cp = rd.read()) != -1) sb.append((char) cp); return sb.toString(); } public static JSONObject readJsonFromUrl(final String url) throws IOException, JSONException { final InputStream is = new URL(url).openStream(); try { final BufferedReader rd = new BufferedReader( new InputStreamReader(is, Charset.forName("UTF-8"))); final String jsonText = DescobrirPorta.readAll(rd); final JSONObject json = new JSONObject(jsonText); return json; } finally { is.close(); } } (A opção MineCraftServer true/false, serve para pegar direto da API e verificar se o servidor com a determinada porta está online.)
  18. -- Configuração: -- Quantos de vida irá recuperar a sopa? (Multiplique por 2). local restore = 3.5 * 2 function onEnable(plugin) plugin:setName("Sopa") plugin:setVersion("1.0.0") plugin:setDescription("Sopa") plugin:hookEvent("PlayerInteractEvent", onSopa) end -- Código function onSopa(event) if(event:getAction() == getAction("RIGHT_CLICK_AIR") or event:getAction() == getAction("RIGHT_CLICK_BLOCK")) then if(event:getPlayer():getItemInHand():getType() == getMaterial("MUSHROOM_SOUP")) then if(event:getPlayer():getHealth() < event:getPlayer():getMaxHealth() and event:getPlayer():getHealth() > 0) then if(event:getPlayer():getHealth() < event:getPlayer():getMaxHealth() - restore + 1) then event:getPlayer():setItemInHand(createItem("BOWL"):create()) event:getPlayer():setHealth(event:getPlayer():getHealth() + restore) else if event:getPlayer():getHealth() < event:getPlayer():getMaxHealth() and event:getPlayer():getHealth() > event:getPlayer():getMaxHealth() - restore then event:getPlayer():setItemInHand(createItem("BOWL"):create()) event:getPlayer():setHealth(event:getPlayer():getMaxHealth()) end end end end end end Como não tem Área MineLua, postei aqui mesmo. (quando criarem, mova para a área correta.) (Postei na área errada, cliquei em jogos ;-
  19. Sabe oque é Skript? Então, é um Skript, porém mais leve, e os códigos do Script, devem estar na linguagem de programação .lua. É mais leve.
  20. O Plugin da Bukkit, nunca mais foi atualizado. Então, acabei criando uma versão Reloaded, com mais funções, e mais funcionalidades. Oque há de novo? Novos Métodos: getPlayerByName(nome) - Pega um jogador pelo nome, e retorna o jogador. reloadServer() - Recarrega o Servidor createItem("TIPO") - Cria um item. addItem(p,i) - Adiciona um Item ao inventário do jogador [i = Item] [p = jogador] getMaterial(tipo) - Pega o Material do Item createInventoryName(nome, tamanho) - Cria um Inventário (com nome) createInventorySize(tamanho) - Cria um inventário com tamanho. createCooldown(p, segundos) - Cria um Cooldown hasCooldown(p) - Verifica se o jogador tem Cooldown. getCooldownTime(p) - Pega o tempo de Cooldown (retorna automaticamente xx:xx) teleportPlayer(mundo,x,y,z) - Teleporta o Jogador para uma coordenada. teleportRandomLocation(mundo, xMin , zMax , ignorarAgua) - Teleporta para uma localização random. chance(porcento) - Verifica se tem chance para tal ação. Optimizações: - Suporte ao Skript removido. (não tinha nada de útil) - Correções de Bugs. Exemplo de ALGUNS códigos: - Cria um Cooldown: function command(player, args) if(hasCooldown(player)) then player:sendMessage("Aguarde o Cooldown Terminar!" .. getCooldownTime(player)) return end local Cooldown = createCooldown(player , 7) player:sendMessage("Cooldown Criado!") end - Cria um Inventário e abre automaticamente: function command(player, args) local inventario = createInventoryName("teste" , 54) player:openInventory(inventario) end - Cria um Item e adiciona automaticamente. function onCommand(player , args) local item = createItem("DIAMOND"):setItemName("gg"):create() addItem(player,item) end - Chance function onCommand(player , args) local chance = chance(50) if chance then player:sendMessage("Tem Chance!") else player:sendMessage("nao tem") end end - Teleporte function onCommand(player , args) local tp = teleportPlayer("world" , 500 , 120 , 450) player:teleport(tp) end - Teleporte Random: function onCommand(player , args) local tp = teleportRandomLocation("world" , 500 , 450 , true) player:teleport(tp) end Bom, é isso, em breve tutorial completo como utiliza este plugin. (to esperando alguém criar uma área/cargo de MineLua). Download: https://github.com/Kurimatzu/MineLua2/releases
  21. Pelos testes, o MineLua não laga. Ele carrega arquivos .lua, e sim, dependendo o seu código, pode lagar. Tudo depende do código digitado.
  22. function onEnable(plugin) -- Nome do Plugin plugin:setName("Exemplo") -- Versão do plugin plugin:setVersion("1.0.0") -- Descricao do plugin plugin:setDescription("Apenas um exemplo") -- PlayerJoinEvent = Quando um jogador entrar -- onJoin = Método plugin:hookEvent("PlayerJoinEvent", onJoin) end function onJoin(event) -- Remove a mensagem de join. event:setJoinMessage(nil) -- Pega o Jogador local player = event:getPlayer() -- Envia uma mensagem para o jogador player:sendMessage("1.5.Idade.da.pedra") end Agora, se você utiliza minha fork, você também poderá adicionar itens no inventário do jogador (em breve, o download da fork estará disponível, estou arrumando algumas coisas.) -- Dar Itens para o jogador local List = luajava.new(luajava.bindClass("java.util.ArrayList")) List:add("Lore marota!") local item = createItemWithLore("Nome","DIAMOND" , List) addItem(player,item) Você poderá ver todos os Eventos na página do bukkit: https://hub.spigotmc.org/javadocs/bukkit/
×
×
  • Criar Novo...