Merhaba arkadaşlar demirgame'nin paylaşmış olduğu minimap altı saat konusunda bir problem mevcuttu oyun tam doldugunda taskbar vs geliyor ekran açılmıyordu vs vs buna benzer hatalar oluyordu bende biraz düzenledim ve bu sorunu çözdüm, kodlama demirgameye aittir, tabi birazda görünümü değiştirmiştim bendeki saat görünümü şu şekilde
34K Sürümü:
[/CENTER]
@
Değiştirilen kodlar:
self.timeLine.SetFontName(locale.UI_DEF_FONT_LARGE )
Yukarıdaki kod aşağıdaki şekilde değiştirilmiştir.
self.timeLine.SetFontName(localeInfo.UI_DEF_FONT )
Kurulum
Root Dosyamızı Unepk veya Eternexus Yardımı ile Açalım ve İçerisindeki Game.py Dosyasını Notepad++ Yardımı İle Açalım
Game.py'yi açın ve içerisinde import time kodunu aratın eğer bu kod varsa tekrardan import time kodunu eklemenize gerek yoktur
34K Sürümü:
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
@
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
; 'den alınıp birkaç kodlarda değişiklik yapılmıştır.[FONT=&amp]Değiştirilen kodlar:
self.timeLine.SetFontName(locale.UI_DEF_FONT_LARGE )
Yukarıdaki kod aşağıdaki şekilde değiştirilmiştir.
self.timeLine.SetFontName(localeInfo.UI_DEF_FONT )
Kurulum
Root Dosyamızı Unepk veya Eternexus Yardımı ile Açalım ve İçerisindeki Game.py Dosyasını Notepad++ Yardımı İle Açalım
Game.py'yi açın ve içerisinde import time kodunu aratın eğer bu kod varsa tekrardan import time kodunu eklemenize gerek yoktur
import ime; aratalım ve altına aşağıdaki kodu ekleyelim
import time
import time
self.__ProcessPreservedServerCommand() kodunu aratalım ve altına bir boşluk bırakarak aşağıdaki kodu ekleyelim
self.ViewDistance.SetPosition(0, 0) kodunu aratalım ve altına aşağıdaki kodları ekleyelim
app.UpdateGame() kodunu aratalım ve altına aşağıdaki kodları ekleyelim
Minimap Altına Saat Tarih 40K Loading Ekranında Takılma Sorunu Fix !
Metin2 özel sunucularında oyun deneyimini artırmak adına geliştiriciler sürekli olarak yeni özellikler eklemektedir. Bu özelliklerden birisi de oyun içi saat ve tarih gösterimi olup, genellikle minimap altına entegre edilmektedir. Ancak bu tür sistemlerin bazı durumlarda 40.000 adet loading ekranında takılma gibi sorunlara neden olabileceği görülmüştür. Bu yazıda, minimap altına saat tarih entegrasyonu sırasında oluşabilecek bu sorunu nasıl çözeceğimizi detaylıca ele alacağız.
Sorun Nedir?
Metin2 oyununda, özellikle 40.000 loading ekranında beklenmedik şekilde oyunun donması ya da yüklenmenin uzaması gibi durumlarla karşılaşılabilir. Bu tür problemler genellikle kullanıcı arayüzü (UI) ile ilgili sistemsel hatalardan veya hatalı kodlama uygulamalarından kaynaklanmaktadır. Minimap altına saat ve tarih eklemek isteyen geliştiriciler, bu işlemi yaparken hatalı bir UI döngüsü yaratmış olabilir. Özellikle uiscript dosyasındaki kodların doğru yapılandırılmaması, bu tür donmaların başlıca sebeplerindendir.
Neden Bu Sorun Meydana Gelir?
Oyun yüklenirken, tüm arayüz öğeleri sırayla başlatılır. Eğer bir UI elementi, başlatma sırasında bir döngüye girerse veya bir işlem sonsuz döngüye girerse, bu durum oyunun donmasına veya 40.000 loading ekranında takılmasına neden olur. Saat ve tarih sistemleri genellikle bir sayaç üzerinden çalışır ve bu sayaçlar zamanla güncellenmek zorundadır. Eğer bu güncelleme işlemi hatalı bir şekilde yapılandırılırsa, sistem sonsuz bir döngüye girebilir.
C++ Kaynak Kodlarında Fix Uygulama
Bu hatayı çözmek için öncelikle py_root klasöründe bulunan UI dosyaları incelenmelidir. Özellikle saat ve tarih için tanımlanan fonksiyonlar kontrol edilmeli ve bu fonksiyonların doğru zaman aralıklarında çalışıp çalışmadığı test edilmelidir. Örneğin, bir sayaç fonksiyonu her saniye değil de, her milisaniyede çalışacak şekilde ayarlanmışsa bu, performans kaybına ve donmaya neden olabilir. Python GUI sistemlerinde, bu tür fonksiyonlar genellikle self.tick() gibi bir yapıyla tanımlanır. Bu yapı, doğru zamanlayıcı ile çağrılmalıdır. Aksi halde sonsuz döngü riski doğar.
Fix Nasıl Yapılır?
Fix için öncelikle uiscript dosyasında yer alan saat ve tarih fonksiyonları gözden geçirilmelidir. Zamanlayıcı fonksiyonları doğru şekilde tanımlanmalı ve bu fonksiyonların gereğinden fazla tekrar etmemesi sağlanmalıdır. Ayrıca, py_root kısmında tanımlanan sayaç fonksiyonuna zamanlayıcı (timer) sistemi entegre edilmelidir. Bu sayede, her saniyede bir çalışacak şekilde ayarlanabilir ve gereksiz yükten kurtarılabilir. Örnek bir yapı şu şekildedir:
def UpdateTime(self):
import time
self.timeText.SetText(time.strftime('%H:%M:%S'))
self.dateText.SetText(time.strftime('%d/%m/%Y'))
Test ve Doğrulama
Fix uygulandıktan sonra, oyunun farklı sistemlerde test edilmesi önemlidir. Özellikle 40.000 loading ekranının tekrar tekrar çalıştırılması ve oyunun normal şekilde başlaması sağlanmalıdır. Eğer sorunun devam ettiğini görürseniz, UI fonksiyonlarında başka bir döngü olup olmadığı kontrol edilmelidir. Ayrıca, game server programming sırasında kullanılan timer sistemlerinin de uyumlu olması gerekir.
Sonuç
Metin2 özel sunucularında minimap altına saat tarih eklemek, kullanıcı deneyimini ciddi anlamda artırır. Ancak bu tür sistemlerin doğru uygulanması, hem performans hem de stabilite açısından büyük önem taşır. 40.000 loading ekranında takılma sorununun önüne geçmek için, UI güncellemelerinin dikkatli ve zamanlanmış bir şekilde yapılması şarttır. Bu fix sayesinde, sunucularınız daha hızlı ve daha kararlı bir şekilde çalışacaktır.
Fix for Clock Date Under Minimap Freezing on 40K Loading Screen!
In Metin2 private servers, developers constantly add new features to enhance the gaming experience. One such feature is the in-game clock and date display, which is usually integrated under the minimap. However, these types of systems may sometimes cause issues like freezing on the 40,000 loading screen. In this article, we will examine in detail how to solve this problem that can occur during the integration of clock and date under the minimap.
What Is the Problem?
In the Metin2 game, unexpected freezing or extended loading times can be experienced, especially on the 40,000 loading screen. Such problems generally arise from user interface (UI) related systemic errors or faulty coding practices. Developers who add clock and date features under the minimap might inadvertently create a faulty UI loop. Incorrect configuration of codes in the uiscript file is often the main reason behind such freezes.
Why Does This Issue Occur?
During game loading, all interface elements are initialized sequentially. If a UI element enters a loop or if an operation enters an infinite loop during initialization, this can cause the game to freeze or get stuck on the 40,000 loading screen. Clock and date systems typically operate via counters and must update over time. If this update process is configured incorrectly, it can lead to an infinite loop.
Applying Fix in C++ Source Code
To resolve this issue, first the UI files located in the py_root folder should be reviewed. Particularly, functions defined for clock and date should be checked, and whether they run at correct intervals should be tested. For example, if a counter function is set to run every millisecond instead of every second, it can cause performance loss and freezing. In Python GUI systems, such functions are usually defined with a structure like self.tick(). This structure must be called with the correct timer; otherwise, an infinite loop risk arises.
How to Apply the Fix?
Firstly, review the clock and date functions in the uiscript file. Timer functions should be correctly defined, ensuring they do not repeat more than necessary. Additionally, a timer system should be integrated into the counter function defined in the py_root section. This way, it can be set to run once per second, avoiding unnecessary load. An example structure is as follows:
def UpdateTime(self):
import time
self.timeText.SetText(time.strftime('%H:%M:%S'))
self.dateText.SetText(time.strftime('%d/%m/%Y'))
Testing and Verification
After applying the fix, testing the game on different systems is important. Especially, running the 40,000 loading screen multiple times and ensuring the game starts normally should be verified. If the issue persists, check for any other loops within the UI functions. Also, ensure that timer systems used during game server programming are compatible.
Conclusion
Adding a clock and date under the minimap in Metin2 private servers significantly enhances the user experience. However, proper implementation of such systems is crucial for both performance and stability. To avoid freezing on the 40,000 loading screen, UI updates must be handled carefully and timed properly. With this fix, your servers will run faster and more reliably.
Kod:
self.timeLine = ui.TextLine() self.timeLine.SetFontName(localeInfo.UI_DEF_FONT ) self.timeLine.SetFontColor(255, 10, 0) self.timeLine.SetPosition((wndMgr.GetScreenWidth() - 133) / 2, 155)
self.ViewDistance.SetPosition(0, 0) kodunu aratalım ve altına aşağıdaki kodları ekleyelim
Kod:
#Ufuk Rina Saat self.timeLine.SetWindowHorizontalAlignCenter() self.timeLine.SetHorizontalAlignCenter() self.timeLine.SetFeather() self.timeLine.SetOutline() self.timeLine.Show()
app.UpdateGame() kodunu aratalım ve altına aşağıdaki kodları ekleyelim
Kod:
localtime = localtime = time.strftime("%d %m %Y %H:%M") self.timeLine.SetText(localtime) self.timeLine.Show()
Minimap Altına Saat Tarih 40K Loading Ekranında Takılma Sorunu Fix !
Metin2 özel sunucularında oyun deneyimini artırmak adına geliştiriciler sürekli olarak yeni özellikler eklemektedir. Bu özelliklerden birisi de oyun içi saat ve tarih gösterimi olup, genellikle minimap altına entegre edilmektedir. Ancak bu tür sistemlerin bazı durumlarda 40.000 adet loading ekranında takılma gibi sorunlara neden olabileceği görülmüştür. Bu yazıda, minimap altına saat tarih entegrasyonu sırasında oluşabilecek bu sorunu nasıl çözeceğimizi detaylıca ele alacağız.
Sorun Nedir?
Metin2 oyununda, özellikle 40.000 loading ekranında beklenmedik şekilde oyunun donması ya da yüklenmenin uzaması gibi durumlarla karşılaşılabilir. Bu tür problemler genellikle kullanıcı arayüzü (UI) ile ilgili sistemsel hatalardan veya hatalı kodlama uygulamalarından kaynaklanmaktadır. Minimap altına saat ve tarih eklemek isteyen geliştiriciler, bu işlemi yaparken hatalı bir UI döngüsü yaratmış olabilir. Özellikle uiscript dosyasındaki kodların doğru yapılandırılmaması, bu tür donmaların başlıca sebeplerindendir.
Neden Bu Sorun Meydana Gelir?
Oyun yüklenirken, tüm arayüz öğeleri sırayla başlatılır. Eğer bir UI elementi, başlatma sırasında bir döngüye girerse veya bir işlem sonsuz döngüye girerse, bu durum oyunun donmasına veya 40.000 loading ekranında takılmasına neden olur. Saat ve tarih sistemleri genellikle bir sayaç üzerinden çalışır ve bu sayaçlar zamanla güncellenmek zorundadır. Eğer bu güncelleme işlemi hatalı bir şekilde yapılandırılırsa, sistem sonsuz bir döngüye girebilir.
C++ Kaynak Kodlarında Fix Uygulama
Bu hatayı çözmek için öncelikle py_root klasöründe bulunan UI dosyaları incelenmelidir. Özellikle saat ve tarih için tanımlanan fonksiyonlar kontrol edilmeli ve bu fonksiyonların doğru zaman aralıklarında çalışıp çalışmadığı test edilmelidir. Örneğin, bir sayaç fonksiyonu her saniye değil de, her milisaniyede çalışacak şekilde ayarlanmışsa bu, performans kaybına ve donmaya neden olabilir. Python GUI sistemlerinde, bu tür fonksiyonlar genellikle self.tick() gibi bir yapıyla tanımlanır. Bu yapı, doğru zamanlayıcı ile çağrılmalıdır. Aksi halde sonsuz döngü riski doğar.
Fix Nasıl Yapılır?
Fix için öncelikle uiscript dosyasında yer alan saat ve tarih fonksiyonları gözden geçirilmelidir. Zamanlayıcı fonksiyonları doğru şekilde tanımlanmalı ve bu fonksiyonların gereğinden fazla tekrar etmemesi sağlanmalıdır. Ayrıca, py_root kısmında tanımlanan sayaç fonksiyonuna zamanlayıcı (timer) sistemi entegre edilmelidir. Bu sayede, her saniyede bir çalışacak şekilde ayarlanabilir ve gereksiz yükten kurtarılabilir. Örnek bir yapı şu şekildedir:
def UpdateTime(self):
import time
self.timeText.SetText(time.strftime('%H:%M:%S'))
self.dateText.SetText(time.strftime('%d/%m/%Y'))
Test ve Doğrulama
Fix uygulandıktan sonra, oyunun farklı sistemlerde test edilmesi önemlidir. Özellikle 40.000 loading ekranının tekrar tekrar çalıştırılması ve oyunun normal şekilde başlaması sağlanmalıdır. Eğer sorunun devam ettiğini görürseniz, UI fonksiyonlarında başka bir döngü olup olmadığı kontrol edilmelidir. Ayrıca, game server programming sırasında kullanılan timer sistemlerinin de uyumlu olması gerekir.
Sonuç
Metin2 özel sunucularında minimap altına saat tarih eklemek, kullanıcı deneyimini ciddi anlamda artırır. Ancak bu tür sistemlerin doğru uygulanması, hem performans hem de stabilite açısından büyük önem taşır. 40.000 loading ekranında takılma sorununun önüne geçmek için, UI güncellemelerinin dikkatli ve zamanlanmış bir şekilde yapılması şarttır. Bu fix sayesinde, sunucularınız daha hızlı ve daha kararlı bir şekilde çalışacaktır.
Fix for Clock Date Under Minimap Freezing on 40K Loading Screen!
In Metin2 private servers, developers constantly add new features to enhance the gaming experience. One such feature is the in-game clock and date display, which is usually integrated under the minimap. However, these types of systems may sometimes cause issues like freezing on the 40,000 loading screen. In this article, we will examine in detail how to solve this problem that can occur during the integration of clock and date under the minimap.
What Is the Problem?
In the Metin2 game, unexpected freezing or extended loading times can be experienced, especially on the 40,000 loading screen. Such problems generally arise from user interface (UI) related systemic errors or faulty coding practices. Developers who add clock and date features under the minimap might inadvertently create a faulty UI loop. Incorrect configuration of codes in the uiscript file is often the main reason behind such freezes.
Why Does This Issue Occur?
During game loading, all interface elements are initialized sequentially. If a UI element enters a loop or if an operation enters an infinite loop during initialization, this can cause the game to freeze or get stuck on the 40,000 loading screen. Clock and date systems typically operate via counters and must update over time. If this update process is configured incorrectly, it can lead to an infinite loop.
Applying Fix in C++ Source Code
To resolve this issue, first the UI files located in the py_root folder should be reviewed. Particularly, functions defined for clock and date should be checked, and whether they run at correct intervals should be tested. For example, if a counter function is set to run every millisecond instead of every second, it can cause performance loss and freezing. In Python GUI systems, such functions are usually defined with a structure like self.tick(). This structure must be called with the correct timer; otherwise, an infinite loop risk arises.
How to Apply the Fix?
Firstly, review the clock and date functions in the uiscript file. Timer functions should be correctly defined, ensuring they do not repeat more than necessary. Additionally, a timer system should be integrated into the counter function defined in the py_root section. This way, it can be set to run once per second, avoiding unnecessary load. An example structure is as follows:
def UpdateTime(self):
import time
self.timeText.SetText(time.strftime('%H:%M:%S'))
self.dateText.SetText(time.strftime('%d/%m/%Y'))
Testing and Verification
After applying the fix, testing the game on different systems is important. Especially, running the 40,000 loading screen multiple times and ensuring the game starts normally should be verified. If the issue persists, check for any other loops within the UI functions. Also, ensure that timer systems used during game server programming are compatible.
Conclusion
Adding a clock and date under the minimap in Metin2 private servers significantly enhances the user experience. However, proper implementation of such systems is crucial for both performance and stability. To avoid freezing on the 40,000 loading screen, UI updates must be handled carefully and timed properly. With this fix, your servers will run faster and more reliably.
