- #1
Konu Sahibi
: serkankacan
[REHBER & ANALİZ] vSRO Eşya ID ve Özellik Kontrol Sorgusu (Item Info Query)
_RefObjCommon ve _RefObjItem Üzerinden Eşyanın RefItemID, Link, Stack, Degree ve Fiyat Bilgilerini Sorgulama
_RefObjCommon ve _RefObjItem Üzerinden Eşyanın RefItemID, Link, Stack, Degree ve Fiyat Bilgilerini Sorgulama
Merhaba değerli forum sakinleri,
Silkroad Online sunucu geliştirme (edit) süreçlerinde; NPC'ye eşya eklerken, drop tablolarını düzenlerken, özel scroll kodlarken veya karakterlere item gönderirken eşyanın **asıl RefItemID (
_RefObjCommon.ID)** ve **Link ID (_RefObjItem.ID)** değerlerine sıkça ihtiyaç duyarız.Çoğu zaman bu iki ID birbirine karıştırılır ve drop veya NPC eklemelerinde hatalara yol açar. Aşağıda paylaşılan optimize sorgular ile aradığınız eşyanın hem benzersiz ID değerlerini hem de temel statlarını (Degree, Stack, Fiyat, Dayanıklılık vb.) saniyeler içinde görüntüleyebilirsiniz.
Teknik Hatırlatma (ID vs Link ID Farkı)' Alıntı:
- Common ID (RefItemID - _RefObjCommon.ID): Drop tablolarında, NPC eşya tanımlarında, [_AddLogItem] prosedürlerinde ve GM kodlarında kullanılan ASIL eşya kimliğidir.
- Item Link ID (_RefObjItem.ID): Eşyanın fiziksel statlarının (Durability, Stack, Fiyat, Model dosya yolları) tutulduğu teknik alt tablodur.
1. YÖNTEM: Özet & Net Bilgi Ekranı (ÖNERİLEN)
Bu sorgu gereksiz onlarca görsel sütunu filtreleyerek ihtiyacınız olan kritik değerleri derli toplu listeler:
SQL:
USE [SRO_VT_SHARD]
GO
-- ===================================================================
-- ARANACAK EŞYA KODU VEYA PARÇASI
-- ===================================================================
DECLARE @ItemCodeName VARCHAR(128) = 'ITEM_CH_SWORD_11_SET_A_RARE' -- Örn: ITEM_CH_SWORD_11% veya tam kod
SELECT
ROC.ID AS [RefItemID (ASIL ID)],
ROC.CodeName128 AS [Esya Kodu],
ROI.ID AS [Link ID],
ROI.ItemClass AS [Degree Seviyesi],
ROI.MaxStack AS [Max Stack],
ROI.Durability AS [Dayaniklilik (Dura)],
ROI.Price AS [NPC Alis Fiyati],
ROI.SellPrice AS [NPC Satis Fiyati],
ROC.Service AS [Durum (1: Aktif)]
FROM dbo._RefObjCommon ROC WITH (NOLOCK)
INNER JOIN dbo._RefObjItem ROI WITH (NOLOCK)
ON ROC.Link = ROI.ID
WHERE ROC.CodeName128 LIKE @ItemCodeName
ORDER BY ROC.ID ASC
2. YÖNTEM: Tüm Teknik Sütunları Görmek İsterseniz (Full Tablo)
Eşyanın animasyon, mesh, ses veya tüm ham parametrelerini incelemek isterseniz:
SQL:
USE [SRO_VT_SHARD]
GO
DECLARE @ItemCodeName VARCHAR(128) = 'ITEM_CH_SWORD_11_SET_A_RARE'
SELECT
ROC.ID AS [RefItemID],
ROC.CodeName128,
ROI.*
FROM dbo._RefObjCommon ROC WITH (NOLOCK)
INNER JOIN dbo._RefObjItem ROI WITH (NOLOCK)
ON ROC.Link = ROI.ID
WHERE ROC.CodeName128 LIKE @ItemCodeName
ORDER BY ROC.ID ASC
Nasıl Uygulanır?
- SQL Server Management Studio (SSMS) programını açın.
- Üst panelden New Query penceresi açıp yukarıdaki 1. Yöntem kodunu yapıştırın.
- En üstteki
@ItemCodeNamealanına aramak istediğiniz eşyanın kodunu yazın (Aramayı genişletmek için sonuna%koyabilirsiniz, örn:'ITEM_ETC_ARCHEMY%'). - F5 tuşuna basarak çalıştırın.
- Alt panelde eşyanın kullanım ID'si ve tüm temel ayarları anında listelenecektir.
Sorularınızı ve takıldığınız noktaları konu altından sorabilirsiniz. Herkese keyifli geliştirmeler!

