Site search

Google
WWW を検索 backup-beta.blogspot.com を検索

2008年6月23日月曜日

チップジャーのスクリプト

今回はTip jarとかDonation boxなど寄付をもらうためのオブジェクトのスクリプトです。
moneyイベントがあって支払うとThank youと返事するだけでもオッケーですね^^;

default
{
    state_entry()
    {
        string owner=llKey2Name(llGetOwner());  // オーナーの名前
        llSetText(owner+"'s Tip Jar",<1,1,1>,1.0);  // フローティングテキスト設定
    }

    money(key id, integer amount)
    {
        llInstantMessage(id,"Thank you for your donation.");  // ありがとう!
    }
}

これをテキトーに拡張すれば立派なチップジャーになりますw




まあ普通のチップジャーだとこんな感じでしょうかね^^
特別難しいところはないと思います^^;
// Tip Jar
string owner;
integer total=0;
integer max=0;
string max_donor="";

set_text(string donor, integer amount)
{  // フローティングテキストの設定
    string text=owner+"'s Tip Jar";
    if (max > 0) {  // 最高額の寄付者
        text+="\nMax donation:";
        text+=" L$"+(string)max;
        text+=" from "+max_donor;
    }
    if (amount > 0) {  // 最終の寄付者
        text+="\nLast donation:";
        text+=" L$"+(string)amount;
        text+=" from "+donor;
    }
    text+="\nTotal donated: L$"+(string)total;  // 合計
    llSetText(text,<1,1,1>,1.0);
}

default
{
    state_entry()
    {
        owner=llKey2Name(llGetOwner());
        integer i=llSubStringIndex(owner," ");  // 名前のスペースの位置を調べて
        owner=llGetSubString(owner,0,i-1);  // ファーストネームだけの表示に変更
        set_text("",0);
    }

    money(key id, integer amount)
    {
        string donor=llKey2Name(id);  // 寄付者名
        total+=amount;  // 寄付金合計額
        if (max < amount) {  // 最高額の判定
            max=amount;  // 最高額の設定
            max_donor=donor;  // 最高額寄付者
        }
        set_text(donor,amount);
        llInstantMessage(id,"Thank you for your donation.");
    }
}
これで支払ったとき(llInstantMessageの前ぐらい)に光るとか暴れるとか派手な演出を加えると良いかなって思いますw

0 件のコメント:

コメントを投稿