Çözüldü Object Quest'i Lua'ya dönüştürmek nasıl olur?

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

RodeRein

MT Üye
MT Üye
Mesaj
163
Çözümler
10
Beğeni
91
Puan
714
Ticaret Puanı
0
Çözüldü ve Quest renklendirildi.
Tavşan NPC kodu : 30129
Yumurta Kodları : 50160 - 50179 arası hepsi eklendi
Quest Renklendirildi
Quest Görselleştirildi

Biten hali herkes yararlanabilir.
@Whistle 'ye teşekkürler.

Mmo Tutkunları için özel NPC questi
Lua (Quest):
Genişlet Daralt Kopyala
#bu quest MMoTutkunları için özel olarak RodeRein Tarafından yazılmıştır.
quest paskalya_event begin
    state start begin
        when 30129.chat."Bana yumurta mı getirdin ? " begin
            raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
            say_color("green","Eğer Bana yumurta getirdiysen")
            say_color("green","Yumurtaları ")
            say_color("green","Üzerime sürükle ve ödülünü al")
                local option = select("Anladım, Tamam.", "Kaç Yumurta Getirmeliyim?")
                if option == 1 then
                raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
                say_color("yellow","Haydi O zaman! Bana yumurta getir.!")
                return
                end
                raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
                say_color ("yellow","Eğer Bana 10 adet yumruta getirdiysen " )
                say_color ("yellow","yumurtaları üzerime bırak." )
                return
                end
        when 30129.take begin
            if pc.count_item(50160) >= 10 then
                raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
                say_color ("yellow","Büyülü yumurta ister misin ?" )
                local option = select("Evet", "Hayır")
                if option == 1 then
                    pc.remove_item(50160, 10)
                    pc.give_item2(71150, 1)
                    return
                end
                if option == 2 then
                raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
                say_color ("yellow"," O zaman Neden Beni Yoruyorsun!" )
                return
                end
            end
            if pc.count_item(50161) >= 10 then
                raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
                say_color ("yellow","Büyülü yumurta ister misin ?" )
                local option = select("Evet", "Hayır")
                if option == 1 then
                    pc.remove_item(50161, 10)
                    pc.give_item2(71150, 1)
                    return
                end
                if option == 2 then
                raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
                say_color ("yellow"," O zaman Neden Beni Yoruyorsun!" )
                return
                end
            end
            if pc.count_item(50162) >= 10 then
                raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
                say_color ("yellow","Büyülü yumurta ister misin ?" )
                local option = select("Evet", "Hayır")
                if option == 1 then
                    pc.remove_item(50162, 10)
                    pc.give_item2(71150, 1)
                    return
                end
                if option == 2 then
                raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
                say_color ("yellow"," O zaman Neden Beni Yoruyorsun!" )
                return
                end
            end
            if pc.count_item(50163) >= 10 then
                raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
                say_color ("yellow","Büyülü yumurta ister misin ?" )
                local option = select("Evet", "Hayır")
                if option == 1 then
                    pc.remove_item(50163, 10)
                    pc.give_item2(71150, 1)
                    return
                end
                if option == 2 then
                raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
                say_color ("yellow"," O zaman Neden Beni Yoruyorsun!" )
                return
                end
            end
            if pc.count_item(50164) >= 10 then
                raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
                say_color ("yellow","Büyülü yumurta ister misin ?" )
                local option = select("Evet", "Hayır")
                if option == 1 then
                    pc.remove_item(50164, 10)
                    pc.give_item2(71150, 1)
                    return
                end
                if option == 2 then
                raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
                say_color ("yellow"," O zaman Neden Beni Yoruyorsun!" )
                return
                end
            end
            if pc.count_item(50165) >= 10 then
                raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
                say_color ("yellow","Büyülü yumurta ister misin ?" )
                local option = select("Evet", "Hayır")
                if option == 1 then
                    pc.remove_item(50165, 10)
                    pc.give_item2(71150, 1)
                    return
                end
                if option == 2 then
                raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
                say_color ("yellow"," O zaman Neden Beni Yoruyorsun!" )
                return
                end
            end
            if pc.count_item(50166) >= 10 then
                raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
                say_color ("yellow","Büyülü yumurta ister misin ?" )
                local option = select("Evet", "Hayır")
                if option == 1 then
                    pc.remove_item(50166, 10)
                    pc.give_item2(71150, 1)
                    return
                end
                if option == 2 then
                raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
                say_color ("yellow"," O zaman Neden Beni Yoruyorsun!" )
                return
                end
            end
            if pc.count_item(50167) >= 10 then
                raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
                say_color ("yellow","Büyülü yumurta ister misin ?" )
                local option = select("Evet", "Hayır")
                if option == 1 then
                    pc.remove_item(50167, 10)
                    pc.give_item2(71150, 1)
                    return
                end
                if option == 2 then
                raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
                say_color ("yellow"," O zaman Neden Beni Yoruyorsun!" )
                return
                end
            end
            if pc.count_item(50168) >= 10 then
                raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
                say_color ("yellow","Büyülü yumurta ister misin ?" )
                local option = select("Evet", "Hayır")
                if option == 1 then
                    pc.remove_item(50168, 10)
                    pc.give_item2(71150, 1)
                    return
                end
                if option == 2 then
                raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
                say_color ("yellow"," O zaman Neden Beni Yoruyorsun!" )
                return
                end
            end
            if pc.count_item(50169) >= 10 then
                raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
                say_color ("yellow","Büyülü yumurta ister misin ?" )
                local option = select("Evet", "Hayır")
                if option == 1 then
                    pc.remove_item(50169, 10)
                    pc.give_item2(71150, 1)
                    return
                end
                if option == 2 then
                raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
                say_color ("yellow"," O zaman Neden Beni Yoruyorsun!" )
                return
                end
            end
            if pc.count_item(50170) >= 10 then
                raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
                say_color ("yellow","Büyülü yumurta ister misin ?" )
                local option = select("Evet", "Hayır")
                if option == 1 then
                    pc.remove_item(50170, 10)
                    pc.give_item2(71150, 1)
                    return
                end
                if option == 2 then
                raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
                say_color ("yellow"," O zaman Neden Beni Yoruyorsun!" )
                return
                end
            end
            if pc.count_item(50171) >= 10 then
                raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
                say_color ("yellow","Büyülü yumurta ister misin ?" )
                local option = select("Evet", "Hayır")
                if option == 1 then
                    pc.remove_item(50171, 10)
                    pc.give_item2(71150, 1)
                    return
                end
                if option == 2 then
                raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
                say_color ("yellow"," O zaman Neden Beni Yoruyorsun!" )
                return
                end
            end
            if pc.count_item(50172) >= 10 then
                raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
                say_color ("yellow","Büyülü yumurta ister misin ?" )
                local option = select("Evet", "Hayır")
                if option == 1 then
                    pc.remove_item(50172, 10)
                    pc.give_item2(71150, 1)
                    return
                end
                if option == 2 then
                raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
                say_color ("yellow"," O zaman Neden Beni Yoruyorsun!" )
                return
                end
            end
            if pc.count_item(50173) >= 10 then
                raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
                say_color ("yellow","Büyülü yumurta ister misin ?" )
                local option = select("Evet", "Hayır")
                if option == 1 then
                    pc.remove_item(50173, 10)
                    pc.give_item2(71150, 1)
                    return
                end
                if option == 2 then
                raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
                say_color ("yellow"," O zaman Neden Beni Yoruyorsun!" )
                return
                end
            end
            if pc.count_item(50174) >= 10 then
                raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
                say_color ("yellow","Büyülü yumurta ister misin ?" )
                local option = select("Evet", "Hayır")
                if option == 1 then
                    pc.remove_item(50174, 10)
                    pc.give_item2(71150, 1)
                    return
                end
                if option == 2 then
                raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
                say_color ("yellow"," O zaman Neden Beni Yoruyorsun!" )
                return
                end
            end
            if pc.count_item(50175) >= 10 then
                raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
                say_color ("yellow","Büyülü yumurta ister misin ?" )
                local option = select("Evet", "Hayır")
                if option == 1 then
                    pc.remove_item(50175, 10)
                    pc.give_item2(71150, 1)
                    return
                end
                if option == 2 then
                raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
                say_color ("yellow"," O zaman Neden Beni Yoruyorsun!" )
                return
                end
            end
            if pc.count_item(50176) >= 10 then
                raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
                say_color ("yellow","Büyülü yumurta ister misin ?" )
                local option = select("Evet", "Hayır")
                if option == 1 then
                    pc.remove_item(50176, 10)
                    pc.give_item2(71150, 1)
                    return
                end
                if option == 2 then
                raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
                say_color ("yellow"," O zaman Neden Beni Yoruyorsun!" )
                return
                end
            end
            if pc.count_item(50177) >= 10 then
                raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
                say_color ("yellow","Büyülü yumurta ister misin ?" )
                local option = select("Evet", "Hayır")
                if option == 1 then
                    pc.remove_item(50177, 10)
                    pc.give_item2(71150, 1)
                    return
                end
                if option == 2 then
                raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
                say_color ("yellow"," O zaman Neden Beni Yoruyorsun!" )
                return
                end
            end
            if pc.count_item(50178) >= 10 then
                raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
                say_color ("yellow","Büyülü yumurta ister misin ?" )
                local option = select("Evet", "Hayır")
                if option == 1 then
                    pc.remove_item(50178, 10)
                    pc.give_item2(71150, 1)
                    return
                end
                if option == 2 then
                raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
                say_color ("yellow"," O zaman Neden Beni Yoruyorsun!" )
                return
                end
            end
            if pc.count_item(50179) >= 10 then
                raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
                say_color ("yellow","Büyülü yumurta ister misin ?" )
                local option = select("Evet", "Hayır")
                if option == 1 then
                    pc.remove_item(50179, 10)
                    pc.give_item2(71150, 1)
                    return
                end
                if option == 2 then
                raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
                say_color ("yellow"," O zaman Neden Beni Yoruyorsun!" )
                return
                end
            end
        end
    end
end

Merhaba, biz bir quest yazdık ve bu questi her seferinde yeniden yüklemek yerine Lua listesine eklemek istiyoruz. Bunun içinde bu yazılan questi lua yapmamız gerekli. Ancak nasıl yaparız bilmiyoruz. Saatlerdir kodları ve tab ayarlarını değiştirerek denedik ancak sorunu çözemedik.

Paskalya yumurtası ile alakalı bir quest.

Olay şu şekilde olmalı. Paskalya tavşanına tıkladığımızda bir yazı çıkıyor ve açıklama yapıyor
Birde elimizde 10 adet yumurta varsa paskalya tavşanının üstüne sürükleyip 1 adet büyülü yumurta almamız gerekli. Bizim yazdığımız lua örneği bu şekilde.
Core Dumped alıyoruz. Genellikle son satırda. Yardımcı olursanız çok sevinirim.


Lua (Quest):
Genişlet Daralt Kopyala
quest paskalya_event begin
        state start begin
 
            when 30129.chat."Bana yumurta mı getirdin ? " begin
            raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
            say ( "Bana eğer 10 tane Paskalya Yumurtası  " )
            raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
            say ( "Getirirsen sana 1 adet Büyülü Yumurta " )
            raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
            say ( "vereceğim." )
            raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
            say ( "Getirmen gereken Yumurta Sayısı: 10 " )
        return
        end
        when 30129.take begin
            if pc . count_item ( 50160 ) >= 10 then raw_script ( "[TEXT_HORIZONTAL_ALIGN_CENTER]" )
            local option = select ( "Evet " , "Hayır " )
            if option == 1 then
            pc . remove_item ( 50160 , 10 )
            pc.give_item2  ( 71150 , 1 )
            return
            end
        end
    end  
end
 
Son düzenleme:
Çözüm
Lua (Quest):
Genişlet Daralt Kopyala
quest paskalya_event begin
    state start begin
        when 30129.chat."Bana yumurta mı getirdin?" begin
            say("Bana eğer 10 tane Paskalya Yumurtası")
            say("Getirirsen sana 1 adet Büyülü Yumurta")
            say("vereceğim.")
            say("Getirmen gereken Yumurta Sayısı: 10")
            return
        end
        when 30129.take begin
            if pc.count_item(50160) >= 10 then
                local option = select("Evet", "Hayır")
                if option == 1 then
                    pc.remove_item(50160, 10)
                    pc.give_item2(71150, 1)
                    return
                end
            end
        end
    end
end

Konuya eklediğiniz questi şöyle bi düzenledim...
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Üst