Ir para conteúdo
  • Cadastre-se

João. VitorB.

Membro
  • Total de itens

    584
  • Registro em

  • Última visita

  • Prêmios recebidos

    5

Tudo que João. VitorB. postou

  1. E o MySQL? Posta a configuração do arquivo .ini para o pessoal tentar ajudar.
  2. Veja o erro com mais calma. Se você abrir o GameServer.java, você vai ver que no momento de instanciar o MapRegionTable (ou algo assim), provavelmente nessa classe ele tem uma String usando o caminho ".\data\xml\map_region.xml", mas ao usar isso, o arquivo não está sendo achado, ou seja, você precisa dar a nova direção do arquivo. Sobre os diretórios, quando você dá um build e gera o arquivo l2jserver.jar, normalmente ele fica na pasta "server/lib". E nessa pasta "server" normalmente tem as pastas configs, data, etc... Então todas as configurações de diretórios foram feitas pensando que a lib (l2jserver.jar) está na pasta "server/lib". Por isso que o erro gerado tenta fazer isto: ".\data\xml\map_region.xml". Ele está tentando dar um back, sair da pasta lib, entrar na pasta data, e assim por diante... Pra facilitar um um pouco, verifica em qual diretório está sendo executado a aplicação: https://stackoverflow.com/questions/4871051/getting-the-current-working-directory-in-java E a partir disso você consegue entender melhor o motivo pelo qual não está achando ".\data\xml\map_region.xml", etc...
  3. Na realidade os arquivos continuarão sendo compilados pelo Eclipse, a diferença é que você não vai precisar ficar executando o build toda hora. Para ligar o servidor pelo Eclipse basta alterar o diretório dos arquivos (tem muitas dessas configurações em arquivos .java, em String), porque agora as classes e arquivos de configurações estarão em locais diferentes. Interessante é criar uma estrutura para poder setar quando está em desenvolvimento e quando está em produção, assim você não precisa ficar alterando as configurações de diretórios a todo momento. Caso eu não esteja enganado, o "main" está no GameServer.java, basta dá um run, ver os erros de diretório e corrigir.
  4. João. VitorB.

    JAVA CODE

    Qual erro? Olhando por cima, não tenho porque o código do rapaz resultar em erro. Posta print do erro aí.
  5. É assim mesmo kkkk em Python eu vou ficar devendo, mas em Java seria assim: for(L2PcInstance member : player.getParty().getPartyMembers()) { member.teleToLocation(210989, 55033, -14886); } Se fosse em Java funcionaria perfeitamente, só tem que converter a sintaxe para Python.
  6. Está com o projeto no Eclipse? Deleta a lib Javolution do classpath do seu projeto, após isso você "refaz" o código que dependia do Javolution.
  7. Tenta algum desses dois jeitos. Assim: qn = "7000_VipTeleport" class Quest (JQuest) : def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr) def onAdvEvent (self,event,npc,player): party = player.getParty() if event: party = player.getParty() if not party: return "no-party.htm" if party.isLeader(player): if party.getMemberCount() != 3: return "only-two.htm" player.teleToLocation(210989, 55033, -14886) return "registered.htm" return event def onTalk (self,npc,player): st = player.getQuestState(qn) if not st : return "" return "20712-1.htm" QUEST = Quest(-1,qn,"Teleports") QUEST.addStartNpc(7077) QUEST.addTalkId(7077) E assim: qn = "7000_VipTeleport" class Quest (JQuest) : def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr) def onAdvEvent (self,event,npc,player): party = player.getParty() if event: party = player.getParty() if not party: return "no-party.htm" if player.getParty().isLeader(player): if party.getMemberCount() != 3: return "only-two.htm" player.teleToLocation(210989, 55033, -14886) return "registered.htm" return event def onTalk (self,npc,player): st = player.getQuestState(qn) if not st : return "" return "20712-1.htm" QUEST = Quest(-1,qn,"Teleports") QUEST.addStartNpc(7077) QUEST.addTalkId(7077) Caso dê errado, espera alguém que estude ou pratique Python ajudar aqui. Isso é apenas um erro de sintaxe, é simples.
  8. Isso é apenas um erro de sintaxe. Eu não sei Python por isso está dando esse erro, mas a lógica está correta. Tenta: if not party.isLeader(player): return "no-leader.htm"
  9. if not (party.isLeader(player)): return "no-leader.htm" Tenta agora.
  10. Qual projeto você está usando?
  11. Depois de: if party.getMemberCount() != 3: return "only-two.htm" adicione: if !party.isLeader(player): return "no-leader.htm" Agora crie o arquivo: no-leader.htm
  12. Pode ser que essa source que você colocou no eclipse esteja procurando essa instalação do jre1.8.0_162, que talvez você tenha atualizado o Java, mas seu projeto no eclipse não "atualizou" pela forma que está definido a versão do Java que vai usar. Se realmente for isso, indo nas configurações do projeto você resolve.
  13. Como assim quando fosse enviar o respawn_time? Porque se você quer fazer com que ele sempre fique nascendo entre 20:00 e 00:00 você pode desconsiderar o "envio" padrão de respawn_time, e fazer um "envio" random entre 20:00 e 00:00. Ou seja, não seria necessário a verificação, bastando apenas escolher uma hora random que ele irá nascer, entre 20:00 e 00:00. O boss sempre vai nascer entre as 20:00 e 00:00, então queremos uma hora random nesse intervalo. Você pode usar a classe Random para obter o número aleatório, a utilizado da seguinte forma: Random random = new Random(); random.nextInt(5); // gera um número aleatório entre 0 e 4. Isso é apenas um exemplo de como funciona. Mas você quer um número aleatório entre 20 e 23 (horas), e entre 0 e 59 (minutos). Ficaria assim: Random random = new Random(); random.nextInt(20 + random.nextInt(4)); // gera um int entre 0 e 3. Ou seja, se gerar 2, no fim, vai somar com 20, ficando 22 horas. random.nextInt(random.nextInt(60)); // gera um int entre 0 e 59. Ou seja, se gerar 20, 20 minutos. Nessas revisões sempre usam a classe Calendar para manipulação de datas. Se você tem um calendar: Calendar calendar = Calendar.getInstance(); // ao fazer um Calendar.getInstance() você está pegando a data, hora, minuto, segundo atual. e fizer: int hour = random.nextInt(20 + random.nextInt(4)); int minute = random.nextInt(random.nextInt(60)); calendar.set(Calendar.HOUR_OF_DAY, hour); calendar.set(Calendar.MINUTE, minute); Agora você tem a hora da forma que você queria. OBS: você tem que ver como funciona a respawn_time do boss, normalmente é em milésimo. Você pode obter os milésimos de calendar fazendo "calendar.getTimeInMillis();". Apenas com o que citei acima é possível fazer o que você quer. Qualquer coisa dê uma pesquisada. E boa sorte!
  14. Pode ser que o erro não esteja visível nessa exception, mas veja o que tem na linha 72 da classe CharacterCreate.java. E outra coisa, você mexeu nesse arquivo?
  15. Sim, me atrapalhei na hora de digitar, devido ao google indexar a empresa de forma fácil por esse nome que citei, como sua finalidade. Enfim, acho que usando o google ele achará fácil.
  16. Pelo o que entendi, assim como comentei anteriormente, a solução do Tayran está correta, porque muda apenas o que o player irá ver. Se o player equipou seu personagem, e tem velocidade de ataque full, 1600 como o criador do tópico mencionou, na realidade ele terá o dobro, no caso 3200. Solucionando o problema, passando a mostrar 1600, quando na verdade tem 3200.
  17. O nome da empresa que ele citou é esse: AdvExt64.
  18. Não sei de qual NPC se trata, e provavelmente deve ser na source essa edição. Sim, é possível verificar a grade do item, assim, evitando que o mesmo seja vendido. Sem mais informações sobre o NPC, não é possível ajudar.
  19. Deve ter ocorrido algum problema com a postagem/administração do fórum/regras ou algo assim. Mas pesquisa aí no google "[Файл] Шара lucera3 без привязки и ограничений" que você vai encontrar o download. O título é o mesmo "Lucera 3", porém não cheguei a baixar a revisão que postaram para dizer se é a mesma ou não.
  20. João. VitorB.

    Dedicado

    Além de fixar em localização, é preciso testar/pesquisar se a rota dessa empresa é boa (pelo menos para os principais provedores do Brasil). Porque as vezes é perto, como essa última máquina, mas por problemas de rotas, a outra do Canadá pode ter uma melhor latência.
  21. Imaginava que você simularia alguns resultados específicos para teste (por mais que seja muito trabalhoso), mas como realmente a roda, então não tenho mais o que falar kkkk ;)
  22. Sim, sim, concordo! Testar diretamente no eclipse e com debug economiza bastante tempo. Mas não referi a isso, me referi a interface gráfica do jogo que em alguns momentos é essencial acompanhar o teste realmente logado. Em alguns testes acho isso necessário, em outros não.
  23. Olá, pessoal! Há alguns dias estava realizando alguns testes, que de certa forma eram simples, mas nem sempre era possível rodar/simular o teste direto na source do projeto. Nesses dias sofri um pouco com CTRL C + CTRL V de lib. Então, fiz esse pequeno app que pega a lib compilada e joga diretamente na pasta que você usa para ligar o server. Sei que é possível colocar essa configuração diretamente no builder.xml, mas nem sempre queremos substituir a lib existente toda vez que compilamos. Sem contar várias outras possibilidades, porém dessa forma pra mim foi útil. Link da source: https://mega.nz/#!sGhBSALb!2wFyS2S2UET932pk2lmjvZG69DLqBkIjqQEkAzx1Gws Link de um zip, não sendo necessário compilar, apenas extrair: https://mega.nz/#!xfpi3AwI!YtEBA2Th0Hg11beZuc1C5E7tbuNUPOsskG-lKM2TuLY Como usar? Basta baixar o arquivo e extrair na pasta do servidor que você está testando. Exemplo: Normalmente dentro da pasta que ligamos o server temos a pasta de libs com o arquivo .jar "C:/server/libs/l2jserver.jar". Pasta que fica a lib após a compilação, só que dessa vez na source "C:/source/builder/l2jserver.jar". Como ficaria o arquivo config.properties? De acordo com o exemplo acima seria configurado da seguinte forma: file=C:/source/builder/l2jserver.jar moveTo=C:/server/libs/ É desligado o servidor para a substituição de lib. E em seguida ligamos novamente. Aconselho a criar um atalho do app Move Lib e deixar próximo do seu arquivo Start Game Server.bat. Assim como na print abaixo: Traduzindo, antes de clicar pra ligar o Game Server, basta dar 2 cliques no atalho Move Lib. Créditos: João. VitorB.
  24. Na primeira print você está "clicado" no package "com.l2jfrozen.gameserver.handler.voicedcommandhandlers", siga os passos: 1º: pressione CTRL + N 2º: digite "class" e clique em "next" 3º: digite o nome da classe (arquivo) 4º: clique em finish. Lembrando, como está clicado no package "com.l2jfrozen.gameserver.handler.voicedcommandhandlers", o arquivo será criado dentro dele, que no caso é uma pasta.
×
×
  • Criar Novo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.