Map Scripting
แนวโน้มพลัง
ขึ้น = บัฟ, ลง = เนิร์ฟประวัติแพตช์
- ≈✨NewAPI Functions—→Added
เพิ่มฟังก์ชันสคริปต์ใหม่จำนวนมากสำหรับตัวควบคุมผู้เล่น, pawns และสถานะอาวุธ (เช่น การจัดการเงิน, สถานะหมวกเกราะ, สถานะการเล็ง)
new
- ≈🔁ReworkOnPlayerUseactivator/caller
เปลี่ยนตัวกระตุ้น (activator) ให้เป็นผู้เล่นเสมอ และตัวเรียก (caller) ให้เป็นเอนทิตีที่ถูกใช้งานเสมอสำหรับ OnPlayerUse
rework
- ▲✨NewOnBulletImpacthitEntity—→Added
เพิ่ม hitEntity เข้าไปในข้อมูลเหตุการณ์ OnBulletImpact ทำให้สคริปต์สามารถระบุได้ว่าโดนอะไร
API expansion
- ▲✨NewCSWeaponBaseAmmo Methods—→Added
เพิ่มเมธอด Get/Set สำหรับกระสุนในแม็กกาซีนและกระสุนสำรอง เพื่อให้ผู้สร้างม็อดควบคุมสถานะอาวุธได้ดียิ่งขึ้น
API expansion
- ≈🐛Bug fixCSPlayerPawnDucking StateMissing→Fixed
แก้ไขเมธอด IsDucking() และ IsDucked() ที่หายไปสำหรับ player pawns
Bugfix
- ▲🔁Reworkcs_script enums—→TypeScript compatible
อัปเดต cs_script enums ให้สามารถนำเข้าและทำงานเหมือน TypeScript enums เพื่อปรับปรุงขั้นตอนการทำงานของนักพัฒนา
Enums ทำงานเหมือน TypeScript enums แล้ว
- ▲✨NewScripting Enums—→Added
เพิ่ม enums ใหม่หลายรายการ รวมถึง CSRoundEndReason และ CSHitGroup เพื่อขยายขีดความสามารถในการเขียนสคริปต์แผนที่
เพิ่ม CSRoundEndReason, CSHitGroup และอื่นๆ
- ▲🔁ReworkInstance.OnBeforePlayerDamage—→Modified
ปรับปรุง OnBeforePlayerDamage เพื่อให้สคริปต์สามารถรับและแก้ไขประเภทความเสียหายและแฟล็กได้
ตอนนี้สามารถรับและแก้ไข damageType และ damageFlags ได้แล้ว
- ≈📊Numerictsconfig target—→es2022
อัปเดต tsconfig.json ให้รองรับ es2022 เพื่อปรับปรุงการวิเคราะห์ประเภทข้อมูลสำหรับนักพัฒนาสคริปต์
อัปเดตเป้าหมายเพื่อให้การวิเคราะห์ประเภทข้อมูลแม่นยำยิ่งขึ้น
- ▲🎯Behaviorpoint_scriptspawn behaviorremove self→inactive state
เอนทิตี point_script จะยังคงสถานะไม่ใช้งานแทนที่จะถูกลบออกเมื่อโหลดสคริปต์ไม่สำเร็จ ทำให้สามารถอัปเดตแบบสดได้ในโหมดเครื่องมือ (tools mode)
ป้องกันการลบเอนทิตีเมื่อโหลดสคริปต์ไม่สำเร็จในโหมดเครื่องมือ
- ≈🐛Bug fixpoint_scriptstability
แก้ไขปัญหาเกมค้างที่อาจเกิดขึ้นเมื่อ point_script โหลดสคริปต์ที่ไม่ถูกต้องซ้ำในโหมดเครื่องมือ
แก้ไขปัญหาเกมค้างเมื่อโหลดซ้ำไม่สำเร็จ
- ≈✂️RemovedInstance.OnGameEventavailabilityAvailable→Removed
นำ Instance.OnGameEvent ออกและเปลี่ยนไปใช้วิธีการลงทะเบียนเหตุการณ์เฉพาะแทนเพื่อปรับปรุงความเสถียรของ API
แทนที่ด้วยวิธีการลงทะเบียนแบบแยกตามเหตุการณ์
- ▲✨NewInstancedebug tools—→Added
เพิ่ม DebugLine และ DebugBox เข้าไปใน Instance API เพื่อช่วยผู้สร้างแผนที่ในการดีบั๊กเชิงภาพ
เพิ่ม DebugLine และ DebugBox
- ▲✨NewInstanceevent hooks—→Added
เพิ่มชุดคำสั่ง hook สำหรับเหตุการณ์ใหม่ๆ มากมาย เช่น RoundStart, RoundEnd, BombPlant, BombDefuse และ PlayerKill เพื่อรองรับการเขียนสคริปต์แผนที่ที่ซับซ้อนขึ้น
เพิ่ม hook สำหรับเหตุการณ์ในเกมต่างๆ (RoundStart, BombPlant ฯลฯ)
- ▲✨NewCSPlayerPawnstate queries—→Added
เพิ่มวิธีการใหม่ในการตรวจสอบว่าผู้เล่นกำลังหมอบหรือใช้โหมด noclip อยู่หรือไม่ เพื่อให้สามารถสร้างทริกเกอร์สคริปต์ที่ตอบสนองได้ดีขึ้น
เพิ่ม IsCrouching, IsCrouched และ IsNoclipping
- ≈✨Newscripting system—→cs_script
เพิ่ม cs_script ซึ่งเป็นระบบสคริปต์ที่ใช้ JavaScript ช่วยให้ผู้สร้างแผนที่สามารถใช้ตรรกะที่ซับซ้อนขึ้นได้
การรวมระบบ JS
- ≈✨Newdemo map—→script_zoo.vmap
เพิ่ม script_zoo.vmap เพื่อสาธิตการทำงานและการใช้งานระบบ cs_script ใหม่
แผนที่ตัวอย่าง