Ola pessoal! Só quero mostrar aqui algo legal que eu criei. Um contador legal de HeadShots para o Modo Operações Especiais.
A tecnologia básica por trás disso é muito simples.
Na classe UnrealScript que controla o comportamento do inimigo, criei uma variável booleana chamada HeadShot. Então, no evento TakeDamage da classe UnrealScript inimiga, criei uma pequena função para detectar qual osso do esqueleto foi atingido pelo projétil da arma (no caso dos ossos da cabeça e do pescoço).
Portanto, sempre que o projétil da arma atinge os ossos da cabeça ou do pescoço, a variável booleana HeadShot é configurada como true (inicia o código como false).
E então no Kismet, há um nó que pode ler as propriedades do objeto (variáveis). Então, simplesmente adicionei esse nó para ler o valor da variável HeadShot e, se for verdade, fiz um incremento em 1 outra variável (variável kismet), que é o contador HeadShot. Então isso significa que cada vez que o jogador atira na cabeça do inimigo. o contador do HeadShot será incrementado em um; portanto, sempre que o jogador executar 3 headhsots no inimigo, o HeadShotCounter se tornará 3.
O próximo passo é adicionar outro contador para contar o número total de inimigos no mapa. Ele começa contando todos os inimigos e os adiciona a uma lista e, em seguida, adiciona um evento (Morte Inimiga), e toda vez que isso ocorre, um inimigo será removido da lista (ObjectList). Então, sempre que essa lista ficar vazia, isso significa que matamos todos os inimigos. E depois de matar todos os inimigos, então vamos lá e verificamos o valor da variável HeadShotsCounter. Se eu quiser que o jogador realize pelo menos 10 HeadShots, preciso verificar se essa variável é> = (maior ou igual) que 10. Se sim, a missão será cumprida. Se for <(menor) que 10, a missão falhou.
É simples assim!
Valew!