2007年12月11日
libsecondlifeサンプル - SIM統計情報の取得
SIMの統計情報(Ctrl+Shift+1で表示される情報)により、
SIMのFPS値やアバター数などを知ることが出来ます。
詳細は公式のSECOND LIFE HELPを参照してください。(ちょっと情報が古いようですが)
http://help.secondlife.com/jp/guides/stats.php
http://secondlife.com/app/help/guides/stats.php

現在いるSIMの統計情報を、client.Network.CurrentSim配下のStats構造体から取得できます。
取得のためのリクエストの発行は不要で、最新の情報のみが勝手に上記の構造体に格納されます。
(client.Settings.ENABLE_SIMSTATS はデフォルトでTrueになっています)
以下はサンプルコードです。
・libsecondlife0.2.0では、client.Network.CurrentSim の下に直接FPSなどの値が入っていました。
0.3.0からその下にStatsという構造体で格納されるようになりました。(Simulator.cs参照)
・ScriptTimeには小さい値が、OtherTimeには大きな値が出力されています。
値の入れ方が逆なのかもしれません。
フォーラム(http://forums.opensecondlife.org/ )は落ちたままだし、
メーリングリストも動きがほとんどありません。
(サーバ移行でデータロスがあったとか投稿がありました)
復活を祈っています。
SIMのFPS値やアバター数などを知ることが出来ます。
詳細は公式のSECOND LIFE HELPを参照してください。(ちょっと情報が古いようですが)
http://help.secondlife.com/jp/guides/stats.php
http://secondlife.com/app/help/guides/stats.php

現在いるSIMの統計情報を、client.Network.CurrentSim配下のStats構造体から取得できます。
取得のためのリクエストの発行は不要で、最新の情報のみが勝手に上記の構造体に格納されます。
(client.Settings.ENABLE_SIMSTATS はデフォルトでTrueになっています)
以下はサンプルコードです。
#libsecondlifeのロード
import clr
clr.AddReferenceToFile("libsecondlife.dll")
import libsecondlife
import time
#ログイン情報の設定
firstName = 'abcd' #苗字
lastName = 'efgh' #名前
passWord = 'ijkl' #パスワード
#初期設定、
client = libsecondlife.SecondLife()
#client.Settings.ENABLE_SIMSTATS = True
#接続
client.Network.Login(firstName, lastName, passWord, '', '')
time.sleep(10)
#実際の処理(SIM統計情報の取得)
sim = client.Network.CurrentSim
attrList = [
#debug-Simulator
'Dilation', #Time Dilation
'FPS', #Sim FPS
'PhysicsFPS', #Physics FPS
'AgentUpdates', #Agent Updates/Sec
'Agents', #Main Agents
'ChildAgents', #Child Agents
'Objects', #Objects
'ScriptedObjects', #Active Objects
'ActiveScripts', #Active Scripts
'LSLIPS', #Script Perf
'INPPS', #Packets In
'OUTPPS', #Packets Out
'PendingDownloads', #Pending Downloads
'PendingUploads', #Pending Uploads
'UnackedBytes', #Total Unacked Bytes
#debug-Simulator-Time(ms)
'FrameTime', #Total Frame Time
'NetTime', #Net Time
'PhysicsTime', #Sim Time (Physics)
'OtherTime', #Sim Time (Other)
'AgentTime', #Agent Time ##'Agent Time' not found. then LET 0.0
'ImageTime', #Images Time
'ScriptTime', #Script Time
]
for i in (attrList):
try:
val = eval('sim.Stats.%s' % (i) )
except AttributeError:
print i, 'AttributeError'
continue
print i, val
#切断
client.Network.Logout()
・libsecondlife0.2.0では、client.Network.CurrentSim の下に直接FPSなどの値が入っていました。
0.3.0からその下にStatsという構造体で格納されるようになりました。(Simulator.cs参照)
・ScriptTimeには小さい値が、OtherTimeには大きな値が出力されています。
値の入れ方が逆なのかもしれません。
フォーラム(http://forums.opensecondlife.org/ )は落ちたままだし、
メーリングリストも動きがほとんどありません。
(サーバ移行でデータロスがあったとか投稿がありました)
復活を祈っています。
グループを作ってばかりいると金がかかる
TestClientにvoice 関連のコマンドが追加された
CookComputing.XmlRpcV2 のエラーの時
灰色のハーレム
SLアイテム検索ページ仮実装しました
libsecondlifeサンプル - 画像の取得
TestClientにvoice 関連のコマンドが追加された
CookComputing.XmlRpcV2 のエラーの時
灰色のハーレム
SLアイテム検索ページ仮実装しました
libsecondlifeサンプル - 画像の取得
Posted by march at 11:32│Comments(0)
│libsecondlife