xranzei 1
xranzei
Bvural41 1
Bvural41
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Hikaye Ekle

Cevaplanmadı Görevler hk.

  • Konuyu başlatan Konuyu başlatan 1b1b
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 4
  • Görüntüleme Görüntüleme 181

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!

#Çözüldüstmanageri baştan düzenledim.
 
Son düzenleme:

En Çok Reaksiyon Alan Mesajlar

1. Görev Script’lerinde Hata veya Şartların Yanlış Tanımlanması


Görevler genellikle quest dosyalarında Lua tabanlı betiklerle tanımlanır. Şart bloklarında (when, if, state, pc.level, vb.) yanlış veya eksik kontrol varsa, bazı oyuncular görevi alamaz.


İnceleme
Görev dosyasına bakıp şu tip kontrolleri doğrula

Öğeyi görmek için üye olmalısınız.

Bu tarz kontrollerde pc.is_gm() gibi koşullar bazen GM karakterlerin görev alamamasına veya gereksizce atlanmasına neden olabilir

2. Görev Durumlarının Sunucuda Senkronize Olmaması


Bazen karakter birden fazla kanal arasında dolaşırken görev durumları (quest_flag) veritabanına düzgün yazılamayabilir veya gecikmeli yansıyabilir. Özellikle görev başlangıçlarında karaktere ait quest durumu memory cache'de kalıp veri kaybına yol açabilir.


İnceleme

  • quest loglarını kontrol et (örneğin /var/log/quest veya syserr dosyalarında).
    quest durumu güncelleniyor mu (qf, set_state, set_quest_state, vs.)?

3. Veritabanı Sorunları (PLAYER.quest_flag Tablosu)


Görevlerin ilerlemesi genellikle PLAYER.quest_flag veya benzeri bir tabloda tutulur. Eğer bu tabloya yazma sırasında hata oluşursa (örneğin bağlantı kopması, timeout, duplicate entry vs.), görev tetiklenmeyebilir.


İnceleme

  • O an görev alamayan oyuncunun karakter ID’siyle quest_flag tablosunda kayıt var mı?
    Yazma/okuma hataları olup olmadığına dair syserr veya game loglarını kontrol et.

4. Server Çekirdeği / Quest Engine Bug'ları


Özellikle eski veya modifiye edilmiş çekirdeklerde görev sisteminde bug olabiliyor. Görevi başlatan event’in when bloğunun trigger edilmemesi gibi durumlar olabilir.


İnceleme

  • quest_function ve questlib dosyalarını kontrol et.
    Son dönemde yapılan quest ya da questlib.lua değişiklikleri varsa incele.
    Görev dosyasını qc (quest compiler) ile derleyip syntax hatalarını kontrol et.

Size Genel Önerilerim Bunlar


  1. Sorun yaşayan karakterin adımlarını tekrar et (aynı level, aynı sırada login, aynı bölge vs.).
    quest_manager.cpp veya char_querry.cpp (çekirdekte) içinde görev başlatma mantığını incele.
    Aynı görevi sorunsuz alan karakterlerle sorun yaşayanları kıyasla (özellikle quest_flag değerleri).
    game ve syserr loglarını karşılaştır.

Umarım Sorununuza Yardımcı Olabilmişimdir İyi Forumlar Dilerim.

1. Görev Script’lerinde Hata veya Şartların Yanlış Tanımlanması


Görevler genellikle quest dosyalarında Lua tabanlı betiklerle tanımlanır. Şart bloklarında (when, if, state, pc.level, vb.) yanlış veya eksik kontrol varsa, bazı oyuncular görevi alamaz.


İnceleme
Görev dosyasına bakıp şu tip kontrolleri doğrula

1.png


Bu tarz kontrollerde pc.is_gm() gibi koşullar bazen GM karakterlerin görev alamamasına veya gereksizce atlanmasına neden olabilir

2. Görev Durumlarının Sunucuda Senkronize Olmaması


Bazen karakter birden fazla kanal arasında dolaşırken görev durumları (quest_flag) veritabanına düzgün yazılamayabilir veya gecikmeli yansıyabilir. Özellikle görev başlangıçlarında karaktere ait quest durumu memory cache'de kalıp veri kaybına yol açabilir.


İnceleme
  • quest loglarını kontrol et (örneğin /var/log/quest veya syserr dosyalarında).
  • quest durumu güncelleniyor mu (qf, set_state, set_quest_state, vs.)?

3. Veritabanı Sorunları (PLAYER.quest_flag Tablosu)


Görevlerin ilerlemesi genellikle PLAYER.quest_flag veya benzeri bir tabloda tutulur. Eğer bu tabloya yazma sırasında hata oluşursa (örneğin bağlantı kopması, timeout, duplicate entry vs.), görev tetiklenmeyebilir.


İnceleme
  • O an görev alamayan oyuncunun karakter ID’siyle quest_flag tablosunda kayıt var mı?
  • Yazma/okuma hataları olup olmadığına dair syserr veya game loglarını kontrol et.

4. Server Çekirdeği / Quest Engine Bug'ları


Özellikle eski veya modifiye edilmiş çekirdeklerde görev sisteminde bug olabiliyor. Görevi başlatan event’in when bloğunun trigger edilmemesi gibi durumlar olabilir.


İnceleme
  • quest_function ve questlib dosyalarını kontrol et.
  • Son dönemde yapılan quest ya da questlib.lua değişiklikleri varsa incele.
  • Görev dosyasını qc (quest compiler) ile derleyip syntax hatalarını kontrol et.

Size Genel Önerilerim Bunlar

  1. Sorun yaşayan karakterin adımlarını tekrar et (aynı level, aynı sırada login, aynı bölge vs.).
  2. quest_manager.cpp veya char_querry.cpp (çekirdekte) içinde görev başlatma mantığını incele.
  3. Aynı görevi sorunsuz alan karakterlerle sorun yaşayanları kıyasla (özellikle quest_flag değerleri).
  4. game ve syserr loglarını karşılaştır.

Umarım Sorununuza Yardımcı Olabilmişimdir İyi Forumlar Dilerim.
 

1. Görev Script’lerinde Hata veya Şartların Yanlış Tanımlanması


Görevler genellikle quest dosyalarında Lua tabanlı betiklerle tanımlanır. Şart bloklarında (when, if, state, pc.level, vb.) yanlış veya eksik kontrol varsa, bazı oyuncular görevi alamaz.


İnceleme
Görev dosyasına bakıp şu tip kontrolleri doğrula

Ekli dosyayı görüntüle 141750

Bu tarz kontrollerde pc.is_gm() gibi koşullar bazen GM karakterlerin görev alamamasına veya gereksizce atlanmasına neden olabilir

2. Görev Durumlarının Sunucuda Senkronize Olmaması


Bazen karakter birden fazla kanal arasında dolaşırken görev durumları (quest_flag) veritabanına düzgün yazılamayabilir veya gecikmeli yansıyabilir. Özellikle görev başlangıçlarında karaktere ait quest durumu memory cache'de kalıp veri kaybına yol açabilir.


İnceleme
  • quest loglarını kontrol et (örneğin /var/log/quest veya syserr dosyalarında).
  • quest durumu güncelleniyor mu (qf, set_state, set_quest_state, vs.)?

3. Veritabanı Sorunları (PLAYER.quest_flag Tablosu)


Görevlerin ilerlemesi genellikle PLAYER.quest_flag veya benzeri bir tabloda tutulur. Eğer bu tabloya yazma sırasında hata oluşursa (örneğin bağlantı kopması, timeout, duplicate entry vs.), görev tetiklenmeyebilir.


İnceleme
  • O an görev alamayan oyuncunun karakter ID’siyle quest_flag tablosunda kayıt var mı?
  • Yazma/okuma hataları olup olmadığına dair syserr veya game loglarını kontrol et.

4. Server Çekirdeği / Quest Engine Bug'ları


Özellikle eski veya modifiye edilmiş çekirdeklerde görev sisteminde bug olabiliyor. Görevi başlatan event’in when bloğunun trigger edilmemesi gibi durumlar olabilir.


İnceleme
  • quest_function ve questlib dosyalarını kontrol et.
  • Son dönemde yapılan quest ya da questlib.lua değişiklikleri varsa incele.
  • Görev dosyasını qc (quest compiler) ile derleyip syntax hatalarını kontrol et.

Size Genel Önerilerim Bunlar

  1. Sorun yaşayan karakterin adımlarını tekrar et (aynı level, aynı sırada login, aynı bölge vs.).
  2. quest_manager.cpp veya char_querry.cpp (çekirdekte) içinde görev başlatma mantığını incele.
  3. Aynı görevi sorunsuz alan karakterlerle sorun yaşayanları kıyasla (özellikle quest_flag değerleri).
  4. game ve syserr loglarını karşılaştır.

Umarım Sorununuza Yardımcı Olabilmişimdir İyi Forumlar Dilerim.
Tamam bende buraları kurcalıyordum, spesifik bilinen bir sorun değil yani bu. Teşekkürler.
 
Merhaba,

Görevlerle alakalı belli başlı garip problemler yaşanıyor ve sebeplerini saptamakta zorlanıyorum, daha önceden tecrübesi olan varsa yol gösterebilirse sevinirim.

- 10 kişi beraber 7 level oluyor, 9'u biyolog görevini alıyor, 1 kişiye gitmiyor. -> Başka bir testte 10/10 oluyor.

Örnekler bu şekilde hemen hemen her görev için söylenebilir, buna sebep olan ana sorun nedir nereleri kurcalamam gerekiyor?
  • 10 oyuncu aynı anda level alırsa, bir "tick gecikmesi" yaşanabilir.
  • Bu, bazı oyuncuların when levelup tetikleyicisinin çalışmamasına neden olabilir.
  • Özellikle düşük donanımlı sunucularda bu tip senkronizasyon hataları görülebilir.
 

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

Geri
Üst