1886 Source Görev Düzenleme Kısımlari CheckExistEvent when bQuestType..

  • Konbuyu başlatan Konbuyu başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 125

Admin

Knight Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
45,967
Kod:
void CUser::QuestV2MonsterDataRequest()   void CUser::QuestV2ExecuteHelper(_QUEST_HELPER * pQuestHelper)   {       if (pQuestHelper == NULL         || !CheckExistEvent(pQuestHelper->sEventDataIndex, 2) && pQuestHelper->bQuestType != 3)           return;          QuestV2RunEvent(pQuestHelper, pQuestHelper->nEventTriggerIndex); // NOTE: Fulfill will use nEventCompleteIndex

Bununla Değiştiriniz.



Son Olarak.. User.cpp void CUser::ItemGet(Packet & pkt) Kısmında..

Kod:
pGetUser->m_sItemArray[SLOT_MAX+pos].nNum = itemid;    // Add item to inventory.  Bu Satiri Bulup.. pGetUser->m_sItemArray[pos].nNum = itemid;    // Add item to inventory.  Bununla Değiştiriyoruz..



Kod:
pGetUser->m_sItemArray[SLOT_MAX+pos].sCount += count; if (pGetUser->m_sItemArray[SLOT_MAX+pos].sCount > MAX_ITEM_COUNT) pGetUser->m_sItemArray[SLOT_MAX+pos].sCount = MAX_ITEM_COUNT; Bu Kısımları Bulup..



Kod:
pGetUser->m_sItemArray[pos].sCount += count; if (pGetUser->m_sItemArray[pos].sCount > MAX_ITEM_COUNT) pGetUser->m_sItemArray[pos].sCount = MAX_ITEM_COUNT;

Bunla Değiştiriyoruz..



pGetUser->m_sItemArray[SLOT_MAX+pos].sCount = 1;

pGetUser->m_sItemArray[SLOT_MAX+pos].nSerialNum = g_pMain->GenerateItemSerial(); Bu Satirlari Bulup..



Kod:
pGetUser->m_sItemArray[pos].sCount = 1; pGetUser->m_sItemArray[pos].nSerialNum = g_pMain->GenerateItemSerial();



Bununla Değiştiriyoruz..



pGetUser->m_sItemArray[SLOT_MAX+pos].sDuration = pTable->m_sDuration; Bu Satiri Bulup...

Kod:
pGetUser->m_sItemArray[pos].sDuration = pTable->m_sDuration;

Bununla Değiştiriyoruz..



<< pos << itemid << pGetUser->m_sItemArray[SLOT_MAX+pos].sCount Bu Kısımı Bulup..

Kod:
<< uint8(pos-SLOT_MAX) << itemid << pGetUser->m_sItemArray[pos].sCount

Bununla Değiştiriyoruz..



// Used when binding a Krowaz item (presumably to take it from bound -> sealed) Bu Satırı Bulup..

Kod:
// Used when binding a Krowaz item (used to take it from not bound -> bound)

Bununla Değiştiriyoruz..



Son Olarak Bu Kısımı Aşağıdakiler'le Değiştiriyoruz..



Konu link görüntülemek için konuya cevap yazmalısınız.


işinize Yararsa Ne Mutlu Bana..
Knight Online Source Kodlarında Görev Sistemi ve 1886 Source Görev Düzenleme Kısımları

Knight Online özel sunucularında geliştirme yaparken, görev sistemleri önemli bir rol oynar. Özellikle 1886 Source gibi eski ama hâlâ aktif geliştirici toplulukları tarafından kullanılan kaynak kodlarda görev düzenlemeleri yapabilmek için belirli yapıların anlaşılması gerekir. Bu yazıda CheckExistEvent ve when bQuestType gibi görev sistemine dair önemli terimlerden bahsedeceğiz.

CheckExistEvent Nedir?
CheckExistEvent, Knight Online özel sunucu geliştiricilerinin görev sistemlerinde sıkça karşılaştığı bir kontrol mekanizmasıdır. Oyuncunun belirli bir görev durumuna sahip olup olmadığını kontrol eder. Örneğin, bir görevin daha önce başlatılıp başlatılmadığını veya tamamlanıp tamamlanmadığını denetlemek için kullanılır. Bu sayede tekrarlanan görevlerin önüne geçilebilir ya da görev zincirlerinde mantıksal akış sağlanabilir.

when bQuestType Açıklaması
when bQuestType ifadesi, görevin türüne göre farklı davranışlar sergilenmesini sağlar. Bu yapı, görevin tipine göre (örneğin günlük görev, storyline görevi, özel etkinlik vs.) farklı kod bloklarının çalışmasını sağlar. Bu tür kontroller, özellikle ko emulator geliştiricileri için önemlidir çünkü görev sisteminin stabil ve doğru çalışması, oyuncu deneyimini doğrudan etkiler.

Knight Online Source Kodlarında Görev Editörü
1886 Source içinde görev düzenlemek için geliştiriciler genellikle .bin dosyalarını veya Quest.dat gibi yapıları kullanır. CheckExistEvent ve when bQuestType gibi yapılar, görevlerin çalışması sırasında sunucu tarafında değerlendirilir. Doğru tanımlanmazsa görevler beklemediğiniz şekilde davranabilir veya tamamen çalışmaz.

Geliştirme Yaparken Dikkat Edilmesi Gerekenler[/BR]
Knight Online development süreçlerinde görev sistemleri üzerinde çalışırken dikkat edilmesi gereken bazı önemli konular vardır. Bunlardan biri, ko source code içindeki.quest dosyalarının doğru şekilde derlenmesidir. Ayrıca, when bQuestType kullanılırken, tüm olası durumlar için kod yazılması gerekir. Aksi takdirde görev sistemi çökebilir veya istenmeyen yan etkiler oluşabilir.

Kaynak Kodlarda Hata Ayıklama
1886 Source gibi eski kaynaklarda görev sistemi hatalarını ayıklamak zor olabilir. Geliştiriciler genellikle log dosyalarını kullanarak CheckExistEvent veya when bQuestType gibi ifadelerde oluşan sorunları tespit eder. Bu süreçte hata mesajlarını anlamak ve düzeltilmesi gereken yerleri tespit etmek büyük önem taşır.

Sonuç
Knight Online özel sunucularında görev sistemleri, hem oyuncuların oyun içi deneyimini hem de sunucu yöneticilerinin içerik üretme kolaylığını artırır. CheckExistEvent ve when bQuestType gibi yapılar, doğru kullanıldığında güçlü ve esnek görev sistemlerinin oluşturulmasını sağlar. Ancak bu yapılar, dikkatli kullanılmadığında sunucu performansını olumsuz etkileyebilir veya görevlerin beklemediğiniz şekilde çalışmasına neden olabilir. Bu nedenle, ko emulator geliştiricileri bu yapıları detaylı şekilde test etmelidir.


Quest System in Knight Online Source Code and 1886 Source Quest Editing Sections

Knight Online private server development involves critical systems like quests, especially for older sources such as 1886 Source. In this article, we will discuss important terms like CheckExistEvent and when bQuestType, which are commonly used in quest modifications.

What is CheckExistEvent?
CheckExistEvent is a control mechanism frequently encountered by developers working on quest systems in Knight Online private servers. It checks whether a player already has a specific quest status—whether the quest was initiated or completed before. This helps prevent repetitive quest triggers or allows logical flow within quest chains.

Explanation of when bQuestType
when bQuestType allows different actions based on the type of quest. This structure enables distinct code blocks to execute depending on the quest type (e.g., daily quest, story-based quest, event-based). Such controls are crucial for ko emulator developers since stable and correct quest behavior directly impacts player experience.

Quest Editor in Knight Online Source Code
In 1886 Source, developers typically use .bin files or structures like Quest.dat to modify quests. Expressions like CheckExistEvent and when bQuestType are evaluated on the server side during quest execution. If not properly defined, quests may behave unexpectedly or stop functioning altogether.

Important Considerations During Development
When working with quest systems during Knight Online development, certain key points must be considered. For instance, correctly compiling .quest files within the ko source code is essential. Additionally, all possible scenarios must be handled when using when bQuestType. Otherwise, the quest system may crash or produce unwanted side effects.

Debugging in Source Code
Debugging quest system issues in older sources like 1886 Source can be challenging. Developers often rely on log files to identify problems related to expressions like CheckExistEvent or when bQuestType. Understanding error messages and locating areas that need correction is crucial during this process.

Conclusion
Quest systems in Knight Online private servers enhance both the in-game experience for players and content creation flexibility for server administrators. When used correctly, structures like CheckExistEvent and when bQuestType allow for powerful and flexible quest designs. However, careless usage can negatively affect server performance or cause unexpected quest behavior. Therefore, ko emulator developers should thoroughly test these components.
 

Şuan Bu Konuyu Görüntüleyen Kullanıcılar (Toplam : 0, Üye : 0, Misafir : 0)

Benzer konular

Geri
Üst Alt