Hoş Geldin, Ziyaretçi!

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

dsgn kguard
ROLLET remastered
vsupload kguardedgeakademi
cleopatra legacy

MT2 Paylaşım Quest Eklemek ve Kaldırmak (Detaylı Anlatım)

  • Konbuyu başlatan Üye silindi 505
  • Başlangıç tarihi
Ü

Üye silindi 505

Videolu anlatım;


Quest Nedir?
Oyunun çalışmasında yardımcı olan lua kodları diyebiliriz. Çekirdek tarafından kendisine sunulan fonksiyonları kullanmakla yükümlüdür. Görevler, npc komutları, dungeondaki timerlar, spawnlanacak şeyleri kontrol eder.
Quest dosyaları .lua veya .quest uzantısını kullanırlar.
Aslında baktığımızda baya bir işe yaradığını anlayabiliriz.

Quest Nasıl Eklenir?
Quest dosyamız oto_event.lua olsun diyelim.
Quest içeriğimiz;

Kod:
İçeriği görebilmek için Uye olmanız gerekiyor.


Oyuna quest atmak için

Kod:
İçeriği görebilmek için Uye olmanız gerekiyor.

dizine girmeniz gerekiyor. Sizlerde farklı olabilir. Genel itibari ile Türkiye'deki fileslerde bu dizindir.

Eğer ileride questleri sıfırdan hepsini derlemek isterseniz listelere eklemeniz gerekiyor. Aynı dizinde quest_list
diye bir dosya olur. O dosyayı açıp en altına oto_event.lua adını yazıyoruz.
Not: Fileslere göre quest_list dosyasının adı farklı olabilir!

Questimizi attıktan sonra Putty (ssh) ile sunucumuza bağlanıp şu işlemleri yapıyoruz.

Kod:
İçeriği görebilmek için Uye olmanız gerekiyor.

Kod:
İçeriği görebilmek için Uye olmanız gerekiyor.

bu işlemler bittikten sonra isterseniz sunucuya reboot atın isterseniz oyuna gm karakteriyle girip;

Kod:
İçeriği görebilmek için Uye olmanız gerekiyor.

şu komutu yazın. Quest başarıyla yüklenmiştir.

Quest Nasıl Silinir?
Questimiz gene oto_event.lua olsun bunun üzerinden anlatim
1. Yöntem
Bu yöntem daha kolay olduğu için uzun sürecek bir işlemdir.

Kod:
İçeriği görebilmek için Uye olmanız gerekiyor.

dizinine girip oto_event.lua dosyasını siliyoruz. Sonra quest_listten "oto_event.lua" yazısını siliyoruz.
ondan sonra Puttu (ssh) ile sunucuya bağlanıp.
Uyarı: Bu işlemi yapmadan önce oyunu kapatınız ve yedek alınız. Sunucu kendini direk kapatacaktır!
Uyarımı okuduysanız devam edelim ssh ekranına şu komutları sırayla yazıyoruz;

Kod:
İçeriği görebilmek için Uye olmanız gerekiyor.


Kod:
İçeriği görebilmek için Uye olmanız gerekiyor.

bu işlemi yaptığınız zaman object klasörü tamamen boşaltılıp quest_list içindeki questleri okutacaktır. Sık sık kullanmayınız!

2. Yöntem
Not:
Bu yöntemi uygulayabilmek için questleri okumayı bilmeniz gerekli!
Benim sevdiğim yöntemdir en azndan 1. yöntemdeki gibi uğraşmak zorunda kalmıyoruz.

Notumuda okumuşsunuzdur umarım. Ben size ufak bir anlatım sunacağım.
Eğer örnek quest kodlarımızı incelerseniz içinde when ile başlayan komutları görebilirsiniz. Bu her açılan when komutu questte belirlenmiş isimle objectlere veri ekler.

Quest Okuma?
Burada detaylı bir anlatım yapmayacağım. Sonuçta burada size quest yazmayı anlatmıyorum. Sadece silmek için gerekli bilgileri vereceğim.

1. Komut;

PHP:
  1. quest event begin
bu komut quest dosyalarımızı başlatan komuttur. Kodda gördüğünüz gibi event adı verilmiştir. Bu questin adıdır. Questi derlediğiniz zaman objectlere event.start adıyla dosyalar ekler.

2. Komut;
PHP:
  1. state start begin
Quest içeriğimizi belirten korttur. Gördüğünüz gibi start dosyaları oluşturur. Her questlerde bu 2 komutu yazmalısınız.

Diğer komutlar quest içerik parçaları;
Kod (Text):
  1. when letter begin
  2. send_letter("Etkinlik Takvimi ")
  3. end
bu komut ile oyuna görev eklettirebilirsiniz. Görevin ismi Etkinlik Takvimi olarak çıkacaktır. Bizim burada gözümüze çarpan "when letter begin" deyimidir. Çünkü questleri silerken bu başlatıcılardan faydalanacağız.
Bu komut
Kod (Text):
  1. object/notarget/letter/
dizine içine questin adıyla event.start dosyası oluşturur. Bu dosyayı silmemiz gerekiyor.

PHP:
  1. when info or button begin
  2. say_title("Etkinlik Takvimi :")
  3. say("")
  4. say("Pazartesi: Ay Işığı 21.00 - 23.00 ")
Bu komutta tıklandığı zaman gerçekleşecek işlemdir. Burada gene "when info or button begin" bu deyime bakmamız gerekiyor. Bu satır 2 klasöre event.start adında dosyalar ekleyecektir.
Kod (Text):
  1. object/notarget/info/
  2. object/notarget/button/
bu dizine girip onları event.start dosyasını silmeniz gerekli.

ve bu questimizdeki son parça olan;
Kod (Text):
  1. when login begin
başlatıcısıdır. Bu oyuna girdiğiniz anda gerçekleşecek işlemleri belirler. Bizim örnek questimizde girdiği zaman aktif bir event varsa oyuncuya duyuru geçecektir.
Ne işe yaradığını anlattıktan sonra silmeyide anlatim.
Bu komut ayı şekilde event.start adında dosyalar ekleyecektir.
Kod (Text):
  1. object/notarget/login/
bu dizine girip onları event.start dosyasını silmeniz gerekli.

Bu quest içeriğinde olmayan birşeyide anlatim. Npc ve itemler içinde komut vardır bunlar başka bir komut ile farklı klasörlere eklenir. Örneğin;
Işınlanma yüzüğü
Kod (Text):
  1. when 40002.use begin
için kullanılan kod. Bu kod ile 40002 vnum'a ait iteme sağ tıklandığında gerçekleşecek işlemleri içinde barındıran başlatıcıdır.
Bu kod object klasörüne 40002 ismiyle klasör oluşturup onun içine use adında bir klasör oluşturarak quest adıyla .start dosyası ekleyecektir.
Dizin şu şekilde olacaktır;
Kod (Text):
  1. object/40002/use/
Eğer silmek isterseniz 40002 içinde başka bir klasör yoksa direk 40002 klasörünü silin eğer başka dosyalar görüyorsanız sadece use klasörünü silebilirsiniz.

Npclerde de benzerdir fakat onda click, chat isimli uzantılar olabilir. Target eklenebilir.
Dediğim gibi burada quest yazmayı öğretmek yerine when komutlarını okuyup questleri silmeyi anlattım. Umarım yardımcı olabilmişimdir.

Genelde millet olarak uzun yazı okumaya üşeniriz lakin baştan sona okuyan arkadaşlara sonsuz teşekkür ederim.

Yazması uzun sürdü arkadaşlar. Eğer başka bir sitede paylaşacak olursanız burayı kaynakça olarak göstermeyi unutmayın.
Anlamadığınız birşey olursa konu altından sorabilirsiniz.
 
AdBlock Detected

Anlıyoruz, reklamlar can sıkıcı!

Elbette, reklam engelleme yazılımı reklamları engellemede harika bir iş çıkarır, ancak aynı zamanda web sitemizin faydalı özelliklerini de engeller. En iyi site deneyimi için lütfen AdBlocker'ınızı devre dışı bırakın.

AdBlock'u Devre Dışı Bıraktım.