İçeriğe geç
Türkiye'nin SRO tanıtım & topluluk platformu

vSro Paylaşım vSRO Logger ile Unique Kesince Anlık Honor Puanı Verme

Cevaplar0
Görüntüleme265
serkankacan paylaşımı beğendiysen ona bir kahve ısmarlayabilirsin
Kahve ısmarla
Ticaret Puanı
0
Katılım
8 Eyl 2026
Mesajlar
179
Tepkime puanı
31
Puanları
0
Mevcut Bakiye
5 ₺
[SİSTEM & REHBER] vSRO Logger ile Unique Kesince Anlık Honor Puanı Verme
__Log_UniqueKills Prosedürü Üzerinden Tiger Girl, Uruchi, Isyutaru, Lord Yarkan ve Özel Uniquelerden Anlık Akademi Puanı Kazanma​



Merhaba değerli forum sakinleri,

Silkroad Online sunucularında oyuncuların yalnızca akademi kasarak (çırak mezun ederek) değil, haritadaki ve etkinliklerdeki **Unique canavarları keserek de Honor Puanı** kazanabilmesi sunucudaki rekabeti ve Unique avcılığını ciddi ölçüde canlandırır.

Birçok harici Logger programında (PureLogger, Filter Logger vb.) Unique kesildiği an __Log_UniqueKills prosedürü tetiklenir.

Eski paylaşımlarda her canavar için tek tek değişken (@CampID2, @CampID3...) tanımlandığı için kod spagettiye dönmekte, üstelik akademisi olmayan bir karakter Unique kestiğinde veritabanında gereksiz boş sorgular dönmektedir.

Aşağıda paylaşılan optimize sistem tek bir temiz blokla çalışır; canavara göre verilecek puanı belirler, akademisi olan oyuncunun puanını hem _TrainingCamp hem de _TrainingCampMember tablolarına anında işler.

Teknik Bilgilendirme' Alıntı:
  • _TrainingCamp (EvaluationPoint): Akademinin genel puanını ve sıralamadaki yerini belirler.
  • _TrainingCampMember (HonorPoint): Karakterin şahsi Honor puanıdır.
  • Akademi Zorunluluğu: Karakterin puan alabilmesi için oyunda önceden bir akademi açmış olması gerekmektedir (CampID > 0).
  • İşlem öncesinde PureLogger (veya kullandığınız Logger DB) ve SRO_VT_SHARD yedeklerinizi almayı unutmayınız.



Hatasız & Optimize Edilmiş __Log_UniqueKills Prosedürü

Logger veritabanınızı seçip aşağıdaki optimize prosedürü derleyin:





Neden Bu Optimize Versiyon Kullanılmalı?

  1. CASE WHEN ile Tek Satırda Puanlama: Onlarca IF...ELSE bloğu yerine CASE yapısı kullanılmıştır. Yeni bir Unique eklemek istediğinizde tek yapmanız gereken listeye WHEN @MobID = MobID THEN Puan satırını eklemektir.
  2. Akademisi Olmayanlar Korundu: @CampID > 0 kontrolü sayesinde akademisi bulunmayan oyuncular Unique kestiğinde veritabanı boş güncellemelerle yorulmaz, Logger kilitlenmesi yaşanmaz.
  3. Performans & Deadlock Koruması: Sorgular WITH (NOLOCK) ile çekildiğinden Unique öldüğü an sunucuda anlık lag veya gecikme (spike) oluşmaz.



Nasıl Uygulanır & Test Edilir?

  1. SQL Server Management Studio (SSMS) programını açın.
  2. Logger sisteminizin bulunduğu veritabanını (Örn: PureLogger) seçin.
  3. Yukarıdaki prosedür kodunu yapıştırın ve CASE bloğundaki Unique ID'leri kendi veritabanınıza göre kontrol edip F5 tuşuna basın.
  4. Oyunda test edeceğiniz karakter ile öncelikle bir **Akademi** kurun.
  5. Test için karakterin yanına Tiger Girl spawn edin ve kesin.
  6. SQL üzerinden SRO_VT_SHARD.._TrainingCampMember tablosunu kontrol ettiğinizde karakterinizin Honor puanının 2 arttığını göreceksiniz.

Sorularınızı ve özel puan listesi ekleme taleplerinizi konu altından paylaşabilirsiniz. Herkese keyifli geliştirmeler!
 
Moderatör tarafında düzenlendi:

Konuyu görüntüleyenler

Yükleniyor...
Yükleniyor...
Şu anda sitemizde 87 Aktif Kullanıcı
Çevrimiçi üyeler
Konular 1,425
Mesajlar 4,476
Kullanıcılar 1,830
Son üye VelixaGame
Geri
Üst