Çözüldü Biyolog Görevinin Verdiği Statüler Siliniyor

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

enesaydemir

Üye
Üye
Mesaj
149
Çözümler
4
Beğeni
50
Puan
464
Ticaret Puanı
0
Hocalarım merhaba şu sıralar çok konu açıyorum biliyorum ama sürekli bir sıkıntı oluyor.

Biyolog görevinde sıfırdan çar açıp yapınca normal vermesi gereken 160 str'yi alıyorum. Ancak karakter atınca 50 str kayboluyor. Ben baya inceledim ama göremedim mi bilmiyorum siz bakıp yardımcı olur musunuz.
Lua (Quest):
quest tektik begin
    state start begin
        when login begin
        setstate(basla)
        end
    end
    state basla begin
        when 20084.chat."Biyolog Gorevleri ( TEK TIK )" begin
            say ( " Merhaba, " )
            say_reward ( " Saldırı Değeri +50 (Kalıcı) " )
            say_reward ( " +10% Diğer Oyunculara Karşı Güç (Kalıcı)" )
            say_reward ( " Hareket Hızı +10% , +500 HP (Kalıcı)" )
            say_reward ( " Saldırı Hızı +15% (Kalıcı) " )
            say_reward ( " +10% Diğer Oyunculara Karşı Savunma (Kalıcı) " )
            say_reward ( " Savunma +60 (Kalıcı) " )
            say_reward ( " Saldırı Hızı +5%(Kalıcı) " )
            say_reward ( " Hareket Hızı +10% (Kalıcı) " )
            say ( " Özelliklerini kazandınız!" )
            wait ( )
            say_title("Epic")
            affect.add_collect(apply.ATT_BONUS_TO_WARRIOR,10,60*60*24*365*60)
            affect.add_collect(apply.ATT_BONUS_TO_ASSASSIN,10,60*60*24*365*60)
            affect.add_collect(apply.ATT_BONUS_TO_SURA,10,60*60*24*365*60)
            affect.add_collect(apply.ATT_BONUS_TO_SHAMAN,10,60*60*24*365*60)
            affect.add_collect(apply.ATT_SPEED,5,60*60*24*365*60)
            affect.add_collect(apply.ATT_SPEED,15,60*60*24*365*60)
            affect.add_collect(apply.MAX_HP,500,60*60*24*365*60)
            affect.add_collect(apply.MOV_SPEED,10,60*60*24*365*60)
            affect.add_collect(apply.MOV_SPEED, 10, 60*60*24*365*60)
            affect.add_collect(apply.DEF_GRADE_BONUS,60,60*60*24*365*60)
            affect.add_collect(apply.ATT_GRADE_BONUS,50,60*60*24*365*60)
            affect.add_collect(apply.RESIST_WARRIOR,10,60*60*24*365*60)
            affect.add_collect(apply.RESIST_ASSASSIN,10,60*60*24*365*60)
            affect.add_collect(apply.RESIST_SURA,10,60*60*24*365*60)
            affect.add_collect(apply.RESIST_SHAMAN,10,60*60*24*365*60)
            say("Tüm özellikleri başarı ile aldın!")
            say("Diğer özellikle için Seon-Pyeong(Epic-Sura) ile görüşebilirsin.")
            say_reward ( "İyi oyunlar dileriz." )
            pc.setf("biyolog","isOk",1)
            setstate(epic)
        end
    end  
    state epic begin
        when 20091.chat."92. Level Epic Gorevi" begin
            say_title ( " 92.Lv Epic; " )
            say_reward ( " İtemsiz, Karakter Atmadan! " )
            say ( " Merhaba, " )
            say_reward ( " Epic Görevlerini Yaptığın İçin. " )
            say_reward ( " Birini Sectikten Sonra Diger Gorev İcin Tekrar Ugra " )
            say_reward ( " Bu Ödüllerden Birini Seçmen Gerek; " )
            say ( " İyi oyunlar dileriz." )
            local s = select ( " +1000 HP " , " Savunma Değeri +120 " , " Saldırı Değeri +50 " )
            if s == 1 then
            affect.add_collect(apply.MAX_HP,1000,60*60*24*365*60)
            setstate(gec2)
            elseif s == 2 then
            affect.add_collect(apply.DEF_GRADE_BONUS,120,60*60*24*365*60)
            setstate(gec2)
            elseif s == 3 then
            affect.add_collect(apply.ATT_GRADE_BONUS,50,60*60*24*365*60)
            setstate(gec2)
            end
        end
    end
    state gec2 begin
        when 20091.chat."94. Level Epic Gorevi" begin
            say_title ( " 94.Lv Epic; " )
            say_reward ( " İtemsiz, Karakter Atmadan! " )
            say ( " Merhaba, " )
            say_reward ( " Epic Görevlerini Yaptığın İçin. " )
            say_reward ( " Bu Ödüllerden Birini Seçmen Gerek; " )
            say ( " İyi oyunlar dileriz." )
            local s = select ( " +2000 HP " , " Savunma Değeri +140 " , " Saldırı Değeri +60 " )
            if s == 1 then
            affect.add_collect(apply.MAX_HP,2000,60*60*24*365*60)
            setstate(COMPLETE)
            elseif s == 2 then
            affect.add_collect(apply.DEF_GRADE_BONUS,140,60*60*24*365*60)
            setstate(COMPLETE)
            elseif s == 3 then
            affect.add_collect(apply.ATT_GRADE_BONUS,60,60*60*24*365*60)
            setstate(COMPLETE)
            end
        end
    end
    state COMPLETE begin
        when login or logout begin
            set_quest_state("clear_biyalog","run")
        end
    end
end
 
Çözüm
state gec2 begin
when 20091.chat."94. Level Epic Gorevi" begin
say_title ( " 94.Lv Epic; " )
say_reward ( " İtemsiz, Karakter Atmadan! " )
say ( " Merhaba, " )
say_reward ( " Epic Görevlerini Yaptığın İçin. " )
say_reward ( " Bu Ödüllerden Birini Seçmen Gerek; " )
say ( " İyi oyunlar dileriz." )
local s = select ( " +2000 HP " , " Savunma Değeri +140 " , " Saldırı Değeri +60 " )
if s == 1 then
affect.add_collect(apply.MAX_HP,2000,60*60*24*365*60)
setstate(COMPLETE)
elseif s == 2 then
affect.remove_collect(apply.DEF_GRADE_BONUS,120,60*60*24*365*60)...
Normal şartlar altında kaybolmaması gerekiyor. Karaktere tanımlanan efektler player.affect tablosunda kayıtlı olur. Daha önce alınmışsa ve tekrar alındıysa böyle bir durum meydana gelebilir.
 
Yok hocam yeni hesap açıyorum deniyiyorum sıkıntı oluyor. Karakter ya da ışınlanınca normalde vermesi gerek 160 str nin 50 si kayboluyor.
 
state gec2 begin
when 20091.chat."94. Level Epic Gorevi" begin
say_title ( " 94.Lv Epic; " )
say_reward ( " İtemsiz, Karakter Atmadan! " )
say ( " Merhaba, " )
say_reward ( " Epic Görevlerini Yaptığın İçin. " )
say_reward ( " Bu Ödüllerden Birini Seçmen Gerek; " )
say ( " İyi oyunlar dileriz." )
local s = select ( " +2000 HP " , " Savunma Değeri +140 " , " Saldırı Değeri +60 " )
if s == 1 then
affect.add_collect(apply.MAX_HP,2000,60*60*24*365*60)
setstate(COMPLETE)
elseif s == 2 then
affect.remove_collect(apply.DEF_GRADE_BONUS,120,60*60*24*365*60)
affect.add_collect(apply.DEF_GRADE_BONUS,260,60*60*24*365*60)
setstate(COMPLETE)
elseif s == 3 then
affect.remove_collect(apply.ATT_GRADE_BONUS,60,60*60*24*365*60)
affect.add_collect(apply.ATT_GRADE_BONUS,120,60*60*24*365*60)
setstate(COMPLETE)
end
end


böyle eklerseniz bugsuz olacak.
oluşan hata şöyle ard arda att grade yada def grade veremiyorsun
yada 3 kere def_grade bonusu alamıyorsun.
3.yü karakter değiştirince siliyor.

bunun çözümü şöyle
92 level str aldığında 94 lv stryide almak isteyince
92 level str silip 92+94 level stryi veriyor.
bu mantıkla
 
Çözüm
Hocam düzenledim oldu. Çok teşekkür ederim. Kimsenin aklına gelmemişti. Gerçekten teşekkür ederim. Benim şebnem tentüründede sıkıntı var strde oda bundan kaynaklı olabilir mi iki defa üst üste alma ile alakalı
 
Hocam düzenledim oldu. Çok teşekkür ederim. Kimsenin aklına gelmemişti. Gerçekten teşekkür ederim. Benim şebnem tentüründede sıkıntı var strde oda bundan kaynaklı olabilir mi iki defa üst üste alma ile alakalı
Belki olur belkide değil.
Uzun zaman once biyolof sebnem questini bıraktım.
Bug riskinden ötürü sebnemleri e.t kritik delici de verilen ozellikleri zirha kalkana kaska ekledim herseyi sifirlayip boyle yapabilirsiniz
 
Çözüldüğüne göre konu kilitlenmiştir.
İyi forumlar.
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst