【RGSS3】小ネタスクリプト改造01
執筆者:神凪洸
全てVXAce(RGSS3)の小ネタっす。
この記事では ■タイトル系 ■システム画面系(メニューなど)を集めてあります。
※2024/04/10修正更新 ◆システムとかHPとかの文字色を変えたい!!
変更する箇所は、その部分をコピペして
コメントアウトして取っておきどこを変更したかわかりやすいよう、
#記号などで目印をつけておくと便利っすよ!
■タイトル系
◆タイトル画面での決定音を通常とは別に設定したい!
Scene_Titleの●コマンド[ニューゲーム]、[コンティニュー]
[シャットダウン] を探しましょう。
それぞれ「def command_new_game」「def command_continue」
「def command_shutdown」の下に
Audio.se_stop
Audio.se_play("Audio/SE/ファイル名", 音量, ピッチ) と追加。
これでデータベースに設定しているSEではない別のSEを再生出来るっす。
ちなみに音量、ピッチは データベースで弄れる範囲以上の数値にも出来るっすよ。
さらに応用!!ヽ(`Д´)ノ
再生するSEを複数記述する事で、手軽にSEの組み合わせ再生が出来るっす!
上手い組み合わせを見つけて、かっこいいSEを作り出そう!
◆タイトル画面で使用する各SEを変更したい!
まず、データベースにはタイトル画面用のSEに設定しておくっす。
Scene_Loadの●ロード成功時の処理 を探しましょう。
$game_system.on_after_load の下に
$data_system.sounds[0].name = "カーソル"
$data_system.sounds[0].volume = 100
$data_system.sounds[0].pitch = 100
$data_system.sounds[1].name = "決定音"
$data_system.sounds[1].volume = 100
$data_system.sounds[1].pitch = 150
$data_system.sounds[2].name = "キャンセル"
$data_system.sounds[2].volume = 100
$data_system.sounds[2].pitch = 100
といれるっす。
また、ニューゲーム時はScene_Titleの●コマンド[ニューゲーム]の
SceneManager.goto(Scene_Map)の下に同じく上記のスクリプトを入れて下さいっす。
◆ニューゲーム開始時、
タイトルBGMをそのまま引き継ぎたい!
同じくScene_Titleの●コマンド[ニューゲーム]を編集するっす。
fadeout_all
$game_map.autoplay の2箇所をコメントアウトする事で引き継げるぞ!
◆ニューゲーム開始と同時にスイッチON!!
ニューゲームしてから、イベントでスイッチをONにすると不都合がある時。
極稀っすけど、たまーにあったりしちゃいます。
また、イベントじゃなくてスクリプトで色々設定とか代入しておきたい!!
などでも使えるっす。
DataManagerの96行目あたりにある ●ニューゲームのセットアップ を探しましょう。
create_game_objects の下に
$game_switches[n] = true
と追加することでニューゲーム開始と同時に指定スイッチがONになるっす。
スイッチだけでなく、変数の代入なども可能。
◆ロードと同時にスイッチON!!
DataManagerの170行目あたりにある ●ロードの実行(例外処理なし) を探しましょう。
reload_map_if_updated の下に
$game_switches[n] = true
と追加することでロードと同時に指定スイッチがONになるっす。
スイッチだけでなく、変数の代入なども可能。
◆セーブファイルの数を変えたい!
DataManagerの123行目あたりにある ●セーブファイルの最大数 を探しましょう。
数値を変えるだけっす!!
あんまり増やすとよくないことが起こる。(と思う)
1つにして、ドキドキヒヤヒヤ後戻りはデキナイなんてゲームには
もってこいかも……?
◆コマンドウィンドウを非表示にしたい!
Window_TitleCommandの9行目あたりにある ●オブジェクト初期化 を探しましょう。
self.openness = 0 の下に self.opacity = 0 を追加するだけっす。
コマンドウィンドウの画像自体をタイトル画像に入れた時などに使えるっすね!
■システム画面系
◆画面サイズを大きくしたい!or小さくしたい!
▼モジュールの上のスクリプトに
Graphics.resize_screen(640, 480) といれるだけっす。
これがAceでの最大画面っす。素材をいれなくて済む!!
ただし、ある程度作ってしまってからのサイズ変更はおすすめしない……
◆フォントを変えたい!
▼素材 VXAce_SP1の下ならどこでもいいので、
Font.default_name = "フォント名" #フォント変更
Font.default_size = 16 #フォントサイズ変更
Font.default_outline = true #縁取り変更(デフォルトはtrue)
をいれるだけっす。
元々入ってるフォントを使う場合なら、これで充分っすね!
◆システムとかHPとかの文字色を変えたい!!
直接、ウィンドウスキン画像の色マスを変える手もありますが
スクリプト側でも可能っす。
Window_Baseの154行目あたりにある ●各種文字色の取得 を探しましょう。
ズラッとありますねー。それの数値を変えることで色を変えることができるっすよ。
数値は、ウィンドウスキンのこの部分の番号のことっす。
※メニュー画面改造など、再定義されていたりすることがあるので
スクリプト欄で検索し、導入している方を変更しましょう。
さらに応用ヽ(`Д´)ノ
「normal_color」「system_color」など defの次に書かれているもので検索すると、
他のスクリプトをいれていても文字色を変えることができるぞ!!
メニュー画面でのHPの色と戦闘画面でのHPの色が違う、統一したい!!って時は
検索するのだ!!!
因みに・w・
検索は、スクリプト欄(左側の奴)で右クリックすると検索っていう項目が出るので
それで調べることができるぞ!
また、そのスクリプト内で検索(右側のスクリプトを記入する方)で検索する事もできるぞ!
やり方は同じく右クリックだ!
◆文字を一段階大きく(小さく)したいけど、
デフォルトだとでかく(小さく)なりすぎる!!
もしくは、フォントの最大をもっと大きく(小さく)したい!って時。
Window_Baseの328行目あたりにある ●フォントを大きくする を探しましょう。
+= 4 の数値を変えることで、段階の幅を変えることができるっす。
<= 64 の数値を変えることで、最大サイズを変えることでできるっす。
同じく、●フォントを小さくする の数値を同じように変更することで
小さくなる時の幅と最小サイズを変更可能。
※数値は全て、2の倍数にしておいた方が無難。
◆アクターの説明欄を改行したい!!
デフォルトでは2行っすけど、何か別のスクリプトをいれて
何行でも書ける時にスクリプトによっては、これがないせいで困った!
なんてことがあるっす。
その時に使えるかもしれない改造。
Window_Baseの224行目あたりにある ●制御文字の事前変換 を探しましょう。
result.gsub!(/\eG/i) { Vocab::currency_unit } の次の行に
result.gsub!(/\en/) { "\n" }#改行追加
を追加するだけっす!!
これで、データベースのアクター説明欄に記入するタイプでも
改行させたい文末に\nを記述することで、改行ができるようになるっす。
◆フェードイン・アウトの速度を変えたい!
同じく、Game_Mapの●フェードアウト速度の取得
●フェードイン速度の取得を探しましょう。
数値を変える事で、早くしたり遅くしたり出来るっす。
すぱすぱと切り替えしたい人は、数値を小さくすればいいっすね。
また、さらに下の●タイトル画面遷移用フェードアウト速度も小さくする事で、
スムーズに遷移させる事が可能っす。
◆アイテムの最大所持数を変えたい!
Game_Partyの●アイテムの最大所持数取得 を探しましょう。
数値を変えるだけっす。
あんまり多くし過ぎると、重くなるので注意。
◆所持金をもっと多く獲得出来るようにしたい!
同じく、Game_Partyの●所持金の最大値を取得 を探しましょう。
数値を変えるだけっす。
■メニュー画面のステータス系
以下から画面改造系スクリプトをいれている人でも
なにかのヒントにはなるだろう改造法をズラズラと。
※スクリプト素材によって記述法も変わってくるので、それっぽいのを探して
弄ったりしてみよう。
◆簡易ステータス表示の改造
Window_Base 524行目あたりの ●シンプルなステータスの描画 を探しましょう。
それぞれ、draw_actor_nameやlevelなどがあるっすね。
ここから、必要のないものをコメントアウト。
そうすると、スキル画面などに表示されるステータス部分の表示を
変更できるっす。
MPはいらないんじゃヽ(`Д´)ノって時は、MPの行をコメントアウトっすね。
◆能力値削除
最近自分達のゲームでは、能力値を合併したり削除したりと色々弄ってるっす。
使わない能力値を非表示にする方法。
Window_EquipStatus 60行目あたりの ●項目の描画 を探しましょう。
def draw_item(x, y, param_id)
draw_param_name(x + 4, y, param_id)
draw_current_param(x + 94, y, param_id) if @actor
draw_right_arrow(x + 126, y)
draw_new_param(x + 150, y, param_id) if @temp_actor
end
をまるっとコメントアウト。
def draw_item(x, y, param_id)
y -= line_height if param_id > 1
y -= line_height if param_id > 3
y -= line_height if param_id > 4
y -= line_height if param_id > 6
y -= line_height if param_id > 6
case param_id
when 0,2,6,7#0,1,2,3,4,5,6,7
draw_param_name(x + 4, y, param_id)
draw_current_param(x + 94, y, param_id) if @actor
draw_right_arrow(x + 156, y)
draw_new_param(x + 190, y, param_id) if @temp_actor
end
をいれる。
これは装備画面の表示が変えられるっす。
when 0,2,6~ってのは、表示する能力値IDっす。
0=HP 1=MP 2=攻撃力……となっとりやす。
最初のy -=~ってのは、抜いた分の能力値をずらす為のもの。
ここはなんかとりあえず、コピペで増やしたり減らしたりしてみて
うまく詰められるまで、試行錯誤してくださいっす(強行突破\(^o^)/
因みに上記のスクリプトは、本来敏捷の次に運が来ますが
それを無理やり運 敏捷 の順になるようになってます。
ガンバレ!!(投げやり
◆能力値の桁が増えるとフォントが縮む!!
表示幅を広げることでフォントが縦長にならないようにするっす。
Window_EquipStatusの
●現在の能力値を描画 ●装備変更後の能力値を描画 を探しましょう。
draw_text(x, y, 32, line_height,~の32という数値を大きくするだけっす。
ついでに●能力値の名前を描画 の数値を大きくすれば
能力値が長くてもちゃんと通常通り表示されるようになるっす。
また、●右向き矢印を描画 を含めてxに+10などといれて、ずらすこともできるので
重なってしまった場合などは上手く調整しましょう。
◆簡易ステータスの配置を弄りたい!
Window_Baseの 456行目あたりの●レベルの描画
472行目あたりの●現在地/最大値を分数形式で描画
493行目あたりの●HPの描画
503行目あたりの●MPの描画 を探しましょう。
draw_text(xr - 40, y, 42, line_height, current, 2) や
draw_text(x, y, 30, line_height, Vocab::hp_a) などがあるっす。
これの数値や、x、yを数値にしたり、x+数値 などと入れると
配置を弄ることができるっす。
一箇所ずつ弄って、テスト確認してを繰り返して
どれがどこを動かすものなのか調べながらやると
好みの配置に弄ることが出来るっすよ。
これは他のスクリプト素材でも、弄りたい時に有用なので
この辺りは自力で改造出来るようにしておくといいっすね!