﻿1
00:00:04,120 --> 00:00:04,510
‫เฮ้.

2
00:00:04,510 --> 00:00:05,440
‫ยินดีต้อนรับกลับ.

3
00:00:05,470 --> 00:00:11,740
‫ตอนนี้เราได้ตั้งค่าฟังก์ชันเรียกกลับที่ผูกไว้กับผู้รับมอบสิทธิ์เมื่อได้รับความเสียหาย

4
00:00:11,830 --> 00:00:16,210
‫และขั้นตอนสุดท้ายคือการสร้างเหตุการณ์ความเสียหายนั้นจริงๆ

5
00:00:16,210 --> 00:00:19,690
‫และเราต้องการทำสิ่งนี้เมื่อโปรเจกไทล์ของเราชนกับบางสิ่ง

6
00:00:19,690 --> 00:00:25,540
‫เมื่อเราออกอากาศให้ตัวแทนรายนี้ เราสามารถสร้างความเสียหายให้กับสิ่งที่เราโจมตีได้

7
00:00:25,540 --> 00:00:32,830
‫และเราจะออกอากาศเหตุการณ์นี้โดยใช้ความเสียหายที่เกิดขึ้น ซึ่งเป็นของคลาสสแตติกการเล่นเกม

8
00:00:32,860 --> 00:00:36,310
‫มาดูฟังก์ชันความเสียหายที่ใช้กัน

9
00:00:36,400 --> 00:00:44,050
‫ต่อไปนี้คือเอกสารสำหรับความเสียหายที่นำไปใช้ซึ่งระบุว่าทำร้ายนักแสดงที่ระบุด้วยความเสียหายทั่วไป

10
00:00:44,050 --> 00:00:47,590
‫นี่เป็นฟังก์ชันทั่วไปสำหรับการสร้างความเสียหาย

11
00:00:47,590 --> 00:00:52,510
‫และสิ่งที่เราทำเพื่อตอบสนองต่อการออกอากาศสำหรับตัวแทนรายนี้ขึ้นอยู่กับเรา

12
00:00:52,540 --> 00:00:59,140
‫ตอนนี้เราเห็นว่าเราต้องรวมสถิติการเล่นเกมและในไวยากรณ์เราเห็นพารามิเตอร์อินพุตหลายตัว

13
00:00:59,140 --> 00:01:02,110
‫ตอนนี้เราได้รับคำอธิบายของพารามิเตอร์แล้ว

14
00:01:02,110 --> 00:01:08,290
‫หากเราเลื่อนลงมาเรื่อยๆ เราจะเห็นว่านักแสดงที่เสียหายนั้นดี นักแสดงที่จะได้รับความเสียหาย

15
00:01:08,290 --> 00:01:13,660
‫ความเสียหายพื้นฐานคือความเสียหายพื้นฐานที่ใช้เอกสารอธิบายจริงๆ ที่นี่

16
00:01:13,690 --> 00:01:14,170
‫ขอบคุณ.

17
00:01:14,170 --> 00:01:19,930
‫ตัวกระตุ้นเหตุการณ์ระดับมหากาพย์คือตัวควบคุมที่รับผิดชอบในการก่อให้เกิดความเสียหายนี้

18
00:01:19,930 --> 00:01:23,020
‫และมันบอกว่า ตัวอย่างเช่น ผู้เล่นที่ยิงอาวุธ

19
00:01:23,020 --> 00:01:26,260
‫เมื่อมันบอกว่าผู้เล่นมันหมายถึงตัวควบคุมนั้น

20
00:01:26,260 --> 00:01:31,120
‫จากนั้นเราก็มีผู้ก่อให้เกิดความเสียหายซึ่งเป็นตัวสร้างความเสียหายที่แท้จริง

21
00:01:31,120 --> 00:01:33,160
‫มันบอกว่าระเบิดมือที่ระเบิด

22
00:01:33,160 --> 00:01:35,980
‫ในกรณีของเรา มันจะเป็นโพรเจกไทล์ที่ระเบิด

23
00:01:35,980 --> 00:01:43,000
‫และสุดท้าย เรามีประเภทประเภทความเสียหาย ซึ่งเป็นประเภทที่อธิบายถึงความเสียหายที่ได้ทำ

24
00:01:43,000 --> 00:01:49,690
‫ตอนนี้สำรองข้อมูลในส่วนไวยากรณ์ เราจะเห็นประเภทของอินพุตเหล่านี้ และเราเห็นว่าคลาสประเภทความเสียหายเป็นคลาสย่อยของ

25
00:01:49,690 --> 00:01:57,550
‫และเราเคยเห็นมาก่อนว่าคลาสย่อย TW จะตอบสนองพารามิเตอร์อินพุตประเภท U

26
00:01:57,550 --> 00:02:04,360
‫เมื่อเราเรียก ใช้ความเสียหาย เราสามารถผ่านคลาส U แทนประเภทความเสียหายที่เราต้องการใช้

27
00:02:04,360 --> 00:02:09,280
‫เราจะพูดถึงวิธีที่เราจะตอบสนองพารามิเตอร์อินพุตนี้ในอีกสักครู่

28
00:02:09,280 --> 00:02:15,190
‫ดังนั้นฟังก์ชันสถิตสีการเล่นเกม ความเสียหายที่ใช้จะใช้พารามิเตอร์อินพุตสองสามตัว

29
00:02:15,190 --> 00:02:24,100
‫ลองวางกลยุทธ์ว่าเราจะส่งต่อค่าที่เหมาะสมได้อย่างไรเมื่อเราเรียกใช้ฟังก์ชันนี้ เราเห็นว่าก่อนอื่นเราต้องการนักแสดงที่เสียหาย

30
00:02:24,310 --> 00:02:30,220
‫เอาล่ะ กลับไปที่ CP ของกระสุนปืนที่เราอยากจะเรียกว่าใช้สร้างความเสียหาย

31
00:02:30,220 --> 00:02:34,660
‫เราต้องการทำสิ่งนี้ใน Hit และเราไม่ต้องการบันทึกเหล่านี้อีกต่อไป

32
00:02:34,660 --> 00:02:43,450
‫ดังนั้นฉันจะลบออกและสังเกตว่า on hit callback ของเราได้รับอินพุตบางส่วนเมื่อถูกเรียก

33
00:02:43,450 --> 00:02:49,240
‫เมื่อผู้รับมอบสิทธิ์ on component hit ออกอากาศ เราจะเห็นว่าเรามีนักแสดงคนอื่น

34
00:02:49,240 --> 00:02:56,740
‫ดังนั้นเราจึงสามารถเข้าถึงนักแสดงที่โดนกระสุนปืนและนี่คือนักแสดงที่เราอยากจะสร้างความเสียหาย

35
00:02:56,740 --> 00:02:59,320
‫เพื่อดูแลพารามิเตอร์อินพุตแรก

36
00:02:59,320 --> 00:03:01,390
‫มันจะเป็นนักแสดงคนอื่น

37
00:03:01,390 --> 00:03:10,360
‫ต่อไป เราต้องการจำนวนความเสียหาย ซึ่งหมายความว่ากระสุนปืนของเราควรมีตัวแปรความเสียหาย เพื่อให้เรารู้ว่าต้องใช้ความเสียหายมากน้อยเพียงใด

38
00:03:10,510 --> 00:03:17,650
‫เหตุใดเราไม่ลองไปที่โปรเจกไทล์ FX และเพิ่มตัวแปรความเสียหายและนี่อาจเป็นแบบลอยได้

39
00:03:17,650 --> 00:03:23,770
‫เราสามารถเรียกความเสียหายนี้และเริ่มต้นเป็นค่าได้ เช่น 50 F และเนื่องจากนี่คือสิ่งที่เราอาจต้องการทดสอบ

40
00:03:24,040 --> 00:03:32,860
‫เราจึงให้คุณสมบัติ U เพื่อแสดงและแก้ไขได้ ที่ไหนก็ได้

41
00:03:32,860 --> 00:03:37,780
‫ดังนั้นตอนนี้เรามีจำนวนความเสียหายที่จะส่งต่อเมื่อเราเรียกรับความเสียหาย

42
00:03:38,080 --> 00:03:44,140
‫ตอนนี้พารามิเตอร์ตัวต่อไปคือตัวกระตุ้น และเราเห็นว่านี่เป็นตัวควบคุมประเภท A

43
00:03:44,140 --> 00:03:46,870
‫แล้วเราจะเอาคอนโทรลมาได้ยังไง?

44
00:03:46,870 --> 00:03:53,470
‫เราได้เห็นแล้วว่าเราสามารถหาเจ้าขององค์ประกอบเฉพาะด้วยฟังก์ชันรับเจ้าของได้

45
00:03:53,470 --> 00:04:00,820
‫และนี่จะส่งคืนนักแสดงที่เป็นเจ้าขององค์ประกอบเฉพาะ โพรเจกไทล์เหล่านี้ถูกสร้างขึ้นแบบไดนามิก

46
00:04:00,820 --> 00:04:08,410
‫ดังนั้นเราต้องตรวจสอบให้แน่ใจว่าถ้าเราจะเรียก get owner ว่าเจ้าของได้รับการตั้งค่าแล้ว เรากำลังวางไข่เหล่านี้จากฐานจำนำ

47
00:04:08,410 --> 00:04:10,390
‫ดังนั้นหากเราเข้าสู่ฐานจำนำ

48
00:04:10,600 --> 00:04:22,690
‫CP นี่คือบรรทัดที่เรากำลังวางไข่นักแสดง แต่ Spawn Actor ยังส่งคืนตัวชี้ไปยังนักแสดงที่วางไข่เพื่อให้เราสามารถเก็บสิ่งนี้ไว้ในตัวแปรท้องถิ่น

49
00:04:22,690 --> 00:04:29,220
‫ตัวอย่างเช่น เราสามารถพูดได้ว่าโปรเจ็กไทล์อัตโนมัติและกำหนดค่าที่ส่งคืนจากตัวแสดงการวางไข่

50
00:04:29,230 --> 00:04:36,790
‫ตอนนี้ถ้าคุณไม่คุ้นเคยกับ auto ก็อนุญาตให้คอมไพเลอร์หาประเภทที่จะกำหนดให้กับตัวแปรใหม่นี้

51
00:04:36,790 --> 00:04:45,610
‫หากคุณวางเมาส์เหนือมัน คุณจะเห็นว่ามันมีตัวชี้กระสุนแบบ A เพราะนั่นคือสิ่งที่เรากำลังเซ็นชื่อจากฟังก์ชันตัวแสดงการวางไข่

52
00:04:45,610 --> 00:04:54,400
‫นี่ก็เหมือนกับว่าเราวางตัวชี้โพรเจกไทล์ไว้ตรงนี้ และตอนนี้เราสามารถเข้าถึงโพรเจกไทล์ที่สร้างขึ้นใหม่ได้

53
00:04:54,400 --> 00:04:57,820
‫และเหตุผลที่เราต้องการทำคือเราต้องการตั้งเจ้าของ

54
00:04:57,820 --> 00:05:02,710
‫เราต้องการให้แน่ใจว่าเจ้าของถูกตั้งค่าเป็นเบี้ยที่วางไข่

55
00:05:02,920 --> 00:05:04,930
‫เราสามารถพูดได้ว่าโพรเจกไทล์

56
00:05:04,930 --> 00:05:08,010
‫และมีฟังก์ชั่นสำหรับเจ้าของชุดที่เรียกว่า

57
00:05:08,020 --> 00:05:15,400
‫เจ้าของฉากรับนักแสดงและเราจะผ่านมันไปเพื่อที่ว่าเมื่อใดก็ตามที่เบี้ยตัวใดตัวหนึ่งของเราวางไข่กระสุน

58
00:05:15,400 --> 00:05:18,250
‫มันจะตั้งค่าเจ้าของกระสุนนั้น

59
00:05:18,250 --> 00:05:25,700
‫ด้วยวิธีนี้ ถ้าเราโทรหา get owner ไกลออกไป เราจะได้อินสแตนซ์ของคลาสที่เป็นเจ้าของโพรเจกไทล์นั้น

60
00:05:25,720 --> 00:05:33,910
‫กลับมาที่นี่ในโปรเจ็กไทล์ DHCP เรามีการเรียกใช้ฟังก์ชันเจ้าของ และเราสามารถเก็บไว้ในตัวแปรโลคัล

61
00:05:33,940 --> 00:05:40,600
‫ฉันจะใช้ auto อีกครั้งและเรียกสิ่งนี้ว่าเจ้าของของฉันและตั้งค่าเป็นผลลัพธ์ที่ส่งคืนโดย

62
00:05:40,600 --> 00:05:41,590
‫get owner

63
00:05:41,920 --> 00:05:47,570
‫ตอนนี้เรามีตัวชี้นักแสดงท้องถิ่นที่เก็บค่าของเจ้าของ

64
00:05:47,590 --> 00:05:52,190
‫ตอนนี้เราสามารถเข้าถึงตัวควบคุม instigator จากนักแสดงคนนี้ได้

65
00:05:52,210 --> 00:05:57,640
‫ก่อนที่เราจะทำเช่นนั้น เป็นความคิดที่ดีที่จะตรวจสอบเพื่อให้แน่ใจว่าเจ้าของของฉันไม่เป็นโมฆะ

66
00:05:57,640 --> 00:06:04,460
‫ฉันจะบอกว่าถ้าเจ้าของของฉันเป็นโมฆะ เท่ากับ null พอยน์เตอร์ แล้วฉันก็จะกลับมา

67
00:06:04,480 --> 00:06:09,640
‫ตอนนี้ หากคุณถ้าร่างกายมีคำสั่งเดียวแบบนี้ คุณสามารถวางไว้ในบรรทัดเดียวกันโดยไม่ต้องใส่เหล็กดัด

68
00:06:09,640 --> 00:06:11,890
‫เผื่อว่าคุณไม่รู้

69
00:06:11,890 --> 00:06:19,470
‫และ null pointer เป็นคีย์เวิร์ดใน C++ ที่ให้คุณตรวจสอบว่าพอยน์เตอร์นั้นเป็น null pointer หรือไม่

70
00:06:19,480 --> 00:06:25,760
‫ดังนั้นหากเจ้าของของฉันเป็นโมฆะ เราจะออกจากฟังก์ชันก่อนกำหนดและไม่ดำเนินการอย่างอื่น

71
00:06:25,780 --> 00:06:31,030
‫อย่างที่ฉันพูดไป เราสามารถรับตัวควบคุม instigator จากเจ้าของของฉัน และนั่นคือสิ่งที่ใช้ฟังก์ชันที่เรียกว่า

72
00:06:31,030 --> 00:06:35,500
‫get instigator controller

73
00:06:36,400 --> 00:06:40,590
‫และถ้าเราวางเมาส์เหนือสิ่งนี้ เราจะเห็นว่ามันส่งคืนตัวชี้ตัวควบคุม A

74
00:06:40,600 --> 00:06:48,250
‫ฉันจะใช้ auto และเก็บไว้ในตัวแปรท้องถิ่นที่ฉันจะเรียกเจ้าของของฉันว่า instigator

75
00:06:50,660 --> 00:06:54,460
‫ตอนนี้เรารู้แล้วว่าต้องผ่านอะไรมาบ้างในฐานะผู้ยุยง

76
00:06:54,470 --> 00:07:00,800
‫ข้อมูลถัดไปคือตัวสร้างความเสียหาย และนี่คือตัวแสดงที่ทำความเสียหายให้กับกระสุนปืน

77
00:07:00,800 --> 00:07:02,930
‫นี่ก็จะเป็นเพียงแค่นี้

78
00:07:02,930 --> 00:07:07,490
‫และนั่นทำให้พารามิเตอร์อินพุตสุดท้ายซึ่งเป็นประเภทความเสียหาย

79
00:07:07,490 --> 00:07:12,740
‫และเราเห็นว่ามันเป็นคลาสย่อย ซึ่งหมายความว่าเราต้องการคลาสการใช้งานที่เหมาะสมจึงจะผ่าน

80
00:07:12,740 --> 00:07:17,960
‫N ต่อไปนี้คือเอกสารประกอบ Unreal Engine สำหรับประเภทความเสียหายของคุณ

81
00:07:17,960 --> 00:07:28,370
‫มันบอกว่าประเภทความเสียหายมีวัตถุประสงค์เพื่อกำหนดและอธิบายรูปแบบเฉพาะของความเสียหาย และเพื่อเป็นช่องทางในการปรับแต่งการตอบสนองต่อความเสียหายจากแหล่งต่างๆ

82
00:07:28,370 --> 00:07:30,890
‫ตอนนี้ เราจะไม่ปรับแต่งความเสียหายของเรา

83
00:07:30,890 --> 00:07:40,070
‫เราแค่ต้องปฏิบัติตามพารามิเตอร์อินพุต ซึ่งหมายความว่าเราต้องการค่าคลาส U ที่แสดงถึงคลาสประเภทที่คุณสร้างความเสียหาย

84
00:07:40,310 --> 00:07:48,200
‫ตอนนี้ใน C++ หากเราต้องการรับคลาส YOU ของคลาสใดคลาสหนึ่ง เช่น you damage type เราสามารถเรียกใช้ฟังก์ชันที่เรียกว่า

85
00:07:48,200 --> 00:07:51,020
‫static class

86
00:07:51,020 --> 00:07:54,140
‫สิ่งนี้สืบทอดมาจากคลาสอ็อบเจ็กต์ของคุณ

87
00:07:54,170 --> 00:07:58,070
‫แน่นอนว่าเราใช้ประเภทความเสียหายของคุณที่นี่ ดังนั้นเราต้องการส่วนหัวนั้น

88
00:07:58,310 --> 00:08:05,690
‫ดังนั้นจากเอกสาร ฉันจะคัดลอกบรรทัดรวม และฉันจะวางมันไว้บนสุดของโปรเจกไทล์

89
00:08:05,960 --> 00:08:14,450
‫CP และตอนนี้คุณจะเห็นว่าฟังก์ชันคลาสสแตติกนี้ส่งคืนตัวชี้คลาส U และคลาสใหม่จะแสดงประเภทความเสียหายใหม่

90
00:08:14,450 --> 00:08:17,780
‫คลาส C++

91
00:08:17,780 --> 00:08:23,510
‫ตอนนี้ เนื่องจากเราไม่ได้สร้างพิมพ์เขียวตามประเภทความเสียหายของคุณและตั้งค่าข้อมูลเพิ่มเติม

92
00:08:23,510 --> 00:08:26,030
‫เราจึงไม่ต้องการคลาสย่อยของตัวแปรจริงๆ

93
00:08:26,150 --> 00:08:32,750
‫ในกรณีนี้ เราสามารถใช้คลาสสแตติกได้ และนี่จะคืนค่าคลาส U ที่แสดงประเภทนี้

94
00:08:32,750 --> 00:08:38,480
‫และเราสามารถเก็บสิ่งนี้ไว้ในตัวแปรได้ถ้าต้องการ และฉันจะเรียกคลาสประเภทความเสียหายนี้

95
00:08:40,390 --> 00:08:45,520
‫และนี่คือสิ่งที่เราสามารถส่งผ่านเข้าไปเป็นพารามิเตอร์ขั้นสุดท้ายเพื่อสร้างความเสียหายได้

96
00:08:45,520 --> 00:08:51,250
‫ตอนนี้เรามีข้อมูลทั้งหมดที่เราต้องส่งไปยังฟังก์ชันใช้ความเสียหาย

97
00:08:51,250 --> 00:08:58,000
‫แต่ก่อนที่เราจะทำเช่นนั้น ฉันต้องการตรวจสอบสองสามข้อเพื่อให้แน่ใจว่าเหมาะสมที่เราเรียกฟังก์ชันนี้

98
00:08:58,000 --> 00:09:00,090
‫ฉันจะทำคำสั่ง if ที่นี่

99
00:09:00,100 --> 00:09:03,550
‫อันดับแรก ฉันต้องการให้แน่ใจว่านักแสดงคนอื่นๆ ไม่เป็นโมฆะ

100
00:09:03,550 --> 00:09:06,490
‫ฉันจะวางนักแสดงคนอื่นที่นี่

101
00:09:06,490 --> 00:09:13,450
‫ฉันจะใส่ a และที่นี่ เพื่อตรวจสอบให้แน่ใจว่านักแสดงคนอื่นไม่เท่ากับนักแสดงคนนี้

102
00:09:13,450 --> 00:09:24,640
‫เราไม่ต้องการที่จะสร้างความเสียหายให้กับตัวเองหากเราเป็นกระสุนปืนตอนนี้ ฉันจะวางปลายอีกด้านหนึ่งและให้แน่ใจว่านักแสดงคนอื่นไม่เท่ากับเจ้าของของฉัน

103
00:09:24,760 --> 00:09:28,930
‫มันคงไม่ดีถ้าโพรเจกไทล์สร้างความเสียหายให้กับเจ้าของ

104
00:09:28,930 --> 00:09:35,200
‫และตอนนี้ถ้าเราเข้าไปข้างใน if statement เราก็รู้ว่ามันเหมาะสมที่จะเรียก use damage

105
00:09:35,200 --> 00:09:36,550
‫เพื่อให้เราทำได้

106
00:09:36,550 --> 00:09:38,290
‫และนั่นจะเป็นความท้าทายของคุณ

107
00:09:38,290 --> 00:09:45,070
‫ดังนั้นในคำสั่ง if ใหม่ของเราในฟังก์ชัน on hit ให้เรียกสแตติกในการเล่นเกมของคุณใช้ฟังก์ชันสร้างความเสียหาย

108
00:09:45,070 --> 00:09:52,450
‫ซึ่งหมายความว่าคุณจะต้องใส่ส่วนหัวที่ถูกต้องสำหรับสถิติการเล่นเกม และคุณรู้ว่าต้องส่งพารามิเตอร์อินพุตใด

109
00:09:52,570 --> 00:09:58,660
‫ดังนั้นหยุดวิดีโอชั่วคราวและเพิ่มการเรียกใช้ฟังก์ชันเพื่อใช้ความเสียหายในฟังก์ชัน on hit ทันที

110
00:10:02,740 --> 00:10:03,250
‫ตกลง.

111
00:10:03,250 --> 00:10:11,020
‫ดังนั้นฉันจึงอยู่ใน CP ของกระสุนปืนและฉันจะรวมไฟล์ส่วนหัวสำหรับสถิติการเล่นเกมและเราสามารถเห็นได้จากหน้าเอกสารความเสียหายประยุกต์ที่รวมไว้คือ

112
00:10:11,020 --> 00:10:17,260
‫kismet slash gameplay statics

113
00:10:17,980 --> 00:10:22,330
‫ดังนั้นฉันจะวางมันลงไป และตอนนี้ฉันพร้อมที่จะเรียกความเสียหายแล้ว

114
00:10:22,330 --> 00:10:28,060
‫ดังนั้นฉันจะเรียกคุณว่าสถิตยศาสตร์ของการเล่นเกมใช้ความเสียหาย

115
00:10:28,810 --> 00:10:35,800
‫ทันทีที่ฉันพิมพ์วงเล็บเปิดนั้น ฉันจะได้รับป๊อปอัปเตือนฉันถึงพารามิเตอร์อินพุตที่ฉันต้องการ

116
00:10:35,800 --> 00:10:40,360
‫และคนแรกคือนักแสดงที่เสียหาย และนั่นจะเป็นนักแสดงคนอื่น

117
00:10:40,360 --> 00:10:42,760
‫ดังนั้นเราจะพิมพ์นักแสดงคนอื่นต่อไป

118
00:10:42,760 --> 00:10:50,410
‫เราต้องการจำนวนความเสียหาย และเราเพิ่มความเสียหายนี้ลอยอยู่ใน FX แบบโพรเจกไทล์ ซึ่งเราตั้งค่าเป็น 50

119
00:10:50,410 --> 00:10:53,170
‫ดังนั้นฉันจะผ่านความเสียหายสิ้นสุดต่อไป

120
00:10:53,170 --> 00:10:56,920
‫เราต้องการผู้ปลุกระดม และเรามีผู้ปลุกระดมของเจ้าของ

121
00:10:56,920 --> 00:11:00,010
‫ดังนั้นฉันจะผ่าน instigator เจ้าของของฉัน

122
00:11:00,010 --> 00:11:01,960
‫รองลงมาคือผู้เสียหาย

123
00:11:01,960 --> 00:11:05,500
‫และแน่นอน โพรเจกไทล์เป็นตัวสร้างความเสียหาย

124
00:11:05,500 --> 00:11:07,210
‫ดังนั้นเราจะผ่านในนี้

125
00:11:07,210 --> 00:11:17,980
‫และสุดท้าย เราต้องการ subclass สำหรับคุณ ประเภทความเสียหาย ซึ่งเรารู้ว่า U class pointer จะตอบสนองสิ่งนั้น และนั่นเป็นเหตุผลที่เรามีประเภทความเสียหายของเรา

126
00:11:17,980 --> 00:11:21,910
‫ผ่านชั้นประเภทความเสียหายกันเถอะ

127
00:11:21,910 --> 00:11:25,570
‫และด้วยเหตุนี้ เรากำลังเรียกความเสียหายว่า

128
00:11:25,720 --> 00:11:33,040
‫ดังนั้นเมื่อเราเรียกสิ่งนี้ เราจะสร้างเหตุการณ์ความเสียหาย และผู้รับมอบสิทธิ์รับความเสียหายใด ๆ จะออกอากาศเพื่อตอบสนองต่อสิ่งนี้

129
00:11:33,040 --> 00:11:39,010
‫ซึ่งหมายความว่าในความเสียหายองค์ประกอบสุขภาพของเราที่ได้รับจะถูกเรียก

130
00:11:39,010 --> 00:11:42,580
‫ดังนั้นเราจึงต้องทำอะไรบางอย่างที่นี่ในความเสียหายที่ได้รับ

131
00:11:42,580 --> 00:11:47,440
‫มันสมเหตุสมผลแล้วที่จะรับความเสียหายนี้และลบจำนวนนั้นออกจากสุขภาพ

132
00:11:47,440 --> 00:11:52,510
‫ก่อนที่เราจะทำอย่างนั้น ฉันต้องการให้แน่ใจว่าความเสียหายนั้นไม่ต่ำกว่าหรือเท่ากับศูนย์

133
00:11:52,810 --> 00:11:59,170
‫F ควรทำการตรวจสอบเหล่านี้ก่อนที่จะบันทึกความเสียหาย เพียงเพื่อให้แน่ใจว่าเราจะไม่ใช้ค่าที่ไม่สมเหตุสมผล

134
00:11:59,170 --> 00:12:02,890
‫เช่น ศูนย์หรือค่าติดลบ

135
00:12:02,890 --> 00:12:05,740
‫ถ้าอย่างนั้นเราก็แค่กลับมา

136
00:12:05,740 --> 00:12:12,700
‫และแน่นอน ถ้าคุณต้องการเนียนและทำในสิ่งที่ฉันทำในกระสุนปืนที่ CP เราสามารถวางผลตอบแทนตรงนั้นได้

137
00:12:12,700 --> 00:12:21,460
‫ทีนี้ ถ้าเราผ่านเส้นนี้ไปได้ ความเสียหายจะเป็นค่าบวก ดังนั้นเราจึงสามารถใช้พลังชีวิตและใช้ค่าลบเท่ากับความเสียหายได้

138
00:12:21,550 --> 00:12:25,750
‫และเพื่อให้แน่ใจว่ามันใช้งานได้ ทำไมเราไม่ใส่บันทึก euy ที่นี่ล่ะ

139
00:12:25,750 --> 00:12:40,840
‫ดังนั้นบันทึกบันทึก Yui ข้อความเตือนชั่วคราว และเราสามารถพิมพ์ค่าของสุขภาพด้วยเปอร์เซ็นต์ F และสุขภาพและด้วยสิ่งที่เราสามารถรวบรวมได้

140
00:12:40,870 --> 00:12:47,980
‫เมื่อคอมไพล์สำเร็จแล้ว เราจะกลับไปที่เอดิเตอร์และเมื่อเปิดล็อกเอาท์พุตแล้ว มาเริ่มเล่นกันเลย

141
00:12:47,980 --> 00:12:51,010
‫ทีนี้มาดูกันว่าเราจะโดนกระสุนปืนไหม

142
00:12:51,010 --> 00:12:52,120
‫และเราไปที่นั่น

143
00:12:52,150 --> 00:13:02,410
‫พลังชีวิตของเราตอนนี้ลดลงเหลือ 50 และถ้าเราโดนโจมตีอีกครั้ง เราก็มีเหตุการณ์การโจมตีค่อนข้างน้อยเพราะเราพุ่งเข้าหากระสุนปืนหลายครั้งเร็วมาก

144
00:13:02,410 --> 00:13:05,770
‫แต่เราเห็นว่าสุขภาพของเราได้รับการบันทึกอย่างถูกต้อง

145
00:13:05,770 --> 00:13:11,620
‫ดังนั้นเราจึงต้องแน่ใจว่าเราใช้พฤติกรรมที่ถูกต้องเมื่อเสียชีวิตเมื่อสุขภาพเป็นศูนย์

146
00:13:11,620 --> 00:13:17,290
‫แต่เราต้องตรวจสอบให้แน่ใจด้วยว่าเราไม่ได้รับกิจกรรม Hit นี้เป็นสแปมหลายครั้ง

147
00:13:17,290 --> 00:13:26,800
‫ตอนนี้เรารู้แล้วว่าโพรเจกไทล์ควรจะถูกทำลายเมื่อโดนบางสิ่ง ดังนั้นวิธีที่ดีที่สุดในการป้องกันการสแปมเหตุการณ์ที่กระทบคือการทำลายโพรเจกไทล์

148
00:13:26,800 --> 00:13:29,290
‫นั่นคือสิ่งสุดท้ายที่เราจะทำในวิดีโอนี้

149
00:13:29,290 --> 00:13:38,050
‫ย้อนกลับไปในโพรเจกไทล์หลังจากสร้างความเสียหาย สิ่งที่เราทำได้คือให้โพรเจกไทล์ทำลายตัวเอง และนั่นจะไม่ง่ายไปกว่านี้แล้ว

150
00:13:38,050 --> 00:13:41,110
‫เราเรียกฟังก์ชันทำลาย

151
00:13:41,110 --> 00:13:49,330
‫ดังนั้นด้วยการคอมไพล์อีกครั้งในเครื่องมือแก้ไข เราสามารถไปข้างหน้าและโดนกระสุนปืนและดูนั่น

152
00:13:49,330 --> 00:13:51,520
‫โพรเจกไทล์หายไป

153
00:13:51,520 --> 00:13:55,360
‫มันเลยสร้างความเสียหายแล้วก็หายไป

154
00:13:55,360 --> 00:14:04,570
‫และแน่นอน เราสามารถทดสอบการชนกับหอคอยด้วยการระเบิดพวกมันด้วยขีปนาวุธ และทำให้แน่ใจว่าเหตุการณ์ที่ชนเหล่านั้นถูกกระตุ้น

155
00:14:04,570 --> 00:14:16,390
‫และอย่างที่คุณเห็น ฉันสามารถสแปมสิ่งนี้ด้วยโพรเจกไทล์ทั้งหมด และเราจะเห็นว่าค่าพลังชีวิตสำหรับหอคอยที่น่าสงสารนี้ที่นี่กำลังเป็นลบอย่างมาก

156
00:14:16,540 --> 00:14:25,030
‫โดยสรุป เราเรียกใช้ฟังก์ชันใช้ความเสียหาย และส่งผลให้มีการออกอากาศสำหรับผู้รับมอบสิทธิ์รับความเสียหาย

157
00:14:25,030 --> 00:14:30,130
‫เราบันทึกสุขภาพในองค์ประกอบสุขภาพและเราทำลายกระสุนปืน

158
00:14:30,130 --> 00:14:32,350
‫ตอนนี้เราได้ดูแลความเสียหายแล้ว

159
00:14:32,350 --> 00:14:34,390
‫เรายังไม่ได้ดูแลความตาย

160
00:14:34,390 --> 00:14:38,860
‫นั่นจะเป็นหนึ่งในสิ่งต่อไปที่เราจะกล่าวถึงในวิดีโอหน้า

161
00:14:39,310 --> 00:14:40,270
‫เจอกันใหม่ครับ

