カレンダー

06 | 2017/07 | 08
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -

最近のコメント

最近の記事

カテゴリー

リンク

このブログをリンクに追加する

月別アーカイブ

アクセスカウンター

ツクール日記
台本ができたら、次はRPGツクールに会話を乗っけていきます。
ちなみに台本で作られた会話は、ゲーム中では重要な会話です。
次に進むべき道を示す会話です。
単なる町の人とのおシャベルとは違うのです。
聞き損ねたらゲーム解けなくなりましたでは困ります。

というわけで、一度聞いたセリフは聞き直せるよう、「いろいろ設定」にうまいこと追加することとします。

しかし、「本番」と「履歴」の二か所に同じデータを作るのはちょいとしんどいですし、一番困るのは二つ別々に編集して編集漏れが発生することです。
ここはコモンイベントで会話を作成して、各マップイベントからコモンイベントを呼び出すようにしましょう。
(これが吉とでるか凶とでるかは神の味噌汁)

そういうわけで、コモンイベントに対して、台本から会話イベントを作ります。
イベントの数は……281 もちろん、イベント一つには台詞複数です。
これを、RPGツクールエディタでポチポチやっていく……のか?!

いやだぁ!  やりたくねぇ!

PetrificationII作成日記 完
いやいや、281イベントぐらい、さくっと書きましょうよ。

つっても、ただの会話シーンじゃありませんよ。
下みたいなもの作るんですよ。フェイスグラとか全身グラとか配置位置とか、ありえんでしょう

20150523003.png
まあ、顔グラ変換ロジックは先につくっているから、いいけどね。
いやいや、きっと、世間一般では、パッパとできるズルイ方法知られてますよ。
知ってたら教えてください。だめですか、そうですか。

ここは一括登録方法を考えましょう!

まず、コモンイベントですが、作成されたコモンイベントはこのファイルに出来ます。
\Data\CommonEvents.rvdata2
で、このファイルはゲーム開始時に以下のソースでロードされます。(興味があったら検索してみてね)
$data_common_events = load_data("Data/CommonEvents.rvdata2")

load_dataメソッドで読み込まれるってことは、save_dataメソッドで書き込まれるに違いない。調べたらありましたよ。
よって、CommonEvents.rvdata2を自力で作りたければ、$data_common_eventsを事前に構築して保存すればよいのです。
save_data($data_common_events,"Data/CommonEvents.rvdata2")

じゃ、$data_common_eventsって何のデータ? で調べてみたらRPG::CommonEventの配列なんです。
ただし、先頭だけnilだけど。

よって、後は台本を元に、イベントのソースコードを書いていきます。
(もちろん、ソースはプログラムに自動生成させます)
例として、下にevent作成用のソースを描きます。これで、二つの文章イベントを持ったコモンイベントが一件出来上がります。
----------------------------
$data_common_events = [nil]
event=RPG::CommonEvent.new
event.id=2
event.name="イベントタイトルだ"
event.trigger=0
event.switch_id =1
event.list =[]
event.list.push(RPG::EventCommand.new(101,0,["",0,0,2]))
event.list.push(RPG::EventCommand.new(401,0,["せりふだ"]))
event.list.push(RPG::EventCommand.new(101,0,["",0,0,2]))
event.list.push(RPG::EventCommand.new(401,0,["こうかくと台詞二行だ。"]))
event.list.push(RPG::EventCommand.new(401,0,["二行目ね"]))
event.list.push(RPG::EventCommand.new(0,0,[]))
$data_common_events.push(event)

#これをイベント数分繰り返す。
-----------------------------
次に、適当なRPGツクールVXAceのプロジェクトを作成します。
そんでもって、スクリプトの冒頭に、上記でつくったスクリプトを書いてやればよいのです

具体的には下の行を書き換えます。
$data_common_events = load_data("Data/CommonEvents.rvdata2")

save_data($data_common_events,"Data/CommonEvents.rvdata2")

この状態でゲームを実行すると、本来、読み込むはずの処理タイミングで、ファイルへの書き込みを行います。
だから、オープニングが出たら、さっさとゲーム終了します。

大切なのは、プロジェクトを開いていたら、プロジェクト自体も再起動してください。
そんでもって、Data/CommonEvents.rvdata2の更新日付を確認してください。更新されていれば成功です。

あとは、Data/CommonEvents.rvdata2を本来使いたいプロジェクトにコピーすればOK。
プロジェクトを開き、データベースを確認すると、あら不思議。281件のイベントができておりました。

もっとも、マップイベントをからコモンイベントを呼ぶのは自力で作らなければならないですが、それは、ちゃんとやりましょう。
あと、インポートできたのは台詞のみなので、キャラの動きとか、SEとかは、手動で組み込む必要がなります。

というわけで、現在は281件のイベントがちゃんと動いているかの確認中です。
スポンサーサイト
[2015/05/23 11:06] | ペトリケーション2 | コメント(0)
<<スキップ機能をつける | ホーム | 久々の制作日記>>
コメント
コメントの投稿












管理者にだけ表示を許可する

牙行の色々やること


Maiki's House運営者牙行のブログです。

プロフィール

牙行

Author:牙行
ASFR & WAM を重点的に扱っています。いろいろなことに興味を持つゆえにフラフラしているダメ人間。
定型句ではありますが書いときます。
このブログにあるコンテンツの無断転載転用だめですよぉ。

pixiv

Twitter...

DLSite.com

ブログ内検索

ブロとも申請フォーム

この人とブロともになる