Neler yeni

Foruma hoş geldin, Ziyaretçi

Metin2Lobby.com Metin2 Private Server Tanıtım Advertising Ve Geliştirme Forumudur.Metin2 pvp serverler,1-99,1-105,1-120,55-120 global serverları paylaş yada ara.
Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Universal Indentation Fixer (Python Script)

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Konular
48,280
Mesajlar
48,590
Tepkime puanı
75
M2 Yaşı
3 yıl 11 ay 10 gün
Trophy Puan
48
Konum
Web sitesi
M2 Yang
488,769
Ticaret : 1 / 0 / 0
Ticaret Oranı : 100%
Merhaba arkadaşlar,


Metin2 üzerinde çalışırken bazen Notepad veya farklı editörlerden kopyalama yaptığımızda tablar bozuluyor.
Kod içinde girintiler (indent) ya boşluk oluyor ya da “nokta gibi” görünüyor ve:
  • <li data-xf-list-type="ul">
    C++ dosyalarında kaymalar oluyor​
    <li data-xf-list-type="ul">
    Python dosyalarında syntax hatası çıkabiliyor <li data-xf-list-type="ul">
    Kod okunamaz hale geliyor​
Bunun için küçük ama çok işe yarayan bir Python script yazdım.

Bu script ne yapıyor?
  • <li data-xf-list-type="ul">
    Bulunduğu klasörü ve tüm alt klasörleri tarar <li data-xf-list-type="ul">
    Metin2 için kullanılan tüm dosyaları destekler:

    .cpp .h .hpp .c
    .py
    .lua
    .xml
    .sql
    .json
    .ui
    .cfg .ini <li data-xf-list-type="ul">
    Satır başındaki bozuk boşlukları gerçek TAB karakterine çevirir <li data-xf-list-type="ul">
    Orijinal dosyaya dokunmaz, yeni bir dosya üretir:

    char.cpp → char_fixed.cpp
    ui.py → ui_fixed.py​

Yani güvenli çalışır, test edip beğenirseniz fixed dosyaları kullanırsınız.


Özellikle:
  • <li data-xf-list-type="ul">
    Metin2 client Python UI dosyalarında <li data-xf-list-type="ul">
    Game source C++ dosyalarında <li data-xf-list-type="ul">
    Notepad ile açılıp kaydedilmiş projelerde
    çok ciddi zaman kazandırır.​


Kullanım:
  1. <li data-xf-list-type="ol">
    Script’i Metin2 projenizin ana klasörüne atın
    (client veya server root olabilir) <li data-xf-list-type="ol">
    O klasörde PowerShell açın:​
python fix_tabs.py
  1. <li data-xf-list-type="ol">
    _fixed uzantılı yeni dosyalar oluşacak. <li data-xf-list-type="ol">
    Düzgünse eski dosyaların yerine bunları kullanabilirsiniz.​



İyi kullanımlar bir teşekkür kafidir.
Universal Indentation Fixer (Python Script)

Python, Metin2 geliştiricileri için güçlü bir araçtır. Özellikle Python GUI ve Py Root gibi yapılarla birlikte, sunucu tarafında kullanılan betiklerin düzenlenmesinde büyük kolaylıklar sağlar.

Metin2 özel sunucuları geliştirirken, özellikle Py Root klasöründe bulunan Python dosyalarında zaman zaman girintileme (indentation) hatalarıyla karşılaşabilirsiniz. Bu hatalar, Python’un yapısal olarak girintiye dayalı syntax yapısından dolayı oldukça kritik olabilir. Universal Indentation Fixer adlı Python betiği, bu tür hataları otomatik olarak tespit edip düzeltebilir.

Girintileme Nedir?
Python'da kod blokları, süslü parantez veya begin-end gibi anahtar sözcüklerle belirtilmez. Bunun yerine girintileme (indentation), yani boşluk veya tab karakterleriyle yapılan hizalama ile kodun yapısı tanımlanır. Bu yapı, Python'un okunabilirlik ve sade yapı sunması açısından avantaj sağlasa da, bazı durumlarda hata kaynağı olabilir. Özellikle farklı geliştiricilerin paylaştığı kodlarda karışık tab ve boşluk kullanımı olabilir.

Universal Indentation Fixer Nasıl Çalışır?
Bu Python betiği, belirtilen bir dizin altında bulunan tüm .py uzantılı dosyaları tarar. Her dosya için girinti hatalarını kontrol eder ve bu hataları standartlaştırarak düzeltir. Örneğin, tüm satırları 4 boşluk temeline göre yeniden düzenler. Ayrıca, satır sonlarında fazladan boşluk varsa bunları da kaldırır.

Neden Kullanmalıyız?
Metin2 özel sunucu geliştiricileri, Py Root klasöründe birçok Python dosyası ile çalışır. Özellikle scriptlerdeki girinti hataları, derleme sırasında ya da runtime esnasında hata verebilir. Bu da oyunun düzgün çalışmamasına neden olabilir. Universal Indentation Fixer, bu tür hataları önceden engeller ve kodun tutarlılığını artırır.

Kurulum ve Kullanım
Script basit bir Python uygulamasıdır. Herhangi bir harici bağımlılığa ihtiyaç duymaz. Sadece Python 3 yüklü olması yeterlidir. Çalıştırmak için komut satırına aşağıdaki gibi yazmanız yeterlidir:

Kod:
python fix_indentation.py /path/to/py/root/directory


Script, belirttiğiniz dizin altındaki tüm Python dosyalarını tarar ve girinti hatalarını düzeltilmiş şekilde tekrar yazar. Bu sayede, Py Root klasörünüzdeki tüm scriptler tutarlı bir yapıya kavuşur.

Metin2 Geliştiriciler İçin Faydaları
Py GUI veya diğer Python tabanlı sistemlerle çalışan geliştiriciler için bu script, zaman kazandırıcı bir çözümdür. Girinti hataları nedeniyle uzun süre debug yapmak yerine, bu script ile tüm dosyalarınızı tek seferde düzeltip daha verimli çalışabilirsiniz. Özellikle martysama gibi script yapıları ile entegre çalışırken, kodun okunabilirliği ve çalışabilirliği açısından büyük önem taşır.

Sonuç
Universal Indentation Fixer, Metin2 özel sunucu geliştiricileri için küçük ama etkili bir araçtır. Py Root, C++ Source Edit veya diğer Python tabanlı yapılar üzerinde çalışan geliştiriciler için bu script, kod kalitesini artırmada önemli bir rol oynar. Hataları önleyerek hem geliştirme sürecini hızlandırır hem de sunucunuzun daha stabil çalışmasını sağlar.

Metin2 Lobby olarak, bu tür gelişmiş Python scriptlerini paylaşarak topluluğun gelişmesine katkı sağlamaya devam ediyoruz.


Universal Indentation Fixer (Python Script)

Python is a powerful tool for Metin2 developers. Especially with structures like Python GUI and Py Root, it provides significant convenience in editing scripts used on the server side.

When developing Metin2 private servers, you may occasionally encounter indentation errors in Python files located in the Py Root folder. These errors can be critical due to Python's structural syntax based on indentation. The Universal Indentation Fixer Python script automatically detects and fixes such errors.

What is Indentation?
In Python, code blocks are not indicated by curly braces or keywords like begin-end. Instead, the structure of the code is defined through indentation, i.e., alignment made with space or tab characters. Although this structure offers advantages in readability and simplicity, it can sometimes become a source of errors, especially in code shared by different developers where mixed tab and space usage may occur.

How Does Universal Indentation Fixer Work?
This Python script scans all .py files in a specified directory. It checks each file for indentation errors and standardizes and corrects them. For example, it reformats all lines based on 4-space indentation. Additionally, it removes any trailing whitespace at the end of lines.

Why Should We Use It?
Metin2 private server developers work with many Python files in the Py Root folder. In particular, indentation errors in scripts can cause errors during compilation or runtime, potentially causing the game to malfunction. Universal Indentation Fixer prevents such errors beforehand and increases code consistency.

Installation and Usage
The script is a simple Python application. It requires no external dependencies—only Python 3 needs to be installed. To run it, simply type the following command in the terminal:

Kod:
python fix_indentation.py /path/to/py/root/directory


The script scans all Python files under the specified directory and rewrites them with corrected indentation. This ensures that all your scripts in the Py Root folder have a consistent structure.

Benefits for Metin2 Developers
Py GUI or other Python-based systems benefit significantly from this script as a time-saving solution. Rather than spending long periods debugging due to indentation errors, you can fix all your files at once and work more efficiently. This is especially important when integrated with script structures like martysama, where readability and functionality of the code are crucial.

Conclusion
Universal Indentation Fixer is a small but effective tool for Metin2 private server developers. For developers working on Py Root, C++ Source Edit, or other Python-based structures, this script plays an important role in improving code quality. By preventing errors, it accelerates the development process and ensures more stable operation of your server.

At Metin2 Lobby, we continue to contribute to community growth by sharing such advanced Python scripts.​
 

Forumdan daha fazla yararlanmak için giriş yapın yada üye olun!

Forumdan daha fazla yararlanmak için giriş yapın veya kayıt olun!

Kaydol

Forumda bir hesap oluşturmak tamamen ücretsizdir.

Üye ol
Giriş Yap

Eğer bir hesabınız var ise lütfen giriş yapın

Giriş Yap

Tema düzenleyici

Tema özelletirmeleri