Este artigo apresenta como editar metascripts.
Descrição da interface
- Canvas, a principal área de edição
- O arquivo que está sendo editado no momento
- Classificação de elementos, clique em qualquer elemento para expandir a interface de seleção de elementos
- Painel de propriedades
Descrição da classificação do elemento
-
As categorias de elementos gráficos correspondentes às regiões são:
-
Pesquisar: insira palavras-chave para pesquisar gráficos.
-
Comumente usados: os gráficos definidos como comumente usados estarão aqui.
-
Evento: será acionado quando as condições forem atendidas, o que é o início da lógica.
-
Condições: usado para controle de fluxo de script.
-
Comportamento: operação real em entidades\dados.
-
Módulos: Alguns comportamentos específicos de módulos.
-
Dados: Processamento de dados.
-
Variáveis: use variáveis existentes ou adicione variáveis.
-
Função: use ou crie uma função personalizada.
-
Chamada externa: chame funções personalizadas de outros scripts.
Uso de gráficos
Meta Descrição
A protuberância sob o primitivo indica que outros primitivos podem ser vinculados a ele.
A depressão acima do primitivo significa que outros primitivos podem ser vinculados antes deste primitivo, e ele só será executado depois que os primitivos precedentes forem executados.
Se não houver depressão na parte superior, mas uma protuberância na parte inferior, significa que o primitivo é o ponto inicial de um segmento lógico, geralmente um primitivo de evento.
Se não houver convexidade ou concavidade acima ou abaixo, significa que o primitivo é um dado e pode ser aplicado a outros primitivos.
Os primitivos terão parâmetros de entrada e saída:
Parâmetros de entrada:
O parâmetro de entrada está em branco por padrão, e o tipo marcado dentro dele é o tipo do parâmetro necessário.
O nome do script neste elemento também é um parâmetro obrigatório, mas usando o seletor de recursos, você pode selecionar diretamente o recurso correspondente no projeto sem considerar a correspondência de tipo.
Parâmetros de saída:
Os parâmetros de saída são quadrados coloridos por padrão, que podem ser arrastados para preencher as caixas de parâmetros de entrada necessárias:
Uso de primitivos
Depois de selecionar o elemento que deseja usar na categoria, clique ou arraste-o para a tela para usar o elemento correspondente.
Usando o primitivo com a ranhura na parte superior, você pode unir os dois primitivos:
A lógica de um grupo de primitivas é sempre de cima para baixo:
Para um grupo de elementos gráficos conectados em série, os parâmetros de entrada necessários precisam ser preenchidos com os dados apropriados para garantir o funcionamento normal do script. Variáveis inadequadas resultarão em erro. Clique no erro para ver a mensagem de erro:
Quando você arrasta um elemento, os elementos abaixo dele também serão arrastados:
Mantenha pressionada a tecla Ctrl e arraste para arrastar apenas o elemento atual, e os elementos abaixo serão conectados automaticamente aos acima:
Painel de Propriedades do Elemento
Clique no elemento e ele será selecionado.
No painel Inspetor à direita, você pode visualizar informações detalhadas do elemento selecionado, incluindo seu nome, descrição, nome do parâmetro, tipo de parâmetro, tipo de valor de retorno, descrição do valor de retorno, etc.
Controle de Fluxo
A ordem de execução padrão dos metascripts é de cima para baixo. Muitas vezes, você pode precisar de controle de fluxo de código para implementar lógica complexa.
Consulte o link a seguir para obter instruções detalhadas:
Variáveis
Três tipos de variáveis podem ser definidas ou modificadas no local da variável:
- Atributos de entidade global: atributos de componentes globais, suporte à personalização. Você pode obter ou modificar atributos de entidade global personalizados em qualquer script.
- Variáveis de script: variáveis usadas somente no script atual, outros scripts podem obtê-las e modificá-las externamente.
- Variáveis locais: variáveis que são usadas apenas no bloco de código atual e são inválidas fora do bloco de código.
Propriedades da entidade global
Propriedades de entidade globais podem ser adicionadas por meio das propriedades do componente de entidade nas configurações do componente.
Depois de criar o atributo de entidade global, você pode usar Obter Entidade Global para obter o atributo:
Use Definir Entidade Global para definir esta propriedade:
Variáveis de script
Na categoria Variáveis, há um botão Criar Variável:
As variáveis criadas dessa maneira são variáveis de script e são usadas para processamento de dados no script atual.
Em outros scripts, você pode obter e definir essa variável por meio de referências externas:
Observe que ao referenciar outros scripts externamente: ao obter e definir, você precisa especificar a entidade correspondente montada pelo script referenciado.
Variáveis locais
A primitiva de variável local permite que você crie variáveis que estão disponíveis apenas no bloco de código atual:
Você pode renomear uma variável clicando duas vezes no nome da variável:
Um bloco de código é uma sequência contínua de primitivas. Vale ressaltar que a primitiva “if-else” na classificação condicional é composta por dois blocos de código por padrão. Cada “if”, “else” e “else-if” é um bloco de código independente.
Funções personalizadas
Ambas as funções com e sem valores de retorno são suportadas em metascripts.
Uma função com valor de retorno não pode ser vinculada a outras entidades quando chamada. A entidade que faz a chamada é o valor de retorno.
Funções sem valores de retorno podem ser vinculadas a outras primitivas quando chamadas.
Esperar: Quando o primitivo for uma função assíncrona, ele será bloqueado e o próximo primitivo será executado após a execução da função assíncrona.
Execução: Se a primitiva for uma função assíncrona, ela não será bloqueada e a primitiva seguinte continuará a ser executada.
Uma função assíncrona é uma função que usa primitivas que realizam processamento assíncrono, como “esperar”.
Observação: O uso de primitivas assíncronas em funções com valores de retorno não é suportado.
Se você precisar de uma função assíncrona para retornar um valor, use uma função void e uma variável de saída.
Independentemente de uma função personalizada ter um valor de retorno ou não, você pode usar a variável de saída da função abaixo do primitivo de chamada para obter a saída.
Eventos personalizados
Além dos vários eventos fornecidos oficialmente, você também pode acionar a lógica por meio de eventos personalizados.
Clique no botão para executar o gerenciamento personalizado de eventos:

Clique com o botão direito na lista de eventos personalizados para gerenciá-los:
Clique no botão + para criar um novo evento personalizado:
Aqui você precisa definir o nome do evento personalizado, o tipo de objeto para o qual o sinal do evento personalizado será enviado e os parâmetros. Somente o tipo de objeto especificado pode receber o sinal que aciona o evento.
Envie um evento personalizado para todos os jogadores no início de seu turno
O jogador aciona a lógica após receber o sinal de evento personalizado
Busca e uso comum de elementos gráficos
Insira palavras-chave para pesquisar os elementos correspondentes
Na interface de seleção de elementos, clique com o botão direito do mouse em um elemento para defini-lo como um elemento usado com frequência e, então, você poderá usá-lo rapidamente na categoria de elementos usados com frequência.
Exemplo
Vamos usar um exemplo simples para demonstrar o uso do script:
O design é o seguinte:
- Cada jogador receberá uma M4A1 ao entrar no jogo.
- Quando um jogador atira, 1 ponto de saúde será deduzido de sua própria saúde cada vez que ele atirar.
Criar script:
- O requisito é global, 2. é para cada jogador. Portanto, você precisa montar um script globalmente e para cada jogador. O servidor precisa saber sobre a distribuição de adereços e a dedução de vida, então ambos são criados como scripts de servidor.
Editar script:
Para 1, cada jogador que entra no jogo precisa emitir adereços uma vez:
Para adicionar primitivos de adereços, três parâmetros são necessários: o alvo para adicionar adereços, os adereços a serem adicionados e o número de adereços a serem adicionados.
O alvo da adição de adereços é o jogador que acionou o evento ao entrar no jogo. O adereço é selecionado como M4A1 pelo gerenciador de recursos e a quantidade é 1.
Para 2, uma dedução de saúde precisa ser realizada toda vez que um tiro for disparado:
Descobrimos que os primitivos não têm sua saúde deduzida:
Preencher números negativos nos parâmetros da primitiva de recuperação de saúde não deduzirá a saúde
Entretanto, como um atributo do jogador, a saúde pode ser ajustada definindo propriedades:
Para definir o atributo primitivo, você precisa definir a entidade, definir o atributo e o valor e calcular vários parâmetros.
A entidade cujos atributos estão definidos é o jogador atual, então você pode usar essa entidade e clicar duas vezes na posição do parâmetro para preenchê-la rapidamente.
O valor do atributo que precisa ser alterado é o valor de integridade atual, selecione o valor de integridade atual.
O valor definido é o valor de saúde atual menos 1, então a saúde atual precisa ser obtida.
Use o método de subtração na classificação de dados para reduzi-los em um e adicionar parâmetros:
Você também pode usar a operação de definição de primitivos de atributos diretamente para implementar esta lógica:
Execute o depurador para visualizar os resultados:
Todos receberam uma M4A1.
Disparou 8 vezes e perdeu 8 pontos de saúde.
Ao disparar, o disparo é acionado sempre que um comando de disparo é executado. O disparo de uma arma de rajada antes de a arma ser abaixada é considerado um disparo, e este evento só pode ser acionado uma vez.