2012年10月02日
スクリプトでの質問です
親プリムをタッチするとダイアログで子プリムが不透明と透明になるスクリプトなんですが、子プリムを椅子にして座っていて、座っている間、本人を含めて誰もが、親プリムをタッチしてもダイアログが出ないように(操作出来ないように)したいのですが、途中で分からなくなり、座ってる間は操作出来て立つと操作出来ないようになり、その時、他の人が親プリムをタッチすると、座っている本人にダイアログだけ出るようになってしまいました。
下のスクリプトです。(親プリムのほうのスクリプト)
どうすればいいのでしょうか?
スクリプトのことは、よく分からないので、サイトを検索しながらいろいろいじってました。
よろしくお願いします!
key hide="8efe33ad-3847-e5b2-b906-2f5bc282c104";
key show="c6ecb253-dfb3-3ec6-a9ce-8f4b84186259";
integer handle;
list buttons = ["Hide","Show"];
default
{
touch_start(integer p){
key av = llDetectedKey(0);
if (llGetAgentInfo(av = llGetOwner()) & AGENT_ON_OBJECT ){
llDialog(av," ",buttons,-10);
handle =llListen(-10,"","","");
llSetTimerEvent(30);
}
}
on_rez(integer param)
{
llResetScript();
}
listen(integer c, string n, key k, string m)
{
if(k == llGetOwner()) {
llListenRemove(handle);
llSetTimerEvent(0);
if(m=="Show"){
llMessageLinked(LINK_ALL_OTHERS,0,"Show",NULL_KEY);
llShout(-11,"show");
}
else if(m=="Hide"){
llMessageLinked(LINK_ALL_OTHERS,0,"Hide",NULL_KEY);
llShout(-11,"hide");
}
}
}
timer(){
llSetTimerEvent(0);
llListenRemove(handle);
}
}
下のスクリプトです。(親プリムのほうのスクリプト)
どうすればいいのでしょうか?
スクリプトのことは、よく分からないので、サイトを検索しながらいろいろいじってました。
よろしくお願いします!
key hide="8efe33ad-3847-e5b2-b906-2f5bc282c104";
key show="c6ecb253-dfb3-3ec6-a9ce-8f4b84186259";
integer handle;
list buttons = ["Hide","Show"];
default
{
touch_start(integer p){
key av = llDetectedKey(0);
if (llGetAgentInfo(av = llGetOwner()) & AGENT_ON_OBJECT ){
llDialog(av," ",buttons,-10);
handle =llListen(-10,"","","");
llSetTimerEvent(30);
}
}
on_rez(integer param)
{
llResetScript();
}
listen(integer c, string n, key k, string m)
{
if(k == llGetOwner()) {
llListenRemove(handle);
llSetTimerEvent(0);
if(m=="Show"){
llMessageLinked(LINK_ALL_OTHERS,0,"Show",NULL_KEY);
llShout(-11,"show");
}
else if(m=="Hide"){
llMessageLinked(LINK_ALL_OTHERS,0,"Hide",NULL_KEY);
llShout(-11,"hide");
}
}
}
timer(){
llSetTimerEvent(0);
llListenRemove(handle);
}
}