
ภาพรวมแผนที่
กลไกเกม (แก้ไขได้) เป็นหนึ่งในเทมเพลตเกมอย่างเป็นทางการที่ติดตั้งมาในตัวโปรแกรมแก้ไข Free Fire CraftLand โดยตรง เทมเพลตนี้มอบโครงร่างที่สามารถนำกลับมาใช้ใหม่ได้สำหรับฟีเจอร์พื้นฐานของการเล่นเกม ซึ่งประกอบด้วยสามองค์ประกอบหลัก ได้แก่ ฉากแผนที่ การตั้งค่ากฎ และสคริปต์องค์ประกอบแผนที่
ภายในเทมเพลตนี้ คุณจะได้สัมผัสและเรียนรู้วิธีการแก้ไขเกมหลัก—โดยโต้ตอบกับกลไกที่ออกแบบไว้ล่วงหน้าหลากหลายรูปแบบ และรับชมผลลัพธ์หรือปฏิกิริยาตอบสนองจากกลไกเหล่านั้น
พร้อมกันนี้ คุณสามารถเข้าใจและเจาะลึกกลไกการโต้ตอบทั่วไปอื่นๆ ภายในเกมได้อย่างรวดเร็ว ซึ่งรวมถึงการเปิดใช้งานทริกเกอร์ที่กำหนดเอง เพิ่ม/ลดพลังชีวิตของผู้เล่น การสร้างมอนสเตอร์ (ซอมบี้) การเคลื่อนย้ายวัตถุ การเทเลพอร์ตผู้เล่นไปยังตำแหน่งที่กำหนด การแสดงข้อความที่กำหนดเอง การเปลี่ยนรูปลักษณ์ของตัวละคร และการโต้ตอบกับอินเตอร์เฟซ HUD ที่กำหนดเอง โดยอาศัยตรรกะการเขียนสคริปต์พื้นฐานเหล่านี้ คุณสามารถขยายและแก้ไขเพื่อสร้างผลงานที่เป็นเอกลักษณ์ของคุณเองได้
สถานการณ์แผนที่
ก่อนอื่น ขอแนะนำเกี่ยวกับการออกแบบฉาก: พื้นที่โดยรวมจะอิงตามฉากว่างเริ่มต้น โดยมีพื้นที่ปิดล้อมรูปสี่เหลี่ยมผืนผ้าเรียบง่ายสร้างขึ้น และกลไกโต้ตอบต่างๆ กระจายอยู่ทั่ว (ภายในกรอบสีแดงที่ด้านบนของภาพด้านล่าง) ผู้เล่นสามารถแบ่งออกเป็นสามทีมและจะเกิดที่ด้านหนึ่งของแผนที่เมื่อเข้าสู่เกม
(กล่องสีแดงที่ด้านล่างของภาพด้านล่าง), สามารถมีส่วนร่วมกับประสบการณ์การเล่นเกมหลักได้อย่างอิสระ
นอกจากการปรับแต่งวัตถุในฉากอย่างรวดเร็วโดยตรงแล้ว คุณยังสามารถจัดการวัตถุทั้งหมดในฉากได้อย่างครอบคลุมโดยคลิกที่ เพิ่มเติม - ผู้จัดการวัตถุ
เกี่ยวกับฟีเจอร์
กฎ
ในการกำหนดกฎการเล่นเกม ให้ไปที่ การตั้งค่า > การตั้งค่าการเล่นเกม > ตัวแก้ไขกฎการเล่นเกม
ที่นี่คุณสามารถแก้ไขกฎระเบียบโดยละเอียดสำหรับเทมเพลตนี้ได้ รวมถึง: โหมด, การตั้งค่าคุณสมบัติ, เศรษฐกิจ, และกล้อง
การตั้งค่ากฎของเทมเพลตปัจจุบันแตกต่างจากการตั้งค่าเริ่มต้นในบริเวณต่อไปนี้: โหมด และเศรษฐกิจ รายการกฎที่มีข้อแตกต่างจะแสดงไว้ด้านล่าง
โหมด
การตั้งค่าการหมุน: ใช้ในการกำหนดพารามิเตอร์ที่เกี่ยวข้องกับการหมุน
การกำหนดค่าทีม: กำหนดจำนวนผู้เล่นต่อเซสชั่น, จำนวนช่องทีมที่พร้อมใช้งาน, และจำนวนผู้เล่นขั้นต่ำที่ต้องการเพื่อเริ่มเกม
เศรษฐกิจ
การแก้ไขร้านค้า: กำหนดรายการที่ผู้เล่นสามารถซื้อด้วยโทเค็นในตำแหน่งเฉพาะและราคาของรายการเหล่านั้น
หมายเหตุ: เนื่องจากเกมเพลย์หลักของเทมเพลตปัจจุบันมุ่งเน้นไปที่ประสบการณ์ของกลไก เครื่องจำหน่ายสินค้าอัตโนมัติ จึงไม่ได้กำหนดค่าไว้ล่วงหน้า หากจำเป็น สามารถลากจากไลบรารีวัตถุมาวางในฉากและสร้างได้


ส่วนติดต่อผู้ใช้
เพื่อสร้าง UI แบบกำหนดเอง ให้คลิก เพิ่มเติม - HUD แบบกำหนดเอง
ที่นี่คุณสามารถแก้ไขอินเตอร์เฟซ HUD แบบกำหนดเองที่ผู้เล่นสามารถโต้ตอบได้ระหว่างการเล่นเกม และนำทางไปยังการออกแบบสคริปต์ที่เกี่ยวข้อง
อินเตอร์เฟซ HUD แบบกำหนดเองของเทมเพลตปัจจุบันให้บริการเฉพาะ กลไกประตูที่เปิดใช้งานด้วยปุ่ม เท่านั้น
เพื่อแก้ไขการควบคุมเฉพาะ ให้เลือก แก้ไขเลย์เอาต์ - จากนั้นเลือกการควบคุมที่ต้องการจากรายการทางด้านซ้าย


ที่นี่คุณสามารถปรับคุณสมบัติต่างๆ ของคอนโทรลเฉพาะได้ เช่น ขนาด ตำแหน่ง มุมการหมุน การมองเห็น ความโปร่งใส สี เนื้อหาที่แสดง ฯลฯ
ไปยังการออกแบบสคริปต์ขององค์ประกอบกราฟิกที่เกี่ยวข้อง:
คลิก แก้ไขสคริปต์ - ไปยังอินเทอร์เฟซการแก้ไขสคริปต์ HUD วิธีการสร้างสคริปต์เฉพาะจะอธิบายไว้ด้านล่าง


เมตาโปรแกรมมิ่ง
กลไกการเล่นเกมเพิ่มเติมต้องใช้เมตาโปรแกรมมิ่งเอดิเตอร์ ซึ่งสามารถเข้าถึงได้โดย:
คลิก เพิ่มเติม - สคริปต์องค์ประกอบ จากนั้นเลือกสคริปต์เฉพาะที่คุณต้องการแก้ไขจากมุมขวาบนของอินเทอร์เฟซ

คุณสามารถแก้ไขสคริปต์เฉพาะและปรับพารามิเตอร์ที่เกี่ยวข้องได้ที่นี่
สำหรับฟังก์ชันสคริปต์ที่ต้องการความเข้าใจเพิ่มเติม ให้คลิกที่สคริปต์ที่เกี่ยวข้องเพื่อดูรายละเอียด
สคริปต์ทริกเกอร์ที่กำหนดเอง
ส่วนนี้แสดงรายละเอียดของผลกระทบและเนื้อหาสคริปต์สำหรับแต่ละกลไก
หมายเลข | ชื่อกลไก |
---|---|
① | โซนการรักษา |
③ | โซนเกิดมอนสเตอร์ |
④ | โซนกับดัก |
⑤ | โซนเทเลพอร์ต |
⑥ | โซนแสดงข้อความ |
⑦ | โซนเปลี่ยนชุด |
⑧ | ลิฟต์ |
⑨ | ประตูอัตโนมัติ |
⑩ | ประตูปุ่มกด |
โซนบำบัด

ภาพรวม:
- หน้าที่หลักของกลไกนี้—การรักษาผู้เล่น (เพิ่มค่าพลังชีวิตของพวกเขา)—ถูกบรรจุอยู่ในฟังก์ชันต่อไปนี้ ซึ่งจะทำงานสำหรับผู้เล่นทุกคนที่มีคุณสมบัติเหมาะสมที่เข้าสู่กลไก ด้านล่างนี้คือการดำเนินการสคริปต์เฉพาะ:
พื้นที่ 2-3
ฟังก์ชัน “Updatetreat”
- หาก “ListOfTreat” > 0 และผลลัพธ์ของ GameTime - ตัวแปรกำหนดเอง “LastUpDateTime” มากกว่า 1000 ให้ตั้งค่าตัวแปรกำหนดเอง “LastUpDateTime” เท่ากับ GameTime
- ทำดัชนีองค์ประกอบ “Player” ภายในคอนเทนเนอร์ข้อมูล “ListOfTreat” หากสุขภาพปัจจุบันของผู้เล่นน้อยกว่าสุขภาพสูงสุดของผู้เล่น ให้เพิ่มสุขภาพของผู้เล่นนั้น 15

- เมื่อผู้เล่นได้รับการรักษา เราต้องการให้มีการแสดงผลทางภาพผ่านเอฟเฟกต์พิเศษเพื่อแสดงว่าฟังก์ชันกำลังทำงานอยู่ ฟังก์ชันนี้ถูกรวมอยู่ในฟังก์ชันต่อไปนี้; ด้านล่างนี้คือการดำเนินการของสคริปต์เฉพาะ:
ส่วนที่ 2-2
ฟังก์ชัน “CreateEffects”
- เพิ่มผู้เล่นเข้าไปในรายการ “ListOfTreat”
- สร้างเอฟเฟกต์กระแสอากาศขึ้นบนผู้เล่น โดยตั้งค่าประเภทการวนซ้ำเป็น ‘Loop’ ตั้งค่า ‘Play Immediately’ เป็น ‘True’ และคืนค่า ‘SpecialEffect’
- แทรก ‘SpecialEffect’ ลงในรายการ ‘SpecialEffect’ ที่ดัชนีซึ่งตรงกับการปรากฏตัวครั้งแรกบนผู้เล่น
- สร้าง ‘SpecialEffect’ ที่ติดตามเป้าหมายของผู้เล่น โดยไม่มีการเลื่อนบนแกน XYZ ใดๆ ไม่มีระบบพิกัดอ้างอิง และตั้งค่าให้เล่นทันที โดยคืนค่า 'Tween’5. ตั้งค่าสีของเอฟเฟกต์ “SpecialEffect” เป็นสีเขียว
- ตั้งค่าขนาดของเอฟเฟกต์ “SpecialEffect” เป็น 0.5 เท่าตามแกน XYZ ทั้งหมด
- แทรก “Tween” ลงในรายการ “Tween” ที่ดัชนีซึ่งตรงกับการปรากฏครั้งแรกของมันในผู้เล่น

- ส่วนนี้กำหนดตัวแปรเพื่อกำหนดเวลาในการดำเนินการของเหตุการณ์เป็นหลัก จัดการกลไกการเข้า/ออกของผู้เล่น และเรียกใช้ฟังก์ชันในเวลาที่เหมาะสม ด้านล่างนี้คือการนำสคริปต์ไปใช้โดยเฉพาะ:
พื้นที่ 2-1
- เมื่อเริ่มต้นเฟส ให้ตั้งค่าตัวแปรกำหนดเอง “LastUpdateTime” เป็นเวลาในเกม
- เมื่อตัวละครผู้เล่นเข้ามาในทริกเกอร์กำหนดเองนี้ ให้เรียกฟังก์ชัน “CreateEffects”
- เมื่อตัวละครผู้เล่นออกจากทริกเกอร์กำหนดเองนี้ ให้ทำลายและลบค่าเป้าหมายแบบกลุ่ม (บางเป้าหมายต้องใช้การจัดดัชนีผ่านรายการ)
- เมื่อมีการอัปเดต ให้เรียกฟังก์ชัน “UpdateTreat”

ภาคผนวก: ตัวแปรและฟังก์ชันที่กำหนดเองที่จำเป็นสำหรับสคริปต์นี้ คุณสามารถดูและจัดการได้โดยคลิกที่ ตัวแปร และ ฟังก์ชัน
โซนความเสียหาย

ภาพรวม:
- ฟังก์ชันหลักของกลไกนี้—การสร้างความเสียหายต่อผู้เล่น (ลดพลังชีวิตของพวกเขา)—ถูกบรรจุอยู่ในฟังก์ชันต่อไปนี้ ซึ่งจะทำงานสำหรับทุกผู้เล่นที่มีคุณสมบัติเหมาะสมที่เข้ามาในพื้นที่ การดำเนินการของสคริปต์เฉพาะมีดังนี้:
พื้นที่ 3-2
ฟังก์ชัน “UpdateInjure”
- หากความยาวของ “ListOfInjure” > 0
- หากผลลัพธ์ของเวลาในเกมลบด้วยตัวแปรกำหนดเอง “LastUpdateTime” มากกว่า 1000 ให้ตั้งค่าตัวแปรกำหนดเอง “LastUpdateTime” เท่ากับเวลาในเกม และกำหนดดัชนีขององค์ประกอบ “Player” ในคอนเทนเนอร์ข้อมูล "ListOfInjure"3. หากสุขภาพปัจจุบันของผู้เล่นไม่เท่ากับ 0 ให้สร้างความเสียหาย 15 หน่วยแก่ผู้เล่นนั้น
- ส่วนนี้เกี่ยวข้องกับการกำหนดตัวแปรเพื่อกำหนดเวลาการดำเนินการของเหตุการณ์ การประมวลผลผู้เล่นที่เข้า/ออกจากกลไก และการเรียกใช้ฟังก์ชันในเวลาที่เหมาะสม ด้านล่างนี้คือการดำเนินการสคริปต์เฉพาะ:
พื้นที่ 3-1
- เมื่อเริ่มฉาก ให้ตั้งค่าตัวแปรที่กำหนดเอง “LastUpdateTime” เป็นเวลาในเกมปัจจุบัน
- เมื่อตัวละครผู้เล่นเข้า/ออกจากทริกเกอร์ที่กำหนดเองนี้ ให้เพิ่ม/ลบพวกเขาออกจาก “ListOfInjure”
- เมื่อมีการอัปเดต ให้เรียกใช้ฟังก์ชัน “UpdateInjure”

โซนเกิดมอนสเตอร์

- สร้างซอมบี้หนึ่งตัวใกล้โซนนี้เมื่อตัวละครผู้เล่นเข้ามา
- ฟังก์ชันหลักของกลไกนี้—การปล่อยซอมบี้—สามารถถูกกระตุ้นได้เมื่อผู้เล่นทุกคนเข้าสู่กลไกนี้ พร้อมด้วยเอฟเฟกต์เสียงที่เกี่ยวข้อง ด้านล่างนี้คือตัวอย่างการเขียนสคริปต์เฉพาะ:
- เมื่อตัวละครผู้เล่นเข้าสู่ทริกเกอร์ที่กำหนดเองนี้ ให้สร้างซอมบี้ที่พิกัด: XYZ = (พิกัด X ของผู้เล่น - 2, พิกัด Y ของผู้เล่น, พิกัด Z ของผู้เล่น - 2) ซอมบี้จะต้องเป็นประเภทปกติ ตั้งค่า auto-target เป็น true, ประเภทพฤติกรรมแบบพาสซีฟ และไม่มีการกำหนดเส้นทาง
- สร้างเอฟเฟกต์เสียงแจ้งเตือนแบบไม่เจาะจงเป้าหมาย โดยตั้งค่าประเภทการวนซ้ำเป็น ‘ครั้งเดียว’ และตั้งค่า ‘เล่นทันที’ เป็น true
โซนกับดัก


- เมื่อตัวละครของผู้เล่นเข้ามา กรงกับดักเหนือศีรษะของพวกเขาจะลดลง คุมขังผู้เล่นไว้ภายในพื้นที่
- หลังจากกรงกับดักลดลง จะมีการนับถอยหลัง 10 วินาทีปรากฏขึ้น และกับดักจะกลับมาทำงานอีกครั้งเมื่อการนับถอยหลังสิ้นสุดลง
ภาพรวม:
- ฟังก์ชันหลักของกลไกนี้—การปล่อยกรงกับดักและดักผู้เล่น—ถูกบรรจุอยู่ในฟังก์ชันต่อไปนี้ ซึ่งจะทำงานสำหรับผู้เล่นทุกคนที่มีคุณสมบัติเหมาะสมที่เข้าสู่กลไก
- ในขณะเดียวกัน การเริ่มต้นกลไกจะถูกบรรจุเป็นฟังก์ชันที่ครอบคลุมการจัดกลุ่มแบบรวมของวัตถุกับดักในฉากและการซ่อนข้อความนับถอยหลังล่วงหน้า การใช้งานสคริปต์เฉพาะมีดังนี้:
พื้นที่ 4-2
ฟังก์ชัน “TrapFalls”
- หาก “TrapState” เป็นจริง ให้ย้ายวัตถุระดับ “Trap” (องค์ประกอบ “Trap” ภายในคอนเทนเนอร์ข้อมูลดัชนี “Trap”) ไปยังพิกัด XYZ = (“Trap” พิกัด X, “Trap” พิกัด Y - 2, “Trap” พิกัด Z)
- ตั้งค่า “TrapState” เป็น false
ฟังก์ชัน “Initialisation” - เพิ่ม “Iron Fence1-4” ลงใน “Trap”
- ตั้งค่าตัวแปรกำหนดเอง “TrapTime” เป็น true3. สร้างวัตถุข้อความที่พิกัด XYZ = (พิกัด X ของ Scene Entity “Block”, พิกัด Y ของ Scene Entity “Block” + 3, พิกัด Z ของ Scene Entity “Block”) โดยให้ผลลัพธ์เป็น “Text”
- ตั้งค่าตัวแปรกำหนดเอง “Time” เป็น “Text”
- ตั้งค่าตำแหน่ง “Text” เป็นพิกัด: XYZ = (Scene Entity “Block” X coordinate, Scene Entity “Block” Y coordinate + 3, Scene Entity “Block” Z coordinate)
- ตั้งค่าเนื้อหา “Text” เป็นสตริง “10”
- ตั้งค่าสเกลแฟกเตอร์ “Text” เป็น 0 ในทุกแกน XYZ

- เมื่อวางกับดัก แสดงการนับถอยหลัง 10 วินาทีให้ผู้เล่นเห็น หลังจากนับถอยหลังเสร็จสิ้น ให้ดึงกับดักกลับและซ่อนข้อความการนับถอยหลัง ฟังก์ชันนี้ถูกบรรจุไว้บางส่วนในฟังก์ชันต่อไปนี้; การใช้งานสคริปต์เฉพาะมีดังนี้:
พื้นที่ 4-3
ฟังก์ชัน “UpdateInjure”
- หาก “TrapState” เป็นเท็จ และผลลัพธ์ของเวลาในเกมลบด้วยตัวแปรกำหนดเอง “LastUpDateTime” เกิน 1000 ให้ตั้งค่าตัวแปรกำหนดเอง “LastUpDateTime” เท่ากับเวลาในเกม แปลงสตริง “Time” เป็นจำนวนเต็มและส่งคืน "
“ผลลัพธ์” และตั้งค่าเนื้อหาของ “เวลา” เป็น “ผลลัพธ์”-1 - หากเนื้อหาของ “เวลา” เป็น 0 ให้ตั้งค่าตัวคูณการปรับขนาดของ “ข้อความ” เป็น 0 ในทุกทิศทาง XYZ ตั้งค่าเนื้อหาของ “ข้อความ” เป็นสตริง “10” เรียกฟังก์ชัน “TrapRecovery” และตั้งค่า “TrapState” เป็น true

- หาก “TrapState” เป็นเท็จ ให้ทำดัชนีองค์ประกอบ “Each” ในคอนเทนเนอร์ข้อมูล “Trap” โดยย้ายวัตถุระดับ “Each” ไปยังพิกัด XYZ = (“Each” พิกัด X, “Each” พิกัด Y + 2, “Each” พิกัด Z)
- ตั้งค่าตัวคูณการปรับขนาด “Time” เป็น 2 ในทุกทิศทาง XYZ

- ส่วนนี้กำหนดเวลาสำหรับการเรียกใช้งานฟังก์ชันเป็นหลัก; การดำเนินการของสคริปต์เฉพาะจะเป็นดังนี้:
พื้นที่ 4-1
- เมื่อเริ่มเกม ให้เรียกใช้ฟังก์ชัน “Initialisation”
- เมื่อตัวละครของผู้เล่นเข้าสู่ทริกเกอร์ที่กำหนดเองนี้ ให้รอ 0.3 วินาทีก่อนเรียกใช้ฟังก์ชัน “TrapFalls” และ “CountDown”
- ระหว่างการอัปเดต ให้เรียกใช้ฟังก์ชัน “UpdateInjure”
ภาคผนวก: ตัวแปรและฟังก์ชันที่กำหนดเองที่จำเป็นสำหรับสคริปต์นี้ คุณสามารถดูและจัดการได้โดยคลิกที่ ตัวแปร และ ฟังก์ชัน
# ### โซนการส่งผ่าน
- แสดงการนับถอยหลัง 3 วินาทีเมื่อตัวละครผู้เล่นเข้ามา พร้อมกับเล่นเอฟเฟกต์การเคลื่อนย้ายตัวละคร2. เมื่อการนับถอยหลังเสร็จสิ้น ตัวละครจะถูกเทเลพอร์ตไปยังตำแหน่งที่กำหนด
ภาพรวม:
- ฟังก์ชันหลักของกลไกนี้—การวาร์ปผู้เล่นที่เข้ามาไปยังตำแหน่งที่กำหนดหลังจาก 3 วินาที—ถูกบรรจุอยู่ในฟังก์ชันต่อไปนี้ ซึ่งสามารถเรียกใช้สำหรับผู้เล่นทุกคนที่มีคุณสมบัติเหมาะสมที่เข้ามาในกลไก ด้านล่างนี้คือการนำสคริปต์ไปใช้เฉพาะ:
พื้นที่ 5-2
ฟังก์ชัน “MyUpdate”
- ดึงข้อมูล “Player” จากคอนเทนเนอร์ข้อมูล “PlayerList”
- ตั้งค่าตัวแปรชั่วคราว “State” เป็นค่า “index” จาก “PlayerStateList”
- หาก “state” = 1 ให้ตั้งค่าตัวแปรชั่วคราว “enter_tick” เป็น “index” จาก “EnterTickList” ตั้งค่าตัวแปรชั่วคราว “stay_tick” เป็นเวลาในเกมลบด้วย “enter_tick” และตั้งค่าตัวแปรชั่วคราว “countdown” เป็นค่า (3000 - “stay_tick”) * 0.001 ปัดขึ้น
- หาก “countdown” > 0 ให้ตั้งค่าเนื้อหาของ “index” ใน “TextEntityList” เป็นสตริง “countdown” มิฉะนั้น ให้ตั้งค่าตัวแปรชั่วคราว “target_pos” เป็นตำแหน่งของวัตถุฉาก “TeleportTar” จากนั้นเทเลพอร์ตผู้เล่นไปยังพิกัด XYZ = (“target_pos” พิกัด X, “target_pos” พิกัด Y + 2, “target_pos” พิกัด Z)
และหมุนมุมเอuler XYZ = (0, 0, 0)
- เมื่อผู้เล่นกำลังจะถูกเทเลพอร์ต เราต้องการให้มีการแสดงผลตอบกลับทางภาพโดยการสร้างเอฟเฟกต์พิเศษบนตัวผู้เล่นเพื่อแสดงว่าฟังก์ชันกำลังทำงาน พร้อมกับแสดงการนับถอยหลังการเทเลพอร์ต 3 วินาที ฟังก์ชันนี้ถูกบรรจุอยู่ในฟังก์ชันต่อไปนี้; ด้านล่างนี้คือการดำเนินการสคริปต์เฉพาะ:
พื้นที่ 5-3
“InitPlayerData” ฟังก์ชัน
- เพิ่มผู้เล่นไปยัง “PlayerList” เพิ่ม 0 ไปยัง “PlayerStateList” เพิ่ม 0 ไปยัง “EnterTickList”
- สร้างวัตถุข้อความที่พิกัด XYZ = (0, 0, 0) โดยคืนค่า “TextEntity”
- สร้าง “TextEntity” สำหรับการติดตามเป้าหมายของผู้เล่น โดยเลื่อนออกจากระบบพิกัดของผู้เล่นที่ XYZ = (0, 1.5, 0) และเล่นทันที
- เพิ่ม “TextEntity” ลงใน “TextEntityList”
- สร้างเอฟเฟกต์แสงสปาร์คบนผู้เล่น ตั้งค่าประเภทการวนซ้ำเป็นวนซ้ำ ตั้งค่าเล่นทันทีเป็นจริง ส่งคืน “VisualEffectEnti”
- ตั้งค่าสีเอฟเฟกต์แสงของ “VisualEffectEnti” เป็นสีน้ำเงิน
- สร้าง " VisualEffectEnti" ให้ติดตามเป้าหมายของผู้เล่น โดยไม่มีการเลื่อนในแกน XYZ ในระบบพิกัดของมัน และเล่นทันที
- เพิ่ม “VisualEffectEnti” ลงใน “VisualEffectList”

ฟังก์ชัน “ReadyToTeleport”
- ตั้งค่า “index” ของ “PlayerStateList” เป็น 1
- ตั้งค่า “index” ของ “EnterTickList” เป็นเวลาในเกม
- ตั้งค่าเนื้อหาของ “index” ใน “TextEntityList” ให้เป็นว่างเปล่า
- ตั้งค่าปัจจัยการปรับขนาดของ “index” ใน “TextEntityList” เป็น 1 ในทุกทิศทางของแกน XYZ5. ตั้งค่าสเกลแฟกเตอร์สำหรับ “index” ใน “VisualEffectList” เป็น 1 ในทุกทิศทาง XYZ
- เมื่อยกเลิกการเทเลพอร์ตของผู้เล่น จะดำเนินการดังต่อไปนี้: ซ่อนข้อความนับถอยหลังและเอฟเฟกต์การเทเลพอร์ต ฟังก์ชันนี้ถูกรวมอยู่ในฟังก์ชันต่อไปนี้; การนำไปใช้ในสคริปต์เฉพาะมีดังนี้:
พื้นที่ 5-5
ฟังก์ชัน “AbortTeleport”
- ตั้งค่า “index” ของ “PlayerStateList” เป็น 0
- ตั้งค่าตัวคูณการปรับขนาดของ “index” ใน “TextEntityList” เป็น 0 ในทุกทิศทาง XYZ
- ตั้งค่าตัวคูณการปรับขนาดของ “index” ใน “VisualEffectList” เป็น 0 ในทุกทิศทาง XYZ

- ส่วนนี้กำหนดเวลาสำหรับการเรียกใช้งานฟังก์ชันเป็นหลัก การดำเนินการของสคริปต์เฉพาะมีดังนี้:
พื้นที่ 5-1
- เริ่มการทำงานของลูป: รอ 0.2 วินาที จากนั้นเรียกใช้ฟังก์ชัน "MyUpdate"2. เมื่อตัวละครผู้เล่นเข้าสู่ทริกเกอร์ที่กำหนดเองนี้ ให้ตั้งค่าตัวแปรชั่วคราว “index” เป็นตำแหน่งที่ “Player” ปรากฏครั้งแรกใน “PlayerList” หาก index=-1 ให้เรียกฟังก์ชัน “InitPlayerData” จากนั้นเรียกฟังก์ชัน “ReadyToTeleport”
- เมื่อตัวละครผู้เล่นออกจากทริกเกอร์ที่กำหนดเองนี้ ให้เรียกฟังก์ชัน “AbortTeleport”

พื้นที่แสดงข้อความ

- แสดงข้อความ “HelloWorld” เมื่อตัวละครผู้เล่นเข้ามา
- ซ่อนข้อความ “HelloWorld” เมื่อตัวละครผู้เล่นออกไป
- ฟังก์ชันหลักของกลไกนี้—การแสดงและซ่อนข้อความ “HelloWorld” ตามความเหมาะสม—ถูกบรรจุอยู่ในฟังก์ชันต่อไปนี้
- เนื้อหานี้ยังกำหนดเวลาการเรียกใช้ฟังก์ชันที่กล่าวถึงข้างต้นด้วย; การนำไปใช้ในสคริปต์เฉพาะมีดังนี้:
-
เมื่อตัวละครผู้เล่นเข้าสู่/ออกจากทริกเกอร์ที่กำหนดเองนี้ ให้เพิ่ม/ลบ “Player” จากรายการ “ListOfPlayer”
-
ที่ตำแหน่งของเอนทิตีฉาก “CueArea” (บันทึกเป็น Location) ให้เรียกฟังก์ชัน “CreateTips” หรือเรียกฟังก์ชัน “DeleteTips”
ฟังก์ชัน “CreateTips” -
สร้างวัตถุข้อความที่ตำแหน่งพิกัด XYZ = (“ตำแหน่ง” พิกัด X, “ตำแหน่ง” พิกัด Y + 2, “ตำแหน่ง” พิกัด Z) โดยให้แสดงข้อความ “เคล็ดลับ”
-
ตั้งค่าตัวแปรกำหนดเอง “เคล็ดลับ” = "เคล็ดลับ"3. ตั้งค่าเนื้อหาของ “เคล็ดลับ” เป็น “Hello World”
ฟังก์ชัน “DeleteTips”
หากความยาวของ “PlayerList” ≤ 0 ให้ทำลาย “เคล็ดลับ”

พื้นที่เปลี่ยนชุด

- ฟังก์ชันหลักของกลไกนี้—เปลี่ยนผู้เล่นให้สวมใส่ชุดที่เหมาะสมกับเพศ—สามารถถูกกระตุ้นได้โดยผู้เล่นใดก็ตามที่เข้าไปในพื้นที่นี้ ด้านล่างนี้คือการเขียนสคริปต์เฉพาะ:
สคริปต์ของพื้นที่นี้แสดงวิธีการเปลี่ยนชุดของตัวละครผู้เล่นแบบสุ่มเป็นชุดเพศที่สอดคล้องกันเมื่อเข้าสู่ทริกเกอร์ที่กำหนดเองนี้
- เมื่อเริ่มเกม ให้เพิ่มชุดต่อไปนี้ลงใน “ตู้เสื้อผ้าผู้หญิง” และ " ตู้เสื้อผ้าผู้ชาย"
- เมื่อตัวละครเข้าสู่การทริกเกอร์ที่กำหนดเองนี้ หากเพศของพวกเขาคือ 2 ให้สับ “ตู้เสื้อผ้าผู้ชาย” และตั้งค่าชุดของพวกเขาเป็นชุดที่อยู่ในดัชนี 0 ของ “ตู้เสื้อผ้าผู้ชาย”
- มิฉะนั้น ให้สับ “ตู้เสื้อผ้าผู้หญิง” และตั้งค่าชุดของพวกเขาเป็นชุดที่อยู่ในดัชนี 0 ของ “ตู้เสื้อผ้าผู้หญิง”

ยก

ภาพรวม:
- ฟังก์ชันหลักของกลไกนี้—ทำให้วัตถุลิฟต์เคลื่อนขึ้นเมื่อผู้เล่นเข้ามาและเคลื่อนลงเมื่อผู้เล่นออกไป—ถูกบรรจุอยู่ในฟังก์ชันต่อไปนี้ ซึ่งจะทำงานสำหรับผู้เล่นทุกคนที่มีสิทธิ์ซึ่งเข้ามาในกลไกนี้ การใช้งานสคริปต์เฉพาะมีดังนี้:
พื้นที่ 6-2, 6-3
ฟังก์ชัน “CreateAnElevator”
- ตั้งค่าตัวแปรกำหนดเอง “ElevatorsLocation” เป็นตำแหน่งของ “Elevator”
- ดำเนินการวนลูปเมื่อเงื่อนไขตรงตาม: ความยาวของ
PlayerList
> 0. รอ 0.5 วินาที, ตั้งค่าพิกัด Y ของElevatorsLocation
เป็นค่าปัจจุบัน + 0.2, อัปเดตตัวแปรกำหนดเองElevatorsLocation
, ตั้งค่าตำแหน่งของElevator
เป็นElevatorsLocation
, ตั้งค่าตำแหน่งของทริกเกอร์กำหนดเองนี้เป็นElevatorsLocation
- ดำเนินการวนลูปต่อไปจนกว่าความยาวของ “PlayerList” ≤ 0 หรือตัวแปรกำหนดเอง “Mark” ≥ 20 มิฉะนั้นให้เพิ่มค่า “Mark” ขึ้น 1
ฟังก์ชัน “DescendElevator” - เงื่อนไข: ดำเนินการลูปเมื่อ “PlayerList” ยาว = 0: รอ 0.5 วินาที, ตั้งตัวแปรชั่วคราว “Time” เป็นตำแหน่งของ “Elevator”, ตั้งค่าแกน Y ของ “Time” เป็นค่าปัจจุบัน - 0.2, อัปเดตตัวแปรที่กำหนดเอง “Time”, ตั้งค่าตำแหน่งของ “Elevator” เป็น “Time”, ตั้งค่าตำแหน่งของทริกเกอร์ที่กำหนดเองนี้เป็น “Time”
- จนกว่า “PlayerList” ความยาว > 0 หรือ “Time”'s Y coordinate ≤ 2.8, มิฉะนั้นให้ดำเนินการวนลูปต่อไปและตั้งค่า “Mark” เป็นค่าปัจจุบัน - 1
- ส่วนนี้กำหนดเวลาการเรียกใช้ฟังก์ชันและกำหนดตัวแปรสำหรับการกำหนดค่าให้กับวัตถุในฉากเป็นหลัก ด้านล่างนี้คือการนำสคริปต์ไปใช้โดยเฉพาะ:
พื้นที่ 6-1
- เมื่อตัวละครผู้เล่นเข้าสู่ทริกเกอร์ที่กำหนดเองนี้ ให้เพิ่มผู้เล่นเข้าไปใน “ListOfInjure” และเรียกฟังก์ชัน “CreateAnElevator”
- เมื่อตัวละครผู้เล่นออกจากทริกเกอร์ที่กำหนดเองนี้ ให้ลบผู้เล่นออกจาก “ListOfInjure” หากความยาวของ " PlayerList" ความยาว ≤ 0, เรียกฟังก์ชัน “DescendElevator”
- เมื่อเริ่มเกม ตั้งค่าตัวแปรกำหนดเอง “Elevator” เป็นวัตถุฉาก “High-Tech Platform A1”

ภาคผนวก: ตัวแปรและฟังก์ชันที่กำหนดเองที่จำเป็นสำหรับสคริปต์นี้ คุณสามารถดูและจัดการได้โดยคลิกที่ ตัวแปร และ ฟังก์ชัน
ประตูอัตโนมัติ

- เมื่อตัวละครผู้เล่นเข้าใกล้ประตู (เข้าสู่ระยะของทริกเกอร์ที่กำหนดเอง) ประตูจะเปิดโดยอัตโนมัติ2. เมื่อตัวละครเคลื่อนที่ออกจากประตูอีกครั้ง (ออกจากระยะของทริกเกอร์ที่กำหนดเอง) ประตูจะปิดโดยอัตโนมัติ
ภาพรวม:
- ฟังก์ชันหลักของกลไกนี้—การเปิดประตูเมื่อผู้เล่นเข้าใกล้และปิดเมื่อพวกเขาออกไป—ถูกบรรจุอยู่ในฟังก์ชันต่อไปนี้ ซึ่งจะทำงานสำหรับทุกผู้เล่นที่มีสิทธิ์ที่เข้ามาในกลไก การดำเนินการของสคริปต์เฉพาะมีดังนี้:
พื้นที่ 7-3, 7-4
ฟังก์ชัน “OpenTheDoor”
หากความยาวของ “PlayerList” ≥ 0 เงื่อนไขเป็นจริง: เริ่มดำเนินการลูปเมื่อ “Mark” ≤ 5 จนกว่าความยาวของ “PlayerList” = 0 หรือ “Mark” > 5; มิฉะนั้น ให้ดำเนินการลูปต่อไป:
- รอ 0.5 วินาที
- ตั้งค่าพิกัดตำแหน่ง “Japanese-Style Platform A1” XYZ = (“Japanese-Style Platform A1” พิกัด X + 0.2, “Japanese-Style Platform A1” พิกัด Y, “Japanese-Style Platform A1” พิกัด Z)3. ตั้งค่ารหัสตำแหน่ง XYZ ของ “Japanese-Style Platform A1(1)” เป็น: (ค่า X ของ “Japanese-Style Platform A1(1)” - 0.2, ค่า Y ของ “Japanese-Style Platform A1(1)”, ค่า Z ของ “Japanese-Style Platform A1(1)”)
- เพิ่มค่าของ “Mark” ขึ้น 1
ฟังก์ชัน “CloseTheDoor”
หากความยาวของ “PlayerList” เท่ากับ 0 ให้ดำเนินการลูปเมื่อ “Mark” ≥ 0 จนกว่าความยาวของ “PlayerList” > 0 หรือ “Mark” = 0; มิฉะนั้น ให้ดำเนินการลูปต่อไป:
- รอ 0.5 วินาที
- ตั้งค่าของ “Mark” เป็นค่าปัจจุบันลบด้วย 1
ตั้งค่าพิกัดตำแหน่ง XYZ ของ “แพลตฟอร์มสไตล์ญี่ปุ่น A1” เป็น: (พิกัด X ของแพลตฟอร์มสไตล์ญี่ปุ่น A1 - 0.2, พิกัด Y ของแพลตฟอร์มสไตล์ญี่ปุ่น A1, พิกัด Z ของแพลตฟอร์มสไตล์ญี่ปุ่น A1)
4. ตั้งค่าพิกัดตำแหน่ง XYZ ของ “แพลตฟอร์มสไตล์ญี่ปุ่น A1(1)” เป็น: XY = (“แพลตฟอร์มสไตล์ญี่ปุ่น A1(1)” พิกัด X + 0.2), Y = (“แพลตฟอร์มสไตล์ญี่ปุ่น A1(1)” พิกัด Y), Z = (“แพลตฟอร์มสไตล์ญี่ปุ่น A1(1)” พิกัด Z)
“แพลตฟอร์มสไตล์ญี่ปุ่น A1(1)” พิกัด Z)
- ส่วนนี้เกี่ยวข้องกับการกำหนดตัวแปรเพื่อกำหนดเวลาการดำเนินการของเหตุการณ์ การประมวลผลผู้เล่นที่เข้าสู่/ออกจากกลไก และการเรียกใช้ฟังก์ชันในเวลาที่เหมาะสม ด้านล่างนี้คือการดำเนินการสคริปต์เฉพาะ:
โซน 7-1, 7-2
- เมื่อเริ่มเกม ให้ตั้งค่าตัวแปรที่กำหนดเอง “มาร์ค” ไปที่ 0
- เมื่อตัวละครผู้เล่นเข้าสู่/ออกจากทริกเกอร์ที่กำหนดเองนี้ ให้รอจนถึงเฟรมถัดไป จากนั้นเพิ่ม/ลบผู้เล่นออกจาก “PlayerList” แล้วรอจนถึงเฟรมถัดไป จากนั้นเรียกฟังก์ชัน “OpenTheDoor”/“CloseTheDoor”


ประตูปุ่ม


-
เมื่อตัวละครของผู้เล่นเข้าใกล้ประตู (เข้าสู่ระยะของทริกเกอร์) อินเทอร์เฟซ UI จะแสดงปุ่ม
. การคลิกปุ่มนี้จะเปิดประตู; การคลิกอีกครั้งจะปิดประตู
-
เมื่อตัวละครเคลื่อนที่ออกจากประตู (ออกจากระยะของทริกเกอร์) ปุ่ม UI
จะหายไป ในขณะที่ประตูจะคงอยู่ในสถานะเปิด/ปิดตามเดิม
- ฟังก์ชันหลักของกลไกนี้—การเปิดประตูเมื่อผู้เล่นกดปุ่มและปิดประตูเมื่อกดปุ่มอีกครั้ง—ถูกบรรจุอยู่ในฟังก์ชันต่อไปนี้ ซึ่งสามารถเรียกใช้งานได้สำหรับผู้เล่นทุกคนที่มีสิทธิ์เข้าใช้งานกลไกนี้:
- นอกจากนี้ยังครอบคลุมถึงการจัดการผู้เล่นที่เข้า/ออกจากกลไกและการเรียกใช้ฟังก์ชันในเวลาที่เหมาะสม การดำเนินการของสคริปต์เฉพาะมีดังนี้:
- เมื่อผู้เล่นเข้าสู่ทริกเกอร์ที่กำหนดเองนี้ ให้ตั้งค่าคุณสมบัติการมองเห็นของ UI ที่กำหนดเอง “HudList” เป็น true
- เมื่อผู้เล่นเข้าร่วมเกม ให้เรียกใช้ฟังก์ชัน “CreateHUD”
- ฟังก์ชัน “CreateHUD”
เพิ่มผู้เล่นไปยัง “PlayerList”
u200b สร้าง HUD แบบกำหนดเอง “Button” สำหรับผู้เล่น และส่งคืน “Ui”
แทรก “Ui” ลงใน “HudList” ที่ตำแหน่งที่ตรงกับการปรากฏครั้งแรกของ “Player” ใน “PlayerList”
ตั้งค่าคุณสมบัติการมองเห็นของ “HudList” (ในฐานะ UI ที่กำหนดเอง) เป็น false
- เมื่อผู้เล่นออกจากทริกเกอร์ที่กำหนดเองนี้ ให้ตั้งค่าคุณสมบัติการมองเห็นของ UI แบบกำหนดเอง “HudList” เป็น false
ภาคผนวก: ตัวแปรและฟังก์ชันที่กำหนดเองที่จำเป็นสำหรับสคริปต์นี้ คุณสามารถดูและจัดการได้โดยคลิกที่ ตัวแปร และ ฟังก์ชัน
สคริปต์ระดับโลก
- เพื่อปรับปรุงเนื้อหาของสคริปต์ให้กระชับและอำนวยความสะดวกในการตรวจสอบสถานะของกลไกหลายตัวผ่านตัวแปรเดียว (เช่น ระยะเวลาการดำเนินการ ยก ของกลไก ⑧ หรือสถานะ ประตูปุ่มกด ของกลไก ⑩) เราจำเป็นต้องใช้ตัวแปรทั่วโลก (กำหนดชื่อว่า Mark)
เมื่อเริ่มเกม ให้ตั้งค่าตัวแปรที่กำหนดเอง “Mark” เป็น 0
หมายเหตุ: ตัวแปรที่กำหนดเองที่จำเป็นสำหรับสคริปต์นี้สามารถดูและจัดการได้โดยคลิกที่ ตัวแปร
สคริปต์ผู้เล่น
- เพื่อให้ผู้เล่นได้รับประสบการณ์การเล่นเกมที่ราบรื่นในแกนหลักของเกม ผู้เล่นต้องสามารถเกิดใหม่ได้หลังจากเสียชีวิต การติดตั้งสคริปต์อย่างเฉพาะเจาะจงคือดังนี้:
- เมื่อผู้เล่นเข้าร่วมเกม ให้ตั้งค่าตัวแปรกำหนดเอง “DamageDetermina” เป็น false
- เมื่อผู้เล่นถูกฆ่า ให้รอ 3 วินาที และเกิดผู้เล่นขึ้นใหม่ในเฟรมถัดไป

สคริปต์ HUD
ภาพรวม:
- เนื่องจากผู้เล่นที่คลิกปุ่มจะกระตุ้นพฤติกรรมที่แตกต่างกันตามสถานะปัจจุบันของประตู จึงจำเป็นต้องประเมินคุณสมบัติของเอนทิตีและค่าของตัวแปรกำหนดเอง Mark ที่นี่ จากนั้นจึงเรียกใช้ฟังก์ชันที่เกี่ยวข้อง ด้านล่างนี้คือการดำเนินการสคริปต์เฉพาะ:
พื้นที่ 1-1
- เมื่อปุ่ม!
ถูกคลิก, หากตำแหน่งแกน X ของเอนทิตี “Frozen Steel Panel A1” ≥2 และตัวแปรกำหนดเอง “Mark” ≠ 1, ให้เรียกฟังก์ชัน “CloseTheDoor”
- มิฉะนั้น, ให้เรียกฟังก์ชัน “OpenTheDoor”

- ฟังก์ชันหลักของกลไก ⑩ประตูปุ่ม—การเปิด/ปิดประตูและยึดประตูไว้ในตำแหน่ง—ถูกบรรจุอยู่ในฟังก์ชันต่อไปนี้ ซึ่งสามารถดำเนินการได้สำหรับผู้เล่นทุกคนที่มีสิทธิ์เข้าใช้งานกลไกนี้ ด้านล่างนี้คือการเขียนสคริปต์เฉพาะ:
โซน 1-2, 1-3
ฟังก์ชัน “OpenTheDoor”
-
หากตัวแปรกำหนดเอง “Mark” = 0 ให้ตั้งค่า “Mark” = 1
-
เริ่มวนลูป: รอ 0.5 วินาที, เคลื่อนวัตถุตามแกน X ไป 0.2 จนตำแหน่ง X ของวัตถุ ≥ 2, ตั้งค่า “Mark” = 2 และออกจากลูป
ฟังก์ชัน “CloseTheDoor” -
หากตัวแปรกำหนดเอง “Mark” = 2 ให้ตั้งค่า “Mark” = 1
-
เริ่มวนซ้ำ: รอ 0.5 วินาที, เคลื่อนวัตถุตามแกน X ไปทางลบ -0.2 จนตำแหน่ง X ≤ 1, ตั้งค่า “Mark” = 0 และออกจากลูป


สคริปต์จุดเกิดใหม่
- เมื่อผู้เล่นเข้าสู่เกมและเริ่มสัมผัสกับการเล่นเกมหลัก จุดเกิดใหม่จะกลายเป็นส่วนประกอบที่ไม่ทำงานซึ่งอาจรบกวนกิจกรรมของผู้เล่นได้ ดังนั้นจึงต้องตั้งค่าให้เป็นสถานะไม่ใช้งาน
- เมื่อรอบเริ่มต้น ให้ตั้งค่าสถานะการใช้งานของเอนทิตีนี้เป็น true
- รอ 2 วินาที
- ตั้งค่าสถานะการใช้งานของเอนทิตีนี้เป็น false

- ปรับค่าต่างๆ ภายในสคริปต์เฉพาะเพื่อกำหนดพฤติกรรมกับดักที่เกินจริงและสุ่มมากขึ้น เพิ่มผลกระทบทางดราม่าของเกม
- ผสานกับกลไกร้านค้าและแนะนำเกมเพลย์การต่อสู้ PVP โดยใช้กับดักเป็นส่วนหนึ่งของระบบอุปสรรค
- ขยายหรือเพิ่มความสามารถของกับดัก สำรวจและนำการประยุกต์ใช้กลไกการเขียนสคริปต์ที่หลากหลายมาใช้เพิ่มเติม