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

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

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

■21610 / inTopicNo.1)  キャラの成長と攻撃力差とダメージ差について
  
□投稿者/ ごふー -(2009/06/26(Fri) 21:39:06) [ID:fTOZQ6d9]
    はじまして

    キャラの成長についてなんですが、


    キャラA:Lv1 格闘60 武器威力100
    キャラB:Lv1 格闘40 武器威力100
     

    という二人のキャラがいたとして、
    Lv1のときダメージが


    A 60
    B 40


    で、Aが1.5倍なのですが、
    Lv100ですと、


    キャラA:Lv100 格闘160 武器威力100
    キャラB:Lv100 格闘140 武器威力100
     
    A 160
    B 140


    となり、1.14倍程度となってしまいます
    これを防ぐためにレベルアップ時のステータス変化を


    「+現在の値/10」

    (例)
    次回LvUP変化値       参考に
    キャラA:Lv1 格闘60 60/10=6
    キャラB:Lv1 格闘40 40/10=4         ダメージ倍率1.5

    キャラA:Lv2 格闘66 66/10=6.6=7
    キャラB:Lv2 格闘44 44/10=4.4=4       ダメージ倍率1.5

    キャラA:Lv3 格闘73 73/10=7.3=7
    キャラB:Lv3 格闘48 48/10=4.8=5       ダメージ倍率1.52

    キャラA:Lv4 格闘80 80/10=8
    キャラB:Lv4 格闘53 53/10=5.3=5       ダメージ倍率1.51


    としたいのですが、(要するに、値が大きいほど増え方も大きくしたい)
    このようなことは可能でしょうか?

    また、他の方法で「レベルアップによるダメージ倍率の減少」を
    防ぐやり方があるでしょうか?




    以下に、ポイントを書いておきます

    ・やりたいことは「レベルアップによるダメージ倍率の減少を防ぐ」

    ・そのためにレベルアップ時のステータス変化を
     「+現在の値/10(仮)」にしたい(値が大きいほど増え方も大きく)

    ・序盤のダメージの規模は二桁にしたい
     (装甲が高くても最低10はくらうシステムなので、
      どんなやつでも10をあんまりくらい過ぎるとつらくなるように)

    ・レベル限界突破はありでもなしでも

    ・「+現在の値/10」はあくまで仮、問題はこういう式を使って
     LvUP時のパラメータ操作ができるか

    ・「レベルアップによるダメージ倍率の減少を防ぐ」はある程度防げればいい



    他にどのような情報を提示する必要があるのかわからないので、
    指摘があれば対応したいと思います

    かなり長くなってしまって申し訳ないのですが、
    よろしくおねがいいたします







引用返信/返信 削除キー/
■21611 / inTopicNo.2)  Re[1]: キャラの成長と攻撃力差とダメージ差について
□投稿者/ 中箱 -(2009/06/26(Fri) 22:31:17) [ID:sONr1euU]
    >・やりたいことは「レベルアップによるダメージ倍率の減少を防ぐ」

    ということを実現するだけなら例えば

     初期値40のキャラBはレベルアップごとに能力値が1上がるが、
     初期値60のキャラAはレベルアップごとに能力値が1.5上がる。

    のようにすれば、同じレベルなら常にキャラAの格闘値はキャラBの格闘値の(約)1.5倍になってくれます。
    この方法で良いのであれば、パイロット特殊能力の「格闘成長」などを利用するのが簡単です。



    >・序盤のダメージの規模は二桁にしたい

    これについては武器の攻撃力や相手の防御力の設定次第ですし、
    序盤がどれぐらいのレベルまでかにもよるでしょう。

    データ全体に加え、シナリオも合わせて調整する必要のある事柄でしょうから、
    パイロット成長だけで語るのは厳しいと思いますよ。



    >・「+現在の値/10」はあくまで仮、問題はこういう式を使って
    > LvUP時のパラメータ操作ができるか

    SRCのパイロット成長は
    ・レベルが1上がるごとに一定値ずつ上昇する
    が基本になっています。

    そのため、
    レベルが高くなるとパラメータの上昇幅も広くなっていくような成長のさせ方は
    …無理ではありませんが、それなりに面倒です。
    (〜UP系のパイロット特殊能力をSetSkillしまくるようなインクルードを作成することになるでしょう)



    PS.
    考えるのは攻撃力だけで、防御力(装甲)は考慮しなくて良いんでしょうか?

    例えば、SRCデフォルトだと気力以外は防御力に関係しませんから

     キャラA:格闘60 攻撃力100 気力100
     キャラB:格闘40 攻撃力100 気力100
    の場合

     AがLv0の時、防御力25の敵に攻撃→35ダメージ
     BがLv0の時、防御力25の敵に攻撃→15ダメージ

     AがLv0の時、防御力50の敵に攻撃→10ダメージ
     BがLv0の時、防御力50の敵に攻撃→10ダメージ

     AがLv100の時、防御力25の敵に攻撃→135ダメージ
     BがLv100の時、防御力25の敵に攻撃→115ダメージ

     AがLv100の時、防御力50の敵に攻撃→110ダメージ
     BがLv100の時、防御力50の敵に攻撃→90ダメージ

     AがLv100の時、防御力130の敵に攻撃→30ダメージ
     BがLv100の時、防御力130の敵に攻撃→10ダメージ

    …と、
    AとBの与えられる実ダメージの比は、攻撃する相手の防御力に大きく左右されます。

引用返信/返信 削除キー/
■21612 / inTopicNo.3)  Re[2]: キャラの成長と攻撃力差とダメージ差について
□投稿者/ ごふー -(2009/06/27(Sat) 00:07:00) [ID:fTOZQ6d9]
    中箱さん回答ありがとうございます

    >初期値40のキャラBはレベルアップごとに能力値が1上がるが、
    >初期値60のキャラAはレベルアップごとに能力値が1.5上がる。
    >のようにすれば、同じレベルなら常にキャラAの格闘値はキャラBの格闘値の(約)1.5倍になってくれます。
    >この方法で良いのであれば、パイロット特殊能力の「格闘成長」などを利用するのが簡単です。


    やはりキャラ毎に成長率を指定するしかないですか。
    それはそうとして格闘成長って少数指定できたんですね。
    パイロット特殊能力のレベルって全部少数で指定できるんですか?
    (切り払いとか)


引用返信/返信 削除キー/
■21613 / inTopicNo.4)  Re[3]: キャラの成長と攻撃力差とダメージ差について
□投稿者/ 中箱 -(2009/06/27(Sat) 01:16:04) [ID:sONr1euU]
    >パイロット特殊能力のレベルって全部少数で指定できるんですか?
    >(切り払いとか)

    指定した場合、少なくともエラーは出なかったと思いますが、
    全部の特殊能力について調べたわけではないので確証はありません。

    また、指定しても効果がない特殊能力も多いようですから、
    小数指定して意味があるかどうかはそれぞれの特殊能力ごとに実際に試して確認した方が良いかと。
    (幾つかはSRC_Wikiのヘルプファイル補足、に載っていますが。
     例えば切り払いは、0.5Lv単位で有効のようです)
引用返信/返信 削除キー/
■21614 / inTopicNo.5)  Re[3]: キャラの成長と攻撃力差とダメージ差について
□投稿者/ あかんべえ -(2009/06/27(Sat) 02:28:46) [ID:yxGGBMzE]
    2009/06/27(Sat) 04:11:15 編集(投稿者)
    2009/06/27(Sat) 02:34:34 編集(投稿者)

    > やはりキャラ毎に成長率を指定するしかないですか。

     いや、いろいろ手はあります。
     パッと思いついたのは、以下の諸手段です。それぞれ長所と短所があります。たぶん、他にも方法があるかと。(なお、以下は今思いついただけです。テストはしてません(^^;;;)
     ただ、あまり初心者向きではないので、もし下記の方法がよく理解できないのであれば、キャラごと個別に「格闘成長」のレベルを記述するほうが無難かと思います。

    (1) ユニット用特殊能力「パイロット能力付加」で「格闘成長」を複数持ったアイテムを用意する。これら複数の能力には必要技能「格闘初期値」を付け、格闘初期値によって違うレベルの「格闘成長」が付加されるようにしておく。ユニット作成時、一律にこのアイテムを装備させる。

    能力設定例:
    パイロット能力付加=格闘成長Lv0.25 (格闘初期値Lv50)
    パイロット能力付加=格闘成長Lv0.5 (格闘初期値Lv60)
    パイロット能力付加=格闘成長Lv0.75 (格闘初期値Lv70)
    (以下略)

    (2) 上と同じ能力で定義されたエイリアスを設定し、各ユニットに一律にこの能力をつける。

    (3) パイロット作成のたび、たとえば以下のようなサブルーチンを「パイロット設定 該当パイロット名(同名パイロットがあるなら 該当パイロットID)の形で呼び出す。

    パイロット設定:
    Kaku = Info(パイロットデータ, Args(1), 格闘基本値)
    If Kaku >= 40 Then
     SetSkill Args(1) 格闘成長 ((Kaku-39) / 40)
    EndIf
    Return

    (このサブルーチンは、Pilot.txt の数値にしか対応していません。アイテムや他のスキルによる格闘値の変動に対応するためには、Info関数の内容を変え、アイテム変更やスキル獲得時などにも設定しなおす必要があります。
    If 行と EndIf行はいらないかも。これらをはずすと、初期格闘値 40 未満のパイロットにマイナスの「格闘成長」が付きます。)


    > パイロット特殊能力のレベルって全部少数で指定できるんですか?

     えっと、これは SRC Wiki の 「ヘルプファイル補足」の「パイロット特殊能力」とそれぞれの能力のところに書いてあります。すべての特殊能力で記述されてはいませんが、だいたいのところは。

     あと、本題じゃないですが、
    少数 → 小数
    ですだ。
    (でも、少数と書く人はあんまり多いもんで、だんだん自信なくなったりしてます。
    もっと多い――完全に多数派なのは、「確率」を「確立」と書く人ですね。
    そういえば、両方数学用語だ。何でだろ。
    蛇足失礼)

引用返信/返信 削除キー/
■21617 / inTopicNo.6)  Re[3]: キャラの成長と攻撃力差とダメージ差について
□投稿者/ 51 -(2009/06/27(Sat) 22:43:28) [ID:xvALf7jZ]
    2009/06/27(Sat) 22:51:11 編集(投稿者)
    2009/06/27(Sat) 22:49:14 編集(投稿者)

    格闘成長で成長率の指定をしない方法としては、以下のようなものもあります。
    参考程度にしてください。

    #-----------------pilot.txt------------------
    #パイロットデータに次の一行を追加しておく

    格闘成長Lv-1=非表示

    #--------------------------------------------

    #----include.eve もしくは任意のeveファイル-----

    #---------------戦闘前処理---------------------
    #攻撃後以外に味方のレベルが上がらないと仮定して、
    #攻撃前に現在のレベルを記憶しておく。

    *攻撃 味方 敵:
    If Party(対象パイロット) = 味方 Then
    Set LvBack Level(対象パイロット)
    ElseIf Party(相手パイロット) = 味方 Then
    Set LvBack Level(相手パイロット)
    EndIf
    Exit


    #-------レベルアップした場合の処理------------

    *レベルアップ 味方:

    Call StUpAct 対象パイロット

    Exit


    #########################################
    # StUpAct
    #
    # 内容 : 能力値の上昇を行う
    #
    # 引数 : パイロット名 or パイロットID
    #
    # 戻り値 : なし
    #
    #########################################
    StUpAct:

    #ローカル変数 格闘値の上昇量
    Local UpStr

    Do
    #格闘上昇量の計算
    UpStr = Info(パイロット,Args(1),格闘基本値) / 10

    #上昇量だけ格闘値を増加
    SetSkill Args(1) 格闘UP (Skill(Args(1),格闘UP) + UpStr)

    #記憶したレベルをカウントアップ
    LvBack = LvBack + 1

    #一度にレベルが2以上上昇した場合のため、ループ
    Loop While (Level(対象パイロット) > LvBack)

    Return

    #-----------------------------------------------

    #-------------新規に仲間が加入する場合----------

    #Createコマンドの後に以下の2行を追加

    Set LvBack Level(新しい仲間のパイロット名)
    Call StrUpAct 新しい仲間のパイロット名

    #-----------------------------------------------

    #------------この方法の問題点-------------------
    1.新規の仲間加入の場合、レベルが高いとループ回数も上がるため、自然と動作が重くなる。
    2.敵にまで同じ処理を行った場合、さらに動作が重くなる。
    3.ユニット削除の際に格闘UPなどのClearSkillを怠ると、セーブファイルに蓄積してファイルサイズが増加する。

引用返信/返信 削除キー/
■21618 / inTopicNo.7)  Re[4]: キャラの成長と攻撃力差とダメージ差について
□投稿者/ ごふー -(2009/06/27(Sat) 23:24:57) [ID:fTOZQ6d9]
    遅くなってすみません
    お二人方返信ありがとうございます

    >幾つかはSRC_Wikiのヘルプファイル補足、に載っています
    >SRC Wiki の 「ヘルプファイル補足」の「パイロット特殊能力」とそれぞれの能
    力のところに書いてあります。

    ヘルプファイル補足様なめてましたすみませんごめんなさいゆるしてくだry
    ほんとだ書いてある……


    >少数 → 小数
    あ、ほんとですだ
    見逃してました


    あかんべえさんが示してくれた手法ですが、
    (3)がよくわかりませんでした。
    サブルーチンってどこの国ですかねってレベルです(^^;)

    多分、キャラを作成するときに、そのキャラの初期格闘が35だったら(35-39)/40=-0.1で、パイロット特殊能力「格闘成長Lv0.1」が付加されるってことだと思うんですが、そもそもどうやって呼び出すのかとか、サブルーチンってどこに書けばいいのかとかがわかんないです。
    まあこれはおいおい勉強します(え

    で、これでやった場合、途中イベントとかで格闘成長Lvを変える(つまり成長率を変える)ことってできますかね?(Skill関数ですかね)



    あと、肝心なこと書くの忘れてたのですが、
    等身大シナリオでRPG系の装備をさせたいので、あかんべえさんが書いた(1)は使えないのではないかと思われます。今更そんな設定掲げて、わざわざ書いていただいたのにすみません






引用返信/返信 削除キー/
■21619 / inTopicNo.8)  Re[5]: キャラの成長と攻撃力差とダメージ差について
□投稿者/ あかんべえ -(2009/06/28(Sun) 01:35:24) [ID:yyp22aWM]
    > サブルーチンってどこの国ですかねってレベルです(^^;)

     そもそもサブルーチンってなんじゃい、てなことについては、
    ・ ヘルプの シナリオの作成->イベントラベル の末の「通常ラベル」の項や
    ・ サンプルシナリオの「決戦!宇宙怪獣1話.eve」の 70行めあたりをテキストエディタでのぞく
    と解説してます。

     サブルーチンの呼び出し方は2通りあって、それぞれヘルプの
    ・ Callコマンド
    ・ シナリオの作成->関数 から「その他の関数」のページにジャンプ、“Call(ラベル名,引数1,引数2 …)”以降のところ、
    にあります。

     あとは、サンプルシナリオや他の人のシナリオでの使用例をのぞけば、おいおいわかってくると思います。

    > で、これでやった場合、途中イベントとかで格闘成長Lvを変える(つまり成長率を変える)ことってできますかね?(Skill関数ですかね)

     できます。ただ、先の書き込みのサブルーチンはパイロット作成時での呼び出ししか想定していないので、改造が必要ですが。


    > 等身大シナリオでRPG系の装備をさせたいので、あかんべえさんが書いた(1)は使えないのではないかと思われます。

     ヘルプの「RPG系の装備のさせ方」の項は、装備箇所やアイテムクラスなどの設定の仕方について、RPG系でよくある設定の仕方を述べたものです。こうでなければならない、というものじゃないし、「汎用」アイテムクラスのアイテムならば、等身大シナリオだろうと巨大ロボットシナリオだろうとどのユニットにも装備できます。だから、(1) は「RPG系」ということには左右されません。


     ただ、まだサブルーチンも理解されてない段階では、個々のパイロットデータに逐一「格闘成長」を設定するやり方のほうが確実でしょうね。
     以下一般論ですが、SRCで、
    (1) 具体的なやり方は、データが増えればめんどうで、ゆうずうがつかないけど、初心者にわかりやすい
    (2) 抽象的・汎用的なやり方は、一度設定すればいろんなものに対応できるけど、技量がいる
    ものなので、まず(1)から始め、慣れるにしたがって(2)のやり方も取り入れていくのが普通だとおもいます。

    以下余談:ちょっと感心したんですが、まだサブルーチンも理解されてない段階なのに、
    > やはりキャラ毎に成長率を指定するしかないですか。
    と、具体的なやり方に満足しておられないこと。
     こういう発想の人は、伸びるんじゃないのかなあ。

引用返信/返信 削除キー/
■21620 / inTopicNo.9)  Re[4]: キャラの成長と攻撃力差とダメージ差について
□投稿者/ ごふー -(2009/06/28(Sun) 15:31:14) [ID:fTOZQ6d9]
    51さん返信ありがとうございます

    ……おお、まったくわからない(@_@;)



    で、ヘルプを辞書代わりに何度か読み返してなんとなくは理解できたのですが、

    >1.新規の仲間加入の場合、レベルが高いとループ回数も上がるため、自然と動作が重くなる。
    >2.敵にまで同じ処理を行った場合、さらに動作が重くなる。

    なるほどたしかにそうなりますね。どれくらいになるかは
    やってみないとわかりませんが、レベル限界突破も考えればかなり
    重くなってしまいそうですね。

    それと、

    >UpStr = Info(パイロット,Args(1),格闘基本値) / 10
    >SetSkill Args(1) 格闘UP (Skill(Args(1),格闘UP) + UpStr)

    こういうことって出来るんですね
    すごく勉強になります
    メモメモ(..)φ


    とりあえず、こういう風にやっていくんだなということがなんとなくわかりました。
    ありがとうございます
解決済み!
引用返信/返信 削除キー/
■21621 / inTopicNo.10)  Re[6]: キャラの成長と攻撃力差とダメージ差について
□投稿者/ ごふー -(2009/06/28(Sun) 15:59:15) [ID:fTOZQ6d9]
    あかんべえさんサブルーチンの基本的な説明ありがとうございます

    >「汎用」アイテムクラスのアイテムならば、等身大シナリオだろうと巨大ロボットシナリオだろうとどのユニットにも装備できます。だから、(1) は「RPG系」ということには左右されません。

    アイテム交換で外されたりしないかが心配で。。。
    どうなるかは実際にやってみます


    >こういう発想の人は、伸びるんじゃないのかなあ。

    や、これは単に格闘成長って、能力付けるとその時点でもう能力値が上がっちゃうじゃないですか。それが嫌だったから使いたくなかったんですが、でも小数単位ならそんなに劇的に変化しないし、考えてみればこっちの方が色々と便利っぽいです


    で、格闘成長で検索しなおしてみたらありました。

    「ENの残量によりステータス変動」の赤いサクブスさんの投稿、の余談(笑)
    No20572



    とりあえずこれ使ってみようと思います
    色々とありがとうございました
    (赤いサクブスさんにも感謝)


引用返信/返信 削除キー/
■21623 / inTopicNo.11)  Re[7]: キャラの成長と攻撃力差とダメージ差について
□投稿者/ ごふー -(2009/06/28(Sun) 23:55:35) [ID:fTOZQ6d9]
    解決済み押すのわすれてましたすみません
解決済み!
引用返信/返信 削除キー/



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

このトピックに書きこむ

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

Pass/

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

- Child Tree -
- Antispam Version -