ソラマメブログ
< 2025年05月 >
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 31

2007年10月07日

募金箱(リンデンスクリプト Tips)

 今日は、お友達の依頼で募金箱を作ってみました。
機能としては、入金額上位3名の名前、金額と累計金額を表示します。
こんなかんじw
募金箱(リンデンスクリプト Tips)

<スクリプト内容>

//
//    SHOP ZERO Tips06 FundRaisingbox  script   v1.1
//
//                   Created by Zero2000 Kid     2007/10/07
//                   modified by Zero2000 Kid    2009/02/02             
//                   WebSite:http://zero2000.slmame.com/c6192.html
//

string msg;
list moneylist = [0,"",0,"",0,"",0,""];
integer total=0;
setText () {
       integer i;
       msg=".:*チップBOX*:.\n";
       llOwnerSay(msg);
       for (i = 0; i < 3; i++) {
               msg+="入金額 No." + (string)(i+1) + " "
                         + llList2String(moneylist,2*i+1) + "さん"
                         + "(" + llList2String(moneylist,2*i) + "L$)\n";
                         
       }
       msg+= "累計金額:"+ (string)total + "L$";
       llSetText(msg,<1.0, 1.0, 1.0>, 1.0);
}

default {
       state_entry() {
               setText();
       }
       
       money(key id, integer amount) {
               moneylist = llListReplaceList(moneylist,[amount,llKey2Name(id)],6,7);
               moneylist = llListSort(moneylist ,2, FALSE); 
               total+=amount;
               setText();
       }
}


リンデンスクリプト Tips Intexへ

コメントで頂いたsuzunosukeさんのご希望のスクリプトです。
・入金者10名の名前と金額の表示
・合計金額と順位はなし
* フローティングテキストの制限により10名全表示されないことがありますのでご注意ください^^

string title="募金箱/Donation box";
string msg;
list moneylist;

setText () {
    integer i;
    integer ct=llGetListLength(moneylist)/2;
    msg=title + "\n";
    for (i=ct-1;i>=0;i--) {
        msg+=llList2String(moneylist,2*i+1) + "さん"
                + "(" + llList2String(moneylist,2*i) + "L$)\n";
                         
    }
    llSetText(msg,<1.0, 1.0, 1.0>, 1.0);
}

default {
    
    money(key id, integer amount) {
        moneylist+=[amount,llKey2Name(id)];
        if (llGetListLength(moneylist)>20) llDeleteSubList(moneylist,0,0);
        setText();
    }
}



同じカテゴリー(リンデンスクリプトTips)の記事画像
サウンド再生スクリプト(リンデンスクリプト Tips)
カメラコントロール(リンデンスクリプト Tips)
標準時間表示スクリプト(リンデンスクリプト Tips)
プリムカウンター2(リンデンスクリプト Tips)
土地情報チェッカー(リンデンスクリプト Tips)
SIM負荷チェッカー(リンデンスクリプト Tips)
同じカテゴリー(リンデンスクリプトTips)の記事
 サウンド再生スクリプト(リンデンスクリプト Tips) (2009-12-16 20:13)
 カメラコントロール(リンデンスクリプト Tips) (2009-11-21 21:26)
 標準時間表示スクリプト(リンデンスクリプト Tips) (2009-11-02 00:34)
 プリムカウンター2(リンデンスクリプト Tips) (2009-10-12 20:40)
 土地情報チェッカー(リンデンスクリプト Tips) (2009-10-11 21:33)
 SIM負荷チェッカー(リンデンスクリプト Tips) (2009-08-09 20:26)
この記事へのコメント
さおりさんへ

ご質問にありました、"チップBOX" という名称から"募金箱"へ、
入金者を表示せず累計金額だけを表示するスクリプトです。
ご参考ください^^

string msg;
integer total=0;

setText () {
msg=llUnescapeURL("%2e%3a%2a%e5%8b%9f%e9%87%91%e7%ae%b1%2a%3a%2e") + "\n";
msg+= llUnescapeURL("%e7%b4%af%e8%a8%88%e9%87%91%e9%a1%8d") + ":"+ (string)total + "L$";
llSetText(msg,<1.0, 1.0, 1.0>, 1.0);
}

default {
state_entry() {
setText();
}

money(key id, integer amount) {
total+=amount;
setText();
}
}
Posted by ZEROZERO at 2007年11月23日 21:55
合計金額、募金額を出さずに、ただ名前だけ出すにはどうしたらいいでしょうか?
Posted by final kurka at 2008年03月01日 03:45
final kurka さん

お返事遅くなりました。
名前だけ表示したい場合は、 

setText () {
・・
・・
}

の部分の中を以下のように変更すればOKです。

setText () {
integer i;
msg=llUnescapeURL("%2e%3a%2a%e3%83%81%e3%83%83%e3%83%97%ef%bc%a2%ef%bc%af%ef%bc%b8%2a%3a%2e") + "\n";
for (i = 0; i < 3; i++) {
msg+=llList2String(moneylist,2*i+1)+"\n";

}
llSetText(msg,<1.0, 1.0, 1.0>, 1.0);
}
Posted by ZEROZERO at 2008年03月16日 17:26
先日購入させていただきました

お手数ですが変更可能であればおしえて

いただければとおもいます

チップBOXの文字を→STAFFの名前

入金額(No,1)の入金額という文字を神様に

入金額(No,2)社長様

入金額(No,3)お兄様

できるでしょうか?

できれば支払い先は入力した名前のSTAFFにはいり、チップジャーの所有者はオーナーの自分になるようにしたいのです。
(チップジャーのテクスをいつでも変更できるように)
Posted by Nobu Vita at 2008年07月21日 16:46
Nobuさんへ

はじめまして。
お返事遅くなりました。
可能ですが、少し説明が必要になると思いますので、一度IMください。
よろしくです^^
Posted by ZEROZERO at 2008年07月27日 03:49
まいど、お世話になっています。

この募金箱、募金先がオブジェクトのオーナーになっていますが、これを、第3者にすることは出来ますか?
Posted by たまちゃん at 2008年10月16日 01:00
たまちゃんさん

こんにちは。
第3者のUUIDが分かればmoneyイベントのなかに
llGiveMoney関数を書くことによって可能ですよ^^
Posted by ZEROZERO at 2008年10月18日 14:36
こんばんは、初めまして^^
いつも参考にさせていただいております、ありがとうございます。
"募金箱/Donation box"
という名前にし募金者の名前を10名ほど表示することは可能でしょうか?
全ての金額表示、順位は必要ありません。よろしくお願いします。

それとコメントの3番目のスクリプトを試してみましたが7列目?でエラーが出るようでした。
Posted by suzunosuke Aichi at 2009年01月20日 03:59
suzunosuke さん

はじめまして。
ご希望のスクリプトですが、記事に追加されてもらいましたのでご参照ください。
それではw
Posted by Zero2000 KiddZero2000 Kidd at 2009年02月02日 19:01
ありがとうございました^^
早速参考にさせていただきました。
支払い金額表示もなしにしたかったので以下のスクリプトに変更してみました。

string title=".:*募金箱/Donation box*:.";
string msg;
list moneylist;

setText () {
integer i;
integer ct=llGetListLength(moneylist)/2;
msg=title + "\n";
for (i = 0; i < 3; i++) {
msg+=llList2String(moneylist,2*i+1)+"\n";

}
llSetText(msg,<1.0, 1.0, 1.0>, 1.0);
}

default {

money(key id, integer amount) {
moneylist+=[amount,llKey2Name(id)];
if (llGetListLength(moneylist)>20) llDeleteSubList(moneylist,0,0);
setText();
}
}
Posted by すずやん at 2009年02月03日 14:14
While it's impossible to say the brand would have failed had Louboutin stuck to a traditional sole, it’s fair to say that the move has been critical in Louboutin’s branding strategy.
Posted by shoesalittle.com at 2011年06月10日 21:35
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。