Karakter Kilit Sistemi (Lua)

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

Admin

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

Merhaba Arkadaşlar, Bugün size Karakter Kilit questini paylaşacağım.
Sistem Başarılı bir şekilde çalışıyor!
Quest yüklemeyi bilmeyenler bu adımları takip etsinler,
1.Adım : Filezillaya Bağlanıyoruz
2.Adım : /usr/game/share/locale/turkey/quest bölümüne hapishane.lua dosyasını atıyoruz
3.Adım : Putty'e Giriş yapıyoruz
4.Adım : cd /usr/game/share/locale/turkey/quest ENTER yapıyoruz
5.Adım : ./qc karakter_kilit.lua yazıyoruz başarıyla dosyamızı okutmuş oluyoruz.

Rar Şifresi: tahaeksi
İSTEYEN KOD OLARAK DA ALABİLİR!
Kod:
quest karakter_guvenligi begin     state start begin         when login begin             cmdchat("karakter_guvenligi "..q.getcurrentquestindex())         end         when login begin             if pc.getqf("block_items_register") == 1 then                 if pc.getqf("block_items_active") == 1 then                     cmdchat("ManagerBlockItems BlockItems|")                 else                     cmdchat("ManagerBlockItems UnBlockItems|")                 end             end         end              when button or info begin             if pc.getqf("block_items_register") == 0 then                 say_title("Karakter Güvenlik Sistemi: ")                 say("Merhaba "..pc.get_name())                 say("Karakterini güvene almak için ")                 say("bu işlemi mutlaka gerçekleştirmelisin. ")                 say("Şimdi hazır mısın? ")                 if select("Evet ","Hayır ") == 1 then                     say("Parolanızı oluşturun. ")                     say("NOT: Sadece rakam olmak zorundadır. ")                     local pw = tonumber(input())                     if pw == nil then say("Bu parola geçersizdir. ") return end                     say("Parolanız oluşturuldu. ")                     say("Karakteriniz artık güvendedir. ")                     say_reward("Parolanız: "..pw)                     say("")                     pc.setqf("block_items_register" , 1)                     pc.setqf("block_items_pw" , pw)                 end                 return             end                          say("Tekrar hoşgeldiniz "..pc.get_name())             say("Yapmak istediğiniz seçeneğe tıklayınız: ")             local a = select("Güvenlik Ayarları ", "Parolamı unuttum ", "Pencereyi Kapat ")             if a == 1 then                 say("Devam etmek için parolanızı giriniz: ")                 local pw = tonumber(input())                 if pw == nil then say("Bu parola geçersizdir. ") return end                 if pw != pc.getqf("block_items_pw") then say("Bu parola doğru değildir. ") return end                 say("Parolanız doğrulandı.")                 say("İşleme devam ediliyor..")                 wait()                 local estado                 if pc.getqf("block_items_active") == 1 then                     estado = "Aktif "                 else                     estado = "Kapalı "                 end                 say("Ayarlar bölümüne hoşgeldiniz "..pc.get_name())                 say("Karakter Güvenliği: "..estado)                 say("Ne yapmak istersin? ")                 local s = select("Karakter kilidini aç ", "Karakter kilidini kapat ", "Parola değiştir ", "Pencereyi Kapat ")                 if s == 1 then                     if pc.getqf("block_items_active") == 1 then say("Karakter güvenliği zaten aktiftir. ") return end                     cmdchat("ManagerBlockItems BlockItems|")                     say("Karakter güvenliği başarıyla aktif edildi. ")                     say("Şimdi seni köyüne yolluyorum.")                     wait()                     if pc.get_empire() == 1 then                 warp_to_village()                 elseif pc.get_empire() == 2 then                 warp_to_village()                 elseif pc.get_empire() == 3 then                 warp_to_village()                 end                     affect.add_collect(apply.MOV_SPEED, -10000,60*60*24*250)                     pc.setqf("block_items_active", 1)                 elseif s == 2 then                     if pc.getqf("block_items_active") == 0 then say("Karakter güvenliği zaten kapalıdır. ") return end                     cmdchat("ManagerBlockItems UnBlockItems|")                     say("Karakter güvenliği başarıyla kapatıldı. ")                     affect.remove_collect(apply.MOV_SPEED, -10000,60*60*24*250)                     pc.setqf("block_items_active", 0)                 elseif s == 3 then                     say("Parola değiştirmek için ")                     say("aşağıdaki bölüme yeni parolanızı giriniz. ")                     local pw = tonumber(input())                     if pw == nil then say("Bu parola geçersizdir. ") return end                     if pw == pc.getqf("block_items_pw") then say("Parola olan bir paroladan başka olmalıdır. ") return end                     say("Parolanız başarıyla değiştirilmiştir.")                     say_reward("Yeni parolanız: "..pw)                     pc.setqf("block_items_pw" , pw)                 end                              elseif a == 2 then                 local email = mysql_query("SELECT email from account.account where id = "..pc.get_account_id()..";")[1][1]                 say("Parolanızı sıfırlamak için aşağıda ")                 say("bulunan yere e-posta adresinizi giriniz. ")                 local mail = input()                 if mail != email then say("E-Posta adresiniz yanlıştır. ") return end                 local new = number(10000, 99999)                 say("Yeni parolanız: "..new)                 say("Parolanızı bir yere not almanız önerilir. ")                 chat("Yeni parolanız: "..new)                 chat("Parolanızı bir yere not almanız önerilir. ")                 pc.setqf("block_items_pw" , new)             end         end     end end


Metin2 Karakter Kilit Sistemi (Lua) ile Güvenliği Arttırın

Metin2 sunucularında güvenlik ve kullanıcı deneyimi açısından büyük önem taşıyan Karakter Kilit Sistemi, Lua dili ile kolayca entegre edilebilir.

Bu sistem, oyuncuların karakterlerine belirli bir koruma katmanı eklemek için idealdir. Karakter kilit sistemi, özellikle paylaşılan hesaplarda veya güvenilmeyen ortamlarda kullanıcının karakterine erişim sağlanması durumunda önemli bir güvenlik önlemidir.

Karakter Kilit Sistemi Nedir?

Karakter kilit sistemi, oyuncu giriş yaptıktan sonra belirli bir şifre veya doğrulama yöntemiyle karaktere erişim sağlayan bir mekanizmadır. Bu sistem genellikle Lua tabanlı quest sistemleri ile geliştirilir ve Metin2 sunucularında yaygın olarak kullanılır. Sistem, karakter seçimi sırasında devreye girerek kullanıcıdan bir şifre isteyebilir veya belirli bir işlem yapılmasını bekler.

Neden Karakter Kilit Sistemi Kullanmalısınız?

Oyun güvenliği açısından karakter kilit sistemi, hesap ele geçirilmelerini ve karakterlerin kötüye kullanımını engeller. Özellikle Metin2 gibi MMORPG oyunlarında karakterlerin değerli eşyalar barındırması sebebiyle bu tür önlemler çok önemlidir. Ayrıca, bir sunucuda yetenekli oyuncuların karakterlerine yapılan saldırılar da bu sistemle önlenebilir.

Karakter Kilit Sisteminin Lua Üzerinden Uygulanışı

Lua dili, Metin2.quest sisteminin temel yapı taşlarından biridir. Karakter kilit sistemi, Lua dilinde yazılmış özel bir quest dosyası ile entegre edilir. Bu quest dosyası, oyuncu karakteri seçildiğinde çalışır ve kullanıcıdan bir şifre girmesini ister. Eğer şifre doğruysa karaktere erişim sağlanır, aksi halde işlem iptal edilir.

Örnek Lua Kod Yapısı

Aşağıda basit bir karakter kilit sistemi örneği verilmiştir:

Kod:
quest character_lock begin[BR][/BR]    state start begin[BR][/BR]        when login with not pc.is_gm() begin[BR][/BR]            set_skin(NOWINDOW)[BR][/BR]            say_title('Karakter Kilidi')[BR][/BR]            local password = input_string('Lütfen kilit şifrenizi girin:')[BR][/BR]            if password == 'dogru_sifre' then[BR][/BR]                chat('Karakter kilidi başarıyla açıldı.')[BR][/BR]            else[BR][/BR]                chat('Yanlış şifre. Giriş reddedildi.')[BR][/BR]                pc.logout()[BR][/BR]            end[BR][/BR]        end[BR][/BR]    end[BR][/BR]end


Sistemin Avantajları

Geliştiriciler için esneklik sağlar. Lua quest sistemi sayesinde bu tür güvenlik önlemleri kolayca özelleştirilebilir. Örneğin, şifreler veritabanına aktarılabilir veya her oyuncuya özel rastgele şifreler atanabilir. Ayrıca, sistem zamanlayıcılar ve bayraklar ile daha da geliştirilebilir.

Hata Ayıklama ve Geliştirme

Quest geliştirme sırasında hatalar oluşabilir. Karakter kilit sisteminde hata ayıklama yaparken log kayıtlarını kontrol etmek önemlidir. Lua quest debug işlemleri, geliştiricilerin sistemdeki aksaklıkları hızlıca tespit etmesini sağlar.

Sonuç

Metin2 üzerinde karakter kilit sistemi, hem oyuncu hem de sunucu sahipleri için faydalı bir özelliktir. Lua quest sistemine aşina olan geliştiriciler, bu sistemi kolayca entegre edip özelleştirebilir. Güvenlik odaklı sunucularda bu tür sistemler mutlaka değerlendirilmelidir.


Increase Security with Character Lock System (Lua) in Metin2

Character Lock System, which holds significant importance for security and user experience on Metin2 servers, can be easily integrated using the Lua language.

This system adds a layer of protection to players characters. It serves as an important security measure especially in shared accounts or untrusted environments where unauthorized access to a character may occur.

What is the Character Lock System?

The character lock system is a mechanism that allows access to a character after specific authentication such as a password or validation method post-login. This system is commonly developed via Lua-based quest systems and widely used on Metin2 servers. It activates during character selection and requests a password or performs a certain action from the user.

Why Should You Use a Character Lock System?

For game security, the character lock system prevents account theft and misuse of characters. In MMORPG games like Metin2, where characters often carry valuable items, such measures are very important. Moreover, attacks on skilled players characters on a server can also be prevented through this system.

Implementation of the Character Lock System via Lua

Lua language is one of the core building blocks of the Metin2 quest system. The character lock system is integrated via a custom quest file written in Lua. This quest file runs when a player selects their character and prompts the user for a password. If the password is correct, access to the character is granted; otherwise, the process is canceled.

Sample Lua Code Structure

Below is an example of a basic character lock system:

Kod:
quest character_lock begin[BR][/BR]    state start begin[BR][/BR]        when login with not pc.is_gm() begin[BR][/BR]            set_skin(NOWINDOW)[BR][/BR]            say_title('Character Lock')[BR][/BR]            local password = input_string('Please enter your lock password:')[BR][/BR]            if password == 'correct_password' then[BR][/BR]                chat('Character lock successfully unlocked.')[BR][/BR]            else[BR][/BR]                chat('Incorrect password. Access denied.')[BR][/BR]                pc.logout()[BR][/BR]            end[BR][/BR]        end[BR][/BR]    end[BR][/BR]end


Advantages of the System

Developers gain flexibility with this system. Thanks to the Lua quest system, such security measures can be easily customized. For example, passwords can be stored in databases or random passwords can be assigned per player. Additionally, the system can be further enhanced using timers and flags.

Debugging and Development

During quest development, errors may occur. When debugging the character lock system, checking log records is crucial. Lua quest debugging helps developers quickly identify issues within the system.

Conclusion

The character lock system on Metin2 is a beneficial feature for both players and server owners. Developers familiar with the Lua quest system can easily integrate and customize this system. Such systems should definitely be considered on security-focused servers.​
 

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

Benzer konular

Geri
Üst Alt