追加ルーチン「サウンドボックス」

サウンドボックスとは

サウンドボックスは、ゲーム内で流す音楽を変更するためのアイテムです。

"midi.cgi"の改造

# -------- 設定部分 ---------- # MIDIのファイル名を変更できます。 # CGI別サーバーのところでは,ここを http:// から始まるパスに指定します。 $MIDI_URL = "midi.mid";
変更を加える箇所
上記部分を以下のように変更します。
# -------- 設定部分 ---------- # MIDIのファイル名を変更できます。 # CGI別サーバーのところでは,ここを http:// から始まるパスに指定します。 DataRead(); CheckUserPass(); $MIDI_URL = "midi.mid"; $MIDI_URL = $DT->{user}->{midi} if ($DT->{user}->{midi});
変更後

midiファイルの入手

再生するmidiファイルを入手します。音楽は著作物ですから、ゲームで使う場合は、そのファイルを使用、公開してもよいか、よく確認する必要があります。市販ゲームや邦楽等のmidiを使うのはやめましょう。RPGツクール用などに、オリジナルのMIDIがいろいろと公開されているのでそういったものの中から選ぶのがよいでしょう。個人で楽しむ分には自由であっても、ゲームなどで使用する場合は連絡が必要なMIDIもあるので、よく確認しましょう。再生するmidiが決まったら、それらのファイルを"_config.cgi"などがあるディレクトリ(街別のフォルダ)に入れておきましょう。

アイテム「サウンドボックス」の追加

@@ITEM no 【アイテムの番号を入力】 name サウンドボックス type 【アイテムの分類を入力】 code tool-sound scale 個 price 20000 cost 1000 limit 1/1 plus 12h pop 9d point 50 info いろいろな音楽を再生します。 @@use scale 回 action 読む name サウンドボックスの使い方 info サウンドボックスについての説明を読みます arg nocount need 1 サウンドボックス func _local_ my $ret; $ret.=qq|<TABLE cellpadding="26" width="360"><tr>|; $ret.=qq|<TD;" valign="top"><br>|; $ret.="<SPAN align=center>サウンドボックスについて</SPAN><br><br>"; $ret.="サウンドボックスは、流れるMIDIを変更するアイテムです。<br>"; $ret.="変更をしたあと[♪]を押すと、変更後のMIDIが流れます。<br>"; $ret.="特定のアイテムを持っていないと流せないMIDIもあります。<br><br>"; $ret.="MIDIは、フリーのものを使用しています。。<br>"; $ret.="そして、基本的にGM音源可\能\な\音\楽を選んでいます。<br>"; $ret.="MIDIが気に入ったら、作者のHPを訪れてみるといいでしょう。<br>"; $ret.="</td></tr></table>"; return $ret; _local_ @@use name 【MIDIの曲名を入力】 info BGMを変更します action 変更する arg nocount param 【midiのファイル名】,【作者】,【サイトのURL】,【作者のサイト名】 funci _local_ return "" if $main::MOBILE; my $html="●音楽をチェンジします<br><br>"; $html.='曲名:<BIG>'.$USE->{name}.'</BIG><br>'; $html.='作者: '.$USE->{param2}.'様 …<A HREF='.$USE->{param3}. ' target="_blank">'.$USE->{param4}.'</A><br><br>'; return $html; _local_ func _local_ $DT->{user}->{midi}=$USE->{param1}; my $ret.="音楽を変更しました。<br>"; return $ret; _local_ @@use name 南の町 info BGMを変更します action 変更する arg nocount param midi2.mid,氷石 彩亜,http://fhouse.s17.xrea.com/,FREEDOM HOUSE 2nd funci _local_i2 func _local_2 @@use name 王城 info BGMを変更します action 変更する arg nocount param midi3.mid,氷石 彩亜,http://fhouse.s17.xrea.com/,FREEDOM HOUSE 2nd funci _local_i2 func _local_2 ・・・以下同様に続けていく
変更後
上記のような感じでアイテムを追加します。1つ目の「@@use」はサウンドボックスの説明になっています。カスタマイズできるので、各自変えてもよいでしょう。ただし、文字コードの関係で入力する文字によっては文字化けします。「能」なんかは文字化けしますので、そういった文字は「\」ではさんでやります。2つ目からはMIDI変更の記述です。上にもあるように、【midiのファイル名】,【作者】,【サイトのURL】,【作者のサイト名】の所にそれぞれ入力していきます。2番目からの「@@use」からは例になっているので参考にしてください。このとき注意しなければならないのが、半角スペースです。半角スペースは利用できません。例えば、作者の苗字と名前の間は半角スペースにするとエラーが出ます。半角スペースはすべて全角スペースに直します。曲名についても同様です。また、区切りとして利用しているカンマを曲名や作曲者名に含むことはできません。
@@use name 【曲名】 info BGMを変更します action 変更する arg nocount param 【midiのファイル名】,【作者】,【サイトのURL】,【作者のサイト名】 funci _local_i2
1つ分の曲
上記の文をつなげていくことで、項目を増やすことができます。また、「need」や「cost」、「time」等を追加することで、音楽の変更に必要なアイテム、金額、時間を設定することもできます。この辺は他のアイテムデータを見て参考にするといいと思います。最後に、アイテムデータ、MIDIデータ、midi.cgiをアップロードして完成です。ソース内の使い方にも書いてありますが、変更をしたあと[♪]を押すと、変更後のMIDIが流れます。変更した瞬間に再生される音楽が変わるわけではありませんのでご注意ください。