Çözüldü Statü Sıfırlama Kağıdına Süre Koymak

  • Konuyu açan Konuyu açan adv1453
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 2
  • Gösterim Gösterim 755
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ı.

adv1453

Yardımsever Üye
Yardımsever Üye
MT Üye
Mesaj
442
Çözümler
42
Beğeni
221
Puan
869
Ticaret Puanı
0
Statü sıfırlama kağıdına süre nasıl ekleyebilirim? mesela 2 saatte 1 kere statü sıfırlayabilecek. Şuan da server'de sürekli statü sıfırlayarak hp bugu yapılıyor bunun önüne geçmek için böyle bir şey istiyorum :) normal de maks 28k olan can bu bug sayesin de 30 31k ya kadar yükseliyor.

statü sıfırlama kağıdı kodu böyle;

Python:
Genişlet Daralt Kopyala
                when 71002.use begin
                        ---                                                   l
                        say_title("Statü Sıfırlama Kağıdı: ")
                        say("")
                        say("Bu kağıt her şeyi unutmayı mümkün kılıyor.")
                        say("Bu senin tüm statü puanlarını sıfırlayacak.")
                        say("Geri dönüşü mümkün değil. ")
                        say("")
                        say("Kullanmak istiyor musun?")
                        say("")

                        local s = select("Evet", "Hayır")
                        if 2 == s then
                                return
                        end

                        say_title("Statünü Sıfırla Onay:")
                        say("")
                        say("Tüm statü puanların sıfırlanacak ve ")
                        say("baştan başlayacaksın. ")
                        say("")
                        say("Statü sıfırlama işlemini onaylıyor musun?")
                        say("")

                        local c = select("Onaylıyorum", "Sıfırlamayı iptal et")
                        if 2 == c then
                                return
                        end

                        char_log(0, "RESET_ALL", "USE_ITEM(71002)")
                        pc.remove_item(71002)

                        char_log(0, "RESET_ALL", "RESET_STAT_POINTS")
                        pc.reset_point()

                        --char_log(0, "RESET_ALL", "RESET_SKILL_POINTS")
                        --pc.clear_skill()
                        --pc.set_skill_group(0)
                        char_log(0, "RESET_ALL", "RESET_END")
                end
 
Çözüm
Aradan çok zaman geçmiş fakat yinede arayan birileri olursa diye queste bu şekilde zaman kısıtlaması koyabilirsiniz.

stat_sifir.lua:
Genişlet Daralt Kopyala
quest test_quest begin
    state start begin
        when 71002.use begin
            local last_use_time = pc.getqf("last_use_time") or 0
            local current_time = os.time()
            local cooldown_duration = 7200  -- 2 saatlik cooldown (saniye cinsinden)

            if current_time - last_use_time < cooldown_duration then
                say("Bu itemi şu anda kullanamazsın.")
                return
            end

            say_title("Statü Sıfırlama Kağıdı:")
            say("")
            say("Bu kağıt her şeyi unutmayı mümkün kılıyor.")
            say("Bu senin tüm statü puanlarını sıfırlayacak.")...
O aslında bug değil. Normal bir şey. Oyunda yeni karakter oluşturun ve statülerin belli oranda değiştiğini görebilirsiniz. Biyolog görevlerinden yola çıkarak süre ekleyebilirsiniz
 
Aradan çok zaman geçmiş fakat yinede arayan birileri olursa diye queste bu şekilde zaman kısıtlaması koyabilirsiniz.

stat_sifir.lua:
Genişlet Daralt Kopyala
quest test_quest begin
    state start begin
        when 71002.use begin
            local last_use_time = pc.getqf("last_use_time") or 0
            local current_time = os.time()
            local cooldown_duration = 7200  -- 2 saatlik cooldown (saniye cinsinden)

            if current_time - last_use_time < cooldown_duration then
                say("Bu itemi şu anda kullanamazsın.")
                return
            end

            say_title("Statü Sıfırlama Kağıdı:")
            say("")
            say("Bu kağıt her şeyi unutmayı mümkün kılıyor.")
            say("Bu senin tüm statü puanlarını sıfırlayacak.")
            say("Geri dönüşü mümkün değil.")
            say("")
            say("Kullanmak istiyor musun?")
            say("")

            local choice = select("Evet", "Hayır")
            if choice == 2 then
                return
            end

            say_title("Statünü Sıfırla Onay:")
            say("")
            say("Tüm statü puanların sıfırlanacak ve")
            say("baştan başlayacaksın.")
            say("")
            say("Statü sıfırlama işlemini onaylıyor musun?")
            say("")

            local confirm = select("Onaylıyorum", "Sıfırlamayı iptal et")
            if confirm == 2 then
                return
            end

            -- İtem kullanımı başarılı, zamanı kaydet
            pc.setqf("last_use_time", current_time)

            char_log(0, "RESET_ALL", "USE_ITEM(71002)")
            pc.remove_item(71002)

            char_log(0, "RESET_ALL", "RESET_STAT_POINTS")
            pc.reset_point()

            char_log(0, "RESET_ALL", "RESET_END")
        end
    end
end
 
Çözüm
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Üst