【RGSS3】小ネタスクリプト改造04
執筆者:神凪洸
- 更新:2024/06/01 「茂みの不透明度を変更したい!」
全てVXAce(RGSS3)の小ネタっす。
この記事では ■MAP画面系 を集めてあります。
変更する箇所は、その部分をコピペしてコメントアウトして取っておき
どこを変更したかわかりやすいよう、 #記号などで目印をつけておくと便利っすよ!
■MAP画面系
◆MAPのBGM自動切り替えを一時的に停止したい!
Game_Mapの●BGM/BGS自動切り替え を探しましょう。
def autoplay
@map.bgm.play if @map.autoplay_bgm && !$game_switches[id]
@map.bgs.play if @map.autoplay_bgs && !$game_switches[id]
end
とすれば、指定したスイッチをONにした時だけ、 機能を停止し
すでに再生している音楽を引き継げるっす。
◆ピクチャ回転の速度が早すぎ、もっとゆっくりにしたい!
Game_Pictureの●回転の更新 を探しましょう。
@angle += @rotate_speed / 2.0 の数値を大きくすれば、ゆっくり回す事が出来るっすよ!
◆床ダメージの基本値をどうにかしたい!
Game_Actorの●床ダメージの基本値を取得 を探しましょう。
return 10 の数値を変更するだけっす。
if文を使用すれば、複雑に設定出来るっす。
難易度で変わる、アクターレベルが高ければ高いほど変わる……など。
例: return 10 + @level * 2 if @level <= 10 #レベル10までは、10+現在のレベル*2のダメージ
return 80 + @level * 5 if @level >= 11 and @level <= 20
#レベル11~20までは、80+現在のレベル*5のダメージ
return 350 + @level * 5 if @level >= 81 and $game_variables[3] == "ノーマル"
#レベル81以上且つ難易度がノーマルだった場合、350+レベル*5のダメージ
◆スリップ/床ダメージのフラッシュが眩しい!or色を変えたい!
Game_Screenの●フラッシュの開始(毒・ダメージ床) を探しましょう。
start_flash(Color.new(255,0,0,128), 8)
の数値を変えるだけっす。
start_flash(Color.new(赤,緑,青,不透明度), 表示フレーム) となってるっす。
◆会話中でも並列イベントを作動し続けたい!
Game_Interpreterの96行目辺りの●実行 を探しましょう。
wait_for_message をコメントアウトするだけっす!
さらに応用!!ヽ(`Д´)ノ
if文を使用し、特定条件の時だけ効果を無効にするなども出来るっす。
◆茂みの半透明範囲を変えたい!
Game_CharacterBaseの●茂み深さの更新 を探しましょう。
@bush_depth = 8 unless moving? の数値を変えるだけっす。
さらに応用!!ヽ(`Д´)ノ
@bush_depth = $game_variables[id] unless moving?
とする事で、指定変数の数値分が半透明範囲になるっす。
草むらと水辺で使い分ける……等が出来るっすね!
◆茂みの不透明度を変更したい!
Sprite_Characterの●その他の更新 を探しましょう。
self.bush_depth = @character.bush_depth の下に
self.bush_opacity = 0 #(不透明度を指定する任意の数値)
を追加するだけ!
0=透明 255=不透明っす。場合によって変更したい時は
$game_variables[id]を入れると変数の値で不透明度を変化させられるぞ!
◆フキダシアイコンの表示速度が遅い!
Sprite_Characterの●フキダシアイコンの表示速度
●フキダシ最終フレームのウェイト時間 を探しましょう。
数値を変えるだけっす。すぱすぱと進行させたいときは、数値を小さくすればいいっすね!
◆常時ダッシュさせたい!
Game_Playerの●ダッシュ状態判定 を探しましょう。
return Input.press?(:A) を
return !(Input.press?(:A)) に変更する事で、ダッシュキーの判定が逆になるっす。
◆天候で嵐とかにした時、強くすると暗すぎる!
or最大にしてもなんか弱い!
Spriteset_Weatherの●スプライトの最大数を取得 ●暗さの取得 を探しましょう。
数値を変えるだけっす。
スプライトの方は、数値を大きくし過ぎると重くなるので注意。
◆天候で吹雪を表現したいのに、それっぽくない!
Spriteset_Weatherの●スプライトの更新[雪] を探しましょう。
sprite.x -= 1
sprite.y += 3 をコメントアウト。
sprite.x -= $game_variables[n]
sprite.y += $game_variables[m]
としましょう。 指定した変数の値によって、動きを変えられるっす。
天候を変える直前に変数に代入しておきましょう。
xを-3 yを6とすると、嵐と似たような感じになり、吹雪っぽくなるっす。
◆遠景がループ設定してないのに同期せず動く!
不具合修正としてよそでスクリプトが配布されていますが、
既存部分を変えるだけで出来るのでご紹介。
Game_Mapの●遠景表示の原点 X 座標の計算 と
遠景表示の原点 Y 座標の計算を探しましょう。
@parallax_x * 16 * w1 / w2 と @parallax_y * 16 * h1 / h2 の
16を32に変えるだけっす。
これで遠景がちゃんとプレイヤーと同期するようになるっす。
◆遠景をイベントの途中で変更したい!
改造ではないですが、遠景ついでに便利なものをご紹介。
イベントコマンドのスクリプトに
$game_map.instance_variable_set(:@parallax_name,
"ファイル名")
で表示遠景を変更できるぞ。
遠景を非表示にしたい場合はファイル名をいれず""だけにすることでできるっす。
$game_map.instance_variable_set(
:@parallax_sx,n)
で横ループの指定ができるぞ。停止させる場合は0をいれよう。
同じく縦ループさせたい時は:@parallax_sx を :@parallax_sy にするだけ。
遠景MAPでも列車内の背景に遠景を使う時でもこれを使うと便利だ!!
0コメント