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

vSro Paylaşım vSRO Tek Query ile Otomatik Battle Arena Saati Oluşturma

Cevaplar0
Görüntüleme363
serkankacan paylaşımı beğendiysen ona bir kahve ısmarlayabilirsin
Kahve ısmarla
Ticaret Puanı
0
Katılım
8 Eyl 2026
Mesajlar
200
Tepkime puanı
33
Puanları
0
Mevcut Bakiye
290 ₺
[QUERY] vSRO Tek Query ile Otomatik Battle Arena Saati Oluşturma
_Schedule Tablosu Üzerinden Hızlı ve Hatasız Battle Arena (Random) Saat Ayarlayıcı​



Merhaba değerli forum sakinleri,

vSRO sunucularında **Battle Arena** saatlerini ayarlamak, `_Schedule` tablosunun karmaşık sütun yapısı ve aralık hesaplamaları nedeniyle çoğu zaman yorucu olabilir. Birbiriyle senkronize çalışması gereken 3 farklı aşama (Eşleşme/Bildirim, Kayıt Açılışı ve Arena Başlangıcı) tek bir tabloda tutulur.

Aşağıda paylaşılan pratik SQL sorgusu sayesinde sadece hedeflediğiniz saat ve dakikayı değişkenlere girerek, gerekli tüm `_Schedule` satırlarını tek tıkla otomatik olarak ekleyebilirsiniz.

Önemli Uyarı' Alıntı:
DİKKAT:
  • Sorguyu çalıştırmadan önce SRO_VT_SHARD yedeğinizi almanız önerilir.
  • Yeni saatlerin sunucuya yansıması için işlem tamamlandıktan sonra ShardManager ve GameServer modüllerinin yeniden başlatılması (Restart) gerekmektedir.



Zamanlama Mantığı Nasıl Çalışır?

Battle Arena'nın sağlıklı başlayabilmesi için sistemde 3 farklı `ScheduleDefineIdx` kaydının sırayla tetiklenmesi gerekir:

  • Idx 14 (Bildirim & Ön Hazırlık): Arenanın başlayacağını duyuran ilk aşamadır. Arenanın fiili başlangıcından 15 dakika önceye ayarlanır.
  • Idx 16 (Kayıtların Açılması): NPC üzerinden oyuncuların kayıt olmaya başladığı aşamadır. Arenanın fiili başlangıcından 10 dakika önceye ayarlanır.
  • Idx 17 (Arenaya Çekilme & Başlangıç): Kayıtların kapandığı ve oyuncuların içeri aktarıldığı aşamadır. Arenanın başlamasından 5 dakika önceye ayarlanır.



Nasıl Kullanılır?

  1. SQL Server Management Studio (SSMS) programını açın.
  2. Üst kısımdan New Query penceresi oluşturun.
  3. Aşağıdaki SQL kodunu yapıştırın.
  4. En üstteki değişken alanlarına hedeflediğiniz arena saatinin öncesine denk gelen saat/dakika değerlerini yazın.
  5. F5 tuşuna basarak sorguyu çalıştırın.
  6. İşlem bitiminde ShardManager modülünü yeniden başlatın.



SQL Query Kodu





Geliştirici İpuçları:
  • Eğer gün içerisine birden fazla saat eklemek istiyorsanız, en üstteki saat değişkenlerini değiştirip sorguyu tekrar çalıştırmanız yeterlidir.
  • Tabloda daha önceden kalan çakışan saat kayıtları varsa, `SELECT * FROM _Schedule WHERE ScheduleDefineIdx IN (14, 16, 17)` sorgusu ile mevcut kayıtları listeleyip temizleyebilirsiniz.

Sorularınızı ve eklemek istediğiniz arena tiplerini (Party, Guild, Job) konu altından iletebilirsiniz. Herkese iyi forumlar!
 
Moderatör tarafında düzenlendi:

Konuyu görüntüleyenler

Yükleniyor...
Yükleniyor...
Şu anda sitemizde 55 Aktif Kullanıcı
Çevrimiçi üyeler
Konular 1,451
Mesajlar 4,570
Kullanıcılar 1,853
Son üye Vael
Geri
Üst