Merhabalar,
Gelişmiş Banka Sistemi hakkında kısaca bilgi vereceğim. Detayları videoda öğrenebilirsiniz.
Gelişmiş Banka Sisteminde 3 adet hesap bulunur A,B,C hesapları. Oyuncular toplamda hesaplarında 6 T para tutabilirler. Dileyen oyun içerisinde anlık olarak başka bir oyuncunun A,B,C hesaplarından herhangi birine para yatırabilir. Sistemde herhangi bir bug ya da aklınıza gelebilecek herhangi bir sorun yoktur. Sistem tamamen güvenlidir. Herhangi bir para bugu yapamazlar.
PARA MİKTARI ARASINA .(NOKTA) KOYMA:
Şimdi para tutarlarının arasına .(nokta) koyma fonksiyonuna geldik. Bu fonksiyonu da eklemeniz gerekiyor. Eğer bu fonksiyonu eklemezseniz sistem çalışmaz. Ona göre kodlandı. Şimdi o fonksiyonu eklemeyi göstereceğim:
"questlib.lua" dosyasını açıyoruz ve en alta aşağıdaki kodları ekleyip kapatıyoruz. Reboot atmanıza gerek yok. Sistemleri ekledikten sonra /reload q yapmanız yeterlidir.
Fonksiyon kodu:
Bu işlem de bittikten sonra "quest_functions" dosyasını açıyor ve en alta "genel_veri" fonksiyonunu ekliyoruz. Bura ile de işimiz bitti.
İndirmeden kodları incelemek isteyenler için:
Gelişmiş Banka Sistemi[LUA] - Metin2 İçin Modern ve Güvenli Bir Veri Deposu
Metin2 sunucularında oyuncuların eşyalarını güvenli ve organize bir şekilde saklaması için geliştirilen gelişmiş banka sistemleri, son yıllarda LUA tabanlı scriptlerle daha da güçlü hale gelmiştir. Bu sistemler, hem sunucu sahipleri hem de oyuncular için büyük kolaylıklar sunar. Özellikle quest sistemleriyle entegre çalışabilen bu tür banka yapıları, Metin2 oyun deneyimini ciddi anlamda iyileştirir.
LUA dili ile yazılmış banka sistemleri, hem esnek hem de güçlü bir yapı sunar. Oyuncular, karakterlerinin sahip olduğu tüm eşyaları, altınları ve özel envanterleri bu banka sistemleri aracılığıyla daha güvenli bir şekilde saklayabilir. Bu sistemler genellikle Metin2 sunucularında custom quest sistemleriyle de entegre edilir. Örneğin, bir daily quest tamamlandığında ödüller doğrudan bankaya yönlendirilebilir veya belirli bir quest serisi tamamlandığında eşyalar bankada özel bir klasörde depolanabilir.
Metin2 banka sistemleri genellikle veritabanı bağlantısı üzerinden çalışır. LUA scriptleri ile banka kutusu açıldığında veritabanına bağlanılır, eşyalar listelenir ve oyuncuya sunulur. Bu sistemlerde flag ve state gibi quest mantığı ile çalışan yapılar da kullanılabilir. Bu sayede her oyuncu için farklı banka erişimleri, yetkilendirme seviyeleri ve hatta timer bazlı işlemler yapılabilir.
Avantajlar:
- Güvenli eşya depolama
- Sunucu tarafında veri koruma
- Quest sistemleri ile entegrasyon
- Oyuncu dostu arayüz
- Performanslı ve optimize yapı
Metin2 geliştiricileri, bu tür banka sistemlerini oluştururken genellikle lua quest dosyalarını kullanırlar. Bu dosyalar, sunucu tarafında çalışarak banka kutusunun açılması, eşya taşınması, silinmesi gibi işlemleri yönetir. Metin2dev gibi platformlarda paylaşılan örnek quest scriptleri sayesinde geliştiriciler, kendi banka sistemlerini kolayca oluşturabilir veya mevcut sistemleri özelleştirebilirler.
Özel.quest sistemleri ile çalışan banka scriptleri, oyuncuların quest tamamladıkça kazandıkları eşyaları otomatik olarak bankaya yönlendirebilir. Bu sayede oyuncuların envanterlerinde kalabalık oluşmaz ve quest süreçleri daha verimli hale gelir. Ayrıca bazı quest sistemlerinde, bankaya belirli eşyaları kilitliyor gibi davranmak da mümkündür; yani oyuncu, bir quest sırasında bankadan belirli bir eşyayı alamayabilir veya yalnızca quest tamamlandığında alabilir.
Metin2 banka sistemleri, Martysama gibi gelişmiş quest motorlarıyla da entegre çalışabilmektedir. Bu sayede daha karmaşık quest zincirleri oluşturulabilir. Örneğin, bir quest tamamlandığında bankada özel bir kutu açılır ve oyuncu bu kutudan özel ödüller alabilir. Aynı zamanda trigger sistemleri ile banka kutuları, belirli NPC'lerden ya da oyun içi olaylardan sonra aktif hale gelebilir.
Not: Metin2 banka sistemlerinde dikkat edilmesi gereken önemli konulardan biri debug ve quest hatalarıdır. Yanlış bir LUA kodu, tüm banka sistemini çökertebilir. Bu nedenle, geliştiriciler quest yazarken mutlaka test sunucularında denemeler yapmalı ve debug araçlarını kullanmalıdır. Metin2lobby.com gibi sitelerde bulunan kaynaklar, geliştiricilere yardımcı olacak pek çok quest örneği ve lua betiği sunmaktadır.
Sonuç olarak, LUA tabanlı gelişmiş banka sistemleri, Metin2 sunucuları için oldukça değerli bir özelliktir. Quest sistemleriyle uyumlu olması, güvenlik sağlıyor olması ve kullanıcı dostu arayüzü ile bu sistemler, hem oyuncular hem de sunucu sahipleri için ideal bir çözüm sunar.
Advanced Banking System[LUA] - A Modern and Secure Data Vault for Metin2
Metin2 servers have increasingly adopted advanced banking systems that allow players to store their items safely and in an organized manner. These systems are now more powerful than ever, thanks to LUA-based scripts. They offer significant advantages for both server owners and players. Especially when integrated with quest systems, these types of banking structures greatly enhance the Metin2 gaming experience.
Banking systems written in LUA provide both flexibility and robustness. Players can securely store all their items, gold, and special inventories through these systems. Often integrated with custom quest systems on Metin2 servers, for example, rewards from a completed daily quest can be directly sent to the bank, or upon finishing a specific quest series, items may be stored in a special folder within the bank.
Metin2 banking systems typically operate via database connections. When the bank box is opened, LUA scripts connect to the database, list the items, and present them to the player. In such systems, structures like flag and state used in quest logic can also be implemented. This allows for different bank access levels per player, authorization tiers, and even timer-based operations.
Benefits:
- Secure item storage
- Server-side data protection
- Integration with quest systems
- User-friendly interface
- High-performance and optimized structure
Metin2 developers often use lua quest files to create such banking systems. These files manage operations such as opening the bank box, transferring items, deleting items, etc., on the server side. Thanks to sample quest scripts shared on platforms like Metin2dev, developers can easily build their own banking systems or customize existing ones.
Bank scripts that work with Custom.quest systems can automatically direct items earned by completing quests into the bank. This prevents inventory clutter and makes quest processes more efficient. Additionally, some quest systems may lock certain items in the bank; for example, a player may not be able to withdraw a specific item until a quest is completed.
Metin2 banking systems can also integrate with advanced quest engines like Martysama. This enables the creation of more complex quest chains. For instance, upon completing a quest, a special box opens in the bank where the player can claim exclusive rewards. Moreover, trigger systems can activate bank boxes after interacting with certain NPCs or during specific in-game events.
Note: Debugging and quest errors are critical aspects of Metin2 banking systems. Incorrect LUA code can crash the entire banking system. Therefore, developers must perform tests on testing servers and use debugging tools while writing quests. Sites like Metin2lobby.com offer many quest examples and lua scripts to assist developers.
In conclusion, LUA-based advanced banking systems are highly valuable features for Metin2 servers. Their compatibility with quest systems, security, and user-friendly interface make these systems an ideal solution for both players and server administrators.
Gelişmiş Banka Sistemi hakkında kısaca bilgi vereceğim. Detayları videoda öğrenebilirsiniz.
Gelişmiş Banka Sisteminde 3 adet hesap bulunur A,B,C hesapları. Oyuncular toplamda hesaplarında 6 T para tutabilirler. Dileyen oyun içerisinde anlık olarak başka bir oyuncunun A,B,C hesaplarından herhangi birine para yatırabilir. Sistemde herhangi bir bug ya da aklınıza gelebilecek herhangi bir sorun yoktur. Sistem tamamen güvenlidir. Herhangi bir para bugu yapamazlar.
Banka Sistemi - Tanıtım
PARA MİKTARI ARASINA .(NOKTA) KOYMA:
Şimdi para tutarlarının arasına .(nokta) koyma fonksiyonuna geldik. Bu fonksiyonu da eklemeniz gerekiyor. Eğer bu fonksiyonu eklemezseniz sistem çalışmaz. Ona göre kodlandı. Şimdi o fonksiyonu eklemeyi göstereceğim:
"questlib.lua" dosyasını açıyoruz ve en alta aşağıdaki kodları ekleyip kapatıyoruz. Reboot atmanıza gerek yok. Sistemleri ekledikten sonra /reload q yapmanız yeterlidir.
Fonksiyon kodu:
Kod:
function genel_veri(gelen_miktar) gelen2 = tostring(gelen_miktar) local gelen = gelen_miktar local sayac = 10 local basamak = 1 local ilkhal = basamak while true do if gelen / sayac >= 1 then basamak = basamak + 1 sayac = sayac * 10 else break end end t = {} sonucText = "" for i=1, string.len(gelen2) do t[i]= (string.sub(gelen2,i,i)) end for k , v in pairs(t) do--1324 if (basamak == 9 or basamak == 6 or basamak == 3) and sonucText != "" then sonucText = sonucText.."." sonucText = sonucText..v else sonucText = sonucText..v end basamak = basamak - 1 end return sonucText end
Bu işlem de bittikten sonra "quest_functions" dosyasını açıyor ve en alta "genel_veri" fonksiyonunu ekliyoruz. Bura ile de işimiz bitti.
İndirmeden kodları incelemek isteyenler için:
Kod:
quest gelismis_banka begin state start begin when 20355.chat."GM: Oyuncu Banka Bilgileri" with pc.is_gm() begin oyuncu_bilgileri = {} baslikO = "Bilgilendirme:" baslikOL = "Uyarı:" yonetici_isim = pc.get_name() say_title(baslikO) say("") say("Merhaba yönetici, "..yonetici_isim) say("Buradan banka hesap şifresini unutan oyunculara şifrelerini iletebilir ve oyuncuların hesaplarındaki parayı kontrol[ENTER]edebilirsin.") say("") say_reward("İşlem yapmak istediğin oyuncunun adını gir: ") oyuncu_isim = tostring(input()) oyuncuAra = find_pc_by_name(oyuncu_isim) if oyuncuAra == 0 then say_title(baslikOL) say("") say_reward("Böyle bir oyuncu yok yada oyunda değil.") say("") else o_id = pc.select(oyuncuAra) oyuncu_bilgileri[1] = pc.getqf("banka_hesap_sifresi") oyuncu_bilgileri[2] = pc.getqf("banka_hesap_A") oyuncu_bilgileri[3] = pc.getqf("banka_hesap_B") oyuncu_bilgileri[4] = pc.getqf("banka_hesap_C") pc.select(o_id) say_title(baslikO) say("") say("Oyuncu bilgileri: ") say("") say_reward("Oyuncu şifresi: "..oyuncu_bilgileri[1]) say("") say_reward("Banka Hesabı A: "..genel_veri(oyuncu_bilgileri[2])) say_reward("Banka Hesabı B: "..genel_veri(oyuncu_bilgileri[3])) say_reward("Banka Hesabı C: "..genel_veri(oyuncu_bilgileri[4])) say("") oyuncuBilgiSec = select("Şifreyi İlet","Kapat") if oyuncuBilgiSec == 1 then oyuncuAra = find_pc_by_name(oyuncu_isim) if oyuncuAra != 0 then o_id = pc.select(oyuncuAra) syschat("Banka hesabı şifreniz yönetici tarafından iletildi. Banka hesap şifreniz: "..oyuncu_bilgileri[1]) pc.select(o_id) say_title(baslikO) say("") say("Şifre "..oyuncu_isim.." isimli oyuncuya başarı ile iletilmiştir.") say("") else say_title(baslikOL) say("") say_reward("Oyuncu oyunda görünmüyor!") say("") end elseif oyuncuBilgiSec == 2 then return end -- if oyuncuBilgiSec == 1 then endi end -- if oyuncuAra == 0 then endi end -- when 9005.chat."GM: Oyuncu Banka Bilgileri" with pc.is_gm() begin endi when 20355.chat."Banka Sistemi" begin if pc.getqf("banka_hesabi") == 0 then baslikO = "Bilgilendirme:" baslikOL = "Uyarı:" oyuncu_isim = pc.get_name() say_title(baslikO) say("") say("Merhaba oyuncu, "..oyuncu_isim) say("Buradan kendine 3 adet banka açabilirsin.") say("Böylece paran biriktiğinde onları saklamak daha kolay olur.") say("") say_reward("Ne yapmak istiyorsun?") say("") bankaSec = select("Banka Hesabı Oluştur","Kapat") if bankaSec == 1 then say_title(baslikO) say("") say("Öncelikle kendine 6 haneli rakamlardan oluşan bir şifre[ENTER]belirlemen gerekiyor.") say("Şifreyi unuttuğunda sadece yöneticiden geri alabilirsin.[ENTER]Bunun için de bazı bilgilerin onaylanması gerekecek.") say("O nedenden şifreni unutmayacağın düzeyde belirle.") say("") say_reward("Oluşturacağınız banka şifrenizi giriniz: ") say_reward("(Şifre 0 ile başlayamaz!)") bankaSifresi = tonumber(input()) sifreKontrol = gelismis_banka.bankaSifreKontrol(bankaSifresi) if not sifreKontrol then return end say_title(baslikO) say("") say("Banka şifreniz: "..bankaSifresi) say("") say_reward("Şifrenizi onaylıyor musunuz?") say("") sifreOnayi = select("Evet","Hayır") if sifreOnayi == 1 then pc.setqf("banka_hesap_sifresi",bankaSifresi) pc.setqf("banka_hesabi",1) say_title(baslikO) say("") say("Şifreniz belirlemiş olduğunuz şekilde kayıt edildi ve[ENTER]hesabınız açıldı.") say("") say_reward("Banka hesap şifreniz: "..pc.getqf("banka_hesap_sifresi")) pc.setqf("banka_hesap_A",0) pc.setqf("banka_hesap_B",0) pc.setqf("banka_hesap_C",0) say("") elseif sifreOnayi == 2 then return end -- if sifreOnayi == 1 then endi elseif bankaSec == 2 then return end -- if bankaSec == 1 then endi elseif pc.getqf("banka_hesabi") == 1 then baslikO = "Bilgilendirme:" baslikOL = "Uyarı:" oyuncu_isim = pc.get_name() say_title(baslikO) say("") say("Merhaba oyuncu, "..oyuncu_isim) say("Banka hesabına girebilmek için belirlemiş olduğun şifreyi[ENTER]girmen gerekiyor.") say("Şifreni hatırlamıyorsan yöneticiye başvurup, gerekli[ENTER]bilgileri verdikten sonra öğrenebilirsin.") say("") say_reward("Banka şifrenizi giriniz: ") say_reward("(Şifre 0 ile başlayamaz!)") bankaSifresi = tonumber(input()) sifreKontrol = gelismis_banka.bankaSifreKontrol(bankaSifresi) if not sifreKontrol then return end -- if not sifreKontrol then endi oyuncu_banka_sifresi = pc.getqf("banka_hesap_sifresi") if bankaSifresi != oyuncu_banka_sifresi then say_title(baslikOL) say("") say_reward("Şifrenizi yanlış girdiniz. Tekrar deneyiniz.") say("") else say_title(baslikO) say("") say("Ne yapmak istersin?") say("") bankaSecenek = select("Para Yatır","Para Çek","Para Gönder","Hesap Durumu","Şifre Değiştir","Kapat") if bankaSecenek == 1 then say_title(baslikO) say("") say("Para yatıracağınız hesabı seçin: ") say("") oyuncu_para = pc.get_money() say_reward("Oyun paranız: "..genel_veri(oyuncu_para)) say("") hesapSecDizi = { "Hesap A ("..genel_veri(pc.getqf("banka_hesap_A"))..")", "Hesap B ("..genel_veri(pc.getqf("banka_hesap_B"))..")", "Hesap C ("..genel_veri(pc.getqf("banka_hesap_C"))..")" } hesapSecDiziSay = tonumber(table.getn(hesapSecDizi)) hesapSecDizi[hesapSecDiziSay + 1] = "Kapat" hesapSec = select_table(hesapSecDizi) for i=1,hesapSecDiziSay,1 do if hesapSec == hesapSecDiziSay + 1 then return end -- if hesapSec == hesapSecDiziSay + 1 then endi if hesapSec == i then say_title(baslikO) say("") oyuncu_para = pc.get_money() say_reward("Hesabınızdaki para: "..genel_veri(oyuncu_para)) say("") if i == 1 then say_reward("Banka hesabı A durum: "..genel_veri(pc.getqf("banka_hesap_A"))) elseif i == 2 then say_reward("Banka hesabı B durum: "..genel_veri(pc.getqf("banka_hesap_B"))) elseif i == 3 then say_reward("Banka hesabı C durum: "..genel_veri(pc.getqf("banka_hesap_C"))) end -- if i == 1 then endi say("") say("Hesaba yüklemek istediğiniz miktarı girin: ") yuklenecekMiktar = tonumber(input()) yuklenecekMiktarGonder = gelismis_banka.yuklenecekMiktarKontrol(yuklenecekMiktar) if not yuklenecekMiktarGonder then return end -- if not yuklenecekMiktarGonder then endi if i == 1 then if pc.getqf("banka_hesap_A") + yuklenecekMiktar > 1999999999 then say_title(baslikOL) say("") say_reward("Girdiğiniz tutar ile banka hesabı A doluyor.") say_reward("Para kaybı yaşamamanız için işlem iptal edildi.") say_reward("Banka hesabınızda en fazla 1.999.999.999 miktar para[ENTER]olabilir.") say("") else pc.setqf("banka_hesap_A",pc.getqf("banka_hesap_A")+yuklenecekMiktar) para_guncellendi = pc.change_money(-yuklenecekMiktar) oyuncu_kalan_para = pc.get_money() hesap_durumu_A = pc.getqf("banka_hesap_A") say_title(baslikO) say("") say("Para hesaba başarı ile yatırılmıştır.") say("") say_reward("Kalan paranız: "..genel_veri(oyuncu_kalan_para)) say_reward("Hesap A paranız: "..genel_veri(hesap_durumu_A)) say("") end -- if pc.getqf("banka_hesap_A") + yuklenecekMiktar > 1999999999 then endi elseif i == 2 then if pc.getqf("banka_hesap_B") + yuklenecekMiktar > 1999999999 then say_title(baslikOL) say("") say_reward("Girdiğiniz tutar ile banka hesabı B doluyor.") say_reward("Para kaybı yaşamamanız için işlem iptal edildi.") say_reward("Banka hesabınızda en fazla 1.999.999.999 miktar para olabilir.") say("") else pc.setqf("banka_hesap_B",pc.getqf("banka_hesap_B")+yuklenecekMiktar) para_guncellendi = pc.change_money(-yuklenecekMiktar) oyuncu_kalan_para = pc.get_money() hesap_durumu_B = pc.getqf("banka_hesap_B") say_title(baslikO) say("") say("Para hesaba başarı ile yatırılmıştır.") say("") say_reward("Kalan paranız: "..genel_veri(oyuncu_kalan_para)) say_reward("Hesap B paranız: "..genel_veri(hesap_durumu_B)) say("") end -- if pc.getqf("banka_hesap_B") + yuklenecekMiktar > 1999999999 then endi elseif i == 3 then if pc.getqf("banka_hesap_C") + yuklenecekMiktar > 1999999999 then say_title(baslikOL) say("") say_reward("Girdiğiniz tutar ile banka hesabı C doluyor.") say_reward("Para kaybı yaşamamanız için işlem iptal edildi.") say_reward("Banka hesabınızda en fazla 1.999.999.999 miktar para olabilir.") say("") else pc.setqf("banka_hesap_C",pc.getqf("banka_hesap_C")+yuklenecekMiktar) para_guncellendi = pc.change_money(-yuklenecekMiktar) oyuncu_kalan_para = pc.get_money() hesap_durumu_C = pc.getqf("banka_hesap_C") say_title(baslikO) say("") say("Para hesaba başarı ile yatırılmıştır.") say("") say_reward("Kalan paranız: "..genel_veri(oyuncu_kalan_para)) say_reward("Hesap C paranız: "..genel_veri(hesap_durumu_C)) say("") end -- if pc.getqf("banka_hesap_C") + yuklenecekMiktar > 1999999999 then endi end -- if i == 1 then endi end -- if hesapSec = i then endi end -- for i=1,hesapSecDiziSay,1 do endi elseif bankaSecenek == 2 then say_title(baslikO) say("") say("Para çekeceğiniz hesabı seçin: ") say("") oyuncu_para = pc.get_money() say_reward("Oyun Paranız "..genel_veri(oyuncu_para)) say("") hesapSecDizi = { "Hesap A ("..genel_veri(pc.getqf("banka_hesap_A"))..")", "Hesap B ("..genel_veri(pc.getqf("banka_hesap_B"))..")", "Hesap C ("..genel_veri(pc.getqf("banka_hesap_C"))..")" } hesapSecDiziSay = tonumber(table.getn(hesapSecDizi)) hesapSecDizi[hesapSecDiziSay + 1 ] = "Kapat" hesapSec = select_table(hesapSecDizi) for i=1,hesapSecDiziSay,1 do if hesapSec == hesapSecDiziSay + 1 then return end -- if hesapSec = hesapSecDiziSay + 1 then endi if i == hesapSec then say_title(baslikO) say("") oyuncu_para = pc.get_money() say_reward("Hesabınızdaki para: "..genel_veri(oyuncu_para)) say("") if i == 1 then say_reward("Banka hesabı A durum: "..genel_veri(pc.getqf("banka_hesap_A"))) elseif i == 2 then say_reward("Banka hesabı B durum: "..genel_veri(pc.getqf("banka_hesap_B"))) elseif i == 3 then say_reward("Banka hesabı C durum: "..genel_veri(pc.getqf("banka_hesap_C"))) end -- if i == 1 then endi say("") say("Çekmek istediğiniz miktarı girin: ") cekilecekMiktar = tonumber(input()) cekilecekMiktarGonder = gelismis_banka.cekilecekMiktarKontrol(cekilecekMiktar) if not cekilecekMiktarGonder then return end -- if not cekilecekMiktarGonder then endi oyuncu_para = pc.get_money() if i == 1 then banka_hesap_A = pc.getqf("banka_hesap_A") if cekilecekMiktar > banka_hesap_A then say_title(baslikOL) say("") say_reward("Banka hesabınızda yeterli miktarda para yok.") say("") else pc.setqf("banka_hesap_A",pc.getqf("banka_hesap_A")-cekilecekMiktar) pc.change_money(cekilecekMiktar) oyuncu_yeni_para = pc.get_money() kalan_banka_hesap_A = pc.getqf("banka_hesap_A") say_title(baslikO) say("") say("Para başarı ile çekilmiştir.") say("") say_reward("Yeni paranız: "..genel_veri(oyuncu_yeni_para)) say_reward("Kalan banka hesap A paranız: "..genel_veri(kalan_banka_hesap_A)) say("") end elseif i == 2 then banka_hesap_B = pc.getqf("banka_hesap_B") if cekilecekMiktar > banka_hesap_B then say_title(baslikOL) say("") say_reward("Banka hesabınızda yeterli miktarda para yok.") say("") else pc.setqf("banka_hesap_B",pc.getqf("banka_hesap_B")-cekilecekMiktar) pc.change_money(cekilecekMiktar) oyuncu_yeni_para = pc.get_money() kalan_banka_hesap_B = pc.getqf("banka_hesap_B") say_title(baslikO) say("") say("Para başarı ile çekilmiştir.") say("") say_reward("Yeni paranız: "..genel_veri(oyuncu_yeni_para)) say_reward("Kalan banka hesap B paranız: "..genel_veri(kalan_banka_hesap_B)) say("") end elseif i == 3 then banka_hesap_C = pc.getqf("banka_hesap_C") if cekilecekMiktar > banka_hesap_C then say_title(baslikOL) say("") say_reward("Banka hesabınızda yeterli miktarda para yok.") say("") else pc.setqf("banka_hesap_C",pc.getqf("banka_hesap_C")-cekilecekMiktar) pc.change_money(cekilecekMiktar) oyuncu_yeni_para = pc.get_money() kalan_banka_hesap_C = pc.getqf("banka_hesap_C") say_title(baslikO) say("") say("Para başarı ile çekilmiştir.") say("") say_reward("Yeni paranız: "..genel_veri(oyuncu_yeni_para)) say_reward("Kalan banka hesap C paranız: "..genel_veri(kalan_banka_hesap_C)) say("") end end -- if i == 1 then endi end -- if i = hesapSec then endi end -- for i=1,hesapSecDiziSay,1 do endi elseif bankaSecenek == 3 then say_title(baslikO) say("") say("Merhaba oyuncu, "..oyuncu_isim) say("Buradan dilediğin bir oyuncunun hesabına para[ENTER]gönderebilirsin.") say("") say_reward("Para göndermek istediğin oyuncunun ismini gir: ") say_reward("(Para gönderebilmen için oyuncu oyunda olmalıdır!)") gonderilecekOyuncuAdi = tostring(input()) oyuncu_kontrol = gelismis_banka.oyuncuAdiKontrol(gonderilecekOyuncuAdi) if not oyuncu_kontrol then return end -- if not oyuncu_kontrol then endi say_title(baslikO) say("") say("Hangi hesabınızdan para gönderecekseniz seçiniz: ") say("") hesapSecDizi = { "Hesap A ("..genel_veri(pc.getqf("banka_hesap_A"))..")", "Hesap B ("..genel_veri(pc.getqf("banka_hesap_B"))..")", "Hesap C ("..genel_veri(pc.getqf("banka_hesap_C"))..")" } hesapSecDiziSay = tonumber(table.getn(hesapSecDizi)) hesapSecDizi[hesapSecDiziSay + 1 ] = "Kapat" hesapSec = select_table(hesapSecDizi) for i=1,hesapSecDiziSay,1 do if hesapSec == hesapSecDiziSay + 1 then return end -- if hesapSec = hesapSecDiziSay + 1 then endi if i == hesapSec then say_title(baslikO) say("") if i == 1 then say_reward("Banka hesabı A durum: "..genel_veri(pc.getqf("banka_hesap_A"))) elseif i == 2 then say_reward("Banka hesabı B durum: "..genel_veri(pc.getqf("banka_hesap_B"))) elseif i == 3 then say_reward("Banka hesabı C durum: "..genel_veri(pc.getqf("banka_hesap_C"))) end -- if i == 1 then endi say("") say("Göndermek istediğiniz miktarı girin: ") gonderilecekMiktar = tonumber(input()) gonderilecekMiktarGonder = gelismis_banka.gonderilecekMiktarKontrol(gonderilecekMiktar) if not gonderilecekMiktarGonder then return end -- if not gonderilecekMiktarGonder then endi if i == 1 then banka_hesap_A = pc.getqf("banka_hesap_A") if gonderilecekMiktar > banka_hesap_A then say_title(baslikOL) say("") say_reward("Banka hesabınızda yeterli miktarda para yok.") say("") else oyuncuHesabi = {} oyuncu_ara = find_pc_by_name(gonderilecekOyuncuAdi) if oyuncu_ara != 0 then o_id = pc.select(oyuncu_ara) oyuncuHesabi[1] = pc.getqf("banka_hesap_A") oyuncuHesabi[2] = pc.getqf("banka_hesap_B") oyuncuHesabi[3] = pc.getqf("banka_hesap_C") pc.select(o_id) oyuncuBankaHesapDizi = { "Hesap A ("..genel_veri(oyuncuHesabi[1])..")", "Hesap B ("..genel_veri(oyuncuHesabi[2])..")", "Hesap C ("..genel_veri(oyuncuHesabi[3])..")" } oyuncuBankaHesapDiziSay = tonumber(table.getn(oyuncuBankaHesapDizi)) oyuncuBankaHesapDizi[oyuncuBankaHesapDiziSay + 1 ] = "Kapat" say_title(baslikO) say("") say("Para göndereceğiniz oyuncunun hesabı seçin: ") say("") bankaSec = select_table(oyuncuBankaHesapDizi) for i=1,oyuncuBankaHesapDiziSay,1 do if bankaSec == oyuncuBankaHesapDiziSay + 1 then return end -- if bankaSec = oyuncuBankaHesapDiziSay + 1 then endi if i == bankaSec then if i == 1 then if (gonderilecekMiktar + oyuncuHesabi[1]) > 1999999999 then say_title(baslikOL) say("") say_reward("Göndereceğiniz para sonrası oyuncunun hesabı dolacak.") say_reward("Lütfen başka bir hesap deneyin yada göndereceğiniz para miktarını azaltın.") say_reward("Para kaybı yaşanmaması için işleminiz iptal edilmiştir.") else if oyuncu_ara != 0 then o_id = pc.select(oyuncu_ara) pc.setqf("banka_hesap_A",pc.getqf("banka_hesap_A")+gonderilecekMiktar) syschat(oyuncu_isim.." tarafından A banka hesabanıza "..genel_veri(gonderilecekMiktar).." para aktarıldı.") syschat("A banka hesabınızdaki toplam para: "..genel_veri(pc.getqf("banka_hesap_A")).." oldu.") pc.select(o_id) pc.setqf("banka_hesap_A",pc.getqf("banka_hesap_A")-gonderilecekMiktar) say_title(baslikO) say("") say("Para başarı ile "..gonderilecekOyuncuAdi.." isimli oyuncunun hesabına aktarıldı.") say("A banka hesabınızdan "..genel_veri(gonderilecekMiktar).." para eksildi.") say("") say_reward("A hesabınızdaki toplam para: "..genel_veri(pc.getqf("banka_hesap_A"))) say("") else say_title(baslikOL) say_reward("Para göndereceğiniz oyuncu oyunda görünmüyor.") say("") end -- if oyuncu_ara != 0 then endi end -- if (gonderilecekMiktar + oyuncuHesabi[1]) > 1999999999 then elseif i == 2 then if (gonderilecekMiktar + oyuncuHesabi[2]) > 1999999999 then say_title(baslikOL) say("") say_reward("Göndereceğiniz para sonrası oyuncunun hesabı dolacak.") say_reward("Lütfen başka bir hesap deneyin yada göndereceğiniz para miktarını azaltın.") say_reward("Para kaybı yaşanmaması için işleminiz iptal edilmiştir.") else if oyuncu_ara != 0 then o_id = pc.select(oyuncu_ara) pc.setqf("banka_hesap_B",pc.getqf("banka_hesap_B")+gonderilecekMiktar) syschat(oyuncu_isim.." tarafından B banka hesabanıza "..genel_veri(gonderilecekMiktar).." para aktarıldı.") syschat("B banka hesabınızdaki toplam para: "..genel_veri(pc.getqf("banka_hesap_B")).." oldu.") pc.select(o_id) pc.setqf("banka_hesap_A",pc.getqf("banka_hesap_A")-gonderilecekMiktar) say_title(baslikO) say("") say("Para başarı ile "..gonderilecekOyuncuAdi.." isimli oyuncunun hesabına aktarıldı.") say("A banka hesabınızdan "..genel_veri(gonderilecekMiktar).." para eksildi.") say("") say_reward("A hesabınızdaki toplam para: "..genel_veri(pc.getqf("banka_hesap_A"))) say("") else say_title(baslikOL) say_reward("Para göndereceğiniz oyuncu oyunda görünmüyor.") say("") end -- if oyuncu_ara != 0 then endi end -- if (gonderilecekMiktar + oyuncuHesabi[1]) > 1999999999 then elseif i == 3 then if (gonderilecekMiktar + oyuncuHesabi[3]) > 1999999999 then say_title(baslikOL) say("") say_reward("Göndereceğiniz para sonrası oyuncunun hesabı dolacak.") say_reward("Lütfen başka bir hesap deneyin yada göndereceğiniz para miktarını azaltın.") say_reward("Para kaybı yaşanmaması için işleminiz iptal edilmiştir.") else if oyuncu_ara != 0 then o_id = pc.select(oyuncu_ara) pc.setqf("banka_hesap_C",pc.getqf("banka_hesap_C")+gonderilecekMiktar) syschat(oyuncu_isim.." tarafından C banka hesabanıza "..genel_veri(gonderilecekMiktar).." para aktarıldı.") syschat("C banka hesabınızdaki toplam para: "..genel_veri(pc.getqf("banka_hesap_C")).." oldu.") pc.select(o_id) pc.setqf("banka_hesap_A",pc.getqf("banka_hesap_A")-gonderilecekMiktar) say_title(baslikO) say("") say("Para başarı ile "..gonderilecekOyuncuAdi.." isimli oyuncunun hesabına aktarıldı.") say("A banka hesabınızdan "..genel_veri(gonderilecekMiktar).." para eksildi.") say("") say_reward("A hesabınızdaki toplam para: "..genel_veri(pc.getqf("banka_hesap_A"))) say("") else say_title(baslikOL) say_reward("Para göndereceğiniz oyuncu oyunda görünmüyor.") say("") end -- if oyuncu_ara != 0 then endi end -- if (gonderilecekMiktar + oyuncuHesabi[1]) > 1999999999 then end -- if i = 1 then endi end -- if i = bankaSec then endi end -- for i=1,oyuncuBankaHesapDiziSay,1 do endi else say_title(baslikOL) say_reward("Para göndereceğiniz oyuncu oyunda görünmüyor.") say("") end end -- if gonderilecekMiktar > banka_hesap_A then endi elseif i == 2 then banka_hesap_B = pc.getqf("banka_hesap_B") if gonderilecekMiktar > banka_hesap_B then say_title(baslikOL) say("") say_reward("Banka hesabınızda yeterli miktarda para yok.") say("") else oyuncuHesabi = {} oyuncu_ara = find_pc_by_name(gonderilecekOyuncuAdi) if oyuncu_ara != 0 then o_id = pc.select(oyuncu_ara) oyuncuHesabi[1] = pc.getqf("banka_hesap_A") oyuncuHesabi[2] = pc.getqf("banka_hesap_B") oyuncuHesabi[3] = pc.getqf("banka_hesap_C") pc.select(o_id) oyuncuBankaHesapDizi = { "Hesap A ("..genel_veri(oyuncuHesabi[1])..")", "Hesap B ("..genel_veri(oyuncuHesabi[2])..")", "Hesap C ("..genel_veri(oyuncuHesabi[3])..")" } oyuncuBankaHesapDiziSay = tonumber(table.getn(oyuncuBankaHesapDizi)) oyuncuBankaHesapDizi[oyuncuBankaHesapDiziSay + 1 ] = "Kapat" say_title(baslikO) say("") say("Para göndereceğiniz oyuncunun hesabı seçin: ") say("") bankaSec = select_table(oyuncuBankaHesapDizi) for i=1,oyuncuBankaHesapDiziSay,1 do if bankaSec == oyuncuBankaHesapDiziSay + 1 then return end -- if bankaSec = oyuncuBankaHesapDiziSay + 1 then endi if i == bankaSec then if i == 1 then if (gonderilecekMiktar + oyuncuHesabi[1]) > 1999999999 then say_title(baslikOL) say("") say_reward("Göndereceğiniz para sonrası oyuncunun hesabı dolacak.") say_reward("Lütfen başka bir hesap deneyin yada göndereceğiniz para miktarını azaltın.") say_reward("Para kaybı yaşanmaması için işleminiz iptal edilmiştir.") else if oyuncu_ara != 0 then o_id = pc.select(oyuncu_ara) pc.setqf("banka_hesap_A",pc.getqf("banka_hesap_A")+gonderilecekMiktar) syschat(oyuncu_isim.." tarafından A banka hesabanıza "..genel_veri(gonderilecekMiktar).." para aktarıldı.") syschat("A banka hesabınızdaki toplam para: "..genel_veri(pc.getqf("banka_hesap_A")).." oldu.") pc.select(o_id) pc.setqf("banka_hesap_B",pc.getqf("banka_hesap_B")-gonderilecekMiktar) say_title(baslikO) say("") say("Para başarı ile "..gonderilecekOyuncuAdi.." isimli oyuncunun hesabına aktarıldı.") say("B banka hesabınızdan "..genel_veri(gonderilecekMiktar).." para eksildi.") say("") say_reward("B hesabınızdaki toplam para: "..genel_veri(pc.getqf("banka_hesap_B"))) say("") else say_title(baslikOL) say_reward("Para göndereceğiniz oyuncu oyunda görünmüyor.") say("") end -- if oyuncu_ara != 0 then endi end -- if (gonderilecekMiktar + oyuncuHesabi[1]) > 1999999999 then elseif i == 2 then if (gonderilecekMiktar + oyuncuHesabi[2]) > 1999999999 then say_title(baslikOL) say("") say_reward("Göndereceğiniz para sonrası oyuncunun hesabı dolacak.") say_reward("Lütfen başka bir hesap deneyin yada göndereceğiniz para miktarını azaltın.") say_reward("Para kaybı yaşanmaması için işleminiz iptal edilmiştir.") else if oyuncu_ara != 0 then o_id = pc.select(oyuncu_ara) pc.setqf("banka_hesap_B",pc.getqf("banka_hesap_B")+gonderilecekMiktar) syschat(oyuncu_isim.." tarafından B banka hesabanıza "..genel_veri(gonderilecekMiktar).." para aktarıldı.") syschat("B banka hesabınızdaki toplam para: "..genel_veri(pc.getqf("banka_hesap_B")).." oldu.") pc.select(o_id) pc.setqf("banka_hesap_B",pc.getqf("banka_hesap_B")-gonderilecekMiktar) say_title(baslikO) say("") say("Para başarı ile "..gonderilecekOyuncuAdi.." isimli oyuncunun hesabına aktarıldı.") say("B banka hesabınızdan "..genel_veri(gonderilecekMiktar).." para eksildi.") say("") say_reward("B hesabınızdaki toplam para: "..genel_veri(pc.getqf("banka_hesap_B"))) say("") else say_title(baslikOL) say_reward("Para göndereceğiniz oyuncu oyunda görünmüyor.") say("") end -- if oyuncu_ara != 0 then endi end -- if (gonderilecekMiktar + oyuncuHesabi[1]) > 1999999999 then elseif i == 3 then if (gonderilecekMiktar + oyuncuHesabi[3]) > 1999999999 then say_title(baslikOL) say("") say_reward("Göndereceğiniz para sonrası oyuncunun hesabı dolacak.") say_reward("Lütfen başka bir hesap deneyin yada göndereceğiniz para miktarını azaltın.") say_reward("Para kaybı yaşanmaması için işleminiz iptal edilmiştir.") else if oyuncu_ara != 0 then o_id = pc.select(oyuncu_ara) pc.setqf("banka_hesap_C",pc.getqf("banka_hesap_C")+gonderilecekMiktar) syschat(oyuncu_isim.." tarafından C banka hesabanıza "..genel_veri(gonderilecekMiktar).." para aktarıldı.") syschat("C banka hesabınızdaki toplam para: "..genel_veri(pc.getqf("banka_hesap_C")).." oldu.") pc.select(o_id) pc.setqf("banka_hesap_B",pc.getqf("banka_hesap_B")-gonderilecekMiktar) say_title(baslikO) say("") say("Para başarı ile "..gonderilecekOyuncuAdi.." isimli oyuncunun hesabına aktarıldı.") say("B banka hesabınızdan "..genel_veri(gonderilecekMiktar).." para eksildi.") say("") say_reward("B hesabınızdaki toplam para: "..genel_veri(pc.getqf("banka_hesap_B"))) say("") else say_title(baslikOL) say_reward("Para göndereceğiniz oyuncu oyunda görünmüyor.") say("") end -- if oyuncu_ara != 0 then endi end -- if (gonderilecekMiktar + oyuncuHesabi[1]) > 1999999999 then end -- if i = 1 then endi end -- if i = bankaSec then endi end -- for i=1,oyuncuBankaHesapDiziSay,1 do endi else say_title(baslikOL) say_reward("Para göndereceğiniz oyuncu oyunda görünmüyor.") say("") end end -- if gonderilecekMiktar > banka_hesap_A then endi elseif i == 3 then banka_hesap_C = pc.getqf("banka_hesap_C") if gonderilecekMiktar > banka_hesap_C then say_title(baslikOL) say("") say_reward("Banka hesabınızda yeterli miktarda para yok.") say("") else oyuncuHesabi = {} oyuncu_ara = find_pc_by_name(gonderilecekOyuncuAdi) if oyuncu_ara != 0 then o_id = pc.select(oyuncu_ara) oyuncuHesabi[1] = pc.getqf("banka_hesap_A") oyuncuHesabi[2] = pc.getqf("banka_hesap_B") oyuncuHesabi[3] = pc.getqf("banka_hesap_C") pc.select(o_id) oyuncuBankaHesapDizi = { "Hesap A ("..genel_veri(oyuncuHesabi[1])..")", "Hesap B ("..genel_veri(oyuncuHesabi[2])..")", "Hesap C ("..genel_veri(oyuncuHesabi[3])..")" } oyuncuBankaHesapDiziSay = tonumber(table.getn(oyuncuBankaHesapDizi)) oyuncuBankaHesapDizi[oyuncuBankaHesapDiziSay + 1 ] = "Kapat" say_title(baslikO) say("") say("Para göndereceğiniz oyuncunun hesabı seçin: ") say("") bankaSec = select_table(oyuncuBankaHesapDizi) for i=1,oyuncuBankaHesapDiziSay,1 do if bankaSec == oyuncuBankaHesapDiziSay + 1 then return end -- if bankaSec = oyuncuBankaHesapDiziSay + 1 then endi if i == bankaSec then if i == 1 then if (gonderilecekMiktar + oyuncuHesabi[1]) > 1999999999 then say_title(baslikOL) say("") say_reward("Göndereceğiniz para sonrası oyuncunun hesabı dolacak.") say_reward("Lütfen başka bir hesap deneyin yada göndereceğiniz para miktarını azaltın.") say_reward("Para kaybı yaşanmaması için işleminiz iptal edilmiştir.") else if oyuncu_ara != 0 then o_id = pc.select(oyuncu_ara) pc.setqf("banka_hesap_A",pc.getqf("banka_hesap_A")+gonderilecekMiktar) syschat(oyuncu_isim.." tarafından A banka hesabanıza "..genel_veri(gonderilecekMiktar).." para aktarıldı.") syschat("A banka hesabınızdaki toplam para: "..genel_veri(pc.getqf("banka_hesap_A")).." oldu.") pc.select(o_id) pc.setqf("banka_hesap_C",pc.getqf("banka_hesap_C")-gonderilecekMiktar) say_title(baslikO) say("") say("Para başarı ile "..gonderilecekOyuncuAdi.." isimli oyuncunun hesabına aktarıldı.") say("C banka hesabınızdan "..genel_veri(gonderilecekMiktar).." para eksildi.") say("") say_reward("C hesabınızdaki toplam para: "..genel_veri(pc.getqf("banka_hesap_C"))) say("") else say_title(baslikOL) say_reward("Para göndereceğiniz oyuncu oyunda görünmüyor.") say("") end -- if oyuncu_ara != 0 then endi end -- if (gonderilecekMiktar + oyuncuHesabi[1]) > 1999999999 then elseif i == 2 then if (gonderilecekMiktar + oyuncuHesabi[2]) > 1999999999 then say_title(baslikOL) say("") say_reward("Göndereceğiniz para sonrası oyuncunun hesabı dolacak.") say_reward("Lütfen başka bir hesap deneyin yada göndereceğiniz para miktarını azaltın.") say_reward("Para kaybı yaşanmaması için işleminiz iptal edilmiştir.") else if oyuncu_ara != 0 then o_id = pc.select(oyuncu_ara) pc.setqf("banka_hesap_B",pc.getqf("banka_hesap_B")+gonderilecekMiktar) syschat(oyuncu_isim.." tarafından B banka hesabanıza "..genel_veri(gonderilecekMiktar).." para aktarıldı.") syschat("B banka hesabınızdaki toplam para: "..genel_veri(pc.getqf("banka_hesap_B")).." oldu.") pc.select(o_id) pc.setqf("banka_hesap_C",pc.getqf("banka_hesap_C")-gonderilecekMiktar) say_title(baslikO) say("") say("Para başarı ile "..gonderilecekOyuncuAdi.." isimli oyuncunun hesabına aktarıldı.") say("C banka hesabınızdan "..genel_veri(gonderilecekMiktar).." para eksildi.") say("") say_reward("C hesabınızdaki toplam para: "..genel_veri(pc.getqf("banka_hesap_C"))) say("") else say_title(baslikOL) say_reward("Para göndereceğiniz oyuncu oyunda görünmüyor.") say("") end -- if oyuncu_ara != 0 then endi end -- if (gonderilecekMiktar + oyuncuHesabi[1]) > 1999999999 then elseif i == 3 then if (gonderilecekMiktar + oyuncuHesabi[3]) > 1999999999 then say_title(baslikOL) say("") say_reward("Göndereceğiniz para sonrası oyuncunun hesabı dolacak.") say_reward("Lütfen başka bir hesap deneyin yada göndereceğiniz para miktarını azaltın.") say_reward("Para kaybı yaşanmaması için işleminiz iptal edilmiştir.") else if oyuncu_ara != 0 then o_id = pc.select(oyuncu_ara) pc.setqf("banka_hesap_C",pc.getqf("banka_hesap_C")+gonderilecekMiktar) syschat(oyuncu_isim.." tarafından C banka hesabanıza "..genel_veri(gonderilecekMiktar).." para aktarıldı.") syschat("C banka hesabınızdaki toplam para: "..genel_veri(pc.getqf("banka_hesap_C")).." oldu.") pc.select(o_id) pc.setqf("banka_hesap_C",pc.getqf("banka_hesap_C")-gonderilecekMiktar) say_title(baslikO) say("") say("Para başarı ile "..gonderilecekOyuncuAdi.." isimli oyuncunun hesabına aktarıldı.") say("C banka hesabınızdan "..genel_veri(gonderilecekMiktar).." para eksildi.") say("") say_reward("C hesabınızdaki toplam para: "..genel_veri(pc.getqf("banka_hesap_C"))) say("") else say_title(baslikOL) say_reward("Para göndereceğiniz oyuncu oyunda görünmüyor.") say("") end -- if oyuncu_ara != 0 then endi end -- if (gonderilecekMiktar + oyuncuHesabi[1]) > 1999999999 then end -- if i = 1 then endi end -- if i = bankaSec then endi end -- for i=1,oyuncuBankaHesapDiziSay,1 do endi else say_title(baslikOL) say_reward("Para göndereceğiniz oyuncu oyunda görünmüyor.") say("") end end -- if gonderilecekMiktar > banka_hesap_A then endi end -- if i == 1 then endi end --- if i == hesapSec then endi end -- for i=1,hesapSecDiziSay,1 do endi elseif bankaSecenek == 4 then say_title(baslikO) say("") say("Aşağıda banka hesabınızda olan toplam paralarınız vardır: ") say() say_reward("Banka hesabı A: "..genel_veri(pc.getqf("banka_hesap_A"))) say_reward("Banka hesabı B: "..genel_veri(pc.getqf("banka_hesap_B"))) say_reward("Banka hesabı C: "..genel_veri(pc.getqf("banka_hesap_C"))) say("") toplamPara = pc.getqf("banka_hesap_A") + pc.getqf("banka_hesap_B") + pc.getqf("banka_hesap_C") say_reward("Toplam para tutarınız: "..genel_veri(toplamPara)) say("") elseif bankaSecenek == 5 then say_title(baslikO) say("") say("Merhaba oyuncu, "..oyuncu_isim) say("Buradan Banka Hesap Şifreni değiştirebilirsin.") say("") say_reward("Yeni şifrenizi giriniz: ") say_reward("(Şifre 0 ile başlayamaz!)") yeniBankaHesapSifresi = tonumber(input()) sifreKontrol = gelismis_banka.bankaSifreKontrol(bankaSifresi) if not sifreKontrol then return end -- if not sifreKontrol then endi say_title(baslikO) say("") say_reward("Eski şifreniz: "..pc.getqf("banka_hesap_sifresi")) say("") say_reward("Yeni oluşturduğunuz şifre: "..yeniBankaHesapSifresi) say("") say_reward("Şifrenizi gerçekten değiştirmek istiyor musunuz?") say("") sifreDegistirSec = select("Evet","Hayır") if sifreDegistirSec == 1 then pc.setqf("banka_hesap_sifresi",yeniBankaHesapSifresi) say_title(baslikO) say("") say("Şifre başarı ile değiştirildi.") say("") say_reward("Yeni banka hesap şifreniz: "..pc.getqf("banka_hesap_sifresi")) say("") elseif sifreDegistirSec == 2 then return end elseif bankaSecenek == 6 then return end -- if bankaSecenek == 1 then endi end -- if bankaSifresi != oyuncu_banka_sifresi then endi end -- if pc.setqf("banka_hesabi") == 0 then endi end -- when 20355.chat."Banka Sistemi" begin endi function bankaSifreKontrol(gelen_banka_sifresi) baslikOL = "Uyarı:" bankaSifresi_f = gelen_banka_sifresi if bankaSifresi_f == "" or bankaSifresi_f == nil then say_title(baslikOL) say("") say_reward("Boş giriş yada geçersiz karakter girişi yapıldı.") say("") return false elseif string.len(bankaSifresi_f) != 6 then say_title(baslikOL) say("") say_reward("Şifre 6 haneden oluşmalı!") say("") return false end -- if bankaSifresi_f == "" or bankaSifresi_f == nil then endi return true end -- function bankaSıfreKontrol(gelen_banka_sifresi) endi function yuklenecekMiktarKontrol(gelen_yuklenecek_miktar) baslikO = "Bilgilendirme:" baslikOL = "Uyarı:" oyuncu_para = pc.get_money() yuklenecekMiktar_f = gelen_yuklenecek_miktar if yuklenecekMiktar_f == "" or yuklenecekMiktar_f == nil then say_title(baslikOL) say("") say_reward("Boş bıraktınız yada sayısal değer girmediniz.") say("") return false elseif yuklenecekMiktar_f < 1 or yuklenecekMiktar_f > 1999999999 then say_title(baslikOL) say("") say_reward("En az 1 en fazla 1.999.999.999 tutarını girmelisiniz. ") say("") return false elseif oyuncu_para < yuklenecekMiktar_f then say_title(baslikOL) say("") say_reward("Hesabınızda yeterli miktarda para yok.") say("") return false end return true end function cekilecekMiktarKontrol(gelen_cekilecek_miktar) baslikO = "Bilgilendirme:" baslikOL = "Uyarı:" oyuncu_para = pc.get_money() cekilecekMiktar_f = gelen_cekilecek_miktar if cekilecekMiktar_f == "" or cekilecekMiktar_f == nil then say_title(baslikOL) say("") say_reward("Boş bıraktınız yada sayısal değer girmediniz.") say("") return false elseif cekilecekMiktar_f < 1 or cekilecekMiktar_f > 1999999999 then say_title(baslikOL) say("") say_reward("En az 1 en fazla 1.999.999.999 tutarını girmelisiniz. ") say("") return false elseif (oyuncu_para + cekilecekMiktar_f) > 1999999999 then say_title(baslikOL) say("") say_reward("Girdiğiniz miktar ile oyun paranız sınırı aşıyor.") say_reward("Para kaybı yaşamamanız için işlem iptal edildi.") say("") return false end return true end function oyuncuAdiKontrol(gelen_oyuncu_adi) gonderilecekOyuncuAdi_f = gelen_oyuncu_adi baslikOL="Uyarı:" oyuncuAra = find_pc_by_name(gonderilecekOyuncuAdi_f) oyuncuBilgi = {} o_id = pc.select(oyuncuAra) oyuncuBilgi[1] = pc.getqf("banka_hesabi") pc.select(o_id) if gonderilecekOyuncuAdi_f == "" or gonderilecekOyuncuAdi_f == nil then say_title(baslikOL) say("") say_reward("Boş bıraktınız yada geçersiz giriş yaptınız!") say("") return false elseif oyuncuAra == 0 then say_title(baslikOL) say("") say_reward("Böyle bir oyuncu yok yada oyunda değil.") say("") return false elseif oyuncuBilgi[1] == 0 then say_title(baslikOL) say("") say_reward("Oyuncu banka hesabını henüz açmamış.") say("") return false end return true end function gonderilecekMiktarKontrol(gelen_gonderilecek_miktar) baslikOL = "Uyarı:" gonderilecekMiktar_f = gelen_gonderilecek_miktar if gonderilecekMiktar_f == "" or gonderilecekMiktar_f == nil then say_title(baslikOL) say("") say_reward("Boş bıraktınız yada sayısal değer girmediniz.") say("") return false elseif gonderilecekMiktar_f < 1 or gonderilecekMiktar_f > 1999999999 then say_title(baslikOL) say("") say_reward("En az 1 en fazla 1.999.999.999 tutarını girmelisiniz. ") say("") return false end return true end end -- state start begin endi end -- quest gelismis_banka begin endi
Gelişmiş Banka Sistemi[LUA] - Metin2 İçin Modern ve Güvenli Bir Veri Deposu
Metin2 sunucularında oyuncuların eşyalarını güvenli ve organize bir şekilde saklaması için geliştirilen gelişmiş banka sistemleri, son yıllarda LUA tabanlı scriptlerle daha da güçlü hale gelmiştir. Bu sistemler, hem sunucu sahipleri hem de oyuncular için büyük kolaylıklar sunar. Özellikle quest sistemleriyle entegre çalışabilen bu tür banka yapıları, Metin2 oyun deneyimini ciddi anlamda iyileştirir.
LUA dili ile yazılmış banka sistemleri, hem esnek hem de güçlü bir yapı sunar. Oyuncular, karakterlerinin sahip olduğu tüm eşyaları, altınları ve özel envanterleri bu banka sistemleri aracılığıyla daha güvenli bir şekilde saklayabilir. Bu sistemler genellikle Metin2 sunucularında custom quest sistemleriyle de entegre edilir. Örneğin, bir daily quest tamamlandığında ödüller doğrudan bankaya yönlendirilebilir veya belirli bir quest serisi tamamlandığında eşyalar bankada özel bir klasörde depolanabilir.
Metin2 banka sistemleri genellikle veritabanı bağlantısı üzerinden çalışır. LUA scriptleri ile banka kutusu açıldığında veritabanına bağlanılır, eşyalar listelenir ve oyuncuya sunulur. Bu sistemlerde flag ve state gibi quest mantığı ile çalışan yapılar da kullanılabilir. Bu sayede her oyuncu için farklı banka erişimleri, yetkilendirme seviyeleri ve hatta timer bazlı işlemler yapılabilir.
Avantajlar:
- Güvenli eşya depolama
- Sunucu tarafında veri koruma
- Quest sistemleri ile entegrasyon
- Oyuncu dostu arayüz
- Performanslı ve optimize yapı
Metin2 geliştiricileri, bu tür banka sistemlerini oluştururken genellikle lua quest dosyalarını kullanırlar. Bu dosyalar, sunucu tarafında çalışarak banka kutusunun açılması, eşya taşınması, silinmesi gibi işlemleri yönetir. Metin2dev gibi platformlarda paylaşılan örnek quest scriptleri sayesinde geliştiriciler, kendi banka sistemlerini kolayca oluşturabilir veya mevcut sistemleri özelleştirebilirler.
Özel.quest sistemleri ile çalışan banka scriptleri, oyuncuların quest tamamladıkça kazandıkları eşyaları otomatik olarak bankaya yönlendirebilir. Bu sayede oyuncuların envanterlerinde kalabalık oluşmaz ve quest süreçleri daha verimli hale gelir. Ayrıca bazı quest sistemlerinde, bankaya belirli eşyaları kilitliyor gibi davranmak da mümkündür; yani oyuncu, bir quest sırasında bankadan belirli bir eşyayı alamayabilir veya yalnızca quest tamamlandığında alabilir.
Metin2 banka sistemleri, Martysama gibi gelişmiş quest motorlarıyla da entegre çalışabilmektedir. Bu sayede daha karmaşık quest zincirleri oluşturulabilir. Örneğin, bir quest tamamlandığında bankada özel bir kutu açılır ve oyuncu bu kutudan özel ödüller alabilir. Aynı zamanda trigger sistemleri ile banka kutuları, belirli NPC'lerden ya da oyun içi olaylardan sonra aktif hale gelebilir.
Not: Metin2 banka sistemlerinde dikkat edilmesi gereken önemli konulardan biri debug ve quest hatalarıdır. Yanlış bir LUA kodu, tüm banka sistemini çökertebilir. Bu nedenle, geliştiriciler quest yazarken mutlaka test sunucularında denemeler yapmalı ve debug araçlarını kullanmalıdır. Metin2lobby.com gibi sitelerde bulunan kaynaklar, geliştiricilere yardımcı olacak pek çok quest örneği ve lua betiği sunmaktadır.
Sonuç olarak, LUA tabanlı gelişmiş banka sistemleri, Metin2 sunucuları için oldukça değerli bir özelliktir. Quest sistemleriyle uyumlu olması, güvenlik sağlıyor olması ve kullanıcı dostu arayüzü ile bu sistemler, hem oyuncular hem de sunucu sahipleri için ideal bir çözüm sunar.
Advanced Banking System[LUA] - A Modern and Secure Data Vault for Metin2
Metin2 servers have increasingly adopted advanced banking systems that allow players to store their items safely and in an organized manner. These systems are now more powerful than ever, thanks to LUA-based scripts. They offer significant advantages for both server owners and players. Especially when integrated with quest systems, these types of banking structures greatly enhance the Metin2 gaming experience.
Banking systems written in LUA provide both flexibility and robustness. Players can securely store all their items, gold, and special inventories through these systems. Often integrated with custom quest systems on Metin2 servers, for example, rewards from a completed daily quest can be directly sent to the bank, or upon finishing a specific quest series, items may be stored in a special folder within the bank.
Metin2 banking systems typically operate via database connections. When the bank box is opened, LUA scripts connect to the database, list the items, and present them to the player. In such systems, structures like flag and state used in quest logic can also be implemented. This allows for different bank access levels per player, authorization tiers, and even timer-based operations.
Benefits:
- Secure item storage
- Server-side data protection
- Integration with quest systems
- User-friendly interface
- High-performance and optimized structure
Metin2 developers often use lua quest files to create such banking systems. These files manage operations such as opening the bank box, transferring items, deleting items, etc., on the server side. Thanks to sample quest scripts shared on platforms like Metin2dev, developers can easily build their own banking systems or customize existing ones.
Bank scripts that work with Custom.quest systems can automatically direct items earned by completing quests into the bank. This prevents inventory clutter and makes quest processes more efficient. Additionally, some quest systems may lock certain items in the bank; for example, a player may not be able to withdraw a specific item until a quest is completed.
Metin2 banking systems can also integrate with advanced quest engines like Martysama. This enables the creation of more complex quest chains. For instance, upon completing a quest, a special box opens in the bank where the player can claim exclusive rewards. Moreover, trigger systems can activate bank boxes after interacting with certain NPCs or during specific in-game events.
Note: Debugging and quest errors are critical aspects of Metin2 banking systems. Incorrect LUA code can crash the entire banking system. Therefore, developers must perform tests on testing servers and use debugging tools while writing quests. Sites like Metin2lobby.com offer many quest examples and lua scripts to assist developers.
In conclusion, LUA-based advanced banking systems are highly valuable features for Metin2 servers. Their compatibility with quest systems, security, and user-friendly interface make these systems an ideal solution for both players and server administrators.
