How do I make it so when an actor reaches a certain level, one of their skills is deleted in place of another one?
一つの方法として、スキルを習得した際に別のスキルを削除する小さなスクリプトを作成する方法があります。[Script Editor]で、[Materials]の下に新しいスクリプトを追加し、以下を貼り付けてください:
class Game_Actor < Game_Battler
alias baz_replace_learn_skill learn_skill
def learn_skill(skill_id)
baz_replace_learn_skill(skill_id)
skill = $data_skills[skill_id]
if skill && skill.note =~ /<replaces:\s*(\d+)>/i
forget_skill($1.to_i)
end
end
end
次に、新しいスキルのノートに <replaces: 5> と入力してください。ここでいう「5」は置き換えられるスキルのIDです。そして、希望するレベルでそのクラスが習得するスキルリストに新しいスキルを追加します。アクターがそのレベルに達してスキルを習得すると、古いスキルが削除されます。
やあBaz、いつも俺たちの問題に現れて、ただスクリプトを作るだけで問題を5兆億倍も簡単に解決してくれるよ。マジで神だぜ
ふと思ったんだけど、お前のすべてのスクリプト(大きいのも小さいのも)を一箇所にまとめたらどうかな? お前には非常に有用なものがたくさんあるから。