はよ、本編を作らんかい! と思いつつ、どうでも良いツールを作ってしまった
当初予定では、今日は初音ミク冒険記本編のバグ修正をしているはずなのに
なんか、気分が乗らず、でも何かプログラムは組みたくて
前から作りたいなぁと思っていたツールを作ってみた。
ちなみに「初音ミク冒険記」本体に組み込んだので
次のプログラム公開からは、みなさんも使えます。
と言っても、かげさん以外には、
使いづらいし、きっと役に立たないツールなんだけどね・・・
■初音ミク冒険記 メッセージ表示ツール
簡単に言うと、初音ミク冒険記の機能を使ってメッセージを表示するってツールです。
起動する、こんな感じ。
メッセージ送りボタンで次のメッセージを表示もできる。
文字には、行単位で色を付けられます。
BGM(MP3かWav限定)を鳴らすこともできます。
■起動方法
HatsuneMikuBoukenki.exe Msg luaファイル名
Luaファイルは、初音ミク冒険記本体のフォルダにある
SCENARIOフォルダの下にMsgフォルダを作って格納します。
ファイル名の指定をミスるとこんな感じ。
■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を使っていない人でもタスクスケジューラから起動はできるよね
ってイメージです。
また、バッチファイルから起動するってこともできるんで
何か使い道があるかもしれない。
普通に、携帯のアラームとか
リマインダーメールとかで良いという話もあるんですが
作りたかったのだから、しょうがない。![]()
実は、結構前から構想はしてて
今日、数時間で作りました。
ちなみにLuaをいじる部分は、後日、別のツールで自動生成する予定。
たぶん、そのツールが、初音ミク冒険記のLuaスクリプトの生成支援ツールの
大本になると思っている。
今回のツール化で
起動パラメータによって、動作を変えるって仕掛けというか
作業手順を作れたので、
そのうち他でも役に立つんじゃないかな?
例えば、将来スキルメニューを改造する予定があるんだけど
起動時に最初からスキルメニューで起動するようにしたりとか
デバッグルームみたいなマップを作って、いきなりそれを起動するとかね。
なんか、最近、初音ミク冒険記用の開発ツールとか
デバッグ機能や、このツールみたいな
公開できる初音ミク冒険記の機能やマップ追加には
直接つながらないようなことばかりを考えている気がする。![]()
作りたいシーンとか、マップの構想はあって
作業の優先順位としては、ソッチのほうを高くした方が
遊ぶ人にとっては良いはずなのになぁ・・・
| 【固定リンク】 | 【コメント (0)】 | 【トラックバック (0)】
このエントリーへのリンク
トラックバック
この記事へのトラックバックの一覧です: はよ、本編を作らんかい! と思いつつ、どうでも良いツールを作ってしまった:


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