Posted by   at 

2009年08月13日

ノートカードを読み込んで発言のスクリプト

こんばんは
毎度お世話になっております。

ノートカードを読み込んでその内容を発言させたいのですが・・
実のところ皆目検討もつきません。

default
{
touch_start(integer total_number)
{
llWhisper( 0,"てすとです" );
llSleep(2);
llWhisper( 0,"本日は晴天なり" );
}
}

単純に発言させるところまでしかわかってないんですが・・
参考資料等あるところはないでしょうか?
おしえていただければたすかります。

よろしくお願いします。
  


Posted by Philotes  at 19:32Comments(3)スクリプト関連

2009年08月13日

マップが開かなくて、困っています

すみません。

実は、ランドマークを読み込む形の簡単テレポートというスクリプトをブログで見つけたので、使ってみました。

そうしたら、このスクリプトは、同じSIM内の移動のためのテレポートで、LMを使うからと言って、他のSIMにテレポートできるものとは、違っていました。

それで、自分で改良してダイアログで、行き先を選択してSLURLをチャットに表示して、テレポートする形のものを作りました。

これは、完成したのですが・・・

SLURLで出来たのだから、マップを開いてテレポートする形も出来るのでは?と思い、早速改良しました。


それで、座標を下記の方法で、変換してマップにいれるようにしました。


string f;


f = "<"+(string)X+","+(string)Y+","+(string)Z+">";
pos = (vector)f;



ここからは、リッスンのイベントの中にあります。
llMapDestination(Name, pos, ZERO_VECTOR);

X,Y,Zが整数のため、一度文字に変換しています。
既に僕が作った上下に移動する乗り物は、この変換方法で、オブジェクトの高度の設定などが出来ています。
それで、今回も、マップの座標にいれるだけでと思ったのですが、上手く行きません。

僕は、ランドマークのタイトルに書かれているSIM名、座標を読み取ってそれをSLURL変えるスクリプトを作りました。


 僕が最初に見たスクリプトの一部です。
 一番初めにLMの名前を読み込んでいますが、そこは、省略しました。

touch_start(integer total_number){//触られると実行
if(lname!=""){
llMapDestination(llGetRegionName(), pos, );//マップを開く
//llGiveInventory(llDetectedKey(0),lname);//この行を有効にするとLMを渡す
}
}//

dataserver(key qid, string data){//リクエストに対するリターンが有れば実行
if (qid==rid){ rid="";pos=(vector)data;}//LMを読み取る(リターン)
}//



とりあえず、僕のllMapDestinationの手前で、チャットでSIMと座標を確認にたら、ちゃんと入っています。
ただ、座標の方は、正しい座標の後ろ小数点以下にゼロが、4桁くらい並んでいました。

やっぱり、小数点以下のゼロが、いけないのでしょうか?
それとも、ベクトルに変換するやり方が悪いのでしょうか?

すいません。
教えてください。
お願いします。

  


Posted by miracle☆  at 10:19Comments(5)スクリプト関連