Çözüldü Quest Syserr?

  • Konuyu açan Konuyu açan melihalbayrak
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 9
  • Gösterim Gösterim 579
Bu konu çözüme ulaştırılmıştır. Çözüm için konuya yazılan tüm yorumları okumayı unutmayın. Eğer konudaki yorumlar sorununuzu çözmediyse yeni bir konu açabilirsiniz.
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

melihalbayrak

Geliştirici
Geliştirici
Yardımsever Üye
Usta Üye
Mesaj
1.241
Çözümler
81
Beğeni
677
Puan
1.109
Ticaret Puanı
0
Kod:
Genişlet Daralt Kopyala
SYSERR: Apr  6 17:37:15 :: RunState: LUA_ERROR: [string "pricing_lv3"]:1: attempt to call global `pc_has_even_account_id' (a nil value)
SYSERR: Apr  6 17:37:15 :: WriteRunningStateToSyserr: LUA_ERROR: quest pricing_lv3.start click
SYSERR: Apr  6 17:37:15 :: RunState: LUA_ERROR: [string "pricing_lv40"]:1: attempt to call global `pc_has_even_account_id' (a nil value)
SYSERR: Apr  6 17:37:15 :: WriteRunningStateToSyserr: LUA_ERROR: quest pricing_lv40.start click

Lua (Quest):
Genişlet Daralt Kopyala
quest pricing_lv3 begin
    state start begin
        when login or levelup with pc.get_level() >= 3  begin -- Quest for level 3
            if pc_has_even_account_id() and pc.get_level() <= 10 then
                pc.setqf("sendmail", 100)
                set_state("mailorder")
            else
                set_state(__COMPLETE__)
            end
        end
    end
  
    state mailorder begin
        when login or enter begin
            if pc.getqf("sendmail") != 200 then
                send_letter(gameforge.pricing_lv3._10_send_letter)
            else
                set_state(__COMPLETE__)
            end
        end
        when button or info begin
            pc.setqf("sendmail", 200)
            say_title(gameforge.pricing_lv3._20_say_title)
            say(gameforge.pricing_lv3._30_say)
        wait()
            say(gameforge.pricing_lv3._40_say)
            say_reward(gameforge.pricing_lv3._50_say_reward)
        end
    end
    state __COMPLETE__ begin
    end
end

Lua (Quest):
Genişlet Daralt Kopyala
quest pricing_lv40 begin
    state start begin
        when login or levelup with pc.get_level() >= 40  begin -- Quest for level 40
            if pc_has_even_account_id() then
                set_state("mailorder")
            else
                set_state(__COMPLETE__)
            end
        end
    end
  
    state mailorder begin
        when login or enter begin
                send_letter(gameforge.pricing_lv40._10_send_letter)
        end
        when button or info begin
            say_title(gameforge.pricing_lv40._20_say_title)
            say(gameforge.pricing_lv40._30_say)
        wait()
            say(gameforge.pricing_lv40._40_say)
            say_reward(gameforge.pricing_lv40._50_say_reward)
            set_state(__COMPLETE__)
        end
    end
    state __COMPLETE__ begin
    end
end
 
nil value hatası yanlış bilmiyorsam hatalı değere sahip olan ya da değeri hiç olmayan değişkenlerden çıkıyor.

Şurası dikkatimi çekti;
Lua (Quest):
Genişlet Daralt Kopyala
if pc_has_even_account_id() and pc.get_level() <= 10 then

Burada pc.get_level() den sonra şart olarak değer ataması yapılmış(<=10)
Fakat pc_has_even_account_id() için şart olarak herhangi bir değer tanımı yapılmamış. Belki sebebi bu olabilir.
 
nil value hatası yanlış bilmiyorsam hatalı değere sahip olan ya da değeri hiç olmayan değişkenlerden çıkıyor.

Şurası dikkatimi çekti;
Lua (Quest):
Genişlet Daralt Kopyala
if pc_has_even_account_id() and pc.get_level() <= 10 then

Burada pc.get_level() den sonra şart olarak değer ataması yapılmış(<=10)
Fakat pc_has_even_account_id() için şart olarak herhangi bir değer tanımı yapılmamış. Belki sebebi bu olabilir.
Ne yapmam gerekiyor peki? Questlerden zerre anlamıyorum.
 
pc.has_even_account_id() olmasın?

Kaynak kodlarınızda kontrol edebilir misiniz.
 
pc_has_even_account_id() bu kod neyi temsil ediyor onu bilmek gerek önce. Sonrasında ona uygun şekilde karşısına şart için herhangi bir değer girilebilir. "id" dediğine göre integer değer döndürüyor ama neye göre döndürüyor bilemem.
Tıpkı pc.get_level() 'in leveli temsil ettiği ve 10 gibi şart koşulabilmesi gibi.
 
Kaynakda buna dair bir şey yok sorunda bundan kaynaklı diye düşünüyorum. Questi olmadı kaldırırım pek önemli değil gibi zaten.
kaynak kodunda yoksa quest_listte de yoktur. o yüzden okutamıyosundur belkide. önemsizse kaldır ya da ekli olan bildiğin yer varsa tamamla. eray admin haklı.
 
Konu kapatılabilir. Bu pricing_lv questleri gereksiz questlermiş translate.lua dan baktım boş gereksiz questlermiş sildim. Yardımcı olan herkese teşekkürler.
 
Çözüm
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Üst