スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

【RGSS2】光るモンスター1.01 図鑑対応

ver1.01 処理軽量化 設定項目TIMEを追加 <color=>を整数のみに 範囲内変化を追加 拡張「光るモンスター図鑑対応」を追加

戦闘時に敵画像の色相を変更させ続けます。
イメージはデータベースの敵グラフィック設定で色相をマウスでぐりぐり動かしてる時の感じです。

敵キャラのメモ欄に<color=11>などと入れてください。
設定項目TIMEのフレーム経過ごとにcolorの値が色相に加算されます。
色相は0から360で一周なので、colorには1から359の整数を入れてください。

・ver1.01新機能 範囲内変化
メモ欄に<color=11>などの代わりに
<color=11, 50>などと入れると「0~50までの範囲」を11刻みで色相変化します。
元の色相が120の敵なら、120から11ずつ上がり、170を超えると11ずつ下がって、120~170を行き来します。

RGSS2_光るモンスター1.01

<拡張>光るモンスター図鑑対応
RGSS2_光るモンスター図鑑対応
モンスター図鑑の画像も光らせます。
Kamesoft(KGC)様と白の魔様のモンスター図鑑に対応しています。

※1秒間に60÷TIME回(つまり最高60回)も色調変更するので、colorを22とか31とか大きい値にすると画像によってはかなりギラギラします(Ifritなど)。colorが大きい値でもGargoyleやAssassinなど白黒系の画像ならギラギラしません。

【VXAce版はこちら】
スポンサーサイト

【RGSS2】戦闘アニメ演出強化1.02

戦闘アニメの演出を拡張します。
対象の敵を 座標移動・拡大率変更・左右反転・回転 ができます。
また、「対象以外の敵を透明化」の演出もできます。
「画面の中心」を基準とした敵の座標操作もできます。

このスクリプトを利用して設定したアニメーションを、アニメーション素材としてプロジェクト配布するのは許可します。
(その場合も著作権表記をしてください)

戦闘アニメ演出強化1.02
Ace版はこちら【RGSS3】戦闘アニメ演出強化1.03

ver1.00説明
ver1.01説明
ver1.02説明
コマンドまとめ

【RGSS2】BOF風スキル スーパーコンボ

ブレスオブファイアのスーパーコンボのようなスキルを作成します。

画面に表示されるキーを入力していき、制限時間内に入力できた回数だけ敵に連続攻撃できます。
サンプル画像
入力時間、表示されるキー、攻撃の威力などを設定可能です。

BOF風スキル スーパーコンボ

説明
これを読む前に、実際に使ってからのほうが分かりやすいと思います。
スキルを2つ作成し、それぞれメモ欄に
<SUPER_COMBO,1> <SUPER_COMBO,2>
と書き込んで使用してみてください。

【RGSS2】転職・変身用スキルリセット

職業の変更をしてもキャラクターの習得スキルはそのままで、変更後の職業のスキルはそれ以降のレベルアップでしか習得できません。
条件分岐で覚え直させるのは面倒なので、コマンドで出来るようにしてみました。

一度全てのスキルを忘れてから職業とレベルに合わせて習得し直すことができます。
職業変更後のキャラクターに対して使えば、習得スキルは新しい職業のものに入れ替わります。
レベルダウンさせた時にも使えます。

転職・変身用スキルリセット

対象のキャラクターはIDで指定してください。
コマンド(イベントコマンドのスクリプトで使用)
skill_reset(id)
指定したidのキャラクターのスキルを全て忘れさせ、習得させ直すコマンドです。
skill_reset_learn(id)
忘れる処理は無く、新しく習得するだけのコマンドです。

設定項目
NO_RESET_SKILL = [1,2,3]
指定したIDのスキルはskill_resetコマンドでは忘れなくなります。

【小ネタ】防御力と精神力

スキル、アイテムの防御力と精神力によるダメージ軽減は、物理関係度と精神関係度を利用しています。
物理関係度が100なら通常通り「防御力×2」の軽減ですが、物理関係度が10なら「防御力×2÷10」20%の軽減です。
デフォルトデータのファイアのように精神関係度が30なら「精神力×1×30/100」つまり精神力の30%です。
少ないです。これでは精神力を上げてもなかなか魔法ダメージは減りません。100上げてもたったの30ダメージです。
まあそれはそういうバランスでいいように作るなら問題ないんですが、個人的に違和感を覚えたので。

Game_Battlerの657行目から。
  def make_obj_damage_value(user, obj)
    damage = obj.base_damage # 基本ダメージを取得
    if damage > 0 # ダメージが正の数
      damage += user.atk * 4 * obj.atk_f / 100 #打撃関係度: 使用者
      damage += user.spi * 2 * obj.spi_f / 100 # 精神関係度: 使用者
      unless obj.ignore_defense # 防御力無視以外視以外
        damage -= self.def * 2 * obj.atk_f / 100 # 打撃関係度: 対象者
        damage -= self.spi * 1 * obj.spi_f / 100 # 精神関係度: 対象者
      end

damage -= self.def * 2 * obj.atk_f / 100が問題です。
受け側の防御力 × 2 × スキルの物理関係度÷100 をダメージから減らすことになっています。
というわけで、これとこの下の行を頭に#をつけてコメントアウトして、別の式を入れてやりましょう。
        damage -= self.def * 2 if obj.physical_attack
        damage -= self.spi * 1 unless obj.physical_attack
さっきの2行の代わりです。
physical_attackというのは物理攻撃。つまり
物理攻撃ならば、防御力の2倍を引く 物理攻撃でない(精神攻撃)ならば、精神力の1倍を引く
となります。これでそれっぽくなりました。

self.spi * 2にしてやれば精神力の2倍を引くようになって、さらに魔法ダメージを減らせるようになります。精神力のありがたみが増します。

【小ネタ】アイテムドロップ率

手に入ったら超ラッキーみたいな感じで1/400とか1/1000とかのドロップアイテムを作りたいと・・・思った人がいるかどうかは分かりませんが。

Game_Troopの235行目から251行目、
  def make_drop_items
    drop_items = []
    for enemy in dead_members
      for di in [enemy.drop_item1, enemy.drop_item2]
        ########
        next if di.kind == 0
        next if rand(di.denominator) != 0
        if di.kind == 1
          drop_items.push($data_items[di.item_id])
        elsif di.kind == 2
          drop_items.push($data_weapons[di.weapon_id])
        elsif di.kind == 3
          drop_items.push($data_armors[di.armor_id])
        end
      end
    end
    return drop_items
  end

この########の部分を
di.denominator = 400 if di.denominator == 199
とすると、ドロップ率1/199と設定したものは1/400として扱われることになります。199分の1なんて普通使わないし別にいいよね

denominatorはドロップ率、drop_items.pushというのがドロップアイテム入手です。
next if rand(di.denominator) != 0
rand(そのアイテムのドロップ率)が0でなければnext次の処理に移る。
ドロップ率が1/100ならrand(100)つまり0~99のランダムな数値が0と同値になればnextは起こらずドロップ成功です。

di.kindはアイテムの種類。1が道具、2が武器、3が防具です。

drop_items.push($data_weapons[di.weapon_id])
ドロップアイテムの配列.加える(データベース:武器[ID])
つまりそのIDの武器が入手ドロップアイテムのリストに加わります。
ここでリストに加わったアイテムが、この後の処理で「~を手に入れた!」と表示され、持ち物に入ります。

【小ネタ】エンカウント歩数算出

デフォルトではエンカウント歩数は
1~(マップで設定した歩数の2倍-1)
になってます。つまり0%~200%です。振れ幅がやたら大きいですね。

Game_Playerの195行目から200行目、
  def make_encounter_count
    if $game_map.map_id != 0
      n = $game_map.encounter_step
      @encounter_count = rand(n) + rand(n) + 1 # サイコロを 2 個振るイメージ
    end
  end

これを
  def make_encounter_count
    if $game_map.map_id != 0
      n = $game_map.encounter_step
      @encounter_count = n - n / 5 + rand(n * 2 / 5)
    end
    end
これで80%~120%になります。

$game_map.encounter_stepというのがマップで設定した歩数です。これをnに代入して計算に使っています。
@encounter_countが結果のエンカウント歩数。
歩数を30にしたと仮定して計算してみます。
rand()というのは0から「()内の数値-1」までの数をランダムで出します。

rand(n) + rand(n) + 1は
(0~29)+(0~29)+1ということです。1~59です。

で、さっきのn - n / 5 + rand(n * 2 / 5)は
30 - 30/5 + rand(30*2/5)
30 - 6 + rand(12)
24 + (0~11)
24~35です。80%~120%の値になります。

50%~150%にしたければ、
@encounter_count = n / 2 + rand(n)
15 + (1~30)
こんな感じです。

【RGSS2】属性修正値改造

属性修正値の計算を改造します。
いろいろややこしくなってますがまあそれっぽくなってるつもりです。
(それっぽくても需要があるかどうかは別問題・・・)
詳しくはスクリプト内のコメントを見てください。

属性修正値改造

2倍が2つで300%、半減が2つで25%、吸収が入っていれば2倍がいくつあろうと100%が最高値、無効や半減がいくら重なっても吸収にはならない、150%と半減なら75%、2倍2倍半減なら150%、2倍と無効なら50%
例としてはこんな感じです。中身はだいぶ面倒なことになってます。

【RGSS2】ゲームオーバー後指定位置に移動

サンプルプロジェクト
ゲームオーバーになった後、文章を表示させたりダンジョンの入り口に戻されたりといった演出が可能になります。
文章には制御文字の使用も可能です。
ボス戦の負けた場合の分岐などに。
ゲームオーバー画面の表示&音楽が流れる の後に文章が表示され、その後場所移動という風になります。
詳しくはサンプルプロジェクトを見てください。

あまり使い勝手のよくないものに仕上がった気がする。
 

【RGSS2】マップ移動してもエンカウント歩数を引継ぐ1.01

デフォルトのスクリプトでは、マップを移動するたびに新しくエンカウントまでの歩数が更新されましたが、
マップを移動してもそれまでの歩数が引き継がれるようになります。

これで小さいマップを移動しまくるような場所でもちゃんと戦闘が起こるようになります。
また、場所移動した瞬間に戦闘開始ということにはならないようにしてあります。

感覚としては、
デフォルト:マップ移動時に「エンカウントまでの歩数」を算出、「エンカウント用歩数(それまで歩いた歩数)」を0に戻す
この素材:マップ移動時に「エンカウントまでの歩数」を算出、「エンカウント用歩数(それまで歩いた歩数)」はそのまま引き継ぐ
エンカウント用歩数=エンカウントまでの歩数 になればエンカウント
という感じです。

「エンカウント用歩数」を初期化するには、イベントコマンドのスクリプトで
$encount_new_flag = true
と入れてください。ダンジョンの入り口など。これを忘れるとダンジョンに入って一歩歩いただけで戦闘になったりします。

ver1.01更新 不具合修正テスト
マップ移動してもエンカウント歩数を引継ぐ1.01
 
about
管理人:トリス

RPGツクールVX、VXAceのスクリプト素材を作ってます。
VXAceはATBやテストプレー高速化、VXはひきも記様のSRPG2拡張、アクション拡張 などがあります。

簡易利用規約
素材を使用した作品に著作権表記(このブログの名前)をお願いします。

作品公開時の利用報告は任意です。

サポート,リンク,共同制作などその他の詳しい規約はこちら
カテゴリ
リンク
ゲーム紹介
協力したゲームとか素材利用してくれたゲームとか

アスガル騎士団
アルカナリッター
 (VX)SRPG
 作品ページ  DLページ

チキチキボーンの骨
TimeLeaper -タイムリーパー-
 (VXAce)ATB
 作品ページ  DLページ
明日へのデュナミス
 (VXAce)ATB_XP
 作品ページ  DLページ


レンガの創作小屋
Dimension Warriors 間章
 (VXAce)
 作品ページ

なかぱー更新記
CRYSTALDestiny
 (VXAce)ATBサイドビュー
 DLページ
リンク用バナー

リンクフリーです。相互リンクは受け付けていません。
画像への直リンクは禁止です。
アクセスカウンター
リクエスト・質問掲示板
最新記事
月別アーカイブ
最新コメント
RSSリンクの表示
検索フォーム
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。