#author("2024-09-02T04:15:30+00:00","default:iseki","iseki")
#author("2024-09-02T04:16:11+00:00","default:iseki","iseki")
*** DeBug[#r72743cd]
- OpenSim/Services/Interfaces/IGridUserService.cs
- GridUserInfo コンストラクタのミス

        public GridUserInfo(Dictionary<string, object> kvp)
        {
            if (kvp.ContainsKey("UserID"))
                UserID = kvp["UserID"].ToString();
 
            if (kvp.ContainsKey("HomeRegionID"))
                UUID.TryParse(kvp["HomeRegionID"].ToString(), out HomeRegionID);
            if (kvp.ContainsKey("HomePosition"))
                Vector3.TryParse(kvp["HomePosition"].ToString(), out HomePosition);
            if (kvp.ContainsKey("HomeLookAt"))
                Vector3.TryParse(kvp["HomeLookAt"].ToString(), out HomeLookAt);
 
            if (kvp.ContainsKey("LastRegionID"))
 -              UUID.TryParse(kvp["LastRegionID"].ToString(), out HomeRegionID);
 +              UUID.TryParse(kvp["LastRegionID"].ToString(), out LastRegionID);
            if (kvp.ContainsKey("LastPosition"))
                Vector3.TryParse(kvp["LastPosition"].ToString(), out LastPosition);
            if (kvp.ContainsKey("LastLookAt"))
                Vector3.TryParse(kvp["LastLookAt"].ToString(), out LastLookAt);
 
            if (kvp.ContainsKey("Login"))
                DateTime.TryParse(kvp["Login"].ToString(), out Login);
            if (kvp.ContainsKey("Logout"))
                DateTime.TryParse(kvp["Logout"].ToString(), out Logout);
            if (kvp.ContainsKey("Online"))
                Boolean.TryParse(kvp["Online"].ToString(), out Online);
        }

#br

*** 参考: ホームへのテレポートの処理シーケンス[#g928ed08]

**** Regionサーバ [#a918b2d9]
- OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
-TeleportHome(UUID id, IClientAPI client)
-- OpenSim/Services/Connectors/GridUser/GridUserServiceConnector.cs
-- GetGridUserInfo(string userID)
--- Get()

**** Robust を POST Requestで呼び出し [#f4899c59]
- queryString
 VERSIONMIN=0&VERSIONMAX=0&METHOD=getgriduserinfo&UserID=f529f8ae-89f2-4156-9f35-3f8441258d81

**** Robustサーバ [#ae4e51ba]
- OpenSim/Server/Handlers/GridUser/GridUserServerPostHandler.cs
- GetGridUserInfo() デリゲート呼び出し
-- OpenSim/Services/UserAccountService/GridUserService.cs
-- GetGridUserInfo()

**** Regionサーバ へのRespose [#v09bf752]
 <?xml version="1.0"?>
 <ServerResponse><result type="List">
   <UserID>f529f8ae-89f2-4156-9f35-3f8441258d81</UszerID>
   <HomeRegionID>87b03ad8-ff29-450b-a070-d82e44b50ed1</HomeRegionID>
   <HomePosition>&lt;128.0104, 123.036, 24.94418&gt;</HomePosition>
   <HomeLookAt>&lt;-0.06136713, 0.9981153, 0&gt;</HomeLookAt>
   <LastRegionID>27425ff2-ba01-42d5-9564-d07cffa6b213</LastRegionID>
   <LastPosition>&lt;128.0132, 123.0019, 26.25004&gt;</LastPosition>
   <LastLookAt>&lt;0, 0, 0&gt;</LastLookAt><Online>True</Online>
   <Login>5/22/2010 2:20:16 PM</Login>
   <Logout>5/22/2010 2:09:37 PM</Logout>
 </result></ServerResponse>

****Regionサーバ [#h6ed3ccb]
- OpenSim/Services/Connectors/GridUser/GridUserServiceConnector.cs
- Get()
-- GridUserInfo のコンストラクタ呼び出し(ここでバグる)
--- OpenSim/Services/Interfaces/IGridUserService.cs
--- GridUserInfo  (コンストラクタ:ここでバグる)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 ページ一覧 検索 最終更新   ヘルプ   最終更新のRSS