บทความนี้จะแนะนำวิธีการแก้ไขเมตาสคริปต์
คำอธิบายอินเทอร์เฟซ

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

รอยบุ๋มเหนือส่วนดั้งเดิมหมายถึงส่วนดั้งเดิมอื่น ๆ สามารถเชื่อมโยงกันก่อนส่วนดั้งเดิมนี้ และจะทำงานหลังจากส่วนดั้งเดิมก่อนหน้าทำงานเท่านั้น

หากไม่มีรอยบุ๋มที่ด้านบนแต่มีส่วนโป่งที่ด้านล่าง แสดงว่าส่วนดั้งเดิมนั้นเป็นจุดเริ่มต้นของส่วนตรรกะ ซึ่งโดยทั่วไปคือส่วนดั้งเดิมของเหตุการณ์

ถ้าไม่มีความนูนหรือเว้าอยู่ด้านบนหรือด้านล่าง แสดงว่าข้อมูลดั้งเดิมนั้นเป็นชิ้นข้อมูลหนึ่ง และสามารถนำไปยังข้อมูลดั้งเดิมอื่นได้

ไพรมิทีฟจะมีพารามิเตอร์อินพุตและเอาต์พุต:
พารามิเตอร์อินพุต:
พารามิเตอร์อินพุตจะว่างเปล่าตามค่าเริ่มต้น และประเภทที่ทำเครื่องหมายไว้ข้างในจะเป็นประเภทของพารามิเตอร์ที่ต้องการ

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

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


การใช้แบบดั้งเดิมที่มีร่องอยู่ด้านบน คุณสามารถเชื่อมแบบดั้งเดิมทั้งสองเข้าด้วยกันได้:


ตรรกะของกลุ่มของสิ่งดั้งเดิมจะมาจากบนลงล่างเสมอ:


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


เมื่อคุณลากองค์ประกอบ องค์ประกอบด้านล่างก็จะถูกลากออกไปด้วยเช่นกัน:


กดปุ่ม Ctrl ค้างไว้แล้วลากเพื่อลากเฉพาะองค์ประกอบปัจจุบัน และองค์ประกอบด้านล่างจะเชื่อมต่อกับองค์ประกอบด้านบนโดยอัตโนมัติ:

แผงคุณสมบัติองค์ประกอบ
คลิกที่องค์ประกอบแล้วมันจะถูกเลือก

ในแผงตรวจสอบทางด้านขวา คุณสามารถดูข้อมูลโดยละเอียดขององค์ประกอบที่เลือก รวมถึงชื่อ คำอธิบาย ชื่อพารามิเตอร์ ประเภทพารามิเตอร์ ประเภทค่าส่งคืน คำอธิบายค่าส่งคืน ฯลฯ

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



หลังจากสร้างแอตทริบิวต์เอนทิตีทั่วโลกแล้ว คุณสามารถใช้ Get Global Entity เพื่อรับแอตทริบิวต์ได้:

ใช้ Set Global Entity เพื่อตั้งค่าคุณสมบัติ:

ตัวแปรสคริปต์
ในหมวดตัวแปรมีปุ่มสร้างตัวแปร:


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

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

คุณสามารถเปลี่ยนชื่อตัวแปรได้โดยการดับเบิลคลิกชื่อตัวแปร:

บล็อกโค้ดเป็นลำดับต่อเนื่องของไพรมิทีฟ ควรสังเกตว่าไพรมิทีฟ “if-else” ในการจำแนกประเภทตามเงื่อนไขคือบล็อกโค้ดสองบล็อกตามค่าเริ่มต้น โดยแต่ละบล็อก “if” “else” และ “else-if” จะเป็นบล็อกโค้ดอิสระ


ฟังก์ชั่นที่กำหนดเอง
เมตาสคริปต์รองรับทั้งฟังก์ชันที่มีและไม่มีค่าส่งคืน
ฟังก์ชันที่มีค่าส่งคืนไม่สามารถเชื่อมโยงกับเอนทิตีอื่นได้เมื่อถูกเรียก เอนทิตีที่เรียกคือค่าส่งคืน


ฟังก์ชันที่ไม่มีค่าส่งคืนสามารถเชื่อมโยงกับฟังก์ชันพื้นฐานอื่น ๆ ได้เมื่อเรียกใช้


รอ: เมื่อฟังก์ชันดั้งเดิมเป็นฟังก์ชันอะซิงโครนัส ฟังก์ชันดั้งเดิมนั้นจะถูกบล็อก และฟังก์ชันดั้งเดิมถัดไปจะถูกดำเนินการหลังจากดำเนินการฟังก์ชันอะซิงโครนัสแล้ว
การดำเนินการ: หากฟังก์ชันดั้งเดิมเป็นฟังก์ชันแบบอะซิงโครนัส จะไม่ถูกบล็อกและฟังก์ชันดั้งเดิมที่ตามมาก็จะถูกดำเนินการต่อไป
ฟังก์ชันอะซิงโครนัสคือฟังก์ชันที่ใช้ฟังก์ชันพื้นฐานที่ดำเนินการประมวลผลแบบอะซิงโครนัส เช่น “รอ”

หมายเหตุ: ไม่รองรับการใช้ไพรมิทีฟแบบอะซิงโครนัสในฟังก์ชันที่มีค่าส่งคืน

หากคุณต้องการให้ฟังก์ชันอะซิงโครนัสส่งคืนค่า ให้ใช้ฟังก์ชัน void และใช้ตัวแปรเอาต์พุต

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


กิจกรรมที่กำหนดเอง
นอกเหนือจากเหตุการณ์ต่างๆ อย่างเป็นทางการที่จัดเตรียมไว้แล้ว คุณยังสามารถทริกเกอร์ตรรกะผ่านเหตุการณ์ที่กำหนดเองได้อีกด้วย

คลิกปุ่มเพื่อดำเนินการจัดการเหตุการณ์ที่กำหนดเอง:
คลิกขวาในรายการเหตุการณ์ที่กำหนดเองเพื่อจัดการเหตุการณ์ที่กำหนดเอง:

คลิกปุ่ม + เพื่อสร้างกิจกรรมที่กำหนดเองใหม่:

ที่นี่คุณต้องตั้งชื่อเหตุการณ์ที่กำหนดเอง ประเภทของวัตถุที่จะส่งสัญญาณเหตุการณ์ที่กำหนดเอง และพารามิเตอร์ เฉพาะประเภทของวัตถุที่ระบุเท่านั้นที่จะรับสัญญาณที่ทริกเกอร์เหตุการณ์ได้

ส่งกิจกรรมที่กำหนดเองไปยังผู้เล่นทุกคนในช่วงเริ่มต้นเทิร์นของพวกเขา

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

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


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


แก้ไขสคริปต์:
- ผู้เล่นแต่ละคนที่เข้าร่วมเกมจะต้องออกอุปกรณ์ประกอบฉากหนึ่งครั้ง:

ในการเพิ่มพร็อพเบื้องต้น จำเป็นต้องมีพารามิเตอร์สามอย่าง ได้แก่ เป้าหมายสำหรับการเพิ่มพร็อพ พร็อพที่จะเพิ่ม และจำนวนพร็อพที่ต้องเพิ่ม
เป้าหมายของการเพิ่มพร็อพคือผู้เล่นที่กระตุ้นเหตุการณ์เมื่อผู้เล่นเข้าร่วมเกม พร็อพจะถูกเลือกเป็น M4A1 ผ่านตัวจัดการทรัพยากร และจำนวนคือ 1

สำหรับข้อ 2 จำเป็นต้องหักลบด้านสุขภาพทุกครั้งที่มีการยิงปืน:
เราพบว่าพวกดั้งเดิมไม่ได้ถูกหักค่าสุขภาพออกไปจริงๆ:

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

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

ค่าแอททริบิวต์ที่ต้องการเปลี่ยนคือค่าสุขภาพปัจจุบัน เลือกค่าสุขภาพปัจจุบัน
ค่าที่ตั้งไว้คือค่าสุขภาพปัจจุบันลบ 1 ดังนั้นจำเป็นต้องรับค่าสุขภาพปัจจุบัน

ใช้การลบวิธีการจำแนกข้อมูลเพื่อลดจำนวนลงหนึ่งและเพิ่มพารามิเตอร์:


คุณยังสามารถใช้การดำเนินการตั้งค่าแอตทริบิวต์ดั้งเดิมโดยตรงเพื่อใช้งานตรรกะนี้ได้:

เรียกใช้ดีบักเกอร์เพื่อดูผลลัพธ์:

ทุกคนได้รับ M4A1

ยิงไป 8 ครั้ง และเสียพลังชีวิตไป 8 แต้ม
เมื่อทำการยิง การยิงจะเริ่มทำงานทุกครั้งที่มีคำสั่งยิง การยิงอาวุธระเบิดก่อนที่จะลดอาวุธลงถือเป็นการยิงหนึ่งครั้ง และเหตุการณ์นี้สามารถเกิดขึ้นได้เพียงครั้งเดียวเท่านั้น