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

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

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

■21504 / inTopicNo.1)  補給コンテナユニットの作成
  
□投稿者/ パンダマン -(2009/04/08(Wed) 15:29:56) [ID:GNkteVdW]
     お邪魔します。パンダマンといいます。
     相談なのですが、『補給コンテナ』というものを作りたいと思っています。
     マップに配置された補給コンテナに隣接すると、ユニットコマンドに『リロード』が出現し、それを選択することで弾薬とENの補給が出来る、という風にしたいのです。
     けれど関数というものを、まだよく理解できていないので、どうすれば補給コンテナの横に来た場合に発現させることができるのかがわかりません。

     過去ログで検索してみると、『隣接する事で補給する』という作業は出来るが、特定のユニットだけにする事は出来ないというのを見つけました。つまりは、補給コンテナをユニットとして出現させた場合、その周りには最高四機のユニットを配置できるわけですから、一体が『リロード』を選ぶと、隣接している他のユニットも補給を受ける、という事ではないかと私は理解しています。

     やはりこれは無理なものなのでしょうか?皆さんの意見を聞かせてください。
引用返信/返信 削除キー/
■21505 / inTopicNo.2)  Re[1]: 補給コンテナユニットの作成
□投稿者/ Mr -(2009/04/08(Wed) 16:43:18) [ID:xYlznHGn]
http://ttp://mrsrc.web.fc2.com/
    結論から言えばできます。まあ大抵のことは手段さえ変えればできるもんですが。

    ちなみに、参考にした過去ログとはこちらでしょうか?
    http://www.src.jpn.org/neko/multibbs/cbbs.cgi?mode=al2&namber=20372&no=2&KLOG=114
    この質問では修理装置・補給装置限定の話をしているようなので、今回の質問とは関係が薄いですね。
    それに、今回の質問では、補給コンテナが動いて補給を行うわけではありませんよね?
    補給を行う実行者は、あくまでも補給コンテナに隣接したユニットですし。
    その過去ログでは実行者が補給コンテナの場合の話をしているのです。


    さて、ユニットコマンドを出す、という時点で方法は二つに絞られます。

    1.「リロード」という名前のアビリティを作る
    2.「リロード」という名前のコマンドをユニットコマンドラベルで作る

    特定のユニットだけが「リロード」できるようにしたいのなら1を、特に制限なしなら2を使った方が良いでしょう。
    全ユニットにアビリティを付けるとデータが大きくなってしまいますので、それならユニットコマンドラベルがいい、ということです。

    1と2のいずれにも表示する条件を設定できますので、その条件に「補給コンテナと隣接していること」を指定します。
    隣接しているかどうかは、「リロード」するユニットの上下左右のマスを一つずつチェックしてそこに補給コンテナいるかを調べれば分かるはずです。
    ただその条件は1行で書くのはかなり厳しいので、自作関数を使うことになるかと思います。
    ヘルプのCallコマンドやCall関数を見たり、配布されているインクルードを覗くなりして作ってみてください。
    分からなければ、もう一度質問して、やったところまで貼ってみてください。
引用返信/返信 削除キー/
■21599 / inTopicNo.3)  Re[2]: 補給コンテナユニットの作成
□投稿者/ パンダマン -(2009/06/11(Thu) 03:31:26) [ID:GNkteVdW]
    *ユニットコマンド リロード 味方:
    Call リロード
    Exit

    リロード:
    Ask ENと弾薬の補給が出来ます。補給しますか? キャンセル可
    はい
    いいえ
    End
    Switch 選択
    Case 1
    Supply
    Talk システム
    ユニットのENと弾薬を補給しました。
    End
    Finish
    Case 2
    Return
    EndSw

     遅くなりましたが、こんな感じでしょうか?
     とは言っても、まだどうやれば隣接した時にのみ『リロード』を出すように出来るのかわかっていないので、これでは常時『リロード』が発現したままなのですが。
     あと『リロード』を選んだ場合、そのままスキップを押したままだと、そこで行動終了になってしまいますね。これについては自分で考えてみます。
     『ユニットコマンド』にも条件を決める事ができるとありますが、その条件をどういう風に書けば良いのかがわかりません。よろしくお願いします。

引用返信/返信 削除キー/



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

このトピックに書きこむ

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

Pass/

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

- Child Tree -
- Antispam Version -