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

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


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("時間切れじゃ!");
}
==========================================


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



0 コメント:

コメントを投稿