ทำได้ครับ
เกริ่นก่อนว่าระบบของ 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