【質問フォーム】
【重要!】 質問する前に必ず、過去に同じ質問がないか検索してください!
もし以下のケースで困った場合は、まずリンク先の文書内に答えがないか探してください。
・まずはこの中からお探し下さい → パーフェクトガイド
・バグかな?と思ったときは → よくある質問
・基本システムの設定方法が分からない場合 → 基本システム講座(by 藤田るいふ氏)
・イベントコマンドなどの仕様が分からない場合 → 公式マニュアル
※書き込む前に少なくとも1日2日は、自分で探したり挑戦する努力をしてみてください。
上記のことを全部やってもどうしても分からなかった場合だけ、以下のフォームから質問してください。
> [やりたいこと]
> 町にワープする特殊技能を作りたい。
>
> [やってみたこと]
> コモンイベントで選択肢を表示させて、どの町にワープしたいか選べる
> ようにした。
>
> [やってみた結果、どううまくいかないか]
> 選択肢が出てきて飛べるまではいいが、キャンセルしたときにもSPを消
> 費してしまうので、選択肢を選んだ場合のみSPを消費するようにしたい
> 。コモンイベント内でSPを消費させるように組むと、ゲーム中の右側に
> 表示されるSP消費量が無くなってしまうのでそれは避けたい。
特殊技能の選択で「ワープ」を選択した段階でSPを消費し、
キャンセルを実行した時には、減った分のSPを回復させれば良さそう。
[やりたいこと]
町にワープする特殊技能を作りたい。
[やってみたこと]
コモンイベントで選択肢を表示させて、どの町にワープしたいか選べる
ようにした。
[やってみた結果、どううまくいかないか]
選択肢が出てきて飛べるまではいいが、キャンセルしたときにもSPを消
費してしまうので、選択肢を選んだ場合のみSPを消費するようにしたい
。コモンイベント内でSPを消費させるように組むと、ゲーム中の右側に
表示されるSP消費量が無くなってしまうのでそれは避けたい。
> [やりたいこと]
> アイテム欄の表示中に、説明文と一緒に画像も載せたい
> [やってみたこと]
> アイテム表示と説明文の表示はユーザーDBを使って表示させることはできました。タイプの項目にアイテム名、説明を文字列ピクチャ表示で表示させました。
> [やってみた結果、どううまくいかないか]
> 表示方法は説明などと同じだと思い、ユーザーDBに新しく項目を作りそこに画像フォルダからpng画像を登録して、コモンのほうには説明文表示に作ったコマンドをコピペしてコモンセルフ番号を変更して新しく作成したところ、画像は出ずファイル名が表示されます(○○○○.pngという文字が表示される)
> ピクチャ表示のほうで表示タイプを変えたり変数でやってみたりしましたがそちらだとエラーが出てしまいます。
> フォルダはPictureフォルダからです。
>
>
> ■条件分岐(変数): 【1】 可変DB(0,0,1)[ 所持数 ] が 1 以上
> -◇分岐: 【1】 [ 可変DB(0,0,1)[ 所持数 ] が 1 以上 ]の場合↓
> |■DB読込(可変): CSelf10[アイテムID] = 可変DB[ 所持品格納 : CSelf0[カーソル位置] : アイテムID ] (0 : - : 0)
> |■DB読込(ユーザ): CSelf5[説明文] = ユーザDB[ アイテム情報 : CSelf10[アイテムID] : 説明文 ] (0 : - : 1)
> |■ピクチャ表示:7000 [左上]文字列[\cself[5]] X:160 Y:10 / 0(0)フレーム / パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
> ↑これは表示される
>
> ↓表示されない
> |■DB読込(可変): CSelf11 = 可変DB[ 所持品格納 : CSelf0[カーソル位置] : アイテムID ] (0 : - : 0)
> |■DB読込(ユーザ): CSelf6 = ユーザDB[ アイテム情報 : CSelf11 : アイコン ] (0 : - : 4)
> |■ピクチャ表示:7001 [左上]文字列[\cself[6]] X:160 Y:60 / 0(0)フレーム / パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
> |■
>
> -◇上記以外
> |■
> ◇分岐終了◇
>
>
> ユーザーDB
>
> タイプ
> アイテム情報[0]
>
> データ
> アイテム名[0]
>
> 項目
> アイテム名{0}
> 説明文[1]
> 効果[2]
> コメント[3]
> アイコン[4]
>
> よろしくお願いします
ユーザーDBにあるアイコンのアドレス設定が「Picture/ファイル名.png」と言ったように「Picture」を含んでいる場合は、ピクチャ表示を以下のように設定。
表示タイプ : [2]ファイル読み込み(文字列変数でファイル指定)
ファイル : 1600006
アイコンのアドレス設定が「ファイル名.png」と言ったように「Picture」を含んでいない場合は、ピクチャ表示を以下のように設定。
表示タイプ : [1]ファイル読み込み(直接ファイル指定)
ファイル : Picture/\cself[6]
[やりたいこと]
アイテム欄の表示中に、説明文と一緒に画像も載せたい
[やってみたこと]
アイテム表示と説明文の表示はユーザーDBを使って表示させることはできました。タイプの項目にアイテム名、説明を文字列ピクチャ表示で表示させました。
[やってみた結果、どううまくいかないか]
表示方法は説明などと同じだと思い、ユーザーDBに新しく項目を作りそこに画像フォルダからpng画像を登録して、コモンのほうには説明文表示に作ったコマンドをコピペしてコモンセルフ番号を変更して新しく作成したところ、画像は出ずファイル名が表示されます(○○○○.pngという文字が表示される)
ピクチャ表示のほうで表示タイプを変えたり変数でやってみたりしましたがそちらだとエラーが出てしまいます。
フォルダはPictureフォルダからです。
■条件分岐(変数): 【1】 可変DB(0,0,1)[ 所持数 ] が 1 以上
-◇分岐: 【1】 [ 可変DB(0,0,1)[ 所持数 ] が 1 以上 ]の場合↓
|■DB読込(可変): CSelf10[アイテムID] = 可変DB[ 所持品格納 : CSelf0[カーソル位置] : アイテムID ] (0 : - : 0)
|■DB読込(ユーザ): CSelf5[説明文] = ユーザDB[ アイテム情報 : CSelf10[アイテムID] : 説明文 ] (0 : - : 1)
|■ピクチャ表示:7000 [左上]文字列[\cself[5]] X:160 Y:10 / 0(0)フレーム / パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
↑これは表示される
↓表示されない
|■DB読込(可変): CSelf11 = 可変DB[ 所持品格納 : CSelf0[カーソル位置] : アイテムID ] (0 : - : 0)
|■DB読込(ユーザ): CSelf6 = ユーザDB[ アイテム情報 : CSelf11 : アイコン ] (0 : - : 4)
|■ピクチャ表示:7001 [左上]文字列[\cself[6]] X:160 Y:60 / 0(0)フレーム / パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■
-◇上記以外
|■
◇分岐終了◇
ユーザーDB
タイプ
アイテム情報[0]
データ
アイテム名[0]
項目
アイテム名{0}
説明文[1]
効果[2]
コメント[3]
アイコン[4]
よろしくお願いします
> 実装できたのですが、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まで保存」でファイル出力してください。
実装できたのですが、CSVで実装されるとき
CSV上の2行目スタートではなくいきなり4行目を読んでおり(最初のレベルが1ならレベル上がった時レベル0、レベル1のデータをすっ飛ばしてレベル2のデータを読むので当然そうなる)
あまり直感的ではないので
レベル2のデータをCSV上の2行目スタートにすることってできますか?
> レベルアップ時に能力値を予め設定した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に合わせて、自動的に読み込むファイルが変わります。
レベルアップ時に能力値を予め設定した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が代入されてしまう)
何かアドバイス等ありましたら幸いです。
よろしくお願いします。
Masaqqさんへ
以下のように変更したら表示されました。挙動も特に問題なく10分以上の表示も問題ありませんでした。
文字列変数のあたりは基本データの内容を見て作成しました。
教えていただきありがとうございました。
| |■条件分岐(変数): 【1】 CSelf17 が 1 と同じ 【2】 CSelf17 が 0 と同じ
| |-◇分岐: 【1】 [ CSelf17 が 1 と同じ ]の場合↓
| | |▼
※変更↓↓
| | |■セーブデータの内容読込: CSelf60 = セーブデータ[CSelf14]の Sys29:プレイ時間(1秒単位)
| | |■変数操作: CSelf20 = CSelf60 / 3600
| | |■変数操作: CSelf21 = CSelf60 % 3600
| | |■変数操作: CSelf21 /= 60 + 0
| | |▼
| | |▼
| | |■条件分岐(変数): 【1】 CSelf20 が 10 未満 【2】 CSelf20 が 10 以上
| | |-◇分岐: 【1】 [ CSelf20 が 10 未満 ]の場合↓
| | | |■文字列操作:CSelf5 = " \cself[20]:"
| | | |■
| | |-◇分岐: 【2】 [ CSelf20 が 10 以上 ]の場合↓
| | | |■文字列操作:CSelf5 = "\cself[20]:"
| | | |■
| | |◇分岐終了◇
| | |■条件分岐(変数): 【1】 CSelf21 が 10 未満 【2】 CSelf21 が 10 以上
| | |-◇分岐: 【1】 [ CSelf21 が 10 未満 ]の場合↓
| | | |■文字列操作:CSelf5 += "0\cself[21]"
| | | |■
| | |-◇分岐: 【2】 [ CSelf21 が 10 以上 ]の場合↓
| | | |■文字列操作:CSelf5 += "\cself[21]"
| | | |■
| | |◇分岐終了◇
| | |▼
| | |▼
| | |■ピクチャ表示:CSelf11 [中心]文字列[\cself[5]] X:160 Y:CSelf12 / 0(0)フレーム / パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
| | |■
| |-◇分岐: 【2】 [ CSelf17 が 0 と同じ ]の場合↓
| | |■ピクチャ表示:CSelf11 [中心]文字列[No Data] X:170 Y:CSelf12 / 0(0)フレーム / パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
| | |■
| |◇分岐終了◇