そういう場所で高度の高い上空を飛んでると、どのくらいまで上昇したか把握できなくて不便なんですよw それで今回は現在位置を表示させる簡単なHUDを作ってみました。
仕組みも単純なので特に難しい部分はないと思います。タッチしたとき新しくなったSLURL(ビューワー2用?)を表示するようにしました。
// 現在位置の座標を表示
string get_pos(string s)
{
    vector pos=llGetPos();  // 現在位置取得
    // 値を整数にして文字列に変換
    string x=(string)((integer)pos.x);
    string y=(string)((integer)pos.y);
    string z=(string)((integer)pos.z);
    return x+s+y+s+z;  // 引数sで区切ってリターン
}
default
{
    state_entry()
    {
        llSetTimerEvent(0.1);  // 最初は0.1後にタイマー開始
    }
    timer()
    {
        llSetTimerEvent(1);  // 1秒おきにタイマーをセット
        string str=llGetRegionName()+"\n("+get_pos(", ")+")";  // SIM名と座標を表示用に整形
        llSetText(str,<1,1,1>,1.0);  // フローティングテキストに表示
    }
    touch_start(integer total_number)
    {
        if (llDetectedKey(0) == llGetOwner()) {  // オーナーがタッチしたらSLURLをチャット
            llOwnerSay("http://maps.secondlife.com/secondlife/"+llEscapeURL(llGetRegionName())+"/"+get_pos("/"));
        }
    }
}

0 件のコメント:
コメントを投稿