Çözüldü Beceri sıfırlama yüzüğü yardım.

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

DexaeL

Üye
Üye
Mesaj
23
Beğeni
9
Puan
405
Ticaret Puanı
0
Oyunumda Beceri skill sıfırlama yüzüğü var mesela bedensel den zihinsel geçirmesini istiyorum ama işlefsiz quest eksik elinde olan varsa rica etsem atabilirmi ?
 
Çözüm
Topluİşlemler:
Genişlet Daralt Kopyala
quest topluislemler begin
    state start begin
        when 71048.use begin
            if pc.is_busy() == true then
                say(" Bu eşyayı açık pencereleri kapatmadan kullanamazsınız. ")
                say("")
                return
        end
    local anamenu = select ( " Bayrak " , " Cinsiyet " , " Statü " , " Beceri " , " Kapat " )
    if anamenu == 1 then
            if get_time() < pc.getqf("next_use_time") then
                syschat("Bu uygulamayı bu kadar hızlı gerçekleştiremezsin.")
                return
        end

            if change_empire.move_pc() == true then
                pc.setqf("next_use_time", get_time() + 60 * 1)
            end
        end

    function move_pc()
        if pc.is_engaged()...
Oyunumda Beceri skill sıfırlama yüzüğü var mesela bedensel den zihinsel geçirmesini istiyorum ama işlefsiz quest eksik elinde olan varsa rica etsem atabilirmi ?

Kod:
Genişlet Daralt Kopyala
quest beceridegistir begin
    state start begin
        when 40005.use begin
        say_title("Hosgeldin "..pc.get_name().."")
        say("Demek becerini degistirmek istiyorsun ?")
        say("Emin misin ? Beceri sinifin degisicektir.")
        local s = select("Evet","Hayir")
        if s == 2 then
            return
        end
        if pc.get_gold() < 500000 then
            say_title("Yeterli paran yok")
            say("Uzgunum "..pc.get_name().."")
            say("Beceri sinifini degistirebilmem icin")
            say("500K Yanga sahip olmalisin")
            return
        end
        pc.change_money(-500000)
        local grubum = pc.get_skill_group()
        if s == 1 and grubum == 1 then
            pc.set_skill_group(2)
        end
        if s == 1 and grubum == 2 then
            pc.set_skill_group(1)
        end
        chat("Beceri sinifin basariyla degistirildi")
        item.remove()
        end
    end
end

Senin için yazdım dostum buyur. 500k istiyor bu arada degistirebilirsin. Eşyanın kodu 40005 olarak ayarladım sen değiştirebilirsin fakat eşyanın item protoda ITEM_QUEST olarak ayarlandığından emin ol.
 
Son düzenleme:
çok teşekkürler :)
Kod:
Genişlet Daralt Kopyala
quest beceridegistir begin
    state start begin
        when 40005.use begin
        say_title("Hosgeldin "..pc.get_name().."")
        say("Demek becerini degistirmek istiyorsun ?")
        say("Emin misin ? Beceri sinifin degisicektir.")
        local s = select("Evet","Hayir")
        if s == 2 then
            return
        end
        if pc.get_gold() < 500000 then
            say_title("Yeterli paran yok")
            say("Uzgunum "..pc.get_name().."")
            say("Beceri sinifini degistirebilmem icin")
            say("500K Yanga sahip olmalisin")
            return
        end
        pc.change_money(-500000)
        local grubum = pc.get_skill_group()
        if s == 1 and grubum == 1 then
            pc.set_skill_group(2)
        end
        if s == 1 and grubum == 2 then
            pc.set_skill_group(1)
        end
        chat("Beceri sinifin basariyla degistirildi")
        item.remove()
        end
    end
end

Senin için yazdım dostum buyur. 500k istiyor bu arada degistirebilirsin. Eşyanın kodu 40005 olarak ayarladım sen değiştirebilirsin fakat eşyanın item protoda ITEM_QUEST olarak ayarlandığından emin ol.
 
Kod:
Genişlet Daralt Kopyala
[QUOTE="xenfero, post: 97346, member: 27327"]
quest beceridegistir begin
    state start begin
        when 40005.use begin
        say_title("Hosgeldin "..pc.get_name().."")
        say("Demek becerini degistirmek istiyorsun ?")
        say("Emin misin ? Beceri sinifin degisicektir.")
        local s = select("Evet","Hayir")
        if s == 2 then
            return
        end
        if pc.get_gold() < 500000 then
            say_title("Yeterli paran yok")
            say("Uzgunum "..pc.get_name().."")
            say("Beceri sinifini degistirebilmem icin")
            say("500K Yanga sahip olmalisin")
            return
        end
        pc.change_money(-500000)
        local grubum = pc.get_skill_group()
        if s == 1 and grubum == 1 then
            pc.set_skill_group(2)
        end
        if s == 1 and grubum == 2 then
            pc.set_skill_group(1)
        end
        chat("Beceri sinifin basariyla degistirildi")
        item.remove()
        end
    end
end

oluyor çokda güzel sıfırlıyor ama skill lere + veremiyorum öğretmen üstünde ok da çıkmıyor bunu çöze bilirmisin rica etsem ?
 
Kod:
Genişlet Daralt Kopyala
[QUOTE="xenfero, post: 97346, member: 27327"]
quest beceridegistir begin
    state start begin
        when 40005.use begin
        say_title("Hosgeldin "..pc.get_name().."")
        say("Demek becerini degistirmek istiyorsun ?")
        say("Emin misin ? Beceri sinifin degisicektir.")
        local s = select("Evet","Hayir")
        if s == 2 then
            return
        end
        if pc.get_gold() < 500000 then
            say_title("Yeterli paran yok")
            say("Uzgunum "..pc.get_name().."")
            say("Beceri sinifini degistirebilmem icin")
            say("500K Yanga sahip olmalisin")
            return
        end
        pc.change_money(-500000)
        local grubum = pc.get_skill_group()
        if s == 1 and grubum == 1 then
            pc.set_skill_group(2)
        end
        if s == 1 and grubum == 2 then
            pc.set_skill_group(1)
        end
        chat("Beceri sinifin basariyla degistirildi")
        item.remove()
        end
    end
end

oluyor çokda güzel sıfırlıyor ama skill lere + veremiyorum öğretmen üstünde ok da çıkmıyor bunu çöze bilirmisin rica etsem ?
Yazdığım quest direkt becerini değiştiriyor öğretmene gitmesine gerek yok zaten. Örn : Bedensel ise zihinsel oluyor zihinsel ile bedensel oluyor sen bedenselden zihinsele geçmesini istiyorum demiştin onun için bu questi yazdım. İstediğin farklı birşey mi ?
 
Topluİşlemler:
Genişlet Daralt Kopyala
quest topluislemler begin
    state start begin
        when 71048.use begin
            if pc.is_busy() == true then
                say(" Bu eşyayı açık pencereleri kapatmadan kullanamazsınız. ")
                say("")
                return
        end
    local anamenu = select ( " Bayrak " , " Cinsiyet " , " Statü " , " Beceri " , " Kapat " )
    if anamenu == 1 then
            if get_time() < pc.getqf("next_use_time") then
                syschat("Bu uygulamayı bu kadar hızlı gerçekleştiremezsin.")
                return
        end

            if change_empire.move_pc() == true then
                pc.setqf("next_use_time", get_time() + 60 * 1)
            end
        end

    function move_pc()
        if pc.is_engaged() then
                return
            end

        if pc.is_married() then
                return
            end

        if pc.is_polymorphed() then
                return
            end

        if pc.has_guild() then
                return
            end

            local s = select(" Kırmızı Bayrak " , " Sarı Bayrak " , " Mavi Bayrak " , " Kapat ")
            if 4==s then
                return
            end

            local ret = pc.change_empire(s)
            local oldempire = pc.get_empire()
            if ret == 999 then
            pc.remove_item(71048) ;
            syschat("Krallık değişiminizin sorunsuz gerçekleşebilmesi için giriş ekranına gönderiliyorsunuz.")
            pc.disconnect_with_delay(3)
            char_log(0, "CHANGE_EMPIRE",string.format("%d -> %d", oldempire, s))

            return true
        else
            if ret == 1 then
            elseif ret == 2 then
            elseif ret == 3 then
            end
        end
        return
    end
    if anamenu == 2 then
            if pc.get_level() < 5 then
                return
            end

            if pc.is_engaged() then
                return
            end

            if pc.is_married() then
                return
            end

            if pc.is_polymorphed() then
                return
            end

            if get_time() < pc.getqf("cinsiyet") then
            syschat("Bu uygulamayı bu kadar hızlı gerçekleştiremezsin.")
                return
            end
    
            local s=select(
                " Cinsiyet Değiştir ",
                " Kapat ")
            if 1==s then
                pc.remove_item("71048",1)
                pc.setqf("cinsiyet", get_time()+60 * 1)
                syschat("Yeni cinsiyetin oyuna tekrar giriş sağladığında değişecektir.")
                -- pc.disconnect_with_delay(3)
                pc.change_sex()

                local m_sex = pc.get_sex()

                if m_sex == 0 then
                    char_log(0, "CHANGE_SEX", "F -> M")
                else
                    char_log(0, "CHANGE_SEX", "M -> F")
                end

            elseif 2==s then
            end
        end
    if anamenu == 3 then
            if get_time() < pc.getqf("stat") then
            syschat("Bu uygulamayı bu kadar hızlı gerçekleştiremezsin.")
                return
            end
            local s = select(" Statü Sıfırla ", " Kapat ")

            if s == 1 then

            char_log(0, "RESET_ALL", "USE_ITEM(71048)")

            pc.remove_item(71048)
            pc.setqf("stat", get_time()+60 * 1)

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

            char_log(0, "RESET_ALL", "RESET_END")

    end

            elseif s == 2 then
            end

    if anamenu == 4 then
        if pc.getqf("beceri_muhur") - get_time() > 0 then
            say_title("Yaşlı Kadın:")
            say("")
            say_reward("Becerilerinizi kilitlediğiniz zaman, mühür")
            say_reward("süresi sona ermedikçe beceri sıfırlayamazsınız.")
            return
        end
        if(math.floor(get_global_time()/86400) == pc.getf("skill_reset2","time")) then
            return
        end

        if pc.level < 5 then
            return
        end

        if pc.get_skill_group()==0 then
            return
        end

        if get_time() < pc.getqf("beceri") then
        syschat("Bu uygulamayı bu kadar hızlı gerçekleştiremezsin.")
            return
        end

        local s = 0

        if not pc.has_master_skill() then
            s = select(" Beceri Sıfırla ", " Kapat ")
        else
            s = select(" Beceri Sıfırla ", " Kapat ")
        end
            if 2==s then
                return
            end
                pc.setf("skill_reset2","time",math.floor(get_global_time()/259000))
                pc.clear_skill()
                pc.set_skill_group(0)
                pc.remove_item("71048",1)
                pc.setqf("beceri", get_time()+60 * 1)
                syschat("Beceri sıfırlamanızın sorunsuz gerçekleşebilmesi için giriş ekranına gönderiliyorsunuz.")
                pc.disconnect_with_delay(3)
                set_quest_state("skill_group","run")
                    end
                end
            end
        end


Böyle toplu işlemler için bir quest var bir iteme bağlanıyor en üstte kodda oradaki vnum değiştirebilirsiniz ben sadece skill istedim dersenizde gereksiz kodları kaldırıp sadece skill sıfırlama kısmını kullanabilirsiniz yapamam bilmiyorum derseniz düzenleyip atarım burdaki sıfırlama istediğiniz gibi çalışıyor olması lazım önceden denediğimde öyleydi diye hatırlıyorum
 
Çözüm
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst