Sistem Hakkında
Karakter/Oyuncu Sizin Belirlediğiniz Haritalara Girdiğinde, Otomatik Olarak Karakter ile Kamera Açısının Yükseltilmesini veya Genişlemesini yada Mesafesini Sağlar.
Bu Haritalar Dışında Olduğunuz Zaman, Otomatik Olarak Eski Sabit Yükseliğini veya Genişliğini yada Mesafesini Alır.
Tüm İşlemler veya Değişiklikler Root/game.py ve Root/constinfo.py Adlı Dosyada Yapılmaktadır.
Haritaları Nasıl Belirlemeliyim?
İçerikte Göreceğiniz;
if str(background.GetCurrentMapName()) == "metin2_map_defensewave" and app.ENABLE_SHIP_DEFENSE:
veya
elif str(background.GetCurrentMapName()) == "metin2_12zi_stage" and app.ENABLE_12ZI:
Buradaki Harita İsmi Hangisi
Haritaları Nasıl Belirlemeliyim? Altında Olan ve Mavi Yazı İle Belirtilen Harita İsimleridir.
Değişiklik İçeriği
Root/game.py
Root/constInfo.py
Uyarı!!:
Eğer constInfo.py En Üstte İmport'larda app Yok İse;
import app
Karakter/Oyuncu Sizin Belirlediğiniz Haritalara Girdiğinde, Otomatik Olarak Karakter ile Kamera Açısının Yükseltilmesini veya Genişlemesini yada Mesafesini Sağlar.
Bu Haritalar Dışında Olduğunuz Zaman, Otomatik Olarak Eski Sabit Yükseliğini veya Genişliğini yada Mesafesini Alır.
Tüm İşlemler veya Değişiklikler Root/game.py ve Root/constinfo.py Adlı Dosyada Yapılmaktadır.
Haritaları Nasıl Belirlemeliyim?
İçerikte Göreceğiniz;
if str(background.GetCurrentMapName()) == "metin2_map_defensewave" and app.ENABLE_SHIP_DEFENSE:
veya
elif str(background.GetCurrentMapName()) == "metin2_12zi_stage" and app.ENABLE_12ZI:
Buradaki Harita İsmi Hangisi
Haritaları Nasıl Belirlemeliyim? Altında Olan ve Mavi Yazı İle Belirtilen Harita İsimleridir.
Değişiklik İçeriği
Root/game.py
Kod:
//game.py ARAT: constInfo.SET_DEFAULT_CAMERA_MAX_DISTANCE() // Değiştir: if str(background.GetCurrentMapName()) == "metin2_map_defensewave" and app.ENABLE_SHIP_DEFENSE: constInfo.SET_CAMERA_MAX_DISTANCE_WAVE() elif str(background.GetCurrentMapName()) == "metin2_12zi_stage" and app.ENABLE_12ZI: constInfo.SET_CAMERA_MAX_DISTANCE_12ZI() else: constInfo.SET_DEFAULT_CAMERA_MAX_DISTANCE()
Root/constInfo.py
Kod:
//Root/constInfo.py ARAT: def IS_AUTO_POTION_SP(itemVnum): //Fonksiyonun Altındaki Kodların Bitişinin Altına Ekle: if app.ENABLE_SHIP_DEFENSE: CAMERA_MAX_DISTANCE_WAVE = 5000.0 def SET_CAMERA_MAX_DISTANCE_WAVE(): app.SetCameraMaxDistance(CAMERA_MAX_DISTANCE_WAVE) if app.ENABLE_12ZI: CAMERA_MAX_DISTANCE_12ZI = 5000.0 def SET_CAMERA_MAX_DISTANCE_12ZI(): app.SetCameraMaxDistance(CAMERA_MAX_DISTANCE_12ZI)
Uyarı!!:
Eğer constInfo.py En Üstte İmport'larda app Yok İse;
import app
Official Haritalara Göre Kamera Mesafe Güncellemesi: Python Kullanarak
Metin2 özel sunucularında geliştirme yaparken, oyuncu deneyimini artırmak adına birçok detaya dikkat edilmelidir. Bunlardan birisi de kamera mesafesidir. Özellikle bazı haritalarda, kamera mesafesi yeterince uzak değilse, oyuncuların görüş açısı daralabilir ve PvP ya da PvE oynarken ciddi dezavantajlar oluşabilir. Bu nedenle, official haritalara göre kamera mesafesinin güncellenmesi, sunucu sahipleri için oldukça önemli bir adımdır. Bu makalede, sadece Python kullanarak bu işlemi nasıl yapabileceğinizi detaylıca ele alacağız.
Python ile Metin2 Geliştirme
Python, Metin2 özel sunucularında hem oyun içi sistemlerin geliştirilmesinde hem de istemci tarafında arayüz düzenlemelerinde sıklıkla kullanılır. Py ROOT klasörü altında yer alan sistem dosyalarında değişiklik yapmak, Python bilgisiyle mümkündür. Özellikle kamera ayarları gibi görsel değişiklikler, genellikle UI Script (uiscript) dosyaları üzerinden yapılır.
Kamera Mesafesi Nedir?
Oyuncunun karakterini izlediği kamera, bazı haritalarda çok yakın veya çok uzak olabilir. Bu durum, oyuncunun haritayı net görememesine veya düşmanları zamanında fark edememesine sebep olabilir. Bu nedenle, harita bazlı kamera mesafesi ayarlamak, daha adil ve keyifli bir oyun deneyimi sunar.
Harita Bazlı Kamera Ayarı Nasıl Yapılır?
Python ile kamera mesafesi güncellemek için, öncelikle mevcut harita listesi ve her harita için ideal kamera mesafesi belirlenmelidir. Örneğin, Devias haritası için kamera mesafesi 1200, Metin haritası için 1000 olabilir. Bu ayarlar, Python dosyasında bir sözlük (dict) olarak tanımlanabilir:
camera_distances = {
'map_name': distance,
'devias': 1200,
'metin_forest': 1000,
'bmd': 1500
}
Not: Bu ayarlar örnek niteliğindedir. Gerçek değerler, haritanın büyüklüğüne ve tasarımsal detaylarına göre değişebilir.
Kamera Değişimi Sistemini Python ile Kodlama[/BR]
Python'da bir event handler ya da harita geçiş kontrolü yapılarak, oyuncu harita değiştirdiğinde kamera mesafesi otomatik olarak güncellenebilir. Bu işlem için 'game.py' ya da benzeri bir dosya üzerinde çalışmak gerekir. Aşağıda basit bir örnek verilmiştir:
def on_map_change(map_name):
if map_name in camera_distances:
new_distance = camera_distances[map_name]
app.SetCameraDistance(new_distance)
Paketleme ve Dağıtım
Geliştirdiğiniz bu sistem, sunucuya entegre edilmeden önce doğru bir şekilde paketlenmelidir. PACK dosyaları, client tarafında yapılan değişikliklerin güvenli bir şekilde aktarılmasını sağlar. Py ROOT ve uiscript dosyalarının bu paketler içinde doğru yerleştirilmiş olması gerekir.
Metin2lobby.com[/BR]
Metin2 özel sunucu dünyasında gelişmeleri takip etmek ve yeni sistemlerden haberdar olmak istiyorsanız, metin2lobby.com adresini ziyaret edebilirsiniz. Python tabanlı sistemler, C++ scriptler ve daha fazlası burada paylaşılmaktadır.
Camera Distance Update According to Official Maps: Using Python Only
When developing private servers for Metin2, many details must be considered to enhance the player experience. One of these is the camera distance. Especially in certain maps, if the camera distance is not far enough, players may have limited visibility, which can lead to significant disadvantages during PvP or PvE gameplay. Therefore, updating the camera distance according to official maps is an important step for server owners. In this article, we will detail how you can perform this process using only Python.
Developing Metin2 with Python
Python is frequently used in Metin2 private servers for both in-game systems and client-side interface adjustments. Modifying system files located under the Py ROOT folder is possible with Python knowledge. Visual changes like camera settings are often handled through UI Script (uiscript) files.
What Is Camera Distance?
The camera that follows the player's character might be too close or too far in some maps. This situation can prevent players from seeing the map clearly or detecting enemies in time. Therefore, adjusting camera distance based on the map contributes to a fairer and more enjoyable gaming experience.
How to Set Map-Based Camera Distance?
To update the camera distance using Python, first, the list of existing maps and the ideal camera distance for each map must be determined. For example, the camera distance could be set to 1200 for the Devias map and 1000 for the Metin map. These settings can be defined in a Python file as a dictionary (dict):
camera_distances = {
'map_name': distance,
'devias': 1200,
'metin_forest': 1000,
'bmd': 1500
}
Note: These values are examples. Actual values may vary depending on the map's size and design elements.
Coding the Camera Change System with Python
In Python, an event handler or map transition control can be implemented so that the camera distance updates automatically when a player changes maps. To do this, you need to work within files such as 'game.py'. Here is a simple example:
def on_map_change(map_name):
if map_name in camera_distances:
new_distance = camera_distances[map_name]
app.SetCameraDistance(new_distance)
Packaging and Distribution
Before integrating your developed system into the server, it should be properly packaged. PACK files ensure that client-side modifications are safely transferred. The Py ROOT and uiscript files must be correctly placed within these packages.
Metin2lobby.com
If you want to follow developments in the world of Metin2 private servers and stay updated on new systems, visit metin2lobby.com. Python-based systems, C++ scripts, and more are shared here.
