TekYersin

Silver Üye
Katılım
1 Eki 2024
Konular
7
Mesajlar
104
Beğeniler
70
GG Coin
2,794
Ticaret Değeri - 0%
0   0   0

🔥 Solo Flame Dungeon – Sadece Boss İçeren Tek Kat Zindan​


Bu özel quest dosyası, tamamen solo oyuncular düşünülerek tasarlanmıştır. Mevcut Flame Dungeon sistemine alternatif olarak sunulan bu versiyonda, zindanın karmaşık yapısı kaldırılmış, yalnızca boss ile karşılaşılan sade ve hedef odaklı bir yapı tercih edilmiştir.



💡 Özellikler:​

  • NPC VNUM: 20394
  • Giriş Bileti: 71095 (Alev Geçidi Bileti)
  • Harita: 351
  • Boss VNUM: 6091 (Razador)
  • Zindan Süresi: 15 dakika
  • Bekleme Süresi (Cooldown): 30 dakika
  • Seviye Aralığı: 100 - 120
  • Party Girişi:Yasak (sadece solo giriş)
  • Zindanda başka mob yoktur, yalnızca boss ile savaşılır.



⚙️ Teknik Notlar:​

  • Görev tanımı quest flame_dungeon_solo altında organize edilmiştir.
  • Yardımcı fonksiyonlar ve cooldown hesaplama doğrudan state içerisine entegre edilmiştir.
  • COOLDOWN_DURATION sabiti kaldırılmış ve 1800 doğrudan kullanılacak şekilde sadeleştirilmiştir.
  • Tüm ışınlama ve boss doğurma işlemleri güvenli şekilde server_timer üzerinden yapılmaktadır.
  • Harita kontrolü için map_idx >= 3510000 kontrolü kullanılır.
  • Oyuncunun çıkış, timeout ve boss kill durumları için cooldown sistemi aktif olarak işlemektedir.



👨‍💻 Quest Kodları:​

Gizlenmiş içeriği görüntüleyebilmek için Giriş Yap ya da Kayıt Ol
Bu işlem, 15 saniyeden az sürer.

🛠 Kurulumda Dikkat Edilmesi Gerekenler:​

Kod:
Kodları görüntüleyebilmek için Giriş Yap ya da Kayıt Ol
Bu işlem, 15 saniyeden az sürer.

Yukarıdaki işlemler, kodun server tarafında derlenmesi sırasında core dumped gibi hataların önüne geçilmesini sağlar.



🔄 Farklı Zindanlara Uyarlamak İsteyenler İçin:​

  • Harita ve koordinatları: d.new_jump(YENI_MAP, GIRIS_X * 100, GIRIS_Y * 100)
  • Boss: d.spawn_mob(YENI_VNUM, X, Y)
  • Kill kontrolü: when YENI_VNUM.kill
  • Map index kontrolü: if map_idx >= YENI_MAP * 10000 then
  • Çıkış noktası: d.set_warp_location(CIKIS_MAP, CIKIS_X, CIKIS_Y) (koordinatları çarpmayın)



🧪 Not:​


Görev dosyası üzerinde yapılan düzenlemelerde stabilite ve basitlik ön planda tutulmuştur. Özellikle zindan örneğinin tam oluşmasını beklemek için d.new_jump sonrası yapılacak işlemler mutlaka server_timer içinde tanımlanmalıdır. Böylece oluşabilecek senkronizasyon hatalarının önüne geçilmiş olur.



📝 Geliştirici notu: Kodlar düzenlenmeden, anlamlı yorumlarla belgelenmiştir. Bu haliyle hem öğretici hem de işlevseldir. Uyarlamak isteyenler için de son derece esnek yapıdadır.



İyi çalışmalar! 💻
Yorum veya geri bildirimlerinizi konu altına bırakabilirsiniz.
 
Geri
Üst Alt