2009年04月21日
メタコマースで販売開始w
だいぶ昔に作ったものを
いまさらメタコマースで販売することにしましたw
誰でも作れそうなもので、誰かが欲しがってそうなので
誰かが売ってるだろうともって、売ってなかったのですが
知人に売ってほしいと言われたので、
意外と見つからないのあかなぁと思って、売ることにしましたw
でもXStreet内をめちゃ探せば、きっと誰か売ってると思うよ~
■メタコマース
http://shop.slmame.com/mtc/blogger/?action=article&gc=200904216921&sid=slmame.com
■XStreet
https://www.xstreetsl.com/modules.php?name=Marketplace&file=item&ItemID=1404433
■販売店舗www
http://slurl.com/secondlife/trenza/202/197/0
2009年04月15日
llKey2Name + 仕様を読まない人 = バグる
ええ、ちょっと感想みたいな かんじですが
llKey2Nameでオフラインの人の名前取得しようとして取得できなくて
んだ、どーなってんだ、リンデンまたいかれたか、などと思って
正常にllKey2Nameが動く日が来るのをまっていました・・・
まてどくらせど ぜんぜんFIXされないので 業を煮やして「llKey2Name 不具合」でググったら、
オフラインの人の名前は取得できないのが仕様だと書いてました・・・
リンデンさん・・・なんか・・・すいません・・・
llKey2Nameなんて名前返すだけの関数だとおもってなめてました。
いやほんとすいません・・・
ついでに、じぇにーさんもすいません・・・・
ちゃんと仕様が読める人間になりたいと思いました。
llKey2Nameでオフラインの人の名前取得しようとして取得できなくて
んだ、どーなってんだ、リンデンまたいかれたか、などと思って
正常にllKey2Nameが動く日が来るのをまっていました・・・
まてどくらせど ぜんぜんFIXされないので 業を煮やして「llKey2Name 不具合」でググったら、
オフラインの人の名前は取得できないのが仕様だと書いてました・・・
リンデンさん・・・なんか・・・すいません・・・
llKey2Nameなんて名前返すだけの関数だとおもってなめてました。
いやほんとすいません・・・
ついでに、じぇにーさんもすいません・・・・
ちゃんと仕様が読める人間になりたいと思いました。
2009年04月13日
文字列中の文字列を差し替える
ありそうで関数がなかったので作りました。
関数があったら教えてくださいwww
たとえば文字列Aに"(A)"という文字があったら、"山田"という文字列に差し替えたいとき
上の関数を使ったら簡単に差し替えれるというものですw
使い方は、下の通りに書けば文字列Aの中の(A)が山田に差し替えられています。
文字列A = ChangenText(文字列A,"(A)","山田");
関数があったら教えてくださいwww
string ChangenText(string src,string pattern,string dst)
{
integer start = llSubStringIndex(src,pattern);
integer end = start + llStringLength(pattern)-1;
src = llDeleteSubString(src,start,end);
src = llInsertString(src,start,dst);
return src;
}
たとえば文字列Aに"(A)"という文字があったら、"山田"という文字列に差し替えたいとき
上の関数を使ったら簡単に差し替えれるというものですw
使い方は、下の通りに書けば文字列Aの中の(A)が山田に差し替えられています。
文字列A = ChangenText(文字列A,"(A)","山田");
Posted by DK003 at
17:00
│Comments(2)
2009年04月12日
トレハンスクリプトを作った
トレハン用のスクリプトを作りました、はじめてのことでいろいろ戸惑ったw
ということで時系列に何をしたかメモ
・DBの設計(冗長気味に)
・ベンダー作成(SL&php)
・宝箱作成(SL&php)
・ガチャガチャ作成(SL&php)
どんなものかは、下のブログ参考にしてくだせー
http://petzmarket.slmame.com/e584745.html
http://dogcafe.slmame.com/e585961.html
http://turbo.slmame.com/e584892.html
●開発の所感
・データをどこ(ノート、DB、SLのメモリ)に置くか、もう少し検討したほうがよかった
・処理をどこ(SL、PHP、SQL)に書くか検討し、1つの処理で二回もHTTPRequestを書かないように
・HTTPRequestはurlとquery部分を1つの関数にまとめて書いたほうが後で見やすい
・phpファイルの名前をもう少しましにw
・DBのテーブルやなんかの命名ルールを決めるべき
●よかったところ
・利用者の自由度を減らしてでも、利用者の使いやすいものを作るという考え方 (ワイルドさんの教えです^^)
・ほしい統計データはうまくとれたと思う(参加者のイベント動向などの数値)
●反省点
・要求分析のあまさ、小規模開発向けの設計書の書き方を知らない点
・コミュニケーション能力の低さ(すぐに、いらっとしてしまう)
ということで時系列に何をしたかメモ
・DBの設計(冗長気味に)
・ベンダー作成(SL&php)
・宝箱作成(SL&php)
・ガチャガチャ作成(SL&php)
どんなものかは、下のブログ参考にしてくだせー
http://petzmarket.slmame.com/e584745.html
http://dogcafe.slmame.com/e585961.html
http://turbo.slmame.com/e584892.html
●開発の所感
・データをどこ(ノート、DB、SLのメモリ)に置くか、もう少し検討したほうがよかった
・処理をどこ(SL、PHP、SQL)に書くか検討し、1つの処理で二回もHTTPRequestを書かないように
・HTTPRequestはurlとquery部分を1つの関数にまとめて書いたほうが後で見やすい
・phpファイルの名前をもう少しましにw
・DBのテーブルやなんかの命名ルールを決めるべき
●よかったところ
・利用者の自由度を減らしてでも、利用者の使いやすいものを作るという考え方 (ワイルドさんの教えです^^)
・ほしい統計データはうまくとれたと思う(参加者のイベント動向などの数値)
●反省点
・要求分析のあまさ、小規模開発向けの設計書の書き方を知らない点
・コミュニケーション能力の低さ(すぐに、いらっとしてしまう)
2009年04月10日
llHTTPRequest関連メモ2
HTTPRequestは、オブジェクト単位で20秒間に25回まで!
だ、そうです。オブジェクト単位ね!間違えないように!!
while文でHTTPRequestを何度も発生させちゃだめ!とか、
コリジョンでRequest飛ばすようにしたりとかするとすぐリミットくるよ!
http://wiki.secondlife.com/wiki/LlHTTPRequest/ja
だ、そうです。オブジェクト単位ね!間違えないように!!
while文でHTTPRequestを何度も発生させちゃだめ!とか、
コリジョンでRequest飛ばすようにしたりとかするとすぐリミットくるよ!
http://wiki.secondlife.com/wiki/LlHTTPRequest/ja
2009年04月09日
llHTTPRequest関連メモ
llEscapeURL( 文字列 );
という関数があって、ウェブサイトにアクセスする際にクエリ文字列を転送するとき
そのクエリ文字列に空白をいれたいならllEscapeURL()を使う。
●例:
この通りにクエリ文字を送れば t e s tと文字が送られるが、
llEscapeURLを使わなければ、testと文字が送られる。
という関数があって、ウェブサイトにアクセスする際にクエリ文字列を転送するとき
そのクエリ文字列に空白をいれたいならllEscapeURL()を使う。
●例:
この通りにクエリ文字を送れば t e s tと文字が送られるが、
llEscapeURLを使わなければ、testと文字が送られる。
string url = "http://test.com/test.php";
string query = "?test="+llEscapeURL("t e s t");
llHTTPRequest(url+query,[HTTP_METHOD,"POST"],"");
2009年03月25日
近況報告
最近、オセロ作ってます。
沢山のデザイナーの人とサウンドの人と協力して作っています。
協力していただいている方にはほんと感謝です、いい刺激になってます!
あたりまえですが、協力して一つのものを作るのって楽しいですね
そして、試遊台(データベースのテスト)を置かせていただいている土地オーナーの方や
実際に遊んでいただいている方々の協力で完成に向かってます
もちろん遊んでいただいた方の意見を取り入れてブラッシュアップしています。
ということで、自動パス機能つけましたw
2009年02月10日
スクリプト講座開催のお知らせ(初級6)
本日2/10(火曜日)は、スクリプト講座(初級)をやります。
講座内容は、下記のとおりです。
6.関数とstate[22:00-23:00]
場所は、Trenza Cafe SANDBOX Eagleです。地図はこちら
今日で、初級講座最終回でーす。
来週からは場所を変えてやります、よろしく
全6回の講義を受けられると、スクリプトを読めるようになれます。
2009年02月10日
LSLをブログに貼る
昨日紹介した、LSLをブログに貼る記事に関してですが、
実際にslmameで設定するまでの手順を、
さぶろクリエイト様のブログを引用しまくって、説明します。
■大まかな流れ
・1.ブログを書く前の準備(一回やればいい)
・2.ブログを書く時の設定(以降、LSLを書くときの設定)
■1.ブログを書く前の準備(一回やればいい)
はじめに、上の画像のとおりの手順で、テンプレートのカスタムページに移動する。
次に、上の画像のとおり、トップページ/個別記事/アーカイブにある タグの手前に
<!-- ▼追加部分▼ -->から<!-- ▲追加部分▲ -->のスクリプトを貼り付けて登録ボタンを押す。
これで、ブログを書く前の準備は完了です。
<!-- ▼追加部分▼ -->
<link type="text/css" rel="stylesheet" href="http://public.webkai.net/SyntaxHighlighter.css" />
<script language="javascript" src="http://public.webkai.net/shCore4SLMaMe.js"></script>
<script language="javascript" src="http://public.webkai.net/shBrushLsl.js"></script>
<script language="javascript">
window.onload = function () {
dp.SyntaxHighlighter.ClipboardSwf = 'http://public.webkai.net/clipboard.swf';
dp.SyntaxHighlighter.BloggerMode();
dp.SyntaxHighlighter.HighlightAll('code');
}
</script>
<!-- ▲追加部分▲ -->
■2.ブログを書く時の設定(以降、LSLを書くときの設定)
つぎに、実際にブログにLSLを貼り付けるときの書き方を説明します。
と、いっても上の画像のとおり、スクリプトを<pre name="code" class="lsl">タグと</pre>タグで囲むだけです。
これで、完了ですね。実際にブログで記事を確認しましょう。
実際にslmameで設定するまでの手順を、
さぶろクリエイト様のブログを引用しまくって、説明します。
■大まかな流れ
・1.ブログを書く前の準備(一回やればいい)
・2.ブログを書く時の設定(以降、LSLを書くときの設定)
■1.ブログを書く前の準備(一回やればいい)
はじめに、上の画像のとおりの手順で、テンプレートのカスタムページに移動する。
次に、上の画像のとおり、トップページ/個別記事/アーカイブにある タグの手前に
<!-- ▼追加部分▼ -->から<!-- ▲追加部分▲ -->のスクリプトを貼り付けて登録ボタンを押す。
これで、ブログを書く前の準備は完了です。
<!-- ▼追加部分▼ -->
<link type="text/css" rel="stylesheet" href="http://public.webkai.net/SyntaxHighlighter.css" />
<script language="javascript" src="http://public.webkai.net/shCore4SLMaMe.js"></script>
<script language="javascript" src="http://public.webkai.net/shBrushLsl.js"></script>
<script language="javascript">
window.onload = function () {
dp.SyntaxHighlighter.ClipboardSwf = 'http://public.webkai.net/clipboard.swf';
dp.SyntaxHighlighter.BloggerMode();
dp.SyntaxHighlighter.HighlightAll('code');
}
</script>
<!-- ▲追加部分▲ -->
■2.ブログを書く時の設定(以降、LSLを書くときの設定)
つぎに、実際にブログにLSLを貼り付けるときの書き方を説明します。
と、いっても上の画像のとおり、スクリプトを<pre name="code" class="lsl">タグと</pre>タグで囲むだけです。
<pre name="code" class="lsl">
default
{
state_entry()
{
llSay(0,"Hello Avator!!");
}
touch_start(integer i)
{
}
}
</pre>
これで、完了ですね。実際にブログで記事を確認しましょう。
2009年02月10日
時:分:秒を表示したい。
今日の質問は、秒:ミリ秒と表示されるスクリプトを
時間:分:秒と表示するようにしたい との事ですが
元のスクリプトを見るとllGetTime()関数で取得した時間を、そのまま表示すると
秒.ミリ秒という表示になるので、これの表示方法を変えたらいいという事になります。
・元のスクリプト(秒.ミリ秒)
integer flg;
default
{
// 1.ストップウォッチ開始/停止切り替え
touch_start(integer total_number)
{
if(flg==TRUE){
llSetTimerEvent(0.0);
flg=FALSE;
}else{
llSetTimerEvent(0.01);
llResetTime();
flg=TRUE;
}
}
// 2.タイマー表示処理(秒.ミリ秒)
timer()
{
llSetText( (string)llGetTime(),<1.0,1.0,1.0>,1.0);
}
}
・修正済みのスクリプト(00:00:00 時:分:秒)
integer flg;
default
{
// 1.ストップウォッチ開始/停止切り替え
touch_start(integer total_number)
{
if(flg==TRUE){
llSetTimerEvent(0.0);
flg=FALSE;
}else{
llSetTimerEvent(0.01);
llResetTime();
flg=TRUE;
}
}
// 2.タイマー表示処理(00:00:00 時:分:秒)
timer()
{
integer now = (integer)(llGetTime());
string sec = (string)(now%60);
string min = (string)(now/60);
string hor = (string)(now/3600);
if(llStringLength(sec) == 1)sec="0"+sec;
if(llStringLength(min) == 1)min="0"+min;
if(llStringLength(hor) == 1)hor="0"+hor;
llSetText( hor+":"+min+":"+sec,<1.0,1.0,1.0>,1.0);
}
}
■このスクリプトのポイント
ストップウォッチとしては、前のスクリプトが正しいのですがw
string sec = (string)(now%60);という記述をしていますが、
%60と記述すると60で割った余りの値を返すので、これで秒をあらわせる事が一点と、
おまけの処理なのですが、if(llStringLength(sec) == 1)sec="0"+sec;と記述することで
1秒とか一桁の数値の時に、01という風に二桁で表記するようにしている点です。