2014年11月24日
コイン式ガチャ制作3of3

コイン1枚につき1回プレイできるガチャの作り方です。
連載3回のうちの第3回。
今回は、レアアイテムの設定方法とプレイ記録の取り方です。
第1回コインの作り方
http://shadada.slmame.com/e1485447.html
第2回ガチャ本体の作り方
http://shadada.slmame.com/e1487084.html
まず、ガチャ本体となるオブジェクトを用意します。
オブジェクトの名前は何でも良くて、リンクされたものでも良くて、
パーミッションも不問。
そのオブジェクトの中に、以下のスクリプトを入れます。
スクリプトの名前は何でも良くて、そのパーミッションも不問。
// ここから
integer gc = 1234567; // コインの数字と同じ
string ward = "デスペラード"; // コインの秘密の呪文と同じ
list choice = [
1, "Rare Prize",
20, "UnComon Prize",
50, "Comon Prize"
];
list log = [];
integer count = 0;
default
{
state_entry(){
llListen(gc, "", "", "");
}
touch_start(integer start_param){
if(llDetectedKey(0) == llGetOwner()){
llOwnerSay("総プレイ数 "+(string)count+" 回");
log = llListSort(log, 2, FALSE); // 高い順に並べる
integer i;
for (i=0; i < llGetListLength(log) / 2 ; i++){
llOwnerSay(""+llList2String(log, i*2+1)+" / "+llList2String(log, i*2)+"回");
}
}
}
listen(integer channel, string name, key id, string message){
if(message == ward){
key target = llGetOwnerKey(id);
string avatar = llKey2Name(target);
integer have = llGetListLength(choice) / 2;
integer total;
integer i;
for(i = 0 ; i < have; i++){
total += llList2Integer(choice, i*2);
}
integer number;
while(number == 0){
number = llCeil(llFrand(total));
}
integer conduct;
for(i = 0 ; conduct < number ; i++){
conduct += llList2Integer(choice, i*2);
}
string prize = llList2String(choice, (i-1)*2 + 1);
llSay(0, ""+avatar+"さんは "+prize+" をゲットしました!");
llGiveInventory(target, prize);
count = count + 1;
integer fmp = llListFindList(log, [avatar]);
if(fmp == -1) log += [1] + [avatar];
else{
integer new = llList2Integer(log, fmp-1) + 1;
list zanteilist = [new];
log = llListReplaceList(log, zanteilist, fmp-1, fmp-1);
}
}
}
}
// ここまで
どのスクリプト関数がどんな作用をしているかの説明は省略します。
最初の2行を、コイン制作時に使用したモノと同じ文字列に書きかえて保存します。
景品となるオブジェクトを、ガチャ本体の中に入れておきます。
景品オブジェクトは、何回わたしても無くならないようにしておいてください。
次に、レア度の設定をします。
list choice = [
1, "Rare Prize",
20, "UnComon Prize",
50, "Comon Prize"
];
これを書きかえます。例のとおりだと
Rare Prizeという名前のオブジェクトを、71分の1の確率でお渡しする
UnComon Prizeを、71分の20の確率でお渡しする
という具合です。
確率の数字、景品の名前、を交互に書きます。上限はありません。
数字の大小で、出現率を操作します。1以上の整数で書いてください。
数字の合計値は100である必要はありません。
景品名は " " でくくってください。
言うまでもなく、ガチャ本体の中に入っていない景品名を書いてはいけません。
数字と景品名の後ろには、 , を書いてください。ただしいちばん最後の景品名の後ろには書いてはいけません。
コインを誰かに使ってもらいましょう。
ガチャ本体のインベントリ内にあるオブジェクトを、
設定した割合に従って、コイン使用者へお渡しします。
ガチャ本体をタッチすれば、
今までの総合計プレイ数と、誰が何回プレイしたかを
製作者にだけ知らせてくれます。
これで、ガチャの作り方の話は、おしまいです。
タグ :説明書
2014年11月17日
コイン式ガチャ制作2of3

コイン1枚につき1回プレイできるガチャの作り方です。
連載3回のうちの第2回。
今回は、ガチャ本体の作り方です。
第1回コインの作り方
http://shadada.slmame.com/e1485447.html
第3回応用編
ここにアドレス
まず、ガチャ本体となるオブジェクトを用意します。
オブジェクトの名前は何でも良くて、リンクされたものでも良くて、
パーミッションも不問。
そのオブジェクトの中に、以下のスクリプトを入れます。
スクリプトの名前は何でも良くて、そのパーミッションも不問。
// ここから
integer gc = 1234567; // コインの数字と同じ
string ward = "デスペラード"; // コインの秘密の呪文と同じ
default
{
state_entry(){
llListen(gc, "", "", "");
}
listen(integer channel, string name, key id, string message){
if(message == ward){
key target = llGetOwnerKey(id);
string avatar = llKey2Name(target);
integer have = llGetInventoryNumber(INVENTORY_OBJECT);
integer i = have;
if(have == 0) llSay(0, "ガチャはカラッポです。");
else{
while(have == i) i = llFloor(llFrand(have));
string prize = llGetInventoryName(INVENTORY_OBJECT, i);
llSay(0, ""+avatar+"さんは "+prize+" をゲットしました!");
llGiveInventory(target, prize);
}
}
}
}
// ここまで
最初の2行を、コイン制作時に使用したモノと同じ文字列に書きかえて保存します。
景品となるオブジェクトを、ガチャ本体の中に入れたならば、
コインを誰かに使ってもらいましょう。
ガチャ本体のインベントリ内にあるオブジェクトを、
平等な確率で、コイン使用者へお渡しします。
これで、ガチャとしての最低限の体裁は保たれますが、
次回、レアアイテムの設定(アイテムごとの出現率をいじる)や、誰がプレイしていったかの記録
の方法を勉強します。
タグ :説明書
2014年11月09日
コイン式ガチャ制作1of3
コイン1枚につき1回プレイできるガチャの作り方です。
連載3回のうちの第1回。
今回は、コインの作り方です。
第2回ガチャ本体の作り方
ここにアドレス
第3回応用編
ここにアドレス
まず、コインとなるオブジェクトを用意します。
オブジェクトの名前は何でも良くて、リンクされたものでも良いですが、
パーミッションは、
□修正 □コピー ☑再販/プレゼント
そのオブジェクトの中に、以下のスクリプトを入れます。
スクリプトの名前は何でも良いですが、そのパーミッションは、
□修正 □コピー ☑再販/プレゼント
// ここから
string you = "Shadada Shan"; // 制作者のアバター名
string sim = "Trenza Resort"; // ガチャを設置するシム名
string word = "デスペラード"; // 秘密の呪文
integer gc = 1234567; // 好きな7ケタの数字
string comment = "ガチャの10m以内でタッチしてネ!"; // コインを持ち物から出したときのコメント
default{
state_entry(){
llSetText("このコインは使えません", <1, 0, 0>, TRUE);
}
touch_start(integer total_number){
if(llDetectedName(0) == you) state active;
}
}
state active{
state_entry(){
llSetText("", <1, 1, 1>, TRUE);
}
touch_start(integer total_number){
if(llDetectedKey(0) == llGetOwner()){
if(sim == llGetRegionName()){
llSay(gc, word);
llSetText("USED", <1, 1, 1>, TRUE);
llRemoveInventory(llGetScriptName());
}
else{
llWhisper(0, "説明: ここでは使えません。");
}
}
}
on_rez(integer start_param){
llWhisper(0, comment);
}
}
// ここまで
最初の5行を、好き勝手に書きかえますが、
秘密の呪文と、好きな数字は、他の誰も知りえないようなモノにします。
スクリプトを書きかえて保存したならば、
一度、そのオブジェクトをあなたがタッチします。
「このコインは使えません」の文字が消えたならば、有効な状態です。
そのコインを持ち物に戻して、何らかの方法で、プレイヤーに配ります。
このコインの利点は、
指定されたシム以外では使用できないので、
滅多なことでは、どんな通信をしているか他人に知られることは無い。
制作者のタッチが無いとコインとして有効にならないので、
なんとかしてスクリプトを抜き取って何回も使おうとしてもムダ。
という点。
このコインの弱点は、
ガチャの20m以内で使用しなければムダ使いになるので、
持ち物から出した時のコメントに気を利かす等の工夫が必要。
という点。
次回、ガチャ本体を準備して、このコインがうなるところを見ます。
連載3回のうちの第1回。
今回は、コインの作り方です。
第2回ガチャ本体の作り方
ここにアドレス
第3回応用編
ここにアドレス
まず、コインとなるオブジェクトを用意します。
オブジェクトの名前は何でも良くて、リンクされたものでも良いですが、
パーミッションは、
□修正 □コピー ☑再販/プレゼント
そのオブジェクトの中に、以下のスクリプトを入れます。
スクリプトの名前は何でも良いですが、そのパーミッションは、
□修正 □コピー ☑再販/プレゼント
// ここから
string you = "Shadada Shan"; // 制作者のアバター名
string sim = "Trenza Resort"; // ガチャを設置するシム名
string word = "デスペラード"; // 秘密の呪文
integer gc = 1234567; // 好きな7ケタの数字
string comment = "ガチャの10m以内でタッチしてネ!"; // コインを持ち物から出したときのコメント
default{
state_entry(){
llSetText("このコインは使えません", <1, 0, 0>, TRUE);
}
touch_start(integer total_number){
if(llDetectedName(0) == you) state active;
}
}
state active{
state_entry(){
llSetText("", <1, 1, 1>, TRUE);
}
touch_start(integer total_number){
if(llDetectedKey(0) == llGetOwner()){
if(sim == llGetRegionName()){
llSay(gc, word);
llSetText("USED", <1, 1, 1>, TRUE);
llRemoveInventory(llGetScriptName());
}
else{
llWhisper(0, "説明: ここでは使えません。");
}
}
}
on_rez(integer start_param){
llWhisper(0, comment);
}
}
// ここまで
最初の5行を、好き勝手に書きかえますが、
秘密の呪文と、好きな数字は、他の誰も知りえないようなモノにします。
スクリプトを書きかえて保存したならば、
一度、そのオブジェクトをあなたがタッチします。
「このコインは使えません」の文字が消えたならば、有効な状態です。
そのコインを持ち物に戻して、何らかの方法で、プレイヤーに配ります。
このコインの利点は、
指定されたシム以外では使用できないので、
滅多なことでは、どんな通信をしているか他人に知られることは無い。
制作者のタッチが無いとコインとして有効にならないので、
なんとかしてスクリプトを抜き取って何回も使おうとしてもムダ。
という点。
このコインの弱点は、
ガチャの20m以内で使用しなければムダ使いになるので、
持ち物から出した時のコメントに気を利かす等の工夫が必要。
という点。
次回、ガチャ本体を準備して、このコインがうなるところを見ます。
2010年08月10日
プリム面番号を知るスクリプト
default
{
touch_start(integer total_number)
{
integer face = llDetectedTouchFace(0);
llSay(0, "さわった面番号は "+(string)face+"");
}
}
面の番号を知るためのスクリプト。
タッチすれば面番号を教えてくれる。
{
touch_start(integer total_number)
{
integer face = llDetectedTouchFace(0);
llSay(0, "さわった面番号は "+(string)face+"");
}
}
面の番号を知るためのスクリプト。
タッチすれば面番号を教えてくれる。
2010年06月29日
イエローカード無料配布

がんばれにっぽん!応援グッズ
イエローカードつくったよ(´・∀・`)
カード提示アニメは
某有名うぃんきージェスチャー屋謹製。
イエローカードを装着してタッチすると
まわりにいる人の名前が表示されるから
名前を選ぶと
その人のところへ駆け寄っていって
イエローカードを提示します。
どこかで、カード手に入るかもしれないけど
ほしいひとは
Shadada Shanのプロフィールピックから
無料・フリーでゲットできます。
(ワールドカップ期間中ぽい)
さあ、お互いに、イエローカードを浴びせ合おうw
サッカーFIFAワールドカップ
タグ :作品
2010年06月05日
ミニチュアマップ
地面に置くと
置いたシムのマップ地図の画像テクスチャが表示される。
ボードをたたくと
付近96メートル以内にいる15人くらいまでの動きを
1分間サーチできる。
というシロモノを作った。

安全ピンのようなものをさしてアドレスとかテレポ仕込んでおくと
町の案内図みたいになっていいのかも!
タグ :作品
2010年03月27日
低プリムベンダー
低プリムなベンダーを作った!

↑↑↑ 2プリムベンダー=1ページにつき5個ずつ表示

↑↑↑ 3プリムベンダー=1ページにつき10個ずつ表示
商品紹介テクスチャはすべてUUIDで管理
フロートテキストが使えない場所では
テキストをOFFにすることもできる
もうひとつ説明文をつけておきたいときのために
商品紹介コメントを設定できる
↑↑↑ 2プリムベンダー=1ページにつき5個ずつ表示
↑↑↑ 3プリムベンダー=1ページにつき10個ずつ表示
商品紹介テクスチャはすべてUUIDで管理
フロートテキストが使えない場所では
テキストをOFFにすることもできる
もうひとつ説明文をつけておきたいときのために
商品紹介コメントを設定できる
タグ :説明書
2009年12月02日
アルカナタロットのスクリプト
とりわけネタが無いから
こんど、とあるパーティーで出す予定なミニゲーム
アルカナタロット占いのスクリプト全文を載せてみる。
占い・・といっても、占いとしての機能は一切ナシ(w)で
このゲームは
44種類の出目があるクジ引きゲームであって
そのうち3種類の出目が500L$を得られる大当たり、というシロモノ。
遊んでみてゼンゼン当たらないでいると
「ボクにだけ当てさせてくれないんじゃないーの?」
とグチがこぼれそうになるけど
内容を読めば、カンペキなランダムだなってナットクできるよ!
確認してみてd(。ゝε・。)Йё
仕組み
1200秒をひとつのラウンドとし
すべてのプレイヤーは1ラウンドにつき1回しかプレイできない。
タッチしたときに表示されるカードの画像は
44分割された1枚のテクスチャをllOffsetTextureで部分表示する。
条件分岐で
運命の輪・太陽・世界の正位置が出たときに大当たり判定をする。
list played = [];
integer count = 0;
integer limit = 1200;
integer seconds;
integer round = 1;
string win1name = "- - - - -";
string win2name = "- - - - -";
string win3name = "- - - - -";
string win4name = "- - - - -";
string win5name = "- - - - -";
text()
{
llSetText("Round "+(string)round+"\n"+(string)seconds+"\n最後の大当り\n#1 "+win1name+"\n#2 "+win2name+"\n#3 "+win3name+"\n#4 "+win4name+"\n#5 "+win5name+"",<0.4,1,0.4>,TRUE);
}
default
{
state_entry()
{
seconds = limit;
llSetTimerEvent(TRUE);
llOffsetTexture(0.583,0.375,ALL_SIDES);
llScaleTexture(0.16,0.247 ,ALL_SIDES);
text();
llRequestPermissions(llGetOwner(),PERMISSION_DEBIT);
}
touch_start(integer total_number)
{
if(llDetectedKey(0) == llGetOwner())
{
llOwnerSay((string)count);
}
string name = llDetectedName(0);
integer find = llListFindList(played ,[name]);
if(find == -1)
{
string nani;
float X; float Y;
float p = llFloor(llFrand(22));//llFloor小数点以下切り捨て
if (p== 0){X=0.748; Y=0.375;nani="0 愚者";}
else if(p== 1){X=0.913; Y=0.375;nani="I 魔術師";}
else if(p== 2){X=0.078; Y=0.375;nani="II 女司祭長";}
else if(p== 3){X=0.243; Y=0.375;nani="III 女帝";}
else if(p== 4){X=0.583; Y=0.125;nani="IV 皇帝";}
else if(p== 5){X=0.748; Y=0.125;nani="V 司祭長";}
else if(p== 6){X=0.913; Y=0.125;nani="VI 恋人";}
else if(p== 7){X=0.078; Y=0.125;nani="VII 戦車";}
else if(p== 8){X=0.243; Y=0.125;nani="VIII 力";}
else if(p== 9){X=0.583; Y=0.875;nani="IX 隠者";}
else if(p==10){X=0.748; Y=0.875;nani="X 運命の輪";}
else if(p==11){X=0.913; Y=0.875;nani="XI 正義";}
else if(p==12){X=0.078; Y=0.875;nani="XII 吊られた男";}
else if(p==13){X=0.243; Y=0.875;nani="XIII 死神";}
else if(p==14){X=0.583; Y=0.625;nani="XIV 節制";}
else if(p==15){X=0.748; Y=0.625;nani="XV 悪魔";}
else if(p==16){X=0.913; Y=0.625;nani="XVI 塔";}
else if(p==17){X=0.078; Y=0.625;nani="XVII 星";}
else if(p==18){X=0.243; Y=0.625;nani="XVIII 月";}
else if(p==19){X=0.408; Y=0.375;nani="XIX 太陽";}
else if(p==20){X=0.408; Y=0.125;nani="XX 審判";}
else {X=0.408; Y=0.875;nani="XXI 世界";}
float q = llFloor(llFrand(2));
string muki;
if(q == 1)
{
muki = "正位置";
llScaleTexture(0.16,0.247 ,ALL_SIDES);
}
else
{
muki = "逆位置";
llScaleTexture(-0.16,-0.247 ,ALL_SIDES);
}
llOffsetTexture(X,Y,ALL_SIDES);
llSay(0,""+name+"さんがチャレンジして、"+nani+" "+muki+" を引きました。");
played += name;
if(p*q == 10 | p*q == 19 | p*q == 21)//運命の輪・太陽・世界の正位置が出た時
{
llSleep(2.0);
llSay(0,"当たーりぃ!");
count++;
win5name = win4name;
win4name = win3name;
win3name = win2name;
win2name = win1name;
win1name = name;
text();
llGiveMoney(llDetectedKey(0),500);
}
llSleep(3.0);
llOffsetTexture(0.583,0.375,ALL_SIDES);
llScaleTexture(0.16,0.247 ,ALL_SIDES);
}
else
{
llInstantMessage(llDetectedKey(0),"間隔が短いです。次のラウンドまでお待ちください。");
}
}
timer()
{
seconds--;
if(seconds <= 0)
{
played = [];
seconds = limit;
round++;
}
text();
}
}
こんど、とあるパーティーで出す予定なミニゲーム
アルカナタロット占いのスクリプト全文を載せてみる。
占い・・といっても、占いとしての機能は一切ナシ(w)で
このゲームは
44種類の出目があるクジ引きゲームであって
そのうち3種類の出目が500L$を得られる大当たり、というシロモノ。
遊んでみてゼンゼン当たらないでいると
「ボクにだけ当てさせてくれないんじゃないーの?」
とグチがこぼれそうになるけど
内容を読めば、カンペキなランダムだなってナットクできるよ!
確認してみてd(。ゝε・。)Йё
仕組み
1200秒をひとつのラウンドとし
すべてのプレイヤーは1ラウンドにつき1回しかプレイできない。
タッチしたときに表示されるカードの画像は
44分割された1枚のテクスチャをllOffsetTextureで部分表示する。
条件分岐で
運命の輪・太陽・世界の正位置が出たときに大当たり判定をする。
list played = [];
integer count = 0;
integer limit = 1200;
integer seconds;
integer round = 1;
string win1name = "- - - - -";
string win2name = "- - - - -";
string win3name = "- - - - -";
string win4name = "- - - - -";
string win5name = "- - - - -";
text()
{
llSetText("Round "+(string)round+"\n"+(string)seconds+"\n最後の大当り\n#1 "+win1name+"\n#2 "+win2name+"\n#3 "+win3name+"\n#4 "+win4name+"\n#5 "+win5name+"",<0.4,1,0.4>,TRUE);
}
default
{
state_entry()
{
seconds = limit;
llSetTimerEvent(TRUE);
llOffsetTexture(0.583,0.375,ALL_SIDES);
llScaleTexture(0.16,0.247 ,ALL_SIDES);
text();
llRequestPermissions(llGetOwner(),PERMISSION_DEBIT);
}
touch_start(integer total_number)
{
if(llDetectedKey(0) == llGetOwner())
{
llOwnerSay((string)count);
}
string name = llDetectedName(0);
integer find = llListFindList(played ,[name]);
if(find == -1)
{
string nani;
float X; float Y;
float p = llFloor(llFrand(22));//llFloor小数点以下切り捨て
if (p== 0){X=0.748; Y=0.375;nani="0 愚者";}
else if(p== 1){X=0.913; Y=0.375;nani="I 魔術師";}
else if(p== 2){X=0.078; Y=0.375;nani="II 女司祭長";}
else if(p== 3){X=0.243; Y=0.375;nani="III 女帝";}
else if(p== 4){X=0.583; Y=0.125;nani="IV 皇帝";}
else if(p== 5){X=0.748; Y=0.125;nani="V 司祭長";}
else if(p== 6){X=0.913; Y=0.125;nani="VI 恋人";}
else if(p== 7){X=0.078; Y=0.125;nani="VII 戦車";}
else if(p== 8){X=0.243; Y=0.125;nani="VIII 力";}
else if(p== 9){X=0.583; Y=0.875;nani="IX 隠者";}
else if(p==10){X=0.748; Y=0.875;nani="X 運命の輪";}
else if(p==11){X=0.913; Y=0.875;nani="XI 正義";}
else if(p==12){X=0.078; Y=0.875;nani="XII 吊られた男";}
else if(p==13){X=0.243; Y=0.875;nani="XIII 死神";}
else if(p==14){X=0.583; Y=0.625;nani="XIV 節制";}
else if(p==15){X=0.748; Y=0.625;nani="XV 悪魔";}
else if(p==16){X=0.913; Y=0.625;nani="XVI 塔";}
else if(p==17){X=0.078; Y=0.625;nani="XVII 星";}
else if(p==18){X=0.243; Y=0.625;nani="XVIII 月";}
else if(p==19){X=0.408; Y=0.375;nani="XIX 太陽";}
else if(p==20){X=0.408; Y=0.125;nani="XX 審判";}
else {X=0.408; Y=0.875;nani="XXI 世界";}
float q = llFloor(llFrand(2));
string muki;
if(q == 1)
{
muki = "正位置";
llScaleTexture(0.16,0.247 ,ALL_SIDES);
}
else
{
muki = "逆位置";
llScaleTexture(-0.16,-0.247 ,ALL_SIDES);
}
llOffsetTexture(X,Y,ALL_SIDES);
llSay(0,""+name+"さんがチャレンジして、"+nani+" "+muki+" を引きました。");
played += name;
if(p*q == 10 | p*q == 19 | p*q == 21)//運命の輪・太陽・世界の正位置が出た時
{
llSleep(2.0);
llSay(0,"当たーりぃ!");
count++;
win5name = win4name;
win4name = win3name;
win3name = win2name;
win2name = win1name;
win1name = name;
text();
llGiveMoney(llDetectedKey(0),500);
}
llSleep(3.0);
llOffsetTexture(0.583,0.375,ALL_SIDES);
llScaleTexture(0.16,0.247 ,ALL_SIDES);
}
else
{
llInstantMessage(llDetectedKey(0),"間隔が短いです。次のラウンドまでお待ちください。");
}
}
timer()
{
seconds--;
if(seconds <= 0)
{
played = [];
seconds = limit;
round++;
}
text();
}
}
2009年11月15日
ランキングボード


指定したチャンネルで名前とスコアを通信すれば
自動的に記録を録り、上位10名をボードに表示しする
・・というランキングボードを作りました。
スコアには好きな単位をつけることができます。
L$、points、items、minutes、など・・
なんでもランキングできます!
*********************************************
セ ★ ツ ★ メ ★ イ
*********************************************
指定したチャンネルが 22360679 のとき
Shadada Shanさんのスコアを 1000 で記録するときは
名前とスコアの間に , をハサんで
/22360679 Shadada Shan,1000
と自分で発言するか、あなたの所有するオブジェクトに発言させます。
発言の届く範囲で記録します。shoutで発言すれば余ほど届くかも。
同じ人のスコアが記録されたときは、より高い記録に上書きされます。
たとえば、
なにかのゲームの成績結果をお知らせ表示するオブジェクトに
上記の形式で発言させる命令をしかければ
ランキングボードとして仕立て上がります。
もちろん、あなたが地道に発言して記録するのもアリですw
オーナーがボードをタッチしたときに表示されるダイアログのボタンは
押せば設定が変更されると共に説明が出ます。
チャンネル指定、記録を見る、単位の設定はダイアログで操作。
*********************************************
す ★ て ★ い ★ た ★ す
*********************************************
記録性能
およそ150名
表示性能
10名まで、半角英数字のみ
名前部分20文字、スコア部分10文字
31プリム
本体は単なる黒いパネルですが編集可能になっているので
テクスチャを貼ってお好みの掲示板にしてください。
文字の色を変えたければリンク部分のカラーを変更してください。
コピー可能なのでガンガン変形させてみましょう。
11月31日までの間
Shadada Shanのプロフィールピックの上のほうで展示されています。
見に来てみてd(。ゝε・。)Йё
2009年10月31日
支払い集計マシン1.03
支払い集計ツールが
1.03にバージョンアップされました。
お値段かわらず2480L$
1.02以前をすでに持っている人には無償で1.03を差し上げます。
売っている場所は
Shadada Shanのプロフィールピックの上のほうのどこかです(´・∀・`)
★★★変更・追加された点★★★
集計日数ごとに集計できるマシンについて
支払い金額ランキングを表示できる掲示板タイプの
プリム数がオトクになりました。
今まで、1プリムつき6文字表示できたものが
10文字表示できるように強化されました。
★★★★★★★★★★★★★★
1.01の紹介と
http://shadada.slmame.com/e743309.html
1.02の紹介も合わせてご覧ください。
http://shadada.slmame.com/e760461.html
以下説明書抜粋
★★★★★集計日数用マシン(上位10名表示:掲示板式)の説明
ふつうの集計日数用マシンと機能は同じですが
集計日数期間中の、支払いの多い人順が表示されます。
名前は20文字まで、支払額は10ケタまで表示。
表示しきれない文字は消えてしまいますが、記録に影響は無いです。
支払い額に単位としてL$の表示がついておらず、
掲示板の模様も、デフォルトでは単なる黒い板です。
これらはテクスチャを貼ったり、他のプリムを追加するなどして
お好みの掲示板に編集することが可能です。
コピー可なので失敗を恐れずに編集してみてください。
9名以下、11名以上の表示を希望の方は、
申し出てください。カスタマイズします。
1名分につき3プリム消費します。
10名用は31プリムです。
2009年10月24日
支払い集計マシン1.02
支払い集計ツールが
1.02にバージョンアップされました。
お値段かわらず2480L$
1.01をすでに持っている人には無償で1.02を差し上げます。
売っている場所は
Shadada Shanのプロフィールピックの上のほうのどこかです(´・∀・`)
★★★変更・追加された点★★★
集計日数ごとに集計できるマシンについて
支払い金額ランキング上位8名を表示できるタイプが2種類になりました。
画像の左=フロートテキスト式
画像の右=掲示板式
★★★★★★★★★★★★★★
1.01の紹介も合わせてご覧ください。
http://shadada.slmame.com/e743309.html
以下説明書抜粋
★★★★★集計日数用マシン(上位8名表示:フロートテキスト式)の説明
ふつうの集計日数用マシンと機能は同じですが
集計日数期間中の、支払いの多い人順が表示されます。
集計マシンとなったオブジェクトの名前が
そのまま表示タイトルになります。
表示テキストの長さによっては、8人まで表示されないかもしれません。
★★★★★集計日数用マシン(上位8名表示:掲示板式)の説明
ふつうの集計日数用マシンと機能は同じですが
集計日数期間中の、支払いの多い人順が表示されます。
名前は12文字まで、支払額は6ケタまで表示。
表示しきれない文字は消えてしまいますが、記録に影響は無いです。
支払い額に単位としてL$の表示がついておらず、
掲示板の模様も、デフォルトでは単なる黒い板です。
これらはテクスチャを貼ったり、他のプリムを追加するなどして
お好みの掲示板に編集することが可能です。
コピー可なので失敗を恐れずに編集してみてください。
上位7名以下、9名以上の表示を希望の方は、
申し出てください。カスタマイズします。
1名分につき3プリム消費します。
8名用は25プリムです。
2009年10月15日
ラッキーパネル
タッチ式ラッキー系客寄せベンダー
(ラッキーレターとかラッキーボードなんて言われているアレ)
の主流が
1プリム製品となりつつあって
よくある3プリム製品のモノは
すでに、お古
となったらしいw
よって
3プリムタイプのものを10L$で叩き売ります・・
コピー不可、トランスOK
定価10L$
プリムを気にしない人は
好きなだけ持って行ってください(´・∀・`)
Shadada Shanのプロフィールピックの上のほうの
どこかで販売しています。
タグ :ゲーム
2009年10月05日
コイン式ガチャ
コインで遊べるガチャを作りました。
見た目本体の造型はヘッポコだから
スクリプトだけ販売。
あなたも、オリジナルのコインを作って
宝探し・商品のオマケ・フィッシングなどで
コインを配ってガチャで遊んでもらおう!
定価200L$
コピー不可、再販/プレゼント可能
Shadada Shanのプロフィールピックの上のほうのどこかで販売中。
詳しい説明書も配布してるので読んでみてね(´・∀・`)
タグ :ゲーム
2009年09月30日
支払い集計マシン
某ジンゴ屋さんから依頼があって、こんなのを作って見ま下。
以下、インワールド中のノートカード説明書抜粋。
===============ここから
Payment Totaling Tool Exile ver1.01
家計簿、支払い集計、売り上げ集計、収支表、出納帳
==================================
支払い集計機のできること
==================================
支払いコマンドによって支払われた金額とそのアバター名を記録
集計日数ごとに記録できるマシンと永続的に記録できるマシンを御用意
シムを越えての集計不可
通信用スクリプトを仕込める・仕込んでもらえるモノに関して集計可能
ZYNGO、販売ベンダー、チップジャー等などの支払い状況を
口座履歴にログインしなくてもインワールドで記録でき
それぞれの操作や性能をジャマすることなく独自に集計します!
==================================
説明書
==================================
支払いをカウントしたいオブジェクトと集計マシンの間で
通信するためのスクリプトを用意してください。
持ち物>作成>新しいスクリプト
全テキストを以下に書きかえてください。
//ここから
integer channel = 1234567; //この7ケタの数字を書きかえる。
default
{
state_entry()
{}
money(key id, integer amount)
{
string name = llKey2Name(id);
llShout(channel,""+name+","+(string)amount+"");
}
}
//ここまで
●▲■●▲■●▲■●▲■●▲■●▲■
初めの行の1234567の数字を、好きな7ケタの数字に書きかえてください。
●▲■●▲■●▲■●▲■●▲■●▲■
スクリプトの名前は何でも良いです。
このスクリプトを好きなオブジェクトに仕込んでください。
そのオブジェクトの持つ他の機能のジャマはしません。
そのオブジェクトに対して
支払いコマンドによって支払われた金額とそのアバター名を
集計マシンで記録します。集計したいオブジェクトすべてに仕込みましょう。
集計マシンは、仕込まれたオブジェクトから100m以内で記録できます。
他人の所有するオブジェクトに関しては
同じチャンネルが書かれているスクリプトを仕込んでもらうことによって
そのオブジェクトの支払い状況もカウントできます。
==================================
日にちを区切って集計するか、区切らないで集計するか、の用途に応じて
総合記録用マシン[Shukei Machine ALL]
集計日数用マシン[Shukei Machine DAYS]
集計日数用マシン(支払い上位8名表示機能つき)[Shukei Machine DAYS+]
のどれかを置いてください。射程範囲は100mです。
同じチャンネルで両方のマシンを使ってもOKです。
マシンをオーナーがタッチするとメニューが出ます。
各種設定状況はダイアログメニューに表示されています。
●▲■●▲■●▲■●▲■●▲■●▲■
どちらのマシンであっても
まず「チャンネル」ボタンを押して
はじめに作ったスクリプトで書きかえた7ケタの数字を設定してください。
●▲■●▲■●▲■●▲■●▲■●▲■
・・以下ダイアログメニュー説明
===============ここまで
セカンドライフをプレイしながら集計できるというのが便利!
口座履歴みなくても、だれがいくら支払ってくれたかを管理できます。
説明の後半は端折ったけど、
直感で操作できるようなダイアログメニュー構成になっております。
気になるのは、記録可能人数・・
総合記録用では、およそ300人。
集計日数用では、各スロット300人ずつ。
どちらにしても、300人を越えないで運営できる自身のある人wは
ぜひ当品をご利用ください。
300人越えそうなときは、記録をノートに移し変えてリセットするなど工夫します。
集計日数用の、スロットが7まで埋まるとどうなるのか?
またスロット1から記録していきます。えんえんと。
ゲームセンター各種ゲーム機のバージョンが変わろうとも
これさえあれば、このさきずっと、集計名人!
定価2480L$
10月15日まで2000L$で販売します。
Shadada Shanプロフィールピックの上のほうのどこかで販売してます。
タグ :ゲーム