client/packet.h
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
arat
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
değiştir
client/pythonnetworkstreamphasegame.cpp (recvchatpacket fonksiyonun içinde)
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
arat
Kod:
string colored_p; string colored_buf;
ekle
Kod:
_snprintf(line, sizeof(line), "%s", p);
arat
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
üstüne ekle
Kod:
_snprintf(line, sizeof(line), "%s", p);
arat
Kod:
_snprintf(line, sizeof(line), "%s", colored_p.c_str());
değiştir
Kod:
if (pkInstChatter->IsPC()) CPythonChat::Instance().AppendChat(kChat.type, buf);
arat
Kod:
CPythonChat::Instance().AppendChat(kChat.type, colored_buf.c_str());
altındakini değiştir
dumpproto/itemcsvreader.cpp
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
düzenle
game/packet.h
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
arat
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
değiştir
game/input_main.cpp
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
arat
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
değiştir
game/char.h
Kod:
bool m_bWalking;
arat
Kod:
BYTE TypingColor;
üstüne ekle.
Kod:
bool IsStateMove() const { return IsState((CState&)m_stateMove); }
arat
Kod:
BYTE GetTypingColor() { return TypingColor; } BYTE SetTypingColor(BYTE _c) { TypingColor = _c; }
üstüne ekle
char.cpp
Kod:
TypingColor = 0;
item.cpp
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
( EquipTo fonksiyonu)arat
Kod:
if(GetType() == ITEM_UNIQUE && GetSubType() == UNIQUE_COLOR) ch->SetTypingColor(GetValue(1));
ekle
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
( Unequip fonksiyonu)arat
Kod:
if(GetType() == ITEM_UNIQUE && GetSubType() == UNIQUE_COLOR) m_pOwner->SetTypingColor(0);
ekle
common/item_length.h
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
arat
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
değiştir
db/protoreader.cpp
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
düzenle
------------------------------------------
locale/
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
item proto
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
item names
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
item list
alıntıdır
iyi forumlar.
Renkli Kalem Sistemi Nedir?
Metin2 özel sunucularında kullanıcı deneyimini artırmak ve oyun içi etkileşimi çeşitlendirmek amacıyla geliştirilen Renkli Kalem Sistemi, oyuncuların belirli nesneleri veya metinleri özelleştirebilmesini sağlar. Bu sistem, özellikle PvP sunucularında estetik açıdan büyük bir fark yaratır ve oyuncuların karakterlerini diğerlerinden ayırt edebilmesine olanak tanır. Renkli Kalem Sistemi, C++ tabanlı sunucu kaynak kodlarında geliştirilerek oyun içi GUI (grafiksel kullanıcı arayüzü) üzerinde etkileşimli olarak kullanılabilir hale getirilir.
Sistem Nasıl Çalışır?
Renkli Kalem Sistemi, genellikle bir GUI üzerinden çalışır. Oyuncu, belirli bir item veya komut sayesinde bu sistemi aktif eder. Ardından, seçtiği nesne veya metin için farklı renk kombinasyonları seçebilir. Bu işlem genellikle Python GUI (PyUI) kullanılarak geliştirilir. Sistem, veritabanında (DB) kalıcı olarak saklanan renk değerlerini okuyarak, karakterin görünümünü anlık olarak değiştirir. Bu sayede hem estetik hem de performans açısından optimize bir yapı sağlanır.
Sistemin Avantajları
Oyuncu Odaklı Tasarım: Sistem, oyuncuların kişisel tarzlarını yansıtabilmeleri için geniş bir özelleştirme imkanı sunar. Özellikle Metin2 gibi MMORPG oyunlarda bu tür sistemler, karakterlerin daha özgün görünmesini sağlar.
Sunucu Performansını Etkilemez: Sistem, sunucu tarafında hafif ve optimize bir yapıya sahiptir. Gerekli işlemler C++ tabanlı sunucu çekirdeğinde (core) optimize şekilde işlenir. Bu sayede sistem, sunucu performansını ciddi anlamda etkilemez.
Geliştiriciye Esneklik Sağlar: Renkli Kalem Sistemi, geliştiricilerin kendi özel GUI'lerini oluşturmaları için esnek bir yapı sunar. PyRoot dosyaları ile kolayca entegre edilebilir ve özelleştirilebilir.
Kurulum ve Entegrasyon
Bu sistemi bir Metin2 özel sunucusuna entegre etmek oldukça basittir. Öncelikle gerekli C++ kaynak kod dosyaları projeye dahil edilir. Ardından, Python tarafında UI Script (UIScript) dosyası ile arayüz tasarımı yapılır. PyGUI modülleri ile sistem dinamikleştirilir. Son olarak, Auth ve Game sunucularında gerekli veritabanı işlemleri tanımlanır. Bu işlemler doğru şekilde tamamlandığında, sistem tamamen çalışır duruma gelir.
Sonuç
Renkli Kalem Sistemi, Metin2 özel sunucularında kullanıcı deneyimini artırmak için ideal bir özelliktir. Geliştiriciler için kolay entegre edilebilir ve özelleştirilebilir bir yapı sunarken, oyuncular için estetik ve fonksiyonel bir araç sağlar. Bu sistem, hem PvP hem de PvE sunucularda büyük bir popülerlik kazanabilir. Metin2 Lobby gibi platformlar aracılığıyla bu tür gelişmiş sistemler, topluluk tarafından kolayca erişilebilir ve uygulanabilir hale gelir.
What is the Colored Pen System?
The Colored Pen System, developed to enhance user experience and diversify in-game interactions on Metin2 private servers, allows players to customize certain objects or texts. This system creates a significant visual difference especially in PvP servers and enables players to distinguish their characters from others. The Colored Pen System is implemented through C++ based server source codes and can be made interactive on the in-game GUI (graphical user interface).
How Does the System Work?
The Colored Pen System typically operates via a GUI. The player activates the system by using a specific item or command. Then, they can choose different color combinations for the selected object or text. This process is usually developed using Python GUI (PyUI). The system reads color values stored permanently in the database (DB) and instantly modifies the character's appearance. Thus, both aesthetic and performance-optimized structures are achieved.
Advantages of the System
Player-Centric Design: The system offers extensive customization options allowing players to reflect their personal style. Especially in MMORPGs like Metin2, such systems help make characters more unique.
Does Not Affect Server Performance: The system has a lightweight and optimized structure on the server side. Necessary operations are processed efficiently within the C++ based server core. Thus, the system does not significantly affect server performance.
Provides Flexibility to Developers: The Colored Pen System offers a flexible structure for developers to create their own custom GUIs. It can be easily integrated and customized with PyRoot files.
Installation and Integration
Integrating this system into a Metin2 private server is quite simple. First, the required C++ source code files are included in the project. Then, the UI Script (UIScript) file is used to design the interface on the Python side. The system is made dynamic using PyGUI modules. Finally, necessary database operations are defined on Auth and Game servers. Once these processes are completed correctly, the system becomes fully operational.
Conclusion
The Colored Pen System is an ideal feature to enhance user experience on Metin2 private servers. While offering an easy-to-integrate and customizable structure for developers, it provides players with an aesthetic and functional tool. This system can gain popularity on both PvP and PvE servers. Such advanced systems become easily accessible and applicable through platforms like Metin2 Lobby.
