[สคริปต์] ระบบฉากต่อสู้ด้านข้าง (Minkoff) ดัดแปลงโดย Shinryu - Printable Version +- irpg Community (https://irpg.in.th) +-- Forum: irpg Fabella RPG Maker Academia (https://irpg.in.th/forum-4.html) +--- Forum: RGSS and JS Showcase (https://irpg.in.th/forum-26.html) +--- Thread: [สคริปต์] ระบบฉากต่อสู้ด้านข้าง (Minkoff) ดัดแปลงโดย Shinryu (/thread-649.html) |
[สคริปต์] ระบบฉากต่อสู้ด้านข้าง (Minkoff) ดัดแปลงโดย Shinryu - Galaxy - 10-16-2012 ระบบ ฉากต่อสูแบบด้านข้าง หรือ Sideviewbattleมันก็คือระบบต่อสู้แบบไฟนอลนั่นแหล่ะ แต่จะมีการเคลื่อนที่เขาไปหาโจมตีศัตรูระยะประชิดได้ด้วยและจะแตกต่างจากระบบปกติ(frontview (ระบบต่อสู้ด้านหน้า))ตรงที่จะได้โจมตีตามความเร็วฮีโร่แทนที่จะเป็บแบบเทิร์นเบส(ผลัดกันโจมตี)ถ้าฮีโร่คนไหนมีความเร็วมากๆก็จะได้โจมตีบ่อยกว่าคนที่มีความเร็วน้อยๆ(แต่จริงๆระบบต่อสู้ด้านหน้าก็ใช้ RTAB ได้เหมือนกัน) สคริปตัวนี้เป็นสคริปของ minkoff ผมจะมาแนะนำการใช้ให้ฟัง(อ่าน)รูป ต.ย. ระบบ Sideview สคริป http://www.mediafire.com/?zrymjzydhzx หลังจากคลายซิปก็ก็อปไปเรียงตามรูปนี้ 1.สคริป RTAB หรือ สคริประบบต่อสู้แบบเรียลไทม์ เป็นระบบซูมเข้าซูมออก หน้าต่าง ระบบทั้งหมด เป็นตัวหลักในการทำระบบเรียลไทม์ 2.RTAB/CTB Changes หรือ สคริประบบซูมหน้าจอให้เป็นหน้าจอปกติ(มั้ง) 3-7 ส่วนเซต รูป Battlers ตำแหน่ง และระบบต่างๆ 3.Configuration เป็นส่วนเซตค่า Battlers ในรูปแบบต่างๆ*โดยหลักๆแล้วจะมาเซตที่สคริปนี้* 4.Sprite_System เป็นส่วนเกี่ยวกับการตั้งค่า Battlers เราไม่ต้องไปยุ่ง 5.Battle_System เป็นส่วนเกี่ยวกับการต่อสู้ การโจมตีหรือใช้ทักษะ การเคลื่อนที่ต่างๆ เราไม่ต้องไปยุ่ง 6.Misc_Code-7.RTAB_Patch เป็นส่วนเสริมอื่นซึ่ง เราไม่ต้องไปยุ่ง สามารถเซต การแบ่งรูป Battlers ได้ที่ Configuration และถ้ามีความเชี่ยวชาญมากขึ้นอาจไปปรับแต่งส่วนต่างๆเพิ่มเติมเอาเองก็ได้ (ดูได้ที่เรปต่อไป) สามารถหาสคริปเสริมอื่นได้ที่ http://members.jcom.home.ne.jp/cogwheel/ ลิงค์ ต.ย. ระบบ RTAB http://www.creationasylum.net/index.php?showtopic=11827 (แนะนำให้โหลด RTAB with Extras) สคริปตัวนี้เป็นตัวที่ผมดัดแปลงมาจากต้นฉบับคือจะมีการใช้ท่าทางต่างๆมากขึ้น เช่น -เมื่อมีดาเมจเป็น 0 จะแสดงท่าป้องกันด้วย -มีการแลนดอมท่าโจมตีเป็น 2 แบบ(ปกติแบบเดียว) ด้วยท่าทางแถวที่ 7 และ 8 (กรณีคริติเคิลจะเป็น 8) -มีการหารค่าประสบการณ์ออกตามจำนวนฮีโร่ -เมื่อ เลเวลอัพ จะเพิ่ม HP/SP เต็ม(9999) -เมื่อจบการต่อสู้จะหยุดเพลงทันที ตรงบรรทัดที่ผมแก้จะมีคำว่า #เพิ่ม หรือ #แก้ ต่อท้าย ใครข้องใจหรือติดตรงไหนถามมาได้ Battlers หาได้ตามเว็บแจกทรัพยากรต่างๆนะครับ สคริป(เสริม)&วิธีใช้ ให้เซิร์ดด้วยคำว่า เสริม+minkoff จะเจอกระทู้ ตัวอย่าง การลงสคริป+การเซต Battles http://www.mediafire.com/?mmewxq1iyjm id1 ใช้ bt 12 แถว/id2 ใช้ bt 4 แถว/id7 ใช้ bt 11 แถว/id8 ใช้ bt แบบไม่ขยับ bt = battle อันนี้เอาอาการเป็นรูปไอคอนออกนะ เครดิต : Minkoff(cogwheel) ดัดแปลง+แก้ไข : Shinryu การเอา Battlers มาใช้ ในสคริปนี้เราสามารถเลือกใช้ Battlers ได้หลายแบบ ทั้งแบบ 4 แถว 7แถว 12แถว แล้วแต่จะอยากใช้หรืออยากใช้มากกว่า 12 แถวก็ได้ หรือจะใช้รูป Battlers ปกติเลยก็ได้ โดยการตั้งท่าต่างๆสามารถดูได้ที่สคริป 1 - Configuration เราสามารถเซตจำนวนแถว ได้ที่บรรทัด 33 Code: MNK_POSES = 12 # Maximum # of poses (stances) in the template เราสามารถเซตจำนวนเฟรม(จำนวนท่าทางการเคลื่อนไหว)ได้ที่บรรทัด 34 Code: MNK_FRAMES = 4 # Maximum # of frames in each pose โดยแต่ละแถวจะแสดงท่าทางอย่างไรมาดูที่ประมาณบรรทัด 59-70 Editable Template (Some people wanted to change their template design) Code: MNK_POSE1 = 1 #ท่าทางแถวที่1 ยืนปกติ MNK_POSE 1-12 คือท่าทางที่จะใช้ตอนเกิดกิจกรรมต่างๆ(ดูด้านหลังของบรรทัด) เลข1-12 หลัง = คือแถวของรูปที่จะใช้แสดงเวลาเกิิดท่าทางต่างๆ โจมตี1-2 จะสุ่มการแสดงอัตโนมัติ (กรณีคริติเคิลจะเป็น 8 เท่านั้น) ********************************************************************************************* ตัวอย่างการเซต Battlers การเอารูป Battlers มาใช้เลย (รูปไม่มีการขยับ {แบบ rmxp ปกติ}) ให้ไป บรรทัดที่ 25 Code: DEFAULT_ACTOR_ID = [1,2,10] #ใส่เฉพาะ ID ที่ต้องการใช้รูป Battlers เลย ในที่นี้คือฮีโร่ ID 1,2,10 จะใช้รูป Battlers แบบไม่เคลื่อนไหว ********************************************************************************************* แบบ 4 แถว เช่นพวก Characters ธรรมดา มาเป็น battle 1.ก็ให้ก็อบ Characters ไปใส่ใน Battlers แล้วก็เซต Battlers เป็นอันนั้น 2.จากนั้นไปเซตจำนวนแถวที่ใช้ตรง Code: MNK_POSES_ACTOR = {2 => 4} 2=ID ฮีโร่ 4=จำนวนแถว 3.จากนั้นก็ไปเซตท่าทางที่ Code: Editable Template (for Custom Actor Spritesheets) เลขตัวแรกคือID ฮีโร่ เลขตัวหลังแถวที่ใช้ MNK_APOSE1-11 ท่าทางต่างๆดูรายละเอียดที่ด้านบน เป็นอันเสร็จสิ้น ในกรณีที่เราจะใส่หลายๆตัวละครก็จะใส่ว่า Code: {2 => 2 , 7 => 2 , 9 => 2} IDฮีโร่คือ 2,7,9 ********************************************************************************************* แบบ 7 แถว 1.หา Battlers ที่ 7 แถวดังตัวอย่างไปลง 2.จากนั้นไปเซตจำนวนแถวที่ใช้ตรง Code: MNK_POSES_ACTOR = {2 => 7} 7=จำนวนแถว 3.จากนั้นก็ไปเซตท่าทางที่ Code: Editable Template (for Custom Actor Spritesheets) ********************************************************************************************* แบบ 11 แถว 1.หา Battlers ที่ 7 แถวดังตัวอย่างไปลง 2.จากนั้นไปเซตจำนวนแถวที่ใช้ตรง Code: MNK_POSES_ACTOR = {2 => 11} 11=จำนวนแถว 3.จากนั้นก็ไปเซตท่าทางที่ Code: Editable Template (for Custom Actor Spritesheets) ********************************************************************************************* ถ้าเป็นศัตรูก็ไปแก้สคริปที่ส่วน Code: Editable Template (for Custom Enemy Spritesheets) ********************************************************************************************* ในตัวสคริป Minkoff ที่ผมลงที่เรปแรก ผมตั้งให้เป็นแบบ 12 แถวอยู่แล้ว ถ้าใครใช้ Battlers แบบ 12 แถวอยู่แล้วก็ไม่ต้องมาตั้งค่าพวกนี้ MNK_APOSE12 = {9 => 8} ถ้าต้องการสลับตำแหน่งการต่อสู้ ก่อนเริ่มการต่อสู้ให้ใส่โค๊ตว่า Code: $sideview_mirror = 1 เมื่อกลับด้านแล้วรูป Battlers ต่างๆจะกลับด้านให้เองโดยอัตโนมัติ สรุปก็คือให้วาด Battlers หันไปทางซ้ายทั้งหมดเป็นดี ถ้าต้องการให้เป็นแบบเดิมก็ใส่ Code: $sideview_mirror = 0 ปล.แต่สคริปนี้มีข้อเสียตรงที่ อนิเมชั่นมันไม่ได้กลับด้านด้วย เวลาตีศัตรูมันเลยพิลิกๆไงไม่รู้ ********************************************************************************************* การปรับแต่งอื่นๆ มอนสเตอร์ตัวไหนที่ไม่ต้องการให้เคลื่อนที่ไปปรับที่นี่ Code: MNK_STATIONARY_ENEMY_IDS = [31,32,33,34,37] # (IDมอนสเตอร์ ที่ไม่มีการเคลื่อนที่) อาวุธอันไหนที่ไม่ต้องการให้เคลื่อนที่ไปปรับที่นี่ Code: MNK_STATIONARY_WEAPONS = [167,168,169,170,171] # (IDอาวุธประเภทธนูและปืน ที่ไม่มีการเคลื่อนที่) Code: MNK_STATIONARY_SKILLS = []# (IDทักษะ ที่ไม่มีการเคลื่อนที่) Code: MNK_STATIONARY_ITEMS = []# (IDไอเทม ที่ไม่มีการเคลื่อนที่) Code: MNK_PHASING = true # If battlers fade in/out while charging Code: MNK_PHASING_ACTOR = [1] # IDs of actors that fade in/out if charging ********************************************************************************************* ปัญหาที่มักพบบ่อยๆ ********************************************************************************************* คำศัพย์เฉพาะ (รูปเป็นของ atoa นะ ของ minkoff ต้องมีรูปทั้ง 4 เฟรม) โดยเราจะแบ่งตามรูปนี้คือ แนวตั้งเรียก "แถว" แนวนอนเรียก "เฟรม" จากรุปนี้คือ 8 แถว 6 เฟรม +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ID ตัวละคร ก็คือลำดับตัวละครในฐานข้อมูลหน้าแรก เช่น อาเช่ คือ id1 บาซิล คือ id2 โดโรธี คือ id4 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ********************************************************************************************* ทำไมมีฮีโร่ตัวหนึ่งเป็นภาพแบบไม่ขยับ ทำไมมีตัวฮีโร่ตัวนึงที่เป็นภาพนึ่ง ซึ่งผมไม่รู้ว่าต้องปรับที่ ส่วนไหนของสคลิป มันถึงจะเป็น ภาพ ขยับ อย่างตอนผมเอารูป Remu 12 แถวมาใส่มัีนก็เอารูป Remu แบบ12แถวโพร่มางั้นๆ เลยไม่ตัดอะไรทั้งซิ้น วิธีแก้>> ส่วนถ้ามีการใส่ id ใน บรรทัดที่ 24/25 จะใช้รูปแบทเทิ้ลนั้นทั้งแผ่นเลยโดยไม่มีการตัด DEFAULT_ENEMY_ID = ศัตรู DEFAULT_ACTOR_ID = ฮีโร่ ถ้าจะทำให้มีการขยับก็ลบเลขที่ผมใส่เป็นตัวอย่างออกไปเท่านั้นเอง ********************************************************************************************* กำหนดจุดยืนของมอนสเตอร์อย่างไร จะอยู่ตรงกลางล่างสุดของรูป ดังรูป อยากให้ศัตรูอยู่ตำแหน่งไหนก็วางให้ดีเท่านั้นเอง (ถ้ารูปแบทเทิ้ลใหญ่อาจวางลำบากนิด และอาจต้องมีการปรับระยะ OFFSET ใน 1 - Configuration ด้วย) ********************************************************************************************* ลงแล้วมองไม่เห็นฟอนท์ ให้ไปที่สคริป [b]Main แล้วใส่[/b] Code: Font.default_name = $fontface = "CordiaUPC" #ใส่ฟอนท์ที่ต้องการ ********************************************************************************************* เออเรอร์อันนี้เกิดจากอะไร วิธีแก้>> ให้ก็อบสคริปในลิงค์นี้ไปวางต่อ Status Icons และอาการนี้เกิดจากไม่มีรูปไอคอนอาการต่างๆด้วย แก้โดยการเอารูปไอคอน(ที่เอามาใช้เป็นอาการ)มาใส่ในโฟลเดอร์ Icons โดยตั้งชื่อไอคอนว่า "อาการ-" + ชื่ออาการ เช่น อาการพิษ ก็ตั้งชื่อว่า "อาการ-พิษ" ********************************************************************************************* จะทำให้ตัวละครยิง ธนูหรือปืน(ไม่เคลื่อนที่เวลาโจมตี) ทำอย่างไร วิธีเซต>> ไปที่สคริป Configuration หาบรรทัดที่เขียนว่า Code: MNK_STATIONARY_WEAPONS = [] ********************************************************************************************* จะเอา charater มาใช้เลย ต้องทำอย่างไร วิธีเซต>> ไปที่สคริป Configuration ไปที่ Code: MNK_POSE1 = 1 #ยืนปกติ Sets the 'Ready Pose' (MNK_POSE1) #1 in your template Code: MNK_POSE1 = 2 #ยืนปกติ Sets the 'Ready Pose' (MNK_POSE1) #1 in your template ********************************************************************************************* Credit(อธิบาย) : Shinryu |