Yardım Beygir Sorunu

Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

beqkral

MT Üye
MT Üye
Mesaj
192
Çözümler
14
Beğeni
49
Puan
464
Ticaret Puanı
0
SYSERR: Apr 17 00:56:22 :: RunState: LUA_ERROR: [string "horse_summon"]:19: attempt to call field `get_horse_summon_prob_pct' (a nil value)
SYSERR: Apr 17 00:56:22 :: WriteRunningStateToSyserr: LUA_ERROR: quest horse_summon.start click

at çağırma kitabı ile at çağırdığımda hiçbir tepki vermiyor syserra bu hata düşüyor çözemedim bir türlü örnek veriyorum 1.seviye atım var at resmine tıklayınca hiçbir şey açılmıyor direk syserra düşüyor asker at kitabına sağ tıkladığımda ise acemi asker çağırma resmine ihtiyacın var diyor.

quest :
horse_summon:
quest horse_summon begin
        state start begin

function get_horse_summon_prob_pct()
        local skill_level=pc.get_skill_level(131)
        if skill_level==1 then
                return 15
        elseif skill_level==2 then
                return 20
        elseif skill_level==3 then
                return 30
        elseif skill_level==4 then
                return 40
        elseif skill_level==5 then
                return 50
        elseif skill_level==6 then
                return 60
        elseif skill_level==7 then
                return 70
        elseif skill_level==8 then
                return 80
        elseif skill_level==9 then
                return 90
        elseif skill_level>=10 then
                return 100
        end
        return 10
end


                when 20349.chat."Yeni Binici Resmi" with horse.get_grade()==1 and pc.countitem("50051")<1 begin
                        say_title("Seyis:")
                        say("")
                        ----"12345678901234567890123456789012345678901234567890"|
                        say("Binici resmini kaybettin.")
                        say("Bana 10.000 Yang verirsen sana ")
                        say("yenisini verebilirim.")
                        say("")
                        local b=select("OK", "Alma")
                        if 1==b then
                                if pc.money>=10000 then
                                        pc.changemoney(-10000)
                                        say_title("Seyis:")
                                        say("")
                                        ----"12345678901234567890123456789012345678901234567890"|
                                        say("Bu yeni binici resmin.")
                                        say("Tekrar kaybetme!")
                                        pc.give_item2("50051", 1)
                                else
                                        say_title("Seyis:")
                                        say("")
                                        ----"12345678901234567890123456789012345678901234567890"|
                                        say("Yeterli Yang'in yok.")
                                        say("")
                                end
                        elseif 2==b then
                        else
                                say("UNBEKANNTE TASTE ["..b.."]")
                        end
                end
                when 20349.chat."Yeni Zırhlı At Kitabı " with horse.get_grade()==2 and pc.countitem("50052")<1 begin
                        say_title("Seyis:")
                        say("")
                        ----"12345678901234567890123456789012345678901234567890"|
                        say("Zırhlı At Kitabını kaybettin!")
                        say("50.000 Yang'a sana yenisini ")
                        say("verebilirim.")
                        say("")
                        local b=select("Kabul", "Vazgeç ")
                        if 1==b then
                                if pc.money>=50000 then
                                        pc.changemoney(-50000)
                                        say_title("Ahır Görevlisi:")
                                        say("")
                                        -----------"12345678901234567890123456789012345678901234567890"|
                                        say("Bu Yeni Zırhlı At Kitabın.")
                                        say("Tekrar kaybetme!")
                                        pc.give_item2("50052", 1)
                                else
                                        say("Yeterli Yang'ın yok.")
                                end
                        elseif 2==b then
                        else
                                say("UNBEKANNTE TASTE ["..b.."]")
                        end
                end
                when 20349.chat."Yeni Asker At Kitabı " with horse.get_grade()==3 and pc.countitem("50053")<1 begin
                        say_title("Seyis:")
                        say("")
                        ----"12345678901234567890123456789012345678901234567890"|
                        say("Asker At Kitabını kaybettin!")
                        say("100.000 Yang'a sana yenisini verebilirim.")
                        say("")
                        local b=select("Kabul", "Vazgeç ")
                        if 1==b then
                                if pc.money>=100000 then
                                        pc.changemoney(-100000)
                                        say_title("Bilgi:")
                                        say("")
                                        ----"12345678901234567890123456789012345678901234567890"|
                                        say("Bu yeni Asker At Kitabın.")
                                        say("Onu yine kaybetme!")
                                        say("")
                                        pc.give_item2("50053", 1)
                                else
                                        say_title("Seyis:")
                                        say("")
                                        ----"12345678901234567890123456789012345678901234567890"|
                                        say("Yeterli Yang'ın yok.")
                                end
                        elseif 2==b then
                        else
                                say("UNBEKANNTE TASTE ["..b.."]")
                        end
                end
                when 50051.use with horse.get_grade()==0 begin
                        say_title("Bilgi:")
                        say("")
                        ----"12345678901234567890123456789012345678901234567890"|
                        say("Acemi at çağırmak için;")
                        say("önce acemi at görevini yapman gerek.")
                end
                when 50051.use with horse.get_grade()==1 begin
                    if pc.get_map_index() == 113 then
                                say_title("Bilgi:")
                                    say("")
                                    say_reward("O-X yarışmasında bulunduğun sırada")
                                    say_reward("atını çağıramazsın.")
                                    say("")
                        else
                        if pc.getsp()>=100 then
                                if number(1, 100)<=horse_summon.get_horse_summon_prob_pct() then
                                        say_title("Bilgi:")
                                        say("")
                                        say("Acemi at çağrıldı.")
                                        say("")
                                        horse.summon()
                                else
                                        say_title("Bilgi:")
                                        say("")
                                        -----------"12345678901234567890123456789012345678901234567890"|
                                        say_reward("Acemi atı çağıramadın.")
                                        say_reward("sansini artirmak için, at çagirma ")
                                        say_reward("yeteneklerini ")
                                        say_reward("calisarak ögrene bilirsin.")
                                        say("")
                                end
                                pc.change_sp(-100)
                        else
                                say_title("Bilgi:")
                                say("")
                                -----------"12345678901234567890123456789012345678901234567890"|
                                say_reward("Kendi zihin Gücün atı ")
                                say_reward("çagirmak için yeterli degil,")
                                say_reward("Zihin Gücünün 100 olmasi lazim.")
                                say("")
                        end
                end
            end
                when 50051.use with horse.get_grade()==2 begin
                        say_title("Bilgi:")
                        say("")
                        -----------"12345678901234567890123456789012345678901234567890"|
                        say_reward("Ortanca seviyedeki atı çağırmak için,")
                        say_reward("Zırhlı At Kitabı ")
                        say_reward("lazim.")
                        say("")
                end
                when 50051.use with horse.get_grade()==3 begin
                        say_title("Bilgi:")
                        say("")
                        -----------"12345678901234567890123456789012345678901234567890"|
                        say_reward("İleri seviyedeki atları çağırmak için")
                        say_reward("Asker At Kitabı ")
                        say_reward("lazım.")
                        say("")
                end
                when 50052.use with horse.get_grade()==0 begin
                        say_title("Bilgi:")
                        say("")
                        -----------"12345678901234567890123456789012345678901234567890"|
                        say_reward("Orta seviyedeki atı çağırman için")
                        say_reward("acemi at görevini")
                        say_reward("yapman lazım.")
                        say("")
                end
                when 50052.use with horse.get_grade()==1 begin
                        say_title("Bilgi:")
                        say("")
                        -----------"12345678901234567890123456789012345678901234567890"|
                        say_reward("Acemi atı çağırman için,")
                        say_reward("at resmi lazım.")
                end
                when 50052.use with horse.get_grade()==2 begin
                        if pc.get_map_index() == 113 then
                                say_title("Bilgi:")
                                    say("")
                                    say_reward("O-X yarışmasında bulunduğun sırada")
                                    say_reward("atını çağıramazsın.")
                                    say("")
                        else
                        if pc.getsp()>=200 then
                                if number(1, 100)<=horse_summon.get_horse_summon_prob_pct() then
                        say_title("Bilgi:")
                        say("")
                        -----------"12345678901234567890123456789012345678901234567890"|
                        say_reward("Zırhlı at çagrıldı.")
                        say("")
                        horse.summon()
                        else
                        say_title("Bilgi:")
                        say("")
                        -----------"12345678901234567890123456789012345678901234567890"|
                        say_reward("Orta seviyedeki at ")
                        say_reward("çagrılamadı.")
                        say_reward("şansını artırmak için, at çağırma ")
                        say_reward("yeteneklerini")
                        say_reward("çalışarak geliştirebilirsin.")
                        say("")
                                end
                                pc.change_sp(-200)
                        else
                        say_title("Bilgi:")
                        say("")
                        -----------"12345678901234567890123456789012345678901234567890"|
                        say_reward("Zihin gücün yeterli değil.")
                        say_reward("Orta seviyedeki atı çağırman ")
                        say_reward("için Zihin gücünün")
                        say_reward("200 olması lazım.")
                        say("")
                        end
                end
            end
                when 50052.use with horse.get_grade()==3 begin
                        say_title("Bilgi:")
                        say("")
                        -----------"12345678901234567890123456789012345678901234567890"|
                        say_reward("Asker atı çağırman için")
                        say_reward("sana Asker At Kitabı ")
                        say_reward("lazım.")
                        say("")
                end
                when 50053.use with horse.get_grade()==0 begin
                        say_title("Bilgi:")
                        say("")
                        -----------"12345678901234567890123456789012345678901234567890"|
                        say_reward("İleri seviyedeki atı çağırman için,")
                        say_reward("acemi at görevini")
                        say_reward("yapman lazım.")
                        say("")
                end
                when 50053.use with horse.get_grade()==1 begin
                        say_title("Bilgi:")
                        say("")
                        -----------"12345678901234567890123456789012345678901234567890"|
                        say_reward("Acemi atı çagirman için,")
                        say_reward("At resmi lazim.")
                        say("")
                end
                when 50053.use with horse.get_grade()==2 begin
                        say_title("Bilgi:")
                        say("")
                        -----------"12345678901234567890123456789012345678901234567890"|
                        say_reward("Orta seviyedeki atı çağırman için")
                        say_reward("sana Zırhlı At Kitabı ")
                        say_reward("lazım.")
                        say("")
                end
                when 50053.use with horse.get_grade()==3 begin
                        if pc.get_map_index() == 113 then
                                say_title("Bilgi:")
                                    say("")
                                    say_reward("O-X yarışmasında bulunduğun sırada")
                                    say_reward("atını çağıramazsın.")
                                    say("")
                        else
                        if pc.getsp()>=300 then
                                if number(1, 100)<=horse_summon.get_horse_summon_prob_pct() then
                        say_title("Bilgi:")
                        say("")
                        -----------"12345678901234567890123456789012345678901234567890"|
                        say_reward("Asker at çagrıldı.")
                        say("")
                        horse.summon()
                        else
                        say_title("Bilgi:")
                        say("")
                        -----------"12345678901234567890123456789012345678901234567890"|
                        say_reward("Asker at ")
                        say_reward("çagrılamadı.")
                        say_reward("Şansını artırmak için, at çağırma ")
                        say_reward("yeteneklerini")
                        say_reward("çalışarak geliştirebilirsin.")
                        say("")
                        end
                        pc.change_sp(-300)
                        else
                        say_title("Bilgi:")
                        say("")
                        -----------"12345678901234567890123456789012345678901234567890"|
                        say_reward("Zihin gücün")
                        say_reward("ileri seviyede at çağırmak ")
                        say_reward("için yeterli değil, Zihin gücün 300 olması lazım.")
                        say("")
                        end
                end
        end
    end
        state __COMPLETE__ begin
                when enter begin
                        q.done()
                end
        end
end
 
Bu sorunun sebebi at çağırmayı belli bir orana ve şansa bağlaması. get_horse_summon_prob_pct fonksiyonunu quest üzerinden kaldırılarak atın çağrılmasını %100 yapıp sorunu çözebilirsiniz. Dediğim işlemi yaparsanız şayet at çağırmanız yani 131 numaralı skiliniz 0 dahi olsa at çağıracaktır. Bunla alakalı elimde quest mevcut fakat görevdeyim. Şayet yapamazsanız özel mesaj attığınızda eve geçtikten sonra konuya eklerim.
Bu files martysama v4.9'un felix yazılım tarafından uyarlanmış hali ise zamanınızı heba etmenizi önermem.
 
Geri
Üst