- Mesaj
- 60
- Beğeni
- 62
- Puan
- 701
- Ticaret Puanı
- 0
Merhaba arkadaşlar, iyi forumlar.
Uzun süredir üzerinde çalıştığım sistemlerden birini daha tamamlamış bulunuyorum. Bu sistem, Knight Online’daki Cypher Ring mantığından esinlenerek Metin2’ye uyarlanmış Kahraman Mührü / Karakter Mührü Sistemidir.
Sistemin temel amacı, bir karakteri mevcut hesabından mühürleyip ticaret, pazar veya offline shop üzerinden başka bir oyuncuya aktarılabilir hale getirmektir. Karakter mühürlendikten sonra dolu mühür itemi oluşur ve bu item başka bir hesaba geçtiğinde, uygun şartlar sağlanıyorsa karakter yeni hesaba aktarılır.
Sistem Tanıtım Video
İNDİR :
VirusTotal :
Linkler güncellendi eksik icon ve hboard.png eklendi.
İyi kullanımlar
RESİM Kanıt
Uzun süredir üzerinde çalıştığım sistemlerden birini daha tamamlamış bulunuyorum. Bu sistem, Knight Online’daki Cypher Ring mantığından esinlenerek Metin2’ye uyarlanmış Kahraman Mührü / Karakter Mührü Sistemidir.
Sistemin temel amacı, bir karakteri mevcut hesabından mühürleyip ticaret, pazar veya offline shop üzerinden başka bir oyuncuya aktarılabilir hale getirmektir. Karakter mühürlendikten sonra dolu mühür itemi oluşur ve bu item başka bir hesaba geçtiğinde, uygun şartlar sağlanıyorsa karakter yeni hesaba aktarılır.
Sistem Tanıtım Video
İNDİR :
Linkleri görebilmek için
giriş yap veya kayıt ol.
VirusTotal :
Linkleri görebilmek için
giriş yap veya kayıt ol.
Linkler güncellendi eksik icon ve hboard.png eklendi.
İyi kullanımlar
RESİM Kanıt
Kod:
root/uicharacterseal.py
CharacterSealWindow classı içine ekleyin:
def BindInterface(self, interface):
self.interface = interface
def ClearCandidateList(self):
self.ClearCandidates()
Ayrıca __init__ içinde uygun bir yere ekleyin:
self.interface = None
Not:
Bu kodlar CharacterSealWindow classı içinde olmalı. TAB düzenine dikkat edin.
Dosya yolu:
gamesrc/character_seal_manager.h
CCharacterSealManager classı içine ekleyin:
void UseSealItem(LPCHARACTER ch, LPITEM item);
Dosya yolu:
gamesrc/character_seal_manager.cpp
Uygun bir yere ekleyin:
void CCharacterSealManager::UseSealItem(LPCHARACTER ch, LPITEM item)
{
if (!ch || !item)
return;
if (item->GetVnum() == CHARACTER_SEAL_EMPTY_ITEM_VNUM)
{
OpenSealWindow(ch, item);
return;
}
if (item->GetVnum() == CHARACTER_SEAL_FULL_ITEM_VNUM)
{
OpenUnsealWindow(ch, item);
return;
}
}
Not:
Bu fonksiyon boş mühür ve dolu mühür kullanımını tek yerden yönetir.
Dosya yolu:
gamesrc/char_item.cpp
ARAT:
------------------------------------------------------------
bool CHARACTER::UseItem(TItemPos Cell, TItemPos DestCell)
sonra oradan
if (false == FN_check_item_sex(this, item))
bul foksiyon bitişi } sonra ekle
------------------------------------------------------------
ALTINA EKLE:
------------------------------------------------------------
#ifdef ENABLE_CHARACTER_SEAL_SYSTEM
if (item->GetVnum() == CHARACTER_SEAL_EMPTY_ITEM_VNUM)
{
CCharacterSealManager::instance().OpenSealWindow(this, item);
return true;
}
else if (item->GetVnum() == CHARACTER_SEAL_FULL_ITEM_VNUM)
{
CCharacterSealManager::instance().OpenUnsealWindow(this, item);
return true;
}
#endif
------------------------------------------------------------
Not:
Bu ekleme yapılmazsa mühür itemine sağ tıklayınca pencere açılmayabilir.
Dosya yolu:
gamesrc/main.cpp
Include kısmına ekleyin:
Daha sonra managerların oluşturulduğu bölüme ekleyin:
arat
CDragonLairManager dl_manager;
ekle
#ifdef ENABLE_CHARACTER_SEAL_SYSTEM
CCharacterSealManager character_seal_manager;
#endif
Son düzenleme: