Şebnem Yüzüğü Questi İçeriği

 
 
 

Metin2 pvp oyununuzda bulunan şebnemleri tek bir yüzüğe dönüştürmek mümkün. Normal şebnemlerle şebnem yüzüğü arasında pek bir fark yok ama şebnem yüzüğünün avantajları daha bol. Oyuncular sürekli şebnem basmak zorunda kalmayacak, tek bir yüzüğe sağ tık yapıp şebnem özelliklerini aktif edecektir. Yine aynı şekilde sağ tık ile kapatabilecektir.

 

Öncelikle şebnem yüzüğünü hangi yüzük içine yerleştireceğimizi kararlaştıralım. Vereceğim  şebnem yüzüğü questi 40003 kodlu yüzüğün içine açılıyor. Eğer 40003 yüzüğünü kullanıyorsanız başka bir yüzük ya da başka bir nesne içine koyabilirsiniz. Bunu tek bir değişiklikle yapabiliriz. Quest içinde en başta bulunan satırlarda

quest sebnem begin
    state start begin
        when 40003.use begin
            if pc.getqf("sebnem") == 0 then

kodları yer alıyor.


şebnem yüzüğü questi

Burada bulunan 40003 kodu yerine kurmak istediğiniz itemin koduyla değiştirebilirsiniz. Mesela 40002 yüzüğü boşta oraya bu rakamı yazabiliriz.

 

Peki neden şebnem yüzüğü kullanmalıyız?

  • Bugta kalma gibi bir durum olamaz. Yani ışınlandıktan sonra normal şebnemlerle üst üste alınıyordu. Şimdi böyle bir durum yok. Bu yüzükle şebnem bugu'nu da önlemiş oluyoruz.
  • Envanterde fazlalık yapmayacaktır. Tek bir yüzük ve sadece sağ tıkla aç kapa.
  • Envanterde fazlalık yapmyacağı gibi marketinizde de fazla yer kaplamayacaktır.
  • Şebnemler aktif, şebnemler kapalı gibi uyarılarla şebnem özelliklerinin ne durumda olduğunu oyuncular görebilecektir.
  • ve Son olarak metin2 pvp serverler'de çok tercih edilir hale geldiği için

 

Şimdi questimizi verelim ve kuruluma geçelim.

Quest Kodları

quest sebnemyuzugu begin    state start begin
        when 40003.use begin
            if pc.getqf("hilal") == 0 then
                if pc.getqf("lolipop") == 1 or pc.getqf("mutluluk") == 1 or pc.getqf("ebedi") == 1 or pc.getqf("irade") == 1 or pc.getqf("olumcul") == 1 or pc.getqf("madalya") == 1 then
                    chat(" Herhangi Bir Yüzük Aktifken Başka Bir Yüzük Kullanamazsın ")
                else
                    cmdchat("buff1")
                    chat(" Şebnem Yüzüğü Aktif. ")
                    affect.add_collect(apply.CRITICAL_PCT,20,60*60*24*365*60)        
                    affect.add_collect(apply.PENETRATE_PCT,20,60*60*24*365*60)
                    affect.add_collect(apply.ATT_SPEED,8,60*60*24*365*60)
                    affect.add_collect(apply.RESIST_MAGIC,20,60*60*24*365*60)
                    affect.add_collect(apply.ATT_GRADE_BONUS,120,60*60*24*365*60)
                    affect.add_collect(apply.DEF_GRADE_BONUS,200,60*60*24*365*60)
                    pc.setqf("hilal",1)
                end
            elseif pc.getqf("hilal") == 1 then
                cmdchat("buff1")
                chat(" Şebnem Yüzüğü Deaktif. ")
                affect.remove_collect(apply.CRITICAL_PCT,20,60*60*24*365*60)        
                affect.remove_collect(apply.PENETRATE_PCT,20,60*60*24*365*60)
                affect.remove_collect(apply.ATT_SPEED,8,60*60*24*365*60)
                affect.remove_collect(apply.RESIST_MAGIC,20,60*60*24*365*60)
                affect.remove_collect(apply.ATT_GRADE_BONUS,120,60*60*24*365*60)
                affect.remove_collect(apply.DEF_GRADE_BONUS,200,60*60*24*365*60)
                pc.setqf("hilal",0)
            end
        end
        when logout with pc.getqf("hilal") == 1 begin
            affect.remove_collect(apply.CRITICAL_PCT,20,60*60*24*365*60)        
            affect.remove_collect(apply.PENETRATE_PCT,20,60*60*24*365*60)
            affect.remove_collect(apply.ATT_SPEED,8,60*60*24*365*60)
            affect.remove_collect(apply.RESIST_MAGIC,20,60*60*24*365*60)
            affect.remove_collect(apply.ATT_GRADE_BONUS,120,60*60*24*365*60)
            affect.remove_collect(apply.DEF_GRADE_BONUS,200,60*60*24*365*60)
            pc.setqf("hilal",0)
    
        end
        
    end
end

 

 

Kodları kopyalayıp  Sebnem.lua diye bir dosya oluşturup içine yapıştırıyoruz. Bu dosyayı filezilla ile oyun sunucumuza bağlanarak

usr/game/share/locale/turkey/quest

dizinine atıyoruz ve ardından

Putty ile ssh bağlantısı gerçekleştirip şu kodları yazıyoruz.

cd /usr/game/share/locale/turkey/quest

./qc sebnem.lua

Artık şebnem yüzüğümüz kuruldu. Oyunu aç kapa yaptığımızda yüzüğümüzün sağ tıkla çalıştığını göreceğiz.

 

Önceki şebnemler ne olacak?

 

Önceki şebnemleri kaldırmak gerekli aksi halde oyuncularda aşırı fazla özellik olur bu da oyunun düzenini bozar ve karakterler arası farklılıklar ortaya çıkar. Bu sebeple şebnem kodlarımızı kaldırmamız gerekiyor.

Öncelikle herkesin envanterinden şebnemleri kaldıralım. Navicattan oyun veri tabanımıza bağlanalım.

player tablosunu açıp yukarıdan Query yani sorgu sekmesine tıklayalım.

ve şu kodları yazalım

Delete from item where vnum="şebnem kodu"

Delete from item where vnum="şebnem kodu1" artık kaç tane var ise.

 

Oyunculardan kaldırma işlemini tamamladık sıra npcden kaldırma işlemine geldi.

player tablosunu tekrar açıp tablo içinden shop_item tablosunu açalım. Burada şebnem kodlarını aratıp bulundukları satırları silelim. Hepsi bu kadar. :)

 


Bir önceki yazımız olan İtem Dönüşümü Oluşturma başlıklı makalemiz item dönüşümü, dönüşüm oranları ayarlama ve dönüşüm oluşturma hakkında bilgiler vermektedir.

Yayınlanma: / Son Düzenlenme:
5597 görüntülenme

Şebnem Yüzüğü Questi Yorumları

 
 
 
yorum avatar