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

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

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

■20392 / inTopicNo.1)  ユニットのアビリティで格納・発進
  
□投稿者/ MK -(2007/10/20(Sat) 21:45:30) [ID:fX2R2tjN]
    どうも、MKです
    母艦に隣接しているユニットを母艦のアビリティで格納するインクルードを組んでみたのですが、実際やってみると格納するまではいいのですが発進させる所が上手くいきません
    以下がそのインクルードと母艦のデータです

    インクルード

    使用 味方 搭載:
    Enable 母艦
    Land Pilot(相手ユニットID) Pilot()
    Disable 母艦
    Enable 発進
    SpecialPower Pilot() 覚醒
    Exit

    使用 味方 発進:
    Set i 1
    ForEach 味方 格納
    Set 格納ユニット[i] 対象ユニットID
    Incr i
    Next
    Ask 格納ユニット ユニット選択 キャンセル可
    Move x(Pilot()) y(Pilot())
    Exit


    ユニット

    戦艦
    戦艦, 戦艦, 1,1
    空, 5, LL, 0, 100
    特殊能力
    母艦
    1000, 100, 1000, 50
    A--A, -.bmp
    機銃, 1000, 1, 1, +30, 20, -, -, AAAA, -20, -
    ===
    搭載, -, 1, -, -, -, Q援
    発進, 再行動, 0, -, -, -, -


    発進使用イベントのAskコマンドとMoveコマンドの間に何かが足りていないのだとは思うのですが、肝心のなにが足りないのかが分かりません
    もしかしたら的外れな組み方をしている可能性も高いですが・・・
    ですのでどうか皆様の知恵をお貸し下さい


    それからもう一つ、一応関係があるのでここで質問させてください
    格納時の回復量は1ターンで50%ですが、これを毎ターン10%ずつ回復するようにするにはインクルードを組むしかないでしょうか?

    二つも質問してすいません
引用返信/返信 削除キー/
■20395 / inTopicNo.2)  Re[1]: ユニットのアビリティで格納・発進
□投稿者/ 中箱 -(2007/10/21(Sun) 22:01:09) [ID:8NrUE61r]
    どうも、中箱です。

    初めに、すいませんが実動確認せずでのレスです。
    的外れでしたら申し訳ない。


    >Ask 格納ユニット ユニット選択 キャンセル可
    >Move x(Pilot()) y(Pilot())

    >発進使用イベントのAskコマンドとMoveコマンドの間に何かが足りていないのだとは思うのですが、肝心のなにが足りないのかが分かりません


    Moveコマンドを実行する対象を省略しているせいではないでしょうか。

    Askコマンドを用いて、出撃させるユニットを選んだ直後ですから、
    システム変数"選択"を利用すれば、Moveコマンドの対象となるユニットを指定できますし。


    Moveの対象となるユニットを指定しても上手く行かなければ、(出撃はするけど変な座標に移動する、とか)
    移動先の座標を指定しているX,Y関数の引数を省略せず、「出撃」を実行した母艦のユニットIDを入れてみてください。



    動作確認していないレスで失礼。参考になれば良いのですが
    以上です
    では
引用返信/返信 削除キー/
■20402 / inTopicNo.3)  Re[2]: ユニットのアビリティで格納・発進
□投稿者/ MK -(2007/10/23(Tue) 09:14:56) [ID:fX2R2tjN]
    中箱さんお答えありがとうございます
    対象となるユニットを指定したのですが、今度はエラーが出て動作しなくなりました

    ちなみに元の状態だと、仮にユニットA・B・Cを格納していたとすると、Askコマンド実行時に

    ユニットA:3
    ユニットB:4
    ユニットC:5

    と表示され(このユニットの後の数字も謎なのですが…)、この時にどのユニットを選ぼうがキャンセルしようが必ずユニットAが出撃していました

引用返信/返信 削除キー/
■20403 / inTopicNo.4)  Re[3]: ユニットのアビリティで格納・発進
□投稿者/ 中箱 -(2007/10/23(Tue) 18:22:59) [ID:8NrUE61r]
    >ちなみに元の状態だと、仮にユニットA・B・Cを格納していたとすると、Askコマンド実行時に

    >ユニットA:3
    >ユニットB:4
    >ユニットC:5

    >と表示され(このユニットの後の数字も謎なのですが…)

    えーと、
    最初に書かれていなかったので、Askコマンドで表示される内容については通過済みの問題なんだろうと思っていました。

    これは
    >Set 格納ユニット[i] 対象ユニットID
    と、配列"格納ユニット" に各々のユニットIDを入れているからです。
    ユニットIDは「ユニットA:3」のような文字列になっているので。

    表示される文字列をユニットIDでないものにしたいのであれば、
    Askに用いる配列を作る際、その配列のインデックスと値に一工夫する必要がありますね。



    さて、
    >対象となるユニットを指定したのですが、今度はエラーが出て動作しなくなりました
    とのことですが、
    ユニットの指定方法が間違っているのではないでしょうか。

    例えば
     Move 選択 X() Y()

     Move 選択 X(選択) Y(選択)
    のようにやっていませんか?

    前回のレスで
    >システム変数"選択"を利用すれば、Moveコマンドの対象となるユニットを指定できますし。
    とは書きましたが、
    これは、対象として「選択」をそのまま入れれば良い、という意味ではありません。
    …紛らわしかったでしょうか、それでしたらすいません。


    上に挙げたものと違う風に書き換えたのであれば、
    どのように書き換えた所どのようなエラーが出たのか、
    を示してくださらないと分かりません。



    Askコマンドの書式2の場合、
    >システム変数選択の値は選択された選択肢に対応する要素のインデックスに設定されます。
    >キャンセル時の選択の値は空文字列""です。
    となっており、

    >指定した配列message の要素の値

    >Set 格納ユニット[i] 対象ユニットID
    となっています。


    Moveコマンドの対象を指定するのに必要なのは、
    >移動するユニットのメインパイロット名またはユニットID
    ですから、

    これらと、配列の要素のインデックスについてが分かれば
    どうやってユニットを指定するかも分かるかと。
    考えてみてください



    上にも書きましたが、質問やレスの際には、

    「〜〜のように指定したが、○○というエラーが出た」
    など、ある程度具体的な内容を書いて貰えた方が、
    回答する方としては格段にレスがしやすくなります。

    「ダメだった」という報告だけでは、どこが(誰が)間違っているのかが分かりませんので。



    頑張ってください
    では。
引用返信/返信 削除キー/
■20406 / inTopicNo.5)  Re[4]: ユニットのアビリティで格納・発進
□投稿者/ MK -(2007/10/25(Thu) 11:43:05) [ID:fX2R2tjN]
    > 上にも書きましたが、質問やレスの際には、
    >
    > 「〜〜のように指定したが、○○というエラーが出た」
    > など、ある程度具体的な内容を書いて貰えた方が、
    > 回答する方としては格段にレスがしやすくなります。
    >
    > 「ダメだった」という報告だけでは、どこが(誰が)間違っているのかが分かりませんので。
    >

    すいません、急いでいたもので書き忘れていました・・・

    インクルードの方はおかげ様できちんと動作するようになりました、ありがとうございました

    後は格納時の回復量ですが、これはやはり格納を使う以上は変更不能なのでしょうか?

引用返信/返信 削除キー/
■20410 / inTopicNo.6)  Re[5]: ユニットのアビリティで格納・発進
□投稿者/ 中箱 -(2007/10/25(Thu) 22:46:10) [ID:8NrUE61r]
    >格納時の回復量ですが、これはやはり格納を使う以上は変更不能なのでしょうか?

    格納時の回復量はー・・・変更する方法は無かったように記憶しています。


    とはいえ、格納中でもHP関数やEN関数を使ってHP・ENの変更はできますから、

    例えば、格納中は1ターンあたり最大HPの10%を回復させたい場合は
     ・ユニットAが、HP 1000/5000 で格納されたら、
      AのHPが1000だったことを配列に入れておく。
     ・ターンの開始時、Aが格納されていれば、
      AのHPを 1000(元々のHP) + 500(最大HPの10%)に変更する。
    ・・のようにすれば、回復量が変化しているようにできるかもしれません。

    実際には、ユニットがHP回復能力を持っていたりなど、様々な場合も考慮する必要があると思いますが。


    参考になれば幸いです。
    では。
引用返信/返信 削除キー/
■20421 / inTopicNo.7)  Re[6]: ユニットのアビリティで格納・発進
□投稿者/ MK -(2007/10/29(Mon) 10:50:49) [ID:fX2R2tjN]
    なるほど・・・ほかにも考慮しなければならない事もあるので中々骨が折れそうですがやってみようと思います

    中箱さん、長々とお付き合いいただきありがとうございました
解決済み!
引用返信/返信 削除キー/



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

このトピックに書きこむ

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

Pass/

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

- Child Tree -
- Antispam Version -