2008年09月09日

アクティブなグループ名を取得

アバターの現在のアバター名を取得する方法はあるんでしょうか。

具体的には
オブジェクトをタッチした場合、特定のグループ名であるかどうかの判定をしたいのですが

オブジェクトのグループとは無関係な「特定のグループ名」を設定したいのです。

llDetectedGroup
llSameGroup

の場合はオブジェクトのグループでしか判定できないぽいのですし

llRequestAgentData
でもグループ情報はなさそうなんです

アドバイスいただけたらとおもいます。よろしくおねがいします。


同じカテゴリー(スクリプト関連)の記事画像
オブジェクトのリンクとタッチで開く扉
自動チャットを止めたい
テレポートするとアニメーションが解除される
同じカテゴリー(スクリプト関連)の記事
 テクスチェンジのHUDについて (2015-07-01 04:51)
 モール用のプリムカウンターを探しています (2014-11-29 20:09)
 連続するアニメーションの処理 (2014-08-24 03:23)
 オブジェクトの上にフローティングテキストを出す。 (2014-08-22 16:46)
 チャットログの盗聴について (2014-02-03 03:43)
 椅子に座った後で位置調整できるスクリプト (2013-03-24 16:37)

Posted by mew3  at 17:48 │Comments(7)スクリプト関連

この記事へのコメント
すいません。
アバター名ではなくアクティブな「グループ名」の取得です。
Posted by mew3mew3 at 2008年09月09日 18:07
タッチしたことでそのアバターのアクティブグループが何か?
というのを取得する関数はありません。
オブジェクトとアバターが同じグループか否かしか
残念ながら判定する方法はありません。
Posted by mayuko Nishi at 2008年09月09日 19:31
あ、追記です。
現在SLのsearchAPIを作っているようです。
http://wiki.secondlife.com/wiki/SearchAPI
こちらをうまく使うと、そのアバターが開設したグループは
確実にとはいえませんが、名前が取得できるかも知れません。
不完全な形ですが・・・
Posted by mayuko Nishi at 2008年09月09日 19:57
http://ysdesign.slmame.com/e312806.html
Ys@MALLさんのブログで前こうゆう記事見たんですが、用途は同じような感じですかね?

http://wiki.secondlife.com/wiki/LlSameGroup/ja
でも同じSIMでないとだめなんじゃないかなって思うんですけど

>もしくは、オブジェクトがagentのアクティブグループに譲渡されている場合もtrueを返します。
この行が意味よくわかんないんですが、グループで共有にしたらオッケーってことなんでしょうかね?
Posted by 千尋千尋 at 2008年09月09日 20:28
>千尋さん

言葉そのままかと^^
「オブジェクトがagentのアクティブグループに譲渡されている場合」

グループ共有にチェックを入れて譲渡するとそのオブジェクトは
自分の持ち物ではなくなってグループの持ち物となります。
*オブジェクトの持ち主はたしかGroupOwnerとかGroupOBJECTとかそういった風に表示が変わります。

その状態でもアバターのアクティブグループと同じグループのオブジェクトならば、trueと判定しますってことのようですw
当たり前といえば当たり前なことですよね^^

非常にめんどくさいのですが、Ys@MALLさんのようにグループメンバーなら
グループギフトを渡すと言うベンダーが必要で、でもそのベンダーのグループの土地では無いので置けない・・・というのが問題で困っているのなら
グループの規模にもよりますが
グループメンバーの名前をすべてリスト化させて
そのリストと判定させてオブジェクトを渡すというのはどうでしょうか?
monoならば比較的早い処理をすると思いますけど・・・
リスト作るのがめんどくさいですけどね><
外部サーバたてて処理するのはこの程度だと
面倒だと思います。
Posted by mayuko Nishi at 2008年09月09日 22:22
>グループ共有にチェックを入れて譲渡するとそのオブジェクトは
>自分の持ち物ではなくなってグループの持ち物となります。
>*オブジェクトの持ち主はたしかGroupOwnerとかGroupOBJECTとかそういった風に表示が変わります。

>その状態でもアバターのアクティブグループと同じグループのオブジェクトならば、trueと判定しますってことのようですw
>当たり前といえば当たり前なことですよね^^

あ、そゆことなんですか^^;;
てことは、やっぱりllSameGroupは同じSIM内でないとだめなんでしょうね。
Posted by 千尋千尋 at 2008年09月09日 23:16
これって、質問されている方がしたいのは、
Ys@MALLさんのように、たとえばレンタル地で自分自身のグループメンバーだけにギフトを与えたり、グループメンバーが購入した時だけ割引をしたりしたいという事なんでしょうか。

これと同じケースであれば、私は今回解決することができました。
まだ割引のスクリプトの方は試していませんが・・恐らく出来ると言われたので可能だろうと思います。

私が持っているスクリプトが、スクリプト屋さんにカスタムで作ってもらったものだから出来るのか?それともそんなに料金を出さなくても、普通にある関数なのかはわかりません。
そして、自分自身の店に必要で、作ってもらったものなのでソースを公開することはできません。ごめんなさい。

ひとつ条件は発生しますが・・私の場合は

レンタル地でも(テナントだとしても)そのスクリプトが入ったオブジェクトをおくときだけは、そこの土地グループ(テナントグループ)をアクティブにして設置して、その後にオブジェクトのグループ設定を自分自身のグループに変えています。

そしてこれが動くためには土地の設定のところで、「スクリプトの実行」が「全ての住人」にチェックが入っていないといけません。
そして、関係あるのかわからないですが、他の住人のオブジェクトの自動返却のところは0になってます。
これももし必要だったら、ちょっとモールとかテナントだと厳しいかもしれませんね。

今は試験的に、グループタグをアクティブにした状態でパネルに触れたら、
メンバーだけにギフトを与えるというスクリプトをおいていますが、きちんと動作確認できました。
Posted by risarisa at 2008年09月10日 08:22
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。