raderde 1
raderde
Cannn6161 1
Cannn6161
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Mt2Hizmet 1
Mt2Hizmet
melankolıa18 1
melankolıa18
romegames 1
romegames
Krutzo 1
Krutzo
shrpnl 1
shrpnl
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

Cevaplandı QUEST hakkında

  • Konuyu başlatan Konuyu başlatan M2Focus
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 4
  • Görüntüleme Görüntüleme 107

M2Focus

Level 1
Üye
Katılım
18 Mar 2012
Konular
5
Mesajlar
15
Çözüm
2
Online süresi
1d 8h
Reaksiyon Skoru
0
Altın Konu
0
TM Yaşı
14 Yıl 2 Ay 21 Gün
Başarım Puanı
80
MmoLira
178
DevLira
0
Ticaret - 0%
0   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!

Merhaba

Cırak sandığına karaktere göre bk questi yazdım fakat çalışmadı .lua da düzeltildi hatam nerde olabilir


when 50188.use begin
pc.remove_item(50188, 1)
pc.give_item2(25041, 1)
pc.give_item2(76008, 3)
pc.give_item2(72723, 1)
pc.give_item2(50189, 1)

-- Beceri kitabı sınıfa ve beceri grubuna göre
local grup = pc.get_skill_group()

if pc.job == 0 then -- Savaşçı
if grup == 1 then
pc.give_item2(50300, 1) -- Bedensel
elseif grup == 2 then
pc.give_item2(50301, 1) -- Zihinsel
end

elseif pc.job == 1 then -- Ninja
if grup == 1 then
pc.give_item2(50310, 1) -- Hançer
elseif grup == 2 then
pc.give_item2(50311, 1) -- Yay
end

elseif pc.job == 2 then -- Sura
if grup == 1 then
pc.give_item2(50320, 1) -- Büyülü Silah
elseif grup == 2 then
pc.give_item2(50321, 1) -- Kara Büyü
end

elseif pc.job == 3 then -- Şaman
if grup == 1 then
pc.give_item2(50330, 1) -- Şimşek
elseif grup == 2 then
pc.give_item2(50331, 1) -- Ejderha
end
end
end
 
Python:
quest cirak_sandik begin
    state start begin
        when 50188.use begin
            pc.remove_item(50188, 1)
            pc.give_item2(25041, 1)
            pc.give_item2(76008, 3)
            pc.give_item2(72723, 1)
            pc.give_item2(50189, 1)

            local grup = pc.get_skill_group()
            if grup == 0 then
                syschat("Önce beceri grubunu seçmelisin.")
                return
            end

            if pc.job == 0 then
                if grup == 1 then
                    pc.give_item2(50300, 1)
                elseif grup == 2 then
                    pc.give_item2(50301, 1)
                end

            elseif pc.job == 1 then
                if grup == 1 then
                    pc.give_item2(50310, 1)
                elseif grup == 2 then
                    pc.give_item2(50311, 1)
                end

            elseif pc.job == 2 then
                if grup == 1 then
                    pc.give_item2(50320, 1)
                elseif grup == 2 then
                    pc.give_item2(50321, 1)
                end

            elseif pc.job == 3 then
                if grup == 1 then
                    pc.give_item2(50330, 1)
                elseif grup == 2 then
                    pc.give_item2(50331, 1)
                end
            end
        end
    end
end

quest_list İçine ekle:

cirak_sandik cirak_sandik.quest
 
Yazdığınız kodun mantığı çok doğru fakat birkaç özel durumu (5. seviye altı ve Lycan karakteri) ele almadığı için çalışmıyor gibi görünebilir. Quest'inizin her koşulda sorunsuz çalışması için aşağıdaki düzeltilmiş versiyonu kullanabilirsiniz.

Sorunlarınız:

  1. Karakter 5. seviyeden önce, yani bir yetenek grubu seçmeden sandığı açarsa pc.get_skill_group() fonksiyonu 0 döndürür ve kodunuz bu durumu kontrol etmediği için hiçbir kitap vermez.
  2. Kodunuzda Lycan (job == 4) sınıfı için bir kontrol bulunmuyor.
Düzeltilmiş ve Geliştirilmiş Kod:
[CODE title="Lua"]when 50188.use begin
-- Önce sandığı ve diğer itemleri verelim
pc.remove_item(50188, 1)
pc.give_item2(25041, 1) -- Cesaret Pelerini
pc.give_item2(76008, 3) -- Kritik Vuruş Şansı
pc.give_item2(72723, 1) -- Tecrübe Yüzüğü
pc.give_item2(50189, 1) -- Usta Sandığı

-- Beceri kitabı sınıfa ve beceri grubuna göre
local job = pc.get_job()
local grup = pc.get_skill_group()

if job == 0 then -- Savaşçı
if grup == 1 then
pc.give_item2(50300, 1) -- Bedensel (Hava Kılıcı)
elseif grup == 2 then
pc.give_item2(50301, 1) -- Zihinsel (Ruh Vuruşu)
else -- Eğer grup henüz seçilmemişse (grup == 0)
pc.give_item2(50300, 1) -- Varsayılan olarak Bedensel ver
end

elseif job == 1 then -- Ninja
if grup == 1 then
pc.give_item2(50304, 1) -- Bıçak Çevirme
elseif grup == 2 then
pc.give_item2(50305, 1) -- Zehirli Ok
else
pc.give_item2(50304, 1) -- Varsayılan olarak Yakın Dövüş ver
end

elseif job == 2 then -- Sura
if grup == 1 then
pc.give_item2(50302, 1) -- Büyülü Silah (Parmak Darbesi)
elseif grup == 2 then
pc.give_item2(50303, 1) -- Kara Büyü (Karanlık Vuruş)
else
pc.give_item2(50302, 1) -- Varsayılan olarak Büyülü Silah ver
end

elseif job == 3 then -- Şaman
if grup == 1 then
pc.give_item2(50307, 1) -- İyileştirme (Şimşek Atma)
elseif grup == 2 then
pc.give_item2(50306, 1) -- Ejderha Gücü (Uçan Tılsım)
else
pc.give_item2(50307, 1) -- Varsayılan olarak İyileştirme ver
end

elseif job == 4 then -- Lycan (EKLENDI)
-- Lycan'ların tek yetenek grubu olduğu için grup kontrolüne gerek yok
pc.give_item2(50308, 1) -- Kurt Nefesi
end
end[/CODE]

Yapılan Değişiklikler:
  • Her sınıfın if/elseif bloğuna bir else durumu eklendi. Bu sayede, yetenek grubu henüz seçilmemiş (grup == 0) bir oyuncu sandığı açtığında, varsayılan olarak belirlenen ilk yetenek grubunun kitabını alır.
  • elseif job == 4 then bloğu ile Lycan karakteri eklendi ve ona ait beceri kitabı tanımlandı.
Bu kod ile göreviniz her karakter ve her seviye için sorunsuz çalışacaktır.
 
Teşekkürler destek olanlara konu kapatılabilir.
 
Çözüm
Konu sahibi isteği üzerine kapatılmıştır.
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst