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

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

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

■7144 / inTopicNo.1)  連戦時の不具合
  
□投稿者/ つきなみなつき -(2003/02/11(Tue) 04:45:42)
     現在作成中のシナリオで二連戦をやるのですが、一戦目で最後に敵を倒したユニットが二戦目の最初に行動終了状態になってしまいます。
     これを何とか直してやりたいのですが、うまくいかなくて……どなたか良い手をご存知の方、教えていただけますでしょうか。

     イベントの流れのうち、関係あると思われる箇所を抜き出します。

    全滅 敵:
    If 二回戦 = 1 Then
    Continue vain21.eve
    Else
    Hide
    Escape 味方
    Goto 続き
    EndIf
    Exit

    続き:
    Set 二回戦 1
    ChangeMap vain20-2.map
    Show

    #※

    Exit


     ※の部分で以下の式を使って直せないかと思ったのですが、該当ユニットだけ、UnitIDの取得が出来ない? ようなのです。こちらの式についても問題がないかどうか教えて頂けるとありがたいです。

    ForEach 味方 全て

    Set EquipChara UnitID()
    If Action(EquipChara) = 0 Then
    Talk システム
    行動回数回復→$(Pilot(EquipChara))
    End
    Mind EquipChara 覚醒
    EndIf
    Next

     なお、1659及び1660で確認しています。
     それではよろしくお願いします。
解決済み!
引用返信/返信 削除キー/
■7145 / inTopicNo.2)  Re[1]: 連戦時の不具合
□投稿者/ 宇宙世紀0079 -(2003/02/11(Tue) 09:16:52)
    毎度、宇宙世紀です。

    こちらで試してみましたが、ForEachによる行動回数回復は問題無くできました。
    srcのver1660で確認しています。

    試しにChangeMapする前にしてみてはいかがでしょうか?

    それでは。
引用返信/返信 削除キー/
■7149 / inTopicNo.3)  Re[1]: 連戦時の不具合
□投稿者/ 樹招 -(2003/02/11(Tue) 15:28:29)
    どうも樹招と申します。

    上記のものだと、破壊→全滅とラベルが実行されて、そこでマップを変更しています。
    で、マップが変わってから行動終了が実行されているんです。

    問題の部分は、バグなのか仕様なのかはわかりませんが、
    上記の流れでChangeMapの前に覚醒で行動回数をどれだけ増やしていても、
    マップ変更後に必ず残り行動回数は0になることです。
    また、Exitの後に行動回数が0になるので、
    2回戦目の出撃直後に行動回数を回復させても無意味になります。
    この現象は味方ターンのみのもので、敵ターンでは同じ条件を満たしても起こりません。

    これは最後に敵を破壊してステージ移動の条件を満たしたユニットに起こります。
    ステージ移動の条件が進入か脱出の場合、
    すでに行動終了していたユニットなどは問題ありません。
    他のパターンはちょっとテストしていないのでわかりませんが、
    同じ様な症状なら下記の応用でおそらく大丈夫だと思います。

    解決策としては。

    続き:
    Set 二回戦 1
    ChangeMap vain20-2.map
    RestoreEvent "行動終了 SelectUnit"
    Exit

    スタート:
    ClearEvent "行動終了 SelectUnit"
    Exit

    *破壊 敵:
    *破壊 中立:
    SelectUnit = UnitID(相手ユニット)
    Exit

    行動終了 SelectUnit:
    Mind SelectUnit 覚醒
    ClearEvent
    Exit

    まずステージ開始時に「行動終了 SelectUnit」を消去しておきます。
    次に最後に敵を破壊した味方ユニットを記録していき、
    ChangeMapと同時に「行動終了 SelectUnit」のラベルを復活させます。
    そして、問題のユニットが出撃し行動終了した時に行動回数を回復します。

    これは問題が発生し、問題のユニットが2回戦目に出撃する事が前提です。
    実際に使用するには様々な条件付けを行い、ラベルを復活させる判定が必要になります。
    でなければ、何も問題が起きていないのにも関わらず、
    行動終了後にまた行動可能になるユニットが出てしまいます。

    あと、上記のものは2回行動のユニットには対応していませんが、
    If などで2回行動が可能か判定して、もう一度覚醒を使えばいいと思います。

    長々とすいません。
    それでは・・・
解決済み!
引用返信/返信 削除キー/
■7191 / inTopicNo.4)  UnitIDの取得が出来ない
□投稿者/ つきなみなつき -(2003/02/14(Fri) 20:30:43)
     宇宙世紀0079さん、樹招さん、回答ありがとうございました。

     どうも問題は、先にあげた
    > 該当ユニットだけ、UnitIDの取得が出来ない? ようなのです。
     この部分のようです。アドバイスを頂いたいずれの場合も対象パイロットのみユニットIDの取得が出来ませんでした。
     このような例というのはどのような原因が考えられるんでしょうか? ご存知の方がいましたら、教えていただけると幸いです。
引用返信/返信 削除キー/
■7192 / inTopicNo.5)  Re[1]: 連戦時の不具合
□投稿者/ ヒロキ -(2003/02/14(Fri) 23:51:38)
    こんばんは、ヒロキです。

    > ※の部分で以下の式を使って直せないかと思ったのですが、該当ユニットだけ、UnitIDの取得が出来ない? ようなのです。こちらの式についても問題がないかどうか教えて頂けるとありがたいです。

    >ForEach 味方 全て

    >Set EquipChara UnitID()
    >If Action(EquipChara) = 0 Then
    >Talk システム
    >行動回数回復→$(Pilot(EquipChara))
    >End
    >Mind EquipChara 覚醒
    >EndIf
    >Next

    これは単に、最後に敵を破壊したユニットの行動回数が
    Exitするまで減ってないせいで
    >If Action(EquipChara) = 0 Then
    ここんところの条件にマッチしてないだけなんじゃねーかと

    それでは
引用返信/返信 削除キー/
■7193 / inTopicNo.6)  Re[2]: 連戦時の不具合
□投稿者/ つきなみなつき -(2003/02/15(Sat) 01:07:35)
     ヒロキさん、アドバイスありがとうございました。

     "*破壊 敵"ラベルでSelectUnitを取得し、"続き"ラベルで再出撃後にMindコマンドを使うことで解決できました。
解決済み!
引用返信/返信 削除キー/



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

このトピックに書きこむ

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

Pass/

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

- Child Tree -
- Antispam Version -