Site search

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

2008年9月11日木曜日

プリムカウンターのスクリプト

今回は土地のプリム数を表示するプリムカウンターのスクリプトです^^

プリムカウンターはllGetParcelPrimCountllGetParcelMaxPrimsでプリム数の情報を調べて表示させたらいいと思います。。。て、リンク先にそのまま使えそうなスクリプト出てますね^^;

でもタイマーで一定時間ごとにプリム数をチェックして、フローティングテキストで表示する簡単なスクリプトを書いてみたので載せますねw プリムカウンターとしてよくありそうなタイプじゃないかなって思います^^


プリム数はトータルと最大のみにして、llGetParcelDetailsで土地の名前と広さの表示を加えてみました。
// プリムカウンター
string count_prim()  // 文字列を返すのでstring
{
    vector pos=llGetPos();  // 現在位置
    list parcel=llGetParcelDetails(pos, [PARCEL_DETAILS_NAME, PARCEL_DETAILS_AREA]);  // 土地の名前と広さを取得
    string name=llList2String(parcel,0);  // リストから名前を取り出す
    string area=llList2String(parcel,1);  // リストから広さを取り出す
    integer total=llGetParcelPrimCount(pos,PARCEL_COUNT_TOTAL,FALSE);  // 使ってるプリム数
    integer max=llGetParcelMaxPrims(pos,FALSE);  // 最大プリム数
    // 表示用に文字列を整形
    string str=name+"\n"+area+"sqm";
    str+="\nTotal prims: "+(string)total;
    str+="\nMax prims: "+(string)max;
    return str;  // 戻り値に文字列を返す
}

default
{
    state_entry()
    {
        llSetTimerEvent(1);  // 最初は1秒後に表示
    }

    timer()
    {
        llSetTimerEvent(60);  // 1分ごとに更新
        llSetText(count_prim(),<1,1,1>,1.0);  // count_primの戻り値を表示
    }
}

0 件のコメント:

コメントを投稿