- #1
Konu Sahibi
: serkankacan
[REHBER & OPTİMİZASYON] vSRO Tüm Buffları Hızlı / Anlık (1 Sn) Basma Ayarı
_RefSkill Tablosu Üzerinden Çin ve Avrupa Karakter Becerilerinin Hazırlık ve Animasyon Sürelerini Kısaltma
_RefSkill Tablosu Üzerinden Çin ve Avrupa Karakter Becerilerinin Hazırlık ve Animasyon Sürelerini Kısaltma
Merhaba değerli forum sakinleri,
Özellikle PvP, Job ve etkinlik odaklı Silkroad Online sunucularında oyuncuların her ölümden veya teleporttan sonra uzun uzun buff basmakla vakit kaybetmesi oyun akıcılığını düşürür. Bu nedenle sunucu sahipleri karakterlerin bufflarını **anında / 1 saniyede** basmasını sağlayacak düzenlemeler uygular.
Orijinal Silkroad yapısında becerilerin döküm süresi 3 sütunla yönetilir:
- Action_PreparingTime: Beceriye başlamadan önceki hazırlık süresi (ms).
- Action_CastingTime: Becerinin büyü döküm süresi (ms).
- Action_ActionDuration: Becerinin vücut animasyonunun tamamlanma süresi (ms).
Eski paylaşımlarda her sütun için ayrı ayrı onlarca `UPDATE` çalıştırılmakta ve yalnızca 3-4 Çin skilli güncellenmekteydi. Aşağıda hem Çin hem de Avrupa sınıflarının tüm temel bufflarını kapsayan, tek blokta derlenen optimize sorguyu paylaşıyoruz.
Teknik Bilgilendirme & Stabilite Uyarısı' Alıntı:DİKKAT (Animasyon Desync Koruması):
- Süreler doğrudan `0` yapılmak yerine
100 ms(0.1 saniye) olarak ayarlanmıştır. Bu sayede karakterin animasyonda asılı kalması (freeze/stuck) ve istemci desync sorunları önlenmiş olur.- Değişikliklerin oyunda akıcı görünmesi ve karakterin animasyon beklemeden diğer skille geçebilmesi için Media.pk2 içerisindeki
skilldata_xxx.txtdosyalarının da güncellenmesi gerekir.- İşlem öncesinde SRO_VT_SHARD yedeğinizi almayı unutmayınız.
Hatasız & Kapsamlı SQL Hızlı Buff Sorgusu
SRO_VT_SHARD veritabanını seçip aşağıdaki optimize bloğu çalıştırın:
SQL:
USE [SRO_VT_SHARD]
GO
-- ===================================================================
-- 1. BÖLÜM: ÇİN (CH) TEMEL BUFFLARI HIZLANDIRMA
-- Cold, Lightning, Fire, Bicheon, Heuksal, Pacheon
-- ===================================================================
UPDATE dbo._RefSkill
SET
Action_PreparingTime = 0,
Action_CastingTime = 100,
Action_ActionDuration = 100
WHERE Service = 1
AND (
-- COLD BUFFLARI
Basic_Code LIKE 'SKILL_CH_COLD_GANGGI_%' -- Guard of Ice (Fiziksel Savunma)
OR Basic_Code LIKE 'SKILL_CH_COLD_SHIELD_%' -- Cold Armor / Shield
-- LIGHTNING BUFFLARI
OR Basic_Code LIKE 'SKILL_CH_LIGHTNING_GWANTONG_%' -- Piercing Force (Mag Atk)
OR Basic_Code LIKE 'SKILL_CH_LIGHTNING_JIPJUNG_%' -- Concentration (Parry)
OR Basic_Code LIKE 'SKILL_CH_LIGHTNING_GANGGI_%' -- Grass Walk (Hız Buffı)
-- FIRE BUFFLARI
OR Basic_Code LIKE 'SKILL_CH_FIRE_SHIELD_%' -- Fire Shield (Status Koruması)
OR Basic_Code LIKE 'SKILL_CH_FIRE_GONGUP_%' -- Flame Body (Phy Atk)
OR Basic_Code LIKE 'SKILL_CH_FIRE_GANGGI_%' -- Fire Protection (Büyü Savunması)
-- SİLAH BUFFLARI (Bicheon, Heuksal, Pacheon)
OR Basic_Code LIKE 'SKILL_CH_SWORD_SHIELD_%' -- Castle Shield serisi
OR Basic_Code LIKE 'SKILL_CH_SPEAR_GANGGI_%' -- Cheonryong (HP Artışı)
OR Basic_Code LIKE 'SKILL_CH_BOW_GANGGI_%' -- Hawk Buffları (Attack/Hit Rate)
)
-- ===================================================================
-- 2. BÖLÜM: AVRUPA (EU) TEMEL BUFFLARI HIZLANDIRMA
-- Warrior, Cleric, Bard, Warlock, Wizard
-- ===================================================================
UPDATE dbo._RefSkill
SET
Action_PreparingTime = 0,
Action_CastingTime = 100,
Action_ActionDuration = 100
WHERE Service = 1
AND (
-- WARRIOR BUFFLARI
Basic_Code LIKE 'SKILL_EU_WARRIOR_IRONSHIELD_%' -- Iron Shield
OR Basic_Code LIKE 'SKILL_EU_WARRIOR_MANASHIELD_%' -- Mana Shield
OR Basic_Code LIKE 'SKILL_EU_WARRIOR_BOOSTER_%' -- Sprint Walk
OR Basic_Code LIKE 'SKILL_EU_WARRIOR_CONCEN_%' -- Concentration / Berserker Buff
-- CLERIC BUFFLARI
OR Basic_Code LIKE 'SKILL_EU_CLERIC_BODY_%' -- STR / INT Body Buffları
OR Basic_Code LIKE 'SKILL_EU_CLERIC_SHIELD_%' -- Faith / Guard Buffları
-- BARD BUFFLARI
OR Basic_Code LIKE 'SKILL_EU_BARD_SPEEDUP_%' -- Moving March (Hız)
OR Basic_Code LIKE 'SKILL_EU_BARD_NOISE_%' -- Noise
-- WIZARD & WARLOCK
OR Basic_Code LIKE 'SKILL_EU_WIZARD_GROUND_%' -- Earth Barrier
OR Basic_Code LIKE 'SKILL_EU_WARLOCK_REFLECT_%' -- Reflect Buffları
)
PRINT '====================================================='
PRINT 'BAŞARILI: Çin ve Avrupa tüm temel buff süreleri optimize edildi!'
PRINT 'Değişikliklerin aktif olması için GameServer yeniden başlatılmalıdır.'
PRINT '====================================================='
Neden Bu Optimize Yapı Kullanılmalı?
- Tek Seferde Toplu Güncelleme: Onlarca satırlık ayrı sorgu yerine tüm parametreler tek blokta güncellenerek SQL işlem yükü azaltılmıştır.
- Geniş Kapsam (CH + EU): Yalnızca Çin büyüleri değil; Avrupa Warrior kalkanları, Bard hız/noise skilleri, Cleric stat buffları da dahil edilmiştir.
- Karakter Takılma Koruması: Süreler körü körüne `0` yapılmayıp
100milisaniyeye çekilerek karakterin animasyon döngüsünde asılı kalması engellenmiştir.
Nasıl Uygulanır & Senkronize Edilir?
- SQL Server Management Studio (SSMS) programını açıp yukarıdaki sorguyu çalıştırın.
- Sunucudaki GameServer pencerelerini kapatıp yeniden başlatın.
- Client Senkronizasyonu (Media.pk2):
Karakterin istemci tarafında da animasyonu beklemeden hemen bir sonraki skille geçebilmesi için Media.pk2 içerisindekiserver_dep\silkroad\textdata\skilldata_xxx.txtdosyalarında ilgili skillerinAction_PreparingTime,Action_CastingTimeveAction_ActionDurationsütunlarını veritabanındaki değerlerle eşitleyip oyuncularınıza patch olarak iletiniz. - Oyuna girip art arda buff basarak karakterin beklemeden ve takılmadan buffları anında tamamladığını test edin.
Sorularınızı ve eklemek istediğiniz özel becerileri konu altından iletebilirsiniz. Herkese keyifli geliştirmeler!

