flagflag  If you want to see English page, please click "English" Button at Left.

SIMの境界で,座標な不正になった場合に,強制的に emergencyPos [すなわち(128,128,128)] へ移動させられる件 anchor.png

  • OpenSim/Region/Framework/Scenes/ScenePre​sence.cs
  • MakeRootAgent()
    if (pos.X < 0 || pos.X >= (int)Constants.RegionSize || pos.Y < 0 || pos.Y >= (int)Constants.RegionSize || pos.Z < 0) {
        m_log.WarnFormat("[SCENE PRESENCE]: MakeRootAgent() was given an illegal position of {0} for avatar {1}, {2}.", pos, Name, UUID);
    
        if (pos.X < 0) pos.X = 0;
        else if (pos.X >= (int)Constants.RegionSize) pos.X = (int)Constants.RegionSize - 1;
        if (pos.Y < 0) pos.Y = 0;
        else if (pos.Y >= (int)Constants.RegionSize) pos.Y = (int)Constants.RegionSize - 1;
        if (pos.Z < 0) pos.Z = 0;
    }
    /*
    if (pos.X < 0 || pos.X >= (int)Constants.RegionSize || pos.Y < 0 || pos.Y >= (int)Constants.RegionSize || pos.Z < 0)
    {
        Vector3 emergencyPos = new Vector3(((int)Constants.RegionSize * 0.5f), ((int)Constants.RegionSize * 0.5f), 128);
    
        m_log.WarnFormat(
            "[SCENE PRESENCE]: MakeRootAgent() was given an illegal position of {0} for avatar {1}, {2}.  Substituting {3}",
            pos, Name, UUID, emergencyPos);
    
        pos = emergencyPos;
    }
    */
Page Top

上記の様に変更した場合,CrossToNewRegion() でエラーが出る場合があるので修正する. anchor.png

  • OpenSim/Region/Framework/Scenes/ScenePre​sence.cs
  • CrossToNewRegion()
    /// <summary>
    /// Moves the agent outside the region bounds
    /// Tells neighbor region that we're crossing to it
    /// If the neighbor accepts, remove the agent's viewable avatar from this scene
    /// set them to a child agent.
    /// </summary>
    protected void CrossToNewRegion()
    {
        // Fumi.Iseki
        if (m_scene==null || m_physicsActor==null) return;
        InTransit();
        m_scene.CrossAgentToNewRegion(this, m_physicsActor.Flying);
    }

トップ   凍結 差分 バックアップ 複製 名前変更 リロード   新規 ページ一覧 単語検索 最終更新   ヘルプ   最終更新のRSS 1.0 最終更新のRSS 2.0 最終更新のRSS Atom
Counter: 1586, today: 1, yesterday: 0
最終更新: 2009-08-31 (月) 18:16:43 (JST) (5350d) by iseki

サイト内 検索

ログイン

ユーザー名:

パスワード:


パスワード紛失
新規登録

サブ メニュー

ミニカレンダー

前月2024年 4月翌月
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
<今日>

オンライン状況

100 人のユーザが現在オンラインです。 (5 人のユーザが xpwiki を参照しています。)

登録ユーザ: 0
ゲスト: 100

もっと...

アクセスカウンタ

今日 : 6734673467346734
昨日 : 9457945794579457
総計 : 2333369123333691233336912333369123333691233336912333369123333691
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com