ソラマメブログ
プロフィール
teleporter
teleporter
LSLって楽しいですね^^。
毎日、研究しています。
オーナーへメッセージ

2009年01月27日

TP-HUDソースコード

前回の記事で書いたスクリプトのコードを掲載します。


使用方法
1.プリムに下記スクリプトを入れる。
2.スクリプト入りプリムをHUD装着。
3.テレポート先として登録したい場所で、プリム(ボタン)を2秒間長押し(クリック)。
4.テレポート先登録完了。HUD装着した本人だけに「save landmark...」とチャット表示されます。
5.その後はそのプリム(ボタン)を普通にクリックすれば、保存された場所のMAP画面が表示されます。



その他、注意点とか
・1プリム=1スクリプト=テレポート先1カ所です。
・テレポート先はプリムのプロパティ「説明」部分に保存されます。「説明」部分を消してしまうと登録したテレポート先も消えます。
・スクリプトを入れたプリムを複数コピーしてリンクすれば(1オブジェクトにする)HUDの装着先が1箇所で複数のテレポート先を保存できることになります。
・コードの利用はご自由に、ただし、無保証ですよ。ソースコードを利用した事によるいかなる損害も私は責任を負いません。



ソースコード
float TOUCH_TIMER = 2.0;
integer gSaveLandmark;
default
{
touch_start( integer num_detected )
{
llSetTimerEvent( TOUCH_TIMER );
gSaveLandmark = FALSE;
}
touch_end( integer num_detected )
{
if ( gSaveLandmark == FALSE ) {
llSetTimerEvent( 0.0 );
list l = llParseString2List( llGetObjectDesc(), ["<"], [] );
string regionName = llList2String( l, 0 );
vector pos = (vector)( "<" + llList2String( l, 1 ) );
if ( regionName == "" || pos == ZERO_VECTOR ) {
llOwnerSay( "no landmark..." );
} else {
llMapDestination( regionName, pos, ZERO_VECTOR );
llMapDestination( regionName, pos, ZERO_VECTOR );
}
}
}
timer()
{
llSetTimerEvent( 0.0 );
gSaveLandmark = TRUE;
llSetObjectDesc( llGetRegionName() + (string)llGetPos() );
llOwnerSay( "save landmark..." );
}
}




次回は複数登録可能なオブジェクトの配布or販売場所を公開するやもしれない...。乞うご期待!


同じカテゴリー(lsl)の記事画像
アップデート送付方法
数字テクスチャ
TP-HUD 販売開始です。
テレポートHUDがアツい!
同じカテゴリー(lsl)の記事
 アップデート送付方法 (2009-01-28 22:31)
 数字テクスチャ (2009-01-28 22:01)
 TP-HUD 販売開始です。 (2009-01-28 03:12)
 テレポートHUDがアツい! (2009-01-27 00:13)
Posted by teleporter at 09:01│Comments(0)lsl
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。