Jogador

Jogador é um conceito importante no jogo. Em Craftland, atribuímos à entidade jogador funções básicas, como saúde, movimento e mochila, por padrão. Se você quiser expandir ainda mais a função, o atributo, a aparência ou o desempenho das ações da entidade jogador, também pode usar o editor de primitivas para expandir a lógica. Este artigo apresentará o importante conceito de jogador sob dois aspectos: primitiva de jogador e script de jogador.

Os jogadores existem no jogo como instâncias de entidades de jogador, o que significa que as edições no módulo serão mapeadas para cada instância de entidade de jogador criada e, para scripts, é importante prestar atenção se o escopo da ação é “um jogador específico” ou “todos os jogadores”.

Configurações da Entidade do Jogador

O jogador padrão criado no CraftLand é basicamente o mesmo do FF, com algumas funções básicas, como mover, pular, pegar e atirar. Portanto, as operações realizadas pelo jogador em nosso jogo FF podem ser reproduzidas no CraftLand.

No CraftLand, não podemos modificar diretamente as propriedades da entidade do jogador, nem visualizar diretamente os componentes montados na entidade do jogador. No entanto, podemos encontrar algumas configurações correspondentes à entidade do jogador nas configurações.

As opções de configuração do jogador são divididas em 3 categorias: básicas, configurações de habilidade e configurações de animais de estimação.

Base

Algumas configurações básicas de atributos da entidade do jogador.

imagem-20241121171440547

Limite de vida: Valor máximo de saúde do jogador, variando de 20 a 1000.

Limite de EP: o EP máximo do jogador, variando de 0 a 200.

Proporção de EP inicial: O EP inicial de propriedade do jogador = proporção de EP inicial * limite superior de EP, variando de 0% a 100%.

Conversão rápida de EP: Se deve habilitar a conversão rápida de EP para HP.

Munição ilimitada: Se deve habilitar munição ilimitada.

Parede de Gelo Infinita: Se deve abrir a parede de gelo infinita.

Arremessos ilimitados: Se deve habilitar arremessos ilimitados.

Taxa de dano: O dano causado pelo jogador é dividido em dois tipos: o menor é 0% e o maior é 500%. 0% significa que nenhum dano será causado.

Taxa de lesão: A porcentagem de dano que o jogador sofrerá quando estiver lesionado, com um mínimo de 0% e um máximo de 500%. 0% significa nenhum dano.

Velocidade de movimento: A proporção da velocidade de movimento. Se for menor que 100%, é mais lento que a velocidade padrão. Se for maior que 100%, é mais rápido que a velocidade padrão. O intervalo é de 50% a 500%.

Altura do salto: A proporção de escala da altura do salto. Se for menor que 100%, é menor que a altura padrão. Se for maior que 100%, é maior que a altura padrão. O intervalo é de 10% a 500%.

Configurações de Habilidade

Nas configurações de habilidades, podemos controlar o status de alternância entre habilidades passivas e ativas. Se o nosso jogo proibir o uso de habilidades, podemos desativar diretamente o sistema de habilidades. Assim, todos os jogadores do mundo não poderão usar habilidades, mesmo que estejam equipados com elas.

imagem-20241122104409773

Habilidades passivas: Se as habilidades passivas devem ser habilitadas.

Habilidades Ativas: Se as habilidades ativas devem ser habilitadas. Se desabilitadas, o tempo de recarga de todas as habilidades não poderá ser ajustado.

Tempo de resfriamento: O limite inferior do tempo de resfriamento é 0%, e o limite superior é 100%. 0% significa que não há tempo de resfriamento, e 100% é calculado de acordo com o tempo de resfriamento da habilidade em si.

Configurações do animal de estimação

Nas configurações do animal de estimação, podemos alterar o status de ativação do sistema do animal de estimação.

imagem-20241122111147660

Pet: Se o sistema de animais de estimação deve ser habilitado.

Habilidades para animais de estimação: Habilitar ou não as habilidades para animais de estimação.

Script do Jogador

O script do player que criamos é, na verdade, um componente montado na entidade do player, mas no CraftLand não podemos visualizar diretamente todos os componentes montados em uma determinada entidade.

O jogo não criará um script de jogador por padrão, então primeiro precisamos abrir um script de jogador.

Primeiro, clicamos em Configurações no canto superior esquerdo da interface para abrir a borda de configurações, selecionamos Configurações de jogo e clicamos em Editar regras de jogo para entrar na interface de configurações.

imagem-20241121142412976

Após entrar na interface de configurações, selecione a categoria Regras do jogador em Configurações de propriedade e clique em Script do jogador para abrir o script do jogador.

imagem-20241121143424135

SeaTalk_IMG_20241121_154847

Quando escrevemos o bloco primitivo no script do jogador, o script do jogador será montado automaticamente na entidade do jogador. Todas as instâncias da entidade do jogador criadas no início do jogo terão a nova lógica e funções que criamos.

Gráficos relacionados

Como o script do player é anexado a cada instância da entidade do player, esteja ciente de que eventos globais podem ser disparados diversas vezes sem intenção.

Normalmente, expandimos e reescrevemos a entidade do jogador no script do jogador. Por meio do acionamento de eventos privados, podemos limitar o escopo do objeto acionado:

imagem-20241121164231670

Exemplo

Exemplo de lógica: depois de matar um jogador, o assassino receberá uma M60.

Primeiro, precisamos saber que existem dois eventos “quando o jogador causa uma morte”, eles são eventos privados de script do jogador e eventos públicos globais.

imagem-20241122155234399

imagem-20241122155242226

Quando adicionamos a mesma lógica a esses dois eventos,

Evento privado ‘Quando um jogador causa uma morte’:

imagem-20241122155703305

O evento privado “Quando um jogador causa uma morte” só será acionado quando a instância da entidade do jogador atual causar uma morte.

Adicionar um item adiciona um M60 quando esta instância de entidade causa uma morte. Esta entidade é quem causa a morte, portanto, o requisito pode ser atendido.

Na edição real, você também precisa considerar se a arma M60 está completa ao adicioná-la.

Evento público ‘Quando um jogador causa uma morte’:

imagem-20241122155734121

Por exemplo, se você usar o evento público “Quando um jogador mata”, todos os jogadores receberão uma M60 quando qualquer jogador matar. Recomenda-se inserir uma lógica semelhante no script global.

Portanto, não é recomendado usar eventos públicos para criar lógica em alguns casos.