オブジェクトをタッチするとランドマークを渡すスクリプトです。
LMをオブジェクトにドラッグするだけでOKです。
複数のランドマークにも対応しています。複数のランドマークを渡す場合は、
オブジェクトの名称をフォルダ名としてランドマークを渡します。
//
// LM giver script v1.0
//
// Created by Zero2000 Kid 2007/12/18
//
integer ItemType=INVENTORY_LANDMARK;
integer Itemct;
integer num;
list Itemlist;
string ItemName;
getItemlist() {
Itemlist=[];
integer i;
Itemct = llGetInventoryNumber(ItemType);
for (i = 0; i < Itemct; i++) {
Itemlist+=llGetInventoryName(ItemType,i);
}
}
default {
state_entry() {
llSetText("Please tuch me, gave you LM.", <1,1,1>, 1.0);
getItemlist();
}
on_rez(integer int) {
llResetScript();
}
touch_start(integer t) {
if (Itemct!=0) {
if (Itemct==1) {
llGiveInventory(llDetectedKey(0),llGetInventoryName(ItemType,0));
} else {
string foldaname=llGetObjectName();
llGiveInventoryList(llDetectedKey(0),foldaname,Itemlist);
}
}
}
changed(integer change){
if (change & CHANGED_INVENTORY){
getItemlist();
}
}
}
* 一行目integer ItemType=INVENTORY_LANDMARK;のINVENTORY_LANDMARKを
INVENTORY_NOTECARDに変更すれば、ランドマークの代わりにノートカードを渡すことも可能です。
リンデンスクリプト Tips Intexへ