一括表示

記事No: 21371
タイトル新しく作ったパラメータをアイテムを使って回復させたい
投稿日: 2021/09/22 01:40
投稿者わんつー [rrirFOrr305(海外)]

[やりたいこと]
HPやSPとは別の新しいパラメータを作成して、アイテムを使用すると
そのパラメータを回復させたい。
[やってみたこと]
・可変DBに新しくパラメータを追加
[0:主人公ステータス 0:ヒーローさん 60:(新しく作ったパラメータ)]
・アイテムにも新しく項目を追加
[2:アイテム 0:作成したアイテム 21:回復する量]

・コモン004:○回復・ダメージ処理で、入力内容の設定の数値1/コモンセルフ0の処理内容に新しく選択肢を作成。(例 内部数字を10にして、新しく作ったパラメータ名を作成)


・コモン070:×[移]パラメータ増減で、入力内容の設定の数値2/コモンセルフ1の対象パラメータに新しく選択肢を作成。(例 内部数字を99にして新しく作ったパラメータ名を作成)

・『条件分岐(変数):【1】cself1[対象パラメータ]が 99 と同じ』をHPやSPの処理をしてる後辺りに作成
あとはHP等の増減処理してるであろう部分をコピペしてDB読み込みや書き込みを新しく作成したデータを設定し直した。

[やってみた結果、どううまくいかないか]
新しく作ったアイテムを使用すると、新しく設定したパラメータが回復する仕組みがよく分からないです。


記事No: 21373
タイトルRe: 新しく作ったパラメータをアイテムを使って回復させたい
投稿日: 2021/09/22 22:36
投稿者YADO [LerLWW459(海外)]

> [やりたいこと]
> 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」にした方が良いでしょう。


記事No: 21375
タイトルRe: 新しく作ったパラメータをアイテムを使って回復させたい
投稿日: 2021/09/24 00:26
投稿者わんつー [Lddgr1154(海外)]

アドバイスありがとうございます

アイテムを使用すると数値が変化するようになったのですが可変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
| |▼


記事No: 21376
タイトルRe: 新しく作ったパラメータをアイテムを使って回復させたい
投稿日: 2021/09/24 01:23
投稿者YADO [LerLWW459(海外)]

> アドバイスありがとうございます
>
> アイテムを使用すると数値が変化するようになったのですが可変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)で回復する」と言った設定になるでしょう。


記事No: 21377
タイトルRe: 新しく作ったパラメータをアイテムを使って回復させたい
投稿日: 2021/09/25 00:57
投稿者わんつー [rpdg669(海外)]

アドバイスありがとうございます!
DB読込をユーザーに変更したら数値もその通りに出てちゃんと回復するようになりました。
YADOさんありがとうございました!