| 2006/05/11(Thu) 23:10:29 編集(投稿者)
初めまして、ハクというものです。
SRCではパイロットなしではユニットは存在できないので はやり最初にalcさんがとろうした方法をとるしかないと思われます。
*行動終了 A(汎用): *使用後 全 全: Set A最高レベル 0 Set A最高レベルの経験値 0 Set A最低残りSP 9999 ForEach 全 If Pilot() = "A(汎用)" Then If Level() > A最高レベル Then Set A最高レベル Level() Set 最高レベル変化あり EndIf If Level() = A最高レベル Then If 最高レベル変化あり Then Set A最高レベルの経験値 Info(対象パイロット, 累積経験値) UnSet 最高レベル変化あり ElseIf Info(対象パイロット, 累積経験値) > A最高レベルの経験値 Then Set A最高レベルの経験値 Info(対象パイロット, 累積経験値) EndIf EndIf If SP() < A最低残りSP Then Set A最低残りSP SP() EndIf EndIf Next ForEach 全 If Pilot() = "A(汎用)" Then LevelUp (A最高レベル - Level()) ExpUp (A最高レベルの経験値 - Info(対象パイロット, 累積経験値)) SP() = A最低残りSP EndIf Next Exit
このような処理で全てのA(汎用)が レベル、経験値、SPの残りポイントを共有するようになります。
ただし、これで完成というわけではなく、A(汎用)の特殊能力や シナリオに登場するSP次第ではさらなる処理が必要になったりします。 (特殊能力SP回復がついていたりSP回復系のSPがある場合など)
SPを使った場合に全てのAに同じ効果を与える処理もまだ未実装です。
一気に全てに対応しようとするよりもシナリオにあわせて 必要なものを次々と付け足したほうが楽なのでこの段階で提示します。 これをとりあえず動かしてみて下さい。
そしてシナリオで何か不都合を発見したときに 「○○ができるようにしたい」「○○だとおかしくなる」「やはり○○にしたい」 と言っていただければ、また相談に乗れるかと思います。
参考になれば幸いです。それでは。
|