Sistem TR'deki gibi yeni alınan itemin npcde oto pot efekti gibi bir süre parlamamasıdır.
Kanıt :
İndirme Linki :
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Virüs Total :
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
C++ ile Metin2'de Yeni Aldığınız Item'ın Envanterde Parlama Efekti Verilmesi
Metin2 özel sunucularında geliştirme yaparken kullanıcı deneyimini artırmak oldukça önemlidir. Özellikle oyuncuların yeni bir item aldıklarında bunu fark etmeleri için görsel ipuçları sunmak, oyunun eğlenceli ve akıcı bir şekilde oynanmasını sağlar. Bu yazıda, C++ tabanlı bir Metin2 server üzerinde, yeni alınan item'ların envanterde belli bir süre parlamasını nasıl sağlayacağımızı adım adım ele alacağız.
Neden Parlama Efekti?
Oyuncular yeni bir item aldıklarında, bu itemin envanterde dikkat çekecek şekilde belirmesi onların dikkatini çekebilir. Bu özellikle trade, drop veya satın alma gibi eylemlerden sonra kullanışlıdır. Oyuncu, neye dikkat etmesi gerektiğini daha kolay anlayabilir. Bu efekt genellikle UI tarafında Python ile yönetilir, fakat item'ın hangisinin yeni alındığını anlamak için server-side C++ kodlarında değişiklikler yapmak gerekir.
Server-Side Kodlama (C++)
Öncelikle, oyuncuya yeni bir item verildiğinde, bu item'ı 'yeni' olarak işaretlememiz gerekir. Bu işlem için genellikle game/src/char_item.cpp veya benzeri dosyalarda item verme işlemleri yapılır. Burada, yeni item verildiğinde bir flag (bayrak) değeri atanabilir. Örneğin:
Kod:
[COLOR=green]item->SetSocket(0, 1); // 1 = yeni item[/COLOR]
Socket[0] değeri, bu item'ın yeni mi yoksa eski mi olduğunu belirtmek için kullanılabilir. Socket[0]'da 1 varsa, bu item yeni alınmış anlamına gelir.
Client-Side (Python UI) Kodlama
Client tarafında envanterdeki item'ların kontrol edilmesi ve yeni olanların belirtilmesi gerekir. uiscript dosyalarında, envanter UI nesnesi üzerinde item slot'ları kontrol edilir. Her slot için item'ın Socket[0] değeri kontrol edilip, 1 ise parlama efekti başlatılır.
Parlama efekti genellikle bir animasyonla yapılır. UIEngine ile bu efektler tanımlanabilir. Örneğin, belirli bir süre (örneğin 3 saniye) boyunca item'in arka plan rengi veya ışık efekti değiştirilir.
Dikkat Edilmesi Gerekenler
- Socket değerleri sadece bu amaç için kullanılmamalıdır. Eğer socketler başka işlemler için kullanılıyorsa, farklı bir flag alanı oluşturulmalıdır.
- Parlama efekti çok uzun sürmemeli ki oyuncunun dikkatini dağıtmaması sağlanmalıdır.
- Yeni item efekti sadece envanterde değil, trade veya bazaar gibi diğer UI alanlarında da aktif edilebilir.
Sonuç
C++ ve Python tabanlı olarak geliştirilen bu sistem, Metin2 özel sunucularında kullanıcı deneyimini ciddi anlamda artırır. Oyuncular yeni item'larını daha hızlı fark eder, bu da oyun içi etkileşimleri ve memnuniyeti olumlu yönde etkiler. Geliştiriciler bu yöntemi kullanarak kendi sistemlerine özgün efektler de entegre edebilirler.
Kaynak Kod Paylaşımı[/BR]
Bu tür sistemlerin örnek kaynak kodlarına Metin2Lobby üzerinden ulaşabilir, topluluk ile paylaşım yapabilirsiniz.
Adding Glow Effect to Newly Acquired Items in Inventory with C++
In Metin2 private server development, enhancing user experience is highly important. Providing visual cues such as glow effects when players acquire new items helps them notice these additions more easily. In this article, we'll explain step by step how to make newly acquired items glow temporarily in the inventory using C++-based Metin2 server code.
Why Glow Effects?
When players receive a new item, having that item stand out visually in their inventory can help draw attention. This is especially useful after actions like trading, dropping, or purchasing items. The player can quickly identify what they should focus on next. This effect is usually handled in the UI layer with Python, but identifying which item is new requires changes in the server-side C++ code.
Server-Side Coding (C++)
Firstly, when a new item is given to the player, it needs to be marked as 'new'. This is typically done in files such as game/src/char_item.cpp. When a new item is added, a flag value can be set. For example:
Kod:
[COLOR=green]item->SetSocket(0, 1); // 1 means new item[/COLOR]
The Socket[0] value can be used to indicate whether the item is new or not. If Socket[0] has value 1, then it's a newly acquired item.
Client-Side (Python UI) Coding
On the client side, the inventory UI must check each item's status and trigger a glow effect if the item is marked as new. Within uiscript files, the inventory window checks each slot for the item's Socket[0] value. If it equals 1, a glow animation begins.
The glow effect is often implemented via animation. With UIEngine, these animations can be defined—such as changing the background color or adding light effects for a few seconds (e.g., 3 seconds).
Important Considerations
- Socket values should not solely be used for this purpose. If sockets are already in use elsewhere, a separate flag field should be created.
- Glow effects shouldn't last too long so as not to distract the player.
- New item effects can also be applied in other UI areas such as trade or bazaar windows.
Conclusion
This system, developed using both C++ and Python, significantly improves the user experience in Metin2 private servers. Players can notice new items faster, increasing engagement and satisfaction. Developers can customize this method to add unique effects tailored to their own systems.
Source Code Sharing[/BR]
You can access sample source codes for such systems and share within the community at Metin2Lobby.
