ページ

2009/05/29

ポストのスクリプト

// 投書箱
default
{
state_entry()
{
llAllowInventoryDrop(TRUE); // インベントリーにドロップ許可
}

changed(integer change)
{
if (change & CHANGED_ALLOWED_DROP)
{ // オーナー以外が入れたとき
llWhisper(0,"Thank you for your suggestion.");
llInstantMessage(llGetOwner(),"Got a suggestion.");
}
}
}


// ポスト
default
{
state_entry()
{
llAllowInventoryDrop(TRUE); // インベントリーにドロップ許可
}

touch_start(integer total_number)
{ // タッチしたら
llWhisper(0,"Put your notecard for owner."); // オーナー宛のノートちょーだい^^
}

changed(integer change)
{
if (change & (CHANGED_INVENTORY|CHANGED_ALLOWED_DROP))
{ // ドロップされたら
llAllowInventoryDrop(FALSE); // ドロップを不許可にしといて
string str;
integer note=FALSE; // ノートの有無チェック用フラグ
integer i;
for (i=0; i < llGetInventoryNumber(INVENTORY_ALL); i++) { // アイテムを1個ずつチェック str=llGetInventoryName(INVENTORY_ALL,i); if (llGetInventoryType(str) == INVENTORY_NOTECARD) { // ノートだったらオーナーに配送 llGiveInventory(llGetOwner(),str); llWhisper(0,"Sent "+str); note=TRUE; // フラグをTRUE } if (llGetInventoryType(str) != INVENTORY_NONE) { if (str != llGetScriptName()) { // このスクリプト以外は削除 llRemoveInventory(str); i--; } } } llAllowInventoryDrop(TRUE); // ドロップ許可 // ノートを受付けたときのメッセージ if (note) llWhisper(0,"Thank you for your notecard."); } } }

スクリプト参照