RPG作る人のブログ -22ページ目

RPG作る人のブログ

RPGゲームを作りたい人のブログです。

スクリプトでタイトル画面に戻す方法 [RGSS3]

スクリプトを使ってタイトル画面に戻すなら以下のコードで実行できます。

SceneManager.goto(Scene_Title)
Fiber.yield




ふりーむ様にてRGSS3のリファレンスを公開しています。
RGSSを使ってみたい、RGSSを勉強したいという方は参考になさってください。
RGSS3リファレンス イベントコマンド版

にほんブログ村 ゲームブログ RPG・ロールプレイングゲームへ
にほんブログ村

スクリプトでゲームオーバーにする方法 [RGSS3]

スクリプトで特殊処理を行っている中に条件分岐でゲームオーバーにしたいときはゲームオーバーをスクリプトで行う必要が出てくるかもしれません。

そんな時は以下のコードを実行してください。

SceneManager.goto(Scene_Gameover)
Fiber.yield

戦闘に負けたりイベントで死んでしまった時にいちいちゲームオーバー→タイトル画面にするのはプレイヤーフレンドリーではないのかなぁと考える時があります。

死んでしまったら自動的にちょっと前の場所から始めた方がプレイヤーにとって効率が良いですからね。

ただ、一つの区切りとしてのゲームオーバーというもの必要な気がします。

そのゲームの中でゲームオーバーとはどのような位置づけにするかによって変わってくるのでしょう。



ふりーむ様にてRGSS3のリファレンスを公開しています。
RGSSを使ってみたい、RGSSを勉強したいという方は参考になさってください。
RGSS3リファレンス イベントコマンド版

にほんブログ村 ゲームブログ RPG・ロールプレイングゲームへ
にほんブログ村

スクリプトでセーブ画面を開く方法 [RGSS]

プレイヤーにセーブをしたほうが良いときなどに強制的にセーブ画面を開かせることがあります。

特殊な状況でセーブ画面を開かせたいときはもしかしてスクリプトを使う必要性が出てくるかもしれません。

スクリプトでセーブ画面を開きたいときは以下のコードを実行してください。

SceneManager.call(Scene_Save)
Fiber.yield

ボスの前とかにセーブ地点を置いておくと「あ、ボスが近いのかな?」と思われてしまいますが、なければないでボスに負けてやり直すときが面倒になっちゃうんですよね。

結局セーブ地点をボス前に置いた方がプレイヤーフレンドリーな気がします。


ふりーむ様にてRGSS3のリファレンスを公開しています。
RGSSを使ってみたい、RGSSを勉強したいという方は参考になさってください。
RGSS3リファレンス イベントコマンド版

にほんブログ村 ゲームブログ RPG・ロールプレイングゲームへ
にほんブログ村

スクリプトでメニュー画面を開く方法 [RGSS3]

主人公のパーティーの様子やステータスを確認させたいときやセーブを促す時にメニュー画面を強制的に開かせたりしますが、それをスクリプトで行うなら以下の通りになります。

SceneManager.call(Scene_Menu)
Window_MenuCommand::init_command_position
Fiber.yield




ふりーむ様にてRGSS3のリファレンスを公開しています。
RGSSを使ってみたい、RGSSを勉強したいという方は参考になさってください。
RGSS3リファレンス イベントコマンド版

にほんブログ村 ゲームブログ RPG・ロールプレイングゲームへ
にほんブログ村

スクリプトで名前入力の処理を行う方法 [RGSS3]

名前入力の処理は主人公や仲間の名前を決める時だけでなく、パスワードなどを入力するときにも使えます。

そんな名前入力の処理をスクリプトで行うなら以下のコードになります。

SceneManager.call(Scene_Name)
SceneManager.scene.prepare(アクターのID, 文字数)
Fiber.yield

サンプルコード(エリックの名前を6文字で名前入力処理)

SceneManager.call(Scene_Name)
SceneManager.scene.prepare(1, 6)
Fiber.yield

ツクールの場合、文字入力のウィンドウを表示させるコマンドが名前入力の処理しかな、それだと顔グラを表示させる場所が出てきてしまうので不格好になってしまいます。

文字だけを打ち込むなら自分で作らなきゃいけないのが少し辛い所ですね…



ふりーむ様にてRGSS3のリファレンスを公開しています。
RGSSを使ってみたい、RGSSを勉強したいという方は参考になさってください。
RGSS3リファレンス イベントコマンド版

にほんブログ村 ゲームブログ RPG・ロールプレイングゲームへ
にほんブログ村

スクリプトでショップの処理を行う方法 [RGSS]

ショップの処理をスクリプトで行うには販売するアイテムを決めなければいけないため、他のイベントに比べて少し長いコードを書く必要があります。

g = [アイテムの種類,アイテムのID,価格を指定するか,値段]
#アイテムの種類 0:アイテム 1:武器 2:防具
#価格の指定 0:標準 1:指定
goods = [g]
SceneManager.call(Scene_Shop)
SceneManager.scene.prepare(goods, 購入のみか)
Fiber.yield"

サンプルコード

g1 = [0,1,0,0] #ポーション
g2 = [0,2,0,0] #ハイポーション
g3 = [1,1,0,0] #ハンドアクス
g4 = [1,2,1,800] #バトルアクスを800Gで販売
g5 = [2,1,1,192] #普段着を192Gで販売
g6 = [2,4,0,0] #ハードレザー
goods = [g1,g2,g3,g4,g5,g6]
SceneManager.call(Scene_Shop)
SceneManager.scene.prepare(goods, false)
Fiber.yield

販売するアイテムを決めるためにパラメーターを4つ入力しなくてはならないため、少し面倒ですね。

そしてなによりパラメーターだけだと何を販売品に追加したのか分から無くなるので一々データベースのアイテムの項目を確認しなくてはならない羽目になるかもしれません。

イベントコマンドで済むならそうするに越したことは無いのですが、仕様上スクリプトでショップをスクリプトで実行しなければならない時は以上のコードを使ってください。


ふりーむ様にてRGSS3のリファレンスを公開しています。
RGSSを使ってみたい、RGSSを勉強したいという方は参考になさってください。
RGSS3リファレンス イベントコマンド版

にほんブログ村 ゲームブログ RPG・ロールプレイングゲームへ
にほんブログ村

スクリプトでバトルの処理を行う方法 [RGSS3]

バトルの処理はエンカウント式を取るなら何度も設定しなければならないイベントです。

特殊なエンカウント方式を取るときなどにスクリプトで行う必要が出てきます。

バトルの処理を行うには以下の通りです。

$bm = BattleManager #バトル処理の下準備
$bm.setup(敵グループID, 逃走可能か,負けた場合も継続か)
$bm.event_proc = Proc.new{|n| @branch[1] = n}
#戦闘の結果を@branchに代入、nに選択肢の数値を代入
$game_player.make_encounter_count
SceneManager.call(Scene_Battle)
Fiber.yield #戦闘までウェイト
if @branch[1] == 0 #勝利した場合の処理
$game_message.add("勝利した場合の処理")
elsif @branch[1] == 1 #逃走した場合の処理
$game_message.add("逃げた場合の処理")
elsif @branch[1] == 2 #負けた場合の処理
$game_message.add("負けた場合の処理")
end

補足

逃走可能:trueで逃走可能、falseで逃走不可能
負けた場合も継続か:trueで継続、falseで継続しない

サンプルコード(IDが12の敵グループと戦闘、逃走可能、負けた場合ゲームオーバー、勝利した場合「勝利した」というメッセージ、逃げた場合「逃げた」というメッセージ、負けた場合「負けた」というメッセージを表示)

$bm = BattleManager
$bm.setup(12, true, false)
$bm.event_proc = Proc.new{|n| @branch[1] = n}
$game_player.make_encounter_count
SceneManager.call(Scene_Battle)
Fiber.yield
if @branch[1] == 0
$game_message.add("勝利した")
elsif @branch[1] == 1
$game_message.add("逃げた")
elsif @branch[1] == 2
$game_message.add("負けた")
end

バトルの処理に関してはシーンの移り変わりや入力しなくてはいけない変数、さらにバトル後の処理に関しても記述しなくてはいけないため、コードが他に比べて長くなります。



ふりーむ様にてRGSS3のリファレンスを公開しています。
RGSSを使ってみたい、RGSSを勉強したいという方は参考になさってください。
RGSS3リファレンス イベントコマンド版

にほんブログ村 ゲームブログ RPG・ロールプレイングゲームへ
にほんブログ村

スクリプトでSEの演奏を行う方法 [RGSS3]

SEはいろいろな場面で使うので使用頻度が比較的多いイベントの一つです。

何か特殊な攻撃や特殊なイベントを作ってそこにSEを組み込みたいというときにはSEの演奏をスクリプトで行う必要が出てきます。

SEの演奏をスクリプトで行うには以下のコードを実行してください。

Audio.se_play(ファイルパス, 音量, ピッチ)
#音量、ピッチは省略可能(その際はそれぞれ100に設定)

サンプルコード(Bell1を音量90、ピッチ110で演奏)

Audio.se_play("Audio/SE/Bell1", 90, 110)

ちなみにスクリプトで実行するとピッチを1~907まで調節することが可能です。

ピッチを150以上にすると元のSEとは別物になるので面白いですよ。

900付近にしてもまた違ったSEになります。

手持ちでもデフォルトのものでも、是非お試しください。

RGSSリファレンスwiki目次へ


ふりーむ様にてRGSS3のリファレンスを公開しています。
RGSSを使ってみたい、RGSSを勉強したいという方は参考になさってください。
RGSS3リファレンス イベントコマンド版

にほんブログ村 ゲームブログ RPG・ロールプレイングゲームへ
にほんブログ村

スクリプトでMEの演奏を行う方法 [RGSS]

MEはファンファーレを鳴らしたり宿で休んだ時の短い音楽を流したりするときに使います。

MEの演奏をスクリプトで行うには以下の通りです。

Audio.me_play(ファイルパス, 音量, ピッチ)
#音量、ピッチは省略可能(その際はそれぞれ100に設定)

サンプルコード(Innを音量120、ピッチ110で演奏)

Audio.me_play("Audio/ME/Inn", 120, 110)

ちなみにMEのピッチはスクリプトで設定すると1~453まで設定することが可能です。

ピッチを高くしたり、低くしたりすると元のMEとはまた別物になるので面白いです。

RGSSリファレンスwiki目次へ


ふりーむ様にてRGSS3のリファレンスを公開しています。
RGSSを使ってみたい、RGSSを勉強したいという方は参考になさってください。
RGSS3リファレンス イベントコマンド版

にほんブログ村 ゲームブログ RPG・ロールプレイングゲームへ
にほんブログ村

スクリプトでBGSの演奏を行う方法 [RGSS3]

BGSの演奏はゲームへの没入感をより出してくれる演出です。

そんなBGSの演奏をスクリプトで行うには以下の通りです。

Audio.bgs_play(ファイルパス, 音量, ピッチ(, 再生位置))
#音量、ピッチ、再生位置は省略可能(その際はそれぞれ100に設定)

サンプルコード(Clockを音量80、ピッチ120で演奏)

Audio.bgs_play("Audio/BGS/Clock", 80, 120)

RGSSリファレンスwiki目次へ


ふりーむ様にてRGSS3のリファレンスを公開しています。
RGSSを使ってみたい、RGSSを勉強したいという方は参考になさってください。
RGSS3リファレンス イベントコマンド版

にほんブログ村 ゲームブログ RPG・ロールプレイングゲームへ
にほんブログ村