Çözüldü Metin2 item Karşılıgında Kemer Verme Questi Yardımı

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

gsahmet27

Üye
Üye
Mesaj
24
Çözümler
2
Beğeni
4
Puan
415
Ticaret Puanı
0
Npc İle İtem Karşılıgında Kemer Vermek İstiyorum Ama Bir Türlü Beceremedim

İstedigim İtemler
4 Kırmızı ot
4 Yeşil ot
4 mavi ot
4 Mor ot
3 kırmızı Kumaş
3 eflatun Kumaş
3 altın Kumaş
5 kıvrık
5 t Para

İtem Karşılıgında
RastGele Kemer Vermesini İstiyorum Ama Yapamadım.

Elimde Örnek Bir Quest Var
Lua (Quest):
quest kemeral begin
    state start begin
        when 20087.chat."Kemer ister misin? " begin
            say("Size özel Kemer!")
            say("İntiharMt2 Oyuncusu")
            say("Kemer ister misin?")
            say("Malzemeler Olması Lazım")
            say("4 Tane Kırmızı Ot")
            say("4 Tane Yeşil Ot")
            say("4 Tane Mavi Ot")
            say("4 Tane Mor Ot")
            say("3 Tane Kırmızı Kumas")
            say("3 Tane Eflatun Kumas")
            say("3 Tane Altın Kumas")
            say("5 Tane Kıvrık Anahtar")
            say("5 Adet Altın Bar")
            say("    Gerekli.")
                say("İntiharmt2 Ekibi!")
            say_item_vnum(70251)
            say_item_vnum(70253)
            say_item_vnum(70252)
            say_item_vnum(70254)
            say_item_vnum(30511)
            say_item_vnum(30514)
            say_item_vnum(30517)
            say_item_vnum(30179)
            say_item_vnum(80007)
       
            say("İstedigim Malzeme Karsılıgında Kemer İstermisin ?")
            say_item_vnum(70251,4)
            say_item_vnum(70253,4)
            say_item_vnum(70252,4)
            say_item_vnum(70254,4)
            say_item_vnum(30511,3)
            say_item_vnum(30514,3)
            say_item_vnum(30517,3)
            say_item_vnum(30179,5)
            say_item_vnum(80007,5)  
            local ss = select("Evet","Hayır")
                if ss == 1 then
 
    if pc.count_item (70251) > 4 then
    if pc.count_item (70253) > 4 then
    if pc.count_item (70252) > 4 then
    if pc.count_item (70254) > 4 then
    if pc.count_item (30511) > 3 then
    if pc.count_item (30514) > 3 then
    if pc.count_item (30517) > 3 then
    if pc.count_item (30179) > 5 then
    if pc.count_item (80007) > 5 then
            else
            say("")
            say("Tabii ki istersin")
            say("4 Tane Kırmızı Ot")
            say("4 Tane Yeşil Ot")
            say("4 Tane Mavi Ot")
            say("4 Tane Mor Ot")
            say("3 Tane Kırmızı Kumas")
            say("3 Tane Eflatun Kumas")
            say("3 Tane Altın Kumas")
            say("5 Tane Kıvrık Anahtar")
            say("5 Adet Altın Bar")
            say("Yeterli Sayida Malzeme Yok")
            say("İstenilen Malzemeyi Yapinca Tekrar Gel")
            return
        end
 
            pc.remove_item("70251",4)
            pc.remove_item("70253",4)
            pc.remove_item("70252",4)
            pc.remove_item("70254",4)
            pc.remove_item("30511",3)
            pc.remove_item("30514",3)
            pc.remove_item("30517",3)
            pc.remove_item("30179",5)
            pc.remove_item("80007",5)
                pc.give_item2(18009,1)
                pc.give_item2(18019,1)
                pc.give_item2(18029,1)
                pc.give_item2(18039,1)
                pc.give_item2(18049,1)
                pc.give_item2(18059,1)
                pc.give_item2(18069,1)
                pc.give_item2(18079,1)
                pc.give_item2(18089,1)
        end
                if ss == 2 then
            say("Tamam , sen bilirsin.")
            say("Fikrini değiştirirsen bana uğra!")
            return
            end
        end
    end
end

Bi Tane Daha Var Elimde
Lua (Quest):
quest kemeral begin
    state start begin
        when 20087.chat."Kemer almak istiyorum" begin
say_title("Merhaba "..pc.get_name().."")
            say("Kemer Alabilmek İçin "..4,4,4,4,3,3,3,5,5.." Adet")
            say(""..item_name(70251)")
            say(""..item_name(70253)")
            say(""..item_name(70252)")
            say(""..item_name(70254)")
            say(""..item_name(30511)")
            say(""..item_name(30514)")
            say(""..item_name(30517)")
            say(""..item_name(30179)")
            say(""..item_name(80007)")
            say_reward("Sende bulunan "..item_name(70251,70253,70252,70254,30511,30514,30517,30179,80007).." : "..pc.count_item(70251,70253,70252,70254,30511,30514,30517,30179,80007).."")
            local ilerle = select("Devam Et","İptal")
                if ilerle == 2 then
                    return
                elseif ilerle == 1 then
                    if pc.count_item(70251) < 4 then
                    if pc.count_item(70253) < 4 then
                    if pc.count_item(70252) < 4 then
                    if pc.count_item(70254) < 4 then
                    if pc.count_item(30511) < 3 then
                    if pc.count_item(30514) < 3 then
                    if pc.count_item(30517) < 3 then
                    if pc.count_item(30179) < 5 then
                    if pc.count_item(80007) < 5 then
                        say_title("Merhaba "..pc.get_name().."")
                        say("Malesef, Envanterinde "..4,4,4,4,3,3,3,5,5.." Adet")
                        say(""..item_name(70251,70253,70252,70254,30511,30514,30517,30179,80007).." Yok.")
                        say_reward("Sende bulunan "..item_name(70251,70253,70252,70254,30511,30514,30517,30179,80007).." : "..pc.count_item(70251,70253,70252,70254,30511,30514,30517,30179,80007).."")
                        return
                    else
                        if pc.get_sex() == 0 then -- kemer
                            say_title("Merhaba "..pc.get_name().."")
                            say("Getirdiğin "..4,4,4,4,3,3,3,5,5.." Adet "..item_name(70251,70253,70252,70254,30511,30514,30517,30179,80007).."")
                            say("Karşılığında sana 1 adet kemer ")
                            say("Veriyorum. İyi günlerde kullan.")
                            pc.remove_item(70251, 4)
                            pc.remove_item(70253, 4)
                            pc.remove_item(70252, 4)
                            pc.remove_item(70254, 4)
                            pc.remove_item(30511, 3)
                            pc.remove_item(30514, 3)
                            pc.remove_item(30517, 3)
                            pc.remove_item(30179, 5)
                            pc.remove_item(80007, 5)
                            --pc.give_item2(18009,1)
                            --pc.give_item2(18019,1)
                            --pc.give_item2(18029,1)
                            --pc.give_item2(18039,1)
                            --pc.give_item2(18049,1)
                            --pc.give_item2(18059,1)
                            --pc.give_item2(18069,1)
                            --pc.give_item2(18079,1)
                            --pc.give_item2(18089,1)
                            return
                        elseif pc.get_sex() == 1 then -- kemer
                            say_title("Merhaba "..pc.get_name().."")
                            say("Getirdiğin "..4,4,4,4,3,3,3,5,5.." Adet "..item_name(70251,70253,70252,70254,30511,30514,30517,30179,80007).."")
                            say("Karşılığında sana 1 adet kemer ")
                            say("Veriyorum. İyi günlerde kullan.")
                            pc.remove_item(70251, 4)
                            pc.remove_item(70253, 4)
                            pc.remove_item(70252, 4)
                            pc.remove_item(70254, 4)
                            pc.remove_item(30511, 3)
                            pc.remove_item(30514, 3)
                            pc.remove_item(30517, 3)
                            pc.remove_item(30179, 5)
                            pc.remove_item(80007, 5)
                            --pc.give_item2(18009,1)
                            --pc.give_item2(18019,1)
                            --pc.give_item2(18029,1)
                            --pc.give_item2(18039,1)
                            --pc.give_item2(18049,1)
                            --pc.give_item2(18059,1)
                            --pc.give_item2(18069,1)
                            --pc.give_item2(18079,1)
                            --pc.give_item2(18089,1)
                            return
                        end
                    end
                end
        end
    end
end



Nasıl Ayarlıya Bilirim Yardımcı Olurmusunuz Cok Teşekkür Ederim. Zor Ama Bazı İnsanların Dikkatini Çeker Böyle Sorun Baska Bir Yerde Yoktur Arastırdım Bulamadım Bi Buraya Acayım Dedim Yani Bunun Üzerinde Arastırma Yaptıkları Zaman En Azından Bu mmotutkunları Forum Gelir Gibisine Düşünüyorum Bu Hataya Yardımcı Olur musunuz?
 
En son bir moderatör tarafından düzenlenmiş:
Çözüm
Sence bu istenilen item karşılığında rastgele Kemer kodu olmuş mu? Bi inceler misiniz?

Lua (Quest):
quest kemeral begin
    state start begin
        when 20087.chat."Kemer ister misin? " begin
            say("Size özel Kemer!")
            say("İstedigim Malzeme Karsılıgında Kemer İstermisin ?")
            say_item_vnum(70251,4)
            say_item_vnum(70253,4)
            say_item_vnum(70252,4)
            say_item_vnum(70254,4)
            say_item_vnum(30511,3)
            say_item_vnum(30514,3)
            say_item_vnum(30517,3)
            say_item_vnum(30179,5)
            say_item_vnum(80007,5)
            local ss = select("Evet","Hayır")
                if ss == 1 then

    if pc.count_item (70251) > 4 then
    if pc.count_item...
Şimdi bu kodda itemleri verdiğiniz zaman her kemerden bir tane veriyor dimi. Fakat siz rasgele bir tane vermesini istiyorsunuz. Doğru mudur?
 
Yani Putty okutuyorum olmuyor oyun içi aktif olmuyor hata veriyor aynen istenilen itemlere karşılık rastgele kemer vermesini istiyorum NPC nin
 
Bu istekleriniz tamamen kodlama bilgisini dayanıyor. Sizin kodlama konusunda temeliniz var mı?
Kemerleri bir dizi içine atıp math.random(baslangic, bitis) fonksiyonunu kullanarak rasgele bir tane item verebilirsiniz.

Örn;
Lua (Quest):
local kemerler = {70251, 70253, 70252, 70254}

rasgeleKemer = math.random(1, 4)

pc.give_item2(rasgeleKemer, 1)
 
Kodlama üzerinde pek temele sahip değilim kodlamalarımda da bi hata olduğuna da inanıyorum bu questi düzenleyip verebilir misiniz siz daha basarılısınız. basarınızın devamını beklerim teşekkür ederim
 
Bence deneme yanılma yoluyla öğrenmeye bakın. Kendimden örnek vermek gerekirse öyle sorunlar ile karşılaşıyorsun ki yada aklında bir fikir var. Fikri gerçekleştirmek için bile bilgiye ihtiyacını var. Forumlarda quest yazım rehberleri mevcut. İsterseniz bi inceleyin derim. ;)
 
Sence bu istenilen item karşılığında rastgele Kemer kodu olmuş mu? Bi inceler misiniz?

Lua (Quest):
quest kemeral begin
    state start begin
        when 20087.chat."Kemer ister misin? " begin
            say("Size özel Kemer!")
            say("İstedigim Malzeme Karsılıgında Kemer İstermisin ?")
            say_item_vnum(70251,4)
            say_item_vnum(70253,4)
            say_item_vnum(70252,4)
            say_item_vnum(70254,4)
            say_item_vnum(30511,3)
            say_item_vnum(30514,3)
            say_item_vnum(30517,3)
            say_item_vnum(30179,5)
            say_item_vnum(80007,5)
            local ss = select("Evet","Hayır")
                if ss == 1 then

    if pc.count_item (70251) > 4 then
    if pc.count_item (70253) > 4 then
    if pc.count_item (70252) > 4 then
    if pc.count_item (70254) > 4 then
    if pc.count_item (30511) > 3 then
    if pc.count_item (30514) > 3 then
    if pc.count_item (30517) > 3 then
    if pc.count_item (30179) > 5 then
    if pc.count_item (80007) > 5 then
            else
            say("")
            say("Tabii ki istersin")
            say("4 Tane Kırmızı Ot")
            say("4 Tane Yeşil Ot")
            say("4 Tane Mavi Ot")
            say("4 Tane Mor Ot")
            say("3 Tane Kırmızı Kumas")
            say("3 Tane Eflatun Kumas")
            say("3 Tane Altın Kumas")
            say("5 Tane Kıvrık Anahtar")
            say("5 Adet Altın Bar")
            say("Yeterli Sayida Malzeme Yok")
            say("İstenilen Malzemeyi Yapinca Tekrar Gel")
            return
        end

            pc.remove_item("70251",4)
            pc.remove_item("70253",4)
            pc.remove_item("70252",4)
            pc.remove_item("70254",4)
            pc.remove_item("30511",3)
            pc.remove_item("30514",3)
            pc.remove_item("30517",3)
            pc.remove_item("30179",5)
            pc.remove_item("80007",5)
                local kemerler = {70251, 70253, 70252, 70254}
                rasgeleKemer = math.random(1, 4)
                pc.give_item2(rasgeleKemer, 1)
        end
                if ss == 2 then
            say("Tamam , sen bilirsin.")
            say("Fikrini değiştirirsen bana uğra!")
            return
            end
        end
    end
end

Bi hata varsa söyler misiniz? Lütfen istenilen malzemeler bunlar Bu malzemeler karşılığında vermesini istiyorum. Sence olur mu böyle ..
 
En son bir moderatör tarafından düzenlenmiş:
Çözüm
Olmuş gibi fakat tüm kemeleri diziye eklemeyi unutmayın. Kodun çalışıp çalışmadığını denemek için sunucuda test etmeniz gereklidir. ;)
 
Lua (Quest):
local kemerler = {70251, 70253, 70252, 70254}

Buna kemer vnumlarını ekleyin..
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst