Ir para conteúdo
Banner com Efeitos

Oque achou 4 votos

  1. 1. Esse tutorial te ajudou?

    • Sim
      4
    • Não
      0

Por favor faça o login ou crie uma conta para votar nesta enquete.

Featured Replies

Postado
  • Administrador
  • Este é um post popular.

Tutorial: Criando um Sistema de Enviar efeito com OTClient.

2019283569_Animao.thumb.gif.4afd0f60972190ea155226ac8d4bd23f.gif
 

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:

  1. Ambiente de Desenvolvimento:

    • Certifique-se de ter um ambiente de desenvolvimento configurado com OTClient Edubart.
  2. Conhecimento Básico em Lua:

Familiaridade com a linguagem de script Lua.

 

Passo 1: Estrutura do projeto

 

Organize seu projeto conforme abaixo:

OTC / MODS
image.thumb.png.23c9085dd86380b93a7ccd9e2dd6e96a.png


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)

 

Mostrar conteúdo oculto




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
 

Mostrar conteúdo oculto

 

Passo 4: Registrando o novo Mod

Agora podemos registrar e iniciar nosso modulo usando o arquivo de configuração

game_pass.otmod
 

Mostrar conteúdo oculto


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
 

Mostrar conteúdo oculto

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

 

Mostrar conteúdo oculto

 

  • Under mudou o título para [Tutorial Definitivo] Como usar ExtendedOpcodes OTC (Client-Side | Server-Side) + JSON Encoder
Postado
  • Autor
  • Administrador
  Em 16/11/2023 em 00:38, GM Vortex disse:

Muito obrigado, era isso que eu precisava para entender sobre opcode. Agora entendo muito bem. Obrigado e que Deus abençoe.

Também demorei a entender na verdade porque pegamos de fontes ruims e acaba que mais confundi do que ajuda a entender, no entanto esse simples sistema garante ao scripter a possiblidade de criar novas funcionalidades usando como base!

Fico feliz que tenha ajudado a entender melhor sobre o assunto!

 

Postado


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.

  • 1 year later...
  • Under pinned e featured this tópico

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo