Yardım Buga giren quest

  • Konuyu açan Konuyu açan ales
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 5
  • Gösterim Gösterim 546
Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

ales

Üye
Üye
Mesaj
37
Beğeni
13
Puan
26
Ticaret Puanı
0
Merhaba bir dostum bana sağ tıklayınca karaktere bonus veren pot gibi bir quest yazdı ancak şöyle bir durum oluyor 30 dakika sonra gitmesi gereken bonuslar gitmiyor taa ki ikinci potu içip karakter atana kadar eğer karakter atılmassa bu sefer ikinci potun bonusları ile ilkinin bonusları 2x oluyor nasıl düzeltilebilir acaba yada düzeltilebilir mi ?
quest:
Genişlet Daralt Kopyala
quest pot_icirir begin
    state start begin
        when 27086.use begin
-------------------------------------------------------------------------------------------
            say_title(" Oyuncu Yüzüğü: ")
            if pc.is_busy() == true then
            syschat("Açık pencereleri kapatmadan bu eşyayı kullanamazsınız!")
    return
end
-------------------------------------------------------------------------------------------
            if pc.getqf("pot_ictinya_ameke") < get_time() then
                affect.add_collect(63,100,60*30) -- canavar
                affect.add_collect(72,25,60*30) -- ortalama zarar
                affect.add_collect(15,25,60*30) -- kritik
                affect.add_collect(16,25,60*30) -- delici
                pc.setqf("pot_ictinya_ameke", get_time()+60*30)
                item.remove()
            else
                local t = (pc.getqf("pot_ictinya_ameke") - get_global_time())
                local t_r = math.mod (t, 60)
                local t_m = (t - t_r) / 60
                syschat("Bu özellik zaten aktif ! Tekrar kullanabilmek için "..t_m.." dakika beklemelisin.")
            end
        end
    end
end
 
Son düzenleme:
ilk başta if getf ile çektiğin fonskiyon aşşağıda tanımlı, üstte setlenmemiş bir fonksiyonu çekiyorsun sonra aşşağıda setliyorsun sorun bundan kaynaklı olabilir.
 
Oyundan çıkmadan timer fonksiyonunu kullanarak zamanı geldiğinde effectlerin hepsinin silinmesini sağlayabiliriz. Ama bu çok oyunculu serverda biraz sıkıntı yaratabilir. Timer kullanma taraftarı değilim. Bunun yerine açılır kapanır bir pot kullanmak aklıma geldi. Ben buraya bırakıyorum dilerseniz bunu kullanabilirsiniz. Yukarıdaki sorun vakit geldiğinde effectlerin yeniden login olmadan silinmemesi game taraflı bir sorun diye düşünüyorum.

Açılır-kapanır pot:
Genişlet Daralt Kopyala
quest pot_icirir begin
    state start begin
        when 27086.use begin
            say_title(" Oyuncu Yüzüğü: ")
            if pc.is_busy() == true then
                syschat("Açık pencereleri kapatmadan bu eşyayı kullanamazsınız!")
                return
            end
           
            if pc.getqf("acik") == 1 then
                affect.add_collect(apply.ATTBONUS_MONSTER,100,60*60*24*365*60) -- canavar
                affect.add_collect(apply.NORMAL_HIT_DAMAGE_BONUS,25,60*60*24*365*60) -- ortalama zarar
                affect.add_collect(apply.CRITICAL_PCT,25,60*60*24*365*60) -- kritik
                affect.add_collect(apply.PENETRATE_PCT,25,60*60*24*365*60) -- delici
                pc.setqf("acik", 1)
                syschat("<Uyarı> Pot açıldı.")
            elseif pc.getqf("acik") == 0 then
                affect.remove_collect(apply.ATTBONUS_MONSTER,100,0) -- canavar
                affect.remove_collect(apply.NORMAL_HIT_DAMAGE_BONUS,25,0) -- ortalama zarar
                affect.remove_collect(apply.CRITICAL_PCT,25,0) -- kritik
                affect.remove_collect(apply.PENETRATE_PCT,25,0) -- delici
                pc.setqf("acik",0)
                syschat("<Uyarı> Pot kapatıldı.")
            end
           
        end
    end
end
 
Oyundan çıkmadan timer fonksiyonunu kullanarak zamanı geldiğinde effectlerin hepsinin silinmesini sağlayabiliriz. Ama bu çok oyunculu serverda biraz sıkıntı yaratabilir. Timer kullanma taraftarı değilim. Bunun yerine açılır kapanır bir pot kullanmak aklıma geldi. Ben buraya bırakıyorum dilerseniz bunu kullanabilirsiniz. Yukarıdaki sorun vakit geldiğinde effectlerin yeniden login olmadan silinmemesi game taraflı bir sorun diye düşünüyorum.

Açılır-kapanır pot:
Genişlet Daralt Kopyala
quest pot_icirir begin
    state start begin
        when 27086.use begin
            say_title(" Oyuncu Yüzüğü: ")
            if pc.is_busy() == true then
                syschat("Açık pencereleri kapatmadan bu eşyayı kullanamazsınız!")
                return
            end
           
            if pc.getqf("acik") == 1 then
                affect.add_collect(apply.ATTBONUS_MONSTER,100,60*60*24*365*60) -- canavar
                affect.add_collect(apply.NORMAL_HIT_DAMAGE_BONUS,25,60*60*24*365*60) -- ortalama zarar
                affect.add_collect(apply.CRITICAL_PCT,25,60*60*24*365*60) -- kritik
                affect.add_collect(apply.PENETRATE_PCT,25,60*60*24*365*60) -- delici
                pc.setqf("acik", 1)
                syschat("<Uyarı> Pot açıldı.")
            elseif pc.getqf("acik") == 0 then
                affect.remove_collect(apply.ATTBONUS_MONSTER,100,0) -- canavar
                affect.remove_collect(apply.NORMAL_HIT_DAMAGE_BONUS,25,0) -- ortalama zarar
                affect.remove_collect(apply.CRITICAL_PCT,25,0) -- kritik
                affect.remove_collect(apply.PENETRATE_PCT,25,0) -- delici
                pc.setqf("acik",0)
                syschat("<Uyarı> Pot kapatıldı.")
            end
           
        end
    end
end
Teşekkür ederim ancak sanırım bir sorun var çünkü karaktere her hangi bir bonus eklenmiyor
 
Geri
Üst