Sistem Özeti SeumonDizayn Lonca Görev Sistemi, lonca içi yardımlaşmayı ve aktifliği teşvik eden dinamik bir gelişim yapısıdır. Sistem; 8001-8027 arası tüm metinlerin her birinden 100 adet, belirlenen bosslardan ise 50 adet kesilmesini şart koşar. Oyuncular, metin kodlarını görmeden "Metin Görevi 1-27" şeklinde modernize edilmiş bir arayüz üzerinden ilerleme kaydederler. Her tamamlanan görev; Güç, Zeka, Çeviklik, Max HP ve Karakter Savunmaları gibi kritik efsunları kalıcı birer koleksiyon bonusu olarak karakterlere tanımlar. Sistemin en temel güvenlik mekanizması ise aidiyet üzerinedir; bir oyuncu loncadan ayrıldığı anda, bu görevlerden kazandığı tüm avantajlar sistem tarafından otomatik olarak karakterinden silinir.
seumondizayn_lonca.quest:
seumondizayn_lonca.quest:
quest seumondizayn_lonca_sistemi begin
state start begin
function remove_seumon_bonuses()
affect.remove_collect(apply.MAX_HP, 5000, 60*60*24*365) -- Maksimum HP silinir
affect.remove_collect(apply.ATT_GRADE_BONUS, 100, 60*60*24*365) -- Saldırı Değeri silinir
affect.remove_collect(apply.ATT_BONUS_TO_MONSTER, 20, 60*60*24*365) -- Canavarlara Karşı Güç silinir
affect.remove_collect(apply.ATT_BONUS_TO_HUMAN, 10, 60*60*24*365) -- Yarı İnsanlara Karşı Güç silinir
affect.remove_collect(apply.STR, 10, 60*60*24*365) -- Güç Statüsü silinir
affect.remove_collect(apply.INT, 10, 60*60*24*365) -- Zeka Statüsü silinir
affect.remove_collect(apply.DEX, 10, 60*60*24*365) -- Çeviklik Statüsü silinir
affect.remove_collect(apply.BLOCK, 5, 60*60*24*365) -- Beden Karşısındaki Atakların Bloklanması silinir
affect.remove_collect(apply.RESIST_WARRIOR, 5, 60*60*24*365) -- Savaşçı Saldırılarına Karşı Savunma silinir
affect.remove_collect(apply.RESIST_ASSASSIN, 5, 60*60*24*365) -- Ninjalara Karşı Savunma silinir
affect.remove_collect(apply.RESIST_SURA, 5, 60*60*24*365) -- Suralara Karşı Savunma silinir
affect.remove_collect(apply.RESIST_SHAMAN, 5, 60*60*24*365) -- Şamanlara Karşı Savunma silinir
end
when login begin
if pc.get_guild() == 0 then
seumondizayn_lonca_sistemi.remove_seumon_bonuses()
end
end
when kill begin
if pc.get_guild() == 0 then return end
local g_id = pc.get_guild()
local vnum = npc.get_race()
if vnum >= 8001 and vnum <= 8027 then
local gorev_id = vnum - 8000
local q_key = "sd_m_"..vnum.."_g_"..g_id
if pc.getqf(q_key) < 100 then
pc.setqf(q_key, pc.getqf(q_key) + 1)
if pc.getqf(q_key) == 100 then
syschat("[SeumonDizayn] Metin Görevi "..gorev_id.." bitti! HP, Saldırı ve Canavar gücü loncanıza işlendi.")
affect.add_collect(apply.MAX_HP, 100, 60*60*24*365) -- +100 HP ekler
affect.add_collect(apply.ATT_GRADE_BONUS, 5, 60*60*24*365) -- +5 Saldırı Değeri ekler
affect.add_collect(apply.ATT_BONUS_TO_MONSTER, 1, 60*60*24*365) -- %1 Canavarlara Karşı Güç ekler
end
end
elseif vnum == 1093 or vnum == 2598 or vnum == 2493 then
local b_key = "sd_b_"..vnum.."_g_"..g_id
if pc.getqf(b_key) < 50 then
pc.setqf(b_key, pc.getqf(b_key) + 1)
if pc.getqf(b_key) == 50 then
if vnum == 1093 then -- Azrail
affect.add_collect(apply.ATT_BONUS_TO_HUMAN, 10, 60*60*24*365) -- %10 Yarı İnsan ekler
affect.add_collect(apply.STR, 10, 60*60*24*365) -- +10 Güç Statüsü ekler
elseif vnum == 2598 then -- Catacomb Azraili
affect.add_collect(apply.INT, 10, 60*60*24*365) -- +10 Zeka Statüsü ekler
affect.add_collect(apply.DEX, 10, 60*60*24*365) -- +10 Çeviklik Statüsü ekler
elseif vnum == 2493 then -- Mavi Ejderha
affect.add_collect(apply.BLOCK, 5, 60*60*24*365) -- %5 Bloklama ekler
affect.add_collect(apply.RESIST_WARRIOR, 5, 60*60*24*365) -- %5 Savaşçı Savunması ekler
affect.add_collect(apply.RESIST_ASSASSIN, 5, 60*60*24*365) -- %5 Ninja Savunması ekler
affect.add_collect(apply.RESIST_SURA, 5, 60*60*24*365) -- %5 Sura Savunması ekler
affect.add_collect(apply.RESIST_SHAMAN, 5, 60*60*24*365) -- %5 Şaman Savunması ekler
end
syschat("[SeumonDizayn] Boss görevi tamamlandı! Lonca gücü karakterinize yansıdı.")
end
end
end
end
when 40001.use with pc.get_guild() != 0 begin
local g_id = pc.get_guild()
say_title("SeumonDizayn Lonca Görev Sistemi")
say("Hızlı bitirmek istediğiniz görevi seçin:")
local menu = select("Metin Görevleri (1-10)", "Metin Görevleri (11-20)", "Metin Görevleri (21-27)", "Boss Görevleri", "Kapat")
if menu == 1 then
local s = select("Görevi 1","Görevi 2","Görevi 3","Görevi 4","Görevi 5","Görevi 6","Görevi 7","Görevi 8","Görevi 9","Görevi 10","Geri")
if s <= 10 then pc.setqf("sd_m_"..(8000+s).."_g_"..g_id, 100) item.remove() end
elseif menu == 2 then
local s = select("Görevi 11","Görevi 12","Görevi 13","Görevi 14","Görevi 15","Görevi 16","Görevi 17","Görevi 18","Görevi 19","Görevi 20","Geri")
if s <= 10 then pc.setqf("sd_m_"..(8010+s).."_g_"..g_id, 100) item.remove() end
elseif menu == 3 then
local s = select("Görevi 21","Görevi 22","Görevi 23","Görevi 24","Görevi 25","Görevi 26","Görevi 27","Geri")
if s <= 7 then pc.setqf("sd_m_"..(8020+s).."_g_"..g_id, 100) item.remove() end
elseif menu == 4 then
local s = select("Azrail Görevi", "Catacomb Görevi", "Ejderha Görevi", "Geri")
local b_list = {1093, 2598, 2493}
if s <= 3 then pc.setqf("sd_b_"..b_list[s].."_g_"..g_id, 50) item.remove() end
end
end
when letter with pc.get_guild() != 0 begin
send_letter("SeumonDizayn Lonca")
end
when button or info begin
say_title("SeumonDizayn Lonca Görevleri")
say("Sistemde 27 adet metin ve 3 adet boss görevi")
say("bulunmaktadır. Her metin türünden 100 adet,")
say("bosslardan ise 50 adet kesilmesi gerekir.")
say("")
say_reward("Bonuslar sadece loncadayken aktiftir.")
end
end
end


