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

miracle☆

2009年08月13日 10:19


すみません。

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

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

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

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

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


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


string f;


f = "";
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桁くらい並んでいました。

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

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

スクリプト関連