Jump to content
Araştır
  • Diğer seçenekler ...
Sonuçları bul ...
Sonuçları bul ...

Genel Araştırma

'sayma' etiketi için arama sonuçları.

  • Etiketlere Göre Ara

    Aralarına virgül koyarak ekleyin
  • Yazara Göre Ara

İçerik Türü


Forum

  • PvP Serverlar
    • Server Tanıtımı
    • Server Kurulumu
    • Server Muhabbeti
  • Forum Genel
    • Forum Kuralları
    • Duyurular
    • Şikayet ve Öneriler
    • Geliştirici Paylaşımları
    • English Forum
  • Satış
    • Alım & Satım
  • Mini KO Forum (Yardım & İstek)
    • Genel Yardım
    • Genel İstek
  • KO Development
    • Geliştirme (Yeni)
    • Paketler
    • Özel Paylaşımlar
    • Projeler
    • Knight Online Kaynak Kod Paylaşımı
  • Knight OnLine Paylaşım Forum
    • Genel Paylaşımlar
    • Client Paylaşımları
    • Database Paylaşımları
    • Server Dosyası Paylaşımları
    • Prosedür & Query Kod Paylaşımları
    • Web Dosyası Paylaşımları
    • Yardımcı Program Paylaşımları
    • Gerekli Bilgi Paylaşımları
  • Hile paylaşımları
  • Programlama
  • Online Oyunlar
  • Ticaret
  • Webmaster
  • KO Developers Gazinosu
  • Kişisel
  • Diğer

Sonuçları bul ...

Sonuçları bul ...


Oluşturma Tarihi

  • Start

    End


Son Güncelleme

  • Start

    End


Filter by number of...

Katılım

  • Start

    End


Üye Grubu


Hakkımda

Araştırmada 2 sonuç bulundu

  1. Herkese merhabalar. Çözülen sorunlarda birçok konu mevcut fakat sorunu çözülen arkadaşlar sadece teşekkürler diyip konudan uzaklaşmış. Sorunu çözülen arkadaşlar nasıl yapıldığına dair tek bir mesaj bırakmamış. Hayırlı günler.. GAMESERVER : QUESTV2SAVEEVENT. void CUser::QuestV2SaveEvent(uint16 sQuestID) { _QUEST_HELPER * pQuestHelper = g_pMain->m_QuestHelperArray.GetData(sQuestID); if (pQuestHelper == nullptr) return; SaveEvent(pQuestHelper->sEventDataIndex, pQuestHelper->bEventStatus); } void CUser::QuestV2SendNpcMsg(uint32 nQuestID, uint16 sNpcID) { Packet result(WIZ_QUEST, uint8(7)); result << nQuestID << sNpcID; Send(&result); } void CUser::QuestV2ShowGiveItem(uint32 nUnk1, uint32 sUnk1, uint32 nUnk2, uint32 sUnk2, uint32 nUnk3, uint32 sUnk3, uint32 nUnk4, uint32 sUnk4, uint32 nUnk5, uint32 sUnk5) { Packet result(WIZ_QUEST, uint8(10)); result << nUnk1 << sUnk1 << nUnk2 << sUnk2 << nUnk3 << sUnk3 << nUnk4 << sUnk4 << nUnk5 << sUnk5; Send(&result); } uint16 CUser::QuestV2SearchEligibleQuest(uint16 sNpcID) { Guard lock(g_pMain->m_questNpcLock); QuestNpcList::iterator itr = g_pMain->m_QuestNpcList.find(sNpcID); if (itr == g_pMain->m_QuestNpcList.end() || itr->second.empty()) return 0; // Loop through all the QuestHelper instances attached to that NPC. foreach (itr2, itr->second) { _QUEST_HELPER * pHelper = (*itr2); if (pHelper->bLevel > GetLevel() || (pHelper->bLevel == GetLevel() && pHelper->nExp > m_iExp) || (pHelper->bClass != 5 && !JobGroupCheck(pHelper->bClass)) || (pHelper->bNation != 3 && pHelper->bNation != GetNation()) || (pHelper->sEventDataIndex == 0) || (pHelper->bEventStatus < 0 || CheckExistEvent(pHelper->sEventDataIndex, 2)) //gorev tamamlanmamis ise || !CheckExistEvent(pHelper->sEventDataIndex, pHelper->bEventStatus)) //gorev tamamlanma kontrolu continue; return 2; } return 0; } void CUser::QuestV2ShowMap(uint32 nQuestHelperID) { Packet result(WIZ_QUEST, uint8(11)); result << nQuestHelperID; Send(&result); } uint8 CUser::CheckMonsterCount(uint8 bGroup) { _QUEST_MONSTER * pQuestMonster = g_pMain->m_QuestMonsterArray.GetData(m_sEventDataIndex); if (pQuestMonster == nullptr || bGroup == 0 || bGroup >= QUEST_MOB_GROUPS) return 0; return m_bKillCounts[bGroup];
  2. Arkadaşlar QUEST Monster görevlerinde görev alma ile bir sorun yok. Fakat sayma konusunda problemim var bu konuda bana yardımcı olabilecek varmı? QuestHandler.cpp de bulunan voidlerde bir problem varmı göremedim ? void CUser::SaveEvent(uint16 sQuestID, uint8 bQuestState) { m_questMap[sQuestID] = bQuestState; // Don't need to handle special/kill quests any further Packet result(WIZ_QUEST, uint8(2)); result Send(&result); _QUEST_MONSTER * pQuestMonster = g_pMain->m_QuestMonsterArray.GetData(sQuestID); if (bQuestState == 1 && pQuestMonster) if (pQuestMonster != nullptr && bQuestState == 1 && m_sEventDataIndex > 0) return; if (sQuestID >= QUEST_KILL_GROUP1) return; // Valid Finished Quest Count if (bQuestState == 2 ) AchieveMainCount(0, 0, sQuestID, 0); if (bQuestState == 2) { QuestV2MonsterDataDeleteAll(); QuestV2MonsterDataRequest(sQuestID); } if (bQuestState == 1 && pQuestMonster != nullptr) { // TODO: Decipher this into more meaningful code. int16 v11 = ((int16)((uint32)(6711 * sQuestID) >> 16) >> 10) - (sQuestID >> 15); int16 v12 = ((int16)((uint32)(5243 * (int16)(sQuestID - 10000 * v11)) >> 16) >> 3) - ((int16)(sQuestID - 10000 * v11) >> 15); SaveEvent(32005, (uint8)v11); SaveEvent(32006, (uint8)v12); SaveEvent(32007, sQuestID - 100 * v12); for(int i = 0; i { _QUEST_DATA * uQuest = GetQuestID(i); if (uQuest != nullptr) continue; uQuest->dQuestID = sQuestID; break; } //m_sEventDataIndex = sQuestID; QuestV2MonsterDataRequest(sQuestID); } } void CUser::QuestV2MonsterCountAdd(uint16 sNpcID) { if (m_sEventDataIndex == 0) return; // it looks like they use an active quest ID which is kind of dumb // we'd rather search through the player's active quests for applicable mob counts to increment // but then, this system can't really handle that (static counts). More research is necessary. uint16 sQuestNum = m_sEventDataIndex; // placeholder so that we can implement logic mockup _QUEST_MONSTER *pQuestMonster = g_pMain->m_QuestMonsterArray.GetData(sQuestNum); if (pQuestMonster == nullptr) return; // TODO: Implement obscure zone ID logic for (int Count = 0; Count { for (int i = 0; i { if (pQuestMonster->sNum[Count][i] != sNpcID) continue; if (m_bKillCounts[Count] + 1 > pQuestMonster->sCount[Count]) return; m_bKillCounts[Count]++; SaveEvent(QUEST_KILL_GROUP1 + Count, m_bKillCounts[Count]); Packet result(WIZ_QUEST, uint8(9)); result Send(&result); if (m_bKillCounts[Count] >= pQuestMonster->sCount[Count]) //Closing conditions { uint8 bQuestState = 3; SaveEvent(QUEST_KILL_GROUP1 + Count, bQuestState); //Fixed Number Quest_Moster_Couner_Map::iterator itr = m_quest_moster_map.find(sQuestNum); if(itr == m_quest_moster_map.end()) { m_quest_moster_map.insert(std::make_pair(sQuestNum,m_bKillCounts[Count])); } else { itr->second = m_bKillCounts[Count]; } } return; } } } uint8 CUser::QuestV2CheckMonsterCount(uint16 sQuestID) { if (sQuestID >= QUEST_KILL_GROUP1) { QuestMap::iterator itr = m_questMap.find(sQuestID); // If it doesn't exist, it doesn't exist. if (itr == m_questMap.end()) return 0; return itr->second; } else { Quest_Moster_Couner_Map::iterator itr = m_quest_moster_map.find(sQuestID); if(itr == m_quest_moster_map.end()) return 0; return itr->second; } } uint8 CUser::QuestV2CheckMonsterCount(uint16 sQuestID) { if (sQuestID >= QUEST_KILL_GROUP1) { QuestMap::iterator itr = m_questMap.find(sQuestID); // If it doesn't exist, it doesn't exist. if (itr == m_questMap.end()) return 0; return itr->second; } else { Quest_Moster_Couner_Map::iterator itr = m_quest_moster_map.find(sQuestID); if(itr == m_quest_moster_map.end()) return 0; return itr->second; } } uint8 CUser::CheckMonsterCount(uint8 bGroup) { _QUEST_MONSTER * pQuestMonster = g_pMain->m_QuestMonsterArray.GetData(m_sEventDataIndex); if (pQuestMonster == nullptr || bGroup == 0 || bGroup >= QUEST_MOB_GROUPS) return 0; return m_bKillCounts[bGroup]; }
×
×
  • Yeni Oluştur...