ลองทำระบบ Auto Dispel ตามคุณสมบัติที่บอกให้แล้วครับ
ไม่รู้ว่าตรงตามความต้องการหรือเปล่าครับ ถ้าต้องการให้ปรับแก้ส่วนไหนเพิ่มเติมบอกได้นะครับ
หากมีบั๊กรบกวนแจ้งด้วยนะครับ
ถ้าใช้แล้วไม่มีปัญหาแต่อย่างใด จะนำไปลงในหมวดแจกสคริปต์อย่างเป็นทางการอีกทีนะครับ ในสคริปต์ผมแนบเครดิตคุณ anatong123 ไว้ในส่วนบนสุดของโค้ดแล้ว (Inspiration)
ดาวน์โหลดได้ที่
https://github.com/Splendith/rpgmaker/bl...Dispel.txt เข้าไปกดปุ่ม Raw แล้ว Ctrl+S ได้เลยครับ
เอาไปใช้ได้กับทุกโปรเจกต์ แต่ขอเครดิตด้วยคร้าบ
รูปแบบของสกิลอ้างอิงตามนี้เลยครับ
Quote:คือทุกครั้งที่ศัตรูกำลังจะใช้สกิล มันก็จะทำงานโดยอัตโนมัติครับ แต่มันจะมีโอกาสเกิดเพียง y% เท่านั้น
สมมติ monster A กำลังจะใช้สกิลอะไรสักอย่าง แล้วฮีโร่ที่มีสกิลนี้ จะใช้มาแทรกเลย ทำให้สกิลนั้นไม่ออก คือไม่มี animation ออกมาเลยครับ
วิธีการใช้งาน ให้เอา script ไปวางใน Material ของ script editor ในหน้าจอ Script ไม่ต้องตั้งค่าอะไรเพิ่มเติม
วิธีการคอนฟิก ให้ไปที่ skill database สร้าง skill ขึ้นมา 1 อัน ส่วนที่มีผลกับการตั้งค่ามีเพียงส่วนที่เน้นตามภาพครับ
อธิบายคุณสมบัติบางส่วนเพิ่มเติม- Skill Type มีผลกับการโดนยับยั้ง เช่น ถ้าตั้ง Skill Type เป็น Magic สกิล Auto Dispel จะไม่ถูกใช้งานถ้าผู้มีสกิลกำลังติดสถานะใบ้
- ส่วนของ Occasion ควรตั้งเป็น Never เพราะเป็น Passive Skill ระบบจะเรียกใช้อัตโนมัติอยู่แล้ว (นอกจากจะเอาสกิลอันนี้ไปใช้ทำอย่างอื่นด้วย ซึ่งคิดว่าคงพิลึกน่าดู)
- ส่วนของ Animation จะเป็น Animation ที่ใช้ใส่ศัตรูในกรณีที่โดน Auto Dispel จากผู้มีสกิล
- ในส่วนของ Note ให้ใส่ Tag พิเศษเพิ่มเติม ซึ่งจะกล่าวรายละเอียดในส่วนถัดไป
การเซ็ต Skill Note
มีการเซ็ตรูปแบบได้ดังนี้
Code:
<auto_dispel x y%> หรือ
<auto_dispel x y% targeted>
มาดูแบบบนก่อนครับ
กำหนดให้ x และ y เป็นตัวแปรกำหนดคุณสมบัติดังนี้
- x: เป็นค่า Skill Type ID ที่สามารถยับยั้งได้ โดยทั่วไปแล้ว
- การโจมตีทั่วไป ให้ตั้งค่า x = 0
- ทักษะพิเศษ (special) ให้ตั้งค่า x = 1
- เวทมนตร์ (magic) ให้ตั้งค่า x = 2
- y: เป็นโอกาสสำเร็จของการร่าย Auto Dispel ในกรณีที่ท่านขอมา ให้ใส่ y = 10
ส่วนแบบต่อมา ที่มี targeted ด้านหลัง หมายถึง จะมีสิทธิ์ร่าย Auto Dispel ก็ต่อเมื่อสกิลของศัตรูมีเป้าหมายไปยังตนเองเท่านั้น (หากไม่มี targeted จะมีโอกาสร่ายเสมอไม่ว่าศัตรูจะใช้สกิลอะไร ใส่ใคร หรือแม้กระทั่งใส่ตัวศัตรูเอง)
ตัวอย่าง
ความหมายคือให้สกิลดังกล่าวมีโอกาสร่าย Auto Dispel ใส่ศัตรูที่กำลังร่ายเวทมนตร์ (magic) ใส่ใครก็ได้ ซึ่งมีโอกาสสำเร็จ 10%
สามารถใส่ Note Tag ได้มากกว่า 1 อัน (1 บรรทัด ต่อ 1 อัน) เช่น ถ้าใส่แบบนี้
Code:
<auto_dispel 1 40% targeted>
<auto_dispel 1 20%>
<auto_dispel 2 10%>
หมายความว่าสกิลนั้นมีโอกาส 40% ที่จะยับยั้งศัตรูที่ใช้สกิลพิเศษ (special) ที่ตีตัวเองเท่านั้น, มีโอกาส 20% ที่จะยับยังศัตรูที่ใช้สกิลพิเศษ (special) ใส่ใครก็ได้, และมีโอกาส 10% ที่จะยับยั้งศัตรูที่ใช้สกิลเวทมนตร์ (magic) ใส่ใครก็ได้ เป็นต้น
หมายเหตุ:- ศัตรูหรือมอนสเตอร์ สามารถตั้งให้มีสกิล Auto Dispel ได้เหมือนกันนะ เพียงแต่จะไม่สนใจค่า Rating เพราะใช้จากการตั้งค่าใน Note Tag แทน (ยังคงสนใจเงื่อนไขการใช้สกิลอื่นๆ นะ เช่น ใช้เมื่อ HP ต่ำกว่า 50% เป็นต้น)
- Auto Dispel จะเสีย MP, TP = 0 เสมอ ไม่ว่าจะตั้งค่าใน Skill Database เป็นอะไรก็ตาม
- ถ้ามีสมาชิกในกลุ่มมีสกิล Auto Dispel มากกว่า 1 คน แล้วมีมากกว่า 1 คนที่ร่ายติด จะสุ่มคนใดคนหนึ่งใช้ Auto Dispel เท่านั้น
ตอนทดสอบ ลองตั้งให้เป็น 100% หรือ 50% ก็ได้ครับ จะได้เห็นผลว่ามันทำงานอย่างไร แล้วพอทำเกมจริงค่อยตั้งเป็น 10%