Nasıl Kullanılır:
quest deneme begin
state start begin
when dead begin -- die'nin görevini dead üstlenmiş oldu
syschat("Öldünüz")
end
end
end
öncelikle frezilla veya winscp den home/novaline/Srcs/Server/game/src dizinine giriyoruz işlemlerimizi burda yapacağız (Konumu farklı olanlar dikkate almasın!)
daha sonra quest.h ı bulup açıyoruz ve içerisinden aratıyoruz
C++:
QUEST_ITEM_INFORMER_EVENT,
C++:
QUEST_DEAD_EVENT,
C++:
m_mapEventName.insert(TEventNameMap::value_type("item_informer", QUEST_ITEM_INFORMER_EVENT));
C++:
m_mapEventName.insert(TEventNameMap::value_type("dead", QUEST_DEAD_EVENT));
C++:
void CQuestManager::Dead(unsigned int pc)
{
PC * pPC;
if ((pPC = GetPC(pc)))
{
if (!CheckQuestLoaded(pPC))
return;
m_mapNPC[QUEST_NO_NPC].OnDead(*pPC);
}
else
sys_err("QUEST no such pc id : %d", pc);
}
daha sonra questmanager.h ı açıyoruz ve aratıyoruz
C++:
void Kill(unsigned int pc, unsigned int npc);
C++:
void Dead(unsigned int pc);
questnpc.cpp yi açıyoruz ve fonksiyonu ekliyoruz
C++:
bool NPC::OnDead(PC& pc)
{
return HandleReceiveAllEvent(pc, QUEST_DEAD_EVENT);
}
questnpc.h ı açıyoruz ve aratıyoruz
C++:
bool OnKill(PC& pc);
C++:
bool OnDead(PC& pc);
C++:
void CHARACTER::Dead(LPCHARACTER pkKiller, bool bImmediateDead)
C++:
quest::CQuestManager::instance().Dead(GetPlayerID());
biraz uzun fakat adımları takip ederseniz çözüme ulaşırsınız hatam varsa yorumlarda bildirerek düzeltilmesine yardımcı olun lütfen iyi forumlar dilerim.
artık hazırız derleyip kullanıma geçebiliriz eğitim serisinde die olarak geçen komutu bu işlemlerden sonra dead olarak kullanabilirsiniz