基本的に、Second Life 内で llHTTPRequest を使用して、Web サーバーから何かを読み取ります。
最も洗練された解決策は、PHP と MySQL を使用して Web インターフェイスを作成することです。素敵なスクリプトはこちら: https://github.com/jgpippin/sldb
データベースを使用しないさらに単純なオプション:
- green のような 1 行だけの color.txt というテキスト ファイルを作成します。
- FTP を使用してサーバーにテキスト ファイルをアップロードします。FileZilla をお勧めします
- PHP ファイルを作成します (以下のコード)。
- Second Life で PHP ファイルを読み取るオブジェクトを作成する
- 結果で何かをする
このコードの概念と基礎についてhttp://lslwiki.net/lslwiki/wakka.php?wakka=ExamplellHTTPRequestに感謝します:
PHP ファイル sl.php
<?php
$color = file_get_contents('http://yourdomain.com/color.txt');
echo "Your color selection is " . $color . ".\n";
?>
オブジェクト内のスクリプト
key requestid; // check if we're getting the result we've asked for
// all scripts in the same object get the same replies
default
{
touch_start(integer number)
{
requestid = llHTTPRequest("http://yourdomain.com/sl.php",
[HTTP_METHOD, "POST",
HTTP_MIMETYPE, "application/x-www-form-urlencoded"],
"");
}
http_response(key request_id, integer status, list metadata, string body)
{
if (request_id == requestid)
llWhisper(0, body);
}
}
もちろん、出力をささやくだけでなく、その値で何かをしたいでしょう。たとえば、一般的な色名のリストを HEX 値または他の色形式に変換し、それを使用して問題のオブジェクトの色を変更します。しかし、お分かりいただけると思いますが、何かをテキスト文書から LSL に読み込むことは可能です。
また、FTP の代わりに Dropbox を使用して簡単にファイルを Web にアップロードしたい場合は、パブリック リンクを取得してから、最後に?dl=1を追加して、ファイルを表示するのではなく強制的に開く必要があります。追加の HTML 要素が添付された Web ページとしてブラウザに表示されます。たとえば、次のように使用します。
$color = file_get_contents('https://www.dropbox.com/s/i0wpav054k5uept/color.txt?dl=1');
お役に立てれば!