Esse tutorial é sobre algo não muito utilizado, porém muito interessante.
Como mudar o seu mapa no próximo round?
Como assim?
Isso mesmo, seu mapa muda no round seguinte.
Vamos fazer algo mais simples, apenas 3 caixas que se intercalam de round em round entrando em looping.
Você irá necessitar de:
1 Um mapa com luz e com Spawns;3 Caixas (func_wall_toggle);
1 func_door;
6 trigger_relay;
3 trigger_changetarget;
3 multi_manager.Começando, faça as 3 caixas, transforme-as em func_wall_toggle, que é basicamente igual à func_wall, mas ela, pode ser ativada e desativada, aparecendo e desaparecendo.
Coloque-as em algum lugar do seu mapa e configure-as:
De o nome da 1ª Caixa de box1, da 2ª de box2 e da 3ª de box3.
Marque nas 3 caixas no flags: Starts Invisible.
Agora, como você já deve conhecer, vamos criar a porta que reseta entidades.
Crie um brush de qualquer tamanho com a textura “{invisible”, transforme-o em func_door, coloque-o em algum lugar inacessível para players e configure-o:
Name: door_reset
Render Mode: Texture – some light
FX Amount: 255
Target: box_mm1
Esse brush será invisível e ativara o multi_manager que dará inicio à parte interessante da brincadeira =)
Crie 6 trigger_relay (2 para cara brush, um para toggle on e o outro para toggle off), que serão responsáveis por ativar e desativar as caixas, fazendo com que apareçam e com que desapareçam:
1ª Caixa:
1º Trigger_relay: (este vai “ligar” a primeira caixa, fazendo com que ela apareça):
Name: box1_on
Target: box1
Trigger State: 1 (on)
2º Trigger_relay: (este vai “desligar” a primeira caixa, fazendo com que ela desapareça):
Name: box1_off
Target: box1
Trigger State: 0 (off)
2ª Caixa:
3º Trigger_relay: (este vai “ligar” a segunda caixa, fazendo com que ela apareça):
Name: box2_on
Target: box2
Trigger State: 1 (on)
4º Trigger_relay: (este vai “desligar” a segunda caixa, fazendo com que ela desapareça):
Name: box2_off
Target: box2
Trigger State: 0 (off)
3ª Caixa:
5º Trigger_relay: (este vai “ligar” a terceira caixa, fazendo com que ela apareça):
Name: box3_on
Target: box3
Trigger State: 1 (on)
6º Trigger_relay: (este vai “desligar” a terceira caixa, fazendo com que ela desapareça):
Name: box3_off
Target: box3
Trigger State: 0 (off)
Agora que os relays estão a disposição, crie 3 multi_manager(entidade de ponto) que são feitos para desencadear várias entidades ao mesmo tempo e configure-os:
1º Multi_manager:
Name: box_mm1
Clique o SmartEdit e escreva respectivamente no key e no value(sem a “/”):
-box1_on/0.5
-box3_off/1.0
-boxchange1/1.5
2º multi_manager:
Name: box_mm2
Clique o SmartEdit e escreva respectivamente no key e no value(sem a “/”):
-box2_on/0.5
-box1_off/1.0
-boxchange2/1.5
3º multi_manager:
Name: box_mm3
Clique o SmartEdit e escreva respectivamente no key e no value(sem a “/”):
-box3_on/0.5
-box2_off/1.0
-boxchange3/1.5
Agora eu acho que você deve estar se perguntando:
Que é esse “boxchange”?
O boxchange, é o nome que eu dei para os 3 trigger_changetarget, que serão responsáveis para mudar o multi_manager que a “porta”(door_reset) irá desencadear:
1º Trigger_changetarget:
Name: boxchange1
Target: door_reset
New Target: box_mm2
2º Trigger_changetarget:
Name: boxchange2
Target: door_reset
New Target: box_mm3
3º Trigger_changetarget:
Name: boxchange3
Target: door_reset
New Target: box_mm1
Está tudo pronto para funcionar…
Porém, não é um tutorial de fácil explicação, então vou fazer um texto para que vocês realmente entendam:
No primeiro round, as 3 caixas estavam desligadas. O func_door acionou o primeiro multi_manager, que “ligou” a primeira caixa e mudou a target da func_door para o segundo multi_manager. Quando o segundo round começa, a func_door aciona o segundo multi_manager, que “liga” a segunda caixa, “desliga” a primeira e muda a target da func_door para o terceiro multi_manager. Quando começar o terceiro round, a func_door ativa o terceiro multi_manager, que “liga” a terceira caixa, “desliga” a segunda e muda novamente a target da func_door para o primeiro multi_manager, recomeçando o ciclo.
OBS.: nos rounds 4,7,10,13,16,19..., além da primeira caixa ser ligada e da target da func_door se modificada, a terceira caixa é desligada.