| はじめまして、自分の使っているインクルードから。参考ぐらいにはなればと。
_/_/_/_/_/_/_/
*ユニットコマンド 捕獲 味方 (IM <> ON And Party(Info(マップ, (X(対象ユニット) - 1), Y(対象ユニット), ユニットID)) = 敵 Or Party(Info(マップ, (X(対象ユニット) - 1), Y(対象ユニット), ユニットID)) = 中立 Or Party(Info(マップ, (X(対象ユニット) + 1), Y(対象ユニット), ユニットID)) = 敵 Or Party(Info(マップ, (X(対象ユニット) + 1), Y(対象ユニット), ユニットID)) = 中立 Or Party(Info(マップ, X(対象ユニット), (Y(対象ユニット) - 1), ユニットID)) = 敵 Or Party(Info(マップ, X(対象ユニット), (Y(対象ユニット) - 1), ユニットID)) = 中立 Or Party(Info(マップ, X(対象ユニット), (Y(対象ユニット) + 1), ユニットID)) = 敵 Or Party(Info(マップ, X(対象ユニット), (Y(対象ユニット) + 1), ユニットID)) = 中立): 捕獲開始画面: set 捕獲可能機 0
Center X(対象ユニット) Y(対象ユニット)
If Party(Info(マップ, (X(対象ユニット) - 1), Y(対象ユニット), ユニットID)) = 敵 Or Party(Info(マップ, (X(対象ユニット) - 1), Y(対象ユニット), ユニットID)) = 中立 Then PaintPicture Hant.bmp 192 224 透過 HotPoint 捕獲左 192 224 32 32 Unit(Info(マップ, (X(対象ユニット) - 1), Y(対象ユニット), ユニットID)) set 捕獲可能機 1 EndIf
If Party(Info(マップ, (X(対象ユニット) + 1), Y(対象ユニット), ユニットID)) = 敵 Or Party(Info(マップ, (X(対象ユニット) + 1), Y(対象ユニット), ユニットID)) = 中立 Then PaintPicture Hant.bmp 256 224 透過 HotPoint 捕獲右 256 224 32 32 Unit(Info(マップ, (X(対象ユニット) + 1), Y(対象ユニット), ユニットID)) set 捕獲可能機 1 EndIf
If Party(Info(マップ, X(対象ユニット), (Y(対象ユニット) - 1), ユニットID)) = 敵 Or Party(Info(マップ, X(対象ユニット), (Y(対象ユニット) - 1), ユニットID)) = 中立 Then PaintPicture Hant.bmp 224 192 透過 HotPoint 捕獲上 224 192 32 32 Unit(Info(マップ, X(対象ユニット), (Y(対象ユニット) - 1), ユニットID)) set 捕獲可能機 1 EndIf
If Party(Info(マップ, X(対象ユニット), (Y(対象ユニット) + 1), ユニットID)) = 敵 Or Party(Info(マップ, X(対象ユニット), (Y(対象ユニット) + 1), ユニットID)) = 中立 Then PaintPicture Hant.bmp 224 256 透過 HotPoint 捕獲下 224 256 32 32 Unit(Info(マップ, X(対象ユニット), (Y(対象ユニット) + 1), ユニットID)) set 捕獲可能機 1 EndIf Refresh
If 捕獲可能機 = 0 Then
Talk システム 捕獲可能な機体がいません END
Exit EndIf
Wait Click
If 選択 = "" Then Mind 対象ユニット 覚醒 Move 対象ユニット P_X[対象ユニット] P_Y[対象ユニット] EN(対象ユニット) = BeforeEN[対象ユニット] ClearObj ClearPicture Exit EndIf
ClearObj ClearPicture
Center X(対象ユニット) Y(対象ユニット)
If 選択 = 捕獲左 Then 被捕獲機体 = Info(マップ, (X(対象ユニット) - 1), Y(対象ユニット), ユニットID) ElseIf 選択 = 捕獲右 Then 被捕獲機体 = Info(マップ, (X(対象ユニット) + 1), Y(対象ユニット), ユニットID) ElseIf 選択 = 捕獲上 Then 被捕獲機体 = Info(マップ, X(対象ユニット), (Y(対象ユニット) - 1), ユニットID) ElseIf 選択 = 捕獲下 Then 被捕獲機体 = Info(マップ, X(対象ユニット), (Y(対象ユニット) + 1), ユニットID)
EndIf
捕獲確率 = Damage(被捕獲機体) + ((Info(対象ユニット,レベル) * 3) - (Info(被捕獲機体,レベル) * 3))
Switch Info(被捕獲機体,サイズ) Case SS 捕獲確率 = (捕獲確率 * 15) \ 10 Case S 捕獲確率 = (捕獲確率 * 12) \ 10 Case L 捕獲確率 = (捕獲確率 * 8) \ 10 Case LL 捕獲確率 = (捕獲確率 * 5) \ 10 Case XL 捕獲確率 = (捕獲確率 * 2) \ 10 EndSw
If Party(Info(マップ, (X(被捕獲機体) - 1), Y(被捕獲機体), ユニットID)) = 味方 Then 捕獲確率 = (捕獲確率 * 11) \ 10 EndIf If Party(Info(マップ, (X(被捕獲機体) + 1), Y(被捕獲機体), ユニットID)) = 味方 Then 捕獲確率 = (捕獲確率 * 11) \ 10 EndIf If Party(Info(マップ, X(被捕獲機体), (Y(被捕獲機体) - 1), ユニットID)) = 味方 Then 捕獲確率 = (捕獲確率 * 11) \ 10 EndIf If Party(Info(マップ, X(被捕獲機体), (Y(被捕獲機体) + 1), ユニットID)) = 味方 Then 捕獲確率 = (捕獲確率 * 11) \ 10 EndIf
If Info(被捕獲機体,ボスランク) > 0 Or Skill(被捕獲機体,捕獲可能) = 0 Or 捕獲確率 < 0 Then 捕獲確率 = 0 ElseIf 捕獲確率 > 99 Then 捕獲確率 = 99 EndIf
Talk システム $(Unit(被捕獲機体)) Rank$(Rank(被捕獲機体));<BIG><B>$(捕獲確率)</B></BIG> END
Confirm 捕獲しますか? If 選択 = 0 Goto 捕獲開始画面
If Random(100) < 捕獲確率 Then
PlaySound Sword.wav Wait 5
Talk システム 捕獲成功! 機体……$(Unit(被捕獲機体));Rank……$(Rank(被捕獲機体));入手! End
Escape 被捕獲機体
Incr 捕獲数 1
捕獲機[捕獲数] = Unit(被捕獲機体) 捕獲格[捕獲数] = Rank(被捕獲機体)
Unset 捕獲した機体
For i = 1 to 捕獲数
捕獲した機体[i] = "$(捕獲機[i])"
Next
Ask 捕獲した機体 捕獲表
Else
PlaySound Swing.wav Wait 5
Talk システム 捕獲失敗! End
EndIf
Finish 対象ユニット
Exit
*エピローグ:
If 捕獲数 > 0 Then For i = 1 to 捕獲数
Talk システム $(捕獲機[i])、入手! END
Unit 捕獲機[i] 捕獲格[i]
Next EndIf
Exit
#############################
更にパイロット能力に、
捕獲可能=非表示, 1
という能力を加えれば、そのパイロットの乗っているユニットは捕獲可能になります。
・捕獲の手順
1,ユニットを隣接させてユニットコマンドの『捕獲』を選ぶ。(有効射程は1) (捕獲の確率は被捕獲側のHPとパイロット同士の技量差に値します) 2,捕獲したいターゲットを選ぶ。 3,捕獲成功率を確認して、実行するかを選ぶ。 4,捕獲の合否。
最後にエピローグ画面で捕獲した機体を確認できます。
イベントなどで、非ザコパイロットなどに対して捕獲を行いたい場合、またはその逆は以下のアイテムを装備させてください。
捕獲不可能 -, 固定, 専用 特殊能力 捕獲不可能=非表示 非表示 0, 0, 0, 0, 0
捕獲可能 -, 固定, 専用 特殊能力 パイロット能力付加="捕獲可能=非表示" 非表示 0, 0, 0, 0, 0
例:原作に似たMKU強奪イベントなど。 Create 敵 ガンダムMKU 3 ジェリド=メサ 18 18 5 Equip ジェリド 捕獲可能
なお、BossRank を持っているユニットには捕獲の成功率は0%になります。 また、捕獲確率が高すぎる、もしくは低すぎるという場合は確率の部分をいじってみてください。
では。
|