SRC遊んだり書いたり。時々プログラミング

SRCの感想とか技術解説とか、そんな感じのアレ!

SetSkillした特殊能力をすべて削除するサンプル

# 削除実施前の特殊能力数を保持する
# (削除実施中に特殊能力数が変化しても、 (maxlen - i)で
#  後ろの番号から処理できるように)
Local maxlen
Set maxlen Info("パイロット", パイロットID, "特殊能力数")

# 以下2つの理由により、後ろの番号から特殊能力を削除してゆく
# 1. 特殊能力にはSetSkillした以外の特殊能力が含まれていること
# 2. 小さい番号の特殊能力が削除された時、それ以降の特殊能力番号が
#    一つ繰り下げられること
For i = 0 To (maxlen - 1)
  ClearSkill パイロットID Info("パイロット", パイロットID, "特殊能力", (maxlen - i))
Next

# 削除漏れが発生する場合がある(本体バグ?)
# セーブデータを確認し、削除漏れが発生している場合は直接削除する。
ClearSkill パイロットID 削除漏れ特殊能力名