Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 11/15/23 em todas áreas

  1. Tutorial: Criando um Sistema de Enviar efeito com OTClient. Neste tutorial, vamos criar um sistema simples de Enviar efeito no OTClient. Este sistema permitirá que os jogadores ativem um efeito especial e vejam uma janela ao clicar em um botão específico. Pré-requisitos: Ambiente de Desenvolvimento: Certifique-se de ter um ambiente de desenvolvimento configurado com OTClient Edubart. Conhecimento Básico em Lua: Familiaridade com a linguagem de script Lua. Passo 1: Estrutura do projeto Organize seu projeto conforme abaixo: OTC / MODS Passo 2: Criando a Interface Gráfica (OTUI) game_pass.otui Repare que em nossa interface nossos botões de ação entram no caminho do module e iniciam uma função que esta disponivel em nosso game_pass.lua (Client-Side) Passo 3: Criando funções Client-Side Agora com as funções criada podemos chamar elas de acordo com a necessidade em nosso arquivo de interface. Por exemplo a função effect() que foi chamada em nosso arquivo de interface.otui agora é criada aqui para mostrar o efeito ao jogador. game_pass.lua Passo 4: Registrando o novo Mod Agora podemos registrar e iniciar nosso modulo usando o arquivo de configuração game_pass.otmod Feito isso ja podemos ver nosso module no client e enviar opcodes através do gameprotocol e também receber o buffer para manipular os dados podemos utilizar : protocolGame:sendExtendedOpcode(14, "1") Basicamente oque estamos fazendo é armazenando o valor 1 na variaval 14 do ExtendedOpcode e futuramente podemos recuperar esse valor. Recuperamos esse valor em nosso server side data/creatuerscript/otc/game_pass.lua Verificando se o opcode é 14 se for 14 então fazemos x ação. Show, tendo isso em mente para que o nosso client-side consiga receber com sucesso o efeito enviado ao jogador então utilizamos Passo 5: Criando o Server-side responsavel por enviar o efeito correto ao jogador dependendo do opcode selecionado no nosso cliente. data/creaturescripts/otc/game_pass.lua Passo 6: Registrando o evento para evitar erros futuros! Para que tudo funcione corretamente sem erros é necessário registrar o evento no creaturescript.xml / login.lua creaturescript.xml <event type="extendedopcode" name="GamePass" script="otc/game_pass.lua" /> login.lua player:registerEvent("GamePass") Ótimo agora ao selecionar o menu recompensa o jogador recebera um efeito. Espero que tenha ficado claro como usar Opcodes/ExetendedOpcodes. Arquivos usados no tutorrial: OTC MODULE game_pass.rar Creaturescript game_pass.lua Vi muitos tutoriais desatualizado então resolvi trazer esse! Reparem que nesse caso passamos creature como parametro do buffer isso porque precisamos enviar um efeito no player. Melhorando a formatação com JSON Encoder
  2. Base PokeWish + Pokelight

    saito reagiu a ZenohXX por uma resposta no tópico

    1 ponto
    Olá, contextualizando, para quem não me conhece, por algum tempo trabalhei em um servidor de poketibia chamado Pokelight. Utilizamos a base, que compramos, do PokeWish parar criar nosso servidor Pokelight, mas com o tempo a staff acabou optando por tomar outros rumos, tanto profissionais quanto pessoais e acabou que não fazia mais sentido continuarmos com o projeto. Sabendo do potencial dessa base e da paixão que ainda tenho por poketibia, na esperança de que surja um servidor bacana com esta base, venho disponibilizar todos os arquivos do servidor. Vídeos do projeto Em breve farei alguns tutoriais e observações de como fazer o melhor uso possível dos arquivos e disponibilizarei mais recursos usados durante o projeto, além de dar suporte a solução de problemas aqui neste tópico. Utilize Ubuntu 20.04 para executar o servidor. Servidor: Link para download (Servidor Wish, cliente Wish, ferramentas e sources): https://drive.google.com/file/d/14Kl7Bw86Y9Cm1GPy-BUuDJSYqHBUCdGV Link para download (RME): https://drive.google.com/file/d/1bwAcuhkRxF2RZ_rcpvSOvxExrWE9oMDC Link para download (Cliente Pokelight): https://drive.google.com/file/d/1PFUp7grPXcV2enUp3Og7BO9LFnSjs5Il Link para download (Servidor Pokelight última versão): https://drive.google.com/file/d/1057SbzLui7uOXcxJMoc5yaa3_9F8O-os/ Scan: Arquivos passam de 700MB, não é possível fazer o scan.
  3. salve rapaziada, do TK, esses tempos eu tava a procura de um autoloot bom e eficiente, e como vocês devem saber, o autoloot usado nos scripts .lua são bem "pesados" o @Naze fez um excelentíssimo trabalho e disponibilizou um script de autoloot na source, porém como a vida é dificil, ele tem alguns bugs de função e um deles é no "remove autoloot" que quando o player digita "!autoloot remove, nome-do-item" nada acontece, eu decidi mexer e vim disponibilizar arrumado pra vcs. LEMBRANDO QUE 100% DOS CRÉDITOS SÃO AO @Naze porém se vc procurar no tópico dele ainda vai estar bugado, então resolvi deixar aqui certinho pra ajudar quem precisar. Link do tópico do naze: https://tibiaking.com/forums/topic/101086-otimizado-autoloot-in-sources-for-otx2-ou-menor/ caso alguém ja utilize esse autoloot e esteja com o problema de remover items do autoloot só ir em player.cpp e trocar isso: void Player::removeAutoLoot(uint16_t id) { if(checkAutoLoot(id)) { return; } AutoLoot.remove(id); } por isso: void Player::removeAutoLoot(uint16_t id) { if(!checkAutoLoot(id)) return; for(std::list<uint16_t>::iterator it = AutoLoot.begin(); it != AutoLoot.end(); ++it) { if((*it) == id) { AutoLoot.erase(it); break; } } } todos os créditos ao Naze, não sei se alguém mais fez esse código, mas como peguei do link citado acima que é post dele deixo aqui o autoloot 100% funcional direto nas sources
  4. Este tutorial é notável por sua clareza e abordagem passo a passo. Ele destaca a organização do projeto, explora a criação da interface gráfica (OTUI) e fornece uma implementação completa tanto no lado do cliente quanto do servidor. O autor demonstra cuidado ao incluir pré-requisitos e compartilha os arquivos usados no tutorial, tornando-o acessível e aplicável. Além disso, os toques finais sobre o registro de eventos e a melhoria da formatação com JSON Encoder contribuem para tornar este tutorial uma valiosa e compreensível contribuição para a comunidade de desenvolvimento.
  5. Muito obrigado, era isso que eu precisava para entender sobre opcode. Agora entendo muito bem. Obrigado e que Deus abençoe.
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo