‫Ciao e Benvenuto.
‫In questa lezione, infliggeremo danni a questo attore qui.
‫Lo faremo sovrascrivendo un metodo virtuale chiamato subire danni sull'attore.
‫E puoi vedere nel registro qui, abbiamo la salute che diminuisce mentre sparo a questo personaggio fino a
‫zero e poi si ferma a zero, senza entrare in numeri negativi.
‫Quindi tuffiamoci e vediamo come è fatto.
‫Quindi, mentre attualmente siamo in grado di fare danni agli attori che abbiamo colpito qui, come questo
‫ragazzo, in realtà non stiamo ricevendo quel danno.
‫Quindi è qui che entrano in gioco i metodi virtuali dell'ultima lezione, perché proprio come iniziare il gioco o la tecnologia,
‫vogliamo essere in grado di ricevere danni su un attore.
‫Ora, fortunatamente, se vai dall'attore Dot H e dai un'occhiata qui, puoi vedere che
‫c'è questo metodo virtuale di subire danni.
‫Ora, questo può essere fatto anche con gli eventi e probabilmente lo avrai visto fare in questo modo prima di
‫registrarti agli eventi.
‫Ora quello che ho intenzione di fare è solo un modo diverso di fare danno, in cui abbiamo effettivamente il
‫danno accumulato contro l'attore piuttosto che in un componente.
‫E un modo semplice per ricevere quel danno è attraverso un metodo virtuale qui.
‫E questo è il metodo virtuale che andremo a ignorare.
‫Quindi andrò avanti e copierò questo e andrò al nostro attore in particolare, che è lo sparatutto.
‫Sarà veloce.
‫Può cercare il tiratore.
‫Personaggio punto H.
‫E l'unica cosa che voglio controllare è dove entra in gioco, l'attore punto H.
‫Quindi, se scorriamo verso l'alto, dovremmo essere in grado di vedere in quale sezione ci troviamo qui.
‫Quindi scorrerò fino a quando non trovo che, sia che siamo in pubblico o quello che fanno, siamo nella
‫sezione pubblica.
‫Quindi anche questo dovrebbe essere nella sezione pubblica qui.
‫Quindi lo infilerò sotto la nostra tecnologia e imposterò il componente di input del giocatore nel
‫punto dello sparatutto h e lo incollerò.
‫E come ho detto nell'ultima lezione, puoi usare l'override per assicurarti di sovrascrivere un metodo virtuale dal
‫genitore e non è necessario avere il virtuale qui davanti, ma lo terremo
‫comunque.
‫E qui puoi vedere tutti i dati che stanno arrivando per subire danni.
‫Abbiamo un importo del danno, gli eventi di danno e il controller che sta causando il danno, l'istigatore e la
‫causa del danno.
‫Anche tutta quella roba che avevamo passato con la pistola sta spuntando qui.
‫Quindi è fantastico.
‫Ora, se andiamo avanti e facciamo un turno di controllo, P crea l'implementazione o copia e incolla, allora
‫possiamo andare e fare l'implementazione per subire danni.
‫Ma la prima cosa di cui diffidare è che ogni volta che stiamo sovrascrivendo
‫qualcosa, vogliamo pensare di chiamare la versione della classe genitore di take Damage perché potrebbe esserci qualche implementazione che
‫deve essere eseguita.
‫Quindi è quello che faremo.
‫Lo facciamo sempre.
‫L'abbiamo fatto con la tecnologia.
‫L'abbiamo fatto con Begin Play.
‫Puoi vedere che all'inizio abbiamo sempre questo fantastico, e questo perché quando
‫sovrascriviamo un metodo lo riscriviamo completamente, rimuoviamo completamente quel comportamento.
‫Quindi, se vogliamo quel comportamento, cosa che di solito facciamo, allora dovremmo sempre iniziare con un aspetto da cool a
‫super.
‫Quindi faremo un bel danno.
‫Questo prenderà l'importo del danno.
‫Quindi è qui che diventa un po' noioso.
‫Purtroppo, il mio strumento di completamento automatico non lo fa per noi.
‫Evento di danno.
‫Allora qual è stato il prossimo?
‫Avevamo il controllo.
‫Quindi l'istigatore dell'evento, è solo una copia.
‫E poi abbiamo l'autore del danno, che è l'attore.
‫Quindi tutto questo viene chiamato all'implementazione dei genitori di subire danni.
‫E l'unica cosa è che questo ha un tipo di ritorno.
‫Quindi il danno effettivo applicato.
‫Quindi galleggeremo.
‫Danno applicato?
‫Il valore di ritorno è da subire danni?
‫Quindi terremo solo in mano quel danno applicato lì?
‫E realisticamente, sarà lo stesso dell'importo del danno nel nostro caso d'uso particolare, ma non
‫necessariamente, quindi utilizzeremo il danno applicato.
‫La prossima cosa che vogliamo fare è conservare le informazioni su quanta salute abbiamo effettivamente.
‫Ora il modo in cui lo farò è con due variabili qui.
‫Il primo è che realizzerò entrambe le nuove proprietà perché voglio rendere visibile la salute
‫nell'ispettore, almeno per ora.
‫E faremo in modo che la proprietà del primo anno sia la salute massima.
‫Questo è ciò su cui inizializziamo la salute inizialmente.
‫Quindi, proprietà, sarà una modifica predefinita solo perché verrà utilizzata all'inizio della riproduzione.
‫E quindi cambiare quel valore di salute massima dopo il fatto, non avrà alcun impatto.
‫Quindi Salute massima, imposterò la salute massima su 100 qui e poi avremo un'altra proprietà qui, che, come ho detto,
‫sarà una proprietà annuale solo per noi da poter ispezionare esso.
‫E lo avrò visibile ovunque.
‫Ma non modificabile perché non vogliamo poter cambiare quella salute, almeno non al momento.
‫Potresti volerlo per scopi di debug, ma non lo faccio.
‫Quindi avremo salute qui e all'inizio del gioco lo imposteremo in modo che quella salute.
‫È uguale alla salute massima.
‫Quindi iniziamo con lo spawn.
‫Abbiamo la nostra massima salute e poi possiamo iniziare a diminuire.
‫Stabilisce il tempo per una sfida per te per ridurre la salute del personaggio.
‫Quindi utilizzerai il danno applicato qui piuttosto che l'altra opzione qui.
‫Quindi abbiamo i nostri tiri, personaggio, punto, CP che subiscono danni, abbiamo un importo di danno, ma in realtà vogliamo
‫che venga applicato il danno che ritorna da subire danni perché potrebbe essere
‫stato ridotto da qualche processo nel genitore.
‫Quindi lo facciamo.
‫Quindi riduciamo il valore della salute e registriamo i risultati solo per semplicità in modo che tu possa controllare
‫che quando stai sparando a quell'alleato che la sua salute stia peggiorando e quindi testarlo.
‫Quindi metti in pausa il video e prova.
‫Ok, bentornato.
‫Quindi proviamoci.
‫Quindi la salute, in pratica, vogliamo ridurla con il danno applicato.
‫Ma basta?
‫Ebbene, cosa succede se il danno applicato è maggiore della quantità di salute che ci è rimasta?
‫Bene, in quel caso, probabilmente vorremmo che il danno applicato fosse quella quantità di salute.
‫Quindi il modo in cui possiamo farlo è dire che il danno si è applicato.
‫Dovrebbe essere uguale ai punti f matematica.
‫Uomini della salute.
‫E il danno applicato.
‫Quindi questo è il danno che fondamentalmente vogliamo applicare.
‫Quindi andremo avanti e lo rinominerò invece di chiamarlo danno applicato.
‫Lo chiamerò il danno da applicare.
‫Danno da applicare come Saigon rinomina che qua e poi il danno da applicare contro la salute meno il danno
‫da applicare che ha senso.
‫E fondamentalmente, nel peggiore dei casi, sarà la salute.
‫Quindi questo azzererà la nostra salute.
‫E ricorda, dovremmo restituire il danno che abbiamo effettivamente applicato.
‫Quindi, per restituire il danno da applicare, che ora è stato applicato e finalmente vogliamo un registro UII alla fine qui, che sarà
‫solo un avvertimento in modo da poterlo vedere.
‫E voglio che questa sia la salute rimasta qui e che sarà una percentuale F, 2% F minuscola per mostrare un
‫float.
‫E poi possiamo inserire la salute proprio lì e andare avanti e premere build.
‫Adesso.
‫Il mio è stato compilato dopo aver corretto un punto e virgola mancante.
‫Qui, andiamo e assicuriamoci di avere uno strumento per sviluppatori di finestre e vogliamo il registro di output qui in modo da poter
‫vedere quel messaggio di registro.
‫E ho intenzione di andare avanti e premere play e andare e provare a sparare a questo personaggio se gli sparo.
‫Ecco qua.
‫La salute è rimasta 90, 76, t, bla, bla, bla, fino a zero.
‫E se continuo a scattare, non scendiamo sotto lo zero a causa di quel punto min.
‫Quindi questo mi dice che abbiamo impostato correttamente la nostra salute.
‫Solo un altro modo per farlo invece di farlo all'interno di un componente.
‫Puoi farlo all'interno dell'attore così come alcuni pro e contro di quell'approccio.
‫Alla fine, potresti volerlo spogliare in componenti separati in modo da poterlo riutilizzare su elementi
‫diversi.
‫Ma S è solo un altro modo, come dico ora, perché questo personaggio non sembra particolarmente morto dopo che lo
‫abbiamo abbattuto a zero salute.
‫Dobbiamo sistemare le animazioni per supportarlo.
‫Quindi lo vedremo nella prossima conferenza e ci vediamo lì.