Çözüldü P G YÜZÜĞÜ

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
69
Puan
699
Ticaret Puanı
0
Hocam bir önceki konuda pg npcsinde yardımcı oldunuz fakat benim nasıl yazacağımı bilmediğim bir quest daha var yardımcı olursanız sevinirim.
-(71148) kodlu yüzük serverimde g yüzüğü olarak geçiyor.Bu iteme sağ tıklayana aynı ruh taşındaki gibi karakterine ve sınıfına göre skilleri çıksın ve birini seçip g yapabilsin.Yani demek istediğim atıyorum bedensel sağ tıkladı hava öfke ve diğer 3 skillin listesi çıksın ve kullanıcı birini seçip g yapabilsin.(savaşcının 2 sınıfta da 5 skilli var serverde 6.skiller aktif değil)
-(40003) kodlu yüzük serverimde p yüzüğü olarak geçiyor.Bu item de yukardaki gibi aynı düzenek çalışsa tek farkı seçilen 1 skilli p yapsa harika olur.
Yardımcı olabilirseniz çok memnun olurum.Şimdiden ilginiz ve alakanız için teşekkür ederim.
 
Çözüm
Yüzükler için ruh taşının questini inceleyim demiştim. Onları incelediniz mi?
Questin adı: training_grandmaster_skill.quest

İşteyken canım sıkıldı bende senin yüzük questini yaziyim dedim. Daha test etmedim ama. Şu kodları bi test eder misiniz?
Olmadı perşembe günü bunu nasıl yazdığımında videosunu çekerim.

Kodlara github üzerinden erişmek için:
Linkleri görebilmek için giriş yap veya kayıt ol.


Lua (Quest):
quest pyuzuk begin
    state start begin
        when 40003.use begin
            if pc.get_skill_group() == 0 then
                say_title("Perfect Master Yüzüğü: ")
                say("Henüz herhangi bir eğitime katılmadığınız için ")
                say("yeteneklerinizi geliştiremezsiniz.")
            end
          
            local result =...
Bu questleri kendiniz yapmaya çalışın eğer yapamazsanız ben size yardımcı olurum. :) Forumlarda yetenekleri p yapan yüzüklerin questleri var. Onları inceleyerekte yapabilirsiniz.
Yeteneklerini listeleme özelliği için ise ruh taşı questine bakabilirsiniz.
Kısacası kendiniz yapmaya alışın yazdığınız kodlar çalışmıyorsa buradan belirtirseniz nerede hata yaptığınızı söylerim. ;)
 
Bu questleri kendiniz yapmaya çalışın eğer yapamazsanız ben size yardımcı olurum. :) Forumlarda yetenekleri p yapan yüzüklerin questleri var. Onları inceleyerekte yapabilirsiniz.
Yeteneklerini listeleme özelliği için ise ruh taşı questine bakabilirsiniz.
Kısacası kendiniz yapmaya alışın yazdığınız kodlar çalışmıyorsa buradan belirtirseniz nerede hata yaptığınızı söylerim. ;)
Yok hocam ya lütfen ruh taşının questini o kadar inceledim çok uzun hangisi olduğunu tespit edemedim denemedim olmuyorlar nerede hata yapıyorum bilmiyorum.3 QUESTE ihtiyacım var sadece başka birşey istemeyeceğim sizden.PG NPCSİ,P YÜZÜK,G YÜZÜK.Serverde .lua çalışmıyor mu anlamadım pg npcsi de olmuyor.Atıyorum ışınlayıcının questine baktım 1 seçenek için 3 dosya var arg,start,when şeklinde.
Hocam şu 3 questi halledelim başka birşey istemem size zahmet problem ne bilemiyorum
 
Yüzükler şöyle olacak dimi. Yeteneklerin listesi gelecek. Ruh taşındaki gibi yeteneğini seçecek. Seçtiği yetenek p olacak mesela. Bu şekilde mi?
P/G yüzüğünü veren questini yazdım ve videoda da çalıştığını gösterdim.
 
Aynen hocam ruh taşı gibi skillerinin listesi çıkacak ve 1 tanesini seçerek yüzüğe göre g p yapabilecek ve yüzük silinecek.Evet biryerde hata yapıyorum galiba npcde biraz da inceliyim sağolun.
 
Yüzükler için ruh taşının questini inceleyim demiştim. Onları incelediniz mi?
Questin adı: training_grandmaster_skill.quest

İşteyken canım sıkıldı bende senin yüzük questini yaziyim dedim. Daha test etmedim ama. Şu kodları bi test eder misiniz?
Olmadı perşembe günü bunu nasıl yazdığımında videosunu çekerim.

Kodlara github üzerinden erişmek için:
Linkleri görebilmek için giriş yap veya kayıt ol.


Lua (Quest):
quest pyuzuk begin
    state start begin
        when 40003.use begin
            if pc.get_skill_group() == 0 then
                say_title("Perfect Master Yüzüğü: ")
                say("Henüz herhangi bir eğitime katılmadığınız için ")
                say("yeteneklerinizi geliştiremezsiniz.")
            end
          
            local result = pyuzuk.BuildSkillList(pc.get_job(), pc.get_skill_group())

            local vnum_list = result[1]
            local name_list = result[2]
          
            if table.getn(vnum_list) == 0 then
                say_title("Perfect Master Yüzüğü: ")
                say("Becerilerinizi Perfect Master yapabilmek için")
                say("1 puan vermeniz gerekli.")
                return
            end
          
            say_title("Perfect Master Yüzüğü: ")
            say("Perfect Master yapmak istediğin beceriyi seç ")
          
            local menu_list = {}
            table.foreach(name_list, function(i, name) table.insert(menu_list, name) end)
            table.insert(menu_list, gameforge.locale.cancel)

            local s=select_table(menu_list)
          
            if table.getn(menu_list) == s then
                return
            end

            local skill_name=name_list[s]
            local skill_vnum=vnum_list[s]
            local skill_level = pc.get_skill_level(skill_vnum)
          
            local title=string.format("%s perfect master eğitimi ", skill_name)

            say_title("Perfect Master Yüzüğü: ")
            say("Seçtiğiniz yetenek Perfect Master olacak. ")
            say("İşlemi onaylıyor musunuz?")
          
            local s= select(gameforge.locale.levelup.prev_quest_go, gameforge.locale.cancel)  
          
            if s==2 then
                return
            end
          
            if pc.count_item(40003) > 0 then
                pc.set_skill_level(skill_vnum, 40)
                say_title(title)
                say_reward("Bu beceri için Perfect Master seviyesine ulaştınız.")
              
                pc.remove_item(40003)
            else
                char_log(0, "HACK 40003", pc.getname())
            end
        end
      
        function BuildSkillList(job, group)
            MIN_SKILL_LEVEL = 1
            PERFECT_MASTER_SKILL_LEVEL = 40

            local skill_list = special.active_skill_list[job+1][group]
            local ret_vnum_list = {}
            local ret_name_list = {}

            table.foreach(skill_list,
            function(i, skill_vnum)
            local skill_level = pc.get_skill_level(skill_vnum)

            if skill_level >= MIN_SKILL_LEVEL and skill_level < PERFECT_MASTER_SKILL_LEVEL then
                table.insert(ret_vnum_list, skill_vnum)
                local name=locale.GM_SKILL_NAME_DICT[skill_vnum]
              
                if name == nil then name=skill_vnum end
                    table.insert(ret_name_list, name)
                end
            end)
            return {ret_vnum_list, ret_name_list}
        end
    end
end
 
Son düzenleme:
Çözüm
hemen deniyorum hocam teşekkürler
yalnız biryerde hata yapıyorum denemediğim birşey kalmadı şu quest bile çalışmıyor yazmadan önce ansıye dönüştür diyorum unix e çevirip de çevirmeyip de denedim,yazıyorum reboot atıyorum gene olmuyor
Lua (Quest):
quest pgnpc begin
    state start begin
        when 20001.chat."Perfect Master Yüzüğü " begin
            say_title(mob_name(20001)..":")
            say("Merhaba ")
        end
    end
end
bu quest bile çalışmıyor nerede hata yapıyorum kanser olucam hocam ya :)
 
En son bir moderatör tarafından düzenlenmiş:
NPC türü quest için uygun dimi? Npcnin flaglarına baktınız mı?
 
flag ne bilmiyorum simyacıya yapıyorum siz yapmıştınız test serverinizde problem olmamıştı sorun bunda değildir sanırım.
 
Yüzükler için ruh taşının questini inceleyim demiştim. Onları incelediniz mi?
Questin adı: training_grandmaster_skill.quest

İşteyken canım sıkıldı bende senin yüzük questini yaziyim dedim. Daha test etmedim ama. Şu kodları bi test eder misiniz?
Olmadı perşembe günü bunu nasıl yazdığımında videosunu çekerim.

Kodlara github üzerinden erişmek için:
Linkleri görebilmek için giriş yap veya kayıt ol.


Lua (Quest):
quest pyuzuk begin
    state start begin
        when 40003.use begin
            if pc.get_skill_group() == 0 then
                say_title("Perfect Master Yüzüğü: ")
                say("Henüz herhangi bir eğitime katılmadığınız için ")
                say("yeteneklerinizi geliştiremezsiniz.")
            end
        
            local result = pyuzuk.BuildSkillList(pc.get_job(), pc.get_skill_group())

            local vnum_list = result[1]
            local name_list = result[2]
        
            if table.getn(vnum_list) == 0 then
                say_title("Perfect Master Yüzüğü: ")
                say("Becerilerinizi Perfect Master yapabilmek için")
                say("1 puan vermeniz gerekli.")
                return
            end
        
            say_title("Perfect Master Yüzüğü: ")
            say("Perfect Master yapmak istediğin beceriyi seç ")
        
            local menu_list = {}
            table.foreach(name_list, function(i, name) table.insert(menu_list, name) end)
            table.insert(menu_list, gameforge.locale.cancel)

            local s=select_table(menu_list)
        
            if table.getn(menu_list) == s then
                return
            end

            local skill_name=name_list[s]
            local skill_vnum=vnum_list[s]
            local skill_level = pc.get_skill_level(skill_vnum)
        
            local title=string.format("%s perfect master eğitimi ", skill_name)

            say_title("Perfect Master Yüzüğü: ")
            say("Seçtiğiniz yetenek Perfect Master olacak. ")
            say("İşlemi onaylıyor musunuz?")
        
            local s= select(gameforge.locale.levelup.prev_quest_go, gameforge.locale.cancel)
        
            if s==2 then
                return
            end
        
            if pc.count_item(40003) > 0 then
                pc.set_skill_level(skill_vnum, 40)
                say_title(title)
                say_reward("Bu beceri için Perfect Master seviyesine ulaştınız.")
            
                pc.remove_item(40003)
            else
                char_log(0, "HACK 40003", pc.getname())
            end
        end
    
        function BuildSkillList(job, group)
            MIN_SKILL_LEVEL = 1
            PERFECT_MASTER_SKILL_LEVEL = 40

            local skill_list = special.active_skill_list[job+1][group]
            local ret_vnum_list = {}
            local ret_name_list = {}

            table.foreach(skill_list,
            function(i, skill_vnum)
            local skill_level = pc.get_skill_level(skill_vnum)

            if skill_level >= MIN_SKILL_LEVEL and skill_level < PERFECT_MASTER_SKILL_LEVEL then
                table.insert(ret_vnum_list, skill_vnum)
                local name=locale.GM_SKILL_NAME_DICT[skill_vnum]
            
                if name == nil then name=skill_vnum end
                    table.insert(ret_name_list, name)
                end
            end)
            return {ret_vnum_list, ret_name_list}
        end
    end
end
bende olmadı hocam siz müsait olduğunuzda istedeğiniz bir vakitte test edersiniz
 
Son düzenleme:
Sorun çözülmüştür. @Whistle elinize sağlık.

İnsan kendi serverine bile bu kadar uğraşmaz kralsın :)

2.JPG
3.JPG
1.JPG
 
Önemli değil. Normalde özel olarak kimseye yardım etmiyorum. Sadece konu üzerinden yol göstermeye çalışıyorum. Ama bu sistemi çok istediğiniz için yardım etmek istedim. Eğitim videolarını izlemeyi unutmayın. Orada bir çok konu ile ilgili rehberler var. Serverinizi geliştirirken bazı konularda size yardımcı olabilir.
İleride yaşadığınız sorun olursa sitemizden yardım istemeyi ihmal etmeyin. Yardım edip yardım aldıkça bilgilerimiz pekişir hem. :)
İyi çalışmalar dilerim.
 
Son düzenleme:
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst