ソラマメブログ
< 2024年11月 >
S M T W T F S
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

2009年08月07日

ポストを作りたい


■概要
オブジェクトにノートカードを入れたら(オブジェクトにノートカードをドラッグ)、
指定のユーザー全員にノートカードを送るスクリプトです。

オブジェクト側の設定として、MOD可のグループに謙譲にする必要があるかもしれません。
このあたりはあまり検証していません。

また、スクリプト中に名前の登録もしていますが、使っていないので
誰のUUIDか確認する程度ということでw

■スクリプト

list member = [
"9f287d45-a32b-450d-ac09-2267d70f26d3","DK003 Doobie"
// 以下にメンバーを追加してください(タッチした時の情報をコピペ)
];

// タッチした時に情報を表示する時はTRUEを設定、しないときはFALSE
integer flg = TRUE;

default
{
touch_start(integer total_number)
{
if(flg == TRUE){
// メンバー情報を取得する処理
key user = llDetectedKey(0);
llSay(0, ",\""+(string)user+"\",\""+llKey2Name(user)+"\"");
//member += [user,llKey2Name(user)];
}
}
changed(integer change)
{
if(change & CHANGED_INVENTORY){
integer i;
integer ii;
integer max = llGetInventoryNumber(INVENTORY_NOTECARD );
integer maxmax = llGetListLength(member)/2;
for(i=0;i for(ii=0;ii llGiveInventory(llList2Key(member,ii*2),llGetInventoryName(INVENTORY_NOTECARD,i));
}
}
for(i=0;i llRemoveInventory(llGetInventoryName(INVENTORY_NOTECARD,i));
}
llSay(0,"登録されているユーザーに、ノートカードを送りました。");
}
}
}



同じカテゴリー(作ってみた)の記事画像
土地音楽の変更ツール
オセロの販売開始!デザインは6種類
近況報告
web連動(SL x PHP x MySQL)その②
web連動(SL x PHP x MySQL)その①
同じカテゴリー(作ってみた)の記事
 ポストを作りたい その2 (2009-08-10 15:32)
 土地音楽の変更ツール (2009-05-07 14:47)
 オセロの販売開始!デザインは6種類 (2009-04-28 16:52)
 llKey2Name + 仕様を読まない人 = バグる (2009-04-15 17:06)
 トレハンスクリプトを作った (2009-04-12 06:11)
 llHTTPRequest関連メモ2 (2009-04-10 17:17)
この記事へのコメント
こんにちは、おひさしぶりです。

どうも、貼り付け時の異常とは別の問題があるみたいなので
書いてみます。

1.maxmaxのループ
 増分が+=2なので、iiは0,2,4,6…と増えますが
 Listへのアクセスはii*2なので、
 0,4,8,12となってしまうような。
 そもそも、これを2で割っているのはなぜ?

2.削除用maxのループ
 これは0,1,2,3と増えていきますが
 以下のようなnoteがある場合
 ・"note_A"…i=0で削除
 ・"note_B"…削除されない(i=1の時は、0番目になっている)
 ・"note_C"…i=1で削除(i=1の時は、1番目になっている)
 となり、1つおきくらいに残ってしまうような

3.Changedの件(1)
 また、全体がChangedに書かれているので
 以下のようなことが発生しないでしょうか
  1)note"note_B"をいれる
   llGetInventoryName(INVENTORY_NOTECARD,0))="note_B"
  2)処理中に"note_A"をいれる
   llGetInventoryName(INVENTORY_NOTECARD,0))="note_A"

4.Changedの件(2)
 削除処理でChangedが発生すると思いますが
 問題ないですか?
 処理済メッセージのllSayが起こってうるさいくらいでしょうか。

大量にnoteをつっこんだ場合とか
Changedがいっぱい発生します。
そのときに、GetInventoryNumberしても
安定した数字が戻ってきません。
このあたり、ひと工夫必要な気がします。

がんばってください
Posted by you Xiao at 2009年08月08日 01:22
おおお、youさん、見ていただいてありがとうございます。まじめに解答いただけるとは、思わなかった。。。修正したスクリプトをまたあげま~す。
Posted by DK003 at 2009年08月10日 10:42
いつでもマジメですからw
Posted by you Xiao at 2009年08月10日 11:26
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。