2009年03月14日
エレベーターとフローティングテキスト
いつもここではお世話になっていますm(_ _)m
今回はエレベーターとフローティングテキストについての質問です。
まずはエレベーターです。
良くあるSITしてテレポートするタイプではなく、アバターや乗り物を乗せてUP or DOWNボタンを押すと動くエレベーターが欲しいのです。
距離的には4~5mの移動ですし、2F、3Fなどの選択がない単純なものなのですが、検索しても使えそうなものがなかなか見つからないのでここに相談します。
いちおう、綺麗に動くエレベーターは
http://kappa.slmame.com/e10461.html
こちらのが大変スムーズに動いたのですが、なぜか到着地点でガクガク動いて斜めになってしまいます><
到着地点で周りには接触しないよう、隙間を空けてはあるのですが、何故かそれでも周りに引っ掛かっているみたいです。
周りになにもなければスムーズに動くのですが…
こちらのものほど綺麗に動かなくても良いので(移動距離が短いので)なにか良いスクリプトをお教えいただけませんでしょうか?
次にフローティングテキストです。
ノートに書いた文章をフローティングテキストで表示するにはどうしたらよいのでしょうか?
自分なりに調べてみましたら、llGetNotecardLineを使うのではないかな?とは思うのですが…
例がチャットコマンドにノートの内容を表示するスクリプトでしたのでどこを変更したらよいのかよく分かりませんでした。
今回はエレベーターとフローティングテキストについての質問です。
まずはエレベーターです。
良くあるSITしてテレポートするタイプではなく、アバターや乗り物を乗せてUP or DOWNボタンを押すと動くエレベーターが欲しいのです。
距離的には4~5mの移動ですし、2F、3Fなどの選択がない単純なものなのですが、検索しても使えそうなものがなかなか見つからないのでここに相談します。
いちおう、綺麗に動くエレベーターは
http://kappa.slmame.com/e10461.html
こちらのが大変スムーズに動いたのですが、なぜか到着地点でガクガク動いて斜めになってしまいます><
到着地点で周りには接触しないよう、隙間を空けてはあるのですが、何故かそれでも周りに引っ掛かっているみたいです。
周りになにもなければスムーズに動くのですが…
こちらのものほど綺麗に動かなくても良いので(移動距離が短いので)なにか良いスクリプトをお教えいただけませんでしょうか?
次にフローティングテキストです。
ノートに書いた文章をフローティングテキストで表示するにはどうしたらよいのでしょうか?
自分なりに調べてみましたら、llGetNotecardLineを使うのではないかな?とは思うのですが…
例がチャットコマンドにノートの内容を表示するスクリプトでしたのでどこを変更したらよいのかよく分かりませんでした。
テクスチェンジのHUDについて
モール用のプリムカウンターを探しています
連続するアニメーションの処理
オブジェクトの上にフローティングテキストを出す。
チャットログの盗聴について
椅子に座った後で位置調整できるスクリプト
モール用のプリムカウンターを探しています
連続するアニメーションの処理
オブジェクトの上にフローティングテキストを出す。
チャットログの盗聴について
椅子に座った後で位置調整できるスクリプト
vector end;
default
{
state_entry()
{
llSetStatus(STATUS_ROTATE_X|STATUS_ROTATE_Y|STATUS_ROTATE_Z,FALSE);
llSetStatus(STATUS_PHYSICS,TRUE);
pos=llGetPos();
llMoveToTarget(pos,1.5);
}
changed(integer change)
{
if(change & CHANGED_INVENTORY)
{
llResetScript();
}
}
on_rez(integer num){
llResetScript();
}
touch_start(integer total_number)
{
integer i = llDetectedLinkNumber(0);
if(i==2)
{
end=pos;
llMoveToTarget(end,1.5);
}
if(i==3)
{
end = pos+<0,0,20>;//2F 60mまで
llMoveToTarget(end,1.5);
}
}
}
//////////////////////////////////////////////
物理のエレベーターです。60mまでしか登りません。
Shiftを押しながらUPボタンDOWNボタン、ルートの順番にクリックしてからリンクしてください。
//////////////////////////////////////////////
default
{
state_entry()
{
llGetNotecardLine("Memo",0);
}
dataserver(key queryid, string data)
{
llSetText(data,<1,1,1>,1.0);
}
changed(integer change)
{
if(change & CHANGED_INVENTORY)//ノートカードの中身を変更したら
{
llResetScript();//リセット
}
}
}
//////////////////////////////////////////////
Memoという名前のノートカードを入れてください。
必ず1行目に書いてください。
{
if(change & CHANGED_INVENTORY)
{
llResetScript();
}
エレベーターのここは↑ いりません><
ノートカードで高さを変更するときに入れてください><
最初はノートの方に/nで改行を入れてみたのですがうまくいきませんでした。
次に、
llGetNotecardLine("ノート名",0);
llGetNotecardLine("ノート名",1);
llGetNotecardLine("ノート名",2);
としてみたのですが、当然ながら最後のラインしか表示されず…orz
全てを読み込む関数がどこを調べてもわからなかったのもので…TT
どこのHPを見ても読み込みラインの事しか書いてないんですよね。
llGetNotecard(ノート名);
なのかなー?と思ってみたのですがどうも違うみたいです…
http://pao.slmame.com/e557670.html
参考になるサイト
http://www21.atwiki.jp/mizcremorne/pages/277.html
スクリプト素人の私ですが、何とか改行がうまくいきました。
リンク先のpaoさまのフローティングテキスト例は他の時に大変参考になりそうです^^
ありがとうございました!