yang yenileme

  • Konbuyu başlatan Konbuyu başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 34

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
bir arkadaş istedi, aklıma ilk gelen buydu, daha iyisi yapılabilir (ne kadar gerekli oldugu tartisilir) biraz hızlı olmus kendinize göre düzenlersiniz

Kod:
game.py ara def OnPickMoney(self, money): ekle oldGold = player.GetElk() - money self.interface.SetLastGold(oldGold) interfaceModule.py ara def IsEditLineFocus(self): üstüne ekle def SetLastGold(self, amount):         self.wndInventory.lastGold = amount       uiInventory.py ara tooltipItem = None ekle lastGold        = None tekrar ara self.tooltipItem = None ekle self.lastGold = None ara def RefreshStatus(self): yang kısımlarını sil aşağıdakini yapıştır (şöyle bişi oluşcak http://prntscr.com/p1sl9e)         iLastGold    = self.GetLastGold()         iGoldNow    = player.GetElk()         gIncrease    = 1 if (not (iGoldNow - iLastGold) / 10000 > 0) else 10000               for goldLoop in range(iLastGold, iGoldNow + 1, gIncrease):             goldLoop    = goldLoop             iGoldNow    = iGoldNow                       self.wndMoney.SetText(localeInfo.NumberToMoneyString(goldLoop))             if (goldLoop == iGoldNow): break               self.wndMoney.SetText(localeInfo.NumberToMoneyString(iGoldNow))

ne işe yaradıgı;


Metin2 Yang Yenileme Sistemi Nedir?
Metin2 özel sunucularında yang sistemi, oyuncuların para birimi olarak kullandığı temel özelliktir. Yang, oyuncuların eşya alım-satımı yapabilmeleri, upgrade işlemleri gerçekleştirebilmeleri ve diğer ekonomik işlemler için kullandıkları maliyet unsurudur. Ancak bazı durumlarda, özellikle test sunucularında ya da özel eventler sırasında, oyuncuların yang miktarını sıfırlamak veya yeniden başlatmak istenebilir. İşte bu noktada devreye yang yenileme sistemi girer.

Yang Yenileme Nasıl Yapılır?
Metin2 özel sunucularında yang yenileme işlemi genellikle veritabanı üzerinden yapılır. Oyuncunun karakter tablosunda bulunan 'gold' veya 'yang' adlı alanlar doğrudan sıfırlanabilir. Bu işlem manuel olarak da yapılabilir; ancak büyük sunucularda otomatik sistemler kullanmak daha mantıklıdır. Bunun için özel komutlar ya da GUI tabanlı sistemler kullanılabilir.

Python GUI ile Yang Yenileme Sistemi
Python dili ve PyQt gibi kütüphaneler kullanılarak GUI tabanlı arayüzler oluşturulabilir. Bu arayüz sayesinde adminler, belirli kullanıcıların yang miktarını kolayca kontrol edebilir ve sıfırlayabilirler. Örneğin, bir butonla seçilen karakterin yang değerini 0 yapmak mümkündür. Bu tür sistemler, Metin2 Lobby gibi gelişmiş sunucu yönetim platformlarında yaygın şekilde kullanılmaktadır.

Yang Yenileme Riskleri[/BR]Yanlışlıkla yapılan yang yenileme işlemleri, sunucuda ciddi dengesizliklere yol açabilir. Özellikle gerçek parayla satın alınan karakterlerde bu işlem dikkatle yapılmalıdır. Sunucu yöneticileri, bu tür işlemleri loglayarak ve onay sistemleriyle destekleyerek kontrollü gerçekleştirmelidir.

Yang Yenileme İçin Kaynak Kod Örnekleri
Aşağıda basit bir C++ kodu örneği verilmiştir:
Kod:
void ResetPlayerGold(DWORD pid){[BR][/BR]    char query[256];[BR][/BR]    snprintf(query, sizeof(query), "UPDATE player SET gold = 0 WHERE id = %u", pid);[BR][/BR]    mysql_query(sqlfd, query);[BR][/BR]}

Bu kod, verilen oyuncu ID'sine göre veritabanındaki gold değerini 0 yapar. Bu tür fonksiyonlar, game server src üzerinde entegre edilebilir.

Yang Yenileme Sistemlerinin Otomasyonu
Bazı sunucularda, belirli periyotlarda otomatik olarak yang yenileme işlemi yapılır. Bu, PvP sistemlerinde dengeyi korumak veya özel turnuvalar öncesi tüm oyuncuların eşit şartlardan başlamasını sağlamak için uygulanabilir. Bu tür otomasyonlar, Python veya C++ ile yazılmış zamanlayıcı sistemlerle sağlanabilir.


What is Metin2 Yang Refresh System?
In Metin2 private servers, the yang system is the fundamental currency used by players. Yang is essential for purchasing items, performing upgrade operations, and carrying out other economic transactions within the game. However, in certain scenarios—especially on test servers or during special events—it may be necessary to reset or refresh a player’s yang amount. This is where the yang refresh system comes into play.

How is Yang Refresh Performed?
In Metin2 private servers, the yang refresh process is typically carried out via the database. The 'gold' or 'yang' field in the player character table can be directly reset to zero. While this can be done manually, larger servers often prefer automated systems. Special commands or GUI-based tools can assist in achieving this more efficiently.

Yang Refresh System with Python GUI
Using Python language and libraries such as PyQt, GUI-based interfaces can be created. These interfaces allow admins to easily control and reset a selected player's yang amount. For instance, a button can be programmed to set the yang value of a selected character to 0. Such systems are widely used in advanced server management platforms like Metin2 Lobby.

Risks of Yang Refresh
Incorrectly executed yang refresh operations can lead to significant imbalances on the server. Especially on characters that have purchased items with real money, these actions must be handled with care. Server administrators should ensure these processes are logged and supported by confirmation systems to maintain control.

Sample Source Code for Yang Refresh
Below is a simple C++ code example:
Kod:
void ResetPlayerGold(DWORD pid){[BR][/BR]    char query[256];[BR][/BR]    snprintf(query, sizeof(query), "UPDATE player SET gold = 0 WHERE id = %u", pid);[BR][/BR]    mysql_query(sqlfd, query);[BR][/BR]}

This code sets the gold value in the database to 0 for the given player ID. Such functions can be integrated into the game server src.

Automation of Yang Refresh Systems
On some servers, yang amounts are automatically refreshed at specific intervals. This helps maintain balance in PvP systems or ensures all players start under equal conditions before special tournaments. Such automation can be implemented using timer-based systems written in Python or C++.
 

Şuan Bu Konuyu Görüntüleyen Kullanıcılar (Toplam : 0, Üye : 0, Misafir : 0)

Geri
Üst Alt