怪談話大会

先日、怪談話大会に行ってきた。
みんな獲り付かれた様な人ばかりでくまった。


I went to a horror party the other day.
All of them looked as if they were possessed by ghosts.


受付の看板の市松さん。
Ichimatsu who are printed on the reception board.



実家にこんな人形がありました。
なんでこんな人形もらったのか買ったのか知らんけどあるんだ。
人にこれをギフトするのは嫌がらせなんだろう。


There were some dolls that looked like this Ichimatsu in my family home in old days.
They exsited definitely, I dont know whether they were given or my family bought them.
I think giving these scary dolls to somebody may be harassing.


みなさんたたずんで、チャットで会談をしたり
ボイスでする人もいました。
ここでまた!俺のボイスに異常が!


The guys there sat quietly talking their stories with a chat or a voice chat.
and again! something wrong with my voice chat!





ボイスがひび割れて途中で何を言ってるのか聞こえなくなった。。。
直前まで他のところでボイスしてて、そのときは異常なかったのに。
キテます。。。確実にキテました。。。。


My voice chat broke and I couldn't hear what they were talking on the way...
I voice chatted right before this and there wasn't wrong with my voice chat at all though...
They came... They definitely came in there....


途中、俺も名指しで指名され、怖い話を披露しました。
たぶん聞いてた人にとってはそんなに怖くなかったと思う。
しかし、俺にとってはかなりの災難な金縛り職人に獲り付かれた話。


I also talked my scary story.
I don't think it was not so scary for the people heard my story there.
But It was a story that I was possessed by a craftsman who does sleep paralysis
and this was a pretty bad luck for me.


ねずみがいる!
a rat is there!



ねずみを前から見ると!
Looking from in front of her!



何だこれは!何だチミは!
顔がなんだか。。。。


What is this! Who are you!
Her face is kinda like...



猫!
猫にねずみ!


cat!
cat on rat!


今日もまた幾多の霊魂がキテました。。。
A large number of spirits were coming there at that time, too.




セカンドライフを高速で起動

はい、こんにちは。わたくしだ。
今回はすごいやり方を紹介するよ。


セカンドライフって起動するとき、
ガリガリ読み込んで時間がかかるって人が多いと思う。
そこでセカンドライフを高速で起動するやり方をひとつ。


ただし!このやり方は、
OSが32bitのWindowsXPでメモリを4BG以上積んでる人のみできる技だ。
ちなみにわたくしぐらいのハッカーになると
これくらいのPCは当たり前のように使ってる。


やり方は以下の本に載ってるので
それを購入すると簡単にできる。
できれば以下から買ってほしい。
そしたらわたくしにお金が入る。
わたくしくらいの男になるとお金などいらないのだが、
おればあるだけやはり嬉しい。





さて、詳しく説明すると
32bitのOSでWindowsXPだと実はメモリを4GB積んでても
実際に使われて認識されるメモリは約3.25GBだ。


4GBきっちり使い切れてないわけだ。
で、4GB-3.25GBの余った部分をRAMディスクという
何やら怪しいものに置き換えて、
そこにセカンドライフのキャッシュを置く、という方法を取ればいいようだ。


HDDと違ってメモリは高速で処理してくれるから
起動も速くなるっていう寸法だ。


さてここでRAMディスクというものを作るフリーソフトがある。
VSuite Ramdiskというソフトだ。
このソフトは上記の本を買えば手に入る。


では前置きが長かったが、いよいよ本題のやり方だ。
わたくしくらいの男になると前置きも長くなるのが通常だ。


================================================
【やり方】

(1)VSuite Ramdiskで余っているメモリの容量分をRAMDISK(R:)などの新しいディスク
  に割り当てる。RAMDISK(R:)の名前やドライブ名は自分の好きなのでいい。

(2)4GBのメモリを積んでるならばRAMDISKに割り当てる容量は512MBくらいがいいらしい。

(3)詳しくは本を見て設定してくれ。

(4)セカンドライフの編集→環境設定→キャッシュで
  キャッシュの保存先をこのRAMDISKに指定する。
  ここでキャッシュの容量は当然ながらRAMDISKに割り当てた容量を超えてはいけない。
================================================


ちなみに故障してもわたくしは一切責任を取らない。
それがわたくしの流儀というものだ。



上記の本に全てが書かれているが、
この本の名前はWindows100% 2009年10月号だ。


わたくしくらいのPC博士になるとこの本は愛読書になっている。
みんなもわたくしくらいの男になりたければ買え!

スカイボックス作成

はい、こんにちは。わたくしです。
スカイボックスってはやってますよねぇ。
通常だと飛んでいけない上空何百mとかに浮いていって
誰にも邪魔されずに、誰にも盗聴されずに住める
というメリットがあって好まれてますね。


今回わたくしもすごいスカイボックスを作ってみました。
わたくしほどの男になるとSLでしょっちゅう
ものづくりをしています。


しかしサンドボックスなどでものづくりをしていると、
わたくしの魅力に引き寄せられて
たくさん話しかけられたり攻撃されたりして
まともに制作活動ができないんだわ。


ということでわたくしのスカイボックスは
ものづくり専用に特化されたものに仕上げました。


まずは広い場所にスカイボックスをrezします。
スカイボックスrezの図


その次にこのスカイボックスを右クリックして
パイメニューからsitを選んで座ります。
数値入力


さらにオブジェクトの編集画面で写真の箇所の数値欄に
上りたい座標の数値を入力してenterキーを押すだけ!
簡単!


スカイボックス上空の図


そうすればスカイボックスは見事にはるか上空へと
一瞬にして上ってくれます。


そしてこのスカイボックス、
さすがにものづくり専用と言うだけあって
いらないものは一切ついておりません!
言うなれば床だけスカイボックス!


たまにはこんなシンプルなスカイボックスでもいかがでしょうか?

エイズ感染リスク3割減少

こんちくわ。
今日もまたヤホーのニュースを見てしまった。
なんとエイズ感染率を3割減少させるワクチンができたとかなんとか。
ttp://dailynews.yahoo.co.jp/fc/science/hiv/?1253795219

わたくしぐらいのお洒落な男になるとエイズに
感染する可能性はほとんどないのです。


より正確に言うなればエックスで感染することなんて
まずあり得ないのです。
なんらかの形でエックス以外の経路での感染ならあり得ますが。


なんといってもエックスしませんから。
より正確に言うなれば今や都市伝説となっている
いわゆる魔法使いですから。


いやはやしかし、このワクチンで
感染率が減少するのは大変良いことです。
エックスできるリア充のみなさんはこれで安心でしょう。


日本は先進国でもHIVの感染が増えているらしいので
みなさんも気をつけてください。
わたくしほどの魔法使いになると無敵ですから
まったく心配ないですけどね。


HIVセルフチェック検査

新司法試験の合格率が低迷

今日のヤホーニュースで新司法試験の合格率が低迷というのがあった。
実はわたくしも一時期行政書士やビジネス法務検定?たったかな
をなぜか取ろうとして法律を勉強したことがあった。


でもずっと理系だったので法律のあの日本語らしき
でも日本語としてはあまりにも解読しがたい
法律の言葉が理解できないし、理解できないので
暗記もできないのでした。


で、数年前に行政書士を受けたんだけどやっぱり落ちた。
なんか一般教養とかも出て範囲がわたくしにとっては
範囲が広すぎてどうにもこうにもな感じでした。


よく行政書士は簡単だとネット上では言われてたんだけど
わたくしにはかなり難しい代物だった。


残ったのは何冊か買いあさった参考書のみ。
それも忌々しいので全部ブクオフで売っちゃったよ。


今回新司法試験の合格率が低迷ということと
さらには3回落ちたら受験資格がなくなるとも書いてあったので
とっても恐ろしい試験なんだなと思った。


なんか、日本人に対する要求レベルが高すぎないか?
と思う今日この頃。




便利ショートカットなど覚書02

このページでは便利なショートカットなどを
忘れたときのために書き記しておこうと思うのです。

==============================================
・オブジェクトの詳細を知る

オブジェクトにマウスカーソルを持っていってctrl+shift+T
解除したい場合も同じショートカットを押せばok。
==============================================

ダイアログとリッスンまとめ

はい、こんにちは。わたくしです。
世の中はシルバーウィークなんて呼ばれてます今日この頃ですね。
今回も例によって例のごとく自分のためのスクリプトの忘備録です。


Hi, it's me here.
These days are called Silver Week in Japan, aren't they.
It means kind of a long term holiday.
This article is also only for me as usual no to forget what scripts are.


前回もダイアログとリッスンをやったんだけども
文章長すぎて自分でも何がなんだか言いたいことがわからなくなってしまってた。
今回はちゃんとまとめようと思う。


Though I wrote about dialog and listen scripts last time,
the sentenses in the article were too long to understand even for me.
I want to bring it together neatly this time.


さて、llDialogとllListenは同時に使う。これが要点。
Now, llDilog and llListen are used at the same time.
This is an important point.


llDialogはダイアログを表示させる。
ボタンが押されたらllListenの耳がダイアログの情報を聞き取り、
listenイベントにてその後の処理が行われる。



llDialog makes a dialog displayed.
When buttons is pushed, ears of llListen listens some info from the dialog and the processing afterwards is done in the listen event.


例えばtouch_startを使ってタッチされたらダイアログ表示とリッスン耳を同時に行わせる。
そしてllSetTimerEventを使ってある時間以内にボタンが押されなかったら
timerイベントにてllListenとllSetTimerEventを切る。


For instance, when being touched by using touch_start, displaying a dialog and ear to listen are done at the same time.
And if the buttons are not pushed in a certain time by using llSetTimeEvent, llListen and llSetTimerEvent should be stopped in the timer event.


耳の切り方は
llListenRemove(handle);とする。
ここでinteger handle = llListen(~);であ~る。


How to stop ear listening is that
llListenRemove(handle);
In this case, handle is integer handle = llListen(~);


タイマーの切り方は
llSetTimerEvent(0.0);であ~る。


How to stop timer is that
llSetTimerEvent(0.0);


なんでこの2つを切るかと言うと
シムに負荷がかかるかららしいとのことであ~る。


The reason why you should stop these 2 orders,
because they give some lags to a sim, I heard so.


実際の書き方は大体以下の通り。
Actual writing is roughly as follows.
==========================================
touch_start(integer x){
integer handle = llListen(~);
llDialog(~);
llSetTimerEvent(10.0);
}
listen(~){
llListenRemove(handle);
llSetTimerEvent(0.0);
処理
}
timer(){
llListenRemove(handle);
llSetTimerEvent(0.0);
llOwnerSay("時間切れじゃ!");
}
==========================================


セカンドライフで作るリンデンスクリプト入門



タッチイベントの途中に違う人にタッチを割り込ませない方法

はい、こんにちは。わたくしです。今回も自分のための忘備録です。

こんなことがよくあります。タッチしたらある処理が始まる。

しかしその処理の途中で違う人がタッチしたら困る。 それが以下の例です。

===========================================

touch_start(integer x){

key id = llDetected(0);

string your_name = llKey2Name(id);

//処理

llSay(0,"お前の名前を当ててやろう");

llSleep(3.0);

llSay(0, "お前の名前はズバリ! 「" + your_name + "」でしょう~~");

}

===========================================

これはタッチした人のアバタ名を当てるスクリプトです。

ここで困ったことに//処理以下をしているときに違う人がオブジェクトにタッチしたら、

llDetectedKey(0)が違う人のUUIDになってしまいます。

なので最初にタッチした人の名前が返ってこなくなります。

 

これをどうにか防ぎたい。

後からタッチした人は無視できるようにしたい。

それが以下のやり方です。

後からタッチした人を無視する方法

===========================================

state_entry(){

list idlist = [];//idlistというのを作って最初は中身カラッポ

}

touch_start(integer x){

integer i;

for(i = 0; i>x; i++){//i>xの間、iを1づつ増やす。つまり永遠に増やし続ける

idlist += llDetectedKey(i);//タッチした人のUUIDリストを作りまくる

}

if(llDetectedKey(i) != llDetectedKey(0)){//タッチした人が最初の人(llDetectedKey(0))じゃなかったとき return;//以下の処理はしない

}

else if(llDetectedKey(i) == llDetectedKey(0)){//タッチした人が最初の人だったとき

key id = llDetected(0);//最初にタッチした人のUUIDを取得

string your_name = llKey2Name(id);//UUIDをstring型に変換

//処理

llSay(0,"お前の名前を当ててやろう");

llSleep(3.0);

llSay(0, "お前の名前はズバリ! 「" + your_name + "」でしょう~~");

llResetScript();//タッチした人が複数人いたらinteger iに数値が入っているので全てリセットする

}

}

===========================================

以上です。

つまりはタッチした人のリストを作って、

その人が0番目にタッチした人(=最初にタッチした人)じゃなかったらガン無視。

 

0番目にタッチした人(=最初にタッチした人)だったら

以下の処理を続けるというあんばいです。

これ、結構使えます。

 

こちらのブログもよろしくお願いします。 ブロガーの方のやつ



llSetTimerEventについて

はい、こんにちは。わたくしです。

今回もわたくしによるわたくしのためだけの忘備録です。

llSetTimerEvent(float)という命令があります。

この命令が実行されるとtimer(){処理}イベントに突入します。

 

 例えばllSetTimerEvent(10.0);と書くと10秒ごとにtimer(){処理}イベントが実行されます。

最初わたくしはこれはllSetTimerEventがすぐに発動されてその後10秒毎に timer(){処理}イベントが実行されるものだと思っていました。

しかしどうやら10秒経ってから発動されるようです。

10秒数えた後timer(){処理}が処理されるようです。

 

これがよく分かっていないポイントでした。

つまり、

 ====================

llSetTimerEvent(10.0);

timer(){ llOwnerSay(”あべし”);

}

====================

とあるとすると、まず10秒経たないと「あべし」と言ってくれません。

プログラムがllSetTimerEvent(10.0);に到達した時点では「あべし」とは言ってくれないのです。

10秒経って「あべし」、その後また10秒経って「あべし」と10秒毎に延々と「あべし」と言います。

 

またタイマーを切るにはllSetTimerEvent(0.0);のようにfloatの部分を0.0にすればOK。

だから以下のように書くと、

====================

llSetTimerEvent(10.0);

timer(){

llSetTimerEvent(0.0);

llOwnerSay(”あべし”);

} ====================

10秒後に「あべし」発言。

timer(){}に入るなりllSetTimerEvent(0.0);でタイマーを切るので一回のみの「あべし」発言でおしまい。

この1回きり発言を生かしたわたくしがよく使う例は ダイアログが出て10秒間何もボタンが押されなかったら「時間切れ~」というやつです。

 

以下に簡単な例を。

======================================================

 touch_start(integer x){//タッチしたら以下の処理発動

integer handle = llListen(~);//聞き耳を立てさせて(もちろんチャンネルはダイアログのと同じにしとく)

llDialog(~);//ダイアログを出す

llSetTimerEvent(10.0);//10秒後に時間切れを知らせる発言をするためにタイマーセット

}

listen(~){//ダイアログのボタンが押されたときの処理

llSetTimerEvent(0.0);//負荷がかからないようにtimerを閉じる

llRemoveListen(handle);//負荷がかからないようにllListenを閉じる

処理

}

 timer(){

llSetTimerEvent(0.0);//発言を1回だけにするためにタイマーを切る

llRemoveListen(handle);//負荷がかからないようにllListenを閉じる

llOwnerSay(”時間切れ~”);//時間切れを知らせる

}

======================================================

 以上です。間違ってるかもしれないのでアテにしないでください。

 

こちらのブログもよろしくお願いします。 ブロガーの方のやつ



ダイアログとリッスン

はい、こんにちは。わたくしです。

今回も例によって例のごとく、自分が忘れないようにするためのスクリプトの忘備録です。

ダイアログとリッスンについて書きます。

 

ダイアログとリッスンは同時に使われます。

最初、ダイアログになんでリッスンがくっついてくるのか分かりませんでした。

でも分かったことは、ダイアログのボタンを押すとオブジェクトがその内容を発言している、ということです。

発言したものを聞くのがllListen命令であり、それが実行されるとlistenイベントが起こるということです。

 

ダイアログの命令を見てみると、

llDialog(key id, string message, list buttons, integer chat_channel)となっています。

ダイアログを使うとこの()の中身をダイアログが発言します。

 

()の中身をそれぞれ見て見ましょう。

・key id               誰のSLビューアの画面上にダイアログを表示されるか

・string message        ダイアログに表示される言葉

・list buttons            ダイアログに表示されるボタンの名前

・integer chat_channel    どのチャンネルでダイアログが発言するか 以上のような感じになります。

 

 key idの部分はアバタのUUIDを書くことになりますが、そのアバタそれぞれのUUIDなんかどこにも表示されません。

ではどうするか?便利な命令が用意されています。

例えばタッチしたアバタのUUIDならllDetectedKey(0)と書けばOKです。

オブジェクトのオーナーならllGetOwner()と書けばOKです。

これでいちいちUUIDを打ち込まなくてもよくなります。

 

string messageの部分はダイアログに表示される文章、例えば「色を選んでくだされ。」などと書きます。

ここの部分には文字であるstring型を入れないといけないのでそのお約束として文章を""ではさみます。

list buttonsにはダイアログのボタンに表示される名前を書きます。

 

integer chat_channelにはダイアログがどのチャンネルでしゃべるかを自分で好きなのを勝手に選んで入れます。

integer型なので整数の数字を入れます。

125とか9813とかなんでもいいです。

TVとかラジオのチャンネルと同じ感覚です。

 

周りの他の人との混線を防ぐためにその都度乱数を発生させるという方法があります。

乱数発生にはllFrand()という命令を使います。

llFrand()はfloat型(小数点付きの数字)なのでそれを防ぐために整数(integer型)になおすといいです。

これにはllFloor()という命令を使います。

実際のやり方は llFloor(llFrand(512))などと書きます。

混線を防ぐためには llFloor(llFrand(512) + 6541)などと書きます。

これをすると0から512の範囲内の数字(整数)がランダムに決定されてそのランダムな数に6541が足されます。

こうすると0から512までの合計513個のランダムな数字にさらに6541なんていう数が足されることになるので混線するのをかなりの確立で防ぐことができると思います。

 

ちなみにチャンネル0は公共電波です。

すべての人が自動的に聞いているチャンネルが0なのです。

だからよく使うllSayはllSay(integer channel, string message)というつくりなのですが、

みんなに発言が聞こえるようにチャンネルの部分を0にして

llSay(0, "こにゃにゃちは")と書くことが多いのです。

 

ちなみに上に書いたようにllFloor(llFrand(512) + 6541)と書いたのは

公共チャンネルの0を使わないようにした工夫です。

llFloor(llFrand(512) )だけだと0から512までの数字をランダムで拾います。

0を避けるために後ろに+6541などという0以上の数値を足しているのです。

こうすればllFloor(llFrand(512) )の値が0だとしても後ろに正の数を足してるので

決して0チャンネルになることはありません。

 

さて次に聞くという命令のllListenを見ましょう。

 llListen(integer channel, string name, key id, string msg)

・integer channel    聞き取るチャンネルです。

・string name       誰の発言を聞くかです。

・key id             これも誰の発言を聞くかですが、こちらはUUID指定です。

・string msg        何という文章を聞くかです。

 

integer channnelですが、ダイアログの命令を聞きたければllDialogで指定したのと同じチャンネルを書けばOK。

string nameは誰の発言を聞くかなのでアバタとかオブジェクトの名前を書きます。

全てのアバタ、オブジェクトの発言を聞いてもいいっていう場合は""と書きます。

しかし全てのアバタ、オブジェクトの発言と言っても上のchannelでチャンネルを指定してるので、そのチャンネル以外のアバタ、オブジェクトの発言は聞こえないので安心です。

 

key idも誰の発言を聞くかを書きます。

string nameと違ってこっちはUUIDでの指定になります。

全てのアバタ、オブジェクトの発言を聞くにはNULL_KEYというのを書いとけばOKです。

これもチャンネル指定されてるのでstring nameのときと同じようにそのチャンネル以外のアバタ、オブジェクトの発言は聞こえないので安心です。

オブジェクトのオーナーのみの発言を聞くときはこれまた便利なllGetOwner()を書けばOKです。

 

string msgは何という文章を聞くかを書きます。

これもまた全ての発言を聞くには""を書けばOKです。

すべての発言を聞くといってもまたまたチャンネル指定されてるのでそのチャンネル以外の発言は聞かないので安心です。

 

さて、llListen命令がされたらlistenイベントが発生します。

listenイベントは以下のようになってます。

listen(integer ch, string name, key id, string msg){ 処理 }

意味はinteger chのチャンネルでstring nameさんまたはkey idさんのstring msgという発言を聞いたら {}内の処理をするということです。

「ダイアログのあるボタンを押したら」というのはstring msgの部分に入ってきます。

これが最初はよく分かりませんでした。

ダイアログのボタンを押したらっていう命令はなんなのかというのを以前は悩んでました。

 

ちなみにllListenは負荷が強いらしいのでどっかでllListenRemoveという命令を使って切らないといけないらしいです。

切り方はダイアログが出て30秒後に切るという方法などがいいようです。

簡単に書くと、

=======================================

touch(integer x){     

integer handle = llListen(~);//リッスン開始    

llDialog(~);//ダイアログの表示    

llSetTimerEvent(30.0);//30秒ごとにタイマー発動

}

timer(){//タイマーが発動したら、    

llSetTimerEvent(0.0);//タイマーを切る    

llListenRemove(handle);//リッスンを切る    

llSay(0, "時間切れじゃ!");//時間切れだと発言して知らせる

} =======================================

みたいな感じです。

こちらのブログもよろしくお願いします。 ブロガーの方のやつ



2つの座標系とllRezObject

はい、こんにちは。わたくしです。

今回は自分がスクリプトを書く際によく使うものを忘れないように記述しとこうと思います。

ちなみにわたくしはプラグラムなんぞSL以外ではまったく使わないので一般の方がすでに知ってるだろうことしか書けません。あくまでの自分のための忘備録として書きます。

 

今回は2つの座標系についてです。

SLでは座標系が2つあります。

1.ワールド座標

 これはsimの東西南北がxyz座標に対応しているものです。

2.ローカル座標

これはアバタやオブジェクトの上下左右がxyz座標に対応しているものです。

 

やっかいなのがこのローカル座標です。

ローカル座標ではアバタ(オブジェクト)の正面がx、左がy、上方がzです。

アバタやオブジェクトは向きを変えることで上下左右の方向も変わります。

ある位置のアバタが右へ向けばさっきまでの正面の方向も右に変わります。

だからややこしい。

 

 しかし便利な命令が用意されています。

それが以下の3つ。

llRot2Fwd

llRot2Left

llRot2Up の3つです。

 

それぞれ上から順にアバタ(オブジェクト)の正面(x座標)の値を左側(y座標)の値を上方(z座標)の値の単位ベクトルを取得してくれます。

単位ベクトルは長さが1mのベクトルです。

つまりllRot2Fwd(llGetRot());と書けばいつでもアバタ(オブジェクト)の正面(x座標)の向きを取得してくれます。

単位ベクトルなので=<1,0,0>ですね。

llRot2Fwd(llGetRot());を書くことでアバタ(オブジェクト)がどの向きを向こうが、その正面がx座標になってくれるのです。

同様にllRot2Left(llGetRot());を書くことでアバタ(オブジェクト)がどの向きを向こうが、その左がy座標になってくれるのです。

便利だ。

これはわたくしが多用する命令llRezObjectを使うときにとても役に立ちます。

llRezObjectはオブジェクトからさらにオブジェクトを出す命令です。

llRezObject(string inventory, vector pos, vector vel, rotation rot, integer param)

 

・string inventory    出されるオブジェクトの名前

・vector pos       どの位置に出すかの場所

・vector vel        出されるオブジェクトのスピード

・rotation rot       出されるオブジェクトの角度

・integer param     なぜか分からないけど1にしとけばいいらしいとなりますね。

 

ここで問題なのがvector posです。

これはワールド座標系での位置です。

このままだとオブジェクトを右に回転したときなど違う方向に回転したときでもこれをローカル座標にしてない限り、同じ方向にREZされてしまいます。

なのでここで上記のllRot2Fwdなどを使います。

llGetPos() + llRot2Fwd(llGetRot())としておけば、オブジェクトの今の位置プラスその正面方向の<1,0,0>の位置にREZしてくれます。

例として

タッチしたときにオブジェクトがどんな方向に向こうが必ず正面にREZされるスクリプト

を書きます。

============================================

default{   

touch_start(integer x){     

llRezObject("hana",               

llGetPos() + llRot2Fwd(llGetRot()),               

llRot2Fwd(llGetRot())*30,               

ZERO_VECTOR,               

1);   

}

}

============================================ 

【追記】 vector velは出されるオブジェクトの速度で物理オブジェクトのときのみ有効。

ベクター値なのでllRot2Fwd(llGetRot())*30のように書く。

この場合、向きはアバタ(オブジェクト)の正面方向で大きさは<30,0,0>となる。

30の部分をいじって速度を変化させるといい。

 

こちらのブログもよろしくお願いします。 ブロガーの方のやつ



はるか上空へ上りたい

はい、こんにちは。わたくしです。

ものづくりをしているとよく攻撃されるので上空1000mで制作活動をすればいいのではないかと

SL始めて2年ほど経った今頃になり思いつきました。

 

 で、プリムに座ったら上空1000mに瞬時に上れるようなスクリプトを考えました。

が、これってもしかして10mずつしか上れないのかな?

どんだけ数値いじっても10mまでしか上らない。

 

10m以下の数値ならその数値どおりに上ってくれる。

ネットで調べたら1000mまで上れるスクリプトを見つけたんだけど、

それ使ってみたらやっぱり10mずつ上っていく感じでした。

 

手っ取り早く、広さ10m四方のプリム作ってそれに座って、

ものづくりのタブの位置という欄のZの数値を1000mにしたらいいのかなとも思ったり;;



噂の赤さん

はい、こんにちは。わたくしです。

以前に誰かから聞いていた赤さんの売っているシムを偶然見つけました。

他のブログなどでは結構ここが紹介されていたようなのですが、わたくしは全く知りませんでした。

え~と右下の白い赤さん。。。

ドラキュラの赤さんなのでしょうか?

こうやって見ると同じ地球上でもいろんな人種がいますねぇ。

 

わたくしはアジア人なのですが、街で見かける外人さんってすごく大きいんですよね。

手足のパーツがでかくて体の構造がすでに違うっていう感じ。

赤さんのときってすでにこうした体格差って現れてるんでしょうか?

 

そういえば外人の赤さんを見たことないので分かりません。

この赤さんの場所は以下です。

 赤さん売り場