ハートの部分は、♥のスカルプ http://beta.slmame.com/e281498.html を使ってますw

モバイルファクトリーのフリーマーケットは7月3日までです^^
http://slurl.com/secondlife/MobileFactory/125/159/26
// オブジェクトのコンテンツ内にあるOshiraseを渡す
default
{
touch_start(integer total_number)
{
key agent=llDetectedKey(0);
llGiveInventory(agent,"Oshirase");
}
}
// ダイアログ
string text="サンプル メニュー"; // ダイアログに表示するメッセージ
string button1="お知らせ";
string note1="Oshirase";
string button2="ギフト";
string item2="T-shirt";
string button3="ブログへGO";
string url3="http://beta.slmame.com/";
list menu=[button1,button2,button3]; // メニューに出るボタンのリスト
integer CHANNEL; // メニューの返事を聞くチャンネル用
default
{
state_entry()
{
CHANNEL=llCeil(llFrand(2147483646)); // チャンネルを乱数で設定
llListen(CHANNEL,"",NULL_KEY,""); // listen開始
}
touch_start(integer total_number)
{
key agent=llDetectedKey(0); // タッチしたアバターのキー
llDialog(agent,text,menu,CHANNEL); // ダイアログを出す
}
listen(integer channel, string name, key id, string msg)
{
if (channel == CHANNEL)
{
if (msg == button1) { // button1が押されたとき
llGiveInventory(id,note1); // note1を渡す
}
else if (msg == button2) { // button2が押されたとき
llGiveInventory(id,item2); // item2を渡す
}
else if (msg == button3) { // button3が押されたとき
llLoadURL(id,button3,url3); // webページを開く
}
}
}
}
// New Script
default
{
touch_start(integer total_number)
{
llResetOtherScript("New Script 1");
}
}
// New Script 1
default
{
state_entry()
{
list entries = [0];
while (TRUE)
{
entries += entries; // Script run-time error: Stack-Heap Collision
llOwnerSay((string) llGetListLength(entries));
}
}
}
// プライズキャンプ
string prize="Tote bag"; // アイテム
integer camptime=15; // キャンプ時間
integer min;
key av=NULL_KEY;
text_unsit()
{
// フローティングテキスト
string s="Prize camp\nSit here for "+(string)camptime+" min to\n get "+prize+".";
llSetText(s,<1,1,1>,1.0);
}
text_sit()
{
// キャンプ中のフローティングテキスト
string s="Prize camp\n"+(string)min+" min left";
llSetText(s,<1,1,1>,1.0);
}
default
{
state_entry()
{
// 座る位置
llSitTarget(<0.2,0,0.55>,llEuler2Rot(<0,0,0>*DEG_TO_RAD));
llSetSitText("Camp"); // パイメニュー
text_unsit();
}
changed(integer change)
{
if (change & CHANGED_LINK)
{
key agent=llAvatarOnSitTarget();
if (agent) {
if (av) return;
// キャンプ開始
av=agent;
min=camptime;
text_sit();
llSetTimerEvent(60);
}
else {
llSetTimerEvent(0);
av=NULL_KEY;
text_unsit();
}
}
}
timer()
{
if (min <= 1) {
// キャンプ終了
llSetTimerEvent(0);
llGiveInventory(av,prize);
llInstantMessage(av,"Thank you for camping.");
llUnSit(av);
av=NULL_KEY;
text_unsit();
}
else {
// キャンプ時間の表示
min--;
text_sit();
}
}
}
// タッチライト
default
{
touch_start(integer total_number)
{
// フェイス0の色が<1,1,1>だったらオフに
if (llGetColor(0) == <1,1,1>) {
llSetPrimitiveParams([
PRIM_COLOR,ALL_SIDES,<0.75,0.75,0.75>,1.0,
PRIM_POINT_LIGHT,FALSE,<0,0,0>,0,0,0,
PRIM_GLOW,ALL_SIDES,0.0]);
}
// そうでないときはオンに
else {
llSetPrimitiveParams([
PRIM_COLOR,ALL_SIDES,<1,1,1>,1.0,
PRIM_POINT_LIGHT,TRUE,<1,1,1>,1.0,10.0,0.75,
PRIM_GLOW,ALL_SIDES,0.3]);
}
}
}