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

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

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

■22022 / inTopicNo.1)  仕様変更についてなんですが…
  
□投稿者/ カバディ -(2010/06/16(Wed) 06:40:10) [ID:cys3D7aB]
    カバディと申します。
    掲示板には初めて書き込みますがよろしくお願いいたします。

    ゲームを以下のような仕様にする場合、バトルコンフィグやインクルでどう設定したらいいのでしょうか?ヘルプを見たとこを以下の仕様に出来ない他、過去の書き込みを利用しても上手くいきません。

    ・ユニットがいる地形の適応に応じて自身の命中・回避率が変動(陸に適応Aのユニットがいれば等倍、Bなら0.8倍)

    ・射撃武器の地形適応による攻撃側のダメージの変動が武装の地形適応と攻撃相手がいる地形だけに依存する。
    (空中適応Cのユニットが陸の相手に射撃攻撃をした際、命中率は変わらないのに与えるダメージが適応Aの陸で攻撃した際より少なくなる現象を回避したいのです…)

    稚拙な質問かもしれませんがどうか助けてください…

引用返信/返信 削除キー/
■22026 / inTopicNo.2)  地形適応の戦闘への影響を変更する方法?(Re[1]: 仕様変更についてなんですが…
□投稿者/ 中箱 -(2010/06/20(Sun) 16:13:42) [ID:XAPi9INn]
    >ゲームを以下のような仕様にする場合、バトルコンフィグやインクルでどう設定したらいいのでしょうか?ヘルプを見たとこを以下の仕様に出来ない他、過去の書き込みを利用しても上手くいきません。

    >・ユニットがいる地形の適応に応じて自身の命中・回避率が変動(陸に適応Aのユニットがいれば等倍、Bなら0.8倍)

    >・射撃武器の地形適応による攻撃側のダメージの変動が武装の地形適応と攻撃相手がいる地形だけに依存する。
    >(空中適応Cのユニットが陸の相手に射撃攻撃をした際、命中率は変わらないのに与えるダメージが適応Aの陸で攻撃した際より少なくなる現象を回避したいのです…)


    地形適応の戦闘への影響を変更したいという事ですね。


    地形適応関係はバトルコンフィグデータを利用しないでも、Optionコマンドで多少は変更できます。


    親記事の説明だけではカバディさんのやりたい仕様の全容がわかりませんが、

    >地形適応修正繰り下げ
    >地形適応による修正量が繰り下げられます。具体的には適応Aの値が1に設定されます。
    > "S"=1.2, "A"=1, "B"=0.8, "C"=0.6, "D"=0.4, "-"=0

    >地形適応命中率修正
    >地形適応が命中率の計算に適用され、逆にダメージ計算の式から幾つかの地形適応による修正が削除されます。
    >具体的には攻撃力に対する地形適応が武器の地形適応のみから計算されるようになり、防御力に対して地形適応による修正が適用されなくなります(防御力 = 装甲 × 気力/100)。
    >また、ジャンプ攻撃の際の命中率修正がなくなります(地形適応による修正が二重に適用されてしまうのを防ぐため)。

    このあたりのオプションの効果に似てるような感じがしますが、これらのオプション(の組み合わせ)ではダメという事で良いでしょうか。
    (他にも 地形適応総和計算・地形適応修正緩和を利用する事で地形適応の影響を変更できます)



    地形適応の効果をこれらのオプションを組み合わせた以外に変更したいのであれば、バトルコンフィグデータを利用することになります。

    実現したい地形適応の計算式が全部わからないと、なかなか具体的なものは書きにくいので、とりあえず考えられる大まかな方針を

     1.バトルコンフィグデータの地形適応部分を、計算用に用意した通常ラベルのCall関数に置き換える
     2.その通常ラベル内で、空陸水宇のうちどの地形適応が使うかを判定し、地形適応を取得する。
     3.取得した地形適応に応じた値をReturnする。
    という流れになると思います



    単純な例を挙げれば
     防御側の地形適応がAなら表示される命中率は常にちょうど60%、
     Bなら80%
     C:90%
     D:100%
     E:200%
     S:40%
    …という仕様にするなら

    battle.txtに
    #=====
    最終命中率
    Call(相手地形適応修正命中,防御側ユニットID)
    #=====

    Dataフォルダのinclude.eveあたりに
    #=====
    相手地形適応修正命中:
    #Args(1)=ユニットID

    #Args(1)の地形適応を調べる
    local 全地形適応 = info("ユニット",Args(1),"地形適応") //「AACA」など
    if 全地形適応 = "" then //Args(1)が適切じゃなかった場合。エラー防止用その1
     return 0
    endif

    #Args(1)が今どの地形にいるか調べる
    local 現在地形適応
    switch Area(Args(1))
     case "空中" //適応は1文字目
      現在地形適応 = mid(全地形適応,1,1)
     case "地上" "水上" //適応は2文字目
      現在地形適応 = mid(全地形適応,2,1)
     case "水中" //適応は3文字目
      現在地形適応 = mid(全地形適応,3,1)
     case "宇宙" //適応は4文字目
      現在地形適応 = mid(全地形適応,4,1)
     case else //"地中"もしくはArgs(1)が適切じゃなかった場合。エラー防止用その2、念のため
      return 0
    endsw

    #Talk
    #$(Unit(Args(1)))の$(Area(Args(1)))における地形適応は[$(現在地形適応)]です。
    #Suspend

    #地形適応の値によって結果を変える。
    switch 現在地形適応
     Case "S"
      Return 40
     Case "A"
      Return 60
     Case "B"
      Return 80
     Case "C"
      Return 90
     Case "D"
      Return 100
     Case Else //"E" "-"
      Return 200
    EndSw
    Return 0 //万が一のエラー防止

    #=====
    のように書けば実現できます。


    このような方法の他に、実現したい戦闘計算式によっては、
    実現したいものと多少似た計算式になる地形適応関係のオプションとバトルコンフィグ変数「地形適応」とを組み合わせる方法も取れるかもしれません。
    こっちの方法が取れるならもっと短く書けるでしょう。
引用返信/返信 削除キー/
■22029 / inTopicNo.3)  Re[2]: 地形適応の戦闘への影響を変更する方法?(Re[1]: 仕様変更についてなんですが…
□投稿者/ カバディ -(2010/06/20(Sun) 22:07:56) [ID:cys3D7aB]
    中箱さん御指南ありがとうございます。

    例として挙げられている地形適応命中率修正はダメージ計算時に武器の適応が参照されるのはありがたいのですが防御計算時に地形適応が計算されないこととジャンプが無効化されるので採用できませんでした。

    具体的な仕様としては

    命中補正
    ( 命中 + 反応 + 運動性 + 攻撃値 ) * 地形適応係数

    回避補正

    ( 回避 + 反応 + 運動性 ) * 地形適応係数

    の様に式に戦闘時に自分がいる地形の適応がAなら1.1、Bなら1.0というように係数を掛けたいのです。
    現状では地形適応がAでもCでも命中率に変化がないので…

    具体例を挙げると
    命中回避反応運動性がそれぞれ100で地形適応が空B地上Aの地上にいるユニットAが空中にいる同じ能力値のユニットBに命中補正±0の武器で攻撃したときに


    ユニットAの命中補正
    ( 100 + 100 + 100 + 0 ) * 1.1(現在いる地形の適応がAなので1.1)=330
    ユニットAの回避補正
    ( 100 + 100 + 100 ) * 1.1=330

    ユニットBの命中補正
    ( 100 + 100 + 100 + 0 ) * 1(現在いる地形の適応がBなので1)=300
    ユニットBの回避補正
    ( 100 + 100 + 100 ) * 1=300

    となるようにしたいのです。

    よければ引き続きの御指南よろしくお願いいたします。

引用返信/返信 削除キー/
■22030 / inTopicNo.4)  Re[3]: 地形適応の戦闘への影響を変更する方法?(Re[1]: 仕様変更についてなんですが…
□投稿者/ 中箱 -(2010/06/21(Mon) 22:46:29) [ID:XAPi9INn]
    2010/06/21(Mon) 23:00:51 編集(投稿者)


    >例として挙げられている地形適応命中率修正はダメージ計算時に武器の適応が参照されるのはありがたいのですが防御計算時に地形適応が計算されないこととジャンプが無効化されるので採用できませんでした。

    なるほど。そうなると確かにバトルコンフィグを使うしかなさそうですね。



    >具体的な仕様としては

    >命中補正
    >( 命中 + 反応 + 運動性 + 攻撃値 ) * 地形適応係数

    >回避補正
    >( 回避 + 反応 + 運動性 ) * 地形適応係数

    >の様に式に戦闘時に自分がいる地形の適応がAなら1.1、Bなら1.0というように係数を掛けたいのです。
    >現状では地形適応がAでもCでも命中率に変化がないので…


    何も言及されていないのでとりあえず、

    ・接近戦攻撃(突武接属性)も、ユニットのいる位置の地形適応で係数が決まる
     (例えば 空B陸Aのユニットが空中から地上の敵に武属性攻撃をする場合、地形適応係数は1.0 …ということ)

    …という仕様としてレスします。


    基本的にはやはり、前回書いた
    > 1.バトルコンフィグデータの地形適応部分を、計算用に用意した通常ラベルのCall関数に置き換える
    > 2.その通常ラベル内で、空陸水宇のうちどの地形適応が使うかを判定し、地形適応を取得する。
    > 3.取得した地形適応に応じた値をReturnする。
    の流れです。




    まず、命中補正式の地形適応係数を Call(命中補正地形適応,攻撃側ユニットID) と置き換えます。
    つまり

     命中補正
     ( 命中 + 反応 + 運動性 + 攻撃値 ) * Call(命中補正地形適応,攻撃側ユニットID)


    次に、include.eveに「命中補正地形適応」という通常ラベルを用意します。
    処理の流れは前回私が書いたもののままなので、
    ラベルの中身も前回私が書いた「相手地形適応修正命中」ラベル とほぼ同じでよいでしょう。

    もちろん、二つ目のswitch〜endswにある、6つのReturnコマンドの返り値は、
    それぞれカバディさんが望む地形適応係数に書き換えてください。


    ※接近戦攻撃をSRCデフォルトのように特別扱いするのであれば、もう少し複雑になります
     (使用する武器が接近戦攻撃かどうかを判別するための情報と、防御側ユニットのAreaを判別するための情報が必要になるでしょう)



    回避補正式に用いる地形適応係数も、命中補正の係数と同じなのであれば

    まず、回避補正式の地形適応係数を Call(回避補正地形適応,防御側ユニットID) と置き換えます。

    後はこちらも、ラベル名とReturnコマンドの返り値以外は前回の「相手地形適応修正命中」と同様に書けば良いでしょう
引用返信/返信 削除キー/
■22031 / inTopicNo.5)  Re[4]: 地形適応の戦闘への影響を変更する方法?(Re[1]: 仕様変更についてなんですが…
□投稿者/ カバディ -(2010/06/23(Wed) 22:52:04) [ID:cys3D7aB]
    中箱さん、再びのご指南ありがとうございます。

    格闘攻撃に関してですが、攻撃・防御補正にかかる関数は現状のままでも相手の地形で判定が行われるようですので問題ないです。

    今度公開する予定のシナリオで戦闘システムを調整中ですのでまた何か質問させていただくこともあると思いますがよろしくお願いいたします。

    本当にありがとうございました。
引用返信/返信 削除キー/



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

このトピックに書きこむ

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

Pass/

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

- Child Tree -
- Antispam Version -