İsime düşen item kaybolma süresi ayarlama

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Selamunaleyküm arkadaşlar bazılarınız gülebilir bu ne şimdi diye :D araştırdım forumda bulamadım varsa konu lütfen konuyu kapatın en basit şekilde anlatıyorum

game/src config.cpp dosyası açılır

Kod:
int item_floor_time = 300; int item_ownership_time = 300;

bu bölümler saniye üzerinden değiştirilir

Kod:
int item_floor_time = 65; int item_ownership_time = 60;

ideal olarak böyle değiştirebilirsiniz


alt kısımda yer alan bu bölümüde şöyle değiştirin


Kod:
TOKEN("item_floor_time") { str_to_number(item_floor_time, value_string); item_floor_time = MINMAX(0, item_floor_time, 32767); fprintf(stderr, "ITEM_FLOOR_TIME: %d\n", item_floor_time); } TOKEN("item_ownership_time") { str_to_number(item_ownership_time, value_string); item_ownership_time = MINMAX(0, item_ownership_time, 32767); fprintf(stderr, "ITEM_OWNERSHIP_TIME: %d\n", item_ownership_time);




Kod:
TOKEN("item_floor_time") { str_to_number(item_floor_time, value_string); item_floor_time = MINMAX(0, item_floor_time, 65); fprintf(stderr, "ITEM_FLOOR_TIME: %d\n", item_floor_time); } TOKEN("item_ownership_time") { str_to_number(item_ownership_time, value_string); item_ownership_time = MINMAX(0, item_ownership_time, 60); fprintf(stderr, "ITEM_OWNERSHIP_TIME: %d\n", item_ownership_time);



böyle yapınca 1 dkda itemden isim gider 5 saniye sonrada ismi giden item kaybolur

nerdeyse herkesin bildiği birşey fakat konusunu görmediğim için açtım en basit yöntemini​

Metin2'de İsime Düşen Item Kaybolma Süresi Ayarlama

Metin2 özel sunucularında oyuncuların öldürdüğü rakiplerden isim düşürme sistemi, PvP oyun deneyimini zenginleştiren önemli bir özelliktir. Bu sistem sayesinde oyuncular, güçlü düşmanlarını alt ederek onlardan eşyalar kazanabilir. Ancak bu eşyaların belirli bir süre sonra yok olması, hem oyun içi dengeleri korumak hem de fazla birikimi önlemek için kritik öneme sahiptir. Bu makalede, Metin2 özel sunucularında ismine düşen itemlerin kaybolma süresini nasıl ayarlayabileceğinizi detaylıca ele alacağız.

Sunucu Tarafı Ayarlar

Metin2 özel sunucularında item kaybolma süresi genellikle game server tarafında belirlenir. Bu ayar genellikle C++ tabanlı server source dosyalarında yapılmaktadır. Özellikle martysama veya diğer Metin2Dev kaynak kodlarında, bu süreye dair tanımlamalar genellikle constants.py ya da doğrudan source code içinde yer alır.

Örnek Kod Bölümü:

ITEM_NAME_DROP_TIME = 300 # Saniye cinsinden

Yukarıdaki gibi bir tanımlama ile isim düşen item 300 saniye (5 dakika) sonra otomatik olarak silinir. Bu değeri isteğinize göre artırabilir veya azaltabilirsiniz.

Client-Side Ayarlar

Bazı durumlarda, bu sürenin görsel olarak oyuncuya bildirilmesi gerekir. Bu işlem genellikle uiscript veya Python GUI üzerinden yapılır. Oyuncuya düşen itemin ne kadar süreyle geçerli olduğunu göstermek için timer sistemleri kullanılabilir.

Python GUI tarafında bir örnek:

time_left = remaining_time // 60
time_label.SetText(f'{time_left} dakika kaldı')

Ayarların Derlenmesi ve Uygulanması

Değişiklik yaptıktan sonra, server source kodunu derlemek (compile) gerekir. Bu işlem genellikle Visual Studio veya GCC gibi derleyicilerle yapılır. Derleme işlemi başarılıysa, auth ve game server yeniden başlatılır. Her değişiklikten sonra server yeniden başlatılması, değişikliğin aktif hale gelmesi için şarttır.

Database Entegrasyonu

Bazı gelişmiş sistemlerde, bu süreyi DB üzerinden dinamik olarak ayarlamak isteyebilirsiniz. Bunun için db_core kısmında gerekli SQL sorguları yazılabilir. Örneğin, her harita için farklı sürelere izin verilebilir.

SELECT drop_time FROM map_config WHERE map_index = ?;

Özet

Isme düşen item kaybolma süresi, Metin2 PvP sistemlerinde stratejik bir rol oynar. Sunucu tarafında doğru ayarlandığında, hem oyun içi dengeler korunur hem de oyuncular daha aktif bir şekilde PvP yapmaya teşvik edilir. C++ source düzenlemeleri, Python GUI entegrasyonları ve DB bağlantısı ile bu süreyi istediğiniz gibi özelleştirebilirsiniz.


Setting Name-Dropped Item Expiration Time in Metin2

In Metin2 private servers, the name-drop system allows players to obtain items from enemies they have defeated, enhancing the PvP gameplay experience. However, having these items disappear after a certain time helps maintain game balance and prevents excessive accumulation. In this article, we will cover in detail how to configure the expiration time for name-dropped items in Metin2 private servers.

Server-Side Settings

The item expiration time in Metin2 private servers is usually determined on the game server. This setting is typically made within the C++-based server source files. In sources such as martysama or other Metin2Dev codes, these time-related configurations are often located in constants.py or directly in the source code.

Example Code Section:

ITEM_NAME_DROP_TIME = 300 # In seconds

With a definition like the one above, the name-dropped item will automatically disappear after 300 seconds (5 minutes). You can increase or decrease this value according to your needs.

Client-Side Adjustments

In some cases, you may want to visually notify the player about the remaining time for the dropped item. This is generally done through uiscript or Python GUI. You can implement timer systems to display how much time remains before the item disappears.

Example in Python GUI:

time_left = remaining_time // 60
time_label.SetText(f'{time_left} minutes left')

Compiling and Applying Changes

After making modifications, you must compile the server source code. This process is usually done with compilers like Visual Studio or GCC. After successful compilation, the auth and game servers must be restarted. Restarting the server after each change is necessary for the updates to take effect.

Database Integration

In more advanced systems, you might want to set the expiration time dynamically via the database. For that purpose, relevant SQL queries can be written in the db_core section. For instance, different durations can be allowed per map.

SELECT drop_time FROM map_config WHERE map_index = ?;

Summary

The expiration time for name-dropped items plays a strategic role in Metin2 PvP systems. When properly configured on the server side, both in-game balance is preserved and players are encouraged to engage in PvP more actively. By adjusting C++ source files, integrating with Python GUI, and connecting to DB, you can customize this duration as needed.
 

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

Geri
Üst Alt