GWもあけてまたいつもの日常が戻ってきました・・・(;一_一)

そんなこんなで、久しぶりに更新していこうと思います。

 

前回まではこちら、

今回は合計金額の更新処理と支払いボタンの金額指定を追加したいと思います。

 

------------------------------------------

default

//スクリプトスタート

{

    state_entry()

    //スクリプト実行した時

    {

        llSetText("俺様のチップジャー 【合計金額の変数】L$", <1.0,1.0,1.0> , 1.0 );

    }

 

    money( key id, integer amount )

    {

        llInstantMessage(id, "ありがたき幸せ!!!!" );

       【【元の合計金額の変数】+頂いたチップの金額=【新しい合計金額の変数】】

 

    }

    【合計金額の変数を更新する】

 

//スクリプト終わり

}

------------------------------------------

 

まずは、変数を使って合計金額を表示させる方法を設定したいと思います。

L$表示は整数型なので【integer】を使いたいと思います。

 

------------------------------------------

//合計金額表示用

integer goukei;

//支払われた金額の追加

integer shiharai;

default

//スクリプトスタート

{

    state_entry()

    //スクリプト実行した時

    {

        llSetText("俺様のチップジャー" + goukei + "L$", <1.0,1.0,1.0> , 1.0 );

    }

 

    money( key id, integer amount )

    {

        llInstantMessage(id, "ありがたき幸せ!!!!" );

        //金額の更新

        goukei=goukei+shiharai;

        //テキスト更新用

        llSetText("俺様のチップジャー" + goukei + "L$", <1.0,1.0,1.0> , 1.0 );

    }

//スクリプト終わり

}

------------------------------------------

 

こんな感じになると思います。

ですが、テキストの項目でエラーが出ますね(;一_一)

 

理由は簡単で、テキスト表示用関数【llSetText】は文字列型しか使用出来ないからです。

なので、整数型を文字列型へ変換してみましょう。

 

 

------------------------------------------

//合計金額表示用

integer goukei;

//計算用合計金額

integer keisan;

default

//スクリプトスタート

{

    state_entry()

    //スクリプト実行した時

    {

        llSetText("俺様のチップジャー" + (string)goukei + "L$", <1.0,1.0,1.0> , 1.0 );

    }

 

    money( key id, integer amount )

    {

        llInstantMessage(id, "ありがたき幸せ!!!!" );

        //金額の更新

        goukei=amount+keisan;

        //テキスト更新用

        llSetText("俺様のチップジャー" + (string)goukei + "L$", <1.0,1.0,1.0> , 1.0 );

        //合計金額と計算用合計金額を同額にする

        keisan=goukei;

    }

//スクリプト終わり

}

------------------------------------------

 

これで、合計金額が加算されるようになったと思います。

 

!豆知識

【llSetText】のテキストを書くところへ

「"へのへのもじ"【半角スペース】+【半角スペース】string型変数」

と" + "を追加することで変数+テキストをひとまとめに表示することが出来るようになります。

 

では最後に支払い金額のボタンを指定できるようにしましょう。

グーグル先生に「lsl 支払い」で検索すると、でてきましたねー。

【 llSetPayPrice 】

( http://wiki.secondlife.com/wiki/LlSetPayPrice/ja )

 

ふむふむ、なるほど。

integer price=支払いフィールド。

list quick_pay_buttons=ボタンの金額っと・・・

 

【list】・・・?なにそれ美味しいの?

とりあえず書き方だけ下の例文を見て真似てみますか。

 

------------------------------------------

llSetPayPrice(10,[10,50,100,200]);

------------------------------------------

これでいいのかな?(いいのですb

さて、ではこれをスクリプトに追加すると・・・

 

------------------------------------------

//合計金額表示用

integer goukei;

//計算用合計金額

integer keisan;

default

//スクリプトスタート

{

    state_entry()

    //スクリプト実行した時

    {

        llSetText("俺様のチップジャー" + (string)goukei + "L$", <1.0,1.0,1.0> , 1.0 );

        //支払いボタンの設定。

        llSetPayPrice(10,[10,50,100,200]);

    }

 

    money( key id, integer amount )

    {

        llInstantMessage(id, "ありがたき幸せ!!!!" );

        //金額の更新

        goukei=amount+keisan;

        //テキスト更新用

        llSetText("俺様のチップジャー" + (string)goukei + "L$", <1.0,1.0,1.0> , 1.0 );

        //合計金額と計算用合計金額を同額にする

        keisan=goukei;

    }

//スクリプト終わり

}

------------------------------------------

 

今回は金額の支払いチェックは不要なので省略ですww

これできっと、動くはず・・・はず・・・

 

もっと綺麗に書けると思いますが、動作すればよかろうなのだ!w

以上、長くなりましたが、チップジャーのスクリプトはこれで完成です!

 

次回は何をしようかなぁ?