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

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

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

■21853 / inTopicNo.1)  Upgradeが上手く使えないのですが
  
□投稿者/ D -(2010/01/13(Wed) 04:33:01) [ID:6GaSkW81]
    普段はAというユニットに乗っているキャラに、
    そのマップ限定でBというユニットに乗せ換えるシナリオを作っていたのですが、
    その処理にUpgradeを使用しました。

    Upgrade A B

    として、ここまでは思い通りにいくのですが、シナリオ終了時、

    Upgrade B A

    と書き込んでも、ユニットBに乗ったままになってしまいます。
    Unit、Ride、RemoveUnitなどでも必要な処理はできるのですが、
    アイテムを外さないといけないのでプレイヤーに若干不親切ですし、
    どうして上手く働かないのかが気になります。
    私に何かしらミスがあるのだと思いますが、どなたかアドバイスを頂けないでしょうか。
引用返信/返信 削除キー/
■21854 / inTopicNo.2)  Re[1]: Upgradeが上手く使えないのですが
□投稿者/ デスラー -(2010/01/13(Wed) 08:17:25) [ID:rK3UXI0q]
    まずは、そのコードを見せてもらえますか。
    Upgradeの前後の確認ができないと原因も分からないです。
引用返信/返信 削除キー/
■21856 / inTopicNo.3)  Re[2]: Upgradeが上手く使えないのですが
□投稿者/ D -(2010/01/13(Wed) 12:38:30) [ID:6GaSkW81]
    2010/01/13(Wed) 12:40:49 編集(投稿者)
    Set 位置X記録 X([無人状態のユニットBグループID])
    Set 位置Y記録 Y([無人状態のユニットBグループID])
    Set 残りHP記録 HP([無人状態のユニットBグループID])
    Escape [無人状態のユニットBグループID] 非同期
    Move [キャラクター名] 位置X記録 位置Y記録 非同期
    Redraw
    Upgrade [ユニットA名] [ユニットB名]
    HP([キャラクター名]) = 残りHP記録
    
    乗せる時はこんな感じにしています。
    マップ上に配置された無人(パイロットはダミーの汎用パイロット)のユニットBに、戦闘中に乗り移るという具合で。
    戻す時は味方全ユニット撤退後、
    
    Upgrade [ユニットB名] [ユニットA名]
    
    と打っていました。前後にこのユニットに対する操作はしていません。
    今は
    
    RemoveItem [キャラクター名]
    Unit [ユニットA] 0
    Ride [キャラクター名]
    RemoveUnit [ユニットB]
    
    としており、これで一応、意図した動作ができています。

引用返信/返信 削除キー/
■21857 / inTopicNo.4)  Re[3]: Upgradeが上手く使えないのですが
□投稿者/ デスラー -(2010/01/13(Wed) 18:57:26) [ID:rK3UXI0q]
    もう1つ質問。
    ユニット乗換えからステージクリア後のユニットを戻すまでは1つのイベントに収まっているのでしょうか?

    ようは、

    イベント:
     ユニット乗り換え
     自動攻撃で敵を破壊
     ステージクリア
     味方全撤退
     再乗り換え
    Exit

    こんな感じで。
引用返信/返信 削除キー/
■21860 / inTopicNo.5)  Re[4]: Upgradeが上手く使えないのですが
□投稿者/ D -(2010/01/13(Wed) 20:21:33) [ID:6GaSkW81]
    いいえ。ひとつのイベントには収めていません。
    乗り換え後にしばらく通常の戦闘をして、勝利条件を満たしたところで、
    元に戻す処理をしていました。
引用返信/返信 削除キー/
■21864 / inTopicNo.6)  Re[3]: Upgradeが上手く使えないのですが
□投稿者/ 白兎 -(2010/01/14(Thu) 14:09:07) [ID:OTi5tBgs]
    横から失礼します。
    おそらくシステムが撤退したユニットBと誤認している可能性があります。
    メモリ上ではユニットBが2機存在していると考えられるので、
    念のため左辺側をUnitIDで指定してみてください。
引用返信/返信 削除キー/
■21865 / inTopicNo.7)  Re[4]: Upgradeが上手く使えないのですが
□投稿者/ D -(2010/01/14(Thu) 18:58:36) [ID:6GaSkW81]
    2010/01/14(Thu) 18:59:58 編集(投稿者)

    >念のため左辺側をUnitIDで〜
    アドバイスありがとうございます。
    キャラクターの機体をユニットBからユニットAへ戻す時のUpgradeの、
    引数の左側を、無人時のユニットBへ振ったIDで、ということでしょうか?
    ただ試してみましたが、「[ユニットBのID]というユニットはありません」と出るだけでした。
    文意を勘違いしておりましたら、申し訳ありません。
引用返信/返信 削除キー/
■21866 / inTopicNo.8)  Re[5]: Upgradeが上手く使えないのですが
□投稿者/ 白兎 -(2010/01/14(Thu) 19:36:35) [ID:OTi5tBgs]
    いえ、よくよく見直せば説明不足だったと思います。こちらこそ失礼しました。

    おそらくですが、ユニットIDとグループIDを混同されているかもしれません。
    こちらで書いたUnitIDとは、関数の「UnitID(パイロット名)」のつもりでした。
    これはHELPのシナリオの作成>関数を参照頂ければ分かりやすいと思います。
    UnitIDは該当パイロットの乗っているユニットのシステム上指定された
    固体識別用の文字列(これがユニットID)を読み込む関数です。
    グループIDは自分で指定する、汎用orザコユニット集団を個別orグループで
    指定するのに使う識別子のようなものとお考え頂ければ、多分大丈夫だと思います。

    NewBをAに戻す際に、NewBを無人Bと区別しなければなりません。
    ここでユニット名のみだとどっちのBか分からないので誤作動の原因になります。
    そこでUnitID関数が役に立ちます。
    これを使うことで、特定の(汎用orザコでない)パイロットが乗っている機体の
    ユニットIDがこの関数の部分に入力されるため、誤認されずに動作します。
    つまり
    Upgrade UnitID(キャラクター名) ユニットA名
    こんな感じで如何でしょうか?
引用返信/返信 削除キー/
■21867 / inTopicNo.9)  Re[6]: Upgradeが上手く使えないのですが
□投稿者/ D -(2010/01/14(Thu) 21:20:55) [ID:6GaSkW81]
    重ねて解説頂き申し訳ありません。
    御指導の通りに試してみたところ、思い通りの動作ができました。
    ユニット回りの処理と関数関係が勉強不足だったようで、
    相談に乗って下さったお二方にはお手間をかけました。
    どうも有り難うございます。
解決済み!
引用返信/返信 削除キー/



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

このトピックに書きこむ

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

Pass/

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

- Child Tree -
- Antispam Version -