CRIANDO UM MAPA SINGLE PLAYER PARA HALF LIFE


Com esse tutorial você irá aprender como criar um mapa single player para Half Life.

Antes de por a mão na massa, vou descrever alguns termos que eu uso no tutorial:

Bom, vamos por a mão na massa.


PARTE 1 - UTILIZANDO AS ENTIDADES MONSTER_X E SCRIPTED_SEQUENCE

- Crie uma sala parecida com a mostrada na figura. ( mais tarde você saberá o porque ).

- Agora nós vamos adicionar uma entidade monster_scientist ( um Cientista ) no nosso mapa. Para fazer isso, selecione o botão de criacao de entidades ( você deve estar usando o FGD do Half Life ) e coloque uma entidade do tipo monster_scientist. Agora vamos setar as propriedades dessa entidade:

ATTRIBUTE VALUE DESCRIÇÃO
Name sci1 Nome da entidade ( será usado pelo scripted_sequence )
Body Glasses Skin do cientista

- Agora vamos utitlizar uma entidade que faça o cientista que nós acabamos de criar, executar um script. Para isso, usaremos a entidade scripted_sequence. A função dela, basicamente, é fazer o monstro se deslocar da posição inicial ( a entidade monster_scientist ) até a entidade scripted_sequence e quando ele chegar nessa entidade ele executa o script. Novamente, va no botão de criar entidades e crie uma entidade scripted_sequence em algum outro lugar do mapa ( deixe a base dela encostada no chão ). Vamos setar essa entidade

ATTRIBUTE VALUE DESCRIÇÃO
Name sci1_script Nome da entidade
Target
Evento que será acionado quando o script estiver terminado
Delay Before...   Tempo para que o evento acima seja acionado
Target Monster sci1 Nome do Monstro que essa entidade controlará
Action Animation wave Animação que o monstro fará quando chegar nessa entidade ( uma lista completa desses nomes pode ser encontrada aqui: HL Entity Help
Idle Animation   Animação que o monstro fará quando Action Animation terminar
Move to Position Walk Como o Monstro irá chegar até a entidade scripted_sequence
Seach Radious 512 A entidade scripted_sequence procurará por algum monstro qualquer que esteja dentro do raio determinado por esse parametro
Repeat Rate   É de quanto em quanto tempo que a entidade procurará por um mosntro dentro do Search Radius

Nos flags dessa entidade, selcione a CheckBox Override AI que faz com que caso o cientista esteja fazendo algo por conta própria, ela pare o que estava fazendo para fazer o script

Ajuste o angulo da scripted_sequence para o lado que você quer que o cientista vira quando chegar nela.

- Agora, vamos fazer um trigger que acionará a entidade scripted_sequence. Simplismente crie um brush com a textura AAATRIGGER, transforme ela numa entidade trigger_once e no atriubuto Target coloque o nome da scripted_sequence ,que no nosso caso é sci1_script.

COMO FUNCIONA: Quando o player passar pelo trigger_once, a entidade scripted_sequence será acionada, fazendo o cientista sair de sua posição inical, andar até a entidade scripted_sequence, virar para o ângulo que a scripted_sequence está e dar um tchauzinho

PARTE 2 - UTILIZANDO TRIGGER_CHANGELEVEL E INFO_LANDMARK

- Agora, vamos fazer o processo de troca de mapa no Half Life. Adicione a entidade chamada info_landmark no seu mapa, como mostra a figura abaixo. Essa entidade é como se fosse um guia para o Half Life saber onde você estava antes do mapa ser trocado e onde ela deve posicionar você no próximo mapa. Logo, as duas entidades info_landmark ( uma em cada mapa ) deve estar posicionada no mesmo e exato local ( com relação aos brushes das paredes, piso e chão, e não em relação as cordenadas ( logo ja deu pra perceber que os dois mapas devem ter uma parte totalmente igual )) e deve ter o mesmo nome. Como ainda estamos fazendo o primeiro mapa, não se preocupe com isso ainda.

ATTRIBUTE VALUE DESCRIÇÃO
Name change1 Nome do info_landmark ( mesmo nome nos dois mapas )

- Após ter colocado o info_lankmark, voce deve criar um brush com a textura AAATRIGGER e transformá-lo num entidade trigger_changelevel e deve estar posicionado depois do info_lankmark ( Vendo um mapa de cima, por exemplo. Se o fluxo do mapa esta indo da direita para a esquerda, você deve por o trigger_changelevel a esquerda do info_landmark e vice-versa ). Como na figura abaixo

ATTRIBUTE VALUE DESCRIÇÃO
New map Name map2 Nome do próximo mapa
Landmark Name change1 Nome do info_lankmark, correspondente àquela troca de mapa

COMO FUNCIONA: Ao você passar pelo trigger_changelevel, ele carrega o novo mapa e te posiciona no info_landmark desse mapa.

PARTE 3 - ADICIONANDO INFO_NODE

- Info_nodes são entidades que determinam as rotas que os Monstros ( monster_xxx ) podem pegar para se locomover ( sao muito parecidos com os Waypoints para os bots no CS ). Quando o mapa é carregado, o Half Life pega todas as entidades info_nodes e faz ligacões entre elas, fazendo uma malha de rotas para os monstros. Sem os Nodes, os Monstros tem dificuldade de locomoção, tipo quando você manda ele te seguir e ele fica batendo nos cantos das paredes e acaba ficando preso sem ter para onde ir. Não tem um lugar especifico que você DEVE adicionar nodes, mas deve ter alguns cuidados:

PARTE 4 - TERMINANDO O 1º MAPA E COMEÇANDO O SEGUNDO.

- Depois que você ja colocou scripted_sequences, mosters, nodes, landmarks, changelevels, só falta colocar um info_player_start e luzes no seu mapa. Salve esse mapa com o nome de map1. Agora seu primeiro mapa está pronto. Vamos começar o segundo.

- Aindo com o primeiro mapa aberto, selecione e copie a parte do mapa mostrada abaixo ( com entidades e tudo ).

- Agora vá no menu File -> New e cole essa parte que você acabou de copiar do mapa anterior ( essa vai ser a parte totalmente igual que foi citada na Parte 2. Nesse novo mapa, selecione a entidade trigger_changelevel e passe para a direita do info_lankmark ( pois agora o fluxo do mapa vai da esquerda para a direita ). Ainda com trigger_changelevel selecionado, abra a janela de propriedades da entidade e mude o atributo New map Name para map1. Agora é so fazer o resto do 2º mapa e quando estiver terminado, salvá-lo com o nome de map2.

OBS. No 2º mapa não é necessario colocar um info_player_start

Para baixar os mapas usados neste tutorial clique aqui


Este tutorial foi criado por Fergo
Copyright - Todos os direitos reservados - 2004