LMから座標データを抽出し、地図表示するスクリプト

このスクリプトとLM(1つだけ)をオブジェクトに入れると、LMから座標データを抽出し、タッチした人に(LMの場所の)地図を表示します。LMを準備するだけで簡易TP看板として利用できます^^

スクリプトの編集はいっさい不要でLMを入れるだけで設定完了しますのでとても楽ですよ〜w

lm2map.lsl
// Show Map of LM :: 2008-04-16
string lm_name;
integer lm_number = 0;
vector target_pos;
key request_id;
 
default{
    state_entry(){
        lm_number = llGetInventoryNumber(INVENTORY_LANDMARK);
        if (lm_number == 1){
            lm_name = llGetInventoryName(INVENTORY_LANDMARK, 0);
 
            request_id = llRequestInventoryData(lm_name);
        }else{
            llOwnerSay("ランドマークがセットされていません。コンテンツ内に1つだけランドマークを入れてください。");
        }
    }
 
    changed(integer change){
        if (change & CHANGED_INVENTORY){
            llResetScript();
        }
    }
 
    dataserver(key query_id, string data){
        if (query_id == request_id){
            request_id = NULL_KEY;
            target_pos = (vector)data;
            llOwnerSay("ランドマークから座標データを抽出しました:" + lm_name);
        }
    }
 
    touch_start(integer total_number){
        llMapDestination(llGetRegionName(), target_pos, ZERO_VECTOR);
    }
}
最終更新: 2010年11月08日 20 : 42 by arz Nitely
http://arzNitely.com/lsl/sample/lm2map.html

Copyright 2007-2010 ©arzNitely.com all right reserved

www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0