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

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

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

■19402 / inTopicNo.1)  いわゆる悪魔合体?システム。
  
□投稿者/ ヒゲンジン -(2006/12/02(Sat) 13:27:21) [ID:pyNSK9gC]
    こんにちは。
    ヒゲンジンと申します。

    私は、初級者にも関わらず無謀にも無限ダンジョン系シナリオを、
    製作しようと日々奮闘中なのですが・・・

    同種族・異種族 問わず仲間のモンスター同士を交配させて
    その子供を仲間にする。
    ・・というシステムを作りたいのですが、、

    解らないながらにヘルプを見つつ組んで見ました。↓↓

    ForEach 味方
    Info(パイロット,対象パイロット,性別) = 男性 Then
     男性数[Count(男性数) + 1] = 対象ユニット
    Next
    Ask 男性数 夫を選んで下さい。 拡大 連続表示
    ForEach 味方
    Info(パイロット,対象パイロット,性別) = 女性 Then
     女性数[Count(女性数) + 1] = 対象ユニット
    Next
    Ask 女性数 妻を選んで下さい。 拡大 連続表示
    Ask 終了

    ##〜男性側・女性側の能力を平均させた値が子供の能力です〜

    Exit

    ↑↑ここまで。↑↑

    ・・と、ここまではよかったのですが、、

    男女問わず選択肢に名前が出てきたり、
    同性を選択できたり、
    本来選択されてはいけない『主人公』も、選択対象になってしまったりして、
    少し行き詰まっています。


    どなたかお知恵を貸して頂けないでしょうか?

    ポイントと致しましては、
    ・味方メンバーは"召喚"インクルードによってランダムで作成される
    ・選択肢から『主人公』と言うキャラクターは除外したい
    ・男性の中から一人選択した後、女性キャラから選択する形式にしたい


    宜しくお願い致します。
引用返信/返信 削除キー/
■19403 / inTopicNo.2)  Re[1]: いわゆる悪魔合体?システム。
□投稿者/ 中箱 -(2006/12/02(Sat) 18:25:41) [ID:8NrUE61r]
    2006/12/02(Sat) 18:42:46 編集(投稿者)

    どうも、中箱と申します。

    >男女問わず選択肢に名前が出てきたり、
    >同性を選択できたり、
    これは、
    >Info(パイロット,対象パイロット,性別) = 男性 Then
    のせいでしょう。
    行末に"Then"があることから、恐らくIfコマンドを使おうとされたのでしょうが、
    肝心の"If"が抜けています。


    >本来選択されてはいけない『主人公』も、選択対象になってしまったり
    askに使う配列を作成する際に、
    対象パイロットの名称が「主人公」の場合をIfコマンドなどを用いて除外すればよろしいかと。


    > 男性数[Count(男性数) + 1] = 対象ユニット
    間違えやすい所ですが、
    "対象ユニット" "相手ユニット" はシステム変数ではありません。
    "対象ユニットID" "相手ユニットID" となります。


    あと、夫を選択した後に続けて妻を選択させてしまうと、
    ヘルプのAskコマンドにもありますが、システム変数「選択」が上書きされてしまいますので、
    夫選択の後、その選択結果を他の変数に記録しておく必要があると思います。


    色々と複雑そうですが、頑張ってください。
    では。
引用返信/返信 削除キー/
■19419 / inTopicNo.3)  また問題が・・・
□投稿者/ ヒゲンジン -(2006/12/06(Wed) 00:12:49) [ID:pyNSK9gC]
    中箱様
    ご回答ありがとうございます。

    一応、ここ2日間ほど、
    無い頭を振り絞って考えてみました。。

    しかし、、、
    今度は、前回表示された選択肢すら出ずに、いきなり
    『0と言うパイロットは存在しません』と言うエラーがでて、強制終了してしまします。

    ・・色々考えましたが、
    残念ながら解決策が思い浮かびません。

    どのようにしたら宜しいでしょうか?

    ↓↓ここから、問題の記述↓↓

    ForEach 味方 待機
    If 対象パイロット = "主人公" Then
    Skip
    Endif

    ##↓↓主人公同様、女性を省く事で男性だけ表示できるようにしたつもりです。

    if Info(パイロット,対象パイロット,性別) = 女性 Then
    Skip
    Endif
    Next

    Ask 男性数 夫を選んで下さい。 拡大 連続表示
    Set おっと 選択
    ShowUnitStatus おっと
    talk システム
    $(おっと)を選択しました。
    end

    ##↓↓こちらも同様、男性を省く事で女性だけ表示できるようにしたつもりです。

    ForEach 味方 待機
    if Info(パイロット,対象パイロット,性別) = 男性 Then
    Skip
    Endif
    Next

    Ask 男性数 妻を選んで下さい。 拡大 連続表示
    Set つま 選択
    ShowUnitStatus つま
    talk システム
    $(つま)を選択しました。
    end

    Ask 終了

    talk システム
    $(おっと)と$(つま)をつがいにしますか?
    end

    〜ここから別のインクル〜



    ↑↑ここまで↑↑
    です。

    ベテランの方々に、ご教授頂けましたら大変幸いです。

    宜しくお願い致します。


引用返信/返信 削除キー/
■19420 / inTopicNo.4)  配列は作成していますか?
□投稿者/ 中箱 -(2006/12/06(Wed) 00:54:08) [ID:8NrUE61r]
    どうも、ベテランとは程遠い身ですが前回もレスしましたので。


    >Ask 男性数 夫を選んで下さい。 拡大 連続表示
    これより前に、配列"男性数"は作られていますでしょうか?
    見たところ、Ifを用いて主人公や女性は除外できてはいるようですが、
    肝心の、配列を作成する記述が抜けているのでは。


    エラーの理由は、
    配列が存在しないのでAskの選択肢が現れず、システム変数"選択"に"0"が格納され、
    >Set おっと 選択
    によって変数"おっと"に"0"が入り、
    その結果
    >ShowUnitStatus おっと

    ShowUnitStatus 0
    として実行され、
    >『0と言うパイロットは存在しません』と言うエラーがでて、強制終了
    という結果になったのだと思います。



    後はぱっと見では
    妻を選ぶ際のAsk、
    >Ask 男性数 妻を選んで下さい。 拡大 連続表示
    において、選択肢リストに用いる配列が"男性数"となっている(ここは"女性数"ですよね?)
    ぐらいでしょうか。


    では
引用返信/返信 削除キー/
■19421 / inTopicNo.5)  解決しました。
□投稿者/ ヒゲンジン -(2006/12/06(Wed) 13:02:15) [ID:pyNSK9gC]
    中箱様
    ご返信ありがとうございます。

    中箱様の仰っていた通り、配列を作成していないのが原因でした。
    下記のように書き換えた所、正常に動作しました。

    ↓↓


    Local 男性数
    ForEach 味方 待機
    if 対象パイロット = 主人公 Then
    Skip
    Endif
    if Info(パイロット,対象パイロット,性別) = 女性 Then
    Skip
    Else
    男性数[対象ユニット] = Pilot()
    Endif
    Next

    Ask 男性数 夫を選んで下さい。 拡大
    Switch 選択
    Case ""
    Case Else
    Set おっと 選択
    ShowUnitStatus おっと
    talk システム
    $(おっと)を選択しました。
    end
    endsw

    Local 女性数
    ForEach 味方 待機
    if Info(パイロット,対象パイロット,性別) = 男性 Then
    Skip
    Else
    女性数[対象ユニット] = Pilot()
    Endif
    Next

    Ask 女性数 妻を選んで下さい。 拡大
    Switch 選択
    Case ""
    Case Else
    Set つま 選択
    ShowUnitStatus つま
    talk システム
    $(つま)を選択しました。
    end
    endsw

    talk システム
    $(おっと)と$(つま)をつがいにしますか?
    end

    〜ここから別のインクル〜

    ↑↑

    の、上記の記述で正常に動作いたしました!!!

    中箱様、ありがとうございました。


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



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

このトピックに書きこむ

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

Pass/

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

- Child Tree -
- Antispam Version -