irpg Community
ทำ NPC เปลี่ยนอาชีพแล้วทักษะไม่ขึ้นตาม - Printable Version

+- irpg Community (https://irpg.in.th)
+-- Forum: irpg Fabella RPG Maker Academia (https://irpg.in.th/forum-4.html)
+--- Forum: RPG Maker Engine School (https://irpg.in.th/forum-7.html)
+--- Thread: ทำ NPC เปลี่ยนอาชีพแล้วทักษะไม่ขึ้นตาม (/thread-2556.html)



ทำ NPC เปลี่ยนอาชีพแล้วทักษะไม่ขึ้นตาม - Pauly - 09-10-2015

[RMVX ACE]
สวัสดีครับ ขอรบกวนถามเรื่องการใช้คำสั่ง Change Class หรือ เปลี่ยนอาชีพ เนื่องจากลองให้ตัวละคร
ไม่มีอาชีพ เลเวล 1 ไปรับอาชีพ Mage ซึ่งเลเวล 1 จะต้องมีเวท Fire แต่เมื่อเปลี่ยนอาชีพแล้วเวทจะไม่ได้รับ
และจะข้ามไปรับเวทอื่นเมื่อเลเวลถึงกำหนด เนื่องจากหากลองเล่นเหตุการณ์ประเภททำเควสท์เพื่อรับอาชีพ
เมื่อเลเวลสูง ทักษะหรือเวทที่ต้องมีในเลเวลนั้นก็จะไม่ได้รับเลย มีวิธีแก้ไขไหมครับ


RE: ทำ NPC เปลี่ยนอาชีพแล้วทักษะไม่ขึ้นตาม - Alphaforce - 09-11-2015

ทำได้ครับ

เกริ่นก่อนว่าระบบของ ace จะแบบนี้คือ พอตัวละครจะ มีเลเวลผูกกับอาชีพ ถ้า swordman เลเวล 20 เปลี่ยนเป็น mage จะกลับเป็นเลเวล 1 แต่พออัพ mage ไปเลเวล 15 แล้วเปลี่ยนกลับเป็น swordman จะได้เลเวล 20 เท่าตอนแรก

แต่ตัวละครจะจำสกิลที่ได้ทั้งหมดตอนที่เลเวลอัพ คือตอนที่ ทะด้า! จบการต่อสู้แล้วได้ exp นั่นแหละ ต่อมาถ้าโดนลดเลเวล หรือเปลี่ยนอาชีพ ก็จะไม่มีผลกับสกิลที่จำได้แล้ว
กลายเป็นว่า เราจะได้ swordman ที่มีสกิล mage ได้

ทีนี้พอจะแก้ปัญหา เราต้องแก้แยกกัน 2 ส่วน

ส่วนแรก เรื่องเลเวลผูกกับอาชีพ ถ้าเราอยากให้เปลี่ยนอาชีพแล้วเลเวลเท่าเดิมให้ใช้ script นี้แทนคำสั่งเปลี่ยน class

$game_actors[A].change_class(class_id,true)

// A เป็น id ตัวละคร // class_id เป็น id อาชีพที่เปลี่ยน

แต่กระนั้น เราก็จะไม่ได้สกิลในเลเวลก่อนหน้า แถมสกิลอาชีพเก่าก็ไม่ลืมด้วย

มาที่ส่วนที่ 2 เรื่อง สกิลตกค้างจากอาชีพเก่า และไม่ได้สกิล ณ เลเวลที่เปลี่ยนเข้ามา ให้ใช้ script นี้ต่อท้ายอีก

$game_actors[A].init_skills

// A เป็น id ตัวละคร
จะเป็นการล้างสกิลที่จำทั้งหมดของตัวละคร แล้วเซ็ตใหม่ตามเลเวลอาชีพนั้น ทำให้สกิลอาชีพเก่าหาย รวมถึงสกิลที่ได้จากไอเท็ม (ส่วนนี้ผมคงแก้ให้ไม่ได้)

สรุป ถ้าจะให้เปลี่ยนอาชีพแบบสมบูรณ์ ได้เลเวลเท่าเดิม ใช้ script

$game_actors[A].change_class(class_id,true)
$game_actors[A].init_skills


RE: ทำ NPC เปลี่ยนอาชีพแล้วทักษะไม่ขึ้นตาม - Mysticphoenix - 09-11-2015

มีอีกกรณีนึงคือ เวทย์ Fire อยู่ในหมวด Magic แต่พอเปลี่ยนอาชีพเป็น Templar หมวด Magic จะหายไป เหลือแต่ Skill ก็อาจจะทำให้ไม่เจอสกิลเหมือนกันนะ


RE: ทำ NPC เปลี่ยนอาชีพแล้วทักษะไม่ขึ้นตาม - Pauly - 09-11-2015

ขอบคุณท่าน Alphaforce และ Mysticphoenix มากเลยครับ
ถ้าเช่นนั้น ผมคงใช้ NPC สำหรับเหตุการณ์เปลี่ยนอาชีพโดยตรงไปเลย เช่น

ตัวเอก Mage เลเวล 30 ทำเควสท์เปลี่ยนอาชีพเป็น Sage
ก็จะเซ็ท Event เปลี่ยนอาชีพและใส่ทักษะทั้งหมดที่ต้องมีลงไป
พร้อมกับล้างทักษะอาชีพก่อนหน้าไปด้วย อาจจะยุ่งยากหน่อย แต่คงต้องใช้วิธีนี้แทนไปก่อน
ไว้เวอร์ชั่นใหม่ที่มาปลายปี [MV] ค่อยว่ากัน แหะ ๆ