Gezgin Avcı & Gizemli Satıcı SistemiSistemin İşleyişi:
1. Aşağıdaki kodu gezgin_avci.lua adıyla kaydedin.
2. Dosyayı /usr/game/share/locale/turkey/quest dizinine yükleyin.
3. quest_list dosyasının en altına gezgin_avci.lua ismini ekleyin.
4. Putty üzerinden ./qc gezgin_avci.lua komutunu okutun ve oyunda /reload q yapın.
Hatasız Quest Kod Bloğu:
Hazine Npc Avı Questi:
Rastgele Hedef: Sistem listeden rastgele bir Boss (Lykos, Bera, Tigris vb.) seçer ve duyurur.
Av Aşaması: Oyuncular haritadaki bu nadir yaratığı bulup yok etmelidir.
Satıcı Belirmesi: Hedef yaratık kesildiği an, Gezgin Satıcı rastgele bir harita ve koordinatta ortaya çıkar.
Tek Stok & Nadir Hazine: Satıcıdaki eşya sadece 1 adet stokludur. İlk alan kazanır.
NPC Purge: Hazine satın alındığı an NPC bir duman efektiyle haritadan silinir.
1. Aşağıdaki kodu gezgin_avci.lua adıyla kaydedin.
2. Dosyayı /usr/game/share/locale/turkey/quest dizinine yükleyin.
3. quest_list dosyasının en altına gezgin_avci.lua ismini ekleyin.
4. Putty üzerinden ./qc gezgin_avci.lua komutunu okutun ve oyunda /reload q yapın.
Hatasız Quest Kod Bloğu:
Hazine Npc Avı Questi:
quest gezgin_avci begin
state start begin
-- AYARLAR
function config()
return {
["npc_vnum"] = 20010, -- Gezgin Satıcı
["nadir_item"] = 71084, -- Satılacak nadir eşya
["item_adet"] = 1,
["fiyat_yang"] = 50000000,
-- Hedef seçilecek rastgele yaratıklar (Vnum listesi)
["av_listesi"] = {191, 192, 193, 194, 491, 492, 493, 494}, -- Lykos, Scofra, Bera, Tigris vb.
-- Satıcının belirebileceği yerler
["konumlar"] = {
{63, 155, 673}, -- Çöl
{61, 421, 582}, -- Sohan
{64, 562, 824} -- Doyyumhwan
}
}
end
-- GM Paneli: Avı Başlat
when 20095.chat."Gezgin Avını Başlat" with pc.is_gm() begin
if game.get_event_flag("av_aktif") == 1 or game.get_event_flag("gezgin_aktif") == 1 then
say("Zaten devam eden bir etkinlik var!")
return
end
local cfg = gezgin_avci.config()
local rand_av = cfg.av_listesi[number(1, table.getn(cfg.av_listesi))]
game.set_event_flag("hedef_av_vnum", rand_av)
game.set_event_flag("av_aktif", 1)
notice_all("Efsanevi bir yaratık görüldü: " .. mob_name(rand_av))
notice_all("Onu yok eden kişi Gezgin Satıcı'yı krallığımıza davet edecek!")
end
-- Belirlenen Boss Kesildiğinde
when kill begin
if game.get_event_flag("av_aktif") == 1 then
if npc.get_race() == game.get_event_flag("hedef_av_vnum") then
local cfg = gezgin_avci.config()
local rand_pos = cfg.konumlar[number(1, table.getn(cfg.konumlar))]
-- NPC Spawn Et
mob.spawn(cfg.npc_vnum, rand_pos[2], rand_pos[3], 1, 1, 1)
game.set_event_flag("av_aktif", 0)
game.set_event_flag("gezgin_aktif", 1)
game.set_event_flag("gezgin_stok", 1)
notice_all(mob_name(npc.get_race()) .. " katledildi! Gezgin Satıcı bir yerlerde belirdi.")
notice_all("Acele edin, sadece bir adet nadir eşyası var!")
end
end
end
-- Satıcı Menüsü
when 20010.chat."Nadir Hazineyi Al" begin
local cfg = gezgin_avci.config()
say_title("Gezgin Satıcı:")
say("Avcıyı tebrik ederim! Hazine hala elimde.")
say_item_vnum(cfg.nadir_item)
say_reward("Fiyat: " .. cfg.fiyat_yang .. " Yang")
if select("Satın Al", "Kapat") == 1 then
if game.get_event_flag("gezgin_stok") == 0 then
say("Geç kaldın, satıldı!")
return
end
if pc.get_gold() < cfg.fiyat_yang then
say("Paran yetersiz.")
else
pc.change_gold(-cfg.fiyat_yang)
pc.give_item2(cfg.nadir_item, cfg.item_adet)
game.set_event_flag("gezgin_stok", 0)
game.set_event_flag("gezgin_aktif", 0)
notice_all("Gezgin Satıcı'daki hazineyi " .. pc.get_name() .. " aldı!")
npc.purge()
end
end
end
end
end


