Çö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...
Uzantısından bahsediyorsunuz dimi? Direk olarak .lua olarak değiştirip quest dizinine atınız.
 
Uzantısından bahsediyorsunuz dimi? Direk olarak .lua olarak değiştirip quest dizinine atınız.
Hayır mesela Object klasöründe 30019 klasörü npc nin klasörü ve altında chat ve take kısmı var. Bu kısmı direkt lua olarak olmasını istiyorum. Yani server'a make çekince 30019 klasörünü siliyor oyun luası olmadığı için. Eğer luası olursa o listeye ekleyip make den sonra o klasörü oluşturmasını ve questi yazmasını sağlıyabiliriz aslında istediğim 30019 klasörünün içerisinde bulunan chat ve take klasörlerini luaya göre yazmak
 
Haaa, şimdi anladım. Aslında yapılabilir ancak quest yazmayı bilmeniz gerekiyor. Sonuçta kodları doğru yerlere doğru sırayla geçirmeniz gerek. Yalnız anlamadığım bir şey var. Object klasöründe olan şeyin nasıl luası olmaz
 
Questi ben yazdım çünkü :D Aslında sunucuda paskalya tavşanı, itemler yumurtalar herşey var ama questi yoktu. Questi yazdım sorunsuz questim çalışıyor. Bunu sadece lua yapmam gerekiyor
 
Questleri parça parça mı yazıyorsunuz. Benim kafa yandı şuan :D
 
Questleri parça parça mı yazıyorsunuz. Benim kafa yandı şuan :D
Şöyle söyliyim 30019 klasörü hiç yoktu sunucumda
Sonraki işlemlerim şu şekilde oldu

30019 Klasörü oluştur
chat klasörü oluştur
arg.script.when dosyalarını oluştur
take klasörü oluştur.
.start dosyasını oluştur

Bu şekilde questi başarıyla yazdım klasöre bu dosyalarımı atınca sorun yok çalışıyor ama taktir edersinki make çekince lua listte bunun luası olmadığı için siliniyor bu dosyalarım ve yeniden yedekten yüklemem gerekiyor. Bunu engellemek için bir lua oluşturmalıyım ki listeye ekliyebiliyim yani olay bu şekilde gerçekleşti bu soğuk gecede :D
 
Questleri parça parça mı yazıyorsunuz. Benim kafa yandı şuan :D
Arkadaş sunucuyu teslim aldığında questleri okutmuşlar ama sonrasında questleri silmişler.
Arkadaşta bu yüzden object klasörlerin içine girip tek tek kendi editliyor.

@RodeRein sh make.sh çekmeden işlemlerini yapabilirsin.

Elimde bi büyülü yumurta luası var onuda vermek isterim.

Lua (Quest):
Genişlet Daralt Kopyala
quest new_easter_gift_box_gf begin
    state start begin
    
        function give_item_with_log(vnum, amount,item_id)
            if vnum == 1 then
                pc.changegold(amount)
            else
                pc.give_item2(vnum,amount)
            end
            char_log(tonumber(item_id), "EASTER_BOX_GF","reward vnum: "..vnum.." reward amount: "..amount);
        end
        

        
        function gift(item_id)
            local n = number (1,100)
            if n <= 2 then
                new_easter_gift_box_gf.give_item_with_log(71032,1,item_id)
            elseif n <= 9 then
                new_easter_gift_box_gf.give_item_with_log(50513,5,item_id)
            elseif n <= 16 then
                new_easter_gift_box_gf.give_item_with_log(72309,1,item_id)
            elseif n <= 18 then
                new_easter_gift_box_gf.give_item_with_log(51501,1,item_id)
            elseif n <= 25 then
                new_easter_gift_box_gf.give_item_with_log(50216,5,item_id)
            elseif n <= 36 then
                new_easter_gift_box_gf.give_item_with_log(41584,1,item_id)
            elseif n <= 42 then
                new_easter_gift_box_gf.give_item_with_log(45274,1,item_id)
            elseif n <= 48 then
                new_easter_gift_box_gf.give_item_with_log(71108,5,item_id)
            elseif n <= 54 then
                new_easter_gift_box_gf.give_item_with_log(71026,1,item_id)
            elseif n <= 60 then
                new_easter_gift_box_gf.give_item_with_log(71135,1,item_id)
            elseif n <= 66 then
                new_easter_gift_box_gf.give_item_with_log(50300,3,item_id)
            elseif n <= 77 then
                new_easter_gift_box_gf.give_item_with_log(70056,5,item_id)
            elseif n <= 86 then
                new_easter_gift_box_gf.give_item_with_log(27993,1,item_id)
            elseif n <= 94 then
                new_easter_gift_box_gf.give_item_with_log(27993,1,item_id)
            else
                new_easter_gift_box_gf.give_item_with_log(7994,1,item_id)
            end

        end

        -- ¸¶¹ıÀÇ ´Ş°¿: 71150
        when 71150.use begin
            local t = get_global_time() - item.get_socket(1)
            local n = item.get_socket (0)
            if t >= 1800 then
            --if t >= 60 then
                new_easter_gift_box_gf.gift(item.get_id())
                item.set_socket(1, get_global_time())
                if n == 2 then
                    item.remove()
                else
                    item.set_socket(0, n + 1)
                end
                syschat (string.format("% D dan, hala% d açabilirsiniz. ", 3, 2 - n))
            else
                syschat (string.format ("Sonraki hediye için % d dakika bekleyin. ", 31 - t / 60))
            end
        end

    end
end
 
Arkadaş sunucuyu teslim aldığında questleri okutmuşlar ama sonrasında questleri silmişler.
Arkadaşta bu yüzden object klasörlerin içine girip tek tek kendi editliyor.

@RodeRein sh make.sh çekmeden işlemlerini yapabilirsin.

Elimde bi büyülü yumurta luası var onuda vermek isterim.

Lua (Quest):
Genişlet Daralt Kopyala
quest new_easter_gift_box_gf begin
    state start begin
   
        function give_item_with_log(vnum, amount,item_id)
            if vnum == 1 then
                pc.changegold(amount)
            else
                pc.give_item2(vnum,amount)
            end
            char_log(tonumber(item_id), "EASTER_BOX_GF","reward vnum: "..vnum.." reward amount: "..amount);
        end
       

       
        function gift(item_id)
            local n = number (1,100)
            if n <= 2 then
                new_easter_gift_box_gf.give_item_with_log(71032,1,item_id)
            elseif n <= 9 then
                new_easter_gift_box_gf.give_item_with_log(50513,5,item_id)
            elseif n <= 16 then
                new_easter_gift_box_gf.give_item_with_log(72309,1,item_id)
            elseif n <= 18 then
                new_easter_gift_box_gf.give_item_with_log(51501,1,item_id)
            elseif n <= 25 then
                new_easter_gift_box_gf.give_item_with_log(50216,5,item_id)
            elseif n <= 36 then
                new_easter_gift_box_gf.give_item_with_log(41584,1,item_id)
            elseif n <= 42 then
                new_easter_gift_box_gf.give_item_with_log(45274,1,item_id)
            elseif n <= 48 then
                new_easter_gift_box_gf.give_item_with_log(71108,5,item_id)
            elseif n <= 54 then
                new_easter_gift_box_gf.give_item_with_log(71026,1,item_id)
            elseif n <= 60 then
                new_easter_gift_box_gf.give_item_with_log(71135,1,item_id)
            elseif n <= 66 then
                new_easter_gift_box_gf.give_item_with_log(50300,3,item_id)
            elseif n <= 77 then
                new_easter_gift_box_gf.give_item_with_log(70056,5,item_id)
            elseif n <= 86 then
                new_easter_gift_box_gf.give_item_with_log(27993,1,item_id)
            elseif n <= 94 then
                new_easter_gift_box_gf.give_item_with_log(27993,1,item_id)
            else
                new_easter_gift_box_gf.give_item_with_log(7994,1,item_id)
            end

        end

        -- ¸¶¹ıÀÇ ´Ş°¿: 71150
        when 71150.use begin
            local t = get_global_time() - item.get_socket(1)
            local n = item.get_socket (0)
            if t >= 1800 then
            --if t >= 60 then
                new_easter_gift_box_gf.gift(item.get_id())
                item.set_socket(1, get_global_time())
                if n == 2 then
                    item.remove()
                else
                    item.set_socket(0, n + 1)
                end
                syschat (string.format("% D dan, hala% d açabilirsiniz. ", 3, 2 - n))
            else
                syschat (string.format ("Sonraki hediye için % d dakika bekleyin. ", 31 - t / 60))
            end
        end

    end
end
Amacım filesi komple fixlemek ve kendime göre düzenlemek. Aynı zamanda öğrenmek. Olaylar aynı senin dediğin gibi. Saol lua için gece deniycem inşallah ama yinede şu yazdığım kodlardaki hatayı söylerseniz sevinirim. Ama yumurta luası bu bu arada. Bana npc luası lazım. Yani npc nin üstüne 10 yumurta atınca 1 büyülü yumurta vermesi için
 
Amacım filesi komple fixlemek ve kendime göre düzenlemek. Aynı zamanda öğrenmek. Olaylar aynı senin dediğin gibi. Saol lua için gece deniycem inşallah ama yinede şu yazdığım kodlardaki hatayı söylerseniz sevinirim. Ama yumurta luası bu bu arada. Bana npc luası lazım. Yani npc nin üstüne 10 yumurta atınca 1 büyülü yumurta vermesi için
Önceden yazılmış questi objectten tekrar lua yada queste getirmeyi bilmiyorum.
Ama bunun için zaten sağlam bi bilgi lazım. Tekrardan yazılması adına.
Attığım quest ise offical ile birebir aynıdır. Bi ara arşivimde paskalya ile ilgili şeyler mevcuttu bulunca konuya eklerim.
 
Ekleme için ayrıca teşekkürler. Ama item kodları sanırım farklı bu yüzden sorun çıkarabilir belki. Bakalım akşam bi deniycem questi işten gelince. Umarım çalışır sorunsuz benim filestede. Eline sağlık.
Önceden yazılmış questi objectten tekrar lua yada queste getirmeyi bilmiyorum.
Ama bunun için zaten sağlam bi bilgi lazım. Tekrardan yazılması adına.
Attığım quest ise offical ile birebir aynıdır. Bi ara arşivimde paskalya ile ilgili şeyler mevcuttu bulunca konuya eklerim.
 
item kodlarınıda sen düzenle onuda biz mi yapalım
Bazı fileslerin mantığını bilmediğin için bu yorumunu mazur görüyorum. Arkadaşın verdiği questteki item kodlarını düzenlesem bile yumurta içerisinden çıkan itemlerin düzenlenme yeri farklı. Ve questi okuduğum kadarıyla da quest içerisinde ödüllerde verilmiş. Yani demem o ki, benim sistemimle çakışacak satırlar var. Ondan ziyade bölüm soru cevap bölümü, istediğimi sorabilirim. İstediğim kadar detaylı da sorabilirim. Bu kimseyi ilgilendirmez. Uğraşmak istemeyen cevaplamaz, istiyen de yardımcı olur. Yorum yaparken lütfen üslup ve etik kurallara dikkat edin. Karşınızdaki insana saygı duyun.
 
Bazı fileslerin mantığını bilmediğin için bu yorumunu mazur görüyorum. Arkadaşın verdiği questteki item kodlarını düzenlesem bile yumurta içerisinden çıkan itemlerin düzenlenme yeri farklı. Ve questi okuduğum kadarıyla da quest içerisinde ödüllerde verilmiş. Yani demem o ki, benim sistemimle çakışacak satırlar var. Ondan ziyade bölüm soru cevap bölümü, istediğimi sorabilirim. İstediğim kadar detaylı da sorabilirim. Bu kimseyi ilgilendirmez. Uğraşmak istemeyen cevaplamaz, istiyen de yardımcı olur. Yorum yaparken lütfen üslup ve etik kurallara dikkat edin. Karşınızdaki insana saygı duyun.
Bu quest üzerinden düzenlemeni öneririm. Yumurtaya her sağ attığında ordaki item kodlarından birini vericektir.
Ve yarım saat bekleme süresinide oradan ayarlıyabilirsin.
 
Bu quest üzerinden düzenlemeni öneririm. Yumurtaya her sağ attığında ordaki item kodlarından birini vericektir.
Ve yarım saat bekleme süresinide oradan ayarlıyabilirsin.
Kodları tam olarak inceleme fırsatım henüz olmadı. Ama başka sistemlerle çakışması muhtemel. Yinede bi akşam bakıp düzenliycem. Birde dediğim gibi bu yumurtanın içinden ödül çıkartma luası. Bana yumurta yapma luası lazım. 10 adet yumurtayu npc ye verip 1 büyülü elde etme. Bu şekilde bir lua lazım. Bu lua da onu göremedim ama belkide envantere 10 adet alınca otomatik çeviriyordur yumurtaya. Bilmiyorum bakıcam akşam inşallah
 
Şöyle söyliyim 30019 klasörü hiç yoktu sunucumda
Sonraki işlemlerim şu şekilde oldu

30019 Klasörü oluştur
chat klasörü oluştur
arg.script.when dosyalarını oluştur
take klasörü oluştur.
.start dosyasını oluştur

Bu şekilde questi başarıyla yazdım klasöre bu dosyalarımı atınca sorun yok çalışıyor ama taktir edersinki make çekince lua listte bunun luası olmadığı için siliniyor bu dosyalarım ve yeniden yedekten yüklemem gerekiyor. Bunu engellemek için bir lua oluşturmalıyım ki listeye ekliyebiliyim yani olay bu şekilde gerçekleşti bu soğuk gecede :D
Hocam büyük uğraş vermişsiniz ancak oyuna questler bu şekilde yazılmaz. Oralara zaten qc çekildiği zamam otomatik ekleniyor. Quest yazımını öğrenmek isterseniz Metin2 geliştirici eğitimi 4. üniteye bakabilirsiniz. :)


Arkadaş sunucuyu teslim aldığında questleri okutmuşlar ama sonrasında questleri silmişler.
Arkadaşta bu yüzden object klasörlerin içine girip tek tek kendi editliyor.
Aman Allah’ım :ao-shocked:
Bence bu tarz filesleri kullanmamak en iyisi. Yine de tersine mühendislik ile lua haline getirelebilir ancak çok uğraş çıkartacak
 
Hocam büyük uğraş vermişsiniz ancak oyuna questler bu şekilde yazılmaz. Oralara zaten qc çekildiği zamam otomatik ekleniyor. Quest yazımını öğrenmek isterseniz Metin2 geliştirici eğitimi 4. üniteye bakabilirsiniz. :)



Aman Allah’ım :ao-shocked:
Bence bu tarz filesleri kullanmamak en iyisi. Yine de tersine mühendislik ile lua haline getirelebilir ancak çok uğraş çıkartacak
Aynen o qc komutunu yazabileceğim sistemi yapmam lazım benim bu quest için. Bakalım o 4. Üniteye o zaman bi yapamazsam konuyu güncele çekerim tekrar teşekkür
 
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. Deneyebilir misiniz?
 
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. Deneyebilir misiniz?
Malesef başlık gözüküyor ama " bana eğer 10 tane den sonrası işlemiyor 50160 dahil
Ayrıca take kısmını oluşturmuyor klasörde
 
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. Deneyebilir misiniz?

Senin attığın kodda biraz oynadım şuan çözüldü problemim
quest konusunda bakalım ilerliyebilcekmiyim bu şekilde. Teşekkürler yeniden.

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
                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
 
Çözüm
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Üst