ラベル サポート の投稿を表示しています。 すべての投稿を表示
ラベル サポート の投稿を表示しています。 すべての投稿を表示

2018年7月24日火曜日

L$ Exchange Rate Board V1.1.0

L$ Exchange Rate Boardなんですが、2週間前ぐらいから動作してないことに気が付きました。そのときは、サーバーが調子悪いんじゃないかな?って思って、きっと数日後にはケロッと直ってるはず!って期待してたんですよ。でも1週間過ぎても直らないので、もう流石に知らないふりはできないなって思い始めて、色々と調べてみると原因はllHTTPRequestに関わるバグで、もう1ヶ月か2ヶ月くらいバグ修正されてないみたいでした。#BUG-216320

簡単に書くと、現時点で下記みたいにllHTTPRequestからSLのライブデータフィードを取得しようとすると499エラーが出ます。
// 取得するライブデータフィードURL
string url="http://secondlife.com/httprequest/homepage.php";

default
{
    touch_start(integer total_number)
    {
        key id=llDetectedKey(0);  // タッチしたアバターのキー
        if (id == llGetOwner()) {  // それがオーナーなら
            llHTTPRequest(url, [], "");  // HTTPリクエスト実行
        }
    }

    http_response(key request_id, integer status, list metadata, string body)
    {  // HTTPレスポンス
        if (status == 200) {  // 正常(ステータスコードが200)なら
            llOwnerSay(body);  // データ内容を表示
        }
        else {  // エラーのときはエラー番号を表示
            llOwnerSay("エラー HTTP status "+(string)status);
        }
    }
}

SL公式のデータフィードがインワールド内からゲットできなくなるなんて想定外だったので、現バージョン(当装置にはバージョン表記ないですけど一応V1.0.0かな?)のL$ Exchange Rate Boardはエラーも出さなくて、全くうんともすんとも言わない有様です^^; ちなみにライブデータフィードは普通にウエブブラウザで開くとエラーもなく開けるんですよ。なので外部サーバーを経由させてデータを取得するように改造しました。。。わざわざ外部サーバー使うって、何かバカみたいなんですけどねw まあエラー出たときだけ外部サーバーに頼るって感じの改良です。

今までにL$ Exchange Rate Boardをお買い上げ頂いたお客様には既にV1.1.0をお送りました。もし受け取れなかったお客様は再送しますのでご連絡くださいね。

2012年2月10日金曜日

ベンダー利益分配アドオンスクリプト発売

時々うちのベンダーで売り上げを分配できないか?っていうお問い合わせがあるんですが、アバター1人に分配するだけだったら簡単なので、その都度ベンダーを改造して対応してたんですね。でもそういう需要も結構あるような気がしたので、ベンダーに追加して使うスクリプトとして販売することにしました^^ まあホント言うと1年ぐらい前から試作品を作ってて、それ以来ご希望のお客様にはそのスクリプトをお渡しして対応してたんですけどね。。。^^;

Vendor split profit add-on script動作対象機種はうちで販売してるベンダー全機種(商品ベンダー、アニメーションベンダーなど)です。パートナーととかコラボで作ったアイテムなどの販売にご利用くださいね。分配できる人数は特に制限してないです。たぶん10名とかでも動作すると思います。ベンダーのコンテンツ内にスクリプト本体と設定用ノートを入れたら黄色いダイアログ(L$口座引き落とし)が出るので許可して、ノートにアバターのキーと分配率を記入するだけでオッケーです。

分配するアバターのキーがわからなかったら、Avatar key finderっていう装置が付属してるのでこれで調べられます。(LSL CON 2009で配布したのとほぼ同じですが、スクリプト修正不可、譲渡不可、PipesじゃなくてGoogle app engine仕様になってます)

お値段はL$30にしました。宜しくお願いします^^


2015年6月8日追記: 何か随分前から検索画面が仕様変更されてたんじゃないかな?って気がするんですが、付属のAvatar key finder 2Eでアバターキーが検索できなくなってたので、Google app engineのコードを修正しました。外部サーバーでの修正のみですので、本装置をお持ちのお客様は買い替えしなくても再び動作するようになってると思います。

2011年2月12日土曜日

別の世界

最近セカンドライフと別のグリッドっていうか、別の仮想世界に関するお問い合わせが2件相次いであったんですね。

1件はうちのスカルプトテクスチャ(フリー配布のスカルプに付属の)をInWorldzで使ってもいいかっていうご質問と、もう1件はうちのベンダーをAvinationでも使いたいので登録してたらアカウント名を教えて欲しいって感じのお問い合わせでした。

うちの製品を別の世界でも使いたいなんてご意見ホント嬉しいんですが、私はリンデン・ラボ以外でそういうしっかりしたOpenSimみたいなのが運用されてるって事、今まで全然知らなかったんですよ^^;

2010年7月29日木曜日

ラッキーレター、グループジョイナー、オンラインインジケータのアップデートサービス

オートアップデートが動かなくなったLucky letter V1.6.6、Lucky letter one V1.0.10までのバージョン購入者様と、アバタープロフィール、グループプロフィールのウェブページ仕様変更で正しくセットアップできなくなったGroup joiner V1.0.2、Online indicator V1.1.3までの購入者様用に、タッチで最新版を受け取れる看板をMansion Mall店Market Beach Mall East店に設置しました^^

以下の対象バージョンをお持ちの方、是非ご利用頂けたらと思います。
Lucky letter V1.6.6 以前、Lucky letter one V1.0.10 以前(2010年6月15日まで販売)
Group joiner (type1/type2) V1.0.2 以前(2010年7月10日まで販売)
Online indicator V1.1.3 以前(2010年7月10日まで販売)

転送可能版のオンラインインジケータ(Online indicator V1.1.3(MT)、Online status LCD monitor V1.0.4以前)は交換とさせて頂きますので、お手数ですがご連絡くださいね。宜しくお願いします。

2011年3月21日追記: 昨年12月にアップデートデリバリーサーバーを引越しさせた際にXML-RPCのチャンネル設定ミスで動かなくなったまま3ヶ月以上(?)も気がつきませんでした。現在は修正済です。。。申し訳ありません><;

2012年12月16日追記: アップデートボードによるアップデートサービス終了しました。ご利用ありがとうございました。

2010年7月6日火曜日

動作不良で賞品が渡されてなかった;;

先月ベルローズ店に設置してるラッキーレターの賞品にビューワー2用ビデオプレーヤーを入れたんですが、そのときラッキーレターのスクリプトも最新バージョンに入れ替えたつもりだったんですね。でも手違いで2本目のスクリプトが古いバージョンのままだったので、きちんと動作しなくて当選しても賞品が渡されてませんでした ><

それで、ログを頼りに当選者様には賞品を発送いたしましたが、6月1日~2日あたりはログが流れてしまってて確認できませんでした。申し訳ございません。

お問い合わせ頂いてやっと気がついたんですよ。。。orz

2010年2月26日金曜日

YouTubeのMP4アドレスを取得するPHP

ビューワー2の正式版がリリースされたらユーチューブ対応テレビは不要になるかもですけど、YouTubeMP4みたいにYouTubeのアドレスをMP4ファイルのダウンロード用アドレスに変換してリダイレクトするPHPスクリプトを公開します。YouTubeMP4が重くて利用できない(負荷が高い時間帯に使えない)ことがよくあるので、この前販売中止したYouTube TV screenのサポート用として書いたものの公開なんですが、他の用途で使って頂いてもオッケーです^^

PHP対応してるHTTPサーバーをお持ちの方に限られますが、このスクリプトを自分のサーバーに設置してyoutubemp4.comの代わりにTVの変換サーバーに設定してください。そうすればYouTube自体が重いとき以外はいつも視聴可能になると思います^^

<?php
// YouTube MP4 address converter

$v=$_GET['v'];
if (!$v) {  // ビデオIDチェック
  echo "Video id not found.\n\n";
  echo "Usage, \n";
  echo "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."?v=VideoID\n";
  exit;
}

function get_location($url)
{  // MP4アドレスを取得
  $addr=parse_url($url);
  $port=isset($addr['port'])? $addr['port']:80;
  $fp=fsockopen($addr['host'],$port,$errno,$errstr,30);
  if (!$fp) echo "$errstr ($errno)\n";
  else {
    $data="HEAD ".@$addr['path']."?".@$addr['query']." HTTP/1.1\r\n";
    $data.="Host: ".$addr['host']."\r\n";
    $data.="Connection: Close\r\n\r\n";
    fwrite($fp,$data);
    while (!feof($fp)) $header.=fgets($fp,128);
    fclose($fp);
    preg_match("/\s+Location: +(.*)\s/",$header,$m);
    return $m[1];
  }
}

// YouTube動画ページ取得
$youtube="http://www.youtube.com/watch?v=".$v;
$str=implode("",file($youtube));
if (!$str) {
  echo "Can't open ".$youtube.".\n";
  exit;
}

// tの値取得
if (preg_match("/['\"]SWF_ARGS['\"]\s*:\s*\{(([^\}]|\s)*)\}/",$str,$m)) {
  $str=$m[1];
  if (preg_match("/\"t\"\s*\:\s*\"([^\"]*)\"/",$str,$m)) $t=$m[1];
}

// リダイレクト先取得用アドレス
if (isset($t)) $str="http://www.youtube.com/get_video?fmt=18&video_id=".$v."&t=".$t;
else $str="";

if ($str) {
  $str=get_location($str);  // リダイレクト先チェック
  if ($str) {
    header("Cache-Control: no-cache, must-revalidate");
    header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
    header("Location:".$str,true,302);  // MP4アドレスにリダイレクト
  }
  else echo "Can't get moved location.\n";
}
else echo "Can't get data from ".$youtube.".\n";
?>

スクリプト名をwatch.phpにしたら http://○○○.××/△△△/watch.php?v=Wv20U7rJuwU って感じで呼び出すようにしてくださいね。(Wv20U7rJuwUの部分がビデオIDになります)

2月28日追記: このPHPを呼び出すテレビやプレーヤーなどを自作される場合、LSLはYouTube-mp4アドレス変換スクリプトとかが参考になると思います。

3月22日追記: コメントにありますように、YouTubeの仕様が変わったようなので現在このスクリプトは使えません;;

2010年1月22日金曜日

veohはもうダメかな。。。

YouTube TV screenYouTube以外はQuickTime player対応のムービーしか対応してないんですが、去年秋頃にお客様からveohは見れないかって聞かれたことがあって、そのときveohの動画はVeohMP4を利用するように改造したものを作ってみたんですね。

でもveohのは全部見れるってわけじゃなくて、MP4ファイルが存在しなくて見れない動画のほうが多いみたいだったんですよ^^; それにVeohMP4はYouTubeMP4と同じ方が運営されてるので、同じサーバーで動いてるんでしょうか重くて使えないこともよくあります。なので実用的じゃないので非公式なんですが、その後のYouTube TV screen V1.0.10からは隠し機能って感じでVeohMP4でダウンロードできるveohの動画には一応対応してたんですね。でも最近何度か試したら前見れてた動画も見れなくなってたんですよ。veohの仕様が変わって今は変換サイトがそれに対応してないってことなんでしょうかね?

YouTubeのブックマークレットDownload YouTube Videos as MP4 Filesみたいに、veohもアドレス変換のヒントがわかったら、PHPとかでスクリプト作って、うちで借りてるレンタルサーバーでも変換できるようになったらいいなって思うんですけど、今のところ仕組みがさっぱりわかりません^^;

それから、ここ最近も何件かお問い合わせがあったんですが、YouTubeMP4が重くてYouTubeが見れないことが最近よくあります。YouTube TV screen V1.0.9以上はコンテンツ内のReadmeをご覧頂き、うちで借りてるサーバーに設定変えてみてくださいね。
また、それより古いバージョンをお持ちの方は、設定手順を記した資料をお渡ししますのでお手数ですがお問い合わせください。宜しくお願いします。


5月21日追記: 3月頃ユーチューブの仕様変更があって、YouTubeMP4やうちで用意してた外部サーバーでMP4アドレスが取得できなくなっています。

2009年12月24日木曜日

オンラインインジケータの隠し機能

クリスマスですね♪ でも何か足りないって思ったら、今年はポインセチアを買ってなかったってことに気付いた千尋ですw

この前、Online indicatorをご購入頂いた海外のお客様から、友達のオンラインステータスを表示させられないか?っていうお問い合わせがあったんですね。

うちのオンラインインジケータボードは激安なので色々設定とかできるようには作ってないんですが、実は付属のスクリプトをちょっと書き換えたら、そういう使い方もできるようにしてたので今回はすぐに対応できました。

以下、一応方法を書いときますね。対応してるのはV1.0.5以上になります。

コンテンツ内に入ってるFloating textっていうスクリプトの22行目ぐらい
llMessageLinked(LINK_THIS,0,"refresh","");
この行を
llMessageLinked(LINK_THIS,0,"uuid","アバターのキー");
に書き換えて保存します。(対象のアバターキーはSecond Life Searchとかで調べてください)

ただ、本人に無断でオンライン状態を監視するような使い方は、ストーカー行為のように受け取られるかも知れないと思うので注意してくださいね^^;

あと、V1.1.0以上は下記の行を加えるとタッチでの呼び出しを無効にできます。
llMessageLinked(LINK_THIS,FALSE,"call","");


オンラインインジケータは、Rezすると自動でプロフ写真を取得して表示するオンラインボードです。オンラインになってるときはタッチでオーナーを呼び出しできます。お値段はコピー可能版がL$20 L$30、譲渡可能版がL$15です。いかがでしょうか^^

2010年5月15日追記: コピー可能版はL$30に値上げしました。

2011年3月26日追記: いつの間にかhttp://search.secondlife.com/はアバターのキーが調べられないよう変更されてますね。。。;