Merhaba arkadaşlar,
Sizlere bu konumda Envanterde İtem Kilitleme Sistemini sunacağım.
Bilgilendirme:
Sevgili arkadaşlar,
Sistemin Python kısmını ben yazmadım. Fakat üzerinde ufak tefek oynamalar yaptım. Lua'sını baştan sonra düzenledim. Source kısmını tamamıyla ben düzenledim.
Sistemi Mattius isimli arkadaşımızın paylaşmış olduğu filesten aldım. Önceden zaten ben üzerinde çalışıyordum. Kısayoldan sisteme ulaşmış oldum. Kendisine teşekkürü borç bilirim. Sistemi oradan çektim. Üzerinde değişiklikler yaptım. Engellemelerini ayarladım. Hızlı menü'den Envanterin içine çektim. Lua'sını düzenledim ve paylaşıyorum.
Source kısmında @
Sistem Hakkında:
Sistem Python, Lua ve Source üzerinden çalışır. Sadece Silah, Zırh ve İç İtemleri kilitleyebilirsiniz. Kilitli itemlerin altında [Kilitli] yazısı çıkar. Kilitli itemlerde şu işlemleri yapamazsınız;
1-) Kilitli itemi yere atamazsınız.
2-) Kilitli itemi depoya koyamazsınız.
3-) Kilitli itemi ticarete koyamazsınız.
4-) Kilitli itemi satamazsınız.
5-) Kilitli itemi silemezsiniz.
6-) Kilitli iteme artı basamazsınız.
7-) Kilitli iteme taş ekleyemezsiniz.
Kilitli iteme efsun ekleyemezsiniz.
9-) Kilitli itemin efsunlarını değiştiremezsiniz.
Yukarıda yazılı olan maddelerin hepsi engellemiştir. İtem silme dışında ki bütün maddeler Source tabanlı engellenmiştir. Sadeceİtem Silme kendi Quest'inden engellenmiştir.
Sistem şifre güvenliği ile hem Kilitlerken hemde Kilit Açarken Şifre istemektedir.
Şifre mysql veritabanına kaydedilir. Oyuncu şifresini unuttuğu zaman veya değiştirmek istediği zaman yönetim ile iletişime geçerek bu işlemi yapabilir.
6. Maddede ki "Kilitli iteme artı basamazsınız." ibaresi sadece Demirci için değildir. Aynı zamanda Kutsama Kağıdı, Büyülü Metal, Lonca Demircisi, Şeytan Kulesi Demircisi gibi Artı basılabilen bütün işlemler engellenmiştir.
KURULUM:
Arkadaşlar kuruluma ilk olarak Mysql Veritabanına gerekli tabloyu açmakla başlıyoruz.
Navicat'tan Mysql Veritabanınıza giriş yapın.
Account'a çift tıklayarak tablolarını açın.
[/CENTER]
Account - Account'a sağ tıklayıp Desing Table ibaresine tıklıyoruz.
Hemen yukarıdan Add Field ibaresine basıyoruz.
Çıkan kısmı Aşağıda'ki gibi dolduruyoruz.
Save ibaresine basarak Navicat ile olan işimizi bitiriyoruz.
Kurulumun devamı indireceğiniz dosyada anlatılıyordur. Konuyu fazla uzun tutmak istemiyorum o yüzden geri kalanı dosyadan bakarak yapabilirsiniz.
ÖNEMLİ:
Güncel qItemSil.lua (Sorunsuz bunu kullanın):
Envanterde İtem Silme Quest'ine yapacağımız eklemeyi buradan görsel eklentili anlatmak istiyorum. Daha sonra sorun çıkarmasınlar.
Kullandığınız İtem Silme Quest'ini açın. Çoğu kişi aynı questi kullanıyor zaten. qItemSil.lua isimli lua dosyasını kullanıyorlar.
Kod bloğumuz budur arkadaşlar.
Resimde gördüğünüz gibi yapın. Zaten dosyanın içerisinde lua'yı bulabilirsiniz.
ÖNEMLİ:
Locale_string.txt dosyasını Notepad+ ile değil normal Not Defteri ile açın. Ve Filezilla'dan locale_string.txt dosyasını masaüstüne çekip Not Defteri ile açın. Öyle editleyin. Yoksa yazılar bozulur.
Sizlere bu konumda Envanterde İtem Kilitleme Sistemini sunacağım.
Bilgilendirme:
Sevgili arkadaşlar,
Sistemin Python kısmını ben yazmadım. Fakat üzerinde ufak tefek oynamalar yaptım. Lua'sını baştan sonra düzenledim. Source kısmını tamamıyla ben düzenledim.
Sistemi Mattius isimli arkadaşımızın paylaşmış olduğu filesten aldım. Önceden zaten ben üzerinde çalışıyordum. Kısayoldan sisteme ulaşmış oldum. Kendisine teşekkürü borç bilirim. Sistemi oradan çektim. Üzerinde değişiklikler yaptım. Engellemelerini ayarladım. Hızlı menü'den Envanterin içine çektim. Lua'sını düzenledim ve paylaşıyorum.
Source kısmında @
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
; arkadaşım bana çok yardım etti. Bilmediğim kod bloklarının yerini gösterdi. Emeğini asla yok sayamam. Kendisine çok teşekkür ederim.Sistem Hakkında:
Sistem Python, Lua ve Source üzerinden çalışır. Sadece Silah, Zırh ve İç İtemleri kilitleyebilirsiniz. Kilitli itemlerin altında [Kilitli] yazısı çıkar. Kilitli itemlerde şu işlemleri yapamazsınız;
1-) Kilitli itemi yere atamazsınız.
2-) Kilitli itemi depoya koyamazsınız.
3-) Kilitli itemi ticarete koyamazsınız.
4-) Kilitli itemi satamazsınız.
5-) Kilitli itemi silemezsiniz.
6-) Kilitli iteme artı basamazsınız.
7-) Kilitli iteme taş ekleyemezsiniz.
9-) Kilitli itemin efsunlarını değiştiremezsiniz.
Yukarıda yazılı olan maddelerin hepsi engellemiştir. İtem silme dışında ki bütün maddeler Source tabanlı engellenmiştir. Sadeceİtem Silme kendi Quest'inden engellenmiştir.
Sistem şifre güvenliği ile hem Kilitlerken hemde Kilit Açarken Şifre istemektedir.
Şifre mysql veritabanına kaydedilir. Oyuncu şifresini unuttuğu zaman veya değiştirmek istediği zaman yönetim ile iletişime geçerek bu işlemi yapabilir.
6. Maddede ki "Kilitli iteme artı basamazsınız." ibaresi sadece Demirci için değildir. Aynı zamanda Kutsama Kağıdı, Büyülü Metal, Lonca Demircisi, Şeytan Kulesi Demircisi gibi Artı basılabilen bütün işlemler engellenmiştir.
KURULUM:
Arkadaşlar kuruluma ilk olarak Mysql Veritabanına gerekli tabloyu açmakla başlıyoruz.
Navicat'tan Mysql Veritabanınıza giriş yapın.
Account'a çift tıklayarak tablolarını açın.
Account - Account'a sağ tıklayıp Desing Table ibaresine tıklıyoruz.
Hemen yukarıdan Add Field ibaresine basıyoruz.
Çıkan kısmı Aşağıda'ki gibi dolduruyoruz.
Save ibaresine basarak Navicat ile olan işimizi bitiriyoruz.
Kurulumun devamı indireceğiniz dosyada anlatılıyordur. Konuyu fazla uzun tutmak istemiyorum o yüzden geri kalanı dosyadan bakarak yapabilirsiniz.
ÖNEMLİ:
Güncel qItemSil.lua (Sorunsuz bunu kullanın):
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Envanterde İtem Silme Quest'ine yapacağımız eklemeyi buradan görsel eklentili anlatmak istiyorum. Daha sonra sorun çıkarmasınlar.
Kullandığınız İtem Silme Quest'ini açın. Çoğu kişi aynı questi kullanıyor zaten. qItemSil.lua isimli lua dosyasını kullanıyorlar.
Kod:
local id = item.get_id() if game.get_event_flag(id..".Engel") == 1 then chat("<TahaAKKALIN>Kilitli itemi silemezsin.") cmdchat("InputStringEnd") return end
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Kod bloğumuz budur arkadaşlar.
Resimde gördüğünüz gibi yapın. Zaten dosyanın içerisinde lua'yı bulabilirsiniz.
ÖNEMLİ:
Locale_string.txt dosyasını Notepad+ ile değil normal Not Defteri ile açın. Ve Filezilla'dan locale_string.txt dosyasını masaüstüne çekip Not Defteri ile açın. Öyle editleyin. Yoksa yazılar bozulur.
Dosya Link:
Virüs Total Link:
KANITLAR:
Mesut Pehlivan kardeşime teşekkür ederim.
EKLEME:
Build ederken exchange.cpp'de sorun yaşayan arkadaşlar aşağıda ki işlemi yapsınlar.
Exchange.cpp aç. include'lerin arasına
#include "questmanager.h"
bu kodu ekle sorun kalmaz.
Yansıtma fix:
Aç: pythonplayermodule.cpp
Arat: if (pPlayerItem->aAttr.bType != 0)
Değiştir: if (pPlayerItem->aAttr.bType != 1000)
Kanıtlarımızda tamamdır. En kısa zamanda video çekip yükleyeceğim.
Değerli yorumlarınızı ve kanıtlarınızı bekliyorum.
Umarım sorunsuz eklersiniz.
Sorun yaşayan arkadaşlar konu altına ne sorunu yaşadıklarını ve syserr atarlarsa sorunlarını çözebilirim.
Taha AKKALIN | ByMogart Gururlar Sunar.
Envanterde İtem Kilitleme Sistemi | TahaAKKALIN
Metin2 Lobby olarak sunulan bu sistem, oyuncuların envanterindeki özel eşyaların istenmeyen işlemlerden korunması için geliştirilmiş önemli bir özelliktir. Bu sistem özellikle PvP sunucularında yüksek değerli itemlerin yanlışlıkla satılması veya transfer edilmesini engeller. Bu yazıda, TahaAKKALIN tarafından geliştirilen envanterde item kilitleme sistemi hakkında detaylı bilgi vereceğiz.
Sistem Nedir?
Bu sistem, oyuncunun belirli eşyaları kilitleyerek onları taşınabilir, satılabilir ya da başka bir işlemde kullanılamaz hale getirir. Bu sayede yanlışlıkla item kaybı önlenir. Sistem, hem C++[/CODE] tarafında hem de Python tarafında geliştirilmiştir.
Neden Gerekli?
Metin2 özel sunucularda özellikle PvP maçları sonrasında oyuncular, yüksek statlı eşyalarını yanlışlıkla satabilir veya depoya koyarken karışıklık yaşayabilir. Bu durumda item kilitleme sistemi devreye girer. Kilitlenen eşya, kilit açıklandığı sürece herhangi bir işlemden etkilenmez.
Nasıl Çalışır?
Oyuncu, envanterindeki bir eşyayı sağ tıklayarak 'Kilitle' seçeneğini seçer. Eşya artık kilitli olarak işaretlenir ve aşağıdaki işlemler yapılamaz:
- Satış
- Depoya taşıma
- Takas
- Oyuncudan oyuncuya verme
Kilitli Eşya Tanıma
Kilitli eşyalar, kullanıcı arayüzünde özel bir ikon veya renk değişimiyle belirtilir. Bu sayede kullanıcı, hangi eşyaların kilitli olduğunu kolayca fark eder. Bu özellik, Py UI tarafında özel bir pencere ile sağlanır.
Teknik Detaylar
Sistem, Game Core üzerinde çalışır. Item nesnesine özel bir lock flag eklenir. Bu flag, DB Core ile senkronize edilerek kalıcı hale getirilir. Bu sayede sunucu yeniden başlatılsa bile kilit durumu korunur.
Python Tarafı Entegrasyonu
Py Root dosyaları arasında bulunan UIScript dosyası, bu sisteme entegre edilmiştir. Oyuncu tıklama eylemi sırasında Python tarafı C++ ile haberleşerek lock/unlock komutlarını gerçekleştirir.
Avantajları
- Yanlışlıkla item kaybını önler
- PvP sunucularında güvenliği artırır
- Kolay kullanım ve arayüz desteği
- Sunucu tarafında kalıcı veri tutar
Sonuç
TahaAKKALIN tarafından geliştirilen bu sistem, Metin2 özel sunucularında güvenlik ve kullanıcı deneyimi açısından büyük katkısı olan bir özelliktir. Metin2 Lobby platformu olarak bu gibi gelişmiş sistemleri sunucularınıza entegre edebilmeniz için kaynaklar sunulmaktadır.
Item Locking System in Inventory | TahaAKKALIN
Metin2 Lobby presents this system to protect special items in player inventories from unwanted actions. This system is especially useful on PvP servers to prevent accidental selling or transferring high-value items. In this article, we will provide detailed information about the inventory item locking system developed by TahaAKKALIN.
What Is The System?
This system allows players to lock specific items so that they cannot be moved, sold, or used in other operations. This prevents accidental item loss. The system is developed both in C++ and Python.
Why Is It Needed?
In Metin2 private servers, especially after PvP matches, players may accidentally sell high-stat items or mix them up when moving to storage. In such cases, the item locking system comes into play. Locked items remain protected until the lock is released.
How Does It Work?
The player right-clicks on an item in their inventory and selects 'Lock'. The item becomes locked and the following actions are disabled:
- Selling
- Moving to storage
- Trading
- Giving to another player
Identifying Locked Items
Locked items are visually marked with a special icon or color change in the user interface. This helps users quickly identify which items are locked. This feature is implemented via a custom window in Py UI.
Technical Details
The system operates on the Game Core. A special lock flag is added to the item object. This flag is synchronized with the DB Core to ensure persistence. Even if the server restarts, the lock status remains unchanged.
Python Side Integration
Py Root files include the UIScript file, which is integrated with this system. When the player performs a click action, the Python side communicates with C++ to execute lock/unlock commands.
Benefits
- Prevents accidental item loss
- Increases security on PvP servers
- Easy-to-use interface support
- Maintains persistent data on server side
Conclusion
This system developed by TahaAKKALIN is a valuable feature for security and user experience on Metin2 private servers. As Metin2 Lobby, we provide resources for integrating such advanced systems into your servers.
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Virüs Total Link:
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
KANITLAR:
Mesut Pehlivan kardeşime teşekkür ederim.
EKLEME:
Build ederken exchange.cpp'de sorun yaşayan arkadaşlar aşağıda ki işlemi yapsınlar.
Exchange.cpp aç. include'lerin arasına
#include "questmanager.h"
bu kodu ekle sorun kalmaz.
Yansıtma fix:
Aç: pythonplayermodule.cpp
Arat: if (pPlayerItem->aAttr.bType != 0)
Değiştir: if (pPlayerItem->aAttr.bType != 1000)
Kanıtlarımızda tamamdır. En kısa zamanda video çekip yükleyeceğim.
Değerli yorumlarınızı ve kanıtlarınızı bekliyorum.
Umarım sorunsuz eklersiniz.
Sorun yaşayan arkadaşlar konu altına ne sorunu yaşadıklarını ve syserr atarlarsa sorunlarını çözebilirim.
Taha AKKALIN | ByMogart Gururlar Sunar.
Envanterde İtem Kilitleme Sistemi | TahaAKKALIN
Metin2 Lobby olarak sunulan bu sistem, oyuncuların envanterindeki özel eşyaların istenmeyen işlemlerden korunması için geliştirilmiş önemli bir özelliktir. Bu sistem özellikle PvP sunucularında yüksek değerli itemlerin yanlışlıkla satılması veya transfer edilmesini engeller. Bu yazıda, TahaAKKALIN tarafından geliştirilen envanterde item kilitleme sistemi hakkında detaylı bilgi vereceğiz.
Sistem Nedir?
Bu sistem, oyuncunun belirli eşyaları kilitleyerek onları taşınabilir, satılabilir ya da başka bir işlemde kullanılamaz hale getirir. Bu sayede yanlışlıkla item kaybı önlenir. Sistem, hem C++[/CODE] tarafında hem de Python tarafında geliştirilmiştir.
Neden Gerekli?
Metin2 özel sunucularda özellikle PvP maçları sonrasında oyuncular, yüksek statlı eşyalarını yanlışlıkla satabilir veya depoya koyarken karışıklık yaşayabilir. Bu durumda item kilitleme sistemi devreye girer. Kilitlenen eşya, kilit açıklandığı sürece herhangi bir işlemden etkilenmez.
Nasıl Çalışır?
Oyuncu, envanterindeki bir eşyayı sağ tıklayarak 'Kilitle' seçeneğini seçer. Eşya artık kilitli olarak işaretlenir ve aşağıdaki işlemler yapılamaz:
- Satış
- Depoya taşıma
- Takas
- Oyuncudan oyuncuya verme
Kilitli Eşya Tanıma
Kilitli eşyalar, kullanıcı arayüzünde özel bir ikon veya renk değişimiyle belirtilir. Bu sayede kullanıcı, hangi eşyaların kilitli olduğunu kolayca fark eder. Bu özellik, Py UI tarafında özel bir pencere ile sağlanır.
Teknik Detaylar
Sistem, Game Core üzerinde çalışır. Item nesnesine özel bir lock flag eklenir. Bu flag, DB Core ile senkronize edilerek kalıcı hale getirilir. Bu sayede sunucu yeniden başlatılsa bile kilit durumu korunur.
Python Tarafı Entegrasyonu
Py Root dosyaları arasında bulunan UIScript dosyası, bu sisteme entegre edilmiştir. Oyuncu tıklama eylemi sırasında Python tarafı C++ ile haberleşerek lock/unlock komutlarını gerçekleştirir.
Avantajları
- Yanlışlıkla item kaybını önler
- PvP sunucularında güvenliği artırır
- Kolay kullanım ve arayüz desteği
- Sunucu tarafında kalıcı veri tutar
Sonuç
TahaAKKALIN tarafından geliştirilen bu sistem, Metin2 özel sunucularında güvenlik ve kullanıcı deneyimi açısından büyük katkısı olan bir özelliktir. Metin2 Lobby platformu olarak bu gibi gelişmiş sistemleri sunucularınıza entegre edebilmeniz için kaynaklar sunulmaktadır.
Item Locking System in Inventory | TahaAKKALIN
Metin2 Lobby presents this system to protect special items in player inventories from unwanted actions. This system is especially useful on PvP servers to prevent accidental selling or transferring high-value items. In this article, we will provide detailed information about the inventory item locking system developed by TahaAKKALIN.
What Is The System?
This system allows players to lock specific items so that they cannot be moved, sold, or used in other operations. This prevents accidental item loss. The system is developed both in C++ and Python.
Why Is It Needed?
In Metin2 private servers, especially after PvP matches, players may accidentally sell high-stat items or mix them up when moving to storage. In such cases, the item locking system comes into play. Locked items remain protected until the lock is released.
How Does It Work?
The player right-clicks on an item in their inventory and selects 'Lock'. The item becomes locked and the following actions are disabled:
- Selling
- Moving to storage
- Trading
- Giving to another player
Identifying Locked Items
Locked items are visually marked with a special icon or color change in the user interface. This helps users quickly identify which items are locked. This feature is implemented via a custom window in Py UI.
Technical Details
The system operates on the Game Core. A special lock flag is added to the item object. This flag is synchronized with the DB Core to ensure persistence. Even if the server restarts, the lock status remains unchanged.
Python Side Integration
Py Root files include the UIScript file, which is integrated with this system. When the player performs a click action, the Python side communicates with C++ to execute lock/unlock commands.
Benefits
- Prevents accidental item loss
- Increases security on PvP servers
- Easy-to-use interface support
- Maintains persistent data on server side
Conclusion
This system developed by TahaAKKALIN is a valuable feature for security and user experience on Metin2 private servers. As Metin2 Lobby, we provide resources for integrating such advanced systems into your servers.
