- #1
Konu Sahibi
: serkankacan
[REHBER] vSRO Tekil Eşya Stack (MaxStack) Değerini Değiştirme
ID Üzerinden Belirli Bir Eşyanın Üst Üste Binme Limitini Hızlıca Güncelleme
ID Üzerinden Belirli Bir Eşyanın Üst Üste Binme Limitini Hızlıca Güncelleme
Merhaba değerli forum sakinleri,
Silkroad Online sunucu yönetiminde iksirler (HP/MP potları), arrow (ok), bolt, return scroll veya tablet gibi tekil tüketim eşyalarının üst üste koyulma (stack) limitlerini hızlıca güncellemek isteyebilirsiniz.
Aşağıda paylaşılan sorgu, eşyanın
_RefObjCommon tablosundaki **ID** (yani client tarafındaki `itemdata_xxx.txt` dosyasının ilk sütunundaki numara) değerini kullanarak _RefObjItem tablosundaki `MaxStack` sınırını saniyeler içinde değiştirmenizi sağlar.Önemli Hatırlatma' Alıntı:Client & Server Senkronizasyonu:
- SQL üzerinden yapılan stack güncellemeleri sunucu tarafını bağlar.
- Oyuncuların çantasında bölünme hataları, visual bug veya DC (Disconnect) yaşanmaması için aynı eşyanın `MaxStack` sütununu istemci tarafındaki Media.pk2 (server_dep\itemdata_xxx.txt) dosyasında da birebir aynı değere eşitlemeniz ve GameServer'ı yeniden başlatmanız gerekir.
Nasıl Kullanılır?
- SQL Server Management Studio (SSMS) programında yeni bir sorgu penceresi (New Query) açın.
- Aşağıdaki SQL kodunu yapıştırın.
@NEWMaxStackalanına eşyanın üst üste kaç adet bineceğini yazın (Örn: 75, 250, 1000).@ItemIDalanına değiştirmek istediğiniz eşyanın `_RefObjCommon.ID` numarasını girin.- F5 veya Execute butonuna tıklayarak sorguyu çalıştırın.
SQL Query Kodu
SQL:
USE SRO_VT_SHARD
GO
-- ===================================================================
-- DEĞİŞKENLER
-- ===================================================================
DECLARE @NEWMaxStack INT = 75 -- Eşyanın yeni üst üste binme limiti
DECLARE @ItemID INT = 4 -- Eşyanın _RefObjCommon tablosundaki ID değeri (Örn: 4)
-- ===================================================================
-- STACK GÜNCELLEME İŞLEMİ
-- ===================================================================
UPDATE dbo._RefObjItem
SET MaxStack = @NEWMaxStack
WHERE ID = (SELECT Link FROM dbo._RefObjCommon WHERE ID = @ItemID)
Bonus: Eşyanın ID Değerini Bilmiyorsanız?
Eşyanın sadece kod adını (`CodeName128`) biliyor fakat ID numarasını bilmiyorsanız, aşağıdaki yardımcı sorgu ile hem ID'sini hem de mevcut stack değerini anında görebilirsiniz:
SQL:
USE SRO_VT_SHARD
GO
SELECT
ROC.ID AS [CommonID],
ROC.CodeName128,
ROI.MaxStack AS [MevcutStack],
ROC.Link AS [ItemLinkID]
FROM dbo._RefObjCommon ROC
JOIN dbo._RefObjItem ROI ON ROI.ID = ROC.Link
WHERE ROC.CodeName128 = 'ITEM_ETC_HP_POTION_01' -- Buraya aradığınız eşyanın kodunu yazın
İşlem sonrasında client tarafındaki pk2 düzenlemesini yapmayı ve GameServer'ı restart etmeyi unutmayın. Takıldığınız yerleri konu altından sorabilirsiniz!

