多人数対応・ダイアログ(マルチページ)
12以上の選択肢をダイアログで与えたい場合に、その仕組みに苦労するもの。
でもこの関数を使えば簡単に振り分けができちゃいます。
しかも、複数の人が同じオブジェクトをクリックしてもページ操作が錯綜しません。
使い方はllDialog()とほぼ同じ、ただしぺージ数を最後の引数で指定します。
ボタン数が12以下の場合は1ページで表示します。
関数プロトタイプ
llMsgBox(key id, string message, list buttons, integer chat_channel,integer Dpage)
llMsgBox(key id, string message, list buttons, integer chat_channel,integer Dpage)
{
list L_tmp=[];
integer listlen=llGetListLength(buttons);
listlen=13;
if (listlen<=12)
{
llDialog(id,message,buttons,chat_channel);
}
else
{
if (Dpage==0)
{
L_tmp=[center,center,"page"+(string)(Dpage+1)];
}
else
{
if ( (Dpage==(listlen/9))&&((listlen/9)!=0) )
{
L_tmp=["page"+(string)(Dpage-1),center,center];
}
else
{
L_tmp=["page"+(string)(Dpage-1),center,"page"+(string)(Dpage+1)];
}
}
llDialog(id,message,L_tmp+llList2List(buttons,Dpage*9,Dpage*9+2),chat_channel);
}
}
最終更新:2008年12月02日 20:38