忍者ブログ

しいたけサイクロン

主にRPGツクールVXAceを扱うブログです。 ここに公開してあるスクリプトは全部自由に使用してもらってかまいません。 改造なり何なりして好きに使ってください。

カプセル型魔法スクリプト

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

コメント

ただいまコメントを受けつけておりません。

カプセル型魔法スクリプト

カプセル型魔法のスクリプト
いまとなっては大昔のゲームですがファルコムから出ていたドラゴンスレイヤー英雄伝説2のカプセル型魔法をヒントに作ってみました。
カプセル魔法はそののち特に発展しなかったシステムですが個人的には色々可能性を秘めたシステムなんじゃないかと思っているのでちょっと試しに作ってみました。
おそらく、まだ改良します。
あと今回のコードはものすごく汚いです。一から作るのも面倒だったのでスキルの仕組みを中途半端に利用したのですごいことになってる..

とりあえずキャラごとに魔法容量というのがあって魔法のカプセルをセットするのに容量が消費される形です。魔法ごとに消費する容量に違いがあります。(たとえばテストゲームだとフレイムは多め)またカプセルのレベルアップというシステムも作っていて、レベルアップするのにも容量を消費します。
あとデフォルトでは覚えられる魔法の数は10個になっています。
デフォルトではカプセルのMPは10となっています。(テストゲームでは使いきりの形になります。)
また基本的にカプセルは戦闘時以外で自動回復していきます。

ただ細かい部分は使うときにいじってください。(ただし今回はものすごく汚いので読みにくいと思います)
たとえばカプセルレベルによって威力を増すように設定したり、
クリティカル発生率を上げたり、
全体の容量の残りが少ないと駆動時間が若干遅くなるとか色々できるかと思います。


 

Capsule.zip (テストゲーム)


(スクリプト)

Magic_Cap_ver1.txt

Magic_Cap_ver1SceneManager.txt
Magic_Cap_ver1Vocab.txt
Magic_Cap_ver1DataManager.txt
Magic_Cap_ver1ActorAndEnemy.txt

(使い方)上の4つを素材として追加した後、Data_Managerの
  #--------------------------------------------------------------------------
  # ● モジュール初期化
  #--------------------------------------------------------------------------
  def self.init
    @last_savefile_index = 0
    load_database
    create_game_objects
    setup_battle_test if $BTEST
  end
とある部分のload_databaseの下に load_database2を追加してください。
(下のようになります)
  #--------------------------------------------------------------------------
  # ● モジュール初期化
  #--------------------------------------------------------------------------
  def self.init
    @last_savefile_index = 0
    load_database
    load_database2
    create_game_objects
    setup_battle_test if $BTEST
  end

または
module DataManager
  def self.init
    @last_savefile_index = 0
    load_database
    load_database2
    create_game_objects
    setup_battle_test if $BTEST
  end
end
を素材のところに追加してください。


(色々な設定方法)
追加したData_Managerにおいて
$CAPCONST の値がカプセル魔法にするスキルID、デフォルトで2

$magicCapV[スキルのID]でスキルIDで指定したスキルが消費する魔法容量を表します。

$setMagicCapSettableLv[スキルのID]でスキルIDで指定したスキルのセット可能なカプセルコンテナの最小レベルを設定します。

$setMagicCapRecoverMode[スキルのID]でスキルIDで指定したスキルの自然回復方法をしてします。 0 :回復しない 、1:時間による自動回復  、 2: 歩くことで回復

$setMagicCapRecoverValue[スキルのID]でスキルIDで指定したスキルの自然回復の速度を表します。

(イベントの呼び出し)
イベント上で
SceneManager.sMagicAndCapLv(skill_id , mode)とすると魔法のセットやカプセルコンテナのレベルの調整が出来ます。
スキルIDがskill_idとなるスキルをセットします。
modeの値によって
0:魔法のセット,  ,
1:コンテナレベルアップ
2:魔法とコンテナレベルアップ 
3:コンテナレベルアップ(上昇のみ)
4:魔法とコンテナレベルアップ(上昇のみ)
となります。
またmodeが負の数であるとき、カプセルコンテナ自体を削除します。
またskill_id を0に設定すると空のカプセルコンテナをセットします。

また似たようなものとしてSceneManager.sMagic(skill_id , mode)とすると
カプセルコンテナのセットのみを行います。(上のmode1との違いは2列になって見やすいというだけ)

またSceneManager.sMagicAndCapLv(skill_id , mode)はメニュー画面におけるアクターが最初に現れますが、SceneManager.sMagicAndCapLv2(skill_id , actor_id,mode)はアクターのID指定し
SceneManager.sMagicAndCapLv3(skill_id , id,mode)はパーティにおけるid番目アクターを指定しますが、選択肢の画面でこれを実行すると上手くいかないことがあるので
出来ればSceneManager.sMagicAndCapLv(skill_id , mode)を使ってください。


キャラや敵の初期のカプセルの設定は
Magic_Cap_ver1ActorAndEnemy.txtにおいてセットします。
setCapsule(id ,skill_id,capsuleLv)でidはカプセルid、skill_idはスキルid、capsuleLvでカプセルレベルをセットします。
同じくMagic_Cap_ver1ActorAndEnemy.txtにあるGame_EnemyクラスにおいてsetCapsuleで敵の初期カプセル状態をセットします。
@mpContainerMaxVolumeで魔法容量
@mpContainerNumLimitでコンテナレベルの限界値をセットします(負の数を設定した場合は無制限)


PR

コメント

プロフィール

HN:
tentako
性別:
非公開

P R

フリーエリア