Zero2000 Kidd
2007年10月07日 23:21
今日は、お友達の依頼で募金箱を作ってみました。 機能としては、入金額上位3名の名前、金額と累計金額を表示します。 こんなかんじw <スクリプト内容> // // 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); } 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へ_uacct = "UA-3027217-1"; urchinTracker();
コメントで頂いた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); } default { money(key id, integer amount) { moneylist+=[amount,llKey2Name(id)]; if (llGetListLength(moneylist)>20) llDeleteSubList(moneylist,0,0); setText(); } }