Afrikaans
Akan
Albanian
Amharic
Arabic
Armenian
Azerbaijani
Basque
Belarusian
Bemba
Bengali
Bihari
Bosnian
Breton
Bulgarian
Cambodian
Catalan
Cebuano
Cherokee
Chichewa
Chinese (Simplified)
Chinese (Traditional)
Corsican
Croatian
Czech
Danish
Dutch
Esperanto
Estonian
Ewe
Faroese
Filipino
Finnish
French
Frisian
Ga
Galician
Georgian
German
Greek
Guarani
Gujarati
Haitian Creole
Hausa
Hawaiian
Hebrew
Hindi
Hmong
Hungarian
Icelandic
Igbo
Indonesian
Interlingua
Irish
Italian
Japanese
Javanese
Kannada
Kazakh
Kinyarwanda
Kirundi
Kongo
Korean
Krio (Sierra Leone)
Kurdish
Kurdish (Soranî)
Kyrgyz
Laothian
Latin
Latvian
Lingala
Lithuanian
Lozi
Luganda
Luo
Luxembourgish
Macedonian
Malagasy
Malay
Malayalam
Maltese
Maori
Marathi
Mauritian Creole
Moldavian
Mongolian
Myanmar (Burmese)
Montenegrin
Nepali
Nigerian Pidgin
Northern Sotho
Norwegian
Norwegian (Nynorsk)
Occitan
Oriya
Oromo
Pashto
Persian
Polish
Portuguese (Brazil)
Portuguese (Portugal)
Punjabi
Quechua
Romanian
Romansh
Runyakitara
Russian
Samoan
Scots Gaelic
Serbian
Serbo-Croatian
Sesotho
Setswana
Seychellois Creole
Shona
Sindhi
Sinhalese
Slovak
Slovenian
Somali
Spanish
Spanish (Latin American)
Sundanese
Swahili
Swedish
Tajik
Tamil
Tatar
Telugu
Thai
Tigrinya
Tonga
Tshiluba
Tumbuka
Turkish
Turkmen
Twi
Uighur
Ukrainian
Urdu
Uzbek
Vietnamese
Welsh
Wolof
Xhosa
Yiddish
Yoruba
Zulu
1
15. The Grid Player - Morte
2
Chegou o momento mórbido.
3
Da nossa temporada aí, da nossa criação de jogo.
4
Que é matar o herói. A gente tem que matar ele.
5
Por enquanto, a vida dele chega no zero, mas ele continua lá, todo feliz, jogando, né?
6
Algumas coisas importantes para acontecer quando a gente quer matar o jogador principal ali.
7
Quando... Quero dizer, morreu o jogador, tá?
8
Muitas coisas têm que acontecer ao mesmo tempo.
9
Né?
10
E a melhor maneira de a gente fazer isso...
11
É quando o jogador morrer...
12
A gente disparar o Event Dispatcher.
13
E todo mundo que tiver que saber que ele morreu, vai ficar sabendo, tá?
14
A gente vai tentar colocar a maior parte possível das Funções...
15
E acontecimentos, dentro do nosso Game Mode.
16
Né? Que é uma Classe acima.
17
Para que ela possa estruturar tudo que tem que ser feito.
18
Quando o jogador morrer.
19
E...
20
É legal a gente não matar o jogador.
21
A gente não criar um Destroy Actor.
22
E matar esse Actor no mundo.
23
Porque a gente pode ter vários...
24
Pequenos probleminhas, né? Na minha experiência aí, que eu andei...
25
Testando...
26
Existem maneiras melhores pra gente evitar esses probleminhas.
27
Então, a gente não vai destruir o Actor. A gente vai fazer algumas outras coisas.
28
Então, quando a gente disparar o Event Dispatcher no mundo...
29
Eu estou aqui, com o meu Diagrama aberto.
30
A gente vai...
31
O Game Mode vai ficar sabendo: "O herói morreu".
32
HeroIsDead. Ele morreu.
33
Tipo: "O rei morreu".
34
Algumas coisas têm que acontecer. Primeira coisa...
35
A gente vai ocultar o HeroChar.
36
Ele vai continuar... O Actor vai continuar existindo.
37
Mas, o...
38
O jogador não vai ver isso.
39
Tá?
40
Mas, ao mesmo tempo, a gente vai ter que tirar o controle do jogador.
41
Ele não vai poder ficar controlando mais...
42
Esse HeroChar.
43
Então, a gente vai...
44
Pode vir aqui para baixo.
45
E a gente vai...
46
Possuir o Checkpoint. A gente vai dar um Possess.
47
Possess Checkpoint. A gente vai dar um Unpossess no Hero...
48
A gente vai deixar de controlar o Hero.
49
Para controlar um outro jogador, que é só um Pawn no mundo.
50
Que não tem funcionalidade nenhuma, não tem movimento.
51
Tá? Ele só vai existir no mundo para que a gente continue controlando alguma coisa.
52
Mas...
53
Não está mais controlando o herói, tá? O herói deixou de aparecer.
54
E não é mais controlado.
55
Então, a gente faz isso. A gente oculta o Hero.
56
A gente possui o Checkpoint.
57
Que vai ser alguma coisa no espaço.
58
E outra coisa que a gente tem que fazer, eu tenho que parar todos os inimigos.
59
Lembra que os inimigos ficam atirando no herói.
60
Então, quando eles pararem...
61
Quando o herói morrer, a gente tem que fazer ele parar de atirar.
62
Né? Para não ficar disparando tiro para sempre.
63
Se a gente destruir o herói, destruir o Actor, então vai dar um erro aí...
64
Porque...
65
O inimigo fica tentando achar o herói. Lembra que ele fica rotacionando?
66
Em relação ao herói.
67
Se ele não vai achar mais o herói, o Actor no mundo...
68
Ele vai ficar louco, vai dar problema. Vai dar erro no jogo, né?
69
Então, a gente vai só ocultar o Hero.
70
E a gente vai parar todos os inimigos. Então, a gente tem que...
71
Fazer uma funçãozinha aqui, no Enemy.
72
StopEnemy. A gente vai parar todos os inimigos, tá?
73
Então, por enquanto é isso, para o herói morrer.
74
Tudo isso, né?
75
E depois a gente vai ter que criar um Menu ainda. De Dead Menu.
76
A gente não vai fazer isso agora ainda.
77
Mas, tem que criar um Menu de morte.
78
Que o jogador vai ter a possibilidade de sair do jogo...
79
Ou reiniciar, tá?
80
Então, vamos lá. Aqui eu tenho o meu...
81
A minha Blueprint do herói, tá?
82
Eu vou começar já criando uma coisa aqui.
83
Que vocês já sabem o que que é.
84
Que é um Custom Event.
85
Que se chama Dead.
86
Esse Evento a gente vai disparar apenas quando o herói morrer.
87
Tá?
88
E a gente vai criar uma variável...
89
Só pra gente guardar esse valor. É importante, é legal a gente ter.
90
Se a gente precisar acessar em algum momento.
91
Is Dead.
92
Pra gente saber se o herói está morto ou não está.
93
A gente Compila.
94
Por padrão, é Falso. Por padrão, o herói está vivo, tá?
95
Assim que ele morreu, isDead.
96
É Verdadeiro. Ele morreu.
97
Tá? Vamos começar por aí, então.
98
Então eu vou criar um Event Dispatcher...
99
Que se chama...
100
HeroDead. O herói morreu.
101
E todo mundo que precisar ficar sabendo disso no jogo...
102
Né? Qualquer Blueprint que precisar ficar sabendo disso...
103
Vai ficar sabendo porque a gente vai disparar isso, né?
104
A gente pode acessar essa informação em qualquer lugar.
105
Aqui, a gente dá um Call.
106
Call HeroDead.
107
Tá?
108
Mais dúvidas sobre isso, lembra da nossa aula de Comunicação entre Blueprints.
109
A gente fala de Event Dispatcher.
110
Eu explico com...
111
Bastante calma lá, como isso funciona.
112
Então, vamos começar lá no nosso Game Mode.
113
Que é uma Classe acima, pra gente fazer essas...
114
Condições. Essas Funções, né?
115
Tudo que tem que acontecer quando o herói morrer.
116
Game Mode. Que foi o Game Mode que a gente criou.
117
Por enquanto está vazio, não tem nada, né? Vai começar a ficar bem cheio, esse Game Mode aí.
118
Então, pra gente ficar sabendo do Event Dispatcher que teve, né?
119
Pra gente ficar sabendo que o herói morreu...
120
Este Game Mode tem que ter uma conexão com o jogador.
121
Tem que saber que o jogador existe.
122
Tá?
123
Então a gente vai fazer um Cast. Get Player Character.
124
A gente faz um Cast.
125
Para o HeroChar.
126
Já estamos cansados de fazer isso, né?
127
E aí, a gente dá um Promote to Variable.
128
E eu vou colocar sempre no começo do nome... Eu gosto desse nome, referência.
129
HeroRefer.
130
E maravilha. Eu vou até já comentar esse cara aqui.
131
Hero...
132
Char Reference.
133
Primeira coisa que eu faço quando o jogo começa, a Game Mode vai ficar sabendo que o personagem existe.
134
E agora, então, a gente vai pegar aqui, o HeroRefer...
135
A gente tem esse Event Dispatcher aqui, né?
136
Então, agora eu tenho que linkar esse Event Dispatcher com o Evento aqui...
137
No nosso...
138
Na nossa Blueprint do Game Mode.
139
Então, eu clico aqui e arrasto.
140
E vou pegar...
141
HeroDead. Que é o nome do...
142
Do Event Dispatcher, né?
143
Então, a gente tem... A gente pode chamar o HeroDead...
144
Depois eu quero clicar aqui. Assign HeroDead.
145
Então, o que ele faz para mim?
146
Ele cria um Evento. Custom Event.
147
Que eu vou chamar de...
148
HeroIsDead.
149
Toda vez que o herói morrer...
150
Então, toda vez que o herói disparar isso aqui...
151
Ou seja, toda vez que esse Evento disparar...
152
O Game Mode vai disparar este cara aqui.
153
Que tem um Bind.
154
Mas isso aqui eu já expliquei lá na Comunicação entre Blueprints.
155
Então, vamos conectar esse cara aqui na BeginPlay também.
156
Para dar esse Bind. Eu vou criar uma Sequence.
157
Tudo isso vai acontecer no começo do jogo.
158
Então, a primeira coisa que acontece...
159
HeroRefer.
160
Segunda coisa que acontece, Bind Event to HeroIsDead.
161
Então, assim que o personagem morrer, né? O Hero.
162
A primeira coisa que eu quero fazer é ocultar ele.
163
Então, eu vou criar uma Função nova, só pra gente ficar mais organizado.
164
Nova Função.
165
Eu vou chamar de Hero...
166
Hide.
167
HideHero.
168
Character.
169
Bem simples. A gente vai pegar o herói.
170
Dar um Set Actor Hidden in Game.
171
Oculta ele.
172
E outra coisa que a gente não pode esquecer é ocultar a arma dele.
173
Então, a gente vai pegar aqui...
174
A arma que está lá dentro. Que eu acho que chama Weapon...
175
Deixa eu só ver como é que chama a arma.
176
HeroChar. Vamos ver aqui.
177
Quando a gente criou a arma, a gente criou BP_GunRefer, né?
178
Que nomezinho, hein?
179
Ruim.
180
Mas, deixa aí por enquanto. Agora, se a gente for mudar, vai dar mais trabalho.
181
BP...
182
Get BPGun Refer.
183
A gente vai ocultar esse cara também. Set Actor...
184
Hidden in Game.
185
Então, toda vez que eu precisar ocultar esse cara no mundo...
186
A gente já tem a Função.
187
Já vou fazer a Função contrária dessa.
188
Então, vou duplicar esse cara.
189
A gente vai chamar de Unhide.
190
Um vai ocultar e outro vai exibir.
191
E aqui nesse Unhide...
192
A gente vai deixar esse desligado e esse desligado.
193
E no Hide, eu esqueci, este ligado.
194
E este ligado também. Compilar e salvar.
195
Event Graph. Então, toda vez que o herói morrer...
196
A gente vai ocultar o personagem. Traz a Função para cá.
197
Pronto.
198
Primeira coisa que acontece é isso.
199
Lembrando lá no Diagrama que eu expliquei. Segunda coisa que acontece, a gente tem que...
200
Pegar o Controller, né? E ele vai deixar de...
201
Possuir esse personagem, para possuir outra coisa.
202
Para o jogador, né? O ser humano que está jogando parar de controlar o personagem.
203
Tem que parar essa funcionalidade, tem que travar.
204
Então, a gente vai...
205
Vai possuir outra coisa.
206
A gente não tem essa outra coisa ainda, para fazer, né?
207
Esse outro personagem neutro, a gente não tem ainda.
208
Vamos criar ele, então, agora.
209
Content Browser. E eu vou criar uma pastinha aqui, chamada Objeto. Se a gente ainda não tem ela.
210
Objects.
211
Clica duas vezes. Eu vou chamar essa pastinha de Checkpoint.
212
Tá?
213
E aqui dentro, eu vou criar uma Classe...
214
De Pawn.
215
Tá? Não precisa ser Character. Não vai ter movimento, esse cara.
216
Pawn.
217
E vou chamar de BP_Checkpoint.
218
Checkpoint.
219
Então, vai ser um personagem no mundo...
220
Que o meu Controller vai possuir.
221
Vai controlar. E ele vai deixar de controlar o personagem. Basicamente, ele vai dizer:
222
"Personagem, deixei de controlar você. Agora eu vou controlar o..."
223
"Checkpoint, tá?"
224
Como o Checkpoint é invisível...
225
E como ele não tem funcionalidade, ele não tem movimento...
226
Para o jogador, para o ser humano que está jogando...
227
Vai dar a sensação de que o jogo está parado, né?
228
Beleza? Mas, a gente sabe que tem...
229
Esse Pawn aí, existindo.
230
Ele tem que estar no mundo. Eu vou colocar ele no mundo.
231
Até, a gente vai usar ele como Checkpoint. Ou seja, um lugar que a gente possa, depois, voltar, se precisar.
232
Aí, eu vou arrastar ele aqui.
233
Está aqui, o meu Pawn. Checkpoint.
234
E uma coisa só importante de fazer nesse cara...
235
Eu vou criar uma câmera aqui.
236
Tá? Só para ele já pegar a câmera, quando ele for...
237
Camera.
238
Camera.
239
Quando ele possuir esse cara...
240
A gente vai pegar já, a visão dessa câmera.
241
Beleza?
242
Então, é só posicionar ele aqui.
243
Tá.
244
Então, agora ele está no mundo.
245
Vamos voltar para o nosso Game Mode.
246
Game Mode.
247
E agora, a gente tem que falar para o Controller possuir aquele Checkpoint.
248
Eu vou criar uma Função para isso também.
249
Function.
250
New Function.
251
Rename. E eu vou chamar de Possess...
252
Checkpoint.
253
Sempre falta uma letrinha. Checkpoint.
254
Toda vez que eu precisar, eu chamo essa Função.
255
Eu vou pegar aquele Checkpoint que está no mundo. Então, com uma Função que a gente já conhece...
256
Get All Actors of Class.
257
Que vai ser o meu Checkpoint... BP_Checkpoint.
258
Aqui, a gente faz um Get.
259
É o zero mesmo.
260
E a gente vai chamar a Função, Possess...
261
Eu desliguei o Context Sensitive.
262
Na categoria Pawn. Possess.
263
Ele vai possuir esse cara.
264
Então, este cara aqui...
265
É o Pawn.
266
Tá? E o Target é o Controller.
267
A gente tem que pegar o Controller. Get...
268
Player Controller.
269
Parece ser difícil mas, né? É só uma lógicazinha aí.
270
Basicamente, o que eu estou dizendo para ele...
271
"Pegue o Checkpoint no mundo e você vai começar a controlar a partir dele."
272
Então, volta para o meu Event Graph.
273
HeroIsDead.
274
A gente vai colocar o...
275
Possess Checkpoint. Então, a partir de agora, você vai possuir o Checkpoint.
276
Tá?
277
Maravilha! Compilar e salvar.
278
Última coisa que está faltando é um momento que eu vou dizer que o herói morreu.
279
Tá?
280
Então, eu vou voltar para o meu herói aqui.
281
A gente não tem isso ainda.
282
Né? Lembra que a gente deixou um Print String aqui?
283
Quando a vida dele chegar a 0. A gente deixou um Print String.
284
Ead. Ensino à distância.
285
Então, eu vou chamar agora, este Evento que está aqui.
286
Dead, beleza?
287
Então...
288
Escrever aqui, Dead...
289
Eu vou chamar esse cara.
290
Aí, esse cara vai chamar...
291
Tudo que está aqui, né?
292
Se eu chamar esse aqui pela última...
293
Como última coisa aqui.
294
Só pra gente não...
295
Não ter nenhum tipo de...
296
Probleminha.
297
A gente coloca a vida dele como 0 e depois a gente coloca ele como Dead.
298
Vamos testar, ver o que está acontecendo. Vamos lá. Save.
299
Play.
300
Então, tem que levar tiro, né? Tem que morrer.
301
Morri. Viu o que aconteceu?
302
Eu...
303
Peguei essa...
304
Fiz o Possess desse Checkpoint.
305
Então, agora o meu Controller controla isso.
306
Eu ocultei o personagem, então...
307
O personagem, mesmo que...
308
Deixa eu pegar meu mouse aqui.
309
Mesmo que ele possa estar, em algum momento, lá...
310
Aqui, assim.
311
Ele... Eu não consigo ver ele, tá?
312
E eu estou aqui.
313
Beleza?
314
Paradão.
315
E aí, nesse momento, a gente colocaria um Menu, para o jogador reiniciar o jogo ou...
316
Sair fora.
317
Uma coisa que a gente tem que arrumar ainda. Está vendo que o tiro dos inimigos continua disparando.
318
Né?
319
A gente tem que parar isso.
320
E se a gente... Deixa eu mostrar outra coisa. Se eu morrer atirando...
321
Morri atirando. Está vendo o meu tiro lá?
322
Meu tiro também está disparando. Eu tenho que parar o meu tiro.
323
Tá? Vamos fazer isso, então.
324
Parar o meu tiro é fácil. Então, toda vez que eu morrer...
325
Eu vou chamar uma Funçãozinha.
326
Que a gente já preparou lá no...
327
Na arma, lembra?
328
Deactive Trigger.
329
Eu posso usar a mesma.
330
"Toda vez que eu morrer, você também desativa o meu Trigger aí."
331
Pronto.
332
Então, aqui eu já parei o meu tiro. Toda vez que eu morrer, eu parei de atirar.
333
E outra coisa que eu tenho que fazer...
334
Agora, é parar o tiro do inimigo. Então, vamos lá no inimigo...
335
Aqui no inimigo, lembra que a gente fez um StopEnemy?
336
A gente fez esse Evento aqui.
337
Que ele dá um Clear Timmer no Fire. Então eu vou chamar esse cara aqui. StopEnemy.
338
Ou seja, ele vai dar um Clear Timmer...
339
Nessa Funçãozinha.
340
Eu vou lá no meu Game Mode, que está controlando todo mundo, né?
341
Então, ele...
342
Oculta o Hero.
343
Ele possui o Checkpoint.
344
E agora, ele vai...
345
Parar todos os inimigos. "Todos os inimigos, parem porque o herói morreu".
346
"Parem de atirar".
347
Então, eu vou criar uma Função aqui.
348
Stop...
349
All Enemies.
350
Pare todos os inimigos.
351
Então, para isso, fácil. Get All Actors From Class.
352
Of Class.
353
BP_Enemy.
354
E a Função que a gente vai disparar, lembra? O Evento.
355
Esse cara aqui, StopEnemy. Esse cara que eu tenho que chamar.
356
Opa, venho aqui.
357
Então, a gente pode, por exemplo, dar um Get.
358
E pegar um desses...
359
Objetos.
360
E chamar Stop...
361
Enemy, tá?
362
Mas, nesse caso, a gente só daria o Stop para o...
363
Para o objeto de index 0.
364
Eu tenho que fazer para todos, né?
365
Porque eu não sei, vai que todos estão atirando.
366
A gente faz aqui, um ForEach Loop.
367
Né? A gente viu os Loops da vida lá.
368
Então, para todos os objetos desse Array...
369
Para todos, você vai disparar a mesma coisa.
370
StopEnemy.
371
Para todos.
372
Essa é a Funçãozinha que eu vou chamar para parar todo mundo.
373
Então, Event Graph...
374
Próxima Função que eu vou chamar...
375
Pare todos os inimigos.
376
Oculte o personagem.
377
Possua o Checkpoint e pare todos os inimigos.
378
Compilar e salvar.
379
Então, vamos testar.
380
Estou eu, calminho aqui.
381
Morri, beleza.
382
Vocês percebem que a minha vida continua restaurando.
383
Não tem problema.
384
A gente não vai colocar isso na tela.
385
A gente vai ocultar tudo.
386
E aqui está o meu...
387
Checkpoint, né?
388
Eu não tenho controle de nada, porque esse Pawn não tem controle de nada.
389
Então, agora eu posso habilitar o Menu de morte e restaurar.
390
Tá?
391
Bastante coisa, né? Mas...
392
Fazendo com calma, pensando a lógica, tudo está funcionando.
393
A gente vai agora começar a criar alguns HUDs, alguns Menus.
394
Para que a gente possa ter alguma interação um pouquinho a mais...
395
Né? Poder...
396
Fazer um Restart no jogo. Poder sair do jogo.
397
E também poder ver a vida do personagem, tudo na tela já.
398
Vamos começar a fazer isso então.
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.