Site search
2008年9月16日火曜日
ミュージックチェンジャーのスクリプト
今回は土地の音楽を切り替えるミュージックチェンジャーのスクリプトです^^
土地に音楽を設定して流すには、その土地を持ってるとか権限が必要なんですが、llSetParcelMusicURLの関数で簡単にできます。
これで音楽やネットラジオとかのストリーミング配信を土地に設定したらビューワーの再生ボタンで聞けるようになります^^
ストリーミング配信されてる音楽を曲リストのところに入れてくださいね^^
オーナーがタッチするとダイアログ出て、選んだ曲が土地に設定されます。
最大12曲まで登録できますが、曲名が長くなりすぎて制限を越えるとエラーでダイアログでなくなります^^;
http://beta.slmame.com/e359278.html
土地に音楽を設定して流すには、その土地を持ってるとか権限が必要なんですが、llSetParcelMusicURLの関数で簡単にできます。
これで音楽やネットラジオとかのストリーミング配信を土地に設定したらビューワーの再生ボタンで聞けるようになります^^
ストリーミング配信されてる音楽を曲リストのところに入れてくださいね^^
オーナーがタッチするとダイアログ出て、選んだ曲が土地に設定されます。
// ミュージックチェンジャー
list music=[ // 曲リスト
// "曲名", "URL",
"ピアノ曲","ピアノ曲のURL",
"ユーロビート","ユーロビートURL",
"○×ラジオステーション","○×ラジオステーションURL",
NULL_KEY]; // データの最後のカンマ用
integer len;
string text; // ダイアログのメッセージ用
list num; // ボタン用
integer listen_handle;
integer CHANNEL;
default
{
state_entry()
{
len=llGetListLength(music)-1; // NULLキー省いた曲リストの長さ
string str;
integer i;
for (i=0; i < len; i+=2) { // ダイアログのテキストとボタンを準備しとく
str=(string)(i/2+1); // 番号を計算して文字列にする
text+=str+". "; // 曲に振る番号と点
text+=llList2String(music,i); // 曲名
text+="\n"; // 改行
num+=[str]; // ボタン用の番号
}
}
touch_start(integer total_number)
{
key agent=llDetectedKey(0); // タッチしたアバターのキー
if (agent != llGetOwner()) return; // オーナーでないときは中断
llListenRemove(listen_handle); // listen解除
CHANNEL=llCeil(llFrand(2147483646)); // listenチャンネルのランダム化
listen_handle=llListen(CHANNEL, "", agent, ""); // listen開始
llDialog(agent, text, num, CHANNEL); // ダイアログ表示
}
listen(integer channel, string name, key id, string msg)
{
llListenRemove(listen_handle); // listen解除
if (channel == CHANNEL && id == llGetOwner()) {
integer i=(integer)msg; // 押されたボタンの整数値
string url=llList2String(music,i*2-1); // 曲リストから対応するURLを取り出す
llSetParcelMusicURL(url); // 土地にミュージックURL設定
}
}
}
最大12曲まで登録できますが、曲名が長くなりすぎて制限を越えるとエラーでダイアログでなくなります^^;
http://beta.slmame.com/e359278.html
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿