romegames 1
romegames
Krutzo 1
Krutzo
shrpnl 1
shrpnl
Best Studio 1
Best Studio
D 1
delimuratt
Aliyldrim 1
Aliyldrim
Mt2Hizmet 1
Mt2Hizmet
noisiv 1
noisiv
Manwe Work 1
Manwe Work
melankolıa18 1
melankolıa18
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

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 98

odinogluthorr

Level 4
TM Üye
Üye
Katılım
27 Şub 2024
Konular
108
Mesajlar
324
Çözüm
16
Online süresi
4mo 9d
Reaksiyon Skoru
53
Altın Konu
0
TM Yaşı
2 Yıl 3 Ay 8 Gün
Başarım Puanı
101
MmoLira
7,913
DevLira
12
Ticaret - 0%
0   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ 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