Çözülemedi Yazdığım Av Questi Çalışmıyor

Ne yazık ki bu konuda sorulara çözüm bulunmuyor. Eğer konuda yorumlar varsa hepsini inceleyebilirsiniz. Belki sizlerin sorununuzu çözmek için için ipuçları bulabilirsiniz.
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

CrownOfStone

Üye
Üye
Mesaj
44
Beğeni
5
Puan
46
Ticaret Puanı
0
Küfür içeren kod paylaşımı yapmak yasaktır.
Quest yazmayı öğrenmek için yaşlı kadından aldığımız gümüşçünün intikamı questini tıpatıp kopyalayarak bazı öznel değerlerini değiştirdim. Ancak quest tam anlamı ile düzgün çalışmıyor.

Olay: Dilenciye tıklıyorum, quest için konuşuyorum, olumlu veya olumsuz cevap verebiliyorum. Olumsuz cevap verirsem pencere kapanıyor

Problem: Olumlu cevap verdiğimde kod bloğu bir sonraki aşamaya geçmiyor, hiçbir şey olmadan kapanıyor ve tekrardan dilenciye tıklayıp aynı döngüyü tekrarlayabiliyorum.

Anlayamadığım: Her şey yaşlı kadının questi ile tıpatıp aynı iken, niçin ne sebepten benim questim çalışmıyor.
 

Dosya Eklentileri

  • Quests.rar
    2,9 KB · Gösterim: 8
  • resim_2023-08-06_151826319.png
    resim_2023-08-06_151826319.png
    38,4 KB · Gösterim: 52
Teşekkürler daha iyi hale geldi ancak hala sorunları var
1- Görev sonunda ödülü alamıyorum, verecek gibi ekran geliyor ama vermiyor hiçbir şey
2- Görevde bug var, 5 tane canavar öldürmem gerek ancak 2 tane kesip sol taraftan letter'a bastığımda görevi tamamlamış gibi npc ye yönlendiriyor
3- İşin sonunda 'I got the job done' kısmı döngüye giriyor hiçbir zaman npc eski haline dönmüyor, yani özetle quest tamamlanınca npc'den kaldırılmıyor.

Son olarak az önceki halinden daha iyi olmasının sebebi benim bazı yerlerdeki boşlukları ve satır araları gibi yerleri yanlış koymam mıydı, onları mı düzelttiniz de daha iyi hale geldi?
 

Dosya Eklentileri

  • beggars_wish.rar
    1,1 KB · Gösterim: 3
Teşekkürler daha iyi hale geldi ancak hala sorunları var
1- Görev sonunda ödülü alamıyorum, verecek gibi ekran geliyor ama vermiyor hiçbir şey
2- Görevde bug var, 5 tane canavar öldürmem gerek ancak 2 tane kesip sol taraftan letter'a bastığımda görevi tamamlamış gibi npc ye yönlendiriyor
3- İşin sonunda 'I got the job done' kısmı döngüye giriyor hiçbir zaman npc eski haline dönmüyor, yani özetle quest tamamlanınca npc'den kaldırılmıyor.

Son olarak az önceki halinden daha iyi olmasının sebebi benim bazı yerlerdeki boşlukları ve satır araları gibi yerleri yanlış koymam mıydı, onları mı düzelttiniz de daha iyi hale geldi?
Aslına bakacak olursanız bir şey yaptığımı düşünmüyorum. Yapay zekaya olayı, olaya sebep olan problemi detaylı ve net şekilde izah ederek açıkladım. Buna karşılık olarak düzeltilmiş bir kod çıktısı aldım hepsi bu. :giggle:
 
Biraz inceledim ve gözüme çapran şeyler şunlar oldu, şuan local olarak bir metin2 sunucusuna sahip değilim o yüzden deneyemiyorum fakat,

Questin sonunda ödül vermemesinin sebebi büyük ihtimalle set_state(__COMPLETE__) komutunu give_item fonksiyonundan önce yazmanız. Önce give_item fonksiyonu daha sonra set_state(__COMPLETE__) yazılmalı.

İkinci sorunu çok emin olmamakla birlikte iki kere when letter bloğu olduğu için olduğunu düşünüyorum. Zaten ikinci kullanılan letter'da beggars_wish.get_rest_count() kullanılmış, ilk letteri yani
Lua (Quest):
        when letter begin
            q.set_counter("Kalan Deli", beggars_wish.get_rest_count())
        end

Bu kısmı kaldırmayı deneyin.

Üçüncü sorun için ise, when 20004.chat kısmında. Önce karakterin daha önce bu questi yapıp yapmadığını sorgulamalısın. Eğer __COMPLETE__ ise return, değil ise geriye kalan kodlar şeklinde yapabilirsin.

Edit: bir ihtimal give_item fonksiyonunu __COMPLETE__ olduğunda vermek denenebilir.
 
Biraz inceledim ve gözüme çapran şeyler şunlar oldu, şuan local olarak bir metin2 sunucusuna sahip değilim o yüzden deneyemiyorum fakat,

Questin sonunda ödül vermemesinin sebebi büyük ihtimalle set_state(__COMPLETE__) komutunu give_item fonksiyonundan önce yazmanız. Önce give_item fonksiyonu daha sonra set_state(__COMPLETE__) yazılmalı.

İkinci sorunu çok emin olmamakla birlikte iki kere when letter bloğu olduğu için olduğunu düşünüyorum. Zaten ikinci kullanılan letter'da beggars_wish.get_rest_count() kullanılmış, ilk letteri yani
Lua (Quest):
        when letter begin
            q.set_counter("Kalan Deli", beggars_wish.get_rest_count())
        end

Bu kısmı kaldırmayı deneyin.

Üçüncü sorun için ise, when 20004.chat kısmında. Önce karakterin daha önce bu questi yapıp yapmadığını sorgulamalısın. Eğer __COMPLETE__ ise return, değil ise geriye kalan kodlar şeklinde yapabilirsin.

Edit: bir ihtimal give_item fonksiyonunu __COMPLETE__ olduğunda vermek denenebilir.
halihazırda önce give item fonksiyonu akabinde complete yazıyordu. Dediğiniz satırı kaldırdım ancak hala görev bug içerisinde.
1- Hala ödül alamıyorum
2- Görevi bitirmek için 5 adet uşak kesmeme gerek yok görevler sekmesindeki letter'a tıklıyorum ve görev bitirilmiş oluyor (görevi alır almaz değil, görevi alıyorum sonra npc ye gidiyorum, npc bana naptın hallettin mi diyor , ben de evet halledeceğim caymadım diyorum , sonra letter'a basınca görev bitmiş oluyor.)
 

Dosya Eklentileri

  • (2)beggars_wish.rar
    1,1 KB · Gösterim: 2
Forumda içerisinde küfür içeren kod paylaşımı yapılamaz. Bu yüzden bu konu kapatılmıştır ve konu sahibine uyarı verilmiştir.
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst