- Katılım
- 12 May 2026
- Mesajlar
- 55
- Tepkime puanı
- 34
Başarılı Upgrade Efekti & Global Notice Sistemi
━━━━━━━━━━━━━━━━━━━━━━
Bu rehberde sizlere Knight Online serverınıza özel upgrade efekt sistemi nasıl eklenir detaylı şekilde anlatacağım.
Özellikle son dönem PvP serverlarında gördüğünüz:
gibi sistemlerin mantığını burada öğrenmiş olacaksınız.
Hazırladığım sistem sayesinde oyuncular item bastığında:
hem görsel efekt çalışacak hem de tüm server duyuru görecek.
Özellikle:
için oldukça kullanışlı bir sistemdir.
━━━━━━━━━━━━━━━━━━━━━━
Knight Online içerisinde upgrade işlemleri yapılırken sistem:
Kod:
UpgradeResult
değişkeni ile sonucu kontrol eder.
Burada:
UpgradeResult == 1 → Upgrade başarılı oldu
UpgradeResult == 0 → Upgrade başarısız oldu
Biz bu kontrolü kullanarak:
━━━━━━━━━━━━━━━━━━━━━━
Aşağıdaki kodu:
ItemUpgrade.cpp
yada upgrade işlemlerinin bulunduğu alana eklemeniz gerekiyor.
Genellikle:
Kod:
GameServer
src/server
ItemUpgrade
bölümlerinde bulunur.
━━━━━━━━━━━━━━━━━━━━━━
C++:
// DeaFSoft Upgrade Effect - SUCCESS
if (UpgradeResult == 1)
{
ShowEffect(490092); // Başarılı efekt
if (is_upgrade || pItem.m_ItemType == 11 || pItem.m_ItemType == 12 || scroll_id == 379159000)
{
Packet result(WIZ_LOGOSSHOUT, uint8(0x02));
result.SByte();
result << uint8(0x05) << uint8(UpgradeResult) << GetName() << pItem.m_iNum << GetLoyaltySymbolRank();
g_pMain->Send_All(&result);
return;
}
}
// FAIL DURUMU
else if (UpgradeResult == 0)
{
if (is_upgrade || pItem.m_ItemType == 11 || pItem.m_ItemType == 12 || scroll_id == 379159000)
{
Packet result(WIZ_LOGOSSHOUT, uint8(0x02));
result.SByte();
result << uint8(0x05) << uint8(UpgradeResult) << GetName() << pItem.m_iNum << GetLoyaltySymbolRank();
g_pMain->Send_All(&result);
return;
}
}
━━━━━━━━━━━━━━━━━━━━━━
C++:
ShowEffect(490092);
Bu bölüm:
upgrade başarılı olduğunda efekt çalıştırır.
Örneğin:
gibi efektleri burada kullanabilirsiniz.
━━━━━━━━━━━━━━━━━━━━━━
C++:
Packet result(WIZ_LOGOSSHOUT, uint8(0x02));
Bu sistem:
server geneline duyuru geçer.
Yani oyuncu item bastığında:
━━━━━━━━━━━━━━━━━━━━━━
C++:
GetName()
Bu bölüm:
upgrade basan oyuncunun nickini alır.
Örnek:
Kod:
Ayhan +9 Raptor bastı!
━━━━━━━━━━━━━━━━━━━━━━
C++:
pItem.m_iNum
Bu alan:
item ID bilgisini getirir.
Yani hangi itemin basıldığını sistem burada öğrenir.
━━━━━━━━━━━━━━━━━━━━━━
Bu sistemi kullanınca serverınız daha profesyonel görünür.
Birçok büyük KO serverında bu sistem kullanılmaktadır.
━━━━━━━━━━━━━━━━━━━━━━
Sistemi daha da geliştirebilirsiniz.
Örneğin:
eklenebilir.
━━━━━━━━━━━━━━━━━━━━━━
Knight Online içerisinde:
upgrade efekt sistemi
server kalitesini ciddi şekilde yükselten sistemlerden biridir.
Özellikle:
için oldukça güzel bir görsellik sağlar.
Umarım PvpServerleri.com üyelerine faydalı olur
İyi forumlar dilerim.
━━━━━━━━━━━━━━━━━━━━━━