ラベル 集客用品 の投稿を表示しています。 すべての投稿を表示
ラベル 集客用品 の投稿を表示しています。 すべての投稿を表示

2010年11月12日金曜日

Zone camp V1.2.1

ゾーンキャンプに付けてるアンチボット(キャンプボット避け)なんですが、お客様からご要望があったので改良いたしました^^

V1.1.0まではログインのときだけアンチボットのダイアログが出せたのを一定時間毎のチェックもできるように変更したんですよ。メニューからOFF、一度のみ(ログイン時)、10分、15分、30分、45分、60分、90分、120分間隔の切り替えが可能です。

旧バージョン(V1.1.0以上)をお持ちのお客様は、装置を持ち物から出したときにアップデート品が届くと思いますので宜しくお願いします^^

Zone campはL$400で発売中です♪

2010年10月16日土曜日

現在ピックギフト配布装置が動きません><

すっかり放置モードになってしまって1ヶ月ぶりの投稿ですね^^;;

お客様からProfile Picks gift giverが動作していないとのご報告を頂きまして、原因を調べてみたらレンタルしてる外部サーバーが落ちているらしくて接続できなくなっていました。

動かなくなったのは昨日ぐらいかららしくて、タッチしたらStatus 499のエラーを返します。(外部のネットワークに接続できないエラー)

外部サーバー(Hayasoftさん)が復旧する見込みとかは、今のところ全くわからないんですが、何か情報が入りましたらこの記事に追記する予定です。なのでピックギフト配布装置をご利用の皆様には、ご迷惑をお掛けしますが宜しくお願いいたします。m(_ _)m

10月19日追記: サーバーまだ復旧しません。何日も落ちたままなんて、もしかしたら辞めてしまわれたって事も考えられなくもないですね。。。?
Profile Picks gift giver dose not work since last Saturday or Sunday. That problem is the rented external server that was downed... sorry.

10月20日追記: 今日20時頃サーバーに接続してみたらやっとつながりました。ピックギフト配布装置も動作OKです。。。良かった^^
Our external server returned on Oct 20 and Profile Picks gift giver works again!

2010年7月20日火曜日

ピックギフトのスクリプト

今回はプロフィールのピックに土地を登録して頂いてる方にオブジェクトを渡す、簡単なピックギフト配布装置のスクリプトです^^ LSLだけでは無理なのでPHPなどが使える外部サーバーをご用意くださいね。

http://blogs.secondlife.com/community/technology/blog/2010/07/08/search-todays-release
ピック登録はもうサーチランクに影響しなくなったんですが、ピックを見て来てくれる人もいるし、沢山の方のピックに登録されてれば知名度とかは上がるんじゃないかなって思います。

今月、プロフのウェブページの仕様が変わってピックの部分だけ独立したページになりました。それでうちで販売してた装置も動作不能に陥ったんですが、購入者様は現在修正版をご入手可能です。

ピックの出てるアドレスはhttp://world.secondlife.com/resident/アバターUUID/picksなので、このページをチェックする部分を外部サーバーに置いたスクリプトで処理します。まずLSLスクリプトです。土地のUUIDはllGetParcelDetailsにサーバー1.36で追加されたPARCEL_DETAILS_IDで調べます。
// Profile picks gift
string url="http://○○○.××/picks.php";  // 外部サーバーに置いたスクリプトのアドレス

default
{
    touch_start(integer total_number)
    {
        key id=llDetectedKey(0);  // タッチしたアバターのキー
        if (id) {
            key place=llList2Key(llGetParcelDetails(llGetPos(),[PARCEL_DETAILS_ID]),0);  // 土地のUUID取得
            llHTTPRequest(url,[HTTP_METHOD,"POST", HTTP_MIMETYPE,"application/x-www-form-urlencoded"],"place="+(string)place+"&id="+(string)id);  // 外部サーバーにデータを送ってチェック
        }
    }

    http_response(key request_id, integer status, list metadata, string body)
    {  // HTTPレスポンス
        if (status != 200) llWhisper(0,"Error - status "+(string)status);  // ステータス200以外はエラー表示
        else {
            body=llStringTrim(body,STRING_TRIM);  // 改行コードを除去
            list l=llCSV2List(body);  // カンマで分割してリストに格納
            key id=llList2Key(l,0);  // アバターのキー
            string result=llList2String(l,1);  // 結果
            if (id) {
                if (result == "OK") {  // OKだったら
                    llGiveInventory(id,llGetInventoryName(INVENTORY_OBJECT,0));  // コンテンツ内の最初のオブジェクトを渡す
                    llInstantMessage(id,"Thank you for having our place in your picks.");
                }
                else {  // NGのとき
                    llInstantMessage(id,"Our place not found in your picks. ('Show in search' must be enabled) Please add this place in your picks and try again 1 or 2 days later.");
                }
            }
            else llOwnerSay("Data error!");
        }
    }
}

そして外部サーバーに設置するPHPスクリプトです。ピックに土地のキーが載ってれば「アバターUUID,OK」、載ってなかったら「アバターUUID,NG」を出力します。
<?php
// picks.php

// フォームデータ取得
$id=isset($_REQUEST['id'])? $_REQUEST['id']:"";  // アバターのキー
$place=isset($_REQUEST['place'])? $_REQUEST['place']:"";  // 土地のキー

if (!$id || !$place) exit;  // フォームデータがなかったら終了

// プロフィールのピックページからデータ取得
$data=implode("",file("http://world.secondlife.com/resident/".$id."/picks"));

// 土地のキーの有無を調べて結果を出力
if (strpos($data,'/place/'.$place.'">')) echo $id.",OK";
else echo $id.",NG";
?>

PHP対応してないサーバー用に一応Python版も書いてみました。うちで借りてるサーバーはPython対応じゃなかったので、きちんと動作テストできてないですけどw
#!/usr/bin/env python

# picks.py

import sys,urllib,cgi

form=cgi.FieldStorage()
id=form.getvalue("id")
place=form.getvalue("place")

print "Content-Type: text/plain; charset=UTF-8\n\n"

if id == None or place == None:
  sys.exit()

fp=urllib.urlopen("http://world.secondlife.com/resident/"+id+"/picks")

if fp.read().find('/place/'+place+'">') > -1:
  print id+",OK"
else:
  print id+",NG"


え? Perlですか? Perlはちょっと文法が嫌いなので。。。す、すみません>< 今度できたら載せたいと思います。;

2時10分頃追記: Pythonは500エラー出たので日本語のコメント行消しました。たぶんコメントでも日本語を入れるときは文字コード指定みたいなのがいるんですかね?

22時20分頃追記: Pythonの文字列検索部分に>が抜けてたので付け加えました。

7月21日追記: Perlも書けたので載せます^^
#!/usr/bin/perl

# picks.pl

use CGI;
use LWP::Simple;

# フォームデータ取得
$q=new CGI;
$id=$q->param('id');
$place=$q->param('place');

# サーバー用ヘッダ
print "Content-Type: text/plain; charset=UTF-8\n\n";

# フォームデータがなかったら終了
if ($id eq "" || $place eq "") {
  exit;
}

# プロフィールのピックページからデータ取得
$data=get("http://world.secondlife.com/resident/$id/picks");

# 土地のキーの有無を調べて結果を出力
if (index($data,'/place/'.$place.'">') > -1) {
  print "$id,OK";
}
else {
  print "$id,NG";
}



2012年1月5日追記: Pythonですが、Google App Engineを使用する場合はurllibが使えないので urllib.urlopen の代わりに urlfetch.fetch を使用します。

2010年7月13日火曜日

マネーキャンプに自動起動モード追加

キャンプ規制でマネーキャンプは特に厳しく取り締まられてるんじゃないかなって思うんですが、マネーキャンプ全機種に時間をノートで設定して日に一度だけ自動起動・停止ができるようにバージョンアップしました。

以下3機種はV1.3.0になります。Camping chairは1台も売れなかったので廃止しましたwww
Camping dance pad
Camping cross
Camping sit

また、ゾーンキャンプはランダムチャットマネー、ランダムマネーギバーと同じように時間と曜日で自動起動可能なようにして一応オートアップデートも取り付けました。
Zone camp V1.1.0
それでこの機種はついでにL$400に値上げしてますw

ゾーンキャンプは旧バージョン購入者様にお送りしましたが、その他のマネーキャンプ用品もご希望ありましたら対応いたしますので宜しくお願いします^^

2010年7月10日土曜日

Profile picks gift giver V1.3.0

現在は販売してない装置なんですが、アバターのプロフィールページが仕様変更されてピックギフト配布装置が動作しなくなったので、PipesをPHPに変更して動くように修正いたしました。

V1.2.1~1.2.2を持ち物から出すと、オートアップデートで修正版が届くと思いますので宜しくお願いします。

Profile picks gift giver customer,
Avatar profile web page has been changed by Linden lab and this device V1.2.2 and older version can not work now. Please use updated V1.3.0. (rez V1.2.1 or 1.2.2 to get)

2010年7月9日金曜日

ピックギフト配布装置が不動に><

アバタープロフィールのウェブページの仕様が変わって、プロフィールピックギフトギバーが動かなくなってました;;

何かピックの部分だけ独立したページになってて、JavaScriptでプロフに埋め込みするよう変わったみたいなんですよ。
http://world.secondlife.com/resident/アバターUUID/picks
それでこのピックだけのページはきちんとしたHTMLで書かれてないので、Pipesだとエラーになって取得できませんでした;;
んー、これってサーチランクのピックギフト対策なんでしょうか? でもPHPでは普通にアクセスできたので意図がよくわかりません。

それからプロフ写真も昔のimgタグ部分のURLから拾う方法はもうダメみたいですね。

まあとにかく、早急にPHPで対応したものに改造したいと思ってますので、ピックギフト配布装置をご利用のショップ様は申し訳ございませんが、暫くお待ちくださいますようお願いします。

7月14日追記: ピックギフト配布装置は一応PHPに修正していますが、もうピックはサーチランクに影響しなくなったみたいですね;
Search: Today's Release
Search: Upcoming Release

2010年6月16日水曜日

ランダムチャットマネー、ランダムマネーギバーに自動起動モード追加

ご要望がありましたので、Random chat moneyRandom money giverに起動時間、停止時間と曜日で設定することで、日に一度だけですが自動的に稼動できる機能を取り付けてみました。カフェやバーなど営業時間が決まってるお店なんかで便利じゃないでしょうかね?^^

バージョンはどちらもV1.1.0になります。それでついでに修正したオートアップデートも取り付けて値段も値上げしました^^;
Random chat money L$350
Random money giver L$300

旧バージョンをお買い上げのお客様には、近日中にアップデート品をお送りしたいと思ってますのでどうぞ宜しくお願いします。

他機種のオートアップデートも全て修正しました。でも数が多すぎるので暫く様子を見てみたいと思います。。。絶対動かないんじゃなくて、時々動く場合があるのでPipesの仕様が修正されて直らないか期待してたり^^;;

23時50分頃追記: 先ほどランダムチャットマネー、ランダムマネーギバー共にアップデート品の発送完了しました。受け取れなかった方おられましたら、再送しますのでご連絡くださいね。

2010年6月12日土曜日

Profile picks gift giver, network error fix

Yahoo! Pipesの仕様がちょっと変わって、自分で設定したアドレスはリダイレクトされるようになってたんですね。その影響でうちの一部のスクリプト製品が正常に動かなくなってました;;

不具合の出たスクリプトはプロフィールピックギフトギバーとオートアップデートです。オートアップデートを採用してる全機種のアップデート機能は全滅で、プロフィールピックギフトギバーはError 302と表示されて、ピックの照合もギフトの手渡しもできません。何度もテストしてみたら、10回か20回に1回ぐらいは動作するみたいですけど、これじゃあ全然使えないですよね。

プロフィールピックギフトギバーは既に自動発送装置でお客様に修正品V1.2.1をお送りいたしましたが、万が一受け取れなかったお客様いらっしゃいましたら、お手数ですがご連絡くださいますようお願いします。

でもオートアップデートを使ってる残りの機種はどうしましょう?(悩;

17時40分頃追記:
The specification of Yahoo Pipes has changed and the auto update script in my products and Profile picks gift giver not work.
But Profile picks gift giver has fixed and fixed that V1.2.1 was already sent to the customer. If you are a customer of this device and if you have not received, please IM me.

2010年4月19日月曜日

Profile picks gift giver V1.2.0

サーバーのバージョン1.36から土地のUUIDキーをllGetParcelDetailsで取得可能になってるってことに気がついたので、それに合わせてプロフィールピックギフトギバーを改良しました。

今までは自分のピックに土地を登録して、それをもとに手動でUUIDを入力しなきゃいけなかったんですが、本バージョンからはそのような面倒なセットアップ作業は全く不要で、ギフトを入れて置くだけで動作するようになりました^^

ちょっとややこしいセットアップだったので結構お問い合わせがあったんですよ。でもこれでもうその心配もないですねw

この装置はオートアップデートを付けてるので、旧バージョンをお持ちの方は持ち物から出して頂いたらアップデート品を自動でお受け取りできます。宜しくお願いします^^

2010年3月21日日曜日

ラッキーレターに足跡のパーティクル

ラッキーレターに猫の足跡みたいなパーティクルを追加しました^^

海外のお客様からそういうパーティクル付けられないかって聞かれて作ってみたんですが、これって結構かわいいですね^^ 動物とか扱ってるお店なんかは特に良いんじゃないでしょうか^^

それからついでにパーミッションチェックの部分にコピー権限もチェックするようにしました。コピー不可のものは持ち物から出すときに何となくわかるかなって思ってたので、そこまでチェックしてなかったんですよ。でもオブジェクトの中に入ってるアイテム(スクリプトとか)とオブジェクトのパーミッションが異なる場合は、持ち物から出したとき中のものの影響を受けるような気がするんですね。なので今後は他の製品も同様に修正していく予定です。

ラッキーレターの現在のバージョンです。
Lucky letter V1.6.4
Lucky letter one V1.0.7
旧バージョン(オートアップデート対応版~)を持ち物から出したときに、アップデート品が届くと思いますので宜しくお願いします^^