多人数対応・ダイアログ(マルチページ)

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