WOLF RPGエディター(ウディタ)/バグ・エラー【サイトトップへ戻る】
■レベルの増減による「次Lvまで」の誤差について
(更新:2023/02/25)


レベルを上げたり下げたりを繰り返すと、「次Lvまで」の値に誤差が生じる事があります。

初期状態(Lv5) 「Lv5→Lv1→Lv5」と処理した場合

この「次Lvまで」の誤差について説明します。

ショートカット
■「次Lvまで」って何?
■誤差が発生する原因
■対策


  
■「次Lvまで」って何?

「次Lvまで」とは、次のレベルになるために必要な経験値を表示したものです。

下図の場合は経験値を「40以上」獲得するとレベルが上がります。





「次Lvまで」の設定は、可変DB[0:主人公ステータス]項目[55:現Lvの必要経験値]にて行います。





主人公のレベルが上がると項目[56:必要経験値増加率[%]]項目[57:必要経験値増加[固定値]]の値を基に、
以下の計算式で次のレベルアップに必要な経験値が決まります。

項目[55:現Lvの必要経験値]×項目[56:必要経験値増加率[%]]項目[57:必要経験値増加[固定値]]

仮に…
項目[55:現Lvの必要経験値] 40
項目[56:必要経験値増加率[%]] 1.07倍
項目[57:必要経験値増加[固定値]] 5
の設定でレベルアップした時には「40×1.07+5」の計算により、次のレベルアップに必要な経験値が「47」になります。



なお、レベルが下がる時の計算式は以下のとおりです。

項目[55:現Lvの必要経験値]項目[57:必要経験値増加[固定値]])÷項目[56:必要経験値増加率[%]]


▲トップへ戻る▲


  
■誤差が発生する原因

レベルの増減で項目[55:現Lvの必要経験値]の値に誤差が生じる原因は、
次の項目[55:現Lvの必要経験値]の値を決める計算処理の中で小数点以下が切り捨てになるためです。



ウルファールの可変DB[0:主人公ステータス]の初期設定
項目[4:レベル] 5
項目[55:現Lvの必要経験値] 40
項目[56:必要経験値増加率[%]] 1.07倍
項目[57:必要経験値増加[固定値]] 5

例えば上記の設定でレベルが上がった時には、
次の項目[55:現Lvの必要経験値]は「40×1.07+5」の計算によって「47.8」になります。

しかし小数点以下は切り捨てになるため、実際に項目[55:現Lvの必要経験値]に設定される値は「47」になります。

この時の小数点以下を切り捨てる事が、レベルの増減による誤差を生み出しています。



以下の表では「Lv5→6」「Lv5→4→6」「Lv5→3→6」のそれぞれの値の変動を見る事ができます。

レベルの変動 計算の流れ レベル7になるための必要経験値
5→6 Lv5→Lv6: 40×1.07+5=47.8 47
5→4→5→6 Lv5→Lv4:(40−5)÷1.07=32.710
Lv4→Lv5: 32×1.07+5=39.24
Lv5→Lv6: 39×1.07+5=46.73
46
5→4→3→4→5→6 Lv5→Lv4:(40−5)÷1.07=32.710
Lv4→Lv3:(32−5)÷1.07=25.23
Lv3→Lv4: 25×1.07+5=31.75
Lv4→Lv5: 31×1.07+5=38.17
Lv5→Lv6: 38×1.07+5=45.66
45

このようにレベルの増減回数が多くなればなるほど、必要経験値の値(次Lvまでの値)が小さくなります。


▲トップへ戻る▲


  
■対策

通常の状態では、レベルは上がるだけなので「次Lvまで」の誤差を気にする必要はありません。



しかし周回プレイなどがあり、初期レベルに戻す(レベルを下げる)必要がある場合は、
以下のようにレベルを初期レベルに戻した後に項目[55:現Lvの必要経験値]の値を初期値に戻してください。

▼ウルファールの初期レベル「レベル5」に戻す設定
【イベントコード表示】

■DB読込(可変): このEvのセルフ変数0 = 可変DB[ 主人公ステータス : ウルファール : レベル ] (0 : 12 : 4)
■変数操作: このEvのセルフ変数0 -= 5 + 0
■変数操作: このEvのセルフ変数0 *= -1 + 0
■イベントの挿入: コモン10:[ ○経験値・Lv増減 ] / 12:ウルファール / 0:レベル増減 / このEvのセルフ変数0 / 0:なし
■可変DB書込:DB[ 主人公ステータス : ウルファール : 現Lvの取得経験値 ] (0 : 12 : 54) = 0
■可変DB書込:DB[ 主人公ステータス : ウルファール : 現Lvの必要経験値 ] (0 : 12 : 55) = 40



上記の設定の場合、レベルアップで増減した能力値は初期値に戻りますが、
ゲーム中にイベント実行やアイテム使用で増減した能力値増減したままになります。

例えば、攻撃力の初期値が「15」だった場合でアイテムで「攻撃力+5」にした場合は、
上記の初期レベルに戻す設定では「20」になります。

もしも初期攻撃力の「15」にする場合は、上記イベントの最後に…
■可変DB書込:DB[ 主人公ステータス : ウルファール : 基本攻撃力 ] (0 : 12 : 10) = 15
の設定を追加してください。



周回プレイの初期化に関する情報は以下のページに記載しています。
【周回プレイの初期化についての説明を見る】


▲トップへ戻る▲



◎関連ページ

◆コモンイベント[001:○武器増減]
◆コモンイベント[002:○防具増減]
◆コモンイベント[010:○経験値・Lv増減]
◆コモンイベント[011:○装備武器の変更]
◆コモンイベント[012:○装備防具の変更]

YADOT-WOLFトップ  気紛れな空間へ戻る  メール