Second Lifeで気に入ったアイテムの記録です あ、ウソです。スクリプトとか他のことも書いてます

2009/06/20

Persimmonは柿です。Permissionの話(3/3)

Caroline Green Satin Ensemble by INSOLENCE
刑事物語のDVD出ますね。
「違うー!木のやつー!」ですよ。
って、このセリフの出るやつかな、どうかな

前回と今回は
スクリプトの出力を載せてますんで
文字サイズ小さくしたり
なんか工夫して見やすくしてください。

そうさ、見る気のある人だけ見ればいいさ




さて、ここからが本番です。

■重複 Yes/Yes(その1)
[22:55]  Object: state_entry perm[0] name[] key[00000000-0000-0000-0000-000000000000]
○you Xiao touch
[22:55] Object: touch_start perm[0] name[] key[00000000-0000-0000-0000-000000000000]
[22:55] Object: llRequestPermissions
○you Xiao ダイアログ放置

●you Pizzicato touch
[22:56] Object: touch_start perm[0] name[] key[00000000-0000-0000-0000-000000000000]
[22:56] Object: llRequestPermissions
●you Pizzicato ダイアログ放置

○you Xiao Yes押す
メッセージ出ません
●you Pizzicato Yes押す
[22:56] Object: run_time_permissions perm[16] name[you Pizzicato] key[a64ee0a7-3cf6-40f9-bb33-1138cf8be7d7]

ほー、こうなるんだ
llRequestPermissionsした瞬間、その前のllRequestPermissionsは無効ですか


■重複 Yes/Yes(その2)
[22:57]  Object: state_entry perm[0] name[] key[00000000-0000-0000-0000-000000000000]
○you Xiao touch
[22:57] Object: touch_start perm[0] name[] key[00000000-0000-0000-0000-000000000000]
[22:57] Object: llRequestPermissions
○you Xiao ダイアログ放置

●you Pizzicato touch
[22:58] Object: touch_start perm[0] name[] key[00000000-0000-0000-0000-000000000000]
[22:58] Object: llRequestPermissions
●you Pizzicato Yes押す
[22:58] Object: run_time_permissions perm[16] name[you Pizzicato] key[a64ee0a7-3cf6-40f9-bb33-1138cf8be7d7]

○you Xiao Yes押す
メッセージでません
この結果は、その1から考えても想像できますよね

一応、No/Yesもやっておきます

■重複 No/Yes
[22:59]  Object: state_entry perm[0] name[] key[00000000-0000-0000-0000-000000000000]
○you Xiao touch
[22:59] Object: touch_start perm[0] name[] key[00000000-0000-0000-0000-000000000000]
[22:59] Object: llRequestPermissions
○you Xiao ダイアログ放置

●you Pizzicato touch
[23:00] Object: touch_start perm[0] name[] key[00000000-0000-0000-0000-000000000000]
[23:00] Object: llRequestPermissions
●you Pizzicato No押す
[23:00] Object: run_time_permissions perm[0] name[you Pizzicato] key[a64ee0a7-3cf6-40f9-bb33-1138cf8be7d7]

○you Xiao Yes押す
メッセージでません
やはり、llRequestPermissionsした後の結果に関係なく
llRequestPermissionsを実行したら、前のは無効ってことですじゃのう


なるほどなぁ
理解が深まりましたよ、ほんとに。

えーと、あれだ
「2.無視して別の人の権限要求をする」でいいのかってことでしたね。
結論としては、
「最後のllRequestPermissionsだけが有効なので、それでいいさ」ってことですかね
ダイアログを押すタイミングは問題じゃありませんでした。

あ、ついでに補足実験
「llGetPermissionsKeyは、いつ変わるのか
 要求した瞬間変わってんじゃねーの?」です。

default
{
state_entry()
{
llOwnerSay("state_entry perm["+(string)llGetPermissions()
+"] name["+llKey2Name(llGetPermissionsKey())
+"] key["+(string)llGetPermissionsKey()+"]");
}
touch_start(integer total_number)
{
llOwnerSay("touch_start perm["+(string)llGetPermissions()
+"] name["+llKey2Name(llGetPermissionsKey())
+"] key["+(string)llGetPermissionsKey()+"]");

llRequestPermissions(llDetectedKey(0),PERMISSION_TRIGGER_ANIMATION);
llOwnerSay("llRequestPermissions");
llOwnerSay("touch_start perm["+(string)llGetPermissions()
+"] name["+llKey2Name(llGetPermissionsKey())
+"] key["+(string)llGetPermissionsKey()+"]");
}
run_time_permissions( integer perm )
{
llOwnerSay("run_time_permissions perm["+(string)perm
+"] name["+llKey2Name(llGetPermissionsKey())
+"] key["+(string)llGetPermissionsKey()+"]");
}
}


これはダイアログが押された時っぽいです
[0:41]  Object: state_entry perm[0] name[] key[00000000-0000-0000-0000-000000000000]
○you Xiao touch
[0:41] Object: touch_start perm[0] name[] key[00000000-0000-0000-0000-000000000000]
[0:41] Object: llRequestPermissions
[0:41] Object: touch_start perm[0] name[] key[00000000-0000-0000-0000-000000000000]
○you Xiao Yes押す
[0:42] Object: run_time_permissions perm[16] name[you Xiao] key[f7d1fc77-08ac-47e1-8881-e9d9e03194e7]

0 コメント: