質問スレッド
このフォームからは投稿できません。
name
e-mail
url
subject
comment

[新規順タイトル表示] [ツリー表示] [新着順記事] [留意事項] [ワード検索] [過去ログ] [管理用]

記事No: 21573 [関連記事]
タイトルRe: 魔法の威力をアイテムなどで一時的に変えたい
投稿日: 2023/12/16 09:00
投稿者YADO [LerLWW459]

細かい仕様が分からないので、ざっくりとした説明しかできませんが、例えばイベント発生時やアイテム使用時に
■変数操作: V1[技能効力アップ] = 1 + 0
を実行して、通常変数[1]が「1」の時には、主人公の行動時の基本効果量が[+10」になるようにする場合は、
コモンイベント[165:X[戦]┗単体処理]の388-389行目にある
▼ 【2.3】 攻撃力の計算
■DB読込(ユーザ): CSelf41[効力総計] = ユーザDB[ 技能 : CSelf1[発動技能] : ┣ 基本効果量[固定値] ] (0 : - : 9)
の部分を
▼ 【2.3】 攻撃力の計算
■DB読込(ユーザ): CSelf41[効力総計] = ユーザDB[ 技能 : CSelf1[発動技能] : ┣ 基本効果量[固定値] ] (0 : - : 9)
■条件分岐(変数): 【1】 CSelf0[発動スロット] が 9 以下
-◇分岐: 【1】 [ CSelf0[発動スロット] が 9 以下 ]の場合↓
|■条件分岐(変数): 【1】 V1[技能効力アップ] が 1 と同じ
|-◇分岐: 【1】 [ V1[技能効力アップ] が 1 と同じ ]の場合↓
| |■変数操作: CSelf41[効力総計] += 10 + 0
| |■
|◇分岐終了◇
|■
◇分岐終了◇
と設定すると、通常変数[1]が「1」になった時に、基本効果量が「+10」になります。
(テスト時は「+100」くらいにした方が分かりやすいかも)


上記の場合は、通常攻撃や強斬りなどの物理攻撃にも適用されますが、
以下のように精神力影響度が「1以上」の時のみに適用させると、物理攻撃では増加しなくなります。

▼ 【2.3】 攻撃力の計算
■DB読込(ユーザ): CSelf41[効力総計] = ユーザDB[ 技能 : CSelf1[発動技能] : ┣ 基本効果量[固定値] ] (0 : - : 9)
▼ 攻撃力影響度
■DB読込(ユーザ): CSelf34[攻撃力ダメージ] = ユーザDB[ 技能 : CSelf1[発動技能] : ┣ 攻撃力影響度[%] ] (0 : - : 10)
■変数操作: [実] CSelf34[攻撃力ダメージ] *= CSelf20[自攻撃力] / 100
▼ 精神力影響度
■DB読込(ユーザ): CSelf35[精神攻撃ダメージ] = ユーザDB[ 技能 : CSelf1[発動技能] : ┣ 精神力影響度[%] ] (0 : - : 11)
■条件分岐(変数): 【1】 CSelf0[発動スロット] が 9 以下
-◇分岐: 【1】 [ CSelf0[発動スロット] が 9 以下 ]の場合↓
|■条件分岐(変数): 【1】 V1[技能効力アップ] が 1 と同じ
|-◇分岐: 【1】 [ V1[技能効力アップ] が 1 と同じ ]の場合↓
| |■条件分岐(変数): 【1】 CSelf35[精神攻撃ダメージ] が 1 以上
| |-◇分岐: 【1】 [ CSelf35[精神攻撃ダメージ] が 1 以上 ]の場合↓
| | |■変数操作: CSelf35[精神攻撃ダメージ] += 10 + 0
| | |■変数操作: CSelf41[効力総計] += 10 + 0
| | |■
| |◇分岐終了◇
| |■
|◇分岐終了◇
|■
◇分岐終了◇
■変数操作: [実] CSelf35[精神攻撃ダメージ] *= CSelf21[自精神攻撃力] / 100

※374行目にも精神力影響度を代入する設定があるので、その下の375行目に上記のような精神力影響度の値を増やす追加設定が必要です。


増加量を技能ごとに細かく設定したい場合は、
現在設定しているように同じ技能を2つ用意するか、増加値を設定する技能の項目を増やすか、いずれかになりそう。

同じ技能を2つ用意する方法も、例えばユーザーDB[0:技能]のデータ[0-99]をコピーして、
データ[100-199]に貼り付けて、データ[100-199]の方の値を増加。

そしてコモンイベント[165:X[戦]┗単体処理]の298行目の
▼ 【2−】命中しててもしてなくてもカウンターチェック
がある位置に
■条件分岐(変数): 【1】 CSelf0[発動スロット] が 9 以下
-◇分岐: 【1】 [ CSelf0[発動スロット] が 9 以下 ]の場合↓
|■条件分岐(変数): 【1】 V1[技能効力アップ] が 1 と同じ
|-◇分岐: 【1】 [ V1[技能効力アップ] が 1 と同じ ]の場合↓
| |■変数操作: CSelf1[発動技能] += 100 + 0
| |■
|◇分岐終了◇
|■
◇分岐終了◇
を追加すれば、通常変数[1]が「1」の時には自動的に技能のデータIDが「+100」になるので、主人公が習得している技能を入れ替える処理が無くても、
通常の技能(データID[0-99])を選択するだけで、自動的に強化された技能(データID[100-199])が使用されます。


ちなみにユーザーDBの値は
■変数操作: CSelf10[一時変数A] = 1000000009 + 0
■変数操作: V[CSelf10[一時変数A]] += 10 + 0
と言ったように「変数呼び出し値」と「X番の変数呼出」の組み合わせで一応値は変えられますが、
「値を増加した後に、元の値に戻す処理が必要になる」
「+10が二重に実行しないように注意する」
「全ての技能を増加させると、敵キャラの技能まで増加してしまう」
「主人公と敵キャラの両方で同じ技能が使える場合は、主人公用と敵キャラ用の2つを用意する必要がある」
「値を変えてセーブすると、ロード時に元の値に戻る(セーブができない戦闘中のみの値の変更ならこの仕様は無視できる)」
などの問題があります。


- 関連一覧ツリー (▼ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)
おなまえ※必須
Eメール
subject 入力禁止
Title 入力禁止
Theme 入力禁止
タイトル (質問内容に沿ったタイトルにしてください、「わかりません」「質問です」はダメ) sage
URL 入力禁止
URL
手動改行 強制改行 図表モード
添付ファイル    (500kBまで)
削除キー (英数字で8文字以内)
投稿キー (投稿時 投稿キー を入力してください)
プレビュー   

- 以下のフォームから自分の投稿記事を修正・削除することができます -
処理 記事No 削除キー