Ir para conteúdo
  • Cadastre-se

KhayrusS

AmigosL2JBR
  • Total de itens

    3.544
  • Registro em

  • Última visita

  • Prêmios recebidos

    13

Tudo que KhayrusS postou

  1. Depende de como foi feito. Se quem fez disse que é pra substituir há uma grande chance de não conseguir adicionar. Sim, provavelmente precise. Por isso falei que precisaria alterar o Wyvern Manager e o Item handler.
  2. Posta as configurações.
  3. Esse é outro erro. O erro que tá dando é que o servidor não reconhece o MaterialType "leather", provável que tenha que colocá-lo em maiúsculo. De qualquer forma, copia o xml de um item existente e altera o ID, nome e os status.
  4. Está dando erro no "OperateType" das skills, tenta usar <set name="operateType" val="P" />
  5. Sim, é possível adicionar sem alterar os originais. Em teoria, o processo é o mesmo que adicionar um NPC qualquer. Além disso é necessário alterar o Wyvern Manager e os Item Handlers para sumoná-los
  6. O Auth server é a porta de entrada do teu servidor. Se ele não for exposto, não tem como logar. Aparentemente, pela configuração que postou, no seu servidor não tem como configurar IP externo e IP interno para o auth server. tenta colocar AuthServerHostName = 0.0.0.0 Lembrando que se tiver acessando o servidor a partir da rede interna, o cliente tem que está configurado com o IP do servidor (192.168.1.180). Se for da rede externa, tem que está configurado com o seu no-ip. Vale à pena checar também se as portas estão realmente abertas: https://canyouseeme.org/ Se mesmo com as configurações de firewall e portas corretas, elas aparecerem como fechadas, tenta falar com teu provedor. Alguns provedores de Internet só liberam as portas caso o cliente peça.
  7. Aqui você deve configurar o seu ip ou hostname externo.
  8. Não sei se tem algum tutorial, mas pelo que lembro é algum problema com o Themida. Tenta procurar uma system Gracia Part 2 "Unpacked Themida"
  9. KhayrusS

    logar na mesma rede

    Você precisa configurar o internal hostname com o ip interno do seu PC. Como não deu mais informações, fica difícil te direcionar como fazer.
  10. KhayrusS

    ERRO LS E GS

    Usa outra versão do MySQL. A versão 6.0 foi descontinuada.
  11. Esse comportamento, geralmente, acontece quando o protocolo de comunicação entre o cliente e o servidor não está correto. Os pacotes enviados cliente <-> servidor têm uma estrutura bem definida. Caso o cliente esteja esperando uma quantidade de bytes e o servidor envia uma diferente, pode acontecer esse comportamento, assim como também os bytes serem enviados em outra ordem. O provável que esteja acontecendo é que sua system não é compatível com seu servidor. Se estiver utilizando uma system do Gracia Part 2, provavelmente é Bug no servidor. Pelo comportamento seria na classe "UserInfo.java" (pode variar dependendo de qual distribuição você usa)
  12. Alguma aplicação está utilizando a mesma porta do Loginserver (9014). Você pode utilizar outra porta no loginserver ou fechar essa aplicação.
  13. KhayrusS

    Classic (Zaken)

    Há alguns dias venho analisando o código da Mobius. Embora ainda não seja de certeza, estou atualizando aos poucos com base do gameserver com a versão 7 signs
  14. Basicamente: os arquivos da system que terminam com o código de linguagem, por exemplo se a system for em inglês, esses arquivos terminam com -en ou -eu (caso seja europeu) o arquivo localization os arquivos da pasta L2Text Provavelmente algumas texturas
  15. KhayrusS

    Java e mysql

    Não sei te dizer com certeza, mas mesmo que consiga instalar, a probabilidade de ocorrer erros é grande, já que não é suportado oficialmente. Também não sei te informar, acredito que o suporte deles pode te auxiliar melhor com esse caso. Eu trocaria o sistema operacional, visto que o suporte dele acabou em 2010.
  16. @Grundor Obrigado pelas observações 😊. Ainda tenho algumas modificações pra fazer no tópico, mas meu tempo anda curto pra fazer algo elaborado que acrescente um pouco de valor. Assim que fizer o próximo commit adicionarei 😉
  17. KhayrusS

    Java e mysql

    De acordo com a oracle a versão mais antiga suportada pelo Java 8 é o Windows Server 2008 R2. Olhei o openJdk e aparentemente também é suportada a mesma versão
  18. Basicamente é isso que precisa fazer: --- L2J_SunriseProject_Core/java/l2r/gameserver/model/actor/instance/L2PcInstance.java (date 1551288054000) +++ L2J_SunriseProject_Core/java/l2r/gameserver/model/actor/instance/L2PcInstance.java (date 1551288054000) @@ -5771,6 +5771,7 @@ { if ((getSiegeState() > 0) && (targetPlayer.getSiegeState() > 0) && (getSiegeState() != targetPlayer.getSiegeState())) { + increasePvpKills(target); final L2Clan killerClan = getClan(); final L2Clan targetClan = targetPlayer.getClan(); if ((killerClan != null) && (targetClan != null)) Porém desse modo, apenas os participantes de lados opostos da siege ganham PvP . Caso seja qualquer player, participante ou não, é necessário modificar o código pra ao invés de verificar o 'siegeState', verificar se está na zona de siege
  19. KhayrusS

    Portas

    Sim, as portas precisam ser abertas para acesso externo
  20. KhayrusS

    Portas

    Apenas as portas do loginserver e gameserver já é suficiente para os players logarem.
  21. Probably ur code is a bit different. So u need to figure out based on what was said here how ur code works. For instance, on the Rev 1132 there is a class TimeStamp inside of the class L2PCInstance, but on 1073 looks like don't have it. Thats why this error: cannot find symbol
  22. KhayrusS

    Classic (Zaken)

    Há um tempo venho utilizando uma source antiga L2-Script (26360) para estudo, com o objetivo de utilizar o mmocore assíncrono. Como não vejo projetos Classic open source por aí, resolvi compartilhar. GITHUB Requisitos Java 11 Mysql 8 Atualmente estou em um estágio de melhoria geral do código, otimizações de recursos e atualização de tecnologia. Basicamente o que está sendo feito: Atualização para Java 11 (Será atualizado assim que novas releases forem saindo); Atualização do mmocore; Utilização de sistema de módulos (JPMS - Disponível a partir do Java 9); Atualização de dependências; Melhoria na camada de acesso a Dados (Tanto no Database como nos arquivos) Um exemplo de melhoria na camada de acesso a dados: Antes private void globalRemoveItems(){ int itemToDeleteCount = 0; StringBuilder itemsToDelete = new StringBuilder(); Connection con = null; PreparedStatement statement = null; ResultSet rset = null; try { con = DatabaseFactory.getInstance().getConnection(); statement = con.prepareStatement("SELECT item_id FROM items_to_delete"); rset = statement.executeQuery(); while(rset.next()) { if(itemsToDelete.length() > 0) itemsToDelete.append(","); itemsToDelete.append(rset.getInt("item_id")); itemToDeleteCount++; } DbUtils.closeQuietly(statement, rset); statement = con.prepareStatement("DELETE FROM items_to_delete"); statement.execute(); } catch(SQLException e) { _log.error("Error while select items for global remove:", e); } finally { DbUtils.closeQuietly(con, statement); } if(itemsToDelete.length() > 0) { try { con = DatabaseFactory.getInstance().getConnection(); statement = con.prepareStatement("DELETE FROM items WHERE item_id IN (?)"); statement.setString(1, itemsToDelete.toString()); statement.execute(); DbUtils.closeQuietly(statement); statement = con.prepareStatement("DELETE FROM items_delayed WHERE item_id IN (?)"); statement.setString(1, itemsToDelete.toString()); statement.execute(); } catch(SQLException e) { _log.error("Error while global remove items:", e); } finally { DbUtils.closeQuietly(con, statement); } } } Depois public interface IItemsDAO extends DAO { @Query("WITH ids AS (SELECT item_id FROM items_to_delete) DELETE i, id, ide FROM items i JOIN items_delayed id ON i.item_id = id.item_id JOIN items_to_delete ide ON i.item_id = ide.item_id WHERE i.item_id IN (SELECT item_id FROM ids)") int deleteGlobalItemsToRemove(); } Quanto as correções de bugs, poucos bugs foram corrigidos, apenas os que encontrei enquanto implementava alguns dos pontos citados, pois não tenho tanto tempo disponível para testar e corrigir. Então no primeiro momento estou apenas focando nos pontos citados. Ficou interessado e quer ajudar ? Fiquei Entra em contato comigo pra gente conversar, ou pode fazer um fork do projeto e fazer pull request Fiquei, mas não tenho conhecimento em Java Toda a ajuda é bem vinda, tem muita coisa pra ser testada/corrigida Existem muitos status de items, skills, htmls, xmls para serem corrigidos É tentando que se aprende 🙂 []'s
  23. Quando as skills vão ser salvas há uma condição que se aplica quando o efeito ainda está em uso: O problema é que nessa condição o timestamp da skill é procurado utilizando o método getReuseHashCode: Mas o método addTimeStamp está utilizando o método getId para salvar a informação: Acredito que modificando-o para utilizar o getReuseHashCode esse problema não irá mais acontecer private void addTimeStamp(final TimeStamp T) { ReuseTimeStamps.put(T.getSkill().getReuseHashCode(), T); }
×
×
  • Criar Novo...