Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
RMVX Ace อยากสร้างสกิล autodispel ครับ
#11
(05-09-2015, 09:41 PM)splendith Wrote: ขอข้อมูลเพิ่มเติมครับ

สกิลที่ใช้จำเป็นต้องพุ่งเป้าหมายไปยังฮีโร่ที่มี auto dispel หรือไม่ครับ เช่น ถ้า ศัตรู heal ตัวเอง สามารถ auto dispel ไม่ให้ศัตรูฮิลตัวเองได้หรือไม่ครับ หรือว่า ถ้า ศัตรูใช้สกิลใส่นาย A นาย B สามารถ auto dispel ได้ไหมครับ

ผู้ที่โดน auto dispell จะเสีย MP / TP ที่ใช้ไปแล้วไหมครับ

ไม่จำเป็นต้องพุ่งเป้าหมายไปยังฮีโร่ที่มีสกิลนี้ครับ คือศัตรูใช้สกิลไรก้แล้วแต่ แต่ถ้าโอกาส 10% (หรือมากกว่านี้) มันติด ก็จะทำให้สกิลของศัตรูนั้นไม่มีผลขึ้นมาน่ะครับ

ใช่ครับ ผู้ที่โดน auto dispel จะเสีย MP ตามสกิลนั้นไป
Reply
#12
ลองทำระบบ Auto Dispel ตามคุณสมบัติที่บอกให้แล้วครับ
ไม่รู้ว่าตรงตามความต้องการหรือเปล่าครับ ถ้าต้องการให้ปรับแก้ส่วนไหนเพิ่มเติมบอกได้นะครับ
หากมีบั๊กรบกวนแจ้งด้วยนะครับ

ถ้าใช้แล้วไม่มีปัญหาแต่อย่างใด จะนำไปลงในหมวดแจกสคริปต์อย่างเป็นทางการอีกทีนะครับ ในสคริปต์ผมแนบเครดิตคุณ anatong123 ไว้ในส่วนบนสุดของโค้ดแล้ว (Inspiration)

ดาวน์โหลดได้ที่
https://github.com/Splendith/rpgmaker/bl...Dispel.txt เข้าไปกดปุ่ม Raw แล้ว Ctrl+S ได้เลยครับ

เอาไปใช้ได้กับทุกโปรเจกต์ แต่ขอเครดิตด้วยคร้าบ Big Grin Big Grin

รูปแบบของสกิลอ้างอิงตามนี้เลยครับ
Quote:คือทุกครั้งที่ศัตรูกำลังจะใช้สกิล มันก็จะทำงานโดยอัตโนมัติครับ แต่มันจะมีโอกาสเกิดเพียง y% เท่านั้น
สมมติ monster A กำลังจะใช้สกิลอะไรสักอย่าง แล้วฮีโร่ที่มีสกิลนี้ จะใช้มาแทรกเลย ทำให้สกิลนั้นไม่ออก คือไม่มี animation ออกมาเลยครับ

วิธีการใช้งาน ให้เอา script ไปวางใน Material ของ script editor ในหน้าจอ Script ไม่ต้องตั้งค่าอะไรเพิ่มเติม

วิธีการคอนฟิก ให้ไปที่ skill database สร้าง skill ขึ้นมา 1 อัน ส่วนที่มีผลกับการตั้งค่ามีเพียงส่วนที่เน้นตามภาพครับ
[Image: auto_dispel_skill_db.jpg]

อธิบายคุณสมบัติบางส่วนเพิ่มเติม
  • 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 จะมีโอกาสร่ายเสมอไม่ว่าศัตรูจะใช้สกิลอะไร ใส่ใคร หรือแม้กระทั่งใส่ตัวศัตรูเอง)

ตัวอย่าง
Code:
<auto_dispel 2 10%>
ความหมายคือให้สกิลดังกล่าวมีโอกาสร่าย 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% Smile
[-] The following 10 users say Thank You to splendith for this post:
  • anatong123, dreamknight, Ivan_GilDong, jojo741963, [IRPG] Kuntana, Mysticphoenix, Nazuth, OngkrubG, platou18, vongola
Reply
#13
สุดยอดมากครับ!!! มันใช้งานได้จริงๆ Win ผมชอบตรงที่ศัตรูก็ใช้ได้นี่แหละครับ
ขอบคุณมากๆเลยนะครับคุณ splendith ที่ใจดีเขียนโค้ดให้ขนาดนี้

จริงๆนอกจากสกิลผมก็ยังคิดสกิลประหลาดๆอีกหลายสกิลเลยครับ ผมคิดว่าคงต้องเขียนสคริปต์คงจะทำมันขึ้นมาได้ ผลเลยอยากลองศึกษาการเขียนสคริปต์น่ะครับ แต่ไม่รู้จะเริ่มต้นตรงไหน ช่วยแนะแนวทางให้ผมทีครับ DerpDerpDerp
Reply
#14
ท่าน splendith เมฟจริงๆครับ Cat OMG Angry Citizen Kane Clap
[Image: NvcQbcH.jpg]
Reply
#15
Angry Citizen Kane ClapAngry Citizen Kane ClapAngry Citizen Kane Clap
[Image: webboard%20signature1_zpskhtut2jg.png]
การทำอาหารที่อร่อยที่สุด และเดือดร้อนชาวบ้านมากที่สุด กำลังจะเริ่มขึ้น
Reply
#16
-
ขอบคุณมากๆ คร้าบ แมวเบิกบาน
ผมยังต้องฝึกอีกเยอะครับ แมวน้ำขาวแมวน้ำขาวแมวน้ำขาว

(05-12-2015, 03:12 AM)anatong123 Wrote: สุดยอดมากครับ!!! มันใช้งานได้จริงๆ Win ผมชอบตรงที่ศัตรูก็ใช้ได้นี่แหละครับ
ขอบคุณมากๆเลยนะครับคุณ splendith ที่ใจดีเขียนโค้ดให้ขนาดนี้

จริงๆนอกจากสกิลผมก็ยังคิดสกิลประหลาดๆอีกหลายสกิลเลยครับ ผมคิดว่าคงต้องเขียนสคริปต์คงจะทำมันขึ้นมาได้ ผลเลยอยากลองศึกษาการเขียนสคริปต์น่ะครับ แต่ไม่รู้จะเริ่มต้นตรงไหน ช่วยแนะแนวทางให้ผมทีครับ DerpDerpDerp

ขอบคุณครับผม มีอะไรแนะนำเพิ่มเติมได้นะครับ ^^

จริงๆ ผมก็เขียน Ruby, RGSS ได้ไม่นาน อาจจะยังแนะนำได้ไม่ดีมากนะครับ วิธีที่ผมศึกษา ส่วนมากจะเป็นเรื่องของการแกะโค้ดโครงสร้างหลักของ RGSS ครับ ถ้าอยากลองเริ่มต้น ช่วงแรกๆ ต้องลองแกะโค้ด RGSS ดู โดยถ้าเริ่มจาก RGSS3 ชีวิตจะสบายกว่า RGSS1 มากครับ (โครงสร้างและการออกแบบดีกว่ามากๆ)

ต่อมาลองโหลดสคริปต์ที่คนอื่นเขียนมาศึกษาว่าแนวคิดของคนอื่นทำอย่างไรครับ สคริปต์ของคนที่ผมชอบมากๆ คือ https://yanflychannel.wordpress.com ของท่าน Yanfly เพราะสคริปต์แต่ละตัวเด็ดๆ ทั้งนั้น (แบบอารมณ์อยากเขียนสคริปต์อะไร เจ้านี้แทบมีหมด 555+) แล้วอีกอย่างคนนี้เขียนโค้ดอ่านง่ายมากครับ แถมแบ่งโค้ดเป็นส่วนๆ แล้วคอมเม้นต์ประกอบอย่างดี แทบจะเป็นแรงบันดาลใจหลักในการฝึกเขียน RGSS ของผมเลยก็ว่าได้

ถ้ามีพื้นฐานเขียนโค้ด หรือมีสกิลเขียนโปรแกรม Python หรือ Ruby มาก่อน และเคยเขียนโปรแกรมเชิงวัตถุ จะไปไวมากๆ คร้าบ ^^

แต่ถ้ายังไม่เคยมีพื้นฐานการเขียนโค้ดมาก่อนแล้วอ่านอะไรไม่รู้เรื่องเลย ผมแนะนำให้ฝึกพื้นฐานก่อนครับ เพราะค่อนข้างสำคัญ เช่น การประกาศตัวแปร การตรวจสอบเงื่อนไข การวนลูป โดยเฉพาะอาร์เรย์และการเขียนโปรแกรมเชิงวัตถุ ได้ใช้บ่อยมากๆ ในการเขียน RGSS ครับ ถ้าไม่มีความรู้ส่วนนี้อาจไปไวยากหน่อยครับ ถ้าจะศึกษาและฝึกฝนทีเดียวทั้งหมดอาจจะต้องใช้เวลาพอสมควรครับ ถ้าศึกษาอะไรพวกนี้จนคล่องระดับหนึ่งแล้ว ลองกลับมาอ่าน RGSS ใหม่ จะอยู่โลกเดียวกันแล้วครับ เชื่อว่าไม่เกิดความสามารถครับ Smile)

ในบอร์ดนี้ผมไม่แน่ใจเหมือนกันว่ามีคนสนใจอยากเริ่มเขียน script อย่างจริงจังเยอะไหม (ด้านเนื้อเรื่อง กราฟิก และการออกแบบเกมคงไม่ต้องพูดถึง เหนือชั้นกันมากครับ ผมทำอะไรพวกนี้ไม่ค่อยเป็น 555+) ถ้ามีผมอาจมาลงบทความพื้นฐานการเขียน Ruby เพื่อนำไปเขียน RGSS โดยเฉพาะ (เนื้อหาโดยรวมอาจยังไม่เกี่ยวกับการเขียน RGSS เลย)
[-] The following 4 users say Thank You to splendith for this post:
  • hengmana, jojo741963, platou18, vongola
Reply
#17
อูววว อย่างแจ่มเรยคัฟ ถ้าท่านทำ tut คงมีคนสนใจไม่น้อย
เพราะผมยังเกาะสคริปต์ชาวบ้านกินเรย อิอิกำ
อีกอย่างฝั่ง script academia ของบอร์ดเรามีแค่ของท่านชินริวเอง ร้องไห้
ขอโต๊ดกั๊บ
[Image: 76561198060790174.png] [Image: 0a851ef42f.gif]
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)