Sistem Mali Tarafından Yazılmıştır.
Sistem Seçeneklerindeki Kamera Modunu Kaydeder. (Yakın veya Uzak)
Sistemin Çalıştığına Dair Herhangi Bir Kanıt Bulunmamaktadır. Fakat Kullanan Kullancılardan Olumlu Dönüşlerin Olduğu Görülmektedir.
Olumlu Yorum
EN: Tested and working. As always, thank you very much for the awesome release Mali!
TR: Test edildi ve çalışıyor. Her zaman olduğu gibi harika. Paylaşım için Mali'ye çok teşekkür ederim!
Google Çeviri Kullanıldı ve Olabildiğince Devrik Cümleler Temizlendi.
Sistem Seçeneklerindeki Kamera Modunu Kaydeder. (Yakın veya Uzak)
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.
Sistemin Çalıştığına Dair Herhangi Bir Kanıt Bulunmamaktadır. Fakat Kullanan Kullancılardan Olumlu Dönüşlerin Olduğu Görülmektedir.
Olumlu Yorum
EN: Tested and working. As always, thank you very much for the awesome release Mali!
TR: Test edildi ve çalışıyor. Her zaman olduğu gibi harika. Paylaşım için Mali'ye çok teşekkür ederim!
Google Çeviri Kullanıldı ve Olabildiğince Devrik Cümleler Temizlendi.
[C++/Python] Official Save Camera Mode [REVERSED]
Metin2 özel sunucularında geliştirme yaparken, oyun içindeki kamera sistemlerinin kontrolü oldukça önemli bir konudur. Özellikle PvP odaklı sunucularda, kamera modları gibi görsel ve kullanıcı deneyimi üzerinde doğrudan etkisi olan sistemlerin özelleştirilmesi, oyuncu memnuniyetini artırmak için kritik rol oynar. Bu makalede, Save Camera Mode sisteminin nasıl çalıştığını, bu sistemin nasıl geri mühendislik yapıldığını ve C++/Python tarafında nasıl uygulanabileceğini detaylı olarak ele alacağız.
Kamera Modu Nedir?[/CENTER]
Metin2 oyununda kamera modu, oyuncunun karakterinin hareketlerini izlerken kameranın konumunu, açılarını ve davranışlarını belirlemektedir. Normal oyun modunda kamera karakterin arkasında kalırken, bazı özel modlarda kamera serbest bırakılır ya da farklı pozisyonlara getirilebilir. Bu özellikle PvP savaş sahnelerinde, takip kamerasının devre dışı bırakılması gibi durumlarda avantaj sağlar.
Save Camera Mode Nedir ve Nasıl Çalışır?
Save Camera Mode, oyuncunun kamera açısını bir dosyaya kaydederek, daha sonra aynı açıyı geri yüklemesine yarayan bir sistemdir. Bu sistem genellikle geliştirici ve test aşamasında kullanılır; ancak bazı özel sunucularda PvP sırasında kamera kontrolü için de aktif edilebilir. Bu modun temel amacı, kamera açısının sabitlenmesi ve istenen konuma getirilmesidir.
Geri Mühendislik (Reverse Engineering) Süreci
Bu sistemi geri mühendislik yöntemiyle incelediğimizde, önce client tarafında (UIScript) ilgili buton ve komutların tanımlandığını gözlemliyoruz. Kamera ayarları genellikle Python GUI aracılığıyla değiştirilir. Client tarafında 'camera.py' veya benzeri bir dosya içinde kamera pozisyonu, zoom ve rotasyon gibi değerler tutulur. Bu değerler, oyun başlatıldığında ya da belirli bir komutla kayıt edilir.
Python Tarafında Uygulama
Python tarafında bu sistemi uygulamak için öncelikle 'save_camera_mode.py' adında bir modül oluşturuyoruz. Bu modül, kameranın mevcut konumunu ve açılarını bir JSON benzeri yapıda .txt ya da .dat dosyasına yazdırır. Daha sonra 'load_camera_mode.py' ile bu dosyadan veriler okunarak kamera tekrar aynı konuma getirilir.
C++ Tarafında Uygulama
C++ tarafında bu işlem biraz daha teknik seviyede yapılır. Game core içinde, kamera pozisyonuna erişmek için 'CameraManager' sınıfı üzerinden fonksiyonlar yazılır. Bu fonksiyonlar, kameranın X, Y, Z koordinatlarını ve yönünü alarak bir dosyaya yazdırabilir. Aynı zamanda bu değerler, oyun içinde bir mesajla tetiklenebilir veya bir komut satırı aracılığıyla çalıştırılabilir.
Neden Save Camera Mode?
Özellikle PvP sistemlerinde, kamera kontrolü büyük önem taşır. Takip kamerasının kilitlenmemesi, PvP esnasında daha net görüş açısı elde edilmesi için bu sistem tercih edilir. Oyuncuların kendi kamera pozisyonlarını kaydetmeleri sayesinde, diledikleri zaman aynı açıyı kullanabilirler. Bu da hem stratejik hem de estetik açıdan faydalıdır.
Kurulum ve Entegrasyon
Sistemi kurmak için ilk olarak client tarafında bir buton oluşturulur. Bu buton, Python GUI üzerinden 'save_camera' fonksiyonunu çağırır. Aynı şekilde 'load_camera' fonksiyonu da bir butona atanarak kullanılır. Sunucu tarafında C++ kodlarla kamera verileri işlenir ve istemciye gönderilir. Bu işlem sırasında DB core üzerinden veri saklaması da yapılabilir.
Sonuç
Save Camera Mode, Metin2 özel sunucularında geliştirme yaparken oldukça kullanışlı bir özelliktir. Hem C++ hem de Python tarafında kolayca entegre edilebilir. Geri mühendislik süreci sayesinde bu sistemin nasıl çalıştığını öğrenmek, geliştiricilerin daha özgün sistemler geliştirmesine olanak tanır. Bu sistem özellikle PvP sunucularında büyük bir fark yaratır.
[C++/Python] Official Save Camera Mode [REVERSED]
In Metin2 private server development, controlling camera systems within the game is a very important subject. Especially in PvP-focused servers, customizing visual features like camera modes that directly affect user experience is critical for increasing player satisfaction. In this article, we will examine how the Save Camera Mode system works, how it was reverse-engineered, and how it can be implemented on both the C++ and Python sides in detail.
What is Camera Mode?[/CENTER]
In Metin2, the camera mode determines the position, angles, and behavior of the camera while tracking the player character's movements. While the normal game mode keeps the camera behind the character, in certain special modes the camera can be released or moved to different positions. This is especially useful during PvP combat scenes, where disabling the follow camera may provide advantages.
What is Save Camera Mode and How Does It Work?
The Save Camera Mode is a system that allows players to save their camera angle to a file and reload the same angle later. This system is generally used during development and testing phases, but it can also be activated on some private servers during PvP for camera control purposes. The main goal of this mode is to lock the camera position and move it to a desired location.
Reverse Engineering Process
When examining this system through reverse engineering, we observe that relevant buttons and commands are defined on the client side (UIScript). Camera settings are usually adjusted via Python GUI. Within files such as 'camera.py', values like camera position, zoom, and rotation are stored. These values are saved to a file when the game starts or upon a specific command.
Implementation on Python Side
To implement this system in Python, we first create a module called 'save_camera_mode.py'. This module saves the current camera position and angles into a JSON-like structure in a .txt or .dat file. Then, 'load_camera_mode.py' reads these values from the file and restores the camera to the same position.
Implementation on C++ Side
On the C++ side, this process is more technical. Inside the game core, functions are written through the 'CameraManager' class to access the camera's position. These functions retrieve the X, Y, Z coordinates and direction of the camera and write them to a file. Additionally, these values can be triggered by a message inside the game or executed via a command line.
Why Save Camera Mode?
Especially in PvP systems, camera control is of great importance. Preventing the follow camera from locking onto targets and achieving clearer viewing angles during PvP is why this system is preferred. By saving their own camera positions, players can use the same angle whenever they want. This is beneficial both strategically and aesthetically.
Installation and Integration
To install the system, first a button must be created on the client side. This button calls the 'save_camera' function through Python GUI. Similarly, the 'load_camera' function is assigned to another button for usage. On the server side, camera data is processed with C++ code and sent to the client. During this process, data storage can also be handled via DB core.
Conclusion
Save Camera Mode is a very useful feature when developing Metin2 private servers. It can easily be integrated on both C++ and Python sides. Learning how this system works through reverse engineering enables developers to build more original systems. This system makes a significant difference especially in PvP-oriented servers.
