Sosyal açıldı! Bir göz at → Hemen gir →

YARDIM Slave Priest Harita Değişiminde Kayboluyor.

Valendros

KY Kıdemli Üye
KAYIT
23 Kas 2021
Mesajlar
194
Tepki puanı
9
Arkadaşlar merhaba .

Son olarak editlediğim database içerisine Slave priesti ekledim fakat şöyle bir durum var Slave Priest Butonu Aktif değilken harita değişimi yaptığımda basılı olan Slave Priest Scrollu silinmiyor .

1739394565626.png


Fakat Slave priest butonu aktifken harita değişimi yaptığımda slave priest aktif kalıyor. Scroll ve UI yok oluyor. Bunun önüne nasıl geçebilirim ?

1739394684971.png


İkinci Resimde Slave Priest var , Slave Priestin çalışmasını sağlayan UI butonu ve Scroll Iconu kayboluyor. Fakat Slave Priest İşlevini gerçekleştirmeye devam ediyor .


Yardımcı olabilecek olan değerli forum üyelerine şimdiden teşekkürler.
 
Çözüm
Source'den ZoneChangeWarpHandler.cpp ye gir RecvZoneChange diye arat aşağıdaki kod yapısına benzer bi yapı varsa aşağıdaki verdiğim kodla değiştir.
ekstradan user.cpp'ye gir ordanda RemoveSavedMagic(495146) diye arat altında false yazar true olarak değiştir. sorunun düzelecektir.

if (hasPriestBot == true)
{
CBot* pPriest = nullptr;
pPriest = g_pMain->m_MapBotList.GetData(m_bUserPriestBotID);
if (pPriest)
pPriest->UserInOut(INOUT_OUT);

m_bUserPriestBotID = -1;
hasPriestBot = true;
//RemoveSavedMagic(495146);
//zoneden yok oldu sonra ışınlandığı yere spawn oldu
if (!isPriestUseZone())
{...

alpay97

KY Kıdemli Üye
KAYIT
5 Ocak 2025
Mesajlar
81
Tepki puanı
0
Selamlar, mantıken kodu geniedeki gibi sabit kalacak şekliyle değiştirip, scroll aktifse veya varsa priest başlat check ekleyebilirsiniz diye düşünüyorum.
Onun dışında priestin kaybolması ama heal atması olayına ben de çözüm bulamadım, başka bir çarla partideyken ona gözüküyor bana gözükmüyor işin garibi.
 

xahta

KY Saygın Üye
Coder
Yardımsever
KAYIT
10 Şub 2025
Mesajlar
634
Çözümler
13
Tepki puanı
466
Source'den ZoneChangeWarpHandler.cpp ye gir RecvZoneChange diye arat aşağıdaki kod yapısına benzer bi yapı varsa aşağıdaki verdiğim kodla değiştir.
ekstradan user.cpp'ye gir ordanda RemoveSavedMagic(495146) diye arat altında false yazar true olarak değiştir. sorunun düzelecektir.

if (hasPriestBot == true)
{
CBot* pPriest = nullptr;
pPriest = g_pMain->m_MapBotList.GetData(m_bUserPriestBotID);
if (pPriest)
pPriest->UserInOut(INOUT_OUT);

m_bUserPriestBotID = -1;
hasPriestBot = true;
//RemoveSavedMagic(495146);
//zoneden yok oldu sonra ışınlandığı yere spawn oldu
if (!isPriestUseZone())
{
CUser* pUsers = g_pMain->GetUserPtr(GetID());
uint16 m_bUserPriestBotID = g_pMain->SpawnPriestBot(pPriest->LastWarpTime - UNIXTIME, pUsers);
}
}
 
Çözüm
Anasayfa Kayıt ol Giriş yap
Üst Alt