2009年01月27日
TP-HUDソースコード
前回の記事で書いたスクリプトのコードを掲載します。
使用方法
1.プリムに下記スクリプトを入れる。
2.スクリプト入りプリムをHUD装着。
3.テレポート先として登録したい場所で、プリム(ボタン)を2秒間長押し(クリック)。
4.テレポート先登録完了。HUD装着した本人だけに「save landmark...」とチャット表示されます。
5.その後はそのプリム(ボタン)を普通にクリックすれば、保存された場所のMAP画面が表示されます。
その他、注意点とか
・1プリム=1スクリプト=テレポート先1カ所です。
・テレポート先はプリムのプロパティ「説明」部分に保存されます。「説明」部分を消してしまうと登録したテレポート先も消えます。
・スクリプトを入れたプリムを複数コピーしてリンクすれば(1オブジェクトにする)HUDの装着先が1箇所で複数のテレポート先を保存できることになります。
・コードの利用はご自由に、ただし、無保証ですよ。ソースコードを利用した事によるいかなる損害も私は責任を負いません。
ソースコード
次回は複数登録可能なオブジェクトの配布or販売場所を公開するやもしれない...。乞うご期待!
使用方法
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販売場所を公開するやもしれない...。乞うご期待!
Posted by teleporter at 09:01│Comments(0)
│lsl