かげさんの111から始まるHistory » 初音ミク冒険記 » はよ、本編を作らんかい! と思いつつ、どうでも良いツールを作ってしまった

« 初音ミク冒険記の第1章のプレイにおける素朴な疑問 | トップページ | 3連休を活用して初音ミク冒険記の作業をしよう »

はよ、本編を作らんかい! と思いつつ、どうでも良いツールを作ってしまった

当初予定では、今日は初音ミク冒険記本編のバグ修正をしているはずなのに
なんか、気分が乗らず、でも何かプログラムは組みたくて
前から作りたいなぁと思っていたツールを作ってみた。

ちなみに「初音ミク冒険記」本体に組み込んだので
次のプログラム公開からは、みなさんも使えます。

と言っても、かげさん以外には、
使いづらいし、きっと役に立たないツールなんだけどね・・・

■初音ミク冒険記 メッセージ表示ツール
簡単に言うと、初音ミク冒険記の機能を使ってメッセージを表示するってツールです。

起動する、こんな感じ。
Msgtool1

メッセージ送りボタンで次のメッセージを表示もできる。
Msgtool2

文字には、行単位で色を付けられます。
BGM(MP3かWav限定)を鳴らすこともできます。

■起動方法

HatsuneMikuBoukenki.exe Msg luaファイル名

Luaファイルは、初音ミク冒険記本体のフォルダにある
SCENARIOフォルダの下にMsgフォルダを作って格納します。

ファイル名の指定をミスるとこんな感じ。
Msgtool3

■BGMの指定
Luaファイルの以下の部分を変更する
playMP3LoopとplayWaveLoopは、MP3を鳴らすか、WAVを鳴らすかの違いで
MP3を鳴らす場合、playWaveLoopの先頭に--を付ける
WAVを鳴らす場合、playMP3Loopの先頭に--を付ける


function Map99_21Opening()
playMP3Loop("拡張子なしのmp3ファイル名");
playWaveLoop("拡張子なしのwavファイル名");
return 0
end

■表示するメッセージの指定
基本的に
setStringNext("メッセージ", メッセージ表示行の色指定);
で設定する。

メッセージのページは0から始まり
メッセージを複数ページ指定する時は


if msgFlg == 1 then

の1のif文のブロック部分をコピーして1の数字を増やしていく。

-- 次のメッセージ処理
if msgFlg == 1 then

最後のnnの値と


if msgFlg == nn then

次のnnの値を一致させる

-- 次のメッセージ処理
if msgFlg == nn then

ちなみにPSP版を持っている人だとKAO_GRA_MIKUのところを
KAO_GRA_RUKAにするとルカの顔グラにできたり
KAO_GRA_MIKUのすぐ後ろの数字を0~11にすると
ミクやルカの表情を変更できたりもします。
(かげさんのところだと、リンやネルとか他のキャラの顔グラにもできます)

		--***************************************************************
		-- メッセージ設定
		--***************************************************************
		initMessageString();
		if msgFlg == 0 then
			msgWakuHight = dispTalkMessagePreparation4(KAO_GRA_TOP, KAO_GRA_MIKU, 7, KAO_GRA_EFFECT_NOTHING, FALSE);
			setMsgOption(MSG_OPTION_MESSAGE_TOOL_DEFALUT);
			--             ■■■■■■■■■■■■■■■■■■■■■■■■■
			-- 全体で8行までOK
			setStringNext("ミク", LUA_SKYBLUE);
			setStringNext("メッセージは、1度に8行まで表示できます。", LUA_WHITE);
			setStringNext("", LUA_WHITE);
			setStringNext("次のメッセージを表示するには、", LUA_WHITE);
			setStringNext("初音ミク冒険記のメッセージ送りボタンを押します。", LUA_WHITE);
			setStringNext("次のメッセージが無い時は、プログラムを終了します。", LUA_WHITE);
			setStringNext("", LUA_WHITE);
			setStringNext("ちなみにBGMも指定できますよ♪", LUA_WHITE);
			-- 操作禁止フラグの設定
			setNoOperationFlg(TRUE);
		end
		if msgFlg == 1 then
			msgWakuHight = dispTalkMessagePreparation4(KAO_GRA_TOP, KAO_GRA_MIKU, 7, KAO_GRA_EFFECT_NOTHING, FALSE);
			setMsgOption(MSG_OPTION_MESSAGE_TOOL_DEFALUT);
			--             ■■■■■■■■■■■■■■■■■■■■■■■■■
			-- 全体で8行までOK
			setStringNext("ミク", LUA_SKYBLUE);
			setStringNext("これは2ページ目です。", LUA_WHITE);
			setStringNext("次のメッセージは無いので、", LUA_WHITE);
			setStringNext("メッセージ送りボタンでプログラムを終了します。", LUA_WHITE);
			setStringNext("", LUA_WHITE);
			setStringNext("じゃあね~♪", LUA_WHITE);
		end
		--***************************************************************
		-- メッセージ描画
		--***************************************************************
		local iRet = dispTalkMessage(msgWakuHight);
		if iRet == 1 and isCtrlCircle() then
			-- メッセージ終了処理
			endMessageString();
			-- 次のメッセージ処理
			if msgFlg == 1 then
				-- 操作禁止フラグの解除
				setNoOperationFlg(FALSE);
				-- メッセージの終了
				msgFlg = 0;
				setEventFlg(2047, 1);
				fadeOutSetGameMode(GAME_MODE_EXIT, 8)
			else
				msgFlg = msgFlg + 1
			end
		end

■ね、かげさん以外だと、使いづらいツールでしょ?
なんで、こんなのを作ったかというと
指定の時間にメッセージを表示したかったからです。

このプログラムには、指定時間に起動する仕様は無いんですが
Windowsのタスクスケジューラや
Jenkinsの時間指定起動
といった別のツールから起動するつもりなので気にしてない。

どちらかというと、Jenkinsからの起動を想定していたりするんだけど
Jenkinsを使っていない人でもタスクスケジューラから起動はできるよね
ってイメージです。

また、バッチファイルから起動するってこともできるんで
何か使い道があるかもしれない。

普通に、携帯のアラームとか
リマインダーメールとかで良いという話もあるんですが
作りたかったのだから、しょうがない。coldsweats01

実は、結構前から構想はしてて
今日、数時間で作りました。

ちなみにLuaをいじる部分は、後日、別のツールで自動生成する予定。

たぶん、そのツールが、初音ミク冒険記のLuaスクリプトの生成支援ツールの
大本になると思っている。

今回のツール化で
起動パラメータによって、動作を変えるって仕掛けというか
作業手順を作れたので、
そのうち他でも役に立つんじゃないかな?

例えば、将来スキルメニューを改造する予定があるんだけど
起動時に最初からスキルメニューで起動するようにしたりとか
デバッグルームみたいなマップを作って、いきなりそれを起動するとかね。

なんか、最近、初音ミク冒険記用の開発ツールとか
デバッグ機能や、このツールみたいな
公開できる初音ミク冒険記の機能やマップ追加には
直接つながらないようなことばかりを考えている気がする。sad

作りたいシーンとか、マップの構想はあって
作業の優先順位としては、ソッチのほうを高くした方が
遊ぶ人にとっては良いはずなのになぁ・・・

面白かったら押すべし。→ へぇ~
ランキング [] [] [] [] [] [↑50] [かげさんの111から始まるHistory内]

|

このエントリーへのリンク

このエントリーのリンクを入れるHTML:

トラックバァ~ック!


★アディダスやニューバランス関連のトラックバックスパムが多すぎて★
★超迷惑なので、トラックバックは承認制としました。★
★このため、トラックバックが記事に表示されるまで
★時間がかかることがあります★

この記事にトラバ~る為のURL:

この記事へのトラックバックの一覧です: はよ、本編を作らんかい! と思いつつ、どうでも良いツールを作ってしまった:

コメント

このブログの新着コメントをRSSリーダに登録する為のxml




←名前とメールアドレスは必須です。URLも記入すれば、URLのみが公開されます。メールアドレスのみですと、メールアドレスが公開されてしまいますので、御注意ください。

メールアドレスは書きたくないって人は、掲示板に書き込むって方法もあります。掲示板はメールアドレスなしでもOKです!

↓コメント本文では、「a href」「b」「i」「br/」「p」「strong」「em」「ul」「ol」「li」「blockquote」「pre」のタグが使えます。絵文字をクリックすると、本文にタグを挿入できます。


絵文字を挿入