ページ 11

★解決★【VXace】レベルキャップシステムの導入の仕方について(ノ_・、)

Posted: 2017年7月24日(月) 22:18
by みるく
がんばってもスクリプト技術が身につかない私です><!
たびたび すみません!!

RGSS3 (VXace)で、

オンラインゲームみたいな
『レベルキャップ・システム』
を導入したいなって思います!

これは、アクターの【最高レベル】が、
最初は【50】までしか上がらない設定だけど、
解放クエストを受注しクリアすると
Lv55 まで上がるようになる!
(レベルが50→55にいきなり上がるんじゃなく、あくまで上限レベルが上がる)
といったものです!

これをやるには、スクリプトを使わずに
アクターを複数用意したり・・・みたいな方法もあるかと思いますが
同一キャラのアクターを増やしてしまうと 何人もいるので大変です!

質問なのですが・・・
多分、スクリプトをいじってしまうことになると思うのですが

例えば【上限解放クエスト】をクリアした時に
スイッチ★ が入って
イベンドページで【上級】→【スクリプト】で書きこむことで、
そのアクターの【最高レベル】を変更することなどはできませんか??

スクリプトエディタを開いても、どこでアクターの【最高レベル】を定義してるのか
わかりませんでした @_@;

お優しくて聡明な皆様! どうか スタイリッシュなやり方を教えてください!!
おねがいします!

※例として・・・
スイッチ 20
が入った時
アクターID1
の最高レベルが
50→55
になる。

といった処理をするには、どうしたらいいですか?

Re: 【VXace】レベルキャップシステムの導入の仕方について(ノ_・、)

Posted: 2017年7月24日(月) 23:34
by まっつUP
みるく様
お世話になります。

max_levelに
actor.max_level
とありますがこれを
actor.max_level(データベース設定) + 変数の値(数値)
とすればいけると思います。

具体的にこうなると思います。
99を超えるレベルを設定しようとすると当然ですがエラー落ちします。(5敗)
なので少しだけ手を加えました。(例はゲーム変数ID1の値を参照)
[actor.max_level + $game_variables[1],99].min

参照する変数の値を操作した後は
レベル1マイナスとレベル1プラスをして前回の上限レベルから上がらないように
経験値をリセットすれば良いと思います。

アクターごとに上限の加算値が異なる場合は
拡張用のスクリプトを導入しなければならない場合があります。

追記:@actor_id == 1等でそのアクターのIDを指定値と比較できるみたいなので
これで条件分岐しても良いと思います。

Re: 【VXace】レベルキャップシステムの導入の仕方について(ノ_・、)

Posted: 2017年7月25日(火) 02:00
by みるく
わー!
まっつUP 様、ありがとうございます!

おかげさまで、無事
解放クエストが作れました!

しかも、解放前にカンスト状態で戦って貯めていた経験値が
解放後に ちゃんと還元される(っぽい)です!

このスクリプトは簡単に 入れることができるんで
みなさんにもオススメですね! (^0^)/

本当にありがとうございました!