RandomRide: Local UC i Set i 0 ForEach 味方 待機 If CountPilot() = 0 Then Incr i 1 Set UC[i] UnitID() EndIf Next If i > 0 Then Ride Args(1) UC[Random(i)] EndIf Return
専用指定を考慮しないなら >>406のIf CountPilot() = 0 Then を If CountPilot() = 0 And InStr(Info(Args(1),ユニットクラス),Info(Unit(対象ユニットID),ユニットクラス)) <> 0 Then にすればいけると思う 専用指定を考慮した場合については>>413以降の誰かよろしく
ForEach 味方 待機 For i = 1 To LLength(Info(Args(1), ユニットクラス)) If CountPilot() = 0 Then If RideType[i] = Info(Unit(対象ユニットID),ユニットクラス) Or (RideType[i] & "(" & NickName(Args(1)) & "専用)") = Info(Unit(対象ユニットID),ユニットクラス) Or (RideType[i] & "(" & Info(Args(1), 名称) & "専用)") = Info(Unit(対象ユニットID),ユニットクラス) Then # 行が長すぎると掲示板に怒られた。使うときは改行消してね Incr cnt RideUnit[cnt] = UnitID() EndIf EndIf Next Next
If cnt > 0 Then Ride Args(1) RideUnit[Random(cnt)] Else Talk システム 何よ!!!!!;乗れる機体がないじゃない!!!!!!! End EndIf
#平均レベルを取得するシークエンス ここは機能 ちなみにELは後述の通り先に設定済み talk システム ところで敵の強さを記録しますか?:;具体的には、敵の平均Lv(現在$(EL))を現状のままに;するかということなわけですが。 end Ask 敵の強さを記録しますか? はい(敵の強さは今回のシナリオのままです) いいえ(味方の強さにあわせて敵が強くなります) むしろもっと弱くしてください(敵の平均Lvを-5します) End Switch 選択 Case 1 global このはなしLv平均値 0 incr このはなしLv平均値 EL Case 2 if このはなしLv平均値 = 0 then else talk システム 了解です、敵の強さを現状に合わせるよう戻しますね。 suspend unset 19話平均値 endif Case 3 global このはなしLv平均値 0 incr このはなしLv平均値 EL incr このはなしLv平均値 -5 talk K副長(通常) 了解です。それでは敵の平均Lvを$(19話平均値)にしますね。 suspend EndSw talk K副長(通常) 全ての設定が完了しました。;それでは、19話のインターミッションへと戻ります。 end Continue Eve\このはなし.eve
#ここでEL(このはなしLv平均値)が変数としてカウントしてもらえない ターン 1 味方: if このはなしLv平均値 = 0 then 新平均レベル Set EL 新平均レベル() else EL = このはなしLv平均値 * 1 endif
Call 上下左右チェック 対象ユニットID 3 Talk システム □の部分にいる味方の数は$(陣営カウント[味方])です End Unset 陣営カウント
上下左右チェック: Local i j 中央 範囲 中央[横] = X(Args(1)) 中央[縦] = Y(Args(1)) 範囲 = Args(2)
For i = (0 - 範囲) To 範囲 For j = (0 - 範囲) To 範囲 Incr 陣営カウント[Party(Info(マップ,中央[横] + i,中央[縦] + j),"ユニットID")] Next Next Incr 陣営カウント[Party(Args(1))] -1 Unset 陣営カウント[""] Return
もしくは
上下左右チェック: Local 範囲 = Args(2) ForEach 全 出撃 If (Abs(X() - X(Args(1))) <= 範囲) And (Abs(Y() - Y(Args(1))) <= 範囲) Then Incr 陣営カウント[Party()] EndIf Next Incr 陣営カウント[Party(Args(1))] -1 Return