Ir para conteúdo

machinearm

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Obrigado
    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

     
     

Informação Importante

Confirmação de Termo