Şebnem Yüzüğü questi
Şebnem Yüzüğü questi
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.
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. :)