Çözüldü Başka haritaya ışınlanınca görev sıfırlanıyor !

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ı.

avukat47

Üye
Üye
Mesaj
27
Çözümler
1
Beğeni
14
Puan
655
Ticaret Puanı
0
Merhaba.
Basit bi quest yazmaya calıstım ilk defa. ama başka haritaya ısınlanınca görev sıfırlanıyor.
örn: 20 adet azrail kesmesini istiyorum. 1 adet kestikten sonra ısınlanma ve karakter atma durumunda tekrar 20 adet oluyor.
Lua (Quest):
quest gorev4 begin
    state start begin
        when login with pc.level >= 75 begin
            set_state(information)
        end
    end

    state information begin
        when letter begin
            send_letter("Azrailin Laneti")
        end

        when info or button begin
            say_title("Azrailin Laneti")
            say("bla bla!")
            say("bla bla.....,")
            say("bla bla.. ?")
            say_reward("bla bla")
            say("")
            pc.setqf("state", 20)
            q.set_counter("Azrail", 20)
        end

        when 1093.kill begin
            local count = pc.getqf("state") - 1
            if count <= 20 then
                pc.setqf("state", count)
                q.set_counter("Azrail", count)
            end
            if count == 0 then
                say_title("Azrailin Laneti - Tamamlandi!")
                say("")
                say("Gorev tamam!")
                say("bla bla...")
                say("bla bla.. ")
                say("")
                say_reward("Odullerin:")
                say_reward("Ejderha tanri tilsimi")
                say_reward("Cor Draconis")
                say_reward("25000000 Yang Kazandin")
                pc.change_money(25000000)
                pc.give_item2(30180, 1)
                pc.give_item2(50255, 10)
                clear_letter()
                set_state(__COMPLETE__)

            end
        end
    end

    state __COMPLETE__ begin
    end
end

Ekstra bi sorum daha var : şuanki sunucunun filesini
  1. Linkleri görebilmek için giriş yap veya kayıt ol.
    /usr
  2. tar czvf gameyedek.tar.gz game : bu sekılde yedek aldım (game) yedeği sadece baska bı sunucuda bunu kullanmam için başka bi işlem yapmama gerek varmıdır?
 
Son düzenleme:
Çözüm
button ve info kısmında miktarı sıfırlamışsınız. Yani adam göreve tıkladığında tekrardan 20 tane kesmesini isteyecek.
Bunu engellemek için questi şu şekilde değiştirin. Yada oyundaki diğer görevlere bakın. Onlar nasıl yapmış ona göre sizde görevleri yazın. ;)
Lua (Quest):
quest gorev4 begin
    state start begin
        when login with pc.level >= 75 begin
            set_state(information)
        end
    end
    state information begin
        when letter begin
            send_letter("Azrailin Laneti")
        end
        when info or button begin
            say_title("Azrailin Laneti")
            say("bla bla!")
            say("bla bla.....,")
            say("bla bla.. ?")
            say_reward("bla bla")
            say("")...
button ve info kısmında miktarı sıfırlamışsınız. Yani adam göreve tıkladığında tekrardan 20 tane kesmesini isteyecek.
Bunu engellemek için questi şu şekilde değiştirin. Yada oyundaki diğer görevlere bakın. Onlar nasıl yapmış ona göre sizde görevleri yazın. ;)
Lua (Quest):
quest gorev4 begin
    state start begin
        when login with pc.level >= 75 begin
            set_state(information)
        end
    end
    state information begin
        when letter begin
            send_letter("Azrailin Laneti")
        end
        when info or button begin
            say_title("Azrailin Laneti")
            say("bla bla!")
            say("bla bla.....,")
            say("bla bla.. ?")
            say_reward("bla bla")
            say("")
         
            pc.setqf("state", 20)
            q.set_counter("Azrail", 20)
            set_state(azrail_kes)
        end
    end
 
    state azrail_kes begin
        when letter begin
            send_letter("Azrailin Laneti")
        end
        when info or button begin
            say_title("Azrailin Laneti")
            say("bla bla!")
            say("bla bla.....,")
            say("bla bla.. ?")
            say_reward("bla bla")
            say("")
            say_reward(string.format("Şu ana kadar %s azrail kestiniz. ", 20-pc.getqf("state")))
        end
        when 1093.kill begin
            local count = pc.getqf("state") - 1
            if count <= 20 then
                pc.setqf("state", count)
                q.set_counter("Azrail", count)
            end
            if count == 0 then
                say_title("Azrailin Laneti - Tamamlandi!")
                say("")
                say("Gorev tamam!")
                say("bla bla...")
                say("bla bla.. ")
                say("")
                say_reward("Odullerin:")
                say_reward("Ejderha tanri tilsimi")
                say_reward("Cor Draconis")
                say_reward("25000000 Yang Kazandin")
                pc.change_money(25000000)
                pc.give_item2(30180, 1)
                pc.give_item2(50255, 10)
                clear_letter()
                set_state(__COMPLETE__)
            end
        end
    end
    state __COMPLETE__ begin
    end
end

2. Sorunuza gelirsek evet o komut filesin yedeğini alıyor.
 
Çözüm
Cevabınız için teşekkür ederim anladım. Oyunda hiç görev yok kendim eklemeye çalışıyorum. verdiğinizi örnek alıcam.
 
Tamamdır. Görevlerde translate.lua’yı da kullanabilirsiniz. :)
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst