Güncellenmiş Kredi Sistemi Mantığı
-Kredi Alma NPC
Level 20+ → 1M – 3M kredi
Level 60+ → 5M – 10M kredi
Ödül rastgele
Kredi Ödeme Süresi
-3 gün içinde ödeme yaparsa:
Hiçbir ceza veya faiz uygulanmaz
Ödeme sonrası 48 saat (2 gün) bekledikten sonra tekrar kredi çekebilir
- 3 Gün Geçerse Gecikme
Her geciken gün için %5 faiz kesilir
Gecikme gün sayısı × 500 sıralama puanı düşer
30 gün kredi çekemez
-Ödeme Sonrası
Faiz ve ceza uygulanmışsa, kredi ödemesi yapılınca durum sıfırlanır
Krediyi gününde ödeyen Oyuncu 48 saat sonra yeni bir kredi çekebilir
Hesabinda yeterli miktar olduğunda otomatik kesilir..!
quest kredi_npc_48saat begin
state start begin
when 20355.chat."Kredi Al" begin
local lvl = pc.get_level()
local kredi = 0
local now = os.time()
if lvl >= 60 then
kredi = number(5000000, 10000000)
elseif lvl >= 20 then
kredi = number(1000000, 3000000)
else
say_title("Kredi Al")
say("Bu NPC’den kredi almak için minimum 20 level olmalısın.")
return
end
-- 30 gün kredi çekememe kontrolü
local engel = pc.getqf("kredi_ceza_bitis")
if engel != 0 and now < engel then
say_title("Kredi Al")
say("Gecikmeli borç nedeniyle 30 gün kredi çekemezsiniz.")
return
end
-- 48 saat bekleme kontrolü
local bekleme = pc.getqf("kredi_son_odeme")
if bekleme != 0 and now < bekleme + 48*3600 then
local kalan = math.ceil((bekleme + 48*3600 - now)/3600)
say_title("Kredi Al")
say("Önceki kredinizi ödediniz. Yeni kredi için "..kalan.." saat bekleyiniz.")
return
end
-- Kredi ver
pc.change_koin(kredi)
pc.setqf("kredi_cekildi", kredi)
pc.setqf("kredi_verilis_zamani", now)
pc.setqf("kredi_ceza_bitis", 0)
say_title("Kredi Al")
say("Tebrikler! "..kredi.." kredi aldınız. 3 gün içinde ödeyiniz.")
end
when 20355.chat."Kredi Öde" begin
local kredi = pc.getqf("kredi_cekildi")
if kredi <= 0 then
say_title("Kredi Öde")
say("Ödenecek kredi bulunamadı.")
return
end
local verilis_zamani = pc.getqf("kredi_verilis_zamani")
local now = os.time()
local gecikme_saniye = now - verilis_zamani
local gecikme_gun = math.floor(gecikme_saniye / (3600*24))
local faiz = 0
if gecikme_gun <= 3 then
-- Ceza yok → 48 saat bekleme aktif
if pc.get_koin() >= kredi then
pc.change_koin(-kredi)
pc.setqf("kredi_cekildi", 0)
pc.setqf("kredi_verilis_zamani", 0)
pc.setqf("kredi_son_odeme", now) -- 48 saat bekleme için kaydet
say("Krediniz başarıyla ödendi. Ceza uygulanmadı. Yeni kredi için 48 saat bekleyin.")
else
say("Hesabınızda yeterli kredi yok. Ödeme tamamlanamadı.")
end
else
-- Gecikme → faiz ve sıralama puanı cezası
local gecikme_faz_gun = gecikme_gun - 3
for i = 1, gecikme_faz_gun do
faiz = math.floor(kredi * 0.05)
if pc.get_koin() >= faiz then
pc.change_koin(-faiz)
else
break
end
end
local puan_ceza = gecikme_faz_gun * 500
pc.change_ranking_point(-puan_ceza)
pc.setqf("kredi_ceza_bitis", now + 30*24*3600)
if pc.get_koin() >= kredi then
pc.change_koin(-kredi)
pc.setqf("kredi_cekildi", 0)
pc.setqf("kredi_verilis_zamani", 0)
say("Krediniz ödendi. Faiz ve sıralama cezası uygulandı.")
else
say("Hesabınızda yeterli kredi yok. Ödeme tamamlanamadı.")
end
end
end
end
end
-Kredi Alma NPC
Level 20+ → 1M – 3M kredi
Level 60+ → 5M – 10M kredi
Ödül rastgele
Kredi Ödeme Süresi
-3 gün içinde ödeme yaparsa:
Hiçbir ceza veya faiz uygulanmaz
Ödeme sonrası 48 saat (2 gün) bekledikten sonra tekrar kredi çekebilir
- 3 Gün Geçerse Gecikme
Her geciken gün için %5 faiz kesilir
Gecikme gün sayısı × 500 sıralama puanı düşer
30 gün kredi çekemez
-Ödeme Sonrası
Faiz ve ceza uygulanmışsa, kredi ödemesi yapılınca durum sıfırlanır
Krediyi gününde ödeyen Oyuncu 48 saat sonra yeni bir kredi çekebilir
Hesabinda yeterli miktar olduğunda otomatik kesilir..!
quest kredi_npc_48saat begin
state start begin
when 20355.chat."Kredi Al" begin
local lvl = pc.get_level()
local kredi = 0
local now = os.time()
if lvl >= 60 then
kredi = number(5000000, 10000000)
elseif lvl >= 20 then
kredi = number(1000000, 3000000)
else
say_title("Kredi Al")
say("Bu NPC’den kredi almak için minimum 20 level olmalısın.")
return
end
-- 30 gün kredi çekememe kontrolü
local engel = pc.getqf("kredi_ceza_bitis")
if engel != 0 and now < engel then
say_title("Kredi Al")
say("Gecikmeli borç nedeniyle 30 gün kredi çekemezsiniz.")
return
end
-- 48 saat bekleme kontrolü
local bekleme = pc.getqf("kredi_son_odeme")
if bekleme != 0 and now < bekleme + 48*3600 then
local kalan = math.ceil((bekleme + 48*3600 - now)/3600)
say_title("Kredi Al")
say("Önceki kredinizi ödediniz. Yeni kredi için "..kalan.." saat bekleyiniz.")
return
end
-- Kredi ver
pc.change_koin(kredi)
pc.setqf("kredi_cekildi", kredi)
pc.setqf("kredi_verilis_zamani", now)
pc.setqf("kredi_ceza_bitis", 0)
say_title("Kredi Al")
say("Tebrikler! "..kredi.." kredi aldınız. 3 gün içinde ödeyiniz.")
end
when 20355.chat."Kredi Öde" begin
local kredi = pc.getqf("kredi_cekildi")
if kredi <= 0 then
say_title("Kredi Öde")
say("Ödenecek kredi bulunamadı.")
return
end
local verilis_zamani = pc.getqf("kredi_verilis_zamani")
local now = os.time()
local gecikme_saniye = now - verilis_zamani
local gecikme_gun = math.floor(gecikme_saniye / (3600*24))
local faiz = 0
if gecikme_gun <= 3 then
-- Ceza yok → 48 saat bekleme aktif
if pc.get_koin() >= kredi then
pc.change_koin(-kredi)
pc.setqf("kredi_cekildi", 0)
pc.setqf("kredi_verilis_zamani", 0)
pc.setqf("kredi_son_odeme", now) -- 48 saat bekleme için kaydet
say("Krediniz başarıyla ödendi. Ceza uygulanmadı. Yeni kredi için 48 saat bekleyin.")
else
say("Hesabınızda yeterli kredi yok. Ödeme tamamlanamadı.")
end
else
-- Gecikme → faiz ve sıralama puanı cezası
local gecikme_faz_gun = gecikme_gun - 3
for i = 1, gecikme_faz_gun do
faiz = math.floor(kredi * 0.05)
if pc.get_koin() >= faiz then
pc.change_koin(-faiz)
else
break
end
end
local puan_ceza = gecikme_faz_gun * 500
pc.change_ranking_point(-puan_ceza)
pc.setqf("kredi_ceza_bitis", now + 30*24*3600)
if pc.get_koin() >= kredi then
pc.change_koin(-kredi)
pc.setqf("kredi_cekildi", 0)
pc.setqf("kredi_verilis_zamani", 0)
say("Krediniz ödendi. Faiz ve sıralama cezası uygulandı.")
else
say("Hesabınızda yeterli kredi yok. Ödeme tamamlanamadı.")
end
end
end
end
end


