ผู้เล่นเป็นแนวคิดที่สำคัญในเกม ใน Craftland เราได้กำหนดฟังก์ชันพื้นฐานให้กับเอนทิตีผู้เล่น เช่น สุขภาพ การเคลื่อนที่ และเป้สะพายหลังเป็นค่าเริ่มต้น หากคุณต้องการขยายฟังก์ชัน คุณลักษณะ รูปลักษณ์ หรือประสิทธิภาพการกระทำของเอนทิตีผู้เล่นเพิ่มเติม คุณยังสามารถใช้ตัวแก้ไขดั้งเดิมเพื่อขยายตรรกะได้อีกด้วย บทความนี้จะแนะนำแนวคิดสำคัญของผู้เล่นจากสองด้าน: ผู้เล่นดั้งเดิมและสคริปต์ของผู้เล่น
ผู้เล่นในเกมจะมีอยู่ในฐานะอินสแตนซ์ของเอนทิตีผู้เล่น ซึ่งหมายความว่าการแก้ไขในโมดูลจะถูกแมปไปยังอินสแตนซ์เอนทิตีผู้เล่นแต่ละตัวที่สร้างขึ้น และสำหรับสคริปต์นั้น สิ่งสำคัญคือต้องใส่ใจว่าขอบเขตของการดำเนินการนั้นเป็น “ผู้เล่นคนหนึ่ง” หรือ “ผู้เล่นทั้งหมด”
การตั้งค่าเอนทิตี้ของผู้เล่น
ผู้เล่นเริ่มต้นที่สร้างขึ้นใน CraftLand นั้นโดยพื้นฐานแล้วจะเหมือนกับผู้เล่นใน FF โดยมีฟังก์ชันพื้นฐานบางอย่าง เช่น การเคลื่อนที่ การกระโดด การหยิบของ และการยิง ดังนั้น การดำเนินการที่ผู้เล่นดำเนินการในเกม FF ของเราสามารถทำซ้ำได้ใน CraftLand
ใน CraftLand เราไม่สามารถแก้ไขคุณสมบัติของเอนทิตีของผู้เล่นได้โดยตรง และเราไม่สามารถดูส่วนประกอบที่ติดตั้งบนเอนทิตีของผู้เล่นได้โดยตรง อย่างไรก็ตาม เราสามารถค้นหาการกำหนดค่าบางอย่างที่สอดคล้องกับเอนทิตีของผู้เล่นได้ในการตั้งค่า
ตัวเลือกการตั้งค่าของผู้เล่นแบ่งออกเป็น 3 ประเภท: พื้นฐาน การตั้งค่าทักษะ และการตั้งค่าสัตว์เลี้ยง
ฐาน
การตั้งค่าคุณลักษณะพื้นฐานบางประการของเอนทิตี้ผู้เล่น
ขีดจำกัดชีวิต: ค่าสุขภาพสูงสุดของผู้เล่น อยู่ระหว่าง 20-1,000
EP Cap: EP สูงสุดของผู้เล่น อยู่ระหว่าง 0-200
อัตราส่วน EP เริ่มต้น: EP เริ่มต้นที่ผู้เล่นเป็นเจ้าของ = อัตราส่วน EP เริ่มต้น * ขีดจำกัดบนของ EP อยู่ระหว่าง 0%-100%
การแปลง EP อย่างรวดเร็ว: การเปิดใช้งานการแปลง EP เป็น HP อย่างรวดเร็ว
กระสุนไม่จำกัด: ว่าจะเปิดใช้งานกระสุนไม่จำกัดหรือไม่
กำแพงน้ำแข็งอนันต์: จะเปิดกำแพงน้ำแข็งอนันต์หรือไม่
การโยนไม่จำกัด: เปิดใช้งานการโยนไม่จำกัดหรือไม่
อัตราความเสียหาย: ความเสียหายที่ผู้เล่นก่อขึ้นนั้นจะแบ่งเป็น 2 ประเภท คือ ต่ำสุดคือ 0% และสูงสุดคือ 500% โดย 0% หมายความว่าจะไม่เกิดความเสียหายใดๆ
อัตราการบาดเจ็บ: เปอร์เซ็นต์ความเสียหายที่ผู้เล่นจะได้รับเมื่อได้รับบาดเจ็บ โดยต่ำสุดคือ 0% และสูงสุดคือ 500% โดย 0% หมายถึงไม่มีความเสียหาย
ความเร็วในการเคลื่อนที่: อัตราส่วนการปรับขนาดของความเร็วในการเคลื่อนที่ หากน้อยกว่า 100% จะช้ากว่าความเร็วเริ่มต้น หากมากกว่า 100% จะเร็วกว่าความเร็วเริ่มต้น ช่วงคือ 50%-500%
ความสูงในการกระโดด: อัตราส่วนการปรับขนาดของความสูงในการกระโดด หากน้อยกว่า 100% แสดงว่าจะต่ำกว่าความสูงเริ่มต้น หากมากกว่า 100% แสดงว่าจะสูงกว่าความสูงเริ่มต้น ช่วงคือ 10%-500%
การตั้งค่าทักษะ
ในการตั้งค่าทักษะ เราสามารถควบคุมสถานะการสลับระหว่างทักษะแบบพาสซีฟและทักษะแบบแอ็คทีฟได้ หากเกมของเราห้ามใช้ทักษะ เราสามารถปิดระบบทักษะได้โดยตรง ผู้เล่นทุกคนในโลกจะไม่สามารถใช้ทักษะได้ แม้ว่าจะมีทักษะอยู่แล้วก็ตาม
ทักษะแบบพาสซีฟ: ว่าจะเปิดใช้ทักษะแบบพาสซีฟหรือไม่
ทักษะที่ใช้งานอยู่: เปิดใช้งานทักษะที่ใช้งานอยู่หรือไม่ หากปิดใช้งาน อัตราการคูลดาวน์ของทักษะทั้งหมดจะไม่สามารถปรับได้
เวลาในการทำความเย็น: ขีดจำกัดล่างของเวลาในการทำความเย็นคือ 0% และขีดจำกัดบนคือ 100% โดยที่ 0% หมายถึงไม่มีเวลาในการทำความเย็น และ 100% จะถูกคำนวณตามเวลาที่ใช้ในการทำความเย็นของทักษะนั้นเอง
การตั้งค่าสัตว์เลี้ยง
ในการตั้งค่าสัตว์เลี้ยง เราสามารถเปลี่ยนสถานะการเปิดใช้งานระบบสัตว์เลี้ยงได้
สัตว์เลี้ยง: ว่าจะเปิดใช้งานระบบสัตว์เลี้ยงหรือไม่
ทักษะสัตว์เลี้ยง: ไม่ว่าจะเปิดใช้ทักษะสัตว์เลี้ยงหรือไม่
สคริปต์ผู้เล่น
สคริปต์ของผู้เล่นที่เราสร้างขึ้นนั้นเป็นส่วนประกอบที่ติดตั้งอยู่บนเอนทิตีของผู้เล่น แต่ใน CraftLand เราไม่สามารถดูส่วนประกอบทั้งหมดที่ติดตั้งอยู่บนเอนทิตีบางตัวได้โดยตรง
เกมจะไม่สร้างสคริปต์ของผู้เล่นตามค่าเริ่มต้น ดังนั้นก่อนอื่นเราต้องเปิดสคริปต์ของผู้เล่น
ขั้นแรกเราคลิก [การตั้งค่า] ที่มุมซ้ายบนของอินเทอร์เฟซเพื่อเปิดขอบการตั้งค่า เลือก [การตั้งค่าการเล่นเกม] และคลิก [แก้ไขกฎการเล่นเกม] เพื่อเข้าสู่อินเทอร์เฟซการตั้งค่า
หลังจากเข้าสู่อินเทอร์เฟซการตั้งค่าแล้ว ให้เลือกหมวด [กฎของผู้เล่น] ใน [การตั้งค่าคุณสมบัติ] และคลิก [สคริปต์ของผู้เล่น] เพื่อเปิดสคริปต์ของผู้เล่น
เมื่อเราเขียนบล็อกดั้งเดิมในสคริปต์ผู้เล่น สคริปต์ผู้เล่นจะถูกเมาท์บนเอนทิตีผู้เล่นโดยอัตโนมัติ อินสแตนซ์เอนทิตีผู้เล่นทั้งหมดที่สร้างขึ้นในตอนเริ่มเกมจะมีตรรกะและฟังก์ชันใหม่ที่เราสร้างขึ้น
กราฟิกที่เกี่ยวข้อง
เนื่องจากสคริปต์ของผู้เล่นถูกแนบไปกับทุกอินสแตนซ์ของเอนทิตีของผู้เล่น โปรดทราบว่าเหตุการณ์ทั่วโลกอาจเกิดขึ้นหลายครั้งโดยไม่ได้ตั้งใจ
โดยปกติแล้ว เราจะขยายและเขียนเอนทิตีผู้เล่นใหม่ในสคริปต์ผู้เล่น ผ่านการทริกเกอร์เหตุการณ์ส่วนตัว เราสามารถจำกัดขอบเขตของอ็อบเจ็กต์ที่ทริกเกอร์ได้:
ตัวอย่าง
ตัวอย่างตรรกะ: หลังจากฆ่าผู้เล่นแล้ว ผู้ฆ่าจะได้รับ M60
ประการแรก เราต้องรู้ว่ามีเหตุการณ์ “เมื่อผู้เล่นทำให้เกิดการฆ่า” สองเหตุการณ์ ได้แก่ เหตุการณ์ส่วนตัวของสคริปต์ผู้เล่นและเหตุการณ์สาธารณะทั่วโลก
เมื่อเราเพิ่มตรรกะเดียวกันให้กับสองเหตุการณ์นี้
กิจกรรมส่วนตัว ‘WhenPlayerDeath’:
เหตุการณ์ส่วนตัว “เมื่อผู้เล่นทำให้เกิดการฆ่า” จะถูกเรียกใช้งานเมื่ออินสแตนซ์เอนทิตี้ของผู้เล่นปัจจุบันทำให้เกิดการฆ่าเท่านั้น
การเพิ่มรายการจะเพิ่ม M60 เมื่ออินสแตนซ์เอนทิตี้นี้ทำให้เกิดการฆ่า เอนทิตี้นี้เป็นเอนทิตี้ที่ทำให้เกิดการฆ่า ดังนั้น จึงสามารถปฏิบัติตามข้อกำหนดได้
ในการแก้ไขจริง คุณต้องพิจารณาด้วยว่าอาวุธ M60 เต็มหรือไม่เมื่อเพิ่มเข้าไป
เหตุการณ์สาธารณะ ‘เมื่อผู้เล่นฆ่า’:
ตัวอย่างเช่น หากคุณใช้เหตุการณ์สาธารณะ “เมื่อผู้เล่นฆ่า” ผู้เล่นทุกคนจะได้รับ M60 เมื่อผู้เล่นคนใดฆ่าได้ ขอแนะนำให้ใส่ตรรกะที่คล้ายกันในสคริปต์ทั่วไป
ดังนั้นจึงไม่แนะนำให้ใช้เหตุการณ์สาธารณะเพื่อสร้างตรรกะในบางกรณี