【質問フォーム】
【重要!】 質問する前に必ず、過去に同じ質問がないか検索してください!
もし以下のケースで困った場合は、まずリンク先の文書内に答えがないか探してください。
・まずはこの中からお探し下さい → パーフェクトガイド
・バグかな?と思ったときは → よくある質問
・基本システムの設定方法が分からない場合 → 基本システム講座(by 藤田るいふ氏)
・イベントコマンドなどの仕様が分からない場合 → 公式マニュアル
※書き込む前に少なくとも1日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]
| | |■
| |◇分岐終了◇
下記の★部分でCSelf20を上書きしているので
ここが原因かなと思います。
あと、読込位置がおかしい気がします。
CSelf14の読込判定をしたあとに
CSelf16のプレイ時間を読み込もうとしている?
> | |■セーブデータの内容読込: CSelf17 = セーブデータ[CSelf14]の Sys24:[読]セーブデータ読込判定(1=成功 0=失敗)
> | |■条件分岐(変数): 【1】 CSelf17 が 1 と同じ 【2】 CSelf17 が 0 と同じ
> | |-◇分岐: 【1】 [ CSelf17 が 1 と同じ ]の場合↓
> | | |▼
> | | |■セーブデータの内容読込: CSelf20 = セーブデータ[CSelf16]の Sys29:プレイ時間(1秒単位)
> | | |■変数操作: CSelf20 = Sys29:プレイ時間(1秒単位) + 0 ←★原因
> | | |■変数操作: CSelf21 = CSelf20 / 3600
> | | |■変数操作: CSelf22 = CSelf20 % 3600
> | | |■変数操作: CSelf23 = CSelf22 / 60
> | | |■変数操作: CSelf24 = CSelf22 % 60
ちなみに、この件とは直接関係ない話ですが
現在の年月日時分秒(Sys77〜82)など
一部で読み込みできないものもあります。
その場合は、例えば最後にセーブした時間として
文字列変数に書き込んでおいて、それを読み込む必要があると思います。
以上です。
[やりたいこと]
セーブデータの枠内にプレイ時間を入れたい。
[やってみたこと]
データの有無で表示を変える。データがある場合プレイ時間を計算したコマンドを作成してその場所に表示させる。
[やってみた結果、どううまくいかないか]
表示だけならできるのですが、セーブした時の時間が表示されるのではなく、リアルタイムのプレイ時間がずっと表示されてしまいます。セーブ時にプレイ時間を読み込むやり方が間違っているのか、コマンドを入れる場所などいろいろ変えてみましたが、うまくいきませんでした。
以下がコマンド文です。
■ループ開始
|■変数操作: CSelf15 下限= 0 + 1
|■変数操作: CSelf15 上限= 0 + 5
|■変数操作: CSelf11 = 13000 + 0
|■変数操作: CSelf12 = 70 + 0
|■変数操作: CSelf13 = 0 + 1
|■回数付きループ [ 5 ]回
| |■ピクチャ表示:CSelf11 [中心]ウィンドウ「SystemFile/WindowBase.png」サイズ[120,20] X:160 Y:CSelf12 / 0(0)フレーム / パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
| |■DB読込(可変): CSelf14 = 可変DB[ 2 : 0 : CSelf13 ] (セーブ欄 : : -)
| |■条件分岐(変数): 【1】 CSelf13 が CSelf15 と同じ
| |-◇分岐: 【1】 [ CSelf13 が CSelf15 と同じ ]の場合↓
| | |■ピクチャエフェクト:CSelf11 [点滅A(明滅)] R200/G200/B200 明滅間隔(50)フレーム
| | |■
| |-◇上記以外
| | |■ピクチャエフェクト:CSelf11 [点滅A(明滅)] R100/G100/B100 明滅間隔(0)フレーム
| | |■
| |◇分岐終了◇
| |■変数操作: CSelf11 += 0 + 1
| |▼ ファイルNo
| |■ピクチャ表示:CSelf11 [中心]文字列[File:\cself[14]] X:120 Y:CSelf12 / 0(0)フレーム / パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
| |▼ セーブ中身
| |■変数操作: CSelf11 += 0 + 1
| |■セーブデータの内容読込: CSelf17 = セーブデータ[CSelf14]の Sys24:[読]セーブデータ読込判定(1=成功 0=失敗)
| |■条件分岐(変数): 【1】 CSelf17 が 1 と同じ 【2】 CSelf17 が 0 と同じ
| |-◇分岐: 【1】 [ CSelf17 が 1 と同じ ]の場合↓
| | |▼
| | |■セーブデータの内容読込: CSelf20 = セーブデータ[CSelf16]の Sys29:プレイ時間(1秒単位)
| | |■変数操作: CSelf20 = Sys29:プレイ時間(1秒単位) + 0
| | |■変数操作: CSelf21 = CSelf20 / 3600
| | |■変数操作: CSelf22 = CSelf20 % 3600
| | |■変数操作: CSelf23 = CSelf22 / 60
| | |■変数操作: CSelf24 = CSelf22 % 60
| | |■条件分岐(変数): 【1】 CSelf21 が 9 以下
| | |-◇分岐: 【1】 [ CSelf21 が 9 以下 ]の場合↓
| | | |■文字列操作:CSelf5 = "0"
| | | |■
| | |-◇上記以外
| | | |■文字列操作:CSelf5 = ""
| | | |■
| | |◇分岐終了◇
| | |■条件分岐(変数): 【1】 CSelf23 が 9 以下
| | |-◇分岐: 【1】 [ CSelf23 が 9 以下 ]の場合↓
| | | |■文字列操作:CSelf6 = "0"
| | | |■
| | |-◇上記以外
| | | |■文字列操作:CSelf6 = ""
| | | |■
| | |◇分岐終了◇
| | |■条件分岐(変数): 【1】 CSelf24 が 9 以下
| | |-◇分岐: 【1】 [ CSelf24 が 9 以下 ]の場合↓
| | | |■文字列操作:CSelf7 = "0"
| | | |■
| | |-◇上記以外
| | | |■文字列操作:CSelf7 = ""
| | | |■
| | |◇分岐終了◇
| | |▼
| | |▼
| | |■ピクチャ表示:CSelf11 [中心]文字列[\cself[5]\cself[] 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]
| | |■
| |◇分岐終了◇
| |■変数操作: CSelf11 += 0 + 1
| |■変数操作: CSelf12 += 20 + 0
| |■変数操作: CSelf13 += 0 + 1
| |■
|◇ループここまで◇◇
|■キー入力:CSelf10[キー入力][入力待ち] 上下(8,2) 決定(10) キャンセル(11)
|■条件分岐(変数): 【1】 CSelf10[キー入力] が 8 と同じ 【2】 CSelf10[キー入力] が 2 と同じ
|-◇分岐: 【1】 [ CSelf10[キー入力] が 8 と同じ ]の場合↓
| |■変数操作: CSelf15 -= 0 + 1
| |■
|-◇分岐: 【2】 [ CSelf10[キー入力] が 2 と同じ ]の場合↓
| |■変数操作: CSelf15 += 0 + 1
| |■
|◇分岐終了◇
|■条件分岐(変数): 【1】 CSelf10[キー入力] が 10 と同じ
|-◇分岐: 【1】 [ CSelf10[キー入力] が 10 と同じ ]の場合↓
| |■DB読込(可変): CSelf16 = 可変DB[ 2 : 0 : CSelf15 ] (セーブ欄 : : -)
| |■条件分岐(変数): 【1】 CSelf0 が 1 と同じ 【2】 CSelf0 が 0 と同じ
| |-◇分岐: 【1】 [ CSelf0 が 1 と同じ ]の場合↓
| | |■データのロード: CSelf16
| | |■
| |-◇分岐: 【2】 [ CSelf0 が 0 と同じ ]の場合↓
| | |■ピクチャ消去:13000 〜 13050 / 0(0)フレーム
| | |■セーブデータの内容読込: CSelf20 = セーブデータ[CSelf16]の Sys29:プレイ時間(1秒単位)
| | |■データのセーブ: CSelf16
| | |■
| |◇分岐終了◇
| |■
|◇分岐終了◇
|■条件分岐(変数): 【1】 CSelf10[キー入力] が 11 と同じ
|-◇分岐: 【1】 [ CSelf10[キー入力] が 11 と同じ ]の場合↓
| |■ピクチャ消去:13000 〜 13050 / 0(0)フレーム
| |■イベント処理中断
| |■
|◇分岐終了◇
|■
◇ループここまで◇◇
よろしくお願いします。
[やりたいこと]
こんにちわ。
ウディタは古い開発環境で作られていると思いますが、full hdのモニターだと文字が小さいです。windows10に拡大鏡などありますが、スケーリングに対応していないのか、それでも文字が見づらいです。
ウディタの設定で文字サイズを変更することは出来ないでしょうか?
[変更したい箇所]
* マップ一覧のツリー部分
* マップイベントの設定画面
などです。
よろしくお願いします。
ファイル名と拡張子の間にある、コンマは一個だけにした方が良い。
ありがとうございます。
BasicData.wolfごとプロテクトされるものだと思っていました・・・・
公式マニュアル(説明書)である下記URLにもう少し書いてあります。
hhttps://silversecond.com/WolfRPGEditor/Help/02gamesetting_Pro.html#protect
BasicDataに入ってる対象ファイルにはカギがかけられますが
例えば他の、各自で用意した画像やテキストファイルなどは
どこに入れたとしてもカギはかからないと思います。
キーがかけられず盗み見られたくないデータは
個人で別途管理する必要があるかと思います。
〜以下、引用抜粋〜
>
> + プロテクト対象は Game.dat、CommonEvent.dat、TileSetData、〜Database.dat系、
> MapTree〜.dat系のファイルとなります。
> (ゲーム基本設定、コモンイベント、タイル設定、データベース系、マップツリーデータ)
>
> + マップファイル(.mpsファイル)はプロテクトされません。
>
> + プロテクトキーは暗号化にも影響を与えます。
〜引用抜粋ここまで〜
> URLのサイトの、プロテクトキーの説明に
>
> カギが掛けられるのは、主にフォルダー「BasicData」の中にあるファイルであり、
> マップデータを保存するファイルなどにはカギは掛けられません。
>
> と書いてあったのですが公式サイトの記載が見つかりません。
> 見られたくないデータは全て「BasicData」に入れればいいという認識で合ってるのでしょうか?
URLのサイトの、プロテクトキーの説明に
カギが掛けられるのは、主にフォルダー「BasicData」の中にあるファイルであり、
マップデータを保存するファイルなどにはカギは掛けられません。
と書いてあったのですが公式サイトの記載が見つかりません。
見られたくないデータは全て「BasicData」に入れればいいという認識で合ってるのでしょうか?