SRC質問掲示板Mk2
(現在 過去ログ126 を表示中)

HOME HELP 新規作成 新着記事 トピック表示 検索 掲示板新着情報RSS配信新着情報 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■21921 / inTopicNo.1)  ヒット&アウェイ再現インクルについての相談
  
□投稿者/ At Mark -(2010/02/19(Fri) 18:12:18) [ID:yTn4KceE]
    先日はありがとうございました。

    現在、過去ログの21745などを参考に、以下のインクルードでスパロボの「ヒット&アウェイ」を再現しようとしています。
    ご存知のことと思いますが、念のために説明すると、「移動せずに攻撃した場合、攻撃後に移動可能」とするものです

    味方だとうまく行くのですが、

    「敵がヒット&アウェイ技能を所持」していて、かつ「敵の四方を囲むなどの移動不可能状態」だと、SRCが止まってしまいます。
    恐らく、「移動できない」「攻撃できない」の2つの状態が重なっているためかと思われます。
    ChangeModeで思考パターンを「待機」「固定」等に変えることも試しましたが、この場合だと敵が攻撃後に移動してくれず、技能の意味がなくなってしまいます。
    Finishコマンドを使っても、同様です。

    「移動できない場合に、『Finish 対象ユニットID』とする」
    ことで解決できるような気がするのですが、今のところこの条件を指定するようないいアイデアが浮かびません。他にも恐らくやりようがあるような気もします。

    どうすれば解決できるでしょうか。どうかアドバイスをお願いいたします。

    #以下include.eveの内容

    ターン 全 全:

    ForEach 全

    Clearstatus 対象ユニットID 攻撃不能

    Enable 対象ユニットID 修理装置
    Enable 対象ユニットID 補給装置

    UnSet 初期座標[X,対象パイロット] X(対象ユニットID)
    UnSet 初期座標[Y,対象パイロット] Y(対象ユニットID)

    If Skill(対象パイロット, ヒット&アウェイ) = 1 Then
    Set 初期座標[X,対象パイロット] X(対象ユニットID)
    Set 初期座標[Y,対象パイロット] Y(対象ユニットID)
    EndIf
    Next

    Exit

    行動終了 味方 :

    If Skill(対象パイロット, ヒット&アウェイ) = 1 Then
    Set 現在座標[X,対象パイロット] X(対象ユニットID)
    Set 現在座標[Y,対象パイロット] Y(対象ユニットID)

    移動距離[対象ユニットID] = Abs(初期座標[X,対象パイロット] - 現在座標[X,対象パイロット]) + Abs(初期座標[Y,対象パイロット] - 現在座標[Y,対象パイロット])

    If 移動距離[対象ユニットID] = 0 Then
    SetStatus 攻撃不能 -1
    SpecialPower 対象ユニットID 覚醒
    Disable 対象ユニットID 修理装置
    Disable 対象ユニットID 補給装置

    UnSet 現在座標[X,対象パイロット] X(対象ユニットID)
    UnSet 現在座標[Y,対象パイロット] Y(対象ユニットID)

    Redraw

    EndIf

    EndIf

    Exit

    行動終了 敵 :

    If Skill(対象パイロット, ヒット&アウェイ) = 1 Then
    Set 現在座標[X,対象パイロット] X(対象ユニットID)
    Set 現在座標[Y,対象パイロット] Y(対象ユニットID)

    移動距離[対象ユニットID] = Abs(初期座標[X,対象パイロット] - 現在座標[X,対象パイロット]) + Abs(初期座標[Y,対象パイロット] - 現在座標[Y,対象パイロット])

    If 移動距離[対象ユニットID] = 0 Then
    SetStatus 攻撃不能 -1
    SpecialPower 対象ユニットID 覚醒

    UnSet 現在座標[X,対象パイロット] X(対象ユニットID)
    UnSet 現在座標[Y,対象パイロット] Y(対象ユニットID)

    Redraw

    EndIf

    EndIf

    Exit

    #ここまでinclude.eveの内容
引用返信/返信 削除キー/
■21924 / inTopicNo.2)  Re[1]: ヒット&アウェイ再現インクルについての相談
□投稿者/ RST -(2010/02/19(Fri) 21:31:46) [ID:UBXK97zA]
    >「敵がヒット&アウェイ技能を所持」していて、かつ「敵の四方を囲むなどの移動不可能状態」だと、SRCが止まってしまいます。
    >恐らく、「移動できない」「攻撃できない」の2つの状態が重なっているためかと思われます。

    これは、上に書かれているインクルードだと、移動していない場合は行動終了のたびに
    スペシャルパワーの覚醒が使用されるためですね。


    >「移動できない場合に、『Finish 対象ユニットID』とする」
    >ことで解決できるような気がするのですが、今のところこの条件を指定するようないいアイデアが浮かびません。

    そのようなことをせずとも、行動終了時に覚醒を使用する際に覚醒を使ったという変数をセットしておき、
    それがセットされていないときだけ覚醒を使用するようにすれば良いと思います。

    (過去ログ21745で書かれているインクルでは、"再移動判定[対象ユニットID]"という変数を使って
     再移動可能にするかどうかを判断しているようですね。)
引用返信/返信 削除キー/
■21925 / inTopicNo.3)  Re[2]: ヒット&アウェイ再現インクルについての相談
□投稿者/ At Mark -(2010/02/20(Sat) 01:12:02) [ID:yTn4KceE]
    RST様
    アドバイスのとおりに書き直した結果、ちゃんと意図した通りの動きになりました。

    回答をいただき、本当にありがとうございました。
解決済み!
引用返信/返信 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Pass/

HOME HELP 新規作成 新着記事 トピック表示 検索 掲示板新着情報RSS配信新着情報 過去ログ

- Child Tree -
- Antispam Version -