最近我开始玩“第二人生”。并希望在LSL中开始对其进行编码。
在我的程序中,我想根据我在记事本文件中提到的颜色来改变我的化身衬衫的颜色,并且我不断地随机地改变这个值(将值写到记事本),比如红色到绿色或蓝色等等。
但问题是,如何使用LSL (Linden Scripting Lang)将记事本文件(存储在本地HDD上)读入第二生活,是我的难题。我试图通过设置本地apache服务器将其读取为建议在这里,但我们不能这样做,因为它不被识别为不是通过internet托管的we服务器。
我们能用NoteCard吗.?
发布于 2014-08-02 05:56:09
本质上,您希望在第二生命中使用llHTTPRequest从web服务器读取某些内容。
最优雅的解决方案是使用PHP和MySQL创建web界面。这里有一个很好的脚本:https://github.com/jgpippin/sldb
甚至更简单的选项没有任何数据库:
感谢http://lslwiki.net/lslwiki/wakka.php?wakka=ExamplellHTTPRequest给出了这个代码的概念和基础:
文件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。
此外,如果您想使用Dropbox而不是FTP来更容易地将文件放到web上,您只需获取公共链接,然后在末尾添加?dl=1,以强制文件打开,而不是在浏览器中显示为带有附加HTML内容的网页。例如,您可以使用:
$color = file_get_contents('https://www.dropbox.com/s/i0wpav054k5uept/color.txt?dl=1');希望这能有所帮助!
发布于 2014-05-29 09:56:46
由于LSL需要能够在不联机时运行,所以本地web服务器和本地文件不能与LSL一起使用。
唯一可用的选择是发布文本文件,这样就可以从互联网上访问它。如果您不想获得一个完整的web主机,您应该能够使用一个公共Dropbox文件夹。
发布于 2014-05-30 06:55:25
您不能使用LSL在您的计算机上读取文件-至少,不是正式的。从理论上讲,第三方的第二人生查看器可以让你。不过,我不认为他们中的任何一个会这样做。您可以通过调查第三方查看器目录中列出的观众来检查自己。
现在,您只需将数据移动到第二生命节点,或者以一种可以通过Internet访问的方式保存它。从notecard读取数据的是非常简单。在线托管您的文件要复杂一些,包括使用LSL的HTTP函数进行检索。
https://stackoverflow.com/questions/23928104
复制相似问题