การตั้งค่า
การเพิ่มแผนที่ใหม่
ในการเพิ่มแผนที่ใหม่เข้าไปในเกม คุณต้องสร้างแผนที่นั้นก่อน แผนที่ต้องประกอบด้วย 2 จุดเกิด หนึ่งจุดสำหรับแต่ละทีม และ พื้นดิน สำหรับผู้เล่นยืนอยู่
สิ่งสำคัญคือต้องเปลี่ยนชื่อแต่ละจุดเกิดเพื่อให้ง่ายต่อการระบุ และต้องตั้งค่า ทีม เป็น 4
ถัดไป นำทางไปยัง สคริปต์ทั่วโลก ดังนี้:
ในที่นี้ คุณสามารถหาสถานที่เพื่อเพิ่มแผนที่ใหม่ได้ ผ่านฟังก์ชัน Init ใน สคริปต์ทั่วโลก คุณสามารถหาวิธีที่จะใช้ฟังก์ชัน เพิ่มแผนที่ ได้
เพื่ออธิบายพารามิเตอร์ของฟังก์ชันเพิ่มแผนที่ใหม่ อย่างย่อ:
- ชื่อแผนที่: กำหนดชื่อของแผนที่ใหม่ (ต้องไม่ซ้ำกัน)
- จุดเกิดT1: กำหนดเอนทิตี้จุดเกิดของทีม 1
- จุดเกิดT2: กำหนดเอนทิตี้จุดเกิดของทีม 2
ชื่อของแผนที่สามารถเป็นข้อความใด ๆ ที่คุณต้องการได้ จุดเกิดต้องเลือกและใส่อย่างถูกต้อง ตัวอย่างสามารถดูได้จากเซตของภาพด้านล่าง
คลิกที่หลอดดูดสีเพื่อเลือกจุดเกิดของแผนที่ที่สอดคล้องกัน
ผลลัพธ์สุดท้ายควรจะคล้ายกับนี้
จบส่วนของตรรกะในการเพิ่มแผนที่ใหม่เข้าสู่พูลแล้ว คุณสามารถตกแต่งแผนที่ได้ตามต้องการเพื่อสร้างแผนที่ในฝันของคุณ
การตั้งค่าไอซ์วอลล์ไม่จำกัด
การตั้งค่าให้แผนที่มีไอซ์วอลล์ไม่จำกัดนั้นง่ายมาก
ก่อนอื่น ไปที่ การตั้งค่า จากนั้นเลือก การตั้งค่าเกม แล้วเพียงแค่สลับเปิดหรือปิดตัวเลือกไอซ์วอลล์ไม่จำกัดเพื่อเปิดหรือปิดฟีเจอร์นี้
การตั้งค่าโหมดยิงหัวเท่านั้นและการดรอปไอเทมเมื่อถูกกำจัด
หากต้องการเปิดหรือปิดโหมดยิงหัวเท่านั้นและการดรอปไอเทมเมื่อถูกกำจัด ให้ไปที่ การตั้งค่า จากนั้นเลือก การตั้งค่าเกมเพลย์ แล้วเลือก แก้ไขกติกาเกมเพลย์
จากนั้นไปที่ การตั้งค่าคุณสมบัติ เพื่อค้นหาตัวเลือก ยิงหัวเท่านั้น และ ดรอปไอเทม
ปรับฟีเจอร์ต่างๆ เหล่านี้ได้ตามต้องการเพื่อเปิดหรือปิดฟีเจอร์เหล่านี้
คำอธิบายสคริปต์
ตรรกะทั้งหมดของโปรเจกต์นี้จะอยู่ใน Global และเอนทิตี้ผู้เล่น
สคริปต์ Global
ตรรกะหลักของแผนที่ทั้งหมดจะหมุนรอบ 2 เหตุการณ์หลักคือ On Game Start
และ On Round Start
ฟังก์ชันหลักของสคริปต์นี้คือการกระจายผู้เล่นไปยังแต่ละจุดเกิดแบบถูกต้อง สุ่มแผนที่ และตั้งค่าแผนที่ใหม่เพื่อเพิ่มเข้าเกม
On Game Start
เมื่อเริ่มเกม จะต้องมีการตั้งค่าแผนที่ ซึ่งจะทำผ่านฟังก์ชัน Init
ฟังก์ชันนี้ยังเป็นที่ที่ผู้ใช้สามารถเพิ่มแผนที่ผ่านฟังก์ชัน
เพิ่มแผนที่
ได้
ฟังก์ชันนี้ทำงานโดยการเพิ่มแท็กให้กับจุดเกิดของแต่ละแผนที่ โดยแผนที่จะถูกระบุผ่านพารามิเตอร์ ชื่อแผนที่
จากนั้นจุดเกิดทั้งหมดจะถูกเพิ่มเข้าไปในรายการจุดเกิดเพื่อใช้งานในภายหลัง
ดังนั้นชื่อของแต่ละแผนที่ต้องไม่ซ้ำกันเพื่อให้ระบบทำงานได้อย่างถูกต้อง
เมื่อเริ่มรอบ
ในแต่ละรอบจะต้องเลือกแผนที่ใหม่ เอนทิตี้เกมจะต้องเลือกชื่อแผนที่ (MapTag) จากกลุ่มแผนที่ในฟังก์ชัน ChooseRandomMap
จากนั้นแท็กจะถูกบันทึกว่าเป็นแผนที่ที่ถูกใช้งาน หากจำนวนรายการในรายชื่อแท็กที่ใช้แล้วมากกว่าจำนวนรายการในรายชื่อแท็กทั้งหมด รายชื่อแท็กที่ใช้แล้วจะถูกรีเซต
จุดเกิดของผู้เล่นจะถูกกำหนดโดยใช้แท็กเดียวกัน โดยเฉพาะจุดเกิดของทีม 1 และทีม 2 จะถูกบันทึกไว้เพื่อใช้งานในภายหลัง
สคริปต์ผู้เล่น
สคริปต์ผู้เล่นมีหน้าที่หลักในการจัดการตรรกะ ยิงหัวเท่านั้น ตรรกะ ไอซ์วอลล์ไม่จำกัด อุปกรณ์ และ ส่วนติดต่อผู้ใช้
เมื่อ Awake
เริ่มต้นเมื่อผู้เล่นถูกสร้างขึ้น ฟังก์ชันบางอย่างจะถูกเรียกใช้งานทันที
รายการแรกคือฟังก์ชัน Init
ฟังก์ชันนี้จะเปิดโหมดอมตะให้ผู้เล่นในล็อบบี้ และลงทะเบียนรหัสทีมของผู้เล่นเพื่อใช้งานต่อไป
SetPlayerSetting
เป็นฟังก์ชันที่ใช้ตั้งค่าผู้เล่น ป้องกันไม่ให้ดรอปไอเทมเมื่อถูกกำจัด และกำหนดตรรกะ ยิงหัวเท่านั้น สำหรับผู้เล่น โดยการตั้งค่า เปอร์เซ็นต์ความเสียหายที่ได้รับ ของผู้เล่นให้มีค่าน้อยมากจนแทบไม่โดนความเสียหายเลย เนื่องจากเราต้องการให้ผู้เล่นโดนความเสียหายจากการยิงหัวเท่านั้น จึงต้องปรับ ลดความเสียหายจากการยิงหัว ของผู้เล่นในปริมาณเดียวกันเพื่อหักล้างผลของ เปอร์เซ็นต์ความเสียหายที่ได้รับ
ถัดไป InitEquipment
จะเพิ่มไอซ์วอลล์เข้าไปในคลังของผู้เล่น หากไม่ได้เปิดใช้งานตัวเลือกไอซ์วอลล์ไม่จำกัดในตั้งค่า ไอซ์วอลล์นี้ก็ยังคงอยู่ในคลังของผู้เล่น สามารถลบออกได้หากต้องการ
เพื่อลดความสับสนขณะผู้เล่นอยู่ในล็อบบี้ จะมีการสร้างการแจ้งเตือนผ่านฟังก์ชัน CreateStartNoti
เมื่อเริ่มรอบ
เมื่อรอบใหม่เริ่มขึ้น ผู้เล่นจะถูกวาร์ปไปยังแผนที่ที่กำหนดไว้และ UI ของพวกเขาจะถูกปรับให้เหมาะสม
ตามชื่อ TPToSpawn
จะวาร์ปผู้เล่นไปยังจุดเกิดที่ถูกต้องซึ่งได้มาจากสคริปต์ Global
จากนั้น CreateHSOnlyNoti
จะมีหน้าที่แจ้งเตือนผู้เล่นว่าขณะนี้โหมดเป็น Headshot Only หรือไม่ หากแผนที่ถูกตั้งค่าเป็นโหมดปกติ การแจ้งเตือนนี้จะไม่แสดงขึ้น
ในขณะเดียวกัน การแจ้งเตือนที่สร้างจากล็อบบี้จะต้องถูกลบออก
เมื่อสวมใส่อาวุธ
จากเหตุการณ์นี้ จะมีการนำตรรกะสำคัญของโหมด Headshot Only มาใช้กับอาวุธ
โดยปกติ หากปรับแค่ ลดความเสียหายจากการยิงหัว และ เปอร์เซ็นต์ความเสียหายที่ได้รับ ของผู้เล่นเท่านั้น ความเสียหายจากการยิงหัวจะเหลือเพียง 1 ถึง 5 ต่อการยิงหนึ่งครั้ง ดังนั้นจึงต้องตั้งค่า Head Damage Factor ของอาวุธเป็น 55000 เพื่อให้ใกล้เคียงกับความเสียหายยิงหัวเดิมของอาวุธมากที่สุด ค่านี้สามารถปรับเปลี่ยนได้หากต้องการความเสียหายที่แตกต่าง
เมื่อจบช่วงเกม
จุดประสงค์หลักของอีเวนต์นี้คือการลบการแจ้งเตือนยิงหัวเท่านั้นของผู้เล่นเมื่อจบช่วงการต่อสู้
เมื่อผู้ใช้กดออกหรือจบการแข่งขัน
อีเวนต์นี้ใช้เพื่อให้แน่ใจว่า HUD ถูกลบอย่างถูกต้องเมื่อการแข่งขันจบ