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

vSro Paylaşım vSRO NPC Eşya Alış ve Satış Fiyatlarını Görüntüleme

Cevaplar0
Görüntüleme5
Ticaret Puanı
0
Katılım
8 Eyl 2026
Mesajlar
88
Tepkime puanı
1
Puanları
0
Mevcut Bakiye
2960 ₺
[REHBER & ANALİZ] vSRO NPC Eşya Alış ve Satış Fiyatlarını Görüntüleme
_RefObjCommon ve _RefObjItem Üzerinden Kervan Malları ve Özel Eşyaların Fiyatlarını Doğru Listeleme



Merhaba değerli forum sakinleri,

Silkroad Online sunucularınızda kervan kâr oranlarını hesaplarken, NPC'lerde satılan özel eşyaları kontrol ederken veya ekonomi dengesini kurarken eşyaların **NPC Alış (Price)** ve **NPC'ye Satış (SellPrice)** değerlerini tek bir raporda listelemek isteyebilirsiniz.

Silkroad mimarisinde fiyatlar çoğunlukla `_RefObjCommon` yerine fiziksel özelliklerin tutulduğu **`_RefObjItem`** tablosundan okunur. Aşağıda hem mantık hatalarından arındırılmış optimize sorguyu hem de fiyatları tek seferde güncelleyebileceğiniz hazır yapıyı bulabilirsiniz.

Teknik Bilgilendirme (Fiyat Mantığı)' Alıntı:
  • Price (_RefObjItem.Price): Oyuncunun eşyayı NPC'den satın alırken ödediği alış fiyatıdır.
  • SellPrice (_RefObjItem.SellPrice): Oyuncunun eşyayı NPC'ye geri sattığında elde ettiği satış fiyatıdır.
  • Kervan Malları: Kervan mallarının kâr oranı bu iki fiyat arasındaki çarpan üzerinden hesaplanır.



1. YÖNTEM: Kervan Malları ve Özel NPC Eşyalarının Fiyatlarını Listeleme (ÖNERİLEN)

Bu sorgu, `_RefObjItem` tablosunu doğru bağlayarak gerçek satış ve alış rakamlarını listeler:

SQL:
USE [SRO_VT_SHARD]
GO

-- ===================================================================
-- KERVAN MALLARI VE NPC EŞYALARI ALIŞ - SATIŞ LİSTESİ
-- ===================================================================
SELECT 
    ROC.ID                      AS [RefItemID],
    ROC.CodeName128             AS [Esya Kodu],
    ROI.Price                   AS [NPC Alis Fiyati (Gold)],
    ROI.SellPrice               AS [NPC Satis Fiyati (Gold)],
    (ROI.SellPrice - ROI.Price) AS [Birim Kar (Fark)],
    ROI.MaxStack                AS [Max Stack],
    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.Service = 1
  AND (
      ROC.CodeName128 LIKE '%ITEM_ETC_TRADE_%' 
      OR ROC.CodeName128 LIKE '%TRADE_SPECIAL%'
  )
ORDER BY ROC.ID ASC



2. YÖNTEM: Tek Bir Eşyanın veya Belirli Bir Kodun Fiyatını Arama

Belirlediğiniz spesifik bir eşyanın fiyatını incelemek isterseniz:

SQL:
USE [SRO_VT_SHARD]
GO

DECLARE @SearchCode VARCHAR(128) = 'ITEM_ETC_TRADE%' -- Aramak istediğiniz eşya veya desen

SELECT 
    ROC.ID          AS [RefItemID],
    ROC.CodeName128 AS [Esya Kodu],
    ROI.Price       AS [Alis Fiyati],
    ROI.SellPrice   AS [Satis Fiyati]
FROM dbo._RefObjCommon ROC WITH (NOLOCK)
INNER JOIN dbo._RefObjItem ROI WITH (NOLOCK) 
    ON ROC.Link = ROI.ID
WHERE ROC.CodeName128 LIKE @SearchCode
ORDER BY ROC.ID ASC



Nasıl Uygulanır?

  1. SQL Server Management Studio (SSMS) programını açın.
  2. Üst menüden New Query butonuna tıklayın.
  3. Yukarıdaki 1. Yöntem kodunu yapıştırın.
  4. F5 tuşuna basarak çalıştırın.
  5. Alt panelde tüm kervan eşyalarının alış, satış ve birim kâr değerlerini net olarak görebilirsiniz.

Sorularınızı ve takıldığınız yerleri bu konu altından iletebilirsiniz. Herkese keyifli geliştirmeler!
 

Konuyu görüntüleyenler

Yükleniyor...
Yükleniyor...
Etiketler
Etiketler Etiketler
eşya fiyat npc sql vsro
Şu anda sitemizde 40,332 Aktif Kullanıcı
Çevrimiçi üyeler
Konular 1,311
Mesajlar 4,191
Kullanıcılar 1,624
Son üye mrt
Geri
Üst