Site search

Google
WWW を検索 backup-beta.blogspot.com を検索

2008年9月6日土曜日

ダイアログの文字数制限

YouTubeコンバーターはダイアログで使うリストの処理に間違いがあって
YouTube2MP4 [script:YouTube2MP4 (main)]: Script run-time error
YouTube2MP4 [script:YouTube2MP4 (main)]: Stack-Heap Collision

ちょっと使ってると、こうゆうエラー出ることがわかりましたwww そんなエラーの報告はなかったので、皆さんほとんど使ってなかったんですかね;;

さて、YouTube対応テレビがそろそろ完成しそうなんですが、あとプレイリスト表示するダイアログをどうしようかなって悩んでます^^;

llDialogにメッセージ入れるとき最大512バイトって制限があるんですね。文字数をオーバーするとエラーになってダイアログ出ませんw
Object: llDialog: message too long, must be less than 512 characters

英数字だけだったら結構余裕あるんですけど
string str;

default
{
    state_entry()
    {
        integer i;
        for (i=0; i < 51; i++) str+="1234567890";
    }

    touch_start(integer total_number)
    {
        key agent=llDetectedKey(0);
        llDialog(agent,str,[],0);
    }
}

str+="1234567890"; のところを str+="あいうえお"; ってするとエラーになっちゃうんですよ;;
日本語だと2倍じゃなくて3倍くらい容量使うみたいです。よくわからないんですけどUnicodeかURLエンコードみたいなデータになってるんですかね?
llStringLengthで文字数を調べても、「a」も「あ」も1文字って出るので、ダイアログに日本語いっぱい入ったときエラー出ないように何か別のいい方法考えとかないとって思うんですが、ややこしそうなので日本語使用は動作保障外ってことにしといて格安で販売したらいいかなwww


0 件のコメント:

コメントを投稿