【VX Ace/RGSS3】 エネミー行動ちょっと賢く2012/03/23 01:06:25

VX Ace/RGSS3
Ver 0.32

敵の行動をほんのちょっとだけ賢くします。
いや、間抜けかも知れませんが(笑)

本来、データベースでエネミーの行動を指定する際の条件は、
そのエネミーがどのような状態か、です。
HP20%~60%などのように指定すると、そのエネミーのHPを参考にします。
このスクリプトでは、それを敵の味方(Troop)全体で判断します。
HP20%~60%のように指定すると、敵グループ内で該当者がいないかを探し、
いればその行動を、その該当者に対しておこなうようになります。
ただし、その行動をおこなうのは次のターンです。

まだまだいろいろ問題があるかも知れません。
詳細はスクリプトおよびサンプルをご覧ください。

スクリプトに長けていらっしゃる方が見ると、
なんだこの下手な作り方は! って思うかも知れません(´▽`;)

スクリプト
http://web-friend.net/rgss3/moo_rgss3_enemy_clever_action.txt

サンプル
http://web-friend.net/rgss3/moo_rgss3_enemy_clever_action.zip

ヒストリー
2012/03/23 本体 Ver0.08 公開
2012/03/25 本体 Ver0.25 公開
         少々改造
2012/03/25 本体 Ver0.32 公開
         ステート条件を少々修復

2012/07/08 もっといいスクリプトを作成しました。
http://moomoo.asablo.jp/blog/2012/07/08/6504362

【VX Ace/RGSS3】 エネミーアニメーション2012/03/21 00:05:18

まずはじめに。
これはSupponの意味不明ブログ様のサイトで公開されている、
「動くエネミー」という、RGSS2のスクリプトの改造版です。
VXでアニメーションするよう改造し、さらにそれをRGSS3化したものです。
なのでバージョンなども付与していません。
RGSS2版もありますが、公開しません。
また、この素材に関しては、再配布絶対禁止です。

Suppon様より、本サイトコメントより掲載の許可を頂きましたので、
このまま継続して掲載させていただきます。
寛容なお心、大変ありがとうございました。

というわけでスクリプト。
エネミーをゆらゆら動かすのはSupponの意味不明ブログ様の機能、
そこから派生させ、エネミーをアニメーションさせます。

具体的には、キャラチップのように3段階に分けて、
指定したフレームごとにアニメーションさせます。
またアニメーション中にSEを鳴らす事もできます。
それにより、羽ばたきなどの演出が可能です。

最大の難点は、敵キャラ画像を3枚用意しなければならない事です。
私には絵を描く技術、編集する技術がありません(せいぜい色換え)。
なのでテストでは、キャラチップを敵キャラ画像として保存し、使っています。
これもダメな行為であれば、この記事はすぐ消すかも知れません。

ちなみに画像変更時にバグがあり、それを修正したら
「ゆらゆら動く」が動作しなくなりました。
186行目をコメントにしたためですが、手直しはゆっくり考えます。

スクリプト
http://web-friend.net/rgss3/rgss3_enemy_animation.txt

サンプル
http://web-friend.net/rgss3/rgss3_enemy_animation.zip


また、First Seed Material様の掲示板にご要望があり、
それに対応した改造版も作成しました。
こちらは画像1~3を繰り返すのではなく、いくつでも画像を追加できます。
一定画像のループではない場合にお使い下さい。
ただ、設定や素材収集が面倒になってくると思います。ご了承下さい。

スクリプト
(下記修追加版を作成したため、こちらは削除します)

サンプル
(下記修追加版を作成したため、こちらは削除します)


さらに、上記要望の追加版を掲載します。
これはスキルごとにアニメーションの設定が可能です。
ただし「ゆらゆら動く」が正常に動きません。
原因は分かっていますが解決法が浮かばない状況ですので、
時間がある時にのんびり手直ししていきます。
設定が長くなるので、スクリプトを分離しました。

スクリプト
[設定]
http://web-friend.net/rgss3/rgss3_enemy_animation_renew2_custom.txt
[本体]
http://web-friend.net/rgss3/rgss3_enemy_animation_renew2_program.txt

サンプル
http://web-friend.net/rgss3/rgss3_enemy_animation_renew2.zip

【VX Ace/RGSS3】 並び順による狙われやすさ設定2012/03/18 00:43:25

VX Ace/RGSS3
Ver 1.0

パーティーの並び順によって、狙われやすさの率を変えます。
例えば元々の狙われ率が80%のキャラに、本スクリプトで70%を設定すると、
ゲーム内では56%として判断されます。

わざわざスクリプトにしなくてもできるよ! っていう場合は教えてください(´▽`;)

スクリプト
http://web-friend.net/rgss3/moo_rgss3_tgr_rate.txt

サンプル
http://web-friend.net/rgss3/moo_rgss3_tgr_rate.zip

ヒストリー
2012/12/30 設定記述例を訂正。
         コメントにある通りです...。

【VX Ace/RGSS3】 重量制2012/03/15 22:41:26

まず、このスクリプトを使用するには、次のスクリプトが必要です。
http://xgtw.uzusionet.com/rgss/moo_rgss3_main.txt
これを、重量制よりも上に置いて下さい。

VX Ace/RGSS3
重量制 Ver 1.21

アイテムに重量を付加し、所持可能な重量を指定できます。

★簡単な仕様★
 ・ゲームに重量を設置します(容量などに変更しても構いません)。
 ・設定した総重量以上の物は持てません。
 ・チェックコマンドにて、イベントで入手可能チェックができます。
 ・戦闘後のドロップアイテムは、持てる分だけ出ます。
   →3個出た場合、最初の2個は持てるけれど残りが持てない場合、
     2個分だけメッセージが出ます。入手も2個だけです。
 ・重量オーバーの場合、店で購入ができません。
 ・イベントでアイテムの増加をおこなう場合にもチェックが入ります。
   →メッセージは出ません。例えば5個入手で持てるだけ入手したい場合、
    5個いぺっんに入手ではなく、1個入手を5回分作って下さい。
    5個いっぺんに入手する場合、5個持てなかったら1個も入手できません。

★チェック機能★
 イベントでアイテムを入手する時、重量オーバーになると取得できません。
 イベントのスクリプトで、以下のように記述すると動作する機能があります。
 ※Ver1.14で数量チェックを加えました。個数オーバーでもチェックを入れます。

 can_gain_item?(アイテム種類, ID, 数量, スイッチ番号, [取得フラグ])

  [アイテム種類]
   アイテム="I"、武器="W"、防具="A"
  [ID]
   上記アイテム種類別のID ("W",3...) なら武器ID3
  [数量]
   取得する数量
  [スイッチ番号]
   入手できる場合はON、できない場合はOFFが入るスイッの番号
  [取得フラグ]
   ついでに取得するか(true/false)

 アイテム種類は必ず""で囲って下さい。I、W、A以外のチェックしていません。
 数量が0の場合のエラーチェックはおこなっていません。
 アイテム種類、ID、数量、スイッチ番号は必須です。
 スイッチを使わない場合は、0にしておいて下さい。
 取得フラグをtrueにしておくと、取得可能時には自動でアイテムを入手します。
 falseまたは何も記述しなかった場合は取得しません。
 またスイッチに入れなくとも、返り値でtrueかfalseが戻ります。

★注意点★
 ・ゲーム開始時に、基本重量を設定して下さい。
 ・初期装備によって、総重量がオーバーしている場合があります。

スクリプト
http://web-friend.net/rgss3/moo_rgss3_weight_main.txt

サンプル
http://web-friend.net/rgss3/moo_rgss3_weight_main.zip

また、以下のスクリプトを導入した場合に対応させるプラグインもあります。

tamuraさんは遊び足りない様の「ウィザードリィ風ショップVXAce」
http://web-friend.net/rgss3/moo_rgss3_weight_plugins1.txt

Code Crush様の「アイテム捨てる」
http://web-friend.net/rgss3/moo_rgss3_weight_plugins2.txt

RGSS研究所様の「アイテムスティール」
http://web-friend.net/rgss3/moo_rgss3_weight_plugins3.txt

組み込む順番は
  [むー素材用]
  [重量制本体]
  [各々方のスクリプト]
  [プラグイン]
としてください。
各々方のスクリプト・プラグインの順番は、そのタイプごとの中では自由です。

プラグイン込みのサンプル
...は素材の再配布になりかねませんので、やめておきます。

ヒストリー
2012/03/15 本体 Ver1.00 公開
2012/03/17 プラグイン1~3 各 Ver1.0 公開
2012/03/18 本体 Ver1.13 プラグイン2 Ver1.1
         少々alias化
         アイテム使用時に総重量の変動がなかったバグを修正
2012/04/24 本体 Ver1.14
         取得チェックに数量チェックを追加
2012/04/28 プラグイン1 Ver1.10
         価格が0のものでも販売(預け入れ)出来る機能を追加。
2012/07/15 本体 Ver1.15
         アイテム販売が可能/不可能の判断を追加。
         <重量制販売不可> とメモ欄に入れればOK。
          [既存スクリプトからの変更方法]
           115行目~119行目を追加。
           「★ ここより下は変更しないで下さい。 」の記述より
           下を全て入れ替え(上書きコピペでOK)。
         プラグイン1 Ver1.10
         本体改良に伴いプラグインも改良。
         価格が0のものを預けられるようにするかどうかのスイッチ
         がOFFの場合に、今回の機能が有効になります。
          [既存スクリプトからの変更方法]
           48行目以下を全て入れ替え(上書きコピペでOK)。
2012/07/20 本体 Ver1.16・プラグイン1 Ver1.21
         販売可能の表示方法でバグがあったので修正。
         アイテム、武器、防具の判断が抜けていました。

2012/07/31 プラグイン1 Ver1.3
         アイテムの価格に所持金が満たない場合、
         預かり所化させた時に引き出せないバグを修正。

2012/12/21 本体 Ver1.20
         CONT_WT = false (装備品を重量に含めない設定) かつ、
         「総重量 + 外す装備の重量」が総重量を超えていた時、
         交換できなかった不具合を修正しました。
         つまり「これから装備する物の重量」が未考慮でした...。

2012/12/30 本体 Ver1.21
         ショップで購入を選択した時、商品一覧へ
         カーソルが移らなかった不具合を修正しました。

2013/02/26 プラグイン1 Ver1.31
         何も預けていないときに引き出そうとすると
         エラーが出る現象を修正しました。

【VX Ace/RGSS3】 禁止名設定2012/03/15 08:02:28

VX Ace/RGSS3
Ver 1.1

ドラクエ3でロトという名前が付けられないように、
付けられない名前の設定をします。
イベントで名前入力の時、禁止名を付けると、指定スイッチをONにします。

スクリプト
http://web-friend.net/rgss3/moo_rgss3_cant_name.txt

サンプル
http://web-friend.net/rgss3/moo_rgss3_cant_name.zip

【VX Ace/RGSS3】 パラメータ上限チェック2012/03/15 07:57:42

VX Ace/RGSS3
Ver 0.80

ドラゴンクエスト(以下DQ)のように、
パラメータを基本と装備品分とで分けて考えます。
その上で、パラメータの上昇が可能かをチェックするスクリプトです。
VX Aceのパラメータは、基本とプラス値(装備品+別途上昇値)となっており、
装備品の上昇値だけを引いたパラメータがないので作成しました。

[例: DQの力と攻撃力]
力は255までです。それが設定のMAX_STATUS(この場合ATK)です。
253で力の種(上昇値1~3)を使っても、上昇限界値は2です。
表示はどうであれ、実際に3は上がりません。
力255で装備品の攻撃力総計が150の場合、攻撃力は255+150の405です。
それでバイキルトを使えば、たぶん810(?)です。
それが設定のMAX_GENERALです。
  a = 基本パラメータ(力)
  b = 別途上昇値(アイテムやイベントなどでの上昇)
  c = 装備品の上昇値
  d = 攻撃力
とすると、DQでは
  x = a + b (x <= 255)
  d = x + c
となっています。ですがAceでは、
  x = a (スクリプト内ではparam_base)
  y = b + c (スクリプト内ではparam_plus/装備を外すとbだけになる)
  d = x + y
となっており、装備品を持たない場合の最大値(a + b)が算出できません。
AceでDQの種のようなアイテムを作りたい場合、計算するのが少々厄介です。
それは、上限値が装備品込みの値であり、基本値の限界がないからです。
そのために本スクリプトを作成しました。ああ、ややこしい(笑)
要は a + b を算出するために d - c を計算するスクリプトです。

スクリプト
http://web-friend.net/rgss3/moo_rgss3_param_max.txt

サンプル
http://web-friend.net/rgss3/moo_rgss3_param_max.zip

【VX Ace/RGSS3】 特定の装備品を装備した時に音2012/03/15 07:49:31

VX Ace/RGSS3
Ver 1.0

ドラクエにあるような「呪いの装備をすると不気味な曲が流れる」を作れます。

スクリプト
http://web-friend.net/rgss3/moo_rgss3_equip_sound.txt

合わせて First Seed Material 様のRGSS3リクエスト板の
「固定装備のスプリクトをお願いします。 」
にあるスクリプトを使えば、ホントにもう呪いの装備のできあがりです。

【VX Ace/RGSS3】 敵の能力変更2012/03/14 22:56:26

VVX Ace/RGSS3
Ver 0.7

敵の強さに「味方の強さ」の値を加算します。加算できるパラメータは、
最大HP、最大MP、攻撃力、防御力、魔法力、魔法防御、敏捷性、運です。

使いようによっては、アクターのコピーを敵にできます。
いやまあ、そのために作りました。

詳細はスクリプトの説明をご覧ください。

スクリプト
http://web-friend.net/rgss3/moo_rgss3_enemy_param.txt

サンプル
http://web-friend.net/rgss3/moo_rgss3_enemy_param.zip

【VX Ace/RGSS3】 戦闘不能ステート作成2012/03/14 22:49:26

VX Ace/RGSS3
Ver 1.1

戦闘不能ステートは、基本スクリプト内でステート番号1に限られています。
ステート番号1のコピーを2以降に貼り付けても、
それは戦闘不能としてとらえてくれません。
しかし、戦闘不能の種類が複数あり、
それぞれのセリフを違うものにしたい場合もあります。
そんな時はこのスクリプトです。
(ドラクエでも、倒した、息の根を止めた、砕け散った、急所を突いた、などあります)

使い方: ステートのメモ欄に「一撃死」と入れてください。「」は不要です。
蘇生時、念のため解除対象にこのステートも含めてください(未テスト)。

わざわざスクリプトにしなくてもできるよ! っていう場合は教えてください(´▽`;)

スクリプト
http://web-friend.net/rgss3/moo_rgss3_ichigeki.txt

サンプル
http://web-friend.net/rgss3/moo_rgss3_ichigeki.zip

ヒストリー
2012/03/18 Ver1.1 alias化

一撃死という語句を使っていましたが、必ずしもそうではないので、
記事内の語句は戦闘不能という文字に置き換えました。
でもスクリプトの中は変わっていません(´▽`;)