Login Ekranına Hesap Kaydet & Sil Butonu Ekleme

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

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Nj9h7WF.png

BjMLjyV.png

FxPEIpL.png


Root intrologin.py aratılır;
Kod:
self.loginExitButton        = GetObject("LoginExitButton")


Kod:
self.VectorsIdKayit            = GetObject("VectorsIdKayit")             self.VectorsIdSil            = GetObject("VectorsIdSil")
Aratılır;
Kod:
self.pwdEditLine.SetTabEvent(ui.__mem_func__(self.idEditLine.SetFocus))

Kod:
self.VectorsIdKayit.SetEvent(ui.__mem_func__(self.__OnClickVectorsIdKayit))         self.VectorsIdSil.SetEvent(ui.__mem_func__(self.__OnClickVectorsIdSil))
Aratılır (1100. satırlarda);
Kod:
global SKIP_LOGIN_PHASE         if SKIP_LOGIN_PHASE:             if not self.loginInfo:                 self.connectBoard.Hide()

Kod:
import linecache         login = linecache.getline("save.cfg", 1)         password = linecache.getline("save.cfg", 2)         self.idEditLine.SetText(login)         self.pwdEditLine.SetText(password)         id = self.idEditLine.GetText()         id = id.replace('\n', '')         self.idEditLine.SetText(id)              def __OnClickVectorsIdKayit(self):             id = self.idEditLine.GetText()         sifre = self.pwdEditLine.GetText()         kaydet = open("save.cfg", "w")         kaydet.write (id +"\n")         kaydet.write (sifre)         kaydet.close()         self.PopupNotifyMessage("HESAP KAYIT EDILDI.")              def __OnClickVectorsIdSil(self):         sil = open("save.cfg", "w")         sil.write ("")         sil.write ("")         sil.close()         self.PopupNotifyMessage("HESAP SILINDI.")
fhGp06u.png


locale/xx/ui/loginwindow.py aratılır;
Kod:
"name" : "LoginExitButton",

Kod:
{                     "name" : "VectorsIdKayit",                     "type" : "button",                     "x" : 210,                     "y" : 5,                     "default_image" : "locale/login/kaydet1.tga",                     "over_image" : "locale/login/kaydet2.tga",                     "down_image" : "locale/login/kaydet3.tga",                     "text" : "",                 },                 {                     "name" : "VectorsIdSil",                     "type" : "button",                     "x" : 210,                     "y" : 35,                     "default_image" : "locale/login/sil1.tga",                     "over_image" : "locale/login/sil2.tga",                     "down_image" : "locale/login/sil3.tga",                     "text" : "",                 },
VCmMZZZ.png






Klasörde locale/xx/login klasörü var,
xx olan kısmını tr,de vs. hangisini kullanıyorsanız ona göre değiştirip locale packine atın.
Hazır intrologin.py (locale)

Login Ekranına Hesap Kaydet & Sil Butonu Ekleme

Metin2 özel sunucularında kullanıcı deneyimini artırmak adına login ekranına bazı özellikler eklemek oldukça yaygın bir yöntemdir. Bu özelliklerden birisi de 'Hesap Kaydet' ve 'Hesap Sil' butonlarıdır. Bu makalede, Metin2 özel sunucu geliştirme sürecinde client tarafında nasıl bir 'Hesap Kaydet' ve 'Hesap Sil' butonu ekleneceğini detaylıca ele alacağız.

Giriş

Metin2 özel sunucuları, oyuncuların kendi aralarında rekabet içeren PVP sistemleriyle tanınır. Bu sistemlerde kullanıcıların hesaplarını kolayca yönetebilmesi büyük önem taşır. Oyuna giriş yaparken sürekli olarak kullanıcı adı ve şifre girmek yerine, daha önce oturum açılmış olan hesaplar doğrudan listelenerek kolay erişim sağlanabilir. Bu sayede kullanıcı dostu bir arayüz oluşturulur.

Hesap Kaydet Butonunun Amacı

'Hesap Kaydet' butonu, oyuncuların daha önce girdikleri kullanıcı adı ve şifre bilgilerini local olarak saklamasını sağlar. Böylece bir sonraki girişte bu bilgiler otomatik olarak doldurulur. Bu işlem genellikle Windows registry veya .txt dosyası gibi yerel depolama yöntemleriyle gerçekleştirilir.

Güvenlik Uyarısı

Bu yöntemin güvenlik açısından riskli olabileceğini unutmamak gerekir. Şifreler şifrelenmeden saklanıyorsa, saldırganlar tarafından kolayca erişilebilir. Bu yüzden şifrelerin hashlenerek veya şifrelenerek saklanması önerilir. Özellikle Metin2 özel sunucularında güvenlik ön planda tutulmalıdır.

Python GUI Kullanımı

Metin2 client tarafında GUI düzenlemeleri genellikle Python dili ile yazılmış UIScript dosyaları üzerinden yapılır. Bu dosyalar, oyunun arayüzünü kontrol eder. Hesap kaydetme fonksiyonunu eklemek için UIScript üzerinde yeni butonlar tanımlanmalı ve bu butonlara Python kök dizininde yer alan py dosyaları üzerinden işlevsellik kazandırılmalıdır.

Hesap Silme Fonksiyonu

'Hesap Sil' butonu, daha önce kaydedilmiş kullanıcı bilgilerini silmek için kullanılır. Bu buton, kullanıcıya kayıtlı hesapları görüntüleme ve silme imkanı sunar. Bu sayede kullanıcı, artık kullanmadığı hesapları güvenli bir şekilde kaldırabilir.

Uygulama Adımları

1. UIScript dosyasında login ekranına iki yeni buton eklenir: 'Hesap Kaydet' ve 'Hesap Sil'.
2. Py dosyasında bu butonlara tıklanınca çalışacak fonksiyonlar yazılır.
3. Gerekirse kullanıcı adı ve şifre verileri bir dosyada saklanır veya registry'ye yazılır.
4. Gerekli güvenlik önlemleri alınarak veriler şifrelenir.

Sonuç

Login ekranına 'Hesap Kaydet' ve 'Hesap Sil' butonlarının eklenmesi, kullanıcı dostu bir deneyim sunar. Ancak bu işlem sırasında güvenlik önlemlerinin alınması büyük önem taşır. Metin2 özel sunucularında kullanıcı deneyimi artırmak için bu tür küçük ama etkili geliştirmeler yapılabilir.


Adding Save & Delete Account Buttons to Login Screen

In order to enhance the user experience on Metin2 private servers, adding certain features to the login screen has become a common practice. One of these features includes 'Save Account' and 'Delete Account' buttons. In this article, we will detail how to add 'Save Account' and 'Delete Account' buttons to the login screen during the Metin2 private server development process on the client side.

Introduction

Metin2 private servers are known for their competitive PVP systems where players engage in battles. In such systems, it's crucial for users to easily manage their accounts. Instead of entering username and password each time, previously used accounts can be listed directly, enabling quick access. This way, a user-friendly interface is created.

Purpose of the Save Account Button

The 'Save Account' button allows players to store their previously entered username and password locally. On subsequent logins, these details are automatically filled in. This process is usually done using local storage methods like Windows registry or .txt files.

Security Warning

It must be remembered that this method can pose security risks. If passwords are stored without encryption, they can be easily accessed by attackers. Therefore, it's recommended to store passwords encrypted or hashed. Especially in Metin2 private servers, security should always be prioritized.

Using Python GUI

GUI modifications in the Metin2 client are typically handled through UIScript files written in Python. These files control the game’s interface. To add the save account function, new buttons must be defined in the UIScript file, and functionality should be added via Python root files when clicked.

Account Deletion Function

The 'Delete Account' button allows the removal of previously saved user credentials. This button provides users with the ability to view and delete saved accounts. This way, users can securely remove accounts they no longer use.

Implementation Steps

1. Add two new buttons, 'Save Account' and 'Delete Account', to the login screen in the UIScript file.
2. Write functions in the Python file to handle the button clicks.
3. Store usernames and passwords in a file or in the registry if necessary.
4. Apply necessary security measures by encrypting the data.

Conclusion

Adding 'Save Account' and 'Delete Account' buttons to the login screen creates a user-friendly experience. However, it's important to take security measures seriously during this process. Small but effective improvements like these can significantly enhance the user experience in Metin2 private servers.​
 

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

Benzer konular

Geri
Üst Alt