[掲示板へもどる]
一括表示

記事No: 21640 [関連記事]
タイトルレベルアップ時に能力値を予め設定したCSVを参照して上昇させる
投稿日: 2024/07/18 02:10
投稿者みん [rWOrpi1078(海外)]

レベルアップ時に能力値を予め設定したCSVを参照して上昇させようとしています。
デフォルトの場合、予め可変DBで設定した数値を毎回同じ値で上昇させるか、10で割った値で上昇させるかしかできません。

レベル1→2に上昇した時、HPは30→38に上昇、攻撃は5→10に上昇
レベル2→3に上昇した時、HPは38→40に上昇、攻撃は10→13に上昇
と、あらかじめレベルに応じて上がる能力値を予め決定させたいです。

そこで、コモンEv74の71行目あたりに成長率を取得している場所を見つけたので、DB操作で可変DBのタイプ0、項目は主人公データIDと指定したはいいのですが、項目番号が指定できずどうしたらいいかわかりません(そのままやると18〜27以外のいじりたくない項目にまで影響が及んでしまう上、仕様上いじりたくないセルを空欄にすると0が代入されてしまう)

何かアドバイス等ありましたら幸いです。
よろしくお願いします。


記事No: 21641 [関連記事]
タイトルRe: レベルアップ時に能力値を予め設定したCSVを参照して上昇させる
投稿日: 2024/07/18 23:28
投稿者YADO [LerLWW459(海外)]

> レベルアップ時に能力値を予め設定したCSVを参照して上昇させようとしています。
> デフォルトの場合、予め可変DBで設定した数値を毎回同じ値で上昇させるか、10で割った値で上昇させるかしかできません。
>
> レベル1→2に上昇した時、HPは30→38に上昇、攻撃は5→10に上昇
> レベル2→3に上昇した時、HPは38→40に上昇、攻撃は10→13に上昇
> と、あらかじめレベルに応じて上がる能力値を予め決定させたいです。
>
> そこで、コモンEv74の71行目あたりに成長率を取得している場所を見つけたので、DB操作で可変DBのタイプ0、項目は主人公データIDと指定したはいいのですが、項目番号が指定できずどうしたらいいかわかりません(そのままやると18〜27以外のいじりたくない項目にまで影響が及んでしまう上、仕様上いじりたくないセルを空欄にすると0が代入されてしまう)
>
> 何かアドバイス等ありましたら幸いです。
> よろしくお願いします。

CSVファイルは、指定した項目IDの範囲内のみに読み込む事ができないので、
別の所にCSVファイルを読み込んで処理する必要があります。

別の所にCSVファイルを読み込んで処理する方法で分かりやすい設定方法は、
レベルアップ時のパラメータの増加量を取得する専用のタイプを用意する方法です。

専用のタイプを用意する手順は、まず可変DBのタイプの数を増やして、未使用のタイプを準備してください。

そして可変DBのタイプ[0:主人公ステータス]をコピーし、未使用のタイプに貼り付けてください。

「タイプの内容設定」を開き、タイプ名を「成長値」に変更し、[成長]と書かれた項目名18〜27以外を全て削除してください。

タイプ「成長値」を「データ[複数・CSV形式]」でファイル出力し、出力したファイルを主人公ごとに準備してください。

タイプ「成長値」のデータを「データID=レベル」で設定すれば、
レベル1→2になった場合はデータID「2」の増加量を取得し、
レベル2→3になった場合はデータID「3」の増加量を取得する感じとなり、増加量の設定も分かりやすくなるかと思います。


コモンイベント[074]の改造は、まず72〜81行目にある
■DB読込(可変): CSelf33[MaxHP成長度] = 可変DB[ 主人公ステータス : CSelf0[主人公データID] : [成長]最大HP増加 /1Lv ] (0 : - : 18)
■DB読込(可変): CSelf34[MaxSP成長度] = 可変DB[ 主人公ステータス : CSelf0[主人公データID] : [成長]最大SP増加 /1Lv ] (0 : - : 19)
■DB読込(可変): CSelf35[攻撃力成長度] = 可変DB[ 主人公ステータス : CSelf0[主人公データID] : [成長]攻撃力増加 /1Lv ] (0 : - : 20)
■DB読込(可変): CSelf36[防御力成長度] = 可変DB[ 主人公ステータス : CSelf0[主人公データID] : [成長]防御力増加 /1Lv ] (0 : - : 21)
■DB読込(可変): CSelf37[精神攻撃成長度] = 可変DB[ 主人公ステータス : CSelf0[主人公データID] : [成長]精神攻撃増加 /1Lv ] (0 : - : 22)
■DB読込(可変): CSelf38[精神防御成長度] = 可変DB[ 主人公ステータス : CSelf0[主人公データID] : [成長]精神防御増加 /1Lv ] (0 : - : 23)
■DB読込(可変): CSelf39[敏捷度成長度] = 可変DB[ 主人公ステータス : CSelf0[主人公データID] : [成長]敏捷性増加 /1Lv ] (0 : - : 24)
■DB読込(可変): CSelf40[命中率成長度] = 可変DB[ 主人公ステータス : CSelf0[主人公データID] : [成長]命中率増加 /1Lv ] (0 : - : 25)
■DB読込(可変): CSelf41[回避率成長度] = 可変DB[ 主人公ステータス : CSelf0[主人公データID] : [成長]回避率増加 /1Lv ] (0 : - : 26)
■DB読込(可変): CSelf42[クリティカル率成長度] = 可変DB[ 主人公ステータス : CSelf0[主人公データID] : [成長]クリティカル増加 /1Lv ] (0 : - : 27)
の設定を
■変数操作: CSelf10[一時変数A] = CSelf30[対象のレベル] + 0
■条件分岐(変数): 【1】 CSelf20[レベルアップ(1)ダウン(-1)] が 1 と同じ
-◇分岐: 【1】 [ CSelf20[レベルアップ(1)ダウン(-1)] が 1 と同じ ]の場合↓
|■変数操作: CSelf10[一時変数A] += 1 + 0
|■
◇分岐終了◇
■DB読込(可変): CSelf33[MaxHP成長度] = 可変DB[ 成長値 : CSelf10[一時変数A] : [成長]最大HP増加 /1Lv ] (20 : - : 0)
■DB読込(可変): CSelf34[MaxSP成長度] = 可変DB[ 成長値 : CSelf10[一時変数A] : [成長]最大SP増加 /1Lv ] (20 : - : 1)
■DB読込(可変): CSelf35[攻撃力成長度] = 可変DB[ 成長値 : CSelf10[一時変数A] : [成長]攻撃力増加 /1Lv ] (20 : - : 2)
■DB読込(可変): CSelf36[防御力成長度] = 可変DB[ 成長値 : CSelf10[一時変数A] : [成長]防御力増加 /1Lv ] (20 : - : 3)
■DB読込(可変): CSelf37[精神攻撃成長度] = 可変DB[ 成長値 : CSelf10[一時変数A] : [成長]精神攻撃増加 /1Lv ] (20 : - : 4)
■DB読込(可変): CSelf38[精神防御成長度] = 可変DB[ 成長値 : CSelf10[一時変数A] : [成長]精神防御増加 /1Lv ] (20 : - : 5)
■DB読込(可変): CSelf39[敏捷度成長度] = 可変DB[ 成長値 : CSelf10[一時変数A] : [成長]敏捷性増加 /1Lv ] (20 : - : 6)
■DB読込(可変): CSelf40[命中率成長度] = 可変DB[ 成長値 : CSelf10[一時変数A] : [成長]命中率増加 /1Lv ] (20 : - : 7)
■DB読込(可変): CSelf41[回避率成長度] = 可変DB[ 成長値 : CSelf10[一時変数A] : [成長]回避率増加 /1Lv ] (20 : - : 8)
■DB読込(可変): CSelf42[クリティカル率成長度] = 可変DB[ 成長値 : CSelf10[一時変数A] : [成長]クリティカル増加 /1Lv ] (20 : - : 9)
に置き換えます。


ファイルを読み込む設定は、まずフォルダー[Data]の中に、新規フォルダー[LvUp]を作成し、csvファイルをそのフォルダーの中に保存します。

そしてファイル名を「可変DB[0]のデータID.csv」(データID[12:ウルファール]の場合は「12.csv」)と設定した場合は、コモンイベント[074]の45行目の
▼ 繰り返す
がある辺りに
■CSVファイルからDBに読込: ファイル "Data/LvUp/\cself[0].csv" → 可変DB[成長値:0](成長値 : ) から [ 100 ]データ
を追加する事で、処理する主人公IDに合わせて、自動的に読み込むファイルが変わります。


記事No: 21643 [関連記事]
タイトルRe: レベルアップ時に能力値を予め設定したCSVを参照して上昇させる
投稿日: 2024/07/19 02:24
投稿者みん [rWOrpi1078(海外)]

実装できたのですが、CSVで実装されるとき
CSV上の2行目スタートではなくいきなり4行目を読んでおり(最初のレベルが1ならレベル上がった時レベル0、レベル1のデータをすっ飛ばしてレベル2のデータを読むので当然そうなる)
あまり直感的ではないので
レベル2のデータをCSV上の2行目スタートにすることってできますか?


記事No: 21644 [関連記事]
タイトルRe: レベルアップ時に能力値を予め設定したCSVを参照して上昇させる
投稿日: 2024/07/19 21:44
投稿者YADO [LerLWW459(海外)]

> 実装できたのですが、CSVで実装されるとき
> CSV上の2行目スタートではなくいきなり4行目を読んでおり(最初のレベルが1ならレベル上がった時レベル0、レベル1のデータをすっ飛ばしてレベル2のデータを読むので当然そうなる)
> あまり直感的ではないので
> レベル2のデータをCSV上の2行目スタートにすることってできますか?

csvファイルの「2行目=レベル2の増加量」で設定する場合は、コモンイベント[074]に追加する
■CSVファイルからDBに読込: ファイル "Data/LvUp/\cself[0].csv" → 可変DB[成長値:0](成長値 : ) から [ 100 ]データ
の設定を
■CSVファイルからDBに読込: ファイル "Data/LvUp/\cself[0].csv" → 可変DB[成長値:2](成長値 : ) から [ 100 ]データ
と言ったように、データ番号「2」で読み込むようにしてください。

タイプ「成長値」に読み込んで編集する場合は、データ[2]を選択した状態で「読み込み」を実行し、
「データ[複数・CSV形式]」で出力する場合は、「データ2〜99まで保存」でファイル出力してください。


記事No: 21645 [関連記事]
タイトルRe: レベルアップ時に能力値を予め設定したCSVを参照して上昇させる
投稿日: 2024/07/21 02:42
投稿者みん [rWOrpi1078(海外)]

ありがとうございました!
非常に助かりました。