12-05-2021 01:45 AM
Um mapa contém muitos objetos, incluindo casas, estradas, árvores, mas também semáforos e outras decorações. O jogo vanilla permite o uso de "admirers" para dar certo comportamento aos objetos. Um bom exemplo é o
O Seasons adiciona um pouco mais desses "admirers" ao jogo, para permitir objetos sazonais, como um churrasco no verão ou uma lareira no inverno.
Como os admirers e objetos funcionam
Admirers são classes de objetos com um método onCreate. Você provavelmente já viu o termo onCreate antes. O método é chamado durante o carregamento de um mapa ou colocável se for especificado para um objeto.
O uso genérico de um admirer é o seguinte:
Padrões: compatibilidade vanilla
Ao testar seus admirers, você notará que, sem o Seasons em execução, os objetos não mudam de visibilidade. Isso ocorre porque o script para fazer isso não está disponível. Se um jogo encontrar uma chamada de script onCreate que não pode cumprir porque a classe não está disponível, ele será ignorado. Isso significa que não mudará o estado.
Se quiser que um objeto fique visível em um mapa quando o Seasons não estiver ativo, defina-o como visível no Giants Editor. Um bom exemplo é um churrasco. Se você quiser escondê-lo, como um boneco de neve, defina-o como invisível.
Existe mais um problema: as colisões. Definir um objeto invisível não desativa sua colisão. Isso ocorre por design. A solução aqui é simples:
A partir das temporadas 1.0, existem três objetos que podem ser usados por mapas. Eles são detalhados a seguir.
Para cada admirer é especificado o nome da classe, a ser utilizado no atributo
Se você está faltando alguma coisa ou quer algo especial, faça seus próprios objetos ou peça à equipe que os adicione em uma versão futura.
Visibilidade por temporada
Faça um objeto aparecer em uma ou mais temporadas, enquanto o esconde nas outras temporadas. Por padrão, o objeto é invisível para todas as estações.
Visibilidade para neve
Para criar um boneco de neve ou montes de neve visuais, você pode usar o
Não é possível congelar um lago. No entanto, é possível fazer com que pareça que está congelado, adicionando um plano logo acima da água com uma textura de gelo congelado. Em seguida, use o admirer
Certifique-se de definir o plano invisível para que ele não apareça quando não estiver usando o Seasons.
Notas
Seasons desativa as máscaras de colisão ao esconder os objetos, ao contrário dos admirers de baunilha. Observe, entretanto, que isso não funciona ao usar um admirer em um grupo de transformação contendo nós com colisões.
Você pode usar vários admirers juntos usando grupos de transformação. Certifique-se de que o mais restritivo esteja no nó real, conforme a nota acima. Um exemplo é um churrasco que só é visível no verão, quando o sol brilha.
Nightlight2
: ele torna o objeto visível durante a noite e invisível durante o dia. Outro exemplo é o SunAdmirer
, que torna um objeto visível apenas quando existe sol. (É invisível com mau tempo ou à noite.)O Seasons adiciona um pouco mais desses "admirers" ao jogo, para permitir objetos sazonais, como um churrasco no verão ou uma lareira no inverno.
Como os admirers e objetos funcionam
Admirers são classes de objetos com um método onCreate. Você provavelmente já viu o termo onCreate antes. O método é chamado durante o carregamento de um mapa ou colocável se for especificado para um objeto.
O uso genérico de um admirer é o seguinte:
- Selecione o objeto
- No editor de atributos, adicione um novo atributo use do tipo
script
.
- Nomeie o atributo
onCreate
- Dê ao atributo um valor na forma de
modOnCreate.<admirer class>
, comomodOnCreate.IcePlane
- Adicione quaisquer atributos que são usados pelo admirer usado.
Padrões: compatibilidade vanilla
Ao testar seus admirers, você notará que, sem o Seasons em execução, os objetos não mudam de visibilidade. Isso ocorre porque o script para fazer isso não está disponível. Se um jogo encontrar uma chamada de script onCreate que não pode cumprir porque a classe não está disponível, ele será ignorado. Isso significa que não mudará o estado.
Se quiser que um objeto fique visível em um mapa quando o Seasons não estiver ativo, defina-o como visível no Giants Editor. Um bom exemplo é um churrasco. Se você quiser escondê-lo, como um boneco de neve, defina-o como invisível.
Existe mais um problema: as colisões. Definir um objeto invisível não desativa sua colisão. Isso ocorre por design. A solução aqui é simples:
- Para objetos que você deseja ocultar quando o Seasons não está ativo:
- Adicionar um novo atributo de usuário denominado
collisionMask
(inteiro)
- Coloque o valor da máscara de colisão decimal do objeto (como 255 para 0xff)
- Em seguida, defina a máscara de colisão real para o objeto nos atributos como 0.
- Isso faz com que o jogo carregue sem colisão e, em seguida, Seasons ativará a colisão quando estiver visível.
- Adicionar um novo atributo de usuário denominado
- Para objetos que você deseja mostrar quando o Seasons não está ativo:
- Não há necessidade de fazer nada de especial.
- Não há necessidade de fazer nada de especial.
A partir das temporadas 1.0, existem três objetos que podem ser usados por mapas. Eles são detalhados a seguir.
Para cada admirer é especificado o nome da classe, a ser utilizado no atributo
onCreate
. Além disso, quaisquer atributos para esse admirer são fornecidos, com um possível valor padrão. Se você omitir o atributo, o valor padrão será usado.Se você está faltando alguma coisa ou quer algo especial, faça seus próprios objetos ou peça à equipe que os adicione em uma versão futura.
Visibilidade por temporada
Faça um objeto aparecer em uma ou mais temporadas, enquanto o esconde nas outras temporadas. Por padrão, o objeto é invisível para todas as estações.
- nome da classe:
modOnCreate.SeasonAdmirer
- atributos:
- máscara (inteiro, o padrão é 0)
- collisionMask (inteiro, o padrão são os objetos reais collisionMask)
- máscara (inteiro, o padrão é 0)
- Primavera: 1
- Verão: 2
- Outono: 4
- Inverno: 8
10
mostrará o objeto apenas no verão e no inverno.Visibilidade para neve
Para criar um boneco de neve ou montes de neve visuais, você pode usar o
SnowAdmirer
. Com ele você pode tornar um objeto visível quando há neve. Você também pode ocultar objetos se houver neve, adicionando o atributo hide
e marcando-o. Por último, você pode especificar o nível de neve necessário para que o objeto seja visível. Cada nível tem 6 cm de neve.- nome da classe:
modOnCreate.SnowAdmirer
- atributos:
- hideWhenSnow (booleano, o padrão é falso)
- minimumLevel (inteiro, o padrão é
1
)
- collisionMask (inteiro, o padrão são os objetos reais collisionMask)
- hideWhenSnow (booleano, o padrão é falso)
Não é possível congelar um lago. No entanto, é possível fazer com que pareça que está congelado, adicionando um plano logo acima da água com uma textura de gelo congelado. Em seguida, use o admirer
IcePlane
para torná-lo visível apenas quando o solo estiver congelado.Certifique-se de definir o plano invisível para que ele não apareça quando não estiver usando o Seasons.
- nome da classe:
modOnCreate.IcePlane
- atributos:
- collisionMask (inteiro, o padrão são os objetos reais collisionMask)
- collisionMask (inteiro, o padrão são os objetos reais collisionMask)
Notas
Seasons desativa as máscaras de colisão ao esconder os objetos, ao contrário dos admirers de baunilha. Observe, entretanto, que isso não funciona ao usar um admirer em um grupo de transformação contendo nós com colisões.
Você pode usar vários admirers juntos usando grupos de transformação. Certifique-se de que o mais restritivo esteja no nó real, conforme a nota acima. Um exemplo é um churrasco que só é visível no verão, quando o sol brilha.
MoBo: Asus Z170-a
Processador: Intel I7 6700k 4.0 ghz (4.2 ghz turbo boost)
Memória: 2x 8gb Corsair Vengeance LPX C14 2400mhz
Placa de Vídeo: MSI Ventus 3x RTX 3060 12gb
Fonte: Cougar CMX 850w Plus Bronze
WC: Cooler Master Masterliquid Lite 120
Processador: Intel I7 6700k 4.0 ghz (4.2 ghz turbo boost)
Memória: 2x 8gb Corsair Vengeance LPX C14 2400mhz
Placa de Vídeo: MSI Ventus 3x RTX 3060 12gb
Fonte: Cougar CMX 850w Plus Bronze
WC: Cooler Master Masterliquid Lite 120