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

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

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

■21897 / inTopicNo.1)  未出撃ユニットの出撃、入れ替え
  
□投稿者/ 石川 -(2010/02/08(Mon) 05:47:04) [ID:DNUWcOtY]
    はじめまして。
    シナリオを作成中、分からない事項がありましたので質問させて頂きます。

    シナリオが進んで仲間が増えてきますと、出撃できない居るだけユニットが増えていきます。私はそれに違和感があって、何とか出来ないものかと悩んでおりました。

    すると、最近スパロボNEOをプレイしたのですが、NEOでは出撃数(出撃枠? 母艦から出て戦闘を行う事が出来るユニット数)が決められていて、未出撃ユニットは全て母艦で待機するようになっていました。

    そして、ダメージを負ったら母艦に逃げ帰り、体力回復。
    母艦で待機していたユニットが交代で出撃…………と、個人的には理想的なシステムのように感じました。(本当に個人的な感想ですが…………)

    SRCでもこのように、全てのユニットが(母艦などで)出撃・入れ替え可能で、出撃数(出撃枠?)だけ制限がある、という形に出来ないものでしょうか?
    未出撃で全く出番がないユニットを減らせればと思っています。
    (landでユニットを母艦に搭載できる事、Organizeで母艦ユニットだけ出撃させられることはわかります)

    もしかしたらシステムを良く分かっていない質問かもしれませんが、回答を頂ければ幸いです。
    よろしくお願いいたします。
引用返信/返信 削除キー/
■21899 / inTopicNo.2)  Re[1]: 未出撃ユニットの出撃、入れ替え
□投稿者/ プリズム -(2010/02/09(Tue) 20:56:37) [ID:OXdoIldQ]
    2010/02/13(Sat) 18:09:39 編集(投稿者)

    初めまして、プリズムです。
    自分もNEOをやってみて、このシステム面白そうだなぁと思ったので
    再現出来るか四苦八苦してた所です。
    課題が残りまくりなのですが入れ替え風っぽくは出来ました。
    自分が分かれば良いの精神の元弄ってるので意味不明な所があったらすみません。

    まずは、母艦となる戦艦をCreateなりLaunchで出撃させます
    次にステージ最大出撃数という変数を作ります

    Set ステージ最大出撃数 6 
    ##↑のように書くと初期段階ではフィールド上に6機までしか味方を出せません
    ##母艦を含むので母艦以外は5機までと言う事になります
    ##イベントが進むにつれて増やしていってください

    #####Include.eve内部
    *収納 味方:

    Action(対象パイロット) = (Action(対象パイロット) - 1)
    ##どうも、着艦した時点ではユニットの行動回数が減って無い様なので
    ##無理やり行動数を1減らします

    If Skill(対象パイロット,2回行動) Then
      1回格納したターン数[対象パイロット] = ターン数
    EndIf
    ##2回行動持ちは、母艦から出た時点で再び2回行動になってしまうので
    ##それを防ぐための変数作成です

    If Action(対象パイロット) > 0 Then
     Leave 対象パイロット
     Join 対象パイロット
     ##2回行動や覚醒使ったユニットは、1回目の格納の場合行動回数が
     ##1残ってる筈なので、Organizeコマンドで出撃出来るように即座に
     ##LeaveとJoinを使って 待機状態にします
    Else
     Leave 対象パイロット
     格納したターン数[対象パイロット] = ターン数
     ##行動回数が0になったユニットはLeaveコマンドで一時離脱状態にします
     ##また、格納したターン数が必要なので変数を作成します

    EndIf
     IncreaseMorale 対象パイロット 5
     ##母艦に着艦した時点で気力が5下がってしまうようなので
     ##IncreaseMoraleコマンドで5下がった分をアップさせます
    Exit


    -*ユニットコマンド 発進 味方 (IsAvailable(対象パイロット,母艦) = 1):

    母艦座標X = X(対象パイロット)
    母艦座標Y = Y(対象パイロット)
    ##後で離脱数や待機数を調べているので、Organizeで対象パイロットが
    ##使えない様なので、ここでX座標とY座標を取得します

    Set 出撃数 0

    ForEach 味方 出撃
     Incr 出撃数 1
    Next

    If ステージ最大出撃数 = 出撃数 Then
      Talk システム
      現在、出撃数が最大です。;出撃しているユニットを格納してください。
      End
      ##シナリオの方で指定したステージ最大出撃数と同じ数の味方が
      ##出撃している場合、処理を終了してメッセージを表示します
    Else
        If Call(待機確認) = 0 Then
          Talk システム
          このターン中に行動可能なユニットが;格納されていません
          End
          ##このターン中に格納したユニットを除いた状態で
          ##他に待機状態が居なければ、メッセージを表示します

        Else
          Organize 1 母艦座標X 母艦座標Y 密集
        Endif
    Endif
     ForEach 味方 出撃
       If 1回格納したターン数[対象パイロット] = ターン数 Then

        Action(対象パイロット) = (Action(対象パイロット) - 1)
       EndIf
      Unset 1回格納したターン数[対象パイロット]
     Next
     ##2回行動の特殊能力を持っているユニットは、母艦から出た時点で
     ##2回行動に戻ってしまう為、ヒット&アウェイを使った時に悪用されるのを
     ##防ぐために、1回格納した事のあるターン数が現在と同じの場合
     ##強制的に行動数を1減少します
    Exit


    *ターン 全 味方:
      ForEach 味方 離脱
          If 格納したターン数[対象パイロット] = "" Then
           ##他のイベント等でLeaveしたユニットは
           ##格納したターン数[対象パイロット]という変数を作成して無い為
           ##空白で返されるので、その場合は処理終了
           ##いつの間にか復帰してたなんて事は無い筈

          Else
           ##ターン開始時に処理しているので
           ##格納したターンが空白で無い場合は、インクルード内で
           ##離脱したと言う事なので復帰させます
           

           Join 対象パイロット      
           Unset 格納したターン数[対象パイロット]
          EndIf  
      Next

    ForEach 味方 待機

     If Unit(対象パイロット) = "" Then
     Else 
      SpecialPower 格納時回復
     Endif
    NEXT
    Exit

    待機確認:
    ##格納されてるユニットがあるかどうかの確認です

    Set 待機数 0
    ForEach 味方 待機
     Incr 待機数
    Next
    Return 待機数

    クリア前補完:
    #インターミッションに入る前に必ずCallする事
      ForEach 味方 離脱
          If 格納したターン数[対象パイロット] = "" Then
          Else
     Join 対象パイロット
    Unset 格納したターン数[対象パイロット]
          EndIf   
      Next
    Exit
    #######ここまで

    とりあえず、更に弄って不具合を解消出来たと思われます

    解消済.格納→次のターン以降一切発進コマンドを使わないでクリアした場合
        Joinの処理をしてないのでLeaveしたユニットはそのままに......
        ##ターン開始時に離脱から待機に戻す事で
        ##Leaveしたままのユニットが無いようになった筈

    解消済.格納したターンにクリアした場合
        Joinの処理をしてないのでLeaveしたユニットはそのままに......
        ##インターミッションに入る前に「クリア前補完」を
        ##Callする事で待機状態に戻す事が出来ます

    解消不可.何故ユニットの状態を格納では無く待機にしているのか?
         #格納状態の場合Organizeコマンドでの出撃が不可のため
         #また、格納状態にしておくとSRC本来の機能の発進が出来てしまう
         #本来の発進の場合、移動先を指定して発進ユニットは行動終了に
         #なってしまう為、NEOとは違うかなと思った

    ##解消出来る筈だけど知識が足りなくて無理だった仕様
    1.強制的に待機状態にしているので、部隊表からユニット情報を見る事が出来ない
    2.ユニットコマンドの発進を選んでしまった場合、必ず1体出撃させなければならない
     (Organizeコマンドがキャンセル不可のため)
    3.複数の戦艦が存在する場合の処理
     乗り込んだ戦艦からしか発進出来ないようにする処理

    とりあえず、自分が作成した分をペタリと貼り付けて見る
    SRC1年ぶりな自分が作成した物なので
    何か改良出来る所があったら、他の人もドンドン突っ込み入れてくださいorz

引用返信/返信 削除キー/
■21900 / inTopicNo.3)  Re[2]: 未出撃ユニットの出撃、入れ替え
□投稿者/ 石川 -(2010/02/10(Wed) 05:30:34) [ID:DNUWcOtY]
    プリズムさん

    はじめまして、石川と申します。早速の回答、どうもありがとうございました。
    早速シナリオに組み込んで動作を確認してみたいと思います。
    (私はOrganizeとjoin、leaveを組み合わせれば出来るかと四苦八苦していたのですが、私が見落としていた問題点までカバーされていて、大変勉強になりました。どうもありがとうございました)

    プリズムさんの方から、更なる改良点があれば…………とのコメントを頂いておりますので、まだ解決済みにはせずにいたいと思います。
    (ある程度時間がたっても進展がないようでしたら、私の方で解決済みにさせて頂きたい思います)


    解消不可.何故ユニットの状態を格納では無く待機にしているのか?
         #格納状態の場合Organizeコマンドでの出撃が不可のため
         #また、格納状態にしておくとSRC本来の機能の発進が出来てしまう
         #本来の発進の場合、移動先を指定して発進ユニットは行動終了に
         #なってしまう為、NEOとは違うかなと思った

    ##解消出来る筈だけど知識が足りなくて無理だった仕様
    1.強制的に待機状態にしているので、部隊表からユニット情報を見る事が出来ない
    2.ユニットコマンドの発進を選んでしまった場合、必ず1体出撃させなければならない
     (Organizeコマンドがキャンセル不可のため)
    3.複数の戦艦が存在する場合の処理
     乗り込んだ戦艦からしか発進出来ないようにする処理

    とりあえず、自分が作成した分をペタリと貼り付けて見る
    SRC1年ぶりな自分が作成した物なので
    何か改良出来る所があったら、他の人もドンドン突っ込み入れてくださいorz

引用返信/返信 削除キー/
■21901 / inTopicNo.4)  複数戦艦に対応しました
□投稿者/ プリズム -(2010/02/10(Wed) 13:51:19) [ID:Hhb187t2]
    なんとか弄って解消出来る筈の3番目をクリアしました
    前回と同じ説明文は省きます
    難点は最初にどの母艦に乗っているのかをシナリオ側で変数で
    管理しなくちゃならないって事でしょうか。まぁ、一番最後に詳しく書きます

    #####Include.eve内部

    *収納 味方:

    格納している母艦[対象パイロット] = Unit(相手パイロット)
    ##どの母艦に着艦したのかをパイロット毎に変数で管理します

    Action(対象パイロット) = (Action(対象パイロット) - 1)

    If Skill(対象パイロット,2回行動) Then
      1回格納したターン数[対象パイロット] = ターン数
    EndIf

    If Action(対象パイロット) > 0 Then
     Leave 対象パイロット
     Join 対象パイロット
    Else
     Leave 対象パイロット
     格納したターン数[対象パイロット] = ターン数
    EndIf
     IncreaseMorale 対象パイロット 5
    Exit

    ##################################################################
    -*ユニットコマンド 発進 味方 (IsAvailable(対象パイロット,母艦) = 1):

    母艦座標X = X(対象パイロット)
    母艦座標Y = Y(対象パイロット)
    母艦名 = Unit(対象パイロット)
    ##どの母艦で発進コマンドを選んだのかを調べます

    Set 出撃数 0

    ForEach 味方 出撃
     Incr 出撃数 1
    Next

    If ステージ最大出撃数 = 出撃数 Then
      Talk システム
      現在、出撃数が最大です。;出撃しているユニットを格納してください。
      End
    Else

    ForEach 味方 待機

    If 格納している母艦[対象パイロット] = "" Then
       ##空白が返ってきた場合は、最初に変数作成をしていない時ですが
       ##この場合は最初だけ全ての戦艦から出撃出来ます
       ##着艦した時に格納している母艦の変数を作成してしまう為
     Else
       If 格納している母艦[対象パイロット] = 母艦名 Then
       ##発進コマンドを選んだ母艦に格納されている場合は
       ##このまま処理を続行します

       Else

       ##母艦に格納されてない場合は、一時離脱扱いとして
       ##Organizeで出撃出来ないようにします
       Leave 対象パイロット
       Set 母艦にのってません[対象パイロット] 1

       EndIf
     EndIf

     Next


        If Call(待機確認) = 0 Then
          Talk システム
          このターン中に行動可能なユニットが;格納されていません
          End
          
        Else
          ForEach 味方 待機
           Set 出撃出来ます[対象パイロット] 1
           ##Organizeコマンドでどのユニットが出撃したのかを
           ##調べるための変数です
          Next

          Organize 1 母艦座標X 母艦座標Y 密集

          ForEach 味方 出撃

           If 出撃出来ます[対象パイロット] = 1 Then
           ##この変数が1の場合、直前のOrganizeコマンドにより
           ##出撃したと言う事なので、格納している母艦の変数と
           ##出撃出来ますという変数を↓で削除します

            Unset 格納している母艦[対象パイロット]
            Unset 出撃出来ます
           EndIf
          Next
        Endif

    ForEach 味方 離脱
      If 母艦にのってません[対象パイロット] = 1 Then
      ##この変数が1の時、格納している母艦と発進を選んだ母艦が違った時なので
      ##一時離脱をやめて復帰させます。また母艦にのってないという変数も削除します

        Join 対象パイロット
        Unset 母艦にのってません[対象パイロット]
      EndIf
    Next

    Endif
     ForEach 味方 出撃
       If 1回格納したターン数[対象パイロット] = ターン数 Then

        Action(対象パイロット) = (Action(対象パイロット) - 1)
       EndIf
      Unset 1回格納したターン数[対象パイロット]
     Next
    Exit



    *ターン 全 味方:
      ForEach 味方 離脱
          If 格納したターン数[対象パイロット] = "" Then
          Else
           Join 対象パイロット      
           Unset 格納したターン数[対象パイロット]
          EndIf  
      Next

    ForEach 味方 待機

      SpecialPower 格納時回復
    NEXT

    Exit

    待機確認:

    Set 待機数 0
    ForEach 味方 待機
     Incr 待機数
    Next
    Return 待機数

    クリア前補完:
      ForEach 味方 離脱
          If 格納したターン数[対象パイロット] = "" Then
          Else
     Join 対象パイロット
    Unset 格納したターン数[対象パイロット]
          EndIf   
      Next
    Exit
    #######ここまで


    格納している母艦[パイロット名] = 母艦のユニット名
    :
    :
    :
    最後まで

    すぐ↑のは
    どのパイロットがどの母艦に着艦しているのかと言う事を
    知るための変数を作成している所です
    戦闘が開始される直前にでも、格納していたい母艦の名前を書けば良いです

    例)
    スタート:

    Set ステージ最大出撃数 10
    ChangeMap ---.map

    Launch シャーリィ 5 5
    Launch ココア 7 7

    格納している母艦[駆] = イオニア
    格納している母艦[アマネ] = イオニア
    格納している母艦[虎太郎] = イオニア
    格納している母艦[竜馬] = イオニア
    格納している母艦[アデュー] = ハルク砲艦
    格納している母艦[ラムネス] = ハルク砲艦
    格納している母艦[マグナムエース] = ハルク砲艦
    格納している母艦[剣] = イオニア
    Exit

    ###
    ↑の様に書くと
    駆・アマネ・虎太郎・竜馬・剣は最初はイオニアからしか
    アデュー・ラムネス・マグナムエースは最初はハルク砲艦からしか出撃出来なくなります
    この変数はステージ中で着艦した時に書き換えられるので
    2回目以降の出撃の場合は、着艦した母艦からしか出撃出来なくなります

    戦闘開始前に数行書くのが面倒ならば、Callコマンドでラベルを呼び出すという手もあります
    例)
    スタート:

    Set ステージ最大出撃数 10
    ChangeMap ---.map

    Launch シャーリィ 5 5
    Launch ココア 7 7
    Call ○○○(ラベル名)
    Exit

    ##別のファイルに書いてあるラベル
    ○○○:
    格納している母艦[駆] = イオニア
    格納している母艦[アマネ] = イオニア
    格納している母艦[虎太郎] = イオニア
    格納している母艦[竜馬] = イオニア
    格納している母艦[アデュー] = ハルク砲艦
    格納している母艦[ラムネス] = ハルク砲艦
    格納している母艦[マグナムエース] = ハルク砲艦
    格納している母艦[剣] = イオニア
    Return

    ###################
    とりあえず、解消したのは3番目だけです
    残りの1番目と2番目は考えては見ますが、恐らく自分では無理です。
    戦艦を常に1体しか出さないのであれば、最初に方だけで十分です
    戦艦を2体以上出すのであれば、面倒ですが変数作成した状態で2番目を使ってください

引用返信/返信 削除キー/
■21905 / inTopicNo.5)  エラーメッセージ
□投稿者/ 石川 -(2010/02/13(Sat) 14:38:22) [ID:DNUWcOtY]
    こんにちは、お世話になっております。
    一つ質問がありまして、再度送信させて頂きます。


    ForEach 味方 待機

      SpecialPower 格納時回復
      ##この格納時回復と言うのは、ターン開始時に待機状態の味方の
      ##HP・ENを10%回復、弾数の装填の効果があるSPです
      ##SPの効果を変える事で、回復量を調節できます
    NEXT

    の部分なのですが、前述の「#####Include.eve内部」から「#######ここまで」をInclude.eveにコピーした場合、インターミンションにてパイロットステータスを表示する際に、「SpecialPower 格納時回復が見つかりません」というエラーメッセージが表示され、強制終了してしまいます。

    格納時回復, かくのうじかいふく
    格, 0, 自分, 即効, -, -, -
    装填 HP回復Lv5 EN回復Lv5
    母艦に格納されたユニットのHPとENをターン開始時に50%回復する。弾数は全回復。
    というSPを作成した場合、インターミンションにてパイロットステータスを表示する際に、「ユニット「」にはパイロットが乗っていません」というエラーが表示され、強制終了してしまいます。

    ちなみに、

    ForEach 味方 待機

      SpecialPower 格納時回復
      ##この格納時回復と言うのは、ターン開始時に待機状態の味方の
      ##HP・ENを10%回復、弾数の装填の効果があるSPです
      ##SPの効果を変える事で、回復量を調節できます
    NEXT

    の部分を削除した場合、インターミンションにてパイロットステータスを表示する際にエラーメッセージが表示されなくなり、問題なくステータスを見る事が出来ます。

    エラーが出ている部分を突き止める事は出来たのですが、そこからどうすれば問題なく動作できるかわからず、再度質問と言う形でご連絡させて頂きました。


    お手数をおかけいたしますが、もし改善のためのアドバイス等頂けましたらありがたいと思います。
    何度もお手数をおかけして申し訳ありません…………
引用返信/返信 削除キー/
■21907 / inTopicNo.6)  Re[5]: エラーメッセージ
□投稿者/ プリズム -(2010/02/13(Sat) 18:06:46) [ID:X8PRVnJS]
    > インターミンションにてパイロットステータスを表示する際に、「ユニット「」>にはパイロットが乗っていません」というエラーが表示され、強制終了してしま>います。

    あぁぁぁ、すみません。
    インターミッション中のステータス表示まで確かめていませんでしたorz

    どうも、インターミッション中のパイロットステータス表示の時には
    特殊な処理がされているようで、それが原因だと分かりました
    なので、対処作として下記の部分をコピーした後、差し替えをお願いします
    ついでに、投稿してあった分も修正しておきます

    #################ターンラベルを全て差し替えてください

    *ターン 全 味方:

      ForEach 味方 離脱
          If 格納したターン数[対象パイロット] = "" Then
          Else
           Join 対象パイロット      
           Unset 格納したターン数[対象パイロット]
          EndIf  
      Next

    ForEach 味方 待機

     If Unit(対象パイロット) = "" Then
     Else 
      SpecialPower 格納時回復
     Endif
    NEXT


    Exit
    ###################ここまで

    まだ、エラー落ちするようでしたらご報告願いますorz
    あぁ、まだ何か残ってそうな予感がするorz
引用返信/返信 削除キー/
■21908 / inTopicNo.7)  複数戦艦対応用(こっち使ってください)
□投稿者/ プリズム -(2010/02/13(Sat) 18:14:33) [ID:X8PRVnJS]
    複数対応している方の記事にPassを入れ忘れていた為
    新しくレスを立てました。Pass忘れの物消す方法無いのかなぁorz

    #####Include.eve内部

    *収納 味方:

    格納している母艦[対象パイロット] = Unit(相手パイロット)
    ##どの母艦に着艦したのかをパイロット毎に変数で管理します

    Action(対象パイロット) = (Action(対象パイロット) - 1)

    If Skill(対象パイロット,2回行動) Then
      1回格納したターン数[対象パイロット] = ターン数
    EndIf

    If Action(対象パイロット) > 0 Then
     Leave 対象パイロット
     Join 対象パイロット
    Else
     Leave 対象パイロット
     格納したターン数[対象パイロット] = ターン数
    EndIf
     IncreaseMorale 対象パイロット 5
    Exit

    ##################################################################
    -*ユニットコマンド 発進 味方 (IsAvailable(対象パイロット,母艦) = 1):

    母艦座標X = X(対象パイロット)
    母艦座標Y = Y(対象パイロット)
    母艦名 = Unit(対象パイロット)
    ##どの母艦で発進コマンドを選んだのかを調べます

    Set 出撃数 0

    ForEach 味方 出撃
     Incr 出撃数 1
    Next

    If ステージ最大出撃数 = 出撃数 Then
      Talk システム
      現在、出撃数が最大です。;出撃しているユニットを格納してください。
      End
    Else

    ForEach 味方 待機

    If 格納している母艦[対象パイロット] = "" Then
       ##空白が返ってきた場合は、最初に変数作成をしていない時ですが
       ##この場合は最初だけ全ての戦艦から出撃出来ます
       ##着艦した時に格納している母艦の変数を作成してしまう為
     Else
       If 格納している母艦[対象パイロット] = 母艦名 Then
       ##発進コマンドを選んだ母艦に格納されている場合は
       ##このまま処理を続行します

       Else

       ##母艦に格納されてない場合は、一時離脱扱いとして
       ##Organizeで出撃出来ないようにします
       Leave 対象パイロット
       Set 母艦にのってません[対象パイロット] 1

       EndIf
     EndIf

     Next


        If Call(待機確認) = 0 Then
          Talk システム
          このターン中に行動可能なユニットが;格納されていません
          End
          
        Else
          ForEach 味方 待機
           Set 出撃出来ます[対象パイロット] 1
           ##Organizeコマンドでどのユニットが出撃したのかを
           ##調べるための変数です
          Next

          Organize 1 母艦座標X 母艦座標Y 密集

          ForEach 味方 出撃

           If 出撃出来ます[対象パイロット] = 1 Then
           ##この変数が1の場合、直前のOrganizeコマンドにより
           ##出撃したと言う事なので、格納している母艦の変数と
           ##出撃出来ますという変数を↓で削除します

            Unset 格納している母艦[対象パイロット]
            Unset 出撃出来ます
           EndIf
          Next
        Endif

    ForEach 味方 離脱
      If 母艦にのってません[対象パイロット] = 1 Then
      ##この変数が1の時、格納している母艦と発進を選んだ母艦が違った時なので
      ##一時離脱をやめて復帰させます。また母艦にのってないという変数も削除します

        Join 対象パイロット
        Unset 母艦にのってません[対象パイロット]
      EndIf
    Next

    Endif
     ForEach 味方 出撃
       If 1回格納したターン数[対象パイロット] = ターン数 Then

        Action(対象パイロット) = (Action(対象パイロット) - 1)
       EndIf
      Unset 1回格納したターン数[対象パイロット]
     Next
    Exit



    *ターン 全 味方:
      ForEach 味方 離脱
          If 格納したターン数[対象パイロット] = "" Then
          Else
           Join 対象パイロット      
           Unset 格納したターン数[対象パイロット]
          EndIf  
      Next

    ForEach 味方 待機

     If Unit(対象パイロット) = "" Then
     Else 
      SpecialPower 格納時回復
    ##この格納時回復と言うのは、ターン開始時に待機状態の味方の
      ##HP・ENを10%回復、弾数の装填の効果があるSPです
      ##SPの効果を変える事で、回復量を調節できます
     Endif
      
    NEXT

    Exit

    待機確認:

    Set 待機数 0
    ForEach 味方 待機
     Incr 待機数
    Next
    Return 待機数

    クリア前補完:
      ForEach 味方 離脱
          If 格納したターン数[対象パイロット] = "" Then
          Else
     Join 対象パイロット
    Unset 格納したターン数[対象パイロット]
          EndIf   
      Next
    Exit
    #######ここまで


    格納している母艦[パイロット名] = 母艦のユニット名
    :
    :
    :
    最後まで

    すぐ↑のは
    どのパイロットがどの母艦に着艦しているのかと言う事を
    知るための変数を作成している所です
    戦闘が開始される直前にでも、格納していたい母艦の名前を書けば良いです

    例)
    スタート:

    Set ステージ最大出撃数 10
    ChangeMap ---.map

    Launch シャーリィ 5 5
    Launch ココア 7 7

    格納している母艦[駆] = イオニア
    格納している母艦[アマネ] = イオニア
    格納している母艦[虎太郎] = イオニア
    格納している母艦[竜馬] = イオニア
    格納している母艦[アデュー] = ハルク砲艦
    格納している母艦[ラムネス] = ハルク砲艦
    格納している母艦[マグナムエース] = ハルク砲艦
    格納している母艦[剣] = イオニア
    Exit

    ###
    ↑の様に書くと
    駆・アマネ・虎太郎・竜馬・剣は最初はイオニアからしか
    アデュー・ラムネス・マグナムエースは最初はハルク砲艦からしか出撃出来なくなります
    この変数はステージ中で着艦した時に書き換えられるので
    2回目以降の出撃の場合は、着艦した母艦からしか出撃出来なくなります

    戦闘開始前に数行書くのが面倒ならば、Callコマンドでラベルを呼び出すという手もあります
    例)
    スタート:

    Set ステージ最大出撃数 10
    ChangeMap ---.map

    Launch シャーリィ 5 5
    Launch ココア 7 7
    Call ○○○(ラベル名)
    Exit

    ##別のファイルに書いてあるラベル
    ○○○:
    格納している母艦[駆] = イオニア
    格納している母艦[アマネ] = イオニア
    格納している母艦[虎太郎] = イオニア
    格納している母艦[竜馬] = イオニア
    格納している母艦[アデュー] = ハルク砲艦
    格納している母艦[ラムネス] = ハルク砲艦
    格納している母艦[マグナムエース] = ハルク砲艦
    格納している母艦[剣] = イオニア
    Return

    ###################

引用返信/返信 削除キー/
■21909 / inTopicNo.8)  動作確認しました
□投稿者/ 石川 -(2010/02/14(Sun) 15:06:58) [ID:DNUWcOtY]
    こんにちは、石塚です。

    対応して頂きありがとうございました。
    早速コピペして、動作を確認した所、問題なく動作しております。

    私はこの他、特にエラーなどは確認しておりませんが、シナリオで継続的に使用させて頂くつもりですので、何かあれば報告させて頂きたいと思います。

    それでは、解決済みという事にさせて頂きますね。
    今回は本当にありがとうございました。
解決済み!
引用返信/返信 削除キー/
■21910 / inTopicNo.9)  追加:格納中の部隊表
□投稿者/ プリズム -(2010/02/14(Sun) 21:44:53) [ID:X8PRVnJS]
    石川さんが動作確認されたと言う事で、なんとか一安心している所です。
    今回解消出来るはずの問題の1番目を解決しましたので
    インクルに追記という形でお願いします。
    部隊表が必要無いなら組み込まなくても大丈夫です。動作には影響しません。

    #######インクル内部に追記して欲しい物

    マップコマンド 部隊表(格納中):

    Set 格納数 0
    ForEach 味方 待機
     Incr 格納数 1
     格納中の部隊表[格納数] = 対象パイロット
     ネームリスト[格納数] = 格納中の部隊表[格納数]
    Next

    ForEach 味方 離脱
     If 格納したターン数[対象パイロット] = "" Then
     Else
      Incr 格納数
      ネームリスト[格納数] = 格納中の部隊表[格納数] & ":出撃不可"
     EndIf
    Next

    Incr 格納数 1
    Set 格納ラスト 格納数
    ネームリスト[格納数] = やめる

    Do

    Ask ネームリスト "どのユニットの情報を見ますか?" 通常 連続表示 キャンセル可


    If 選択 = 格納ラスト Then
    ElseIf 選択 = "" Then
     選択 = 格納ラスト
    Else

    ShowUnitStatus 格納中の部隊表[選択]

    EndIf

    Loop While (Not 選択 = 格納ラスト)

    Unset 選択

    ASK 終了
    Unset 格納数
    Unset 格納中の部隊表P
    Unset 格納中の部隊表U
    Unset ネームリスト
    Unset 格納ラスト

    Exit

    ###############ここまで

    ↑のマップコマンドラベルを追記する事で、マップ上右クリックによるメニューに
    "部隊表(格納中)"と言う物が追加されます。ラベルの名前は自由に改変して下さい
    格納中とされているパイロット名が選択肢形式で表示されます。
    パイロット名をクリックする事で、SRCの右側(灰色の部分)にステータスが表示されます。
    又、格納したばかりで出撃出来ないパイロットは出撃出来るパイロットの下側に表示され
    右側には":出撃不可"が付くので分かり安いと思います

    ########################
    此処からは、完全に自分の我が侭なのですが
    このインクルを作成している時に、SRC熱が再燃してしまいました
    仮にシナリオを作成して公開する場合
    このインクルを自分のシナリオにも付属する事になると思います。

    掲示板に出している時点で、著作権も何もないのですが
    一応、インクルードファイルの一番上にでも

    ####製作者:プリズム

    の一文を追加して貰えたらあり難いです
引用返信/返信 削除キー/



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

このトピックに書きこむ

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

Pass/

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

- Child Tree -
- Antispam Version -