Çözüldü P/G NPCSİ

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

faruk07

Üye
Üye
Mesaj
130
Çözümler
2
Beğeni
70
Puan
699
Ticaret Puanı
0
Merhaba.Köye 20001 nolu npcyi sabitledim.
Npcye tıklandığında 3 seçenek açılsa;
1- P Yüzüğü almak istiyorum.
2- G Yüzüğü almak istiyorum.
3- Kapat......
1. ye tıklandığında 50 adet ruh taşı karşılığında P yüzüğü almak istiyor musun?(yüzüğün kodu 40003) seçenekler evet(tıklarsa 50 ruh taşı karşılığında yüzüğü verilsin taşı yeterince yoksa yeterli taşa sahip değilsin gibisinden bi uyarı çıksın. evetin alt satırında ise vazgeç olsun.
2. ye tıklandığında 100 adet g taşı karşılığında G yüzüğü almak istiyor musun?( yüzüğün kodu 71148)
seçenekler evet(tıklarsa 100 g taşı karşılığında yüzüğü verilsin taşı yeterince yoksa yeterli taşa sahip değilsin gibisinden bi uyarı çıksın. evetin alt satırında ise vazgeç olsun.
Ustam yaparsan sen yaparsın sana zahmet teşekkürler.
 
Çözüm
Tamamdır kodları yazdım kendi serverimde de test ettim.
pg yuzugu.webp

Kodlar bu şekildedir. .lua formatında AHCII formatına alarak kaydedin. Ekte de dosyayı yükledim sizin için. Konuda sadece npc questini istediğiniz için onları yaptım. P/G yüzüğüne herhangi bir şey yazmadım. Questi yazarken videoda çektim.

Github ile kodlara erişmek için:
Linkleri görebilmek için giriş yap veya kayıt ol.


Lua (Quest):
Genişlet Daralt Kopyala
quest pgnpc begin
    state start begin
        when 20001.chat."P Yüzüğü Almak İstiyorum " begin
            say_title(mob_name(20001)..":")
            say("50 adet ruh taşı karşılığında yeteneklerini ")
            say("Perfect Master yapabilen bir yüzük alabilirsin. ")
            say("Bu yüzük sayesinde tüm yeteneklerin Perfect Master ")
            say("olacak.")...
Basit bir quest aslında. Eğer izin verirseniz bu questi yazarken videolu rehberini de çekiyim. Hem sizde nasıl yazdığımı adım adım görmüş olursunuz.

G taşı ne oluyor bu arada onunda kodunu verebilir misiniz?
 
Son düzenleme:
Aslında cor draconis ender de g taşı olarak kullanacağım bunu kodu 51508. Tabiki o size kalmış bu tarz birşeyler yapmak isteyenlere de açıklık sağlamış olursunuz teşekkürler şimdiden.
 
Bugün stajdayken can sıkıntısından bir tane quest yazdım. Fakat orada test etme imkanım olmadı. Yarın bi aksilik olmazsa size dosyayı vereceğim. :) Hem videolu anlatımı da yapacağım. Böylelikle ileride buna benzer şeyler yapmak isterseniz en azından bir kaç şey öğrenmiş olursunuz. :)
 
Tamamdır kodları yazdım kendi serverimde de test ettim.
pg yuzugu.webp

Kodlar bu şekildedir. .lua formatında AHCII formatına alarak kaydedin. Ekte de dosyayı yükledim sizin için. Konuda sadece npc questini istediğiniz için onları yaptım. P/G yüzüğüne herhangi bir şey yazmadım. Questi yazarken videoda çektim.

Github ile kodlara erişmek için:
Linkleri görebilmek için giriş yap veya kayıt ol.


Lua (Quest):
Genişlet Daralt Kopyala
quest pgnpc begin
    state start begin
        when 20001.chat."P Yüzüğü Almak İstiyorum " begin
            say_title(mob_name(20001)..":")
            say("50 adet ruh taşı karşılığında yeteneklerini ")
            say("Perfect Master yapabilen bir yüzük alabilirsin. ")
            say("Bu yüzük sayesinde tüm yeteneklerin Perfect Master ")
            say("olacak.")
            say("")
            say_reward("50 adet Ruh Taşı karşılığında Perfect Master ")
            say_reward("yüzüğü almak istiyor musun?")
       
            local s = select("Evet ", "Hayır ")
       
            if s == 1 then
                say_title(mob_name(20001)..":")
                if pc.count_item(50513) > 49 then
                    say("50 adet Ruh Taşı karşılığında, Perfect Master ")
                    say("yüzüğünü aldınız.")
                    pc.remove_item(50513, 50)
                    pc.give_item2(40003, 1)
                else
                    say("Ne yazık ki yeterince Ruh Taşı'nız yok. ")
                end
            else
                say_title(mob_name(20001)..":")
                say("Daha sonra yüzük almak için yanıma gelebilirsin. ")
            end
        end
   
        when 20001.chat."G Yüzüğü Almak İstiyorum " begin
            say_title(mob_name(20001)..":")
            say("50 adet Cor Draconis (ender) karşılığında yeteneklerini ")
            say("Grand Master yapabilen bir yüzük alabilirsin. ")
            say("Bu yüzük sayesinde tüm yeteneklerin Grand Master ")
            say("olacak.")
            say("")
            say_reward("50 adet Cor Draconis (ender) karşılığında Grand Master ")
            say_reward("yüzüğü almak istiyor musun?")
       
            local s = select("Evet ", "Hayır ")
       
            if s == 1 then
                say_title(mob_name(20001)..":")
                if pc.count_item(51508) > 49 then
                    say("50 adet Cor Draconis (ender) karşılığında, Grand Master ")
                    say("yüzüğünü aldınız.")
                    pc.remove_item(51508, 50)
                    pc.give_item2(71148, 1)
                else
                    say("Ne yazık ki yeterince Cor Draconis (ender)'nız yok. ")
                end
            else
                say_title(mob_name(20001)..":")
                say("Daha sonra yüzük almak için yanıma gelebilirsin. ")
            end
        end
    end
end

Videolu anlatım için;
 

Dosya Eklentileri

Son düzenleme:
Çözüm
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst