Cannot find tree/sync fixed

  • Konuyu açan Konuyu açan Tengrist
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 4
  • Gösterim Gösterim 109

Tengrist

MT Üye
MT Üye
Mesaj
671
Çözümler
25
Beğeni
490
Puan
809
Ticaret Puanı
0
char.cpp de bul bu kodu:
Genişlet Daralt Kopyala
arat:
bool CHARACTER::Sync(long x, long y)

içinde bul:
    if (!new_tree)
    {
        if (GetDesc())
        {
            sys_err("cannot find tree at %d %d (name: %s)", x, y, GetName());
            GetDesc()->SetPhase(PHASE_CLOSE);
        }
        else
        {
            sys_err("no tree: %s %d %d %d", GetName(), x, y, GetMapIndex());
            Dead();
        }

        return false;
    }
    
Değiştir:
    if (!new_tree)
    {
        if (GetDesc())
        {
            sys_err("cannot find tree at %d %d (name: %s)", x, y, GetName());
#ifdef ENABLE_KICK_SYNC_FIX
            x = GetX();
            y = GetY();
            new_tree = GetSectree();
#else
            GetDesc()->SetPhase(PHASE_CLOSE);
#endif
        }
        else
        {
            sys_err("no tree: %s %d %d %d", GetName(), x, y, GetMapIndex());
            Dead();
        }

        return false;
    }
    
common: service.h ya da commondefines hangisini kullanıyorsan ekle:
#define ENABLE_KICK_SYNC_FIX                                                        // Cannot find tree/sync fixed

valiant2 filesında ne var ne yok bakarken gördüm forumda yoktu sanırım paylaşmak istedim.
Sıkıntı çıkarsa yazın çözeriz, bu hata sanırım karakterler kick yiyince çıkıyordu loglarda
 
Bu fixi hatırlıyorum bi kaç yere daha uygulanması lazım.
 
Bu fixi hatırlıyorum bi kaç yere daha uygulanması lazım.
Az önce bununla ilgili kodlara biraz baktım ve Sync fonksiyonu tüm çağrı hiyerarşisinin kesişim noktası. Yani sadece burada yapılan düzenlemenin yeterli olması lazım.
Ama emin değilim, test etmedim.
 
Az önce bununla ilgili kodlara biraz baktım ve Sync fonksiyonu tüm çağrı hiyerarşisinin kesişim noktası. Yani sadece burada yapılan düzenlemenin yeterli olması lazım.
Ama emin değilim, test etmedim.
Pcye tekrar geçince hocam kurcalarım bu can sıkıcı bir olay karakterler bazen oyundan atılıyordu enlemesine bakılması gerektiğini düşünüyorum olaya
 
oyuncu move olduğu zaman haritanın sekronizasyonuyla ilgili haritanın bölümüne veya sektörüne giderken sektör null ise yani bulunmamış ise gelen x ve y ye karakterin o anki x ve y sini veriyor. Böylelikle x ve y tekrar bir yere jump edilirken yeni x ve y ile değil karakterin o anki x ve y si ile jump ediyor. İşteyim Sync’ye bakmadan ancak bu kadar yorumlayabildim. :) :)
 
Üst