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 Sunucularında Devrim Yaratıyor!
Metin2 sunucularında quest sistemleri oyun deneyimini zenginleştirmenin en önemli yollarından biridir. Bu bağlamda, LUA tabanlı banka sistemleri özellikle sunucu sahipleri ve geliştiriciler için büyük bir kolaylık sağlar. Bu yazıda, gelişmiş bir banka sistemi LUA yapısının nasıl kurulduğunu, hangi avantajları sunduğunu ve Metin2 quest geliştiricileri için neden önemli olduğunu ele alacağız.
Banka Sistemi Nedir?
Metin2 oyununda banka, oyuncuların eşyalarını güvenli bir şekilde saklayabildikleri bir depolama alanıdır. Standart banka sistemleri sınırlı kapasiteye sahiptir. Ancak gelişmiş LUA tabanlı banka sistemleri ile bu kapasite artırılabilir, farklı kategorilerde banka kutuları oluşturulabilir ve hatta quest ödülleri olarak banka yükseltmeleri sunulabilir.
Neden LUA Kullanmalıyız?
LUA, Metin2 sunucularında quest ve sistem geliştirmeleri için güçlü bir araçtır. LUA sayesinde dinamik yapılar kurabilir, kullanıcı etkileşimlerini yönetebilir ve quest sistemlerini daha akıcı hale getirebilirsiniz. Banka sistemi LUA geliştirimi de bu doğrultuda yapılabilmektedir. Quest tamamlandıkça belirli itemler veya banka slotları oyuncuya otomatik olarak verilebilir.
Gelişmiş Özellikler ve Entegrasyon
Bu sistemde, quest tamamlandığında flag ayarlanarak banka slotu açılımı yapılabilir. Örneğin, daily quest tamamlanınca 1 banka slotu kazandıran küçük bir timer ve trigger sistemi kurulabilir. Bu sayede oyuncu tekrar eden aktivitelerden fayda sağlar. LUA ile yazılan bu tür sistemler, Metin2 sunucularında hem performans hem de esneklik açısından büyük avantajlar sağlar.
Sunucu Tarafında Yapılandırma
Sunucu tarafında banka sistem dosyaları genellikle client-side ve server-side olarak iki parçada çalışır. LUA dosyaları ile quest sisteminden gelen komutlarla banka kapasitesi artırılabilir. Metin2dev quest veya martysama quest gibi popüler sistemlerle entegre çalışarak banka sistemi daha da zenginleştirilebilir.
Özel Quest ile Banka Geliştirme
Oyunculara özel custom questler sunulabilir. Bu questlerde belirli mobları öldürmek, npc görevlerini tamamlamak veya belirli itemleri toplamak gibi görevler tanımlanabilir. Görev tamamlandığında ise banka kapasitesi artırılır. Bu, oyuncuların uzun süreli motivasyonunu artırır ve sunucuya sadakat sağlar.
Hata Ayıklama ve Performans
Her quest sisteminde olduğu gibi banka sisteminde de debug işlemleri önemlidir. LUA kodlarında oluşabilecek hatalar için quest debug yöntemleri kullanılabilir. Ayrıca, banka sistemlerinde state yönetimi doğru yapılmalıdır ki oyuncuların verileri eksiksiz korunsun.
Sonuç
Gelişmiş banka sistemi LUA yapısı, Metin2 sunucularında oyuncu memnuniyetini artırmak ve oyun içi ekonomiyi dengeli tutmak için etkili bir yöntemdir. Doğru tasarlanmış quest sistemleriyle birleştiğinde hem eğlence hem de fayda sağlar. Metin2 quest geliştiricileri için bu tür sistemlerin inceliklerini bilmek, daha kaliteli sunucular oluşturmalarını sağlar.
Advanced Banking System[LUA]: Revolutionizing Metin2 Servers!
Metin2 servers, quest systems are one of the most important ways to enhance the gaming experience. In this context, LUA-based banking systems offer significant convenience for server owners and developers. This article will explore how to set up an advanced banking system LUA structure, its benefits, and why it's crucial for Metin2 quest developers.
What Is a Banking System?
In Metin2, the bank is a secure storage area where players can store items safely. Standard banking systems have limited capacity. However, with advanced LUA-based banking systems, this capacity can be increased, different banking boxes can be created by category, and even banking upgrades can be offered as quest rewards.
Why Should We Use LUA?
LUA is a powerful tool for quest and system improvements on Metin2 servers. With LUA, you can create dynamic structures, manage user interactions, and make quest systems more fluid. Developing a banking system LUA follows this direction as well. Upon completing a quest, specific items or banking slots can automatically be awarded to the player.
Advanced Features and Integration
In this system, upon completing a quest, setting a flag can unlock banking slots. For instance, a small timer and trigger system can be established so that completing a daily quest awards 1 banking slot. This way, players benefit from repetitive activities. Systems written in LUA provide great advantages in performance and flexibility for Metin2 servers.
Server-Side Configuration
On the server side, banking system files typically operate in two parts: client-side and server-side. With LUA files and commands from the quest system, banking capacity can be increased. Popular systems like Metin2dev quest or martysama quest can be integrated to further enrich the banking system.
Custom Quests for Banking Enhancement
Players can be offered special custom quests. In these quests, tasks such as defeating certain mobs, completing NPC missions, or collecting specific items can be defined. Upon completion, the player’s banking capacity increases. This boosts long-term motivation and loyalty to the server.
Debugging and Performance
As with every quest system, debugging is important in banking systems. LUA code errors can be addressed using quest debug methods. Additionally, proper state management must be implemented in banking systems to ensure players’ data remains intact.
Conclusion
Advanced banking system LUA structures increase player satisfaction and maintain balanced in-game economy on Metin2 servers. When combined with well-designed quest systems, they provide both entertainment and utility. Understanding the intricacies of such systems helps Metin2 quest developers build higher-quality servers.
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 Sunucularında Devrim Yaratıyor!
Metin2 sunucularında quest sistemleri oyun deneyimini zenginleştirmenin en önemli yollarından biridir. Bu bağlamda, LUA tabanlı banka sistemleri özellikle sunucu sahipleri ve geliştiriciler için büyük bir kolaylık sağlar. Bu yazıda, gelişmiş bir banka sistemi LUA yapısının nasıl kurulduğunu, hangi avantajları sunduğunu ve Metin2 quest geliştiricileri için neden önemli olduğunu ele alacağız.
Banka Sistemi Nedir?
Metin2 oyununda banka, oyuncuların eşyalarını güvenli bir şekilde saklayabildikleri bir depolama alanıdır. Standart banka sistemleri sınırlı kapasiteye sahiptir. Ancak gelişmiş LUA tabanlı banka sistemleri ile bu kapasite artırılabilir, farklı kategorilerde banka kutuları oluşturulabilir ve hatta quest ödülleri olarak banka yükseltmeleri sunulabilir.
Neden LUA Kullanmalıyız?
LUA, Metin2 sunucularında quest ve sistem geliştirmeleri için güçlü bir araçtır. LUA sayesinde dinamik yapılar kurabilir, kullanıcı etkileşimlerini yönetebilir ve quest sistemlerini daha akıcı hale getirebilirsiniz. Banka sistemi LUA geliştirimi de bu doğrultuda yapılabilmektedir. Quest tamamlandıkça belirli itemler veya banka slotları oyuncuya otomatik olarak verilebilir.
Gelişmiş Özellikler ve Entegrasyon
Bu sistemde, quest tamamlandığında flag ayarlanarak banka slotu açılımı yapılabilir. Örneğin, daily quest tamamlanınca 1 banka slotu kazandıran küçük bir timer ve trigger sistemi kurulabilir. Bu sayede oyuncu tekrar eden aktivitelerden fayda sağlar. LUA ile yazılan bu tür sistemler, Metin2 sunucularında hem performans hem de esneklik açısından büyük avantajlar sağlar.
Sunucu Tarafında Yapılandırma
Sunucu tarafında banka sistem dosyaları genellikle client-side ve server-side olarak iki parçada çalışır. LUA dosyaları ile quest sisteminden gelen komutlarla banka kapasitesi artırılabilir. Metin2dev quest veya martysama quest gibi popüler sistemlerle entegre çalışarak banka sistemi daha da zenginleştirilebilir.
Özel Quest ile Banka Geliştirme
Oyunculara özel custom questler sunulabilir. Bu questlerde belirli mobları öldürmek, npc görevlerini tamamlamak veya belirli itemleri toplamak gibi görevler tanımlanabilir. Görev tamamlandığında ise banka kapasitesi artırılır. Bu, oyuncuların uzun süreli motivasyonunu artırır ve sunucuya sadakat sağlar.
Hata Ayıklama ve Performans
Her quest sisteminde olduğu gibi banka sisteminde de debug işlemleri önemlidir. LUA kodlarında oluşabilecek hatalar için quest debug yöntemleri kullanılabilir. Ayrıca, banka sistemlerinde state yönetimi doğru yapılmalıdır ki oyuncuların verileri eksiksiz korunsun.
Sonuç
Gelişmiş banka sistemi LUA yapısı, Metin2 sunucularında oyuncu memnuniyetini artırmak ve oyun içi ekonomiyi dengeli tutmak için etkili bir yöntemdir. Doğru tasarlanmış quest sistemleriyle birleştiğinde hem eğlence hem de fayda sağlar. Metin2 quest geliştiricileri için bu tür sistemlerin inceliklerini bilmek, daha kaliteli sunucular oluşturmalarını sağlar.
Advanced Banking System[LUA]: Revolutionizing Metin2 Servers!
Metin2 servers, quest systems are one of the most important ways to enhance the gaming experience. In this context, LUA-based banking systems offer significant convenience for server owners and developers. This article will explore how to set up an advanced banking system LUA structure, its benefits, and why it's crucial for Metin2 quest developers.
What Is a Banking System?
In Metin2, the bank is a secure storage area where players can store items safely. Standard banking systems have limited capacity. However, with advanced LUA-based banking systems, this capacity can be increased, different banking boxes can be created by category, and even banking upgrades can be offered as quest rewards.
Why Should We Use LUA?
LUA is a powerful tool for quest and system improvements on Metin2 servers. With LUA, you can create dynamic structures, manage user interactions, and make quest systems more fluid. Developing a banking system LUA follows this direction as well. Upon completing a quest, specific items or banking slots can automatically be awarded to the player.
Advanced Features and Integration
In this system, upon completing a quest, setting a flag can unlock banking slots. For instance, a small timer and trigger system can be established so that completing a daily quest awards 1 banking slot. This way, players benefit from repetitive activities. Systems written in LUA provide great advantages in performance and flexibility for Metin2 servers.
Server-Side Configuration
On the server side, banking system files typically operate in two parts: client-side and server-side. With LUA files and commands from the quest system, banking capacity can be increased. Popular systems like Metin2dev quest or martysama quest can be integrated to further enrich the banking system.
Custom Quests for Banking Enhancement
Players can be offered special custom quests. In these quests, tasks such as defeating certain mobs, completing NPC missions, or collecting specific items can be defined. Upon completion, the player’s banking capacity increases. This boosts long-term motivation and loyalty to the server.
Debugging and Performance
As with every quest system, debugging is important in banking systems. LUA code errors can be addressed using quest debug methods. Additionally, proper state management must be implemented in banking systems to ensure players’ data remains intact.
Conclusion
Advanced banking system LUA structures increase player satisfaction and maintain balanced in-game economy on Metin2 servers. When combined with well-designed quest systems, they provide both entertainment and utility. Understanding the intricacies of such systems helps Metin2 quest developers build higher-quality servers.
