Sys7:選択肢次回初期位置(0,1,2...) で選択肢のカーソル位置を指定できるみたいです。(サンプルゲームのタイトル用イベントを参照してください)ただ、選択肢を表示した後、うまくバックログに切り替える方法が思い浮かばなかったです。左右キーでバックログに切り替えることができるかな?と思ったのですがSys20:選択肢カーソル現位置(0,1,2..非選択時:-1) で読み込める値が98,99に書き換えられてしまうようです。(←この方が便利ですけど…)万能ウィンドウを使って 選択肢と同じような動作のコモンを作成した方がいいかもしれません。
[やりたいこと]選択肢の位置を固定したままでバックログスクロールなど、十字キー操作を受け付けたい[やってみたこと]キー入力の受付禁止や選択肢位置に関わりそうなシステム探し[やってみた結果、どううまくいかないか]キー受付を禁止すると全キー受付の特定キーのみでの十字キー操作を受け付けなくなってしまい、コモンイベント内にも選択肢位置が変わるのを抑制出来そうな部分は見つからず。選択肢を表示する処理を止めても、システム変数20は読み取り専用のため、フラグ解除に合わせて元の位置に戻すことが出来ない
アドバイスありがとうございます!DB読込をユーザーに変更したら数値もその通りに出てちゃんと回復するようになりました。YADOさんありがとうございました!
> アドバイスありがとうございます> > アイテムを使用すると数値が変化するようになったのですが可変DBで作った数値が反映されません。(10や5の回復量にしてもほぼ全快する)> 希望としては回復量は固定させたい。> > ※試作として最大100として歩数でマイナスしていき、アイテムを使うと減った数字が回復する様にしている。> > 070[移]パラメータ増減> > ■条件分岐(変数): 【1】 CSelf1[対象パラメータ] が 22 と同じ 【2】 CSelf1[対象パラメータ] が 23 と同じ > -◇分岐: 【1】 [ CSelf1[対象パラメータ] が 22 と同じ ]の場合↓> |▼ HP> 〜〜〜〜> | |-◇分岐: 【2】 [ CSelf2[増減値] が -1 以下 ]の場合↓> | | |■文字列操作:CSelf9[表示メッセージ文] += "の\cself[8]が\cself[2]ポイント減少した。"> | | |■> | |◇分岐終了◇> | |●ラベル「メッセージ表示」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>> | |■> |◇分岐終了◇> |■イベント処理中断> |■> ◇分岐終了◇> > ※ここに新しくコマンド入力 135行辺り> ↓> ■条件分岐(変数): 【1】 CSelf1[対象パラメータ] が 99 と同じ > -◇分岐: 【1】 [ CSelf1[対象パラメータ] が 99 と同じ ]の場合↓> |■DB読込(可変): CSelf10[一時変数A] = 可変DB[ ×主人公一時DB : CSelf0[主人公ID] : 新パラメータ ] (17 : - : 21) > |■可変DB書込:DB[ 主人公ステータス : CSelf0[主人公ID] : 新パラメータ ] (0 : - : 60) += CSelf2[増減値]> |■可変DB書込:DB[ 主人公ステータス : CSelf0[主人公ID] : 新パラメータ ] (0 : - : 60) 上限 CSelf10[一時変数A]> |■可変DB書込:DB[ 主人公ステータス : CSelf0[主人公ID] : 新パラメータ ] (0 : - : 60) 下限 0> |■> ◇分岐終了◇> > > > 118[移]アイテム使用効果処理> > | |▼ SP回復値の計算> | |■DB読込(可変): CSelf35[最終SP回復値] = 可変DB[ ×主人公一時DB : CSelf14[一時キャラID] : [一時]計算済みMaxSP ] (17 : - : 1) > | |■DB読込(ユーザ): CSelf34[SP回復%] = ユーザDB[ アイテム : CSelf30[アイテム番号] : SP回復 [最大の?%] ] (2 : - : 12) > | |■変数操作: CSelf35[最終SP回復値] *= CSelf34[SP回復%] + 0 > | |■変数操作: CSelf35[最終SP回復値] /= 100 + 0 > | |■DB読込(ユーザ): CSelf35[最終SP回復値] += ユーザDB[ アイテム : CSelf30[アイテム番号] : ┗+SP回復 [ポイント] ] (2 : - : 13) > | |▼ > > ↓※ここに新しくコマンド入力 196行辺り> | |■DB読込(可変): CSelf36 = 可変DB[ ×主人公一時DB : CSelf14[一時キャラID] : 新パラメータ ] (17 : - : 21) > > | |▼ > | |■イベントの挿入[名]: ["X[移]パラメータ増減"] <コモンEv 70> / CSelf14[一時キャラID] / 22:HP / CSelf33[最終HP回復値] / 0:なし> | |■イベントの挿入[名]: ["X[移]パラメータ増減"] <コモンEv 70> / CSelf14[一時キャラID] / 23:SP / CSelf35[最終SP回復値] / 0:なし> > ↓※ここに新しくコマンド入力 200行辺り> | |■イベントの挿入[名]: ["X[移]パラメータ増減"] <コモンEv 70> / CSelf14[一時キャラID] / 99:新パラメータ / CSelf36 / 0:なし> > | |▼ 回復エフェクト+表示更新> | |■イベントの挿入[名]: ["X[移]指定キャラHP/SP回復表示"] <コモンEv 97> / CSelf11[一時変数B] / CSelf33[最終HP回復値] / CSelf35[最終SP回復値]> | |■イベントの挿入[名]: ["X[移]キャラクター欄描画"] <コモンEv 90> / 2:カーソルOFF(対象位置 位置-1なら全部) / -1 / 0> | |▼ コモンイベント[118:X[移]アイテム使用効果処理]に追加した…■DB読込(可変): CSelf36 = 可変DB[ ×主人公一時DB : CSelf14[一時キャラID] : 新パラメータ ] (17 : - : 21)の設定は合っていますか?このセルフ[36]には回復量を設定する事になっているので、可変DB[17:×主人公一時DB]ではなく、ユーザーDB[2:アイテム]にある回復量を設定する事になるでしょう。コモンイベント[070:X[移]パラメータ増減]の設定から推測すると、可変DB[17:×主人公一時DB]の項目[21:新パラメータ]には、新パラメータの最大値(100)が設定されていると思います。もしも項目[21:新パラメータ]の値が「新パラメータの最大値」の場合は、コモンイベント[118:X[移]アイテム使用効果処理]の…■DB読込(可変): CSelf36 = 可変DB[ ×主人公一時DB : CSelf14[一時キャラID] : 新パラメータ ] (17 : - : 21)■イベントの挿入[名]: ["X[移]パラメータ増減"] <コモンEv 70> / CSelf14[一時キャラID] / 99:新パラメータ / CSelf36 / 0:なしの設定は、「新パラメータの最大値(100)で回復する」と言った設定になるでしょう。
アドバイスありがとうございますアイテムを使用すると数値が変化するようになったのですが可変DBで作った数値が反映されません。(10や5の回復量にしてもほぼ全快する)希望としては回復量は固定させたい。※試作として最大100として歩数でマイナスしていき、アイテムを使うと減った数字が回復する様にしている。070[移]パラメータ増減■条件分岐(変数): 【1】 CSelf1[対象パラメータ] が 22 と同じ 【2】 CSelf1[対象パラメータ] が 23 と同じ -◇分岐: 【1】 [ CSelf1[対象パラメータ] が 22 と同じ ]の場合↓ |▼ HP〜〜〜〜 | |-◇分岐: 【2】 [ CSelf2[増減値] が -1 以下 ]の場合↓ | | |■文字列操作:CSelf9[表示メッセージ文] += "の\cself[8]が\cself[2]ポイント減少した。" | | |■ | |◇分岐終了◇ | |●ラベル「メッセージ表示」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>> | |■ |◇分岐終了◇ |■イベント処理中断 |■◇分岐終了◇※ここに新しくコマンド入力 135行辺り↓■条件分岐(変数): 【1】 CSelf1[対象パラメータ] が 99 と同じ -◇分岐: 【1】 [ CSelf1[対象パラメータ] が 99 と同じ ]の場合↓ |■DB読込(可変): CSelf10[一時変数A] = 可変DB[ ×主人公一時DB : CSelf0[主人公ID] : 新パラメータ ] (17 : - : 21) |■可変DB書込:DB[ 主人公ステータス : CSelf0[主人公ID] : 新パラメータ ] (0 : - : 60) += CSelf2[増減値] |■可変DB書込:DB[ 主人公ステータス : CSelf0[主人公ID] : 新パラメータ ] (0 : - : 60) 上限 CSelf10[一時変数A] |■可変DB書込:DB[ 主人公ステータス : CSelf0[主人公ID] : 新パラメータ ] (0 : - : 60) 下限 0 |■◇分岐終了◇118[移]アイテム使用効果処理 | |▼ SP回復値の計算 | |■DB読込(可変): CSelf35[最終SP回復値] = 可変DB[ ×主人公一時DB : CSelf14[一時キャラID] : [一時]計算済みMaxSP ] (17 : - : 1) | |■DB読込(ユーザ): CSelf34[SP回復%] = ユーザDB[ アイテム : CSelf30[アイテム番号] : SP回復 [最大の?%] ] (2 : - : 12) | |■変数操作: CSelf35[最終SP回復値] *= CSelf34[SP回復%] + 0 | |■変数操作: CSelf35[最終SP回復値] /= 100 + 0 | |■DB読込(ユーザ): CSelf35[最終SP回復値] += ユーザDB[ アイテム : CSelf30[アイテム番号] : ┗+SP回復 [ポイント] ] (2 : - : 13) | |▼ ↓※ここに新しくコマンド入力 196行辺り| |■DB読込(可変): CSelf36 = 可変DB[ ×主人公一時DB : CSelf14[一時キャラID] : 新パラメータ ] (17 : - : 21) | |▼ | |■イベントの挿入[名]: ["X[移]パラメータ増減"] <コモンEv 70> / CSelf14[一時キャラID] / 22:HP / CSelf33[最終HP回復値] / 0:なし | |■イベントの挿入[名]: ["X[移]パラメータ増減"] <コモンEv 70> / CSelf14[一時キャラID] / 23:SP / CSelf35[最終SP回復値] / 0:なし↓※ここに新しくコマンド入力 200行辺り | |■イベントの挿入[名]: ["X[移]パラメータ増減"] <コモンEv 70> / CSelf14[一時キャラID] / 99:新パラメータ / CSelf36 / 0:なし | |▼ 回復エフェクト+表示更新 | |■イベントの挿入[名]: ["X[移]指定キャラHP/SP回復表示"] <コモンEv 97> / CSelf11[一時変数B] / CSelf33[最終HP回復値] / CSelf35[最終SP回復値] | |■イベントの挿入[名]: ["X[移]キャラクター欄描画"] <コモンEv 90> / 2:カーソルOFF(対象位置 位置-1なら全部) / -1 / 0 | |▼
1ページ目と2ページ目の間に新しいページを挟む方法でやってみたら解決しました!丁寧に教えていただきありがとうございます!
> [やりたいこと]> HPやSPとは別の新しいパラメータを作成して、アイテムを使用すると> そのパラメータを回復させたい。> [やってみたこと]> ・可変DBに新しくパラメータを追加> [0:主人公ステータス 0:ヒーローさん 60:(新しく作ったパラメータ)]> ・アイテムにも新しく項目を追加> [2:アイテム 0:作成したアイテム 21:回復する量]> > ・コモン004:○回復・ダメージ処理で、入力内容の設定の数値1/コモンセルフ0の処理内容に新しく選択肢を作成。(例 内部数字を10にして、新しく作ったパラメータ名を作成)> > > ・コモン070:×[移]パラメータ増減で、入力内容の設定の数値2/コモンセルフ1の対象パラメータに新しく選択肢を作成。(例 内部数字を99にして新しく作ったパラメータ名を作成)> > ・『条件分岐(変数):【1】cself1[対象パラメータ]が 99 と同じ』をHPやSPの処理をしてる後辺りに作成> あとはHP等の増減処理してるであろう部分をコピペしてDB読み込みや書き込みを新しく作成したデータを設定し直した。> > [やってみた結果、どううまくいかないか]> 新しく作ったアイテムを使用すると、新しく設定したパラメータが回復する仕組みがよく分からないです。アイテム選択画面から回復アイテムを選択して使用する場合は、コモンイベント[118:X[移]アイテム使用効果処理]が実行されます。このコモンイベント[118:X[移]アイテム使用効果処理]の195行目を見てみると、HPとSPの回復のために、コモンイベント[070:X[移]パラメータ増減]を呼び出している設定があります。もしも新たなパラメータを回復する処理を設定する場合は、この195行目辺りにコモンイベント[070:X[移]パラメータ増減]を呼び出す設定などを追加すると良いでしょう。なお、アイテムの使用は移動用と戦闘用に分かれているので、もしも戦闘中にもアイテムが使用できるようにする場合は、コモンイベント[165:X[戦]┗単体処理]の150行目にあるループ処理の中を改造する必要があり、またコモンイベント[135:X[戦]パラメータ増減]には新たなパラメータの増減設定が必要になります。コモンイベント[004:○回復・ダメージ処理]は制作者が設定したイベントの中で使うもので、アイテムの使用では使われません。例えば「100ゴールドを支払うと全回復するイベント(宿屋処理)」を作る時には、このコモンイベント[004:○回復・ダメージ処理]を使います。コモンイベント[004:○回復・ダメージ処理]をどのように設定しているのかが分かりませんが、基本的に設定値「10」はお勧めできません。セルフ[0]の設定値は「1のビットを満たす=HP回復」「2のビットを満たす=SP回復」「4のビットを満たす=状態変化回復」になっており、例えば「セルフ[0]=5」の場合は「1+4」なので、HPと状態変化が回復します。「10」にすると「2のビット」が満たされてしまうので、新たなパラメータとSPの回復が実行されます。もしも新たなパラメータだけを回復するように設定したい時には、設定値は「8」にした方が良いでしょう。
> [やりたいこと]> 時間内に部屋を脱出しないとゲームオーバーになるイベントで、カウントダウンを始める前にいったんセーブを挟みたい> [やってみたこと]> マップイベントの1ページ目で一連のイベント後にセーブ画面呼び出し、2ページ目でカウントダウンコモンの起動> [やってみた結果、どううまくいかないか]> セーブ画面を開いている間に、もうカウントダウンが始まってしまいます。> セーブ画面呼び出しとカウントダウンの間に何かワンクッション置けばいいのかと思いながらもどうしたらいいかわからず……> 何かいい方法はないでしょうか?回答よろしくお願いします。例えばマップイベントの2ページ目が「並列実行」で動いており、「セルフ[0]=1」になると2ページ目が起動する場合、1ページ目の設定が…■イベントの挿入[名]: ["○各種メニュー呼出"] <コモンEv 14> / 0:セーブ画面■変数操作: このEvのセルフ変数0 = 1 + 0 ■の場合は、セーブ画面を閉じた後に「セルフ[0]=1」になって2ページ目が起動しますが…■変数操作: このEvのセルフ変数0 = 1 + 0 ■イベントの挿入[名]: ["○各種メニュー呼出"] <コモンEv 14> / 0:セーブ画面■の場合は、セーブ画面を開くと同時に2ページ目が起動します。しかし…■イベントの挿入[名]: ["○各種メニュー呼出"] <コモンEv 14> / 0:セーブ画面■変数操作: このEvのセルフ変数0 = 1 + 0 の順番だと、セーブデータをロードした時には「セルフ[0]=0」になるため、2ページ目が実行されない問題が発生します。この問題を解決する方法はいくつかあります。例えば2ページ目の最初に…■条件分岐(変数): 【1】 Sys13:イベント実行中?(1=ON) が 1 と同じ -◇分岐: 【1】 [ Sys13:イベント実行中?(1=ON) が 1 と同じ ]の場合↓ |■イベント処理中断 |■◇分岐終了◇を設定する方法です。他には1ページ目と2ページ目の間に新たなページを作成して、以下のように設定する方法もあります。▼1ページ目/並列実行以外/起動条件変数「なし」■変数操作: このEvのセルフ変数0 = 1 + 0 ■イベントの挿入[名]: ["○各種メニュー呼出"] <コモンEv 14> / 0:セーブ画面■▼2ページ目/自動実行/起動条件変数「Self0:セルフ変数0が1と同じ」■変数操作: このEvのセルフ変数0 = 2 + 0 ■▼3ページ目/並列実行/起動条件変数「Self0:セルフ変数0が2と同じ」■〜時間制限イベント〜
[やりたいこと]HPやSPとは別の新しいパラメータを作成して、アイテムを使用するとそのパラメータを回復させたい。[やってみたこと]・可変DBに新しくパラメータを追加[0:主人公ステータス 0:ヒーローさん 60:(新しく作ったパラメータ)]・アイテムにも新しく項目を追加[2:アイテム 0:作成したアイテム 21:回復する量]・コモン004:○回復・ダメージ処理で、入力内容の設定の数値1/コモンセルフ0の処理内容に新しく選択肢を作成。(例 内部数字を10にして、新しく作ったパラメータ名を作成)・コモン070:×[移]パラメータ増減で、入力内容の設定の数値2/コモンセルフ1の対象パラメータに新しく選択肢を作成。(例 内部数字を99にして新しく作ったパラメータ名を作成)・『条件分岐(変数):【1】cself1[対象パラメータ]が 99 と同じ』をHPやSPの処理をしてる後辺りに作成あとはHP等の増減処理してるであろう部分をコピペしてDB読み込みや書き込みを新しく作成したデータを設定し直した。[やってみた結果、どううまくいかないか]新しく作ったアイテムを使用すると、新しく設定したパラメータが回復する仕組みがよく分からないです。
[やりたいこと]時間内に部屋を脱出しないとゲームオーバーになるイベントで、カウントダウンを始める前にいったんセーブを挟みたい[やってみたこと]マップイベントの1ページ目で一連のイベント後にセーブ画面呼び出し、2ページ目でカウントダウンコモンの起動[やってみた結果、どううまくいかないか]セーブ画面を開いている間に、もうカウントダウンが始まってしまいます。セーブ画面呼び出しとカウントダウンの間に何かワンクッション置けばいいのかと思いながらもどうしたらいいかわからず……何かいい方法はないでしょうか?回答よろしくお願いします。