berkmenoo 1
berkmenoo
mavzermete 1
mavzermete
Mt2Hizmet 1
Mt2Hizmet
xranzei 1
xranzei
Bvural41 1
Bvural41
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Hikaye Ekle

Cevaplanmadı quest birleştirme

  • Konuyu başlatan Konuyu başlatan odinogluthorr
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 2
  • Görüntüleme Görüntüleme 100

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!

iyi aksamlar 4 adet questi tek çatı altında birleştirmek istiyorum ben yapmaya çalıştım ama sürekli hata aldım şöyle;

şuanki hali ile tek tek ekleyip yaparsak sorun yok ama 90 seviyedeki oyuncu görevlerden istediği görevi seçebilyor bunu istemiyorum

level sıra ile gitmesini istiyorum nasıl yaparız

75,80,85,90
 

Ekli dosyalar

Biyolog görevlerine bakıp mantık yürütüp ayni şekilde yapabilirsin. Questin sonuna veya diğer questin başına sorgu koyman lazim örnek veriyorum 85 level görevini almak için 80 level görevini tamamlamak lazim gibisinden. Bununda en güzel örneği biyologlarda mevcut
 
Merhaba dostum, istediğin sıralı görev yapısı oyununa derinlik katacak çok güzel bir fikir. Bunu tek bir quest dosyasında "quest flag" sistemini kullanarak kolayca yapabiliriz. Mantık şu: Bir görevi bitiren oyuncuya bir "işaret" vereceğiz ve sonraki görevin başında bu işareti kontrol edeceğiz.

İşte senin görevlerin için hazırlanmış bir taslak. Bu yapıyı kendi görevine uyarlayabilirsin:

[CODE title="Lua"]quest sirali_gorev_zinciri begin
state start begin
-- --- GÖREV 1: SEVİYE 75 ---
-- Oyuncu 75. seviyeye ulaştığında VE henüz 75 görevini yapmadıysa...
when login or levelup with pc.get_level() >= 75 and pc.getqf("gorev_zinciri_75") == 0 begin
quest.set_state("gorev_75_baslangic")
end

-- --- GÖREV 2: SEVİYE 80 ---
-- Oyuncu 80. seviyeye ulaştığında, 75. görevi bitirdiğinde VE henüz 80 görevini yapmadıysa...
when login or levelup with pc.get_level() >= 80 and pc.getqf("gorev_zinciri_75") == 1 and pc.getqf("gorev_zinciri_80") == 0 begin
quest.set_state("gorev_80_baslangic")
end

-- --- GÖREV 3: SEVİYE 85 ---
when login or levelup with pc.get_level() >= 85 and pc.getqf("gorev_zinciri_80") == 1 and pc.getqf("gorev_zinciri_85") == 0 begin
quest.set_state("gorev_85_baslangic")
end

-- --- GÖREV 4: SEVİYE 90 ---
when login or levelup with pc.get_level() >= 90 and pc.getqf("gorev_zinciri_85") == 1 and pc.getqf("gorev_zinciri_90") == 0 begin
quest.set_state("gorev_90_baslangic")
end
end

-- --- GÖREVLERİN İŞLEYİŞİ VE TAMAMLANMASI ---

-- 75. Seviye Görevi
state gorev_75_baslangic begin
when -- [BURAYA GÖREVİN BİTME ŞARTI GELECEK, örneğin NPC ile konuşma veya canavar kesme] -- begin
say_title("Görev Tamamlandı!")
say("Tebrikler, ilk görevi başarıyla bitirdin.")
-- Ödülleri burada ver...

-- ANAHTAR KISIM: 75. görevin bittiğine dair "işareti" (flag) oyuncuya veriyoruz.
pc.setqf("gorev_zinciri_75", 1)

quest.done() -- Görevi pencereden kaldır.
quest.set_state("start") -- Kontrol döngüsüne geri dön.
end
end

-- 80. Seviye Görevi
state gorev_80_baslangic begin
when -- [80. seviye görevinin bitme şartı] -- begin
-- Ödülleri ver...
-- ANAHTAR KISIM: 80. görevin bittiğine dair işareti ver.
pc.setqf("gorev_zinciri_80", 1)
quest.done()
quest.set_state("start")
end
end

-- (Buraya 85 ve 90 için de benzer 'state' blokları eklenecek)

end[/CODE]

Özetle:
  1. Her görevin başlama şartına bir önceki görevin bitmiş olma kontrolünü (pc.getqf("önceki_görev_adı") == 1) ekle.
  2. Her görevin sonuna da o görevin bittiğini belirten işareti (pc.setqf("bu_görevin_adı", 1)) koy.
Bu yapı ile görevlerin tam istediğin gibi sırayla ve sorunsuz bir şekilde çalışacaktır.
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst