- #1
Konu Sahibi
: serkankacan
[REHBER & SİSTEM] vSRO Tüm Unique Seviyelerini (Level) ve Statlarını Değiştirme
_RefObjCommon ve _RefObjChar Üzerinden Dinamik Olarak Unique Canavarların Seviyelerini Ayarlama
_RefObjCommon ve _RefObjChar Üzerinden Dinamik Olarak Unique Canavarların Seviyelerini Ayarlama
Merhaba değerli forum sakinleri,
Silkroad Online sunucularınızda (örneğin 100 Cap veya 110 Cap) düşük seviyede kalan klasik Unique canavarlarını (Tiger Girl, Cerberus, Captain Ivy, Uruchi, Isyutaru, Lord Yarkan vb.) güncel seviye sınırına çekerek rekabeti ve av heyecanını canlı tutmak isteyebilirsiniz.
Aşağıda paylaşılan rehber sayesinde sabit ID aramakla uğraşmadan tüm popüler Unique canavarlarının seviyelerini tek bir sorguyla güncelleyebilir, dilerseniz seviyesine paralel olarak HP ve vuruş güçlerini de orantılayabilirsiniz.
Önemli Uyarı' Alıntı:DİKKAT (Client & Server Senkronizasyonu):
- Veritabanındaki
Lvldeğeri güncellendikten sonra canavarın seviye renginin ve değerinin oyuncuların ekranında (Target barında) tam oturması için Media.pk2 (server_dep\characterdata_xxx.txt) dosyasının da güncellenmesi önerilir.- Seviyelerin sunucuda aktif hale gelmesi için işlem sonrası GameServer modüllerinin yeniden başlatılması (Restart) gerekmektedir.
- İşlem öncesinde SRO_VT_SHARD yedeğinizi almayı unutmayınız.
1. ADIM: Mevcut Unique Canavarlarını ve Seviyelerini İnceleme
Sunucunuzdaki orijinal Unique canavarların kodlarını ve mevcut seviyelerini listelemek için şu sorguyu çalıştırın:
SQL:
USE [SRO_VT_SHARD]
GO
-- ===================================================================
-- MEVCUT UNIQ CANAVARLARIN LİSTESİ VE SEVİYELERİ
-- ===================================================================
SELECT
ROC.ID AS [Common ID],
ROC.CodeName128 AS [Canavar Kodu],
ROCH.Lvl AS [Mevcut Seviye],
ROCH.MaxHP AS [Maksimum HP],
ROCH.Exp AS [Verilen Exp]
FROM dbo._RefObjCommon ROC WITH (NOLOCK)
INNER JOIN dbo._RefObjChar ROCH WITH (NOLOCK) ON ROC.Link = ROCH.ID
WHERE ROC.Service = 1
AND ROC.Rarity = 3 -- 3: Unique Canavar Kategorisi
AND ROC.CodeName128 LIKE 'MOB_%'
ORDER BY ROCH.Lvl ASC
2. ADIM: Unique Seviyelerini Topluca Güncelleme
Aşağıdaki sorgu ile klasik tüm dünya haritası Unique'lerini belirlediğiniz yeni seviyeye (Örn: **100**) eşitleyebilirsiniz:
SQL:
USE [SRO_VT_SHARD]
GO
-- ===================================================================
-- UNİQUE SEVİYE GÜNCELLEME SORGUSU
-- ===================================================================
DECLARE @NewLevel INT = 100 -- Atanacak Yeni Seviye
UPDATE ROCH
SET ROCH.Lvl = @NewLevel
FROM dbo._RefObjChar ROCH
INNER JOIN dbo._RefObjCommon ROC ON ROC.Link = ROCH.ID
WHERE ROC.Service = 1
AND ROC.Rarity = 3 -- Yalnızca Unique Canavarlar
AND ROC.CodeName128 IN (
'MOB_CH_TIGERWOMAN', -- Tiger Girl (Orijinal Lv 20)
'MOB_EU_KERBEROS', -- Cerberus (Orijinal Lv 24)
'MOB_AM_IVY', -- Captain Ivy (Orijinal Lv 30)
'MOB_OA_URUCHI', -- Uruchi (Orijinal Lv 40)
'MOB_KK_ISYUTARU', -- Isyutaru (Orijinal Lv 60)
'MOB_TK_BONELORD', -- Lord Yarkan (Orijinal Lv 80)
'MOB_RM_TAHOMET' -- Demon Shaitan (Orijinal Lv 90)
)
PRINT '====================================================='
PRINT 'BAŞARILI: Seçilen Unique canavarlarının seviyesi ' + CAST(@NewLevel AS VARCHAR(3)) + ' yapıldı!'
PRINT '====================================================='
Bonus: Seviye ile Birlikte HP Güçlendirmesi (Önerilen)
Bir Unique'in sadece seviyesini artırmak yeterli değildir. Düşük seviye bir Tiger Girl 100 Lv yapıldığında orijinal 400.000 HP'si kalırsa oyuncular tarafından 2 saniyede kesilir. HP değerlerini de seviyeye uygun hale getirmek isterseniz:
SQL:
USE [SRO_VT_SHARD]
GO
-- Örnek: Tiger Girl HP'sini 100 Cap standardına (Örn: 25 Milyon HP) yükseltme
UPDATE ROCH
SET
ROCH.Lvl = 100,
ROCH.MaxHP = 25000000
FROM dbo._RefObjChar ROCH
INNER JOIN dbo._RefObjCommon ROC ON ROC.Link = ROCH.ID
WHERE ROC.CodeName128 = 'MOB_CH_TIGERWOMAN'
Nasıl Uygulanır?
- SQL Server Management Studio (SSMS) programını açın.
- Üst menüden New Query penceresi açıp yukarıdaki SQL kodunu yapıştırın.
@NewLevelalanına hedeflediğiniz seviyeyi yazıp F5 tuşuna basın.- Sunucunuzdaki GameServer pencerelerini yeniden başlatın.
- Unique spawn komutunu (
/spawnmonster MOB_CH_TIGERWOMAN) kullanarak yeni seviyeyi oyun içinde doğrulayın.
Sorularınızı ve takıldığınız yerleri konu altından iletebilirsiniz. Herkese keyifli geliştirmeler!

