Merhaba arkadaşlar forumda gezerken bir çok kişinin bu konuyu sorduğunu gördüm, sanırım açılmış bir konu yok eğer var ise gerekli işlemler yapılabilir.
İLK ÖNCE
HARİTALARIN İNDEXLERİ NASIL ÖĞRENİLİR?
FTP üzerinden:
dizinine giriş yapıyoruz
adlı dosyayı indiriyoruz.
İLK ÖNCE
HARİTALARIN İNDEXLERİ NASIL ÖĞRENİLİR?
FTP üzerinden:
Kod:
/usr/game/share/locale/turkey/map
Kod:
"index"
Daha sonra açıyoruz:
Sol kısımda bulunan:
Kod:
1: Kırmızı bayrak 1. köy indexi, 3: Kırmızı bayrak 2. köy indexi, 21: Sarı bayrak 1. köy indexi, 23: Sarı bayrak 2. köy indexi, 41: Mavi bayrak 1. köy indexi, 43: Mavi bayrak 2. köy indexi'dir.
///
game/src/ içerisinde ki start_position.cpp'yi açıyoruz.
ARAT
Kod:
long g_start_map[4] =
Değiştirmek istediğiniz başlangıç haritasının index numarası ile değiştirin.
ARAT
Kod:
DWORD g_start_position[4][2] =
Öldüğünüz zaman "Şehirde başla" butonuna basınca hangi koordinatda doğacağını belirlemek için kullandığınız haritaya göre koordinat yazarsınız.
ARAT
Kod:
DWORD arena_return_position[4][2] =
Savaştan çıktıktan sonra nerede dirileceğini ayarlayabileceğiniz harita koordinatları.
ARAT
Kod:
DWORD g_create_position[4][2] =
Karakter yarattıktan sonra karakterin dirilme koordinatları kullandığınız haritaya göre değiştirebilirsiniz.
Teşekkür ederim iyi forumlar.
Metin2'de Başlangıç Haritasını veya Koordinatlarını Değiştirmek
Metin2 özel sunucularında başlangıç haritasını ya da koordinatlarını değiştirmek, sunucu sahiplerinin karşılaştığı yaygın ihtiyaçlardan biridir. Bu işlem, oyuncuların karakter oluşturduktan sonra doğrudan oyun içi haritada belirlenen bir konuma yönlendirilmesini sağlar. Bu, hem yeni başlayan oyuncular için daha kullanıcı dostu bir deneyim sunar hem de sunucu içi özel etkinlik alanlarına yönlendirmeler yapmanıza olanak tanır.
Başlangıç Noktasının Değiştirilmesi İçin Gerekli Dosyalar
Metin2 özel sunucularında başlangıç koordinatları genellikle game sunucusuna ait yapılandırma dosyalarında tanımlanır. Özellikle client/src/entry_core/game/core/char.cpp veya benzeri bir dosya üzerinde değişiklik yapılabilir. Bununla birlikte bazı özel sistemlerde bu değerler db tarafında da saklanabilir. Oyuncu karakter yaratıldığında start position olarak belirlenen koordinatlar, sunucu tarafından otomatik olarak atanır.
C++ Kaynak Kodlarında Başlangıç Pozisyonunu Değiştirme
C++ tabanlı Metin2 kaynak kodlarında, karakter yaratıldığında hangi haritada ve hangi koordinatlarda başlatılacağını belirleyen kod parçaları vardır. Örneğin TPacketGCNewCharacterPosition yapısı ile karakterin başlangıç pozisyonu ayarlanabilir. Bu yapıda bulunan lX ve lY değerleri, karakterin X ve Y koordinatlarını belirtir. Bu değerleri manuel olarak değiştirmek, tüm yeni karakterlerin aynı noktadan başlamasını sağlayacaktır.
Dikkat Edilmesi Gerekenler
Başlangıç haritası veya koordinatları değiştirilirken dikkat edilmesi gereken bazı önemli hususlar vardır. Öncelikle seçilen haritanın aktif olması gerekir. Ayrıca koordinatların mevcut harita sınırları içinde olduğundan emin olunmalıdır. Aksi takdirde karakter spawnlandığında harita dışı bir alana düşebilir ve oyuncu oyunu kullanamaz hale gelebilir. Bu tür hatalar sunucu logları üzerinden takip edilebilir.
Python Tarafında GUI ile Başlangıç Ayarlarını Yönetme
Metin2 özel sunucularında Py Root veya UI Script tabanlı sistemler kullanıyorsanız, bu işlemleri kolaylaştırmak için Python GUI arayüzleri geliştirilebilir. Bu tür bir arayüz sayesinde, koordinatlar veya harita bilgileri dinamik olarak değiştirilebilir. Bu işlemler için Martysama gibi araçlar da kullanılabilir. Böylece sunucu yöneticisi olarak manuel olarak her seferinde kod değiştirmek zorunda kalmazsınız.
Veritabanında Depolanan Başlangıç Bilgileri
Bazı gelişmiş Metin2 sistemlerinde, karakterlerin başlangıç bilgileri doğrudan DB Core üzerinden yönetilir. Bu durumda, auth veya game veritabanındaki player tablosunda bulunan start_map, start_x, start_y gibi sütunlar üzerinden bu bilgiler tanımlanabilir. Bu yöntem, farklı karakter tipleri için farklı başlangıç alanları tanımlamaya olanak tanır.
Özel PVP Sistemleri İçin Kullanımı
Metin2 özel sunucularında PvP sistemlerine özel başlangıç haritaları tanımlamak da mümkündür. Özellikle turnuvalar veya özel etkinlikler için, oyuncuların belirli bir haritada spawnlanması önemlidir. Bu gibi durumlarda, Game Core üzerinden koşullu ifadelerle belirli zamanlarda farklı başlangıç koordinatları atanabilir. Bu tür sistemler, C++ Source Edit ile kolayca entegre edilebilir.
Changing Start Map/Coordinates in Metin2
In Metin2 private servers, changing the starting map or coordinates is one of the common needs encountered by server owners. This process ensures that after creating their character, players are automatically teleported to a specific location on the in-game map. This provides a more user-friendly experience for new players and allows you to redirect them to special event areas within your server.
Required Files for Changing the Starting Point
In Metin2 private servers, starting coordinates are generally defined in configuration files related to the game server. Particularly, modifications may be made in files such as client/src/entry_core/game/core/char.cpp or similar. However, in some custom systems, these values might also be stored on the db side. When a player creates a character, the start position coordinates are automatically assigned by the server.
Changing Start Position in C++ Source Code
In C++ based Metin2 source code, there are code segments that determine which map and coordinates a character starts at upon creation. For instance, the TPacketGCNewCharacterPosition structure can be used to set the starting position of a character. The lX and lY values in this structure represent the X and Y coordinates of the character. Manually modifying these values will cause all new characters to start from the same point.
Important Considerations
When changing the starting map or coordinates, certain important points must be considered. Firstly, the selected map must be active. Additionally, ensure that the coordinates fall within the boundaries of the existing map. Otherwise, the character might spawn outside the map area, rendering the player unable to play. Such errors can be tracked via server logs.
Managing Start Settings with Python GUI
If you are using Py Root or UI Script based systems in your Metin2 private server, you can develop Python GUI interfaces to simplify these operations. With such an interface, coordinates or map information can be changed dynamically. Tools like Martysama can also be used for these tasks, allowing you to avoid manually editing code each time.
Start Information Stored in Database
In some advanced Metin2 systems, character starting information is managed directly through the DB Core. In such cases, columns such as start_map, start_x, and start_y in the player table of the auth or game database define these details. This method enables defining different starting locations for various character types.
Usage in Custom PvP Systems
It is also possible to define custom starting maps for PvP systems in Metin2 private servers. Especially for tournaments or special events, spawning players in a specific map becomes critical. In such cases, conditional statements in the Game Core can be used to assign different starting coordinates during certain times. Such systems can easily be integrated with C++ Source Edit.
