開発日誌

素材

[ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] 特定アクターのみ使用可能アイテム設定スクリプト

2012-09-15 15:07:27

ふと思い立って作ったRGSS2スクリプト素材を公開します。VX用です。

もうちょっとマシな名前は付けられなかったのかって感じですが、文字通り、特定のアクターだけが使用することのできるアイテムを作るスクリプトです。

具体的には、戦闘中は指定されたアクターのみが使用でき、移動時には指定されたアクターがパーティーにいて、かつ戦闘不能やマヒ、混乱など、自由行動できないステートにかかっていない場合のみ、使用できるようになります。

使い方は単純で、スクリプトを導入し、対象となるアイテムのメモ欄に、以下の文字列を記述すればOKです。

PANDA::EnableActor = n

nには、該当するアクター番号が入ります。例えば、「PANDA::EnableActor = 3」と記述すれば、3番のアクターだけがそのアイテムを使用することができるようになります。残念ながら、複数のアクターは指定できません。自分が必要になったら作りますが…。

質問やアドバイスなどはコメント欄まで、お気軽にどうぞ。素材利用条件などについては、このサイトについての「提供素材について」の項目などをご覧ください。

[ テクニック ] [ 素材 ] アクター能力値かんたん調整

2012-08-26 21:00:15

主人公たちの能力値をエクセル上で簡単に編集して、データベースに反映させられる、VBAマクロファイルを公開します。実行には、Microsoft Office Excel 2003以上(2007以上推奨)が必要となります。

使い方は、いたって簡単。まずは、上記のファイルをダウンロードします。zipファイルなので、中身を解凍し、その中にあるエクセルファイル「ActorParameterVX.xls」を、ダブルクリックして起動します。

起動時に、マクロに関するセキュリティ警告が出ますので、マクロを有効にするよう操作してください。(画面はExcel 2007での表示)

「能力値設定」シートで、各アクターの能力値を調整します。Lv1の「値」の欄に初期値を、Lv2以降の「増」の欄に、それぞれレベルアップ時の増分を入力します。その他、アクターIDと名前、および経験値の基本値と増加度も入力します。入力すべき場所は、全てグリーンで表示しています。

「バランス確認」シートで、能力値の成長曲線のアクター間比較もできます。適宜確認しながら、あまりアンバランスにならないよう調整しましょう。

調整が完了したら、「スタート」シートに戻って、「スクリプト出力」ボタンをクリックし、スクリプトをファイルに保存します。

ここからは、RPGツクール本体での作業になります。ツクール本体でプロジェクトファイルを開き、スクリプトエディタの「▼ 素材」の一番最後に、スクリプトを挿入し、先ほど保存したスクリプトの内容を全て貼り付けます。

プロジェクトを保存して、テストプレイを起動します。タイトル画面が出たところで、テストプレイは終了させます。

再びプロジェクトファイルを開き、データベースの「アクター」で、変更が反映されていることを確認したら、スクリプトエディタを開いて、先ほど挿入したスクリプトを削除し、保存します。

なお、本システムで変更できるのは、経験値曲線の値と、能力値のみなので、アクターの名前や職業、その他のオプションなどは、この画面で別途設定する必要があります。

以上の作業で、アクターの能力値の細かい調整が、簡単にできるようになります。詳しい使い方や使用上の注意点等は、ファイル内に書かれている説明をご覧ください。

RPGツクールVXのデフォルト仕様に準拠しているため、アクターの仕様やタイトル画面表示の仕組みなどをスクリプトで変更している場合には、正しく設定が反映されない可能性があります。エクセル編集や初歩的なVBAの知識のある方は、本ファイルを改造することで対応させられますので、その辺はご自由にどうぞ。VX Aceへの対応も、改造すれば可能だと思います。VX Ace対応版は自分でも必要なので、いずれ公開する予定ですが、まだそこまで手が着けられていません…。

質問やアドバイスなどはコメント欄まで、お気軽にどうぞ。利用条件などについては、このサイトについての「提供素材について」の項目などをご覧ください。

[ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] 乗船中使用不可スクリプト

2012-08-25 15:23:39

先日、小舟に乗っている最中にワープ魔法・アイテムを使うと、船に乗ったまま移動してしまうバグを修正しましたが、その時の副産物として、乗り物に乗っている最中は使用できなくするスキルやアイテムを作るスクリプトを公開します。VX用です。

使い方は単純で、上記スクリプトを導入し、対象となるアイテムもしくはスキルのメモ欄に、以下の指定文字列を記述するだけです。

PANDA::DisableInVehicle

私はワープ魔法・アイテムで使いましたが、他にも使い道はあるかと思います。また、全ての乗り物を対象にしていますが、飛行船だけとか、大型船だけとか、特定の乗り物に乗っている時などの判定も、簡単な改造で実現できるでしょう。

以前に公開した使用可否スイッチ制御スクリプトを用いて、並列処理で乗り物に乗っている状態を判定してスイッチをon/offする、といった方法でも実現できますが、それだけのことに並列処理を使うのも非効率なので、スクリプトにしました。

質問やアドバイスなどはコメント欄まで、お気軽にどうぞ。素材利用条件などについては、このサイトについての「提供素材について」の項目などをご覧ください。

[ 天下御免!からくり屋敷 ] [ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] [ ツクール情報 ] ステート相殺の不具合

2012-07-01 21:13:46

天下御免!からくり屋敷』のデバッグ作業中に、RPGツクールVXのプリセットスクリプトの不具合と思われる部分を発見しました。

戦闘中、防御力など変化していないのに、なぜか「防御力が元に戻った!」というメッセージが表示されるという現象に悩まされていたのですが、その原因がVXのプリセットスクリプトの不具合にあるらしいことが判明しました。Game_Battlerクラスのadd_stateメソッドで、ステートが相殺された場合にも、自然解除のターン数が設定されてしまっているのは、おかしいですね。新規プロジェクトで試してみても、同様の現象が起きました。

ちょっと検索してみた限りでは、あまり話題になっていない模様ですね。ただ、話題が皆無ではなかったので、不具合には違いないのでしょう。Scene_Battleクラスのremove_states_autoモジュールを見ると、実際のステートに変化が起きない場合は、ステート解除のメッセージが表示されることはないため、簡単にはこの不具合が発覚しないようですし、余計なメッセージが表示される以外には特に実害がないので、放置されているのでしょうか…。

というわけで、修正するスクリプトを作ってみました。Game_Battlerクラスのadd_stateメソッドに追加定義していますので、ここに手を加えている場合は競合に注意してください。

一応、能力値の上昇・低下に関わるステート相殺では、上手く動いている模様ですが、綿密なテストは行っていないので、いろいろな形でステートの相殺を応用しているような場合に、不備があるかもしれません。もし上手く動かないような場合には、コメント欄等にてご報告いただけると、ありがたいです。

[ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] 付加ステート発動確率設定スクリプト素材

2011-05-04 02:55:48

小さな大冒険」で使用しているRGSSスクリプトを、素材として提供していくシリーズ、第7弾。

RPGツクールVXでは、武器に「付加するステート」が設定でき、これで攻撃と同時に敵をマヒさせたり、混乱させたりといった武器を作ることができます。しかしながら、ステートの成功確率は相手のステート有効度のみに依存するため、デフォルトのCで60%の成功確率となり、ちょっと強力すぎる気がします。

そこで、付加ステート攻撃の発動確率を指定できるスクリプト素材を用意しました。

上記スクリプトを導入して、対象となる武器のメモ欄に、以下の指定文字列を記述します。

PANDA::StateProbability = n%

nには発動確率が入ります。なお、%を忘れずに付けてください。

例えば「PANDA::StateProbability = 50%」とすると、設定した付加ステートが50%の確率で発動します。したがって、対象者のステート有効度がC(60%)であれば、50%×60%=30%の確率でステートにかけることができます。

Game_Actorクラスのplus_state_setメソッドを再定義していますので、ここを改造しているスクリプトを導入している場合は、競合にご注意ください。

質問やアドバイスなどがあれば、コメント欄までお気軽にどうぞ。素材利用条件などについては、このサイトについての「提供素材について」の項目などをご覧ください。