|
2007年08月14日
キャンプ系のスクリプト②
今回考えたのは 「チャットキャンプ」という物を考えてみました。
カフェとか足湯とかいろいろな所で人が集まっていることが
よくあると思うのですが、色々な目的でアバターが集まってきています。
そこでその集まる憩いの場所のような所で使ってもらえるような
スクリプトを考えました。
チャットキャンプ概要
人が集まる所でこの「チャットキャンプ」を設置すると
会話をしている人が自動的にキャンプに参加し
数分ごとに良く会話している人や常連の人、などを検索し
L$が支払われるというものです。
これによってキャンプのようなダンスパッドでダンスして放置とかじゃなく
コミュニケーションも広がり充実する空間が作られるのではないかなと
作ってみました。
しくみは チャットが届く範囲で会話をするとこのキャンプに参加します。
そのデータがWEBサーバーにデータ化され処理されます。
そのレスポンスをSL内で受け取り常連の方に獲得報酬として
支払われることになります。
これは通常のキャンプやダンスパッドみたいに
一人いくらの支払いという計算ではないので
支払うオーナーの方も負担が少なくなるのではないでしょうか。

かなりめんどくさかったけど、スクリプト自体は完成しました。
めんどくさいのはセンサーとリッスンをいかに負担を減らして
軽くするかということと、データ管理の方法やstate_entry()の
使い方で手こずったり、llListen、llSensorRepeatで
llHTTPRequestを起動しレスポンスを得るのに苦労しました。
何度も何度も違うパターンでHTTPレスポンスを得るので振り分けが
大変でした^^;
基本はこんな感じ
default
{
touch_start(integer total_number)
{
設定ファイルの読み込み
}
dataserver(key queryid, string data)
{
データサーバーから設定ファイルの情報を代入しています。
そのほか必要データも代入しています。オーナーの名前とかもね~
}
}
state main
{
state_entry()
{
ここで
llListen
llSensorRepeat
llSetTimerEvent
が動きますがかなり注意して使っています^^;
}
touch_start(integer total_number)
{
llRequestPermissions(llGetOwner(),PERMISSION_DEBIT);
ここではお金に関するパーミッションの確認を取っています。
これがないと始まりませんのでこれが有効になった時点で
メインプログラムの開始をしています。
}
sensor(integer total_number)
{
センサーでの動きはWEBサーバーからのレスポンスを見て
確答ユーザーが入るかどうかで支払い決定をしています。
}
listen(integer channel, string name, key id, string message)
{
ここではとにかく負荷の少ないように誰がチャットに参加して
どれぐらい常駐しているかなどを一撃必殺で確認しています^^;
ここで全てを確認するとキツイので工夫しまくりで・・・
支払い作業もここでしています。
}
timer()
{
llListenは問題ないのですがsensorの負担をもっと減らすために
タイマーも使っています。ここで規定外のユーザーの排除をしています。
}
run_time_permissions(integer perm)
{
ここはオーナーのL$支払いの許可がされたかどうかで振り分けています。
}
}
簡単に書くとこんな感じでできました。
もう少し負荷が減らせると思うので作業は進めて意向と思ってます。
充分今でもかるーく!!動いていますが・・・
完成したらお店に出してみまーす!
では潜ります・・・
カフェとか足湯とかいろいろな所で人が集まっていることが
よくあると思うのですが、色々な目的でアバターが集まってきています。
そこでその集まる憩いの場所のような所で使ってもらえるような
スクリプトを考えました。
チャットキャンプ概要
人が集まる所でこの「チャットキャンプ」を設置すると
会話をしている人が自動的にキャンプに参加し
数分ごとに良く会話している人や常連の人、などを検索し
L$が支払われるというものです。
これによってキャンプのようなダンスパッドでダンスして放置とかじゃなく
コミュニケーションも広がり充実する空間が作られるのではないかなと
作ってみました。
しくみは チャットが届く範囲で会話をするとこのキャンプに参加します。
そのデータがWEBサーバーにデータ化され処理されます。
そのレスポンスをSL内で受け取り常連の方に獲得報酬として
支払われることになります。
これは通常のキャンプやダンスパッドみたいに
一人いくらの支払いという計算ではないので
支払うオーナーの方も負担が少なくなるのではないでしょうか。

かなりめんどくさかったけど、スクリプト自体は完成しました。
めんどくさいのはセンサーとリッスンをいかに負担を減らして
軽くするかということと、データ管理の方法やstate_entry()の
使い方で手こずったり、llListen、llSensorRepeatで
llHTTPRequestを起動しレスポンスを得るのに苦労しました。
何度も何度も違うパターンでHTTPレスポンスを得るので振り分けが
大変でした^^;
基本はこんな感じ
default
{
touch_start(integer total_number)
{
設定ファイルの読み込み
}
dataserver(key queryid, string data)
{
データサーバーから設定ファイルの情報を代入しています。
そのほか必要データも代入しています。オーナーの名前とかもね~
}
}
state main
{
state_entry()
{
ここで
llListen
llSensorRepeat
llSetTimerEvent
が動きますがかなり注意して使っています^^;
}
touch_start(integer total_number)
{
llRequestPermissions(llGetOwner(),PERMISSION_DEBIT);
ここではお金に関するパーミッションの確認を取っています。
これがないと始まりませんのでこれが有効になった時点で
メインプログラムの開始をしています。
}
sensor(integer total_number)
{
センサーでの動きはWEBサーバーからのレスポンスを見て
確答ユーザーが入るかどうかで支払い決定をしています。
}
listen(integer channel, string name, key id, string message)
{
ここではとにかく負荷の少ないように誰がチャットに参加して
どれぐらい常駐しているかなどを一撃必殺で確認しています^^;
ここで全てを確認するとキツイので工夫しまくりで・・・
支払い作業もここでしています。
}
timer()
{
llListenは問題ないのですがsensorの負担をもっと減らすために
タイマーも使っています。ここで規定外のユーザーの排除をしています。
}
run_time_permissions(integer perm)
{
ここはオーナーのL$支払いの許可がされたかどうかで振り分けています。
}
}
簡単に書くとこんな感じでできました。
もう少し負荷が減らせると思うので作業は進めて意向と思ってます。
充分今でもかるーく!!動いていますが・・・
完成したらお店に出してみまーす!
では潜ります・・・
Posted by ヒロト at 22:44│Comments(3)
│スクリプト商品
この記事へのコメント
はじめまして。
Tackともうします。
現在、キャンプチェアをおいてカフェ運営しているんですけど、まぁ、目の前でawayする人の多いこと…。
コミュニケーション目的でお小遣いをもらってもらえばと思ったのに。
ということで、完成、公開を期待してますw
またお知らせくださーい!
Tackともうします。
現在、キャンプチェアをおいてカフェ運営しているんですけど、まぁ、目の前でawayする人の多いこと…。
コミュニケーション目的でお小遣いをもらってもらえばと思ったのに。
ということで、完成、公開を期待してますw
またお知らせくださーい!
Posted by Tack Rang at 2007年08月14日 23:11
こんばんわー
常連さんたちと楽しく過ごしながらお小遣い稼げる空間って
最高ですよね~
すごーく嬉しい書き込みアリガトウ!
完成したらまた公開しますので使ってみてくださーい!
常連さんたちと楽しく過ごしながらお小遣い稼げる空間って
最高ですよね~
すごーく嬉しい書き込みアリガトウ!
完成したらまた公開しますので使ってみてくださーい!
Posted by ヒロト
at 2007年08月15日 02:21

初めまして。こんにちゎ。
チャットキャンプの作り方についてもっと詳しく知りたいです!
お教え下さぃ!!
チャットキャンプの作り方についてもっと詳しく知りたいです!
お教え下さぃ!!
Posted by 佐伯☆綺羅 at 2008年05月31日 15:26