- Mesaj
- 810
- Çözümler
- 28
- Beğeni
- 750
- Puan
- 839
- Ticaret Puanı
- 0
@DeadLyEscaPe ile konuşurken filesinde olan bir sorundan bahsetti bana
Böyle bir hata alıyordu, ben de kod bloğuna baktım
Burda dwCurrentNPCRace ile tıklandığında mobun vnumunu çekiyor ve map'e atayıp tıklanan mobu aratıyor map içinde. Eğer vnumu bulamazsa bu syserri yazdırıyor. Giyili pet sisteminde almış bu hatayı. Giyili pet sisteminde value1 değerindeki mob kodunu çağırıyor itemi giyince.
Ben de şöyle bir öneri sundum;
Burada item giyilebilir pet ise value1 değerini dwCurrentNPCRace e yazmasını yani mob vnumunu buradan çekmesini sağladım. Buildde hata almadık ama çalışmadı. Önerilerinizi bekliyorum.
Kod:
Click: CQuestManager::Click(pid=10015, target_npc_name=Grizzlies - Buz Ankası) - NOT EXIST NPC RACE VNUM[34003]
C++:
DWORD dwCurrentNPCRace = pkChrTarget->GetRaceNum();
if (pkChrTarget->IsNPC())
{
map<unsigned int, NPC>::iterator it = m_mapNPC.find(dwCurrentNPCRace);
if (it == m_mapNPC.end())
{
sys_err("CQuestManager::Click(pid=%d, target_npc_name=%s) - NOT EXIST NPC RACE VNUM[%d]",
pc,
pkChrTarget->GetName(),
dwCurrentNPCRace);
return false;
}
Burda dwCurrentNPCRace ile tıklandığında mobun vnumunu çekiyor ve map'e atayıp tıklanan mobu aratıyor map içinde. Eğer vnumu bulamazsa bu syserri yazdırıyor. Giyili pet sisteminde almış bu hatayı. Giyili pet sisteminde value1 değerindeki mob kodunu çağırıyor itemi giyince.
Ben de şöyle bir öneri sundum;
C++:
LPITEM item;
if (item->GetType() == ITEM_NORMAL_PET)
{
dwCurrentNPCRace = item->GetValue(1);
}